commandmate 0.39.1 → 0.40.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +249 -242
- package/.next/app-path-routes-manifest.json +25 -24
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +12 -12
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +8 -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.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_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_client-reference-manifest.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_client-reference-manifest.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 +2 -2
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -0
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -0
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_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_client-reference-manifest.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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.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_client-reference-manifest.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_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_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.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +25 -24
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/252.js +1 -0
- package/.next/server/chunks/2816.js +1 -1
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/3323.js +1 -1
- package/.next/server/chunks/4443.js +1 -1
- package/.next/server/chunks/5164.js +1 -1
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/650.js +1 -1
- package/.next/server/chunks/6661.js +1 -1
- package/.next/server/chunks/6793.js +1 -1
- package/.next/server/chunks/7685.js +1 -1
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/8581.js +29 -29
- package/.next/server/chunks/8673.js +14 -0
- package/.next/server/chunks/8728.js +4 -3
- package/.next/server/chunks/8800.js +1 -1
- package/.next/server/chunks/9080.js +1 -1
- package/.next/server/chunks/9731.js +2 -2
- package/.next/server/chunks/9882.js +3 -3
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{2407-9ac8b6188ddbb119.js → 2407-d750620d0511e94f.js} +1 -1
- package/.next/static/chunks/4768-979c8a03bed218e7.js +1 -0
- package/.next/static/chunks/7705-25076b57224da370.js +1 -0
- package/.next/static/chunks/8606-9a381b996f9b6834.js +1 -0
- package/.next/static/chunks/9619-22adf5367c4b7080.js +1 -0
- package/.next/static/chunks/app/api/agents/update/{route-70779af8b4c8259a.js → route-0468c3c4baa46028.js} +1 -1
- package/.next/static/chunks/app/api/agents/versions/{route-70779af8b4c8259a.js → route-0468c3c4baa46028.js} +1 -1
- package/.next/static/chunks/app/api/app/release-notes/{route-70779af8b4c8259a.js → route-0468c3c4baa46028.js} +1 -1
- package/.next/static/chunks/app/api/app/update/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/app/update-check/{route-70779af8b4c8259a.js → route-0468c3c4baa46028.js} +1 -1
- package/.next/static/chunks/app/api/auth/login/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/capabilities/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/status/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/external-apps/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/fs/browse/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/fs/recent-paths/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/hooks/agent-event/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/hooks/claude-done/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/hooks/permission-request/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/metrics/vibe/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/ollama/models/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/push/escalation/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/push/subscriptions/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/push/vapid/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/relays/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/remote/pair/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/repositories/excluded/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/repositories/restore/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/repositories/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/repositories/scan/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/repositories/sync/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/repositories/validate-path/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/settings/default-agents/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/sidebar/group-order/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/skills/[id]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/skills/installations/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/skills/operations/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/skills/reindex/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/skills/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/slash-commands/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/templates/[id]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/templates/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/layout-3d3fcc8aac7b3bb5.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/proxy/[...path]/route-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/review/page-30616daa1dc595c2.js +1 -0
- package/.next/static/chunks/app/sessions/page-1a8ba152bbcb9efb.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/layout-0468c3c4baa46028.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-a91e812ad9d94697.js +1 -0
- package/.next/static/css/974314e796232f53.css +1 -0
- package/.next/trace +13 -13
- package/.next/types/app/api/worktrees/[id]/direct-input/route.ts +347 -0
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +9 -0
- package/dist/cli/commands/ls.d.ts.map +1 -1
- package/dist/cli/commands/ls.js +9 -0
- package/dist/cli/commands/peers.d.ts.map +1 -1
- package/dist/cli/commands/peers.js +4 -0
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +20 -6
- package/dist/cli/config/model-validation.d.ts +22 -0
- package/dist/cli/config/model-validation.d.ts.map +1 -1
- package/dist/cli/config/model-validation.js +35 -1
- package/dist/cli/types/api-responses.d.ts +11 -0
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/lib/detection/status-reason.d.ts +13 -0
- package/dist/lib/detection/status-reason.d.ts.map +1 -1
- package/dist/lib/detection/status-reason.js +13 -0
- package/dist/lib/detection/tools/verified-against.d.ts +74 -5
- package/dist/lib/detection/tools/verified-against.d.ts.map +1 -1
- package/dist/lib/detection/tools/verified-against.js +74 -5
- package/dist/server/locales/en/worktree.json +58 -0
- package/dist/server/locales/ja/worktree.json +58 -0
- package/dist/server/src/config/claude-constants.js +27 -0
- package/dist/server/src/lib/cli-tools/base.js +2 -1
- package/dist/server/src/lib/cli-tools/claude.js +5 -1
- package/dist/server/src/lib/cli-tools/command-code.js +5 -1
- package/dist/server/src/lib/cli-tools/direct-input.js +22 -0
- package/dist/server/src/lib/cmate-cli-tool-parser.js +31 -0
- package/dist/server/src/lib/detection/cli-patterns.js +44 -5
- package/dist/server/src/lib/detection/model-info-extractor.js +49 -10
- package/dist/server/src/lib/detection/selection-shape.js +274 -19
- package/dist/server/src/lib/detection/status-detector.js +2 -0
- package/dist/server/src/lib/detection/status-reason.js +13 -0
- package/dist/server/src/lib/detection/tools/codex/cli-patterns.js +67 -27
- package/dist/server/src/lib/detection/tools/codex/detect.js +18 -3
- package/dist/server/src/lib/detection/tools/command-code/detect.js +46 -0
- package/dist/server/src/lib/detection/tools/command-code/dialog.js +116 -25
- package/dist/server/src/lib/detection/tools/verified-against.js +74 -5
- package/dist/server/src/lib/detection/tui-detection-frame.js +18 -3
- package/dist/server/src/lib/polling/auto-yes-resolver.js +8 -0
- package/dist/server/src/lib/prompt-answer-sender.js +255 -1
- package/dist/server/src/lib/realtime-snippet.js +53 -0
- package/dist/server/src/lib/session/agent-event-state.js +8 -1
- package/dist/server/src/lib/session/claude-session.js +19 -2
- package/dist/server/src/lib/session/current-output-builder.js +4 -1
- package/dist/server/src/lib/session/status-mapping.js +58 -8
- package/dist/server/src/lib/tmux/key-sequence.js +27 -1
- package/dist/server/src/lib/tmux/tmux-control-client.js +26 -3
- package/dist/server/src/lib/tmux/tmux.js +64 -3
- package/dist/server/src/types/direct-input.js +113 -0
- package/dist/server/src/types/sidebar.js +67 -7
- package/dist/server/src/types/terminal-keys.js +33 -1
- package/dist/types/terminal-keys.d.ts +28 -1
- package/dist/types/terminal-keys.d.ts.map +1 -1
- package/dist/types/terminal-keys.js +33 -1
- package/package.json +1 -1
- package/release-notes/0.40.0.json +69 -0
- package/release-notes/0.40.1.json +20 -0
- package/.next/server/chunks/6092.js +0 -14
- package/.next/static/chunks/4768-0ad5eb716bed5de9.js +0 -1
- package/.next/static/chunks/8606-e893c1dab6fb81bc.js +0 -1
- package/.next/static/chunks/9619-7bc0e9524f0773b5.js +0 -1
- package/.next/static/chunks/982-edf98d9d54c5ce9b.js +0 -1
- package/.next/static/chunks/app/api/app/update/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/capabilities/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/status/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/external-apps/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/fs/browse/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/fs/recent-paths/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/hooks/agent-event/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/hooks/claude-done/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/hooks/permission-request/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/metrics/vibe/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/ollama/models/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/push/escalation/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/push/subscriptions/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/push/vapid/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/relays/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/remote/pair/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/repositories/excluded/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/repositories/restore/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/repositories/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/repositories/scan/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/repositories/sync/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/repositories/validate-path/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/settings/default-agents/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/sidebar/group-order/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/skills/[id]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/skills/installations/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/skills/operations/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/skills/reindex/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/skills/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/slash-commands/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/templates/[id]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/templates/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/layout-542d075e9d7cc541.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/proxy/[...path]/route-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/review/page-8ed49e2edcc7667b.js +0 -1
- package/.next/static/chunks/app/sessions/page-56f6a2466dd0479d.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/layout-70779af8b4c8259a.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-760408096ad697b4.js +0 -1
- package/.next/static/css/b4aaf81d10efdd00.css +0 -1
- /package/.next/static/{7Ge9-hsqlip_Z6bhEnVkd → JfzIPPhL-ikSVcJYOKgfD}/_buildManifest.js +0 -0
- /package/.next/static/{7Ge9-hsqlip_Z6bhEnVkd → JfzIPPhL-ikSVcJYOKgfD}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=9882,exports.ids=[9882],exports.modules={60:(a,b,c)=>{c.d(b,{QM:()=>h,V0:()=>e,ZX:()=>f,bE:()=>g});var d=c(85164);function e(a){let b=(0,d.x7)(a),c=(0,d.M4)(a,b);return{chromeStart:b,echoEnd:c,start:c+1,end:b>=0?b:a.length,headTruncated:c<0}}function f(a){let b=a.split("\n"),c=e(b.map(d.aJ));return c.start>=c.end?"":b.slice(c.start,c.end).join("\n")}function g(a){let b=a.split("\n"),c=e(b),f=c.start>=c.end?"":b.slice(c.start,c.end).join("\n");return d.$t.test(f)&&!d.kD.test(a)&&!d.Ty.test(a)}function h(a,b,c,d,e,f=!1){if(a=Math.max(0,a),"opencode"===d||"copilot"===d||f){let a=e(b);return a>=0?a+1:0}if("antigravity"===d||"command-code"===d){let c=e(b);return c>=0?c+1:Math.max(0,a)}if(a>=b||c){let a=e(40);return a>=0?a+1:0}if("codex"===d)return Math.max(0,a);if(a>=b-5){let a=e(50);return a>=0?a+1:Math.max(0,b-40)}return Math.max(0,a)}},1058:(a,b,c)=>{c.d(b,{$v:()=>R,emitChatTurnProgress:()=>Y});var d=c(56791),e=c(52660);let f=globalThis.__unclassifiedFrameRuns??(globalThis.__unclassifiedFrameRuns=new Map);var g=c(94154),h=c(63209),i=c(51297),j=c(76777),k=c(50524);let l=/^([^\S\n]*)╹(▀{4,})/,m=/^([^\S\n]*)[│┃]/;var n=c(54325),o=c(81254),p=c(72626),q=c(43234),r=c(15194),s=c(129),t=c(66101),u=c(53163),v=c(17287),w=c(15388),x=c(3161),y=c(49154),z=c(62171),A=c(97751),B=c(31990),C=c(95595),D=c(5363),E=c(52277),F=c(44321),G=c(34405),H=c(93997),I=c(48083),J=c(30008),K=c(24581),L=c(40043),M=c(9516),N=c(36051);let O=(0,p.h)("current-output-builder");function P(a,b){Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:c})=>{c("message",{worktreeId:a,message:b})}).catch(b=>{O.warn("history-row-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})})}function Q(a,b,c){return!!a.thinking&&null!==b&&"ready"===b.status&&null!==c&&"stop"===c.closedBy&&null!==c.closedAt}async function R(a,b,c,d,e){let f=await S(a,b,c,d);return(f.isRunning&&"running"===f.sessionStatus&&await Z(a,b,c,d),e)?{...f,resolvedBy:e.resolvedBy,conflict:e.conflict??null}:f}async function S(a,b,c,n){let p=n??c,R=q.CLIToolManager.getInstance().getTool(c),S=(0,I.getLastStopEventAt)(b,c,n),T=(0,I.getLastAgentEvent)(b,c,n),U=(0,s.VM)(c),V=Date.now(),W=(0,I.getPendingDecisions)(b,c,n,V),X=(0,I.getAskUserQuestion)(b,c,n,V),Y=(0,x.Jl)(b,c,n),Z={lastEventType:T?.event??null,lastEventAt:T?.at??null,lastEventDetail:T?.detail??null,...(0,I.getPublishedAgentTurn)(b,c,n,V),pendingDecisions:W.map(a=>{let b=(0,y.Wk)(a.toolName);return{id:a.decisionId,at:a.at,source:a.source,toolName:a.toolName,confirmedAt:a.confirmedAt,scraperCorroborated:a.scraperCorroborated,deliveryExpired:(0,K.qX)(a,U.capabilities.decisionTimeoutSeconds,V),kind:b,questionOptions:"question"===b&&X?(0,A.dZ)(X.spec).map(a=>({number:a.number,label:a.label})):null}}),dedupDropped:(0,I.getAgentEventDropCounts)(b,c,n),dialogPendingMaxMs:{...K.h_},promptWaitingSince:null,promptWaitingSource:null,toolInputNormalization:(0,w.SQ)(b,c,n),permissionDecision:(0,v.CD)(b,c,n),source:{cliToolId:U.cliToolId,capabilities:U.capabilities,...(0,t.Kf)(U,U.liveness({worktreeId:b,cliToolId:c,instanceId:p}),V),probedActivity:(0,u.hS)({worktreeId:b,cliToolId:c,instanceId:p})},session:Y,sessionContext:(0,x.sc)({worktreeId:b,cliToolId:c,instanceId:n},Y),sessionDiff:(0,z.rn)({worktreeId:b,cliToolId:c,instanceId:n})};if(!await R.isRunning(b,n))return(0,L.xG)((0,D.v7)(b,c,n)),{isRunning:!1,content:"",lineCount:0,cliToolId:c,sessionStatus:"idle",sessionStatusReason:"session_not_running",statusEvidence:"positive",lastKnownStatus:null,lastKnownStatusAt:null,lastStopEventAt:S,structuredEvents:Z,model:null,reasoningEffort:null,promptDedup:(0,F.XH)(b,c,n),upstreamFault:null,paneObstruction:null,composerText:null,composerState:"no_composer"};let $=(0,d.getSessionState)(a,b,p),_=$?.lastCapturedLine||0,aa=await (0,B.Wh)(b,c,G._,n),ab=aa.split("\n"),ac=ab.length,ad=(0,H.sl)(ac,Math.min(G._,H.xE)),ae=((0,r.qR)(c,ad)?ab.slice(Math.max(0,_)):ab).join("\n"),af=(0,D.v7)(b,c,n),ag=(0,D.xU)(af),ah=ag?new Date(ag):void 0,ai=(0,C.WC)(aa,c,ah),aj=(0,C.f8)(ai),ak=ai.hasActivePrompt,al="waiting"===ai.status&&C.ug.has(ai.reason),am=ai.reason===C.gv.CODEX_PAGER,an="waiting"===ai.status&&ai.reason===C.gv.COMMAND_CODE_DISMISSABLE_PANEL,ao=ai.evidence,ap=(0,L.Q4)(ai.status,ai.reason);(0,I.observeScraperCompletionEvidence)(b,c,n,"ready"===ai.status&&"positive"===ao);let aq=(0,I.getStructuredSessionState)(b,c,n),ar=(0,J._G)({worktreeId:b,cliToolId:c,instanceId:n,scraper:{status:ai.status,reason:ai.reason,hasActivePrompt:ak}}),as=ar.structured;null!==as&&(Z.promptWaitingSince=as.at,Z.promptWaitingSource=as.source);let at={status:ai.status,reason:ai.reason,thinking:aj,evidence:ao,isUnclassifiedActive:ap},au=Q(at,aq,Z)?function(a,b,c,d){try{let f=(0,e.getLastUserMessageForInstance)(a,b,c,d);if(!f)return null;let g=f.timestamp instanceof Date?f.timestamp.getTime():NaN;return Number.isFinite(g)?g:null}catch(a){return O.debug("newest-prompt-read-failed",{worktreeId:b,cliToolId:c,instanceId:d,error:a instanceof Error?a.message:String(a)}),null}}(a,b,c,p):null,av=function(a,b,c=null,d=null,e=null){if("waiting"===a.status)return{...a,structuredApplied:!1};if(null!==c)return{status:"waiting",reason:(0,J.rB)(c),thinking:!1,evidence:a.evidence,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0};if(null===b||"waiting"===b.status||function(a,b,c,d){if(null===d||!Q(a,b,c))return!1;let e=c?.closedAt??null;return null!==e&&e<d}(a,b,d,e))return{...a,structuredApplied:!1};let f="running"===b.status,g="ready"===b.status&&function(a){if(null===a)return!1;let{closedBy:b,closedAt:c,openedAt:d}=a;return"stop"===b&&null!==c&&null!==d&&c>d}(d)?"positive":a.evidence;return{status:b.status,reason:b.reason,thinking:f,evidence:g,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0}}(at,aq,as,Z,au),aw=ar.waiting,ax=ai.promptDetection.promptData,ay=ax&&X?(0,M.Hu)(ax,X.spec):null,az=null!==as&&"notification"===as.source&&"permission-id"===U.capabilities.eventIdentity&&(0,N.PP)(as.decisionId)?as.decisionId:null,aA=null!==as&&"question"===(0,y.Wk)(as.toolName),aB=null===az||aA?null:N.QB,aC=null===as?null:{...as,askUserQuestion:function(a){let b=a?.spec.questions[0];return b?{question:b.question,labels:b.choices.map(a=>a.label),questionCount:a.spec.questions.length}:null}(X),decisionOptions:aB,decisionId:az,patterns:null!==aB?as.patterns:null},aD=ak?ay??ax??(aC?(0,N.Yo)(b,aC):null):aC?(0,N.Yo)(b,aC):null;null!==aq&&aq.status!==ai.status&&O.info("detection-divergence",{worktreeId:b,cliToolId:c,instanceId:p,scraperStatus:ai.status,scraperReason:ai.reason,structuredStatus:aq.status,structuredReason:aq.reason,structuredEvent:aq.event,structuredEventAt:aq.at,applied:av.structuredApplied});let aE=ab.slice(-100).join("\n"),aF="opencode"===c?function(a){let b=(0,i.aJ)(a).split("\n"),c=-1,d=-1,e=-1;for(let a=0;a<b.length;a++){let f=l.exec(b[a]);f&&(c=a,e=(d=f[1].length)+1+f[2].length)}if(-1===c)return null;let f=0,g="";for(let a=0;a<b.length;a++){let h=b[a];if(a!==c){let a=m.exec(h);if(!a||a[1].length!==d)continue}let i=h.slice((0,k.sh)(h,e)).trim();""!==i&&(f+=1,""===g&&(g=(0,j.D)(i,200,"…[truncated]")))}return f<2?null:{id:"opencode_sidebar",matchedText:g,boxRight:e,rows:f}}(aE):null,aG=function(a,b,c=Date.now()){for(let[a,b]of f)c-b.lastSeen>36e5&&f.delete(a);if(!b)return f.delete(a),{dwellMs:0,shouldRecord:!1};let d=f.get(a);if(!d)return f.set(a,{since:c,lastSeen:c,recorded:!1}),{dwellMs:0,shouldRecord:!1};d.lastSeen=c;let e=Math.max(0,c-d.since);return d.recorded||e<6e4?{dwellMs:e,shouldRecord:!1}:(d.recorded=!0,{dwellMs:e,shouldRecord:!0})}(af,av.isUnclassifiedActive);if(aG.shouldRecord&&function(a,b){var c;let e=Math.round(b.dwellMs/1e3),f=`${b.sessionStatus}/${b.sessionStatusReason}`,g=`Unclassified interactive frame (${f}) held for ${e}s. The detection layer could not parse it, so no prompt was published and nothing could answer it. Inspect the raw pane with \`commandmate capture ${b.worktreeId} --pane\`.`+((c=b.obstruction)?` Cause: opencode's sidebar is sharing rows with the transcript (paneObstruction=${c.id}, second column reads ${JSON.stringify(c.matchedText)}), which covers the marker that ends a turn. Press \`ctrl+x b\` in the pane to close it.`:""),h={type:o.LT,status:"unclassified",question:g,options:[],dwellSeconds:e,sessionStatusReason:f};try{let c=(0,d.createMessage)(a,{worktreeId:b.worktreeId,role:"assistant",content:g,messageType:"prompt",promptData:h,timestamp:new Date,cliToolId:b.cliToolId,instanceId:b.instanceId});O.info("unclassified-frame-recorded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,dwellSeconds:e,statusReason:f}),P(b.worktreeId,c)}catch(a){O.warn("unclassified-frame-record-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)})}}(a,{worktreeId:b,cliToolId:c,instanceId:p,dwellMs:aG.dwellMs,sessionStatus:av.status,sessionStatusReason:av.reason,obstruction:aF}),null!==as&&null!==aC&&!ak&&!as.recorded){(0,I.markStructuredPromptRecorded)(b,c,n);var aH=b,aI=c,aJ=p,aK=as,aL=aC;let e=(0,N.fO)(aH,aL);try{let b=(0,d.createMessage)(a,{worktreeId:aH,role:"assistant",content:e.question,summary:`structured prompt \xb7 source=${aK.source}${aK.toolName?` \xb7 tool=${aK.toolName}`:""}`,messageType:"prompt",promptData:e,timestamp:new Date,cliToolId:aI,instanceId:aJ});O.info("structured-prompt-recorded",{worktreeId:aH,cliToolId:aI,instanceId:aJ,source:aK.source,toolName:aK.toolName}),P(aH,b)}catch(a){O.warn("structured-prompt-record-failed",{worktreeId:aH,error:a instanceof Error?a.message:String(a)})}}let aM=(0,g.ji)(aa,c),aN=(0,h.bT)(aE),aO=(0,D.aq)(b,c,n),{model:aP,effort:aQ}=(0,I.getResolvedAgentModelInfo)(b,c,n);(0,L.ox)(af,{status:av.status,reason:av.reason,evidence:av.evidence});let aR=(0,L.AD)(af);return{isRunning:!0,cliToolId:c,sessionStatus:av.status,sessionStatusReason:av.reason,content:ae,fullOutput:aa,realtimeSnippet:aE,lineCount:ac,lastCapturedLine:_,isComplete:aw,isGenerating:av.thinking,thinking:av.thinking,thinkingMessage:av.thinking?`${(0,r.oo)(c)} is thinking...`:null,isPromptWaiting:aw,promptData:aD,autoYes:{enabled:aO?.enabled??!1,expiresAt:aO?.enabled?aO.expiresAt:null,stopReason:aO?.stopReason,lastSuppression:(0,E.gb)(b,c,n),stopMatchedText:aO?.stopMatchedText},isSelectionListActive:al,isPagerActive:am,isDismissablePanelActive:an,isUnclassifiedActive:av.isUnclassifiedActive,statusEvidence:av.evidence,lastKnownStatus:aR?.status??null,lastKnownStatusAt:aR?.at??null,lastServerResponseTimestamp:ag,serverPollerActive:(0,D.bZ)(af),lastStopEventAt:S,structuredEvents:Z,model:aP,reasoningEffort:aQ,promptDedup:(0,F.XH)(b,c,n),upstreamFault:aN?{id:aN.fault.id,matchedText:aN.matchedText,at:Date.now()}:null,paneObstruction:aF?{id:aF.id,matchedText:aF.matchedText,at:Date.now()}:null,composerText:"content"===aM.state?aM.text:null,composerState:aM.state}}function T(){return{version:0,askedAt:-1/0,turnKey:null,body:null,loggedOutcome:null,loggedTurnKey:null}}let U=globalThis.__chatTurnProgressState??=new Map;function V(a){return`${a.worktreeId}:${a.cliToolId}:${a.instanceId??a.cliToolId}`}function W(a,b,c,d={}){let e=V(a),f=U.get(e)??T();U.set(e,f),(f.loggedOutcome!==b||f.loggedTurnKey!==c)&&(f.loggedOutcome=b,f.loggedTurnKey=c,O.info("published"===b?"chat-turn-progress-published":"no-subscribers"===b?"chat-turn-progress-no-subscribers":"chat-turn-progress-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,turnKey:c,...d}))}async function X(a,b,c=Date.now()){let d,e=V(a),f=U.get(e)??T();if(c-f.askedAt<n.r9)return null;f.askedAt=c,U.set(e,f);try{d=await b()}catch{return null}if(!d||0===d.body.length)return null;let g=(0,n.rx)(d.body);return d.turnKey===f.turnKey&&g.body===f.body?null:(f.turnKey=d.turnKey,f.body=g.body,f.version+=1,{type:n.rz,worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,turnKey:d.turnKey,body:g.body,partial:g.truncated||!0===d.partial,version:f.version,done:!1})}async function Y(a,b,d=Date.now()){try{let{broadcast:e,hasRoomSubscribers:f}=await Promise.resolve().then(c.bind(c,43015));if(!f(a.worktreeId))return W(a,"no-subscribers",null),!1;let g=await X(a,b,d);if(!g)return!1;return e(a.worktreeId,g),W(a,"published",g.turnKey,{version:g.version,bodyLength:g.body.length,partial:g.partial}),!0}catch(b){return W(a,"failed",null,{error:b instanceof Error?b.message:String(b)}),!1}}async function Z(a,b,d,e){if("claude"!==d)return;let f={worktreeId:b,cliToolId:d,instanceId:e};try{let{getWorktreeById:g}=await Promise.resolve().then(c.bind(c,73753)),h=g(a,b)?.path;if(!h)return;let{hasRoomSubscribers:i}=await Promise.resolve().then(c.bind(c,43015));if(!i(b))return void W(f,"no-subscribers",null);Y(f,async()=>{let{readClaudeTurnProgress:a}=await Promise.resolve().then(c.bind(c,79696));return a({worktreeId:b,cliToolId:d,instanceId:e??d},{worktreePath:h})})}catch(a){W(f,"failed",null,{error:a instanceof Error?a.message:String(a)})}}},3523:(a,b,c)=>{c.d(b,{$M:()=>R,Tq:()=>X,zX:()=>Z});var d=c(31990),e=c(88807),f=c(56791),g=c(43015),h=c(26895),i=c(28861),j=c(96742),k=c(18778),l=c(15194),m=c(8988),n=c(85164),o=c(72626),p=c(46423),q=c(93997),r=c(60),s=c(82450),t=c(56263),u=c(13033),v=c(72457),w=c(16402),x=c(44321),y=c(71080),z=c(28918),A=c(31517),B=c(43925),C=c(40964),D=c(83598),E=c(31442),F=c(45146),G=c(91601),H=c(92010),I=c(81099),J=c(63209),K=c(73478),L=c(57836),M=c(52767);let N=(0,o.h)("response-poller");function O(a){return b=>{try{(0,g.broadcastMessage)("message_updated",{worktreeId:a,message:b})}catch(b){N.warn("prompt-sweep-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})}}}function P(a){return{response:"",isComplete:!1,lineCount:a}}function Q(a,b,c,d,e,f,g,h=!1){let i=(0,r.QM)(b,c,d,e,f,h),j=a.slice(i);return{response:(0,n.aJ)(j.join("\n")),isComplete:!0,lineCount:c,promptDetection:g,bufferReset:d,captureWindowSaturated:h}}function R(a,b,c,d){if("antigravity"===b){let b=(0,i.g)(a);if(null!==b)return b}if("command-code"===b&&void 0!==d){let b=(0,j.nK)(d);if("prompt"===b.kind)return b.prompt;if("unsupported"===b.kind)return{isPrompt:!1,cleanContent:a.trim()}}let e=(0,n.KO)(b);return(0,h.gF)(a,c?{...e,precomputedLines:c}:e)}function S(a,b,c){let d=(0,w.vm)(a,b.promptData?.type,c);return!!d.present||(N.debug("prompt-candidate-not-vouched",{cliToolId:a,promptType:b.promptData?.type,gateMode:d.mode}),!1)}function T(a,b){return R((0,n._A)((0,n.aJ)(a)),b,void 0,a)}(0,K.I7)();let U=A.sD.reduce((a,b)=>a+b,0),V=globalThis.__pendingScrapedResponses??=new Map;function W(a){V.delete(a)}function X(a,b){let c=V.get(a);if(!c)return!1;V.delete(a);try{let a=(0,e.getDbInstance)(),d=(0,f.createMessage)(a,{worktreeId:c.worktreeId,role:"assistant",content:c.content,messageType:"normal",timestamp:c.timestamp,cliToolId:c.cliToolId,instanceId:c.instanceId,summary:c.summary,logFileName:c.logFileName,requestId:c.requestId});return(0,g.broadcastMessage)("message",{worktreeId:c.worktreeId,message:d}),N.info("pending-scrape-flushed",{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:c.instanceId,reason:b,scrapedLength:c.content.length,heldForMs:Date.now()-c.timestamp.getTime()}),(0,k.T)(a,c.worktreeId,c.content,c.cliToolId).catch(()=>{}),!0}catch(a){return N.warn("pending-scrape-flush-failed",{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:c.instanceId,reason:b,error:a instanceof Error?a.message:String(a)}),!1}}async function Y(a){let b=V.get(a);if(!(!b||Date.now()<b.expiresAt)){if(await (0,z.captureStructuredHistoryTurn)(b.worktreeId,b.cliToolId,b.instanceId,{worktreePath:b.worktreePath,transcriptPathHint:b.transcriptPathHint})){W(a),(0,y.oE)(a),N.info("pending-scrape-superseded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId,heldForMs:Date.now()-b.timestamp.getTime()});return}X(a,"hold-expired")}}async function Z(a,b,c){let h=(0,e.getDbInstance)(),i=c??b;try{let e=(0,f.getWorktreeById)(h,a);if(!e)return N.error("worktree-worktreeid-not"),(0,F.Et)(a,b,c),!1;if(!await (0,d.K1)(a,b,c))return N.info("session-not-running"),(0,F.Et)(a,b,c),!1;let j=(0,F.MN)(a,b,c);await Y(j);let o=(0,C.m)(b,a,c),w=(0,E.n9)(o)?await (0,D.zQ)(o):{delegated:!1,released:!1};w.released&&((0,f.updateSessionState)(h,a,b,0,i),N.info("geometry-delegation-released",{worktreeId:a,cliToolId:b,instanceId:i}));let A=(0,f.getSessionState)(h,a,i),K=A?.lastCapturedLine||0,R=await (0,d.Wh)(a,b,q.xE,c),X=R.split("\n").slice(-100).join("\n"),Z=(0,J.bT)(X);if((0,I.notifyUpstreamFaultPush)({worktreeId:a,cliToolId:b,instanceId:c,faultId:Z?.fault.id??null,matchedText:Z?.matchedText}).catch(()=>{}),"opencode"===b||"copilot"===b){let a="opencode"===b?(0,r.ZX)(R):R;(0,u.IZ)(j,a,b)}let $=function(a,b,c,d=q.xE){let e=a.split("\n"),f=e.length;for(;f>0&&""===e[f-1].trim();)f--;let g=e.slice(0,f),h=g.length,i=(0,q.sl)(e.length,d),j="opencode"===c?g.map(n.aJ):null,k="claude"===c?(0,n.GT)(g):"copilot"===c?(0,n.wv)(g):"command-code"===c?(0,n.I$)(g):"codex"===c?(0,n.Zu)(g):j?(0,n.x7)(j):-1,l=k>=0?k:h,m=h>0&&b>25&&h+25<b,o=h>0&&b>50&&h<50,s=m||o;if(!s&&h<b-5)return null;let t=Math.max(0,h-20),u=g.slice(t),v=j?j.join("\n"):u.join("\n"),{promptPattern:w,separatorPattern:x,thinkingPattern:y,skipPatterns:z}=(0,n._X)(c),A=(a=60)=>{let b;if("codex"===c)return(0,n.Nc)(g,l,a,k>=0);if(j)return(0,r.V0)(j).echoEnd;if("copilot"===c){for(let b=l-1;b>=Math.max(0,l-a);b--){if(!n.y.test((0,n.aJ)(g[b])))continue;let a=b;for(;a+1<l&&n.Fg.test((0,n.aJ)(g[a+1]));)a++;return a}return -1}b=/^[>❯]\s+\S/;for(let c=l-1;c>=Math.max(0,l-a);c--){let a=(0,n.aJ)(g[c]);if(b.test(a))return c}return -1};if("claude"===c||"codex"===c||"copilot"===c||"command-code"===c){let a=g.join("\n"),d=T(a,c);if(d.isPrompt&&S(c,d,a))return Q(g,b,h,s,c,A,d,i)}let B=(0,n.aJ)(v),C=w.test(B),D=x.test(B),E="codex"===c?(0,n.DR)(g,20):y.test(B),G="copilot"===c?(0,n.Wn)(g.slice(Math.max(0,h-8)).map(n.aJ)):null,H="copilot"===c?"idle"===G:("codex"===c||"gemini"===c||"vibe-local"===c||"antigravity"===c)&&C&&!E,I="claude"===c&&C&&D&&!E,J="command-code"===c&&C&&D&&!E,K="opencode"===c&&(0,r.bE)(B);if(H||I||J||K){let a=[],d=(0,r.QM)(b,h,s,c,A,i),e="codex"===c?l:h;for(let b=d;b<l;b++){let d=g[b],f=(0,n.aJ)(d);if("codex"===c&&/^›\s+/.test(f)||"gemini"===c&&/^(%|\$|.*@.*[%$#])\s*$/.test(f)||"antigravity"===c&&/^>\s*$/.test(f)||"opencode"===c&&k<0&&(n.sy.test(f)||n.uA.test(f))){e=b;break}z.some(a=>a.test(f))||a.push(d)}let f=a.join("\n").trim(),m=f.split("\n").slice(-p.$).join("\n");if("copilot"!==c&&y.test(m))return P(h);if("claude"===c){let a=(0,n.aJ)(f),b=/[╭╮╰╯]/.test(a)||/░{3,}/.test(a)||/▓{3,}/.test(a),c=/Claude Code v\d+\.\d+|claude\//.test(a),d=/Tip:|for shortcuts|\?\s*for help/.test(a),e=/^\s*\/Users\/.*$/m.test(a)&&a.split("\n").length<30,g=A(h)>=0,i=a.match(/^[>❯]\s+(\S.*)$/m);if(i){let b=a.indexOf(i[0]);if(0===a.substring(b+i[0].length).trim().split("\n").filter(a=>{let b=a.trim();return b&&!z.some(a=>a.test(b))&&!/^─+$/.test(b)}).length)return P(h)}else if(!g&&(b||c||d||e)&&f.length<2e3)return N.info("Claude startup banner suppressed, response not saved",{responseLength:f.length,hasBannerArt:b,hasVersionInfo:c,hasStartupTips:d,hasProjectInit:e}),P(h)}if("copilot"===c){let a=(0,n.aJ)(f);if(!a.split("\n").some(a=>n.y.test(a))&&n.E0.some(b=>b.test(a)))return P(h)}if("command-code"===c&&0>A(h))return N.info("Command Code launch screen suppressed, response not saved",{responseLength:f.length}),P(h);if("gemini"===c&&((f.match(/[░███]/g)||[]).length>.3*f.length||F.SI.some(a=>f.includes(a))||!f.includes("✦")&&f.length<10))return P(h);if("opencode"===c){let a=(0,n.aJ)(f);if((a.length<50||!n.Md.test(B))&&0===a.split("\n").filter(a=>{let b=a.trim();return b&&!n.sx.some(a=>a.test(b))}).length)return P(h)}return{response:f,isComplete:!0,lineCount:e,bufferReset:s,captureWindowSaturated:i,turnHeadTruncated:j?(0,r.V0)(j).headTruncated:void 0}}if("opencode"!==c){let a=g.join("\n"),d=T(a,c);if(d.isPrompt&&S(c,d,a))return Q(g,b,h,s,c,A,d,i)}let L=[],M=s||i||b>=h-5,O=M?A(80):-1,R=M?O>=0?O+1:Math.max(0,h-80):Math.max(0,b);for(let a=R;a<Math.min(h,l);a++){let b=g[a],c=(0,n.aJ)(b);z.some(a=>a.test(c))||L.push(b)}let U=L.join("\n").trim();return U?{response:U,isComplete:!1,lineCount:h}:P(h)}(R,K,b,q.xE);if(!$||!$.isComplete){let{thinkingPattern:c}=(0,n._X)(b),d=(0,n.aJ)(R).split("\n").slice(-p.$).join("\n");return c.test(d)&&(0,f.markPendingPromptsAsAnswered)(h,a,b,i,O(a))>0&&N.info("marked-answeredcount-pending"),!1}let _="opencode"===b||"copilot"===b,aa=!(0,l.VA)(b)&&!$.captureWindowSaturated;if(aa&&!$.bufferReset&&$.lineCount===K&&!A?.inProgressMessageId)return!1;if(aa&&!$.bufferReset&&$.lineCount<=K)return N.info("already-saved-up-to-line-lastcapturedlin"),!1;let ab=$.promptDetection??T($.response,b);if(ab.isPrompt&&S(b,ab,R)){let d=ab.rawContent||ab.cleanContent,k=(0,v.zm)(d,b);if((0,v.gv)(j,k))return(0,x.LN)(a,b,c),N.info("duplicate-prompt-skipped",{worktreeId:a,cliToolId:b}),!1;let l=d;"copilot"===b&&(l=(0,s.LH)(d),l=(0,s.Sj)(l,t.Rf,t.ky)),(0,f.clearInProgressMessageId)(h,a,b,i);let m=(0,f.createMessage)(h,{worktreeId:a,role:"assistant",content:l,messageType:"prompt",promptData:ab.promptData,timestamp:new Date,cliToolId:b,instanceId:i});(0,f.updateSessionState)(h,a,b,$.lineCount,i),(0,g.broadcastMessage)("message",{worktreeId:a,message:m}),(0,M.r)(h,a,b,i,"prompt_detected",{promptType:ab.promptData?.type});let n=Date.now(),o=(0,L.Jp)(a,b,c)?.since??n;return(0,H.R)({worktreeId:a,cliToolId:b,instanceId:c,waitingSince:o})||(0,G.J$)({worktreeId:a,worktreeName:e.name,kind:"prompt",agentName:i,instanceId:i,waitingKind:"prompt",waitingSince:o,excerpt:ab.promptData?.question??l}).catch(()=>{}),(0,L.hd)({worktreeId:a,cliToolId:b,instanceId:c,waiting:!0,kind:"prompt",now:n}),_||(0,F.Et)(a,b,c),!0}if(!$.response||""===$.response.trim())return(0,f.updateSessionState)(h,a,b,$.lineCount,i),!1;let ac="claude"===b?(0,m.R)($.response):void 0,ad=$.response;if("gemini"===b)ad=(0,s.IS)($.response);else if("claude"===b)ad=(0,s.NN)($.response);else if("copilot"===b){let a=(0,u.Uz)(j)||$.response;ad=(0,s.LH)(a),ad=(0,s.Sj)(ad,t.Rf,t.ky),(0,u.q1)(j)}else if("opencode"===b){let a=(0,u.Uz)(j),b=$.turnHeadTruncated&&a?a:$.response;ad=(0,s.aW)(b),(0,u.q1)(j)}if(!ad||""===ad.trim()||"[No content]"===ad)return(0,f.updateSessionState)(h,a,b,$.lineCount,i),(0,f.clearInProgressMessageId)(h,a,b,i),!1;if(!aa&&(0,y.j7)(j,ad)){if(N.info("duplicate-response-skipped",{worktreeId:a,cliToolId:b,instanceId:i}),(0,f.updateSessionState)(h,a,b,$.lineCount,i),(0,y.pN)(j)&&await (0,z.captureStructuredHistoryTurn)(a,b,c,{worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null}))return(0,y.oE)(j),W(j),N.info("structured-history-recheck-captured",{worktreeId:a,cliToolId:b,instanceId:i}),!0;return!1}let ae={},af=(0,z.isStructuredHistoryWriterLive)(a,b,c)||await (0,z.captureStructuredHistoryTurn)(a,b,c,{worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null},ae);af?(0,y.oE)(j):(0,y.Pe)(j);let ag=af||w.delegated,ah=!ag&&"not_yet_closed"===ae.outcome;!ad||ag||ah||await (0,k.T)(h,a,ad,b),(0,f.markPendingPromptsAsAnswered)(h,a,b,i,O(a))>0&&N.info("marked-answeredcount-pending");let ai=(0,f.getSessionState)(h,a,i);if(aa&&ai&&$.lineCount<=ai.lastCapturedLine)return N.info("race-condition-detected-skipping-save-re"),!1;if(ah)!function(a,b){let c=V.get(a);if(c){c.content=b.content;return}V.set(a,b)}(j,{worktreeId:a,cliToolId:b,instanceId:i,content:ad,timestamp:new Date,summary:ac?.summary,logFileName:ac?.logFileName,requestId:ac?.requestId,worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null,expiresAt:Date.now()+U}),N.info("structured-history-scrape-held",{worktreeId:a,cliToolId:b,instanceId:i,scrapedLength:ad.length,holdMs:U}),(0,B.vQ)(a,b,i,!1);else if(ag)af&&W(j),N.info("structured-history-scrape-suppressed",{worktreeId:a,cliToolId:b,instanceId:i,scrapedLength:ad.length,reason:af?"structured-history":"geometry-delegated"});else{let c=(0,f.createMessage)(h,{worktreeId:a,role:"assistant",content:ad,messageType:"normal",timestamp:new Date,cliToolId:b,instanceId:i,summary:ac?.summary,logFileName:ac?.logFileName,requestId:ac?.requestId});(0,g.broadcastMessage)("message",{worktreeId:a,message:c}),(0,B.vQ)(a,b,i,!1)}return(0,L.hd)({worktreeId:a,cliToolId:b,instanceId:c,waiting:!1}),(0,G.J$)({worktreeId:a,worktreeName:e.name,kind:"completion",agentName:i,excerpt:ad}).catch(()=>{}),(0,f.updateSessionState)(h,a,b,$.lineCount,i),_&&(0,F.Et)(a,b,c),!0}catch(a){return N.error("response:check-failed",{error:a instanceof Error?a.message:String(a)}),!1}}},5363:(a,b,c)=>{c.d(b,{v7:()=>d.v7,LP:()=>d.LP,pL:()=>d.pL,GE:()=>d.GE,aq:()=>d.aq,kC:()=>d.kC,xU:()=>y,bZ:()=>z,W8:()=>d.W8,W5:()=>F,_i:()=>G,_C:()=>H});var d=c(24455),e=c(31990),f=c(3523),g=c(75498),h=c(91318),i=c(52277),j=c(16402),k=c(52767),l=c(88807),m=c(52660),n=c(63869),o=c(43234),p=c(85164),q=c(77093),r=c(93997),s=c(68901),t=c(72626),u=c(66007);let v=(0,t.h)("auto-yes-poller"),w=globalThis.__autoYesPollerStates??(globalThis.__autoYesPollerStates=new Map);function x(a){return w.get(a)}function y(a){let b=x(a);return b?.lastServerResponseTimestamp??null}function z(a){return w.has(a)}function A(a){let b=x(a);if(b&&(b.consecutiveErrors++,b.currentInterval=(0,d.G)(b.consecutiveErrors),b.consecutiveErrors>=s.ul)){let b=(0,d.Ue)(a),c=(0,d.pL)(a);c&&(0,d.XK)(b,c,"consecutive_errors",(0,d.GE)(a)??void 0),G(a)}}async function B(a,b,c,d){let f=c??s.FW,g=await (0,e.Wh)(a,b,f,d);return{raw:g,clean:(0,p._A)((0,p.aJ)(g))}}async function C(a,b,e,s,t,u,w){let y=(0,d.v7)(a,e,u);try{let A=(0,f.$M)(s,e,t,w);if(!A.isPrompt||!A.promptData)return b.lastAnsweredPromptKey=null,b.lastAnsweredAt=null,"no_prompt";let C=(z=A.promptData,`${z.type}:${z.question}`);if(b.lastAnsweredPromptKey===C&&null!==b.lastAnsweredAt&&Date.now()-b.lastAnsweredAt<d.UL)return"duplicate";let D="codex"===e?(0,p.E6)(s):null;if(D)return(0,i.ZS)(a,e,u,{reason:"agent-launch-dialog",mode:null,promptType:A.promptData.type}),v.warn("poller:auto-yes-skipped-launch-dialog",{worktreeId:a,cliToolId:e,instanceId:u,dialog:D,promptType:A.promptData.type}),"no_answer";let E=(0,j.r_)(e,A.promptData.type,s);if(!E.allowed)return(0,i.ZS)(a,e,u,{reason:"unclassified-frame",mode:null,promptType:A.promptData.type}),v.warn("poller:auto-yes-skipped-unclassified-frame",{worktreeId:a,cliToolId:e,instanceId:u,promptType:A.promptData.type,dialogKind:E.dialog?.kind??null,answerMode:E.dialog?.answerMode??null,gateMode:E.mode}),"no_answer";let F=(0,h.n)(a,e,u),G=(0,g.sD)(A.promptData,F);G.suppressedBy&&((0,i.ZS)(a,e,u,{reason:G.suppressedBy,mode:F?.mode??null,promptType:A.promptData.type,pattern:G.pattern}),v.warn("poller:auto-yes-suppressed-by-policy",{worktreeId:a,cliToolId:e,instanceId:u,reason:G.suppressedBy,mode:F?.mode??null,pattern:G.pattern,promptType:A.promptData.type}));let H=G.answer;if(null===H)return"no_answer";let I=o.CLIToolManager.getInstance().getTool(e).getSessionName(a,u);try{await (0,n.tV)({sessionName:I,answer:H,cliToolId:e,promptData:A.promptData})}finally{(0,r.gm)(I)}var z,B=Date.now();let J=x(y);J&&(J.lastServerResponseTimestamp=B);let K=x(y);K&&(K.consecutiveErrors=0,K.currentInterval=d.ps),b.lastAnsweredPromptKey=C,b.lastAnsweredAt=Date.now(),v.info("poller:response-sent",{worktreeId:a,cliToolId:e,instanceId:u}),(0,k.r)((0,l.getDbInstance)(),a,e,u??e,"prompt_answered_auto",{promptType:A.promptData.type});let L=null;try{L=(0,m.recordAnsweredPrompt)((0,l.getDbInstance)(),{worktreeId:a,cliToolId:e,instanceId:u??e,promptData:A.promptData,answer:H,answeredBy:"auto",content:A.rawContent||A.cleanContent})}catch(b){v.warn("poller:prompt-audit-record-failed",{worktreeId:a,cliToolId:e,instanceId:u,error:(0,q.u1)(b)})}if(L){let b=L;Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:c})=>{c(b.created?"message":"message_updated",{worktreeId:a,message:b.message})}).catch(()=>{})}let[{startPolling:M},{broadcastTerminalSnapshotAfterInteraction:N}]=await Promise.all([c.e(2839).then(c.bind(c,95220)),Promise.resolve().then(c.bind(c,99508))]);return M(a,e,u),N(a,e,u),"responded"}catch{return A(y),v.warn("poller:detect-respond-error",{worktreeId:a,cliToolId:e,instanceId:u}),"error"}}async function D(a,b,c){let e=(0,d.v7)(a,b,c),f=x(e);if("valid"===function(a,b){if(!b)return"stopped";let c=(0,d.Ue)(a),e=(0,d.pL)(a);if(!e)return G(a),"expired";let f=(0,d.GE)(a)??void 0,g=(0,d.aq)(c,e,f);return g?.enabled?"valid":(G(a),"expired")}(e,f)){try{let g=(0,d.aq)(a,b,c),h=g?.stopPattern?s.FW:s.Ke,{raw:i,clean:j}=await B(a,b,h,c),k=j.split("\n");if(function(a,b,c){if(b.stopCheckBaselineLength<0)return b.stopCheckBaselineLength=c.length,!1;let e=b.stopCheckBaselineLength;if(c.length>e){let f=c.substring(e);return b.stopCheckBaselineLength=c.length,(0,d.Cs)(a,f,G)}return c.length<e&&(b.stopCheckBaselineLength=c.length),!1}(e,f,j))return;let l=await C(a,f,b,j,k,c,i);if("responded"===l)return void E(a,b,c,d.ZO);if("no_prompt"===l){let e=k.slice(-d.Re).join("\n");if((0,p.ut)(b,e))return void E(a,b,c,s.QN)}}catch(d){A(e),v.warn("poller:poll-error",{worktreeId:a,cliToolId:b,instanceId:c,error:(0,q.u1)(d)})}E(a,b,c)}}function E(a,b,c,e){let f=x((0,d.v7)(a,b,c));if(!f)return;let g=Math.max(e??f.currentInterval,d.ps);f.timerId=setTimeout(()=>{D(a,b,c)},g)}function F(a,b,c){if(!(0,u.h6)(a))return{started:!1,reason:"invalid worktree ID"};let e=c??b,f=(0,d.aq)(a,b,e);if(!f?.enabled)return{started:!1,reason:"auto-yes not enabled"};let g=(0,d.v7)(a,b,e),i=x(g);if(!i&&w.size>=d.fC)return{started:!1,reason:"max concurrent pollers reached"};if(i&&i.cliToolId===b)return{started:!0,reason:"already_running"};i&&G(g);let j={timerId:null,cliToolId:b,instanceId:e,consecutiveErrors:0,currentInterval:d.ps,lastServerResponseTimestamp:null,lastAnsweredPromptKey:null,lastAnsweredAt:null,stopCheckBaselineLength:-1};return w.set(g,j),(0,h.ie)(g),j.timerId=setTimeout(()=>{D(a,b,e)},d.ps),v.info("poller:started",{worktreeId:a,cliToolId:b,instanceId:e}),{started:!0}}function G(a){let b=x(a);b&&(b.timerId&&clearTimeout(b.timerId),w.delete(a),(0,h.ie)(a),v.info("poller:stopped",{compositeKey:a}))}function H(a){(0,d._9)(Array.from(w.keys()),a).forEach(a=>G(a))}},8988:(a,b,c)=>{c.d(b,{R:()=>g});let d=/📄 Session log: (.+?\/([^\/\s]+\.jsonl))/,e=/Request ID: ([^\s\n]+)/,f=/Summary: (.+?)(?:\n─|$)/s;function g(a){let b={content:a},c=d.exec(a);c&&(b.logFileName=c[2],b.logFilePath=c[1]);let g=e.exec(a);g&&(b.requestId=g[1]);let h=f.exec(a);return h&&(b.summary=h[1].trim()),b}},9516:(a,b,c)=>{c.d(b,{Hu:()=>i,Ll:()=>j});let d=["type something","chat about this"],e=/^\s*\[[ xX]\]\s*/,f=/(?:…|\.\.\.)\s*$/,g=new Set(["yes","y","no","n"]);function h(a){return a.replace(e,"").replace(f,"").replace(/\s+/g," ").trim().toLowerCase()}function i(a,b){if("multiple_choice"!==a.type)return null;let c=function(a,b){let c=h(b);if(""===c)return null;let d=a.questions.map((a,b)=>({entry:a,index:b})).filter(({entry:a})=>(function(a,b){let[c,d]=a.length<=b.length?[a,b]:[b,a];return c.length<8?c===d:d.includes(c)})(h(a.question),c));return 1===d.length?d[0]:null}(b,a.question);if(null===c)return null;let{entry:f,index:g}=c,i=new Map(a.options.map(a=>[a.number,a])),j=[];for(let[a,b]of f.choices.entries()){var k;let c=a+1,d=i.get(c);if(!d||!function(a,b){if(""===a||""===b)return!1;if(a===b)return!0;let[c,d]=a.length<=b.length?[a,b]:[b,a];return!(c.length<8)&&d.startsWith(c)}(h(d.label),h(b.label)))return null;j.push({...d,label:`${(k=d.label,e.exec(k)?.[0]??"")}${b.label}`,...b.description?{description:b.description}:{}})}let l=[];for(let b of a.options)!(b.number<=f.choices.length)&&function(a){let b=h(a);return d.some(a=>b===a||b.startsWith(a))}(b.label)&&(j.push(b),l.push(b.number));return j.sort((a,b)=>a.number-b.number),{...a,question:f.question,options:j,isAskUserQuestion:!0,askUserQuestion:{...f.header?{header:f.header}:{},multiSelect:f.multiSelect,questionIndex:g,questionCount:b.questions.length,metaOptionNumbers:l}}}function j(a,b){let c=b.trim();if(/^\d+$/.test(c)){let b=Number.parseInt(c,10);return a.options.some(a=>a.number===b)?{ok:!0,input:String(b)}:{ok:!1,reason:"answer_out_of_range",message:"The option number is outside the range this prompt offers. Use `commandmate capture <worktree-id> --json` to list the current options."}}let d=function(a,b){let c=h(b);if(""===c)return[];let d=a.filter(a=>h(a.label)===c);return d.length>0?d:c.length<2?[]:a.filter(a=>h(a.label).startsWith(c))}(a.options,c);if(1===d.length){let[a]=d;return{ok:!0,input:String(a.number),resolved:{via:"semantic",optionNumber:a.number,optionLabel:a.label}}}return d.length>1?{ok:!1,reason:"unresolvable_answer",message:"The answer matches more than one option label. Answer with an option number."}:a.options.some(a=>!0===a.requiresTextInput)&&!g.has(c.toLowerCase())?{ok:!0,input:b}:{ok:!1,reason:"unresolvable_answer",message:"No option label matches the answer. Answer with an option number (yes/no is not resolved on a numbered picker — Issue #1681)."}}},15388:(a,b,c)=>{c.d(b,{RJ:()=>f,SQ:()=>g});var d=c(24455);let e=globalThis.__toolInputNormalizations??(globalThis.__toolInputNormalizations=new Map);function f(a,b,c,g,h,i=Date.now()){e.set((0,d.v7)(a,b,c),{...g,toolName:h,at:i})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??null}},16402:(a,b,c)=>{c.d(b,{b1:()=>l,bj:()=>k,r_:()=>h,vm:()=>j});var d=c(74258),e=c(82743);let f=["enforce","legacy"],g={claude:"enforce",codex:"enforce",copilot:"enforce",opencode:"enforce",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy"};function h(a,b,c,d=process.env){let e=i(a,b,c,function(a,b=process.env){let c=b.CM_AUTOYES_DIALOG_GATE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,g]=b.split("=");if(void 0===g)continue;let h=c.trim(),i=g.trim();f.includes(i)&&("*"===h?d=i:h===a&&(e=i))}return e??d??g[a]??"legacy"}(a,d));return{allowed:!e.gated||null!==e.dialog&&"numbered"===e.dialog.answerMode,dialog:e.dialog,mode:e.mode,gated:e.gated}}function i(a,b,c,f){let g=(0,e.bN)(a);if("multiple_choice"!==b||!g.hasDialogRules||"legacy"===f)return{present:!0,dialog:null,mode:f,gated:!1};let h=g.detectDialog((0,d.z)(c));return{present:null!==h,dialog:h,mode:f,gated:!0}}function j(a,b,c){return i(a,b,c,g[a]??"legacy")}let k="unsupported_dialog_layout";function l(a,b){if(a.isPrompt&&b.present)return null;let c=a.promptData;return a.isPrompt&&b.gated&&c?.type==="multiple_choice"&&!0===c.isAskUserQuestion?{reason:k,message:"An AskUserQuestion picker is on screen, but its layout could not be verified as one of the agent's dialogs, so no key was sent. Answer it in the terminal, or retry once the screen has settled."}:{reason:"prompt_no_longer_active"}}},18778:(a,b,c)=>{c.d(b,{T:()=>g});var d=c(56791),e=c(41364);let f=(0,c(72626).h)("conversation-logger");async function g(a,b,c,h="claude"){let i=(0,d.getLastUserMessage)(a,b);if(i)try{await (0,e.hM)(b,i.content,c,h)}catch(a){f.error("conversation:log-failed",{error:a instanceof Error?a.message:String(a)})}}},21684:(a,b,c)=>{c.d(b,{U:()=>h});var d=c(33873),e=c.n(d),f=c(87447),g=c(8004);function h(){let a=e().join(process.cwd(),"data","logs");return(0,g.T)((0,f._p)("CM_LOG_DIR"),a,"CM_LOG_DIR")}},40043:(a,b,c)=>{c.d(b,{AD:()=>k,Q4:()=>g,ox:()=>j,xG:()=>l});var d=c(37717),e=c(48083);let f=new Set([d.g.NO_RECENT_OUTPUT,d.g.UNKNOWN_FRAME,d.g.DEFAULT]);function g(a,b){return"running"===a&&f.has(b)}let h=e.STRUCTURED_STATE_MAX_AGE_MS,i=globalThis.__lastKnownStatusByKey??(globalThis.__lastKnownStatusByKey=new Map);function j(a,b,c=Date.now()){for(let[a,b]of i)c-b.at>=h&&i.delete(a);for(;i.size>512;){let a=i.keys().next();if(a.done)break;i.delete(a.value)}"positive"===b.evidence&&(i.delete(a),i.set(a,{status:b.status,reason:b.reason,at:c}))}function k(a,b=Date.now()){let c=i.get(a);return void 0===c?null:b-c.at>=h?(i.delete(a),null):c}function l(a){i.delete(a)}},41364:(a,b,c)=>{c.d(b,{Gv:()=>o,hM:()=>n});var d=c(79748),e=c.n(d),f=c(33873),g=c.n(f),h=c(1634),i=c(21684),j=c(72626),k=c(15194);function l(a="claude"){return g().join((0,i.U)(),a)}async function m(a="claude"){let b=l(a);try{await e().access(b)}catch{await e().mkdir(b,{recursive:!0})}}async function n(a,b,c,d="claude"){await m(d);let f=function(a,b="claude"){let c=(0,h.GP)(new Date,"yyyy-MM-dd"),d=`${a}-${c}.md`,e=l(b);return g().join(e,d)}(a,d),i=(0,h.GP)(new Date,"yyyy-MM-dd HH:mm:ss"),j="";try{j=await e().readFile(f,"utf-8")}catch{let b=(0,k.hR)(d)?k.ef[d]:d;j=`# ${b} Conversation Log: ${a}
|
|
1
|
+
"use strict";exports.id=9882,exports.ids=[9882],exports.modules={60:(a,b,c)=>{c.d(b,{QM:()=>h,V0:()=>e,ZX:()=>f,bE:()=>g});var d=c(85164);function e(a){let b=(0,d.x7)(a),c=(0,d.M4)(a,b);return{chromeStart:b,echoEnd:c,start:c+1,end:b>=0?b:a.length,headTruncated:c<0}}function f(a){let b=a.split("\n"),c=e(b.map(d.aJ));return c.start>=c.end?"":b.slice(c.start,c.end).join("\n")}function g(a){let b=a.split("\n"),c=e(b),f=c.start>=c.end?"":b.slice(c.start,c.end).join("\n");return d.$t.test(f)&&!d.kD.test(a)&&!d.Ty.test(a)}function h(a,b,c,d,e,f=!1){if(a=Math.max(0,a),"opencode"===d||"copilot"===d||f){let a=e(b);return a>=0?a+1:0}if("antigravity"===d||"command-code"===d){let c=e(b);return c>=0?c+1:Math.max(0,a)}if(a>=b||c){let a=e(40);return a>=0?a+1:0}if("codex"===d)return Math.max(0,a);if(a>=b-5){let a=e(50);return a>=0?a+1:Math.max(0,b-40)}return Math.max(0,a)}},3523:(a,b,c)=>{c.d(b,{$M:()=>R,Tq:()=>X,zX:()=>Z});var d=c(31990),e=c(88807),f=c(56791),g=c(43015),h=c(26895),i=c(28861),j=c(96742),k=c(18778),l=c(15194),m=c(8988),n=c(85164),o=c(72626),p=c(46423),q=c(93997),r=c(60),s=c(82450),t=c(56263),u=c(13033),v=c(72457),w=c(16402),x=c(44321),y=c(71080),z=c(28918),A=c(31517),B=c(43925),C=c(40964),D=c(83598),E=c(31442),F=c(45146),G=c(91601),H=c(92010),I=c(81099),J=c(63209),K=c(73478),L=c(57836),M=c(52767);let N=(0,o.h)("response-poller");function O(a){return b=>{try{(0,g.broadcastMessage)("message_updated",{worktreeId:a,message:b})}catch(b){N.warn("prompt-sweep-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})}}}function P(a){return{response:"",isComplete:!1,lineCount:a}}function Q(a,b,c,d,e,f,g,h=!1){let i=(0,r.QM)(b,c,d,e,f,h),j=a.slice(i);return{response:(0,n.aJ)(j.join("\n")),isComplete:!0,lineCount:c,promptDetection:g,bufferReset:d,captureWindowSaturated:h}}function R(a,b,c,d){if("antigravity"===b){let b=(0,i.g)(a);if(null!==b)return b}if("command-code"===b&&void 0!==d){let b=(0,j.nK)(d);if("prompt"===b.kind)return b.prompt;if("unsupported"===b.kind)return{isPrompt:!1,cleanContent:a.trim()}}let e=(0,n.KO)(b);return(0,h.gF)(a,c?{...e,precomputedLines:c}:e)}function S(a,b,c){let d=(0,w.vm)(a,b.promptData?.type,c);return!!d.present||(N.debug("prompt-candidate-not-vouched",{cliToolId:a,promptType:b.promptData?.type,gateMode:d.mode}),!1)}function T(a,b){return R((0,n._A)((0,n.aJ)(a)),b,void 0,a)}(0,K.I7)();let U=A.sD.reduce((a,b)=>a+b,0),V=globalThis.__pendingScrapedResponses??=new Map;function W(a){V.delete(a)}function X(a,b){let c=V.get(a);if(!c)return!1;V.delete(a);try{let a=(0,e.getDbInstance)(),d=(0,f.createMessage)(a,{worktreeId:c.worktreeId,role:"assistant",content:c.content,messageType:"normal",timestamp:c.timestamp,cliToolId:c.cliToolId,instanceId:c.instanceId,summary:c.summary,logFileName:c.logFileName,requestId:c.requestId});return(0,g.broadcastMessage)("message",{worktreeId:c.worktreeId,message:d}),N.info("pending-scrape-flushed",{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:c.instanceId,reason:b,scrapedLength:c.content.length,heldForMs:Date.now()-c.timestamp.getTime()}),(0,k.T)(a,c.worktreeId,c.content,c.cliToolId).catch(()=>{}),!0}catch(a){return N.warn("pending-scrape-flush-failed",{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:c.instanceId,reason:b,error:a instanceof Error?a.message:String(a)}),!1}}async function Y(a){let b=V.get(a);if(!(!b||Date.now()<b.expiresAt)){if(await (0,z.captureStructuredHistoryTurn)(b.worktreeId,b.cliToolId,b.instanceId,{worktreePath:b.worktreePath,transcriptPathHint:b.transcriptPathHint})){W(a),(0,y.oE)(a),N.info("pending-scrape-superseded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId,heldForMs:Date.now()-b.timestamp.getTime()});return}X(a,"hold-expired")}}async function Z(a,b,c){let h=(0,e.getDbInstance)(),i=c??b;try{let e=(0,f.getWorktreeById)(h,a);if(!e)return N.error("worktree-worktreeid-not"),(0,F.Et)(a,b,c),!1;if(!await (0,d.K1)(a,b,c))return N.info("session-not-running"),(0,F.Et)(a,b,c),!1;let j=(0,F.MN)(a,b,c);await Y(j);let o=(0,C.m)(b,a,c),w=(0,E.n9)(o)?await (0,D.zQ)(o):{delegated:!1,released:!1};w.released&&((0,f.updateSessionState)(h,a,b,0,i),N.info("geometry-delegation-released",{worktreeId:a,cliToolId:b,instanceId:i}));let A=(0,f.getSessionState)(h,a,i),K=A?.lastCapturedLine||0,R=await (0,d.Wh)(a,b,q.xE,c),X=R.split("\n").slice(-100).join("\n"),Z=(0,J.bT)(X);if((0,I.notifyUpstreamFaultPush)({worktreeId:a,cliToolId:b,instanceId:c,faultId:Z?.fault.id??null,matchedText:Z?.matchedText}).catch(()=>{}),"opencode"===b||"copilot"===b){let a="opencode"===b?(0,r.ZX)(R):R;(0,u.IZ)(j,a,b)}let $=function(a,b,c,d=q.xE){let e=a.split("\n"),f=e.length;for(;f>0&&""===e[f-1].trim();)f--;let g=e.slice(0,f),h=g.length,i=(0,q.sl)(e.length,d),j="opencode"===c?g.map(n.aJ):null,k="claude"===c?(0,n.GT)(g):"copilot"===c?(0,n.wv)(g):"command-code"===c?(0,n.I$)(g):"codex"===c?(0,n.Zu)(g):j?(0,n.x7)(j):-1,l=k>=0?k:h,m=h>0&&b>25&&h+25<b,o=h>0&&b>50&&h<50,s=m||o;if(!s&&h<b-5)return null;let t=Math.max(0,h-20),u=g.slice(t),v=j?j.join("\n"):u.join("\n"),{promptPattern:w,separatorPattern:x,thinkingPattern:y,skipPatterns:z}=(0,n._X)(c),A=(a=60)=>{let b;if("codex"===c)return(0,n.Nc)(g,l,a,k>=0);if(j)return(0,r.V0)(j).echoEnd;if("copilot"===c){for(let b=l-1;b>=Math.max(0,l-a);b--){if(!n.y.test((0,n.aJ)(g[b])))continue;let a=b;for(;a+1<l&&n.Fg.test((0,n.aJ)(g[a+1]));)a++;return a}return -1}b=/^[>❯]\s+\S/;for(let c=l-1;c>=Math.max(0,l-a);c--){let a=(0,n.aJ)(g[c]);if(b.test(a))return c}return -1};if("claude"===c||"codex"===c||"copilot"===c||"command-code"===c){let a=g.join("\n"),d=T(a,c);if(d.isPrompt&&S(c,d,a))return Q(g,b,h,s,c,A,d,i)}let B=(0,n.aJ)(v),C=w.test(B),D=x.test(B),E="codex"===c?(0,n.DR)(g,20):y.test(B),G="copilot"===c?(0,n.Wn)(g.slice(Math.max(0,h-8)).map(n.aJ)):null,H="copilot"===c?"idle"===G:("codex"===c||"gemini"===c||"vibe-local"===c||"antigravity"===c)&&C&&!E,I="claude"===c&&C&&D&&!E,J="command-code"===c&&C&&D&&!E,K="opencode"===c&&(0,r.bE)(B);if(H||I||J||K){let a=[],d=(0,r.QM)(b,h,s,c,A,i),e="codex"===c?l:h;for(let b=d;b<l;b++){let d=g[b],f=(0,n.aJ)(d);if("codex"===c&&/^›\s+/.test(f)||"gemini"===c&&/^(%|\$|.*@.*[%$#])\s*$/.test(f)||"antigravity"===c&&/^>\s*$/.test(f)||"opencode"===c&&k<0&&(n.sy.test(f)||n.uA.test(f))){e=b;break}z.some(a=>a.test(f))||a.push(d)}let f=a.join("\n").trim(),m=f.split("\n").slice(-p.$).join("\n");if("copilot"!==c&&y.test(m))return P(h);if("claude"===c){let a=(0,n.aJ)(f),b=/[╭╮╰╯]/.test(a)||/░{3,}/.test(a)||/▓{3,}/.test(a),c=/Claude Code v\d+\.\d+|claude\//.test(a),d=/Tip:|for shortcuts|\?\s*for help/.test(a),e=/^\s*\/Users\/.*$/m.test(a)&&a.split("\n").length<30,g=A(h)>=0,i=a.match(/^[>❯]\s+(\S.*)$/m);if(i){let b=a.indexOf(i[0]);if(0===a.substring(b+i[0].length).trim().split("\n").filter(a=>{let b=a.trim();return b&&!z.some(a=>a.test(b))&&!/^─+$/.test(b)}).length)return P(h)}else if(!g&&(b||c||d||e)&&f.length<2e3)return N.info("Claude startup banner suppressed, response not saved",{responseLength:f.length,hasBannerArt:b,hasVersionInfo:c,hasStartupTips:d,hasProjectInit:e}),P(h)}if("copilot"===c){let a=(0,n.aJ)(f);if(!a.split("\n").some(a=>n.y.test(a))&&n.E0.some(b=>b.test(a)))return P(h)}if("command-code"===c&&0>A(h))return N.info("Command Code launch screen suppressed, response not saved",{responseLength:f.length}),P(h);if("gemini"===c&&((f.match(/[░███]/g)||[]).length>.3*f.length||F.SI.some(a=>f.includes(a))||!f.includes("✦")&&f.length<10))return P(h);if("opencode"===c){let a=(0,n.aJ)(f);if((a.length<50||!n.Md.test(B))&&0===a.split("\n").filter(a=>{let b=a.trim();return b&&!n.sx.some(a=>a.test(b))}).length)return P(h)}return{response:f,isComplete:!0,lineCount:e,bufferReset:s,captureWindowSaturated:i,turnHeadTruncated:j?(0,r.V0)(j).headTruncated:void 0}}if("opencode"!==c){let a=g.join("\n"),d=T(a,c);if(d.isPrompt&&S(c,d,a))return Q(g,b,h,s,c,A,d,i)}let L=[],M=s||i||b>=h-5,O=M?A(80):-1,R=M?O>=0?O+1:Math.max(0,h-80):Math.max(0,b);for(let a=R;a<Math.min(h,l);a++){let b=g[a],c=(0,n.aJ)(b);z.some(a=>a.test(c))||L.push(b)}let U=L.join("\n").trim();return U?{response:U,isComplete:!1,lineCount:h}:P(h)}(R,K,b,q.xE);if(!$||!$.isComplete){let{thinkingPattern:c}=(0,n._X)(b),d=(0,n.aJ)(R).split("\n").slice(-p.$).join("\n");return c.test(d)&&(0,f.markPendingPromptsAsAnswered)(h,a,b,i,O(a))>0&&N.info("marked-answeredcount-pending"),!1}let _="opencode"===b||"copilot"===b,aa=!(0,l.VA)(b)&&!$.captureWindowSaturated;if(aa&&!$.bufferReset&&$.lineCount===K&&!A?.inProgressMessageId)return!1;if(aa&&!$.bufferReset&&$.lineCount<=K)return N.info("already-saved-up-to-line-lastcapturedlin"),!1;let ab=$.promptDetection??T($.response,b);if(ab.isPrompt&&S(b,ab,R)){let d=ab.rawContent||ab.cleanContent,k=(0,v.zm)(d,b);if((0,v.gv)(j,k))return(0,x.LN)(a,b,c),N.info("duplicate-prompt-skipped",{worktreeId:a,cliToolId:b}),!1;let l=d;"copilot"===b&&(l=(0,s.LH)(d),l=(0,s.Sj)(l,t.Rf,t.ky)),(0,f.clearInProgressMessageId)(h,a,b,i);let m=(0,f.createMessage)(h,{worktreeId:a,role:"assistant",content:l,messageType:"prompt",promptData:ab.promptData,timestamp:new Date,cliToolId:b,instanceId:i});(0,f.updateSessionState)(h,a,b,$.lineCount,i),(0,g.broadcastMessage)("message",{worktreeId:a,message:m}),(0,M.r)(h,a,b,i,"prompt_detected",{promptType:ab.promptData?.type});let n=Date.now(),o=(0,L.Jp)(a,b,c)?.since??n;return(0,H.R)({worktreeId:a,cliToolId:b,instanceId:c,waitingSince:o})||(0,G.J$)({worktreeId:a,worktreeName:e.name,kind:"prompt",agentName:i,instanceId:i,waitingKind:"prompt",waitingSince:o,excerpt:ab.promptData?.question??l}).catch(()=>{}),(0,L.hd)({worktreeId:a,cliToolId:b,instanceId:c,waiting:!0,kind:"prompt",now:n}),_||(0,F.Et)(a,b,c),!0}if(!$.response||""===$.response.trim())return(0,f.updateSessionState)(h,a,b,$.lineCount,i),!1;let ac="claude"===b?(0,m.R)($.response):void 0,ad=$.response;if("gemini"===b)ad=(0,s.IS)($.response);else if("claude"===b)ad=(0,s.NN)($.response);else if("copilot"===b){let a=(0,u.Uz)(j)||$.response;ad=(0,s.LH)(a),ad=(0,s.Sj)(ad,t.Rf,t.ky),(0,u.q1)(j)}else if("opencode"===b){let a=(0,u.Uz)(j),b=$.turnHeadTruncated&&a?a:$.response;ad=(0,s.aW)(b),(0,u.q1)(j)}if(!ad||""===ad.trim()||"[No content]"===ad)return(0,f.updateSessionState)(h,a,b,$.lineCount,i),(0,f.clearInProgressMessageId)(h,a,b,i),!1;if(!aa&&(0,y.j7)(j,ad)){if(N.info("duplicate-response-skipped",{worktreeId:a,cliToolId:b,instanceId:i}),(0,f.updateSessionState)(h,a,b,$.lineCount,i),(0,y.pN)(j)&&await (0,z.captureStructuredHistoryTurn)(a,b,c,{worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null}))return(0,y.oE)(j),W(j),N.info("structured-history-recheck-captured",{worktreeId:a,cliToolId:b,instanceId:i}),!0;return!1}let ae={},af=(0,z.isStructuredHistoryWriterLive)(a,b,c)||await (0,z.captureStructuredHistoryTurn)(a,b,c,{worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null},ae);af?(0,y.oE)(j):(0,y.Pe)(j);let ag=af||w.delegated,ah=!ag&&"not_yet_closed"===ae.outcome;!ad||ag||ah||await (0,k.T)(h,a,ad,b),(0,f.markPendingPromptsAsAnswered)(h,a,b,i,O(a))>0&&N.info("marked-answeredcount-pending");let ai=(0,f.getSessionState)(h,a,i);if(aa&&ai&&$.lineCount<=ai.lastCapturedLine)return N.info("race-condition-detected-skipping-save-re"),!1;if(ah)!function(a,b){let c=V.get(a);if(c){c.content=b.content;return}V.set(a,b)}(j,{worktreeId:a,cliToolId:b,instanceId:i,content:ad,timestamp:new Date,summary:ac?.summary,logFileName:ac?.logFileName,requestId:ac?.requestId,worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null,expiresAt:Date.now()+U}),N.info("structured-history-scrape-held",{worktreeId:a,cliToolId:b,instanceId:i,scrapedLength:ad.length,holdMs:U}),(0,B.vQ)(a,b,i,!1);else if(ag)af&&W(j),N.info("structured-history-scrape-suppressed",{worktreeId:a,cliToolId:b,instanceId:i,scrapedLength:ad.length,reason:af?"structured-history":"geometry-delegated"});else{let c=(0,f.createMessage)(h,{worktreeId:a,role:"assistant",content:ad,messageType:"normal",timestamp:new Date,cliToolId:b,instanceId:i,summary:ac?.summary,logFileName:ac?.logFileName,requestId:ac?.requestId});(0,g.broadcastMessage)("message",{worktreeId:a,message:c}),(0,B.vQ)(a,b,i,!1)}return(0,L.hd)({worktreeId:a,cliToolId:b,instanceId:c,waiting:!1}),(0,G.J$)({worktreeId:a,worktreeName:e.name,kind:"completion",agentName:i,excerpt:ad}).catch(()=>{}),(0,f.updateSessionState)(h,a,b,$.lineCount,i),_&&(0,F.Et)(a,b,c),!0}catch(a){return N.error("response:check-failed",{error:a instanceof Error?a.message:String(a)}),!1}}},5363:(a,b,c)=>{c.d(b,{v7:()=>d.v7,LP:()=>d.LP,pL:()=>d.pL,GE:()=>d.GE,aq:()=>d.aq,kC:()=>d.kC,xU:()=>y,bZ:()=>z,W8:()=>d.W8,W5:()=>F,_i:()=>G,_C:()=>H});var d=c(24455),e=c(31990),f=c(3523),g=c(75498),h=c(91318),i=c(52277),j=c(16402),k=c(52767),l=c(88807),m=c(52660),n=c(63869),o=c(43234),p=c(85164),q=c(77093),r=c(93997),s=c(68901),t=c(72626),u=c(66007);let v=(0,t.h)("auto-yes-poller"),w=globalThis.__autoYesPollerStates??(globalThis.__autoYesPollerStates=new Map);function x(a){return w.get(a)}function y(a){let b=x(a);return b?.lastServerResponseTimestamp??null}function z(a){return w.has(a)}function A(a){let b=x(a);if(b&&(b.consecutiveErrors++,b.currentInterval=(0,d.G)(b.consecutiveErrors),b.consecutiveErrors>=s.ul)){let b=(0,d.Ue)(a),c=(0,d.pL)(a);c&&(0,d.XK)(b,c,"consecutive_errors",(0,d.GE)(a)??void 0),G(a)}}async function B(a,b,c,d){let f=c??s.FW,g=await (0,e.Wh)(a,b,f,d);return{raw:g,clean:(0,p._A)((0,p.aJ)(g))}}async function C(a,b,e,s,t,u,w){let y=(0,d.v7)(a,e,u);try{let A=(0,f.$M)(s,e,t,w);if(!A.isPrompt||!A.promptData)return b.lastAnsweredPromptKey=null,b.lastAnsweredAt=null,"no_prompt";let C=(z=A.promptData,`${z.type}:${z.question}`);if(b.lastAnsweredPromptKey===C&&null!==b.lastAnsweredAt&&Date.now()-b.lastAnsweredAt<d.UL)return"duplicate";let D="codex"===e?(0,p.E6)(s):null;if(D)return(0,i.ZS)(a,e,u,{reason:"agent-launch-dialog",mode:null,promptType:A.promptData.type}),v.warn("poller:auto-yes-skipped-launch-dialog",{worktreeId:a,cliToolId:e,instanceId:u,dialog:D,promptType:A.promptData.type}),"no_answer";let E=(0,j.r_)(e,A.promptData.type,s);if(!E.allowed)return(0,i.ZS)(a,e,u,{reason:"unclassified-frame",mode:null,promptType:A.promptData.type}),v.warn("poller:auto-yes-skipped-unclassified-frame",{worktreeId:a,cliToolId:e,instanceId:u,promptType:A.promptData.type,dialogKind:E.dialog?.kind??null,answerMode:E.dialog?.answerMode??null,gateMode:E.mode}),"no_answer";let F=(0,h.n)(a,e,u),G=(0,g.sD)(A.promptData,F);G.suppressedBy&&((0,i.ZS)(a,e,u,{reason:G.suppressedBy,mode:F?.mode??null,promptType:A.promptData.type,pattern:G.pattern}),v.warn("poller:auto-yes-suppressed-by-policy",{worktreeId:a,cliToolId:e,instanceId:u,reason:G.suppressedBy,mode:F?.mode??null,pattern:G.pattern,promptType:A.promptData.type}));let H=G.answer;if(null===H)return"no_answer";let I=o.CLIToolManager.getInstance().getTool(e).getSessionName(a,u);try{await (0,n.tV)({sessionName:I,answer:H,cliToolId:e,promptData:A.promptData})}finally{(0,r.gm)(I)}var z,B=Date.now();let J=x(y);J&&(J.lastServerResponseTimestamp=B);let K=x(y);K&&(K.consecutiveErrors=0,K.currentInterval=d.ps),b.lastAnsweredPromptKey=C,b.lastAnsweredAt=Date.now(),v.info("poller:response-sent",{worktreeId:a,cliToolId:e,instanceId:u}),(0,k.r)((0,l.getDbInstance)(),a,e,u??e,"prompt_answered_auto",{promptType:A.promptData.type});let L=null;try{L=(0,m.recordAnsweredPrompt)((0,l.getDbInstance)(),{worktreeId:a,cliToolId:e,instanceId:u??e,promptData:A.promptData,answer:H,answeredBy:"auto",content:A.rawContent||A.cleanContent})}catch(b){v.warn("poller:prompt-audit-record-failed",{worktreeId:a,cliToolId:e,instanceId:u,error:(0,q.u1)(b)})}if(L){let b=L;Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:c})=>{c(b.created?"message":"message_updated",{worktreeId:a,message:b.message})}).catch(()=>{})}let[{startPolling:M},{broadcastTerminalSnapshotAfterInteraction:N}]=await Promise.all([c.e(2839).then(c.bind(c,95220)),Promise.resolve().then(c.bind(c,99508))]);return M(a,e,u),N(a,e,u),"responded"}catch{return A(y),v.warn("poller:detect-respond-error",{worktreeId:a,cliToolId:e,instanceId:u}),"error"}}async function D(a,b,c){let e=(0,d.v7)(a,b,c),f=x(e);if("valid"===function(a,b){if(!b)return"stopped";let c=(0,d.Ue)(a),e=(0,d.pL)(a);if(!e)return G(a),"expired";let f=(0,d.GE)(a)??void 0,g=(0,d.aq)(c,e,f);return g?.enabled?"valid":(G(a),"expired")}(e,f)){try{let g=(0,d.aq)(a,b,c),h=g?.stopPattern?s.FW:s.Ke,{raw:i,clean:j}=await B(a,b,h,c),k=j.split("\n");if(function(a,b,c){if(b.stopCheckBaselineLength<0)return b.stopCheckBaselineLength=c.length,!1;let e=b.stopCheckBaselineLength;if(c.length>e){let f=c.substring(e);return b.stopCheckBaselineLength=c.length,(0,d.Cs)(a,f,G)}return c.length<e&&(b.stopCheckBaselineLength=c.length),!1}(e,f,j))return;let l=await C(a,f,b,j,k,c,i);if("responded"===l)return void E(a,b,c,d.ZO);if("no_prompt"===l){let e=k.slice(-d.Re).join("\n");if((0,p.ut)(b,e))return void E(a,b,c,s.QN)}}catch(d){A(e),v.warn("poller:poll-error",{worktreeId:a,cliToolId:b,instanceId:c,error:(0,q.u1)(d)})}E(a,b,c)}}function E(a,b,c,e){let f=x((0,d.v7)(a,b,c));if(!f)return;let g=Math.max(e??f.currentInterval,d.ps);f.timerId=setTimeout(()=>{D(a,b,c)},g)}function F(a,b,c){if(!(0,u.h6)(a))return{started:!1,reason:"invalid worktree ID"};let e=c??b,f=(0,d.aq)(a,b,e);if(!f?.enabled)return{started:!1,reason:"auto-yes not enabled"};let g=(0,d.v7)(a,b,e),i=x(g);if(!i&&w.size>=d.fC)return{started:!1,reason:"max concurrent pollers reached"};if(i&&i.cliToolId===b)return{started:!0,reason:"already_running"};i&&G(g);let j={timerId:null,cliToolId:b,instanceId:e,consecutiveErrors:0,currentInterval:d.ps,lastServerResponseTimestamp:null,lastAnsweredPromptKey:null,lastAnsweredAt:null,stopCheckBaselineLength:-1};return w.set(g,j),(0,h.ie)(g),j.timerId=setTimeout(()=>{D(a,b,e)},d.ps),v.info("poller:started",{worktreeId:a,cliToolId:b,instanceId:e}),{started:!0}}function G(a){let b=x(a);b&&(b.timerId&&clearTimeout(b.timerId),w.delete(a),(0,h.ie)(a),v.info("poller:stopped",{compositeKey:a}))}function H(a){(0,d._9)(Array.from(w.keys()),a).forEach(a=>G(a))}},8988:(a,b,c)=>{c.d(b,{R:()=>g});let d=/📄 Session log: (.+?\/([^\/\s]+\.jsonl))/,e=/Request ID: ([^\s\n]+)/,f=/Summary: (.+?)(?:\n─|$)/s;function g(a){let b={content:a},c=d.exec(a);c&&(b.logFileName=c[2],b.logFilePath=c[1]);let g=e.exec(a);g&&(b.requestId=g[1]);let h=f.exec(a);return h&&(b.summary=h[1].trim()),b}},9516:(a,b,c)=>{c.d(b,{Hu:()=>i,Ll:()=>j});let d=["type something","chat about this"],e=/^\s*\[[ xX]\]\s*/,f=/(?:…|\.\.\.)\s*$/,g=new Set(["yes","y","no","n"]);function h(a){return a.replace(e,"").replace(f,"").replace(/\s+/g," ").trim().toLowerCase()}function i(a,b){if("multiple_choice"!==a.type)return null;let c=function(a,b){let c=h(b);if(""===c)return null;let d=a.questions.map((a,b)=>({entry:a,index:b})).filter(({entry:a})=>(function(a,b){let[c,d]=a.length<=b.length?[a,b]:[b,a];return c.length<8?c===d:d.includes(c)})(h(a.question),c));return 1===d.length?d[0]:null}(b,a.question);if(null===c)return null;let{entry:f,index:g}=c,i=new Map(a.options.map(a=>[a.number,a])),j=[];for(let[a,b]of f.choices.entries()){var k;let c=a+1,d=i.get(c);if(!d||!function(a,b){if(""===a||""===b)return!1;if(a===b)return!0;let[c,d]=a.length<=b.length?[a,b]:[b,a];return!(c.length<8)&&d.startsWith(c)}(h(d.label),h(b.label)))return null;j.push({...d,label:`${(k=d.label,e.exec(k)?.[0]??"")}${b.label}`,...b.description?{description:b.description}:{}})}let l=[];for(let b of a.options)!(b.number<=f.choices.length)&&function(a){let b=h(a);return d.some(a=>b===a||b.startsWith(a))}(b.label)&&(j.push(b),l.push(b.number));return j.sort((a,b)=>a.number-b.number),{...a,question:f.question,options:j,isAskUserQuestion:!0,askUserQuestion:{...f.header?{header:f.header}:{},multiSelect:f.multiSelect,questionIndex:g,questionCount:b.questions.length,metaOptionNumbers:l}}}function j(a,b){let c=b.trim();if(/^\d+$/.test(c)){let b=Number.parseInt(c,10);return a.options.some(a=>a.number===b)?{ok:!0,input:String(b)}:{ok:!1,reason:"answer_out_of_range",message:"The option number is outside the range this prompt offers. Use `commandmate capture <worktree-id> --json` to list the current options."}}let d=function(a,b){let c=h(b);if(""===c)return[];let d=a.filter(a=>h(a.label)===c);return d.length>0?d:c.length<2?[]:a.filter(a=>h(a.label).startsWith(c))}(a.options,c);if(1===d.length){let[a]=d;return{ok:!0,input:String(a.number),resolved:{via:"semantic",optionNumber:a.number,optionLabel:a.label}}}return d.length>1?{ok:!1,reason:"unresolvable_answer",message:"The answer matches more than one option label. Answer with an option number."}:a.options.some(a=>!0===a.requiresTextInput)&&!g.has(c.toLowerCase())?{ok:!0,input:b}:{ok:!1,reason:"unresolvable_answer",message:"No option label matches the answer. Answer with an option number (yes/no is not resolved on a numbered picker — Issue #1681)."}}},15388:(a,b,c)=>{c.d(b,{RJ:()=>f,SQ:()=>g});var d=c(24455);let e=globalThis.__toolInputNormalizations??(globalThis.__toolInputNormalizations=new Map);function f(a,b,c,g,h,i=Date.now()){e.set((0,d.v7)(a,b,c),{...g,toolName:h,at:i})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??null}},16402:(a,b,c)=>{c.d(b,{b1:()=>l,bj:()=>k,r_:()=>h,vm:()=>j});var d=c(74258),e=c(82743);let f=["enforce","legacy"],g={claude:"enforce",codex:"enforce",copilot:"enforce",opencode:"enforce",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy"};function h(a,b,c,d=process.env){let e=i(a,b,c,function(a,b=process.env){let c=b.CM_AUTOYES_DIALOG_GATE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,g]=b.split("=");if(void 0===g)continue;let h=c.trim(),i=g.trim();f.includes(i)&&("*"===h?d=i:h===a&&(e=i))}return e??d??g[a]??"legacy"}(a,d));return{allowed:!e.gated||null!==e.dialog&&"numbered"===e.dialog.answerMode,dialog:e.dialog,mode:e.mode,gated:e.gated}}function i(a,b,c,f){let g=(0,e.bN)(a);if("multiple_choice"!==b||!g.hasDialogRules||"legacy"===f)return{present:!0,dialog:null,mode:f,gated:!1};let h=g.detectDialog((0,d.z)(c));return{present:null!==h,dialog:h,mode:f,gated:!0}}function j(a,b,c){return i(a,b,c,g[a]??"legacy")}let k="unsupported_dialog_layout";function l(a,b){if(a.isPrompt&&b.present)return null;let c=a.promptData;return a.isPrompt&&b.gated&&c?.type==="multiple_choice"&&!0===c.isAskUserQuestion?{reason:k,message:"An AskUserQuestion picker is on screen, but its layout could not be verified as one of the agent's dialogs, so no key was sent. Answer it in the terminal, or retry once the screen has settled."}:{reason:"prompt_no_longer_active"}}},18778:(a,b,c)=>{c.d(b,{T:()=>g});var d=c(56791),e=c(41364);let f=(0,c(72626).h)("conversation-logger");async function g(a,b,c,h="claude"){let i=(0,d.getLastUserMessage)(a,b);if(i)try{await (0,e.hM)(b,i.content,c,h)}catch(a){f.error("conversation:log-failed",{error:a instanceof Error?a.message:String(a)})}}},21684:(a,b,c)=>{c.d(b,{U:()=>h});var d=c(33873),e=c.n(d),f=c(87447),g=c(8004);function h(){let a=e().join(process.cwd(),"data","logs");return(0,g.T)((0,f._p)("CM_LOG_DIR"),a,"CM_LOG_DIR")}},22642:(a,b,c)=>{c.d(b,{$v:()=>S,emitChatTurnProgress:()=>Z});var d=c(56791),e=c(52660);let f=globalThis.__unclassifiedFrameRuns??(globalThis.__unclassifiedFrameRuns=new Map);var g=c(94154),h=c(63209),i=c(51297),j=c(76777),k=c(50524);let l=/^([^\S\n]*)╹(▀{4,})/,m=/^([^\S\n]*)[│┃]/;var n=c(54325),o=c(81254),p=c(72626),q=c(43234),r=c(15194),s=c(129),t=c(66101),u=c(53163),v=c(17287),w=c(15388),x=c(3161),y=c(49154),z=c(62171),A=c(97751),B=c(31990),C=c(95595),D=c(5363),E=c(52277),F=c(44321),G=c(34405),H=c(93997);function I(a){return""===(0,i.aJ)(a).trim()}var J=c(48083),K=c(30008),L=c(24581),M=c(40043),N=c(9516),O=c(36051);let P=(0,p.h)("current-output-builder");function Q(a,b){Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:c})=>{c("message",{worktreeId:a,message:b})}).catch(b=>{P.warn("history-row-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})})}function R(a,b,c){return!!a.thinking&&null!==b&&"ready"===b.status&&null!==c&&"stop"===c.closedBy&&null!==c.closedAt}async function S(a,b,c,d,e){let f=await T(a,b,c,d);return(f.isRunning&&"running"===f.sessionStatus&&await $(a,b,c,d),e)?{...f,resolvedBy:e.resolvedBy,conflict:e.conflict??null}:f}async function T(a,b,c,n){let p=n??c,S=q.CLIToolManager.getInstance().getTool(c),T=(0,J.getLastStopEventAt)(b,c,n),U=(0,J.getLastAgentEvent)(b,c,n),V=(0,s.VM)(c),W=Date.now(),X=(0,J.getPendingDecisions)(b,c,n,W),Y=(0,J.getAskUserQuestion)(b,c,n,W),Z=(0,x.Jl)(b,c,n),$={lastEventType:U?.event??null,lastEventAt:U?.at??null,lastEventDetail:U?.detail??null,...(0,J.getPublishedAgentTurn)(b,c,n,W),pendingDecisions:X.map(a=>{let b=(0,y.Wk)(a.toolName);return{id:a.decisionId,at:a.at,source:a.source,toolName:a.toolName,confirmedAt:a.confirmedAt,scraperCorroborated:a.scraperCorroborated,deliveryExpired:(0,L.qX)(a,V.capabilities.decisionTimeoutSeconds,W),kind:b,questionOptions:"question"===b&&Y?(0,A.dZ)(Y.spec).map(a=>({number:a.number,label:a.label})):null}}),dedupDropped:(0,J.getAgentEventDropCounts)(b,c,n),dialogPendingMaxMs:{...L.h_},promptWaitingSince:null,promptWaitingSource:null,toolInputNormalization:(0,w.SQ)(b,c,n),permissionDecision:(0,v.CD)(b,c,n),source:{cliToolId:V.cliToolId,capabilities:V.capabilities,...(0,t.Kf)(V,V.liveness({worktreeId:b,cliToolId:c,instanceId:p}),W),probedActivity:(0,u.hS)({worktreeId:b,cliToolId:c,instanceId:p})},session:Z,sessionContext:(0,x.sc)({worktreeId:b,cliToolId:c,instanceId:n},Z),sessionDiff:(0,z.rn)({worktreeId:b,cliToolId:c,instanceId:n})};if(!await S.isRunning(b,n))return(0,M.xG)((0,D.v7)(b,c,n)),{isRunning:!1,content:"",lineCount:0,cliToolId:c,sessionStatus:"idle",sessionStatusReason:"session_not_running",statusEvidence:"positive",lastKnownStatus:null,lastKnownStatusAt:null,lastStopEventAt:T,structuredEvents:$,model:null,reasoningEffort:null,promptDedup:(0,F.XH)(b,c,n),upstreamFault:null,paneObstruction:null,composerText:null,composerState:"no_composer"};let _=(0,d.getSessionState)(a,b,p),aa=_?.lastCapturedLine||0,ab=await (0,B.Wh)(b,c,G._,n),ac=ab.split("\n"),ad=ac.length,ae=(0,H.sl)(ad,Math.min(G._,H.xE)),af=((0,r.qR)(c,ae)?ac.slice(Math.max(0,aa)):ac).join("\n"),ag=(0,D.v7)(b,c,n),ah=(0,D.xU)(ag),ai=ah?new Date(ah):void 0,aj=(0,C.WC)(ab,c,ai),ak=(0,C.f8)(aj),al=aj.hasActivePrompt,am="waiting"===aj.status&&C.ug.has(aj.reason),an=aj.reason===C.gv.CODEX_PAGER,ao="waiting"===aj.status&&aj.reason===C.gv.COMMAND_CODE_DISMISSABLE_PANEL,ap=aj.evidence,aq=(0,M.Q4)(aj.status,aj.reason);(0,J.observeScraperCompletionEvidence)(b,c,n,"ready"===aj.status&&"positive"===ap);let ar=(0,J.getStructuredSessionState)(b,c,n),as=(0,K._G)({worktreeId:b,cliToolId:c,instanceId:n,scraper:{status:aj.status,reason:aj.reason,hasActivePrompt:al}}),at=as.structured;null!==at&&($.promptWaitingSince=at.at,$.promptWaitingSource=at.source);let au={status:aj.status,reason:aj.reason,thinking:ak,evidence:ap,isUnclassifiedActive:aq},av=R(au,ar,$)?function(a,b,c,d){try{let f=(0,e.getLastUserMessageForInstance)(a,b,c,d);if(!f)return null;let g=f.timestamp instanceof Date?f.timestamp.getTime():NaN;return Number.isFinite(g)?g:null}catch(a){return P.debug("newest-prompt-read-failed",{worktreeId:b,cliToolId:c,instanceId:d,error:a instanceof Error?a.message:String(a)}),null}}(a,b,c,p):null,aw=function(a,b,c=null,d=null,e=null){if("waiting"===a.status)return{...a,structuredApplied:!1};if(null!==c)return{status:"waiting",reason:(0,K.rB)(c),thinking:!1,evidence:a.evidence,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0};if(null===b||"waiting"===b.status||function(a,b,c,d){if(null===d||!R(a,b,c))return!1;let e=c?.closedAt??null;return null!==e&&e<d}(a,b,d,e))return{...a,structuredApplied:!1};let f="running"===b.status,g="ready"===b.status&&function(a){if(null===a)return!1;let{closedBy:b,closedAt:c,openedAt:d}=a;return"stop"===b&&null!==c&&null!==d&&c>d}(d)?"positive":a.evidence;return{status:b.status,reason:b.reason,thinking:f,evidence:g,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0}}(au,ar,at,$,av),ax=as.waiting,ay=aj.promptDetection.promptData,az=ay&&Y?(0,N.Hu)(ay,Y.spec):null,aA=null!==at&&"notification"===at.source&&"permission-id"===V.capabilities.eventIdentity&&(0,O.PP)(at.decisionId)?at.decisionId:null,aB=null!==at&&"question"===(0,y.Wk)(at.toolName),aC=null===aA||aB?null:O.QB,aD=null===at?null:{...at,askUserQuestion:function(a){let b=a?.spec.questions[0];return b?{question:b.question,labels:b.choices.map(a=>a.label),questionCount:a.spec.questions.length}:null}(Y),decisionOptions:aC,decisionId:aA,patterns:null!==aC?at.patterns:null},aE=al?az??ay??(aD?(0,O.Yo)(b,aD):null):aD?(0,O.Yo)(b,aD):null;null!==ar&&ar.status!==aj.status&&P.info("detection-divergence",{worktreeId:b,cliToolId:c,instanceId:p,scraperStatus:aj.status,scraperReason:aj.reason,structuredStatus:ar.status,structuredReason:ar.reason,structuredEvent:ar.event,structuredEventAt:ar.at,applied:aw.structuredApplied});let aF=(function(a){let b=a.slice(-100);if(b.some(a=>!I(a)))return b;let c=a.length-1;for(;c>=0&&I(a[c]);)c-=1;return c<0?b:a.slice(Math.max(0,c+1-100),c+1)})(ac).join("\n"),aG="opencode"===c?function(a){let b=(0,i.aJ)(a).split("\n"),c=-1,d=-1,e=-1;for(let a=0;a<b.length;a++){let f=l.exec(b[a]);f&&(c=a,e=(d=f[1].length)+1+f[2].length)}if(-1===c)return null;let f=0,g="";for(let a=0;a<b.length;a++){let h=b[a];if(a!==c){let a=m.exec(h);if(!a||a[1].length!==d)continue}let i=h.slice((0,k.sh)(h,e)).trim();""!==i&&(f+=1,""===g&&(g=(0,j.D)(i,200,"…[truncated]")))}return f<2?null:{id:"opencode_sidebar",matchedText:g,boxRight:e,rows:f}}(aF):null,aH=function(a,b,c=Date.now()){for(let[a,b]of f)c-b.lastSeen>36e5&&f.delete(a);if(!b)return f.delete(a),{dwellMs:0,shouldRecord:!1};let d=f.get(a);if(!d)return f.set(a,{since:c,lastSeen:c,recorded:!1}),{dwellMs:0,shouldRecord:!1};d.lastSeen=c;let e=Math.max(0,c-d.since);return d.recorded||e<6e4?{dwellMs:e,shouldRecord:!1}:(d.recorded=!0,{dwellMs:e,shouldRecord:!0})}(ag,aw.isUnclassifiedActive);if(aH.shouldRecord&&function(a,b){var c;let e=Math.round(b.dwellMs/1e3),f=`${b.sessionStatus}/${b.sessionStatusReason}`,g=`Unclassified interactive frame (${f}) held for ${e}s. The detection layer could not parse it, so no prompt was published and nothing could answer it. Inspect the raw pane with \`commandmate capture ${b.worktreeId} --pane\`.`+((c=b.obstruction)?` Cause: opencode's sidebar is sharing rows with the transcript (paneObstruction=${c.id}, second column reads ${JSON.stringify(c.matchedText)}), which covers the marker that ends a turn. Press \`ctrl+x b\` in the pane to close it.`:""),h={type:o.LT,status:"unclassified",question:g,options:[],dwellSeconds:e,sessionStatusReason:f};try{let c=(0,d.createMessage)(a,{worktreeId:b.worktreeId,role:"assistant",content:g,messageType:"prompt",promptData:h,timestamp:new Date,cliToolId:b.cliToolId,instanceId:b.instanceId});P.info("unclassified-frame-recorded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,dwellSeconds:e,statusReason:f}),Q(b.worktreeId,c)}catch(a){P.warn("unclassified-frame-record-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)})}}(a,{worktreeId:b,cliToolId:c,instanceId:p,dwellMs:aH.dwellMs,sessionStatus:aw.status,sessionStatusReason:aw.reason,obstruction:aG}),null!==at&&null!==aD&&!al&&!at.recorded){(0,J.markStructuredPromptRecorded)(b,c,n);var aI=b,aJ=c,aK=p,aL=at,aM=aD;let e=(0,O.fO)(aI,aM);try{let b=(0,d.createMessage)(a,{worktreeId:aI,role:"assistant",content:e.question,summary:`structured prompt \xb7 source=${aL.source}${aL.toolName?` \xb7 tool=${aL.toolName}`:""}`,messageType:"prompt",promptData:e,timestamp:new Date,cliToolId:aJ,instanceId:aK});P.info("structured-prompt-recorded",{worktreeId:aI,cliToolId:aJ,instanceId:aK,source:aL.source,toolName:aL.toolName}),Q(aI,b)}catch(a){P.warn("structured-prompt-record-failed",{worktreeId:aI,error:a instanceof Error?a.message:String(a)})}}let aN=(0,g.ji)(ab,c),aO=(0,h.bT)(aF),aP=(0,D.aq)(b,c,n),{model:aQ,effort:aR}=(0,J.getResolvedAgentModelInfo)(b,c,n);(0,M.ox)(ag,{status:aw.status,reason:aw.reason,evidence:aw.evidence});let aS=(0,M.AD)(ag);return{isRunning:!0,cliToolId:c,sessionStatus:aw.status,sessionStatusReason:aw.reason,content:af,fullOutput:ab,realtimeSnippet:aF,lineCount:ad,lastCapturedLine:aa,isComplete:ax,isGenerating:aw.thinking,thinking:aw.thinking,thinkingMessage:aw.thinking?`${(0,r.oo)(c)} is thinking...`:null,isPromptWaiting:ax,promptData:aE,autoYes:{enabled:aP?.enabled??!1,expiresAt:aP?.enabled?aP.expiresAt:null,stopReason:aP?.stopReason,lastSuppression:(0,E.gb)(b,c,n),stopMatchedText:aP?.stopMatchedText},isSelectionListActive:am,isPagerActive:an,isDismissablePanelActive:ao,isUnclassifiedActive:aw.isUnclassifiedActive,statusEvidence:aw.evidence,lastKnownStatus:aS?.status??null,lastKnownStatusAt:aS?.at??null,lastServerResponseTimestamp:ah,serverPollerActive:(0,D.bZ)(ag),lastStopEventAt:T,structuredEvents:$,model:aQ,reasoningEffort:aR,promptDedup:(0,F.XH)(b,c,n),upstreamFault:aO?{id:aO.fault.id,matchedText:aO.matchedText,at:Date.now()}:null,paneObstruction:aG?{id:aG.id,matchedText:aG.matchedText,at:Date.now()}:null,composerText:"content"===aN.state?aN.text:null,composerState:aN.state}}function U(){return{version:0,askedAt:-1/0,turnKey:null,body:null,loggedOutcome:null,loggedTurnKey:null}}let V=globalThis.__chatTurnProgressState??=new Map;function W(a){return`${a.worktreeId}:${a.cliToolId}:${a.instanceId??a.cliToolId}`}function X(a,b,c,d={}){let e=W(a),f=V.get(e)??U();V.set(e,f),(f.loggedOutcome!==b||f.loggedTurnKey!==c)&&(f.loggedOutcome=b,f.loggedTurnKey=c,P.info("published"===b?"chat-turn-progress-published":"no-subscribers"===b?"chat-turn-progress-no-subscribers":"chat-turn-progress-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,turnKey:c,...d}))}async function Y(a,b,c=Date.now()){let d,e=W(a),f=V.get(e)??U();if(c-f.askedAt<n.r9)return null;f.askedAt=c,V.set(e,f);try{d=await b()}catch{return null}if(!d||0===d.body.length)return null;let g=(0,n.rx)(d.body);return d.turnKey===f.turnKey&&g.body===f.body?null:(f.turnKey=d.turnKey,f.body=g.body,f.version+=1,{type:n.rz,worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,turnKey:d.turnKey,body:g.body,partial:g.truncated||!0===d.partial,version:f.version,done:!1})}async function Z(a,b,d=Date.now()){try{let{broadcast:e,hasRoomSubscribers:f}=await Promise.resolve().then(c.bind(c,43015));if(!f(a.worktreeId))return X(a,"no-subscribers",null),!1;let g=await Y(a,b,d);if(!g)return!1;return e(a.worktreeId,g),X(a,"published",g.turnKey,{version:g.version,bodyLength:g.body.length,partial:g.partial}),!0}catch(b){return X(a,"failed",null,{error:b instanceof Error?b.message:String(b)}),!1}}async function $(a,b,d,e){if("claude"!==d)return;let f={worktreeId:b,cliToolId:d,instanceId:e};try{let{getWorktreeById:g}=await Promise.resolve().then(c.bind(c,73753)),h=g(a,b)?.path;if(!h)return;let{hasRoomSubscribers:i}=await Promise.resolve().then(c.bind(c,43015));if(!i(b))return void X(f,"no-subscribers",null);Z(f,async()=>{let{readClaudeTurnProgress:a}=await Promise.resolve().then(c.bind(c,79696));return a({worktreeId:b,cliToolId:d,instanceId:e??d},{worktreePath:h})})}catch(a){X(f,"failed",null,{error:a instanceof Error?a.message:String(a)})}}},40043:(a,b,c)=>{c.d(b,{AD:()=>k,Q4:()=>g,ox:()=>j,xG:()=>l});var d=c(37717),e=c(48083);let f=new Set([d.g.NO_RECENT_OUTPUT,d.g.UNKNOWN_FRAME,d.g.DEFAULT]);function g(a,b){return"running"===a&&f.has(b)}let h=e.STRUCTURED_STATE_MAX_AGE_MS,i=globalThis.__lastKnownStatusByKey??(globalThis.__lastKnownStatusByKey=new Map);function j(a,b,c=Date.now()){for(let[a,b]of i)c-b.at>=h&&i.delete(a);for(;i.size>512;){let a=i.keys().next();if(a.done)break;i.delete(a.value)}"positive"===b.evidence&&(i.delete(a),i.set(a,{status:b.status,reason:b.reason,at:c}))}function k(a,b=Date.now()){let c=i.get(a);return void 0===c?null:b-c.at>=h?(i.delete(a),null):c}function l(a){i.delete(a)}},41364:(a,b,c)=>{c.d(b,{Gv:()=>o,hM:()=>n});var d=c(79748),e=c.n(d),f=c(33873),g=c.n(f),h=c(1634),i=c(21684),j=c(72626),k=c(15194);function l(a="claude"){return g().join((0,i.U)(),a)}async function m(a="claude"){let b=l(a);try{await e().access(b)}catch{await e().mkdir(b,{recursive:!0})}}async function n(a,b,c,d="claude"){await m(d);let f=function(a,b="claude"){let c=(0,h.GP)(new Date,"yyyy-MM-dd"),d=`${a}-${c}.md`,e=l(b);return g().join(e,d)}(a,d),i=(0,h.GP)(new Date,"yyyy-MM-dd HH:mm:ss"),j="";try{j=await e().readFile(f,"utf-8")}catch{let b=(0,k.hR)(d)?k.ef[d]:d;j=`# ${b} Conversation Log: ${a}
|
|
2
2
|
|
|
3
3
|
Created: ${i}
|
|
4
4
|
|
|
@@ -16,10 +16,10 @@ Created: ${i}
|
|
|
16
16
|
|
|
17
17
|
`,j+=`---
|
|
18
18
|
|
|
19
|
-
`,await e().writeFile(f,j,"utf-8"),f}async function o(a,b="all"){let c="all"===b?[...k.XH]:[b],d=[];for(let b of c){await m(b);let c=l(b);try{let b=(await e().readdir(c)).filter(b=>b.startsWith(`${a}-`)&&b.endsWith(".md")).map(a=>g().join(c,a));d.push(...b)}catch{}}return d.sort().reverse()}(0,j.h)("log-manager")},44321:(a,b,c)=>{c.d(b,{LN:()=>f,XH:()=>g,fL:()=>h});var d=c(24455);let e=globalThis.__promptDedupSkips??(globalThis.__promptDedupSkips=new Map);function f(a,b,c,g=Date.now()){let h=(0,d.v7)(a,b,c),i=e.get(h);e.set(h,{skippedCount:(i?.skippedCount??0)+1,lastSkippedAt:g})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??{skippedCount:0,lastSkippedAt:null}}function h(a,b,c,f){if(a===b)return;let g=(0,d.v7)(a,c,f),h=e.get(g);e.delete(g),void 0!==h&&e.set((0,d.v7)(b,c,f),h)}},45146:(a,b,c)=>{c.d(b,{Et:()=>y,KQ:()=>A,MN:()=>q,SI:()=>m,fq:()=>z,g8:()=>s,sR:()=>C});var d=c(84297),e=c(72626),f=c(13033),g=c(72457),h=c(71080),i=c(44321),j=c(3523),k=c(99508);let l=(0,e.h)("response-poller"),m=["Waiting for auth","⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],n=globalThis.__responsePollerCoordinator??(globalThis.__responsePollerCoordinator={activePollers:new Map,pollingStartTimes:new Map,owners:new Map,running:new Map,pendingRestart:new Map,ownerStorage:new d.AsyncLocalStorage,generationCounter:0,pausedOnPrompt:new Set});n.pausedOnPrompt??=new Set;let o=n.activePollers,p=n.pollingStartTimes;function q(a,b,c){return`${a}:${c??b}`}function r(a){return"opencode"===a||"copilot"===a}function s(a,b,c){let d=q(a,b,c),e={worktreeId:a,cliToolId:b,instanceId:c},f=n.running.get(d);if(f){if(f.owner.superseded=!0,Date.now()-f.since<6e4)return void n.pendingRestart.set(d,e);l.warn("poller:restart-past-stalled-tick",{pollerKey:d,generation:f.owner.generation,runningForMs:Date.now()-f.since}),n.running.delete(d)}t(d,e)}function t(a,b){let c=n.pausedOnPrompt.has(a);x(a,{resume:c}),c&&l.info("poller:resumed-after-prompt",{pollerKey:a}),function(a){let b=q(a.worktreeId,a.cliToolId,a.instanceId);n.pollingStartTimes.set(b,Date.now()),r(a.cliToolId)&&(0,f.tb)(b),u(a.worktreeId,a.cliToolId,a.instanceId)}(b)}function u(a,b,c){let d=q(a,b,c);v({worktreeId:a,cliToolId:b,instanceId:c},function(a){let b=n.owners.get(a);b&&(b.superseded=!0);let c={pollerKey:a,generation:++n.generationCounter,superseded:!1,stopped:!1,selfStopped:!1};return n.owners.set(a,c),c}(d))}function v(a,b){let c=setTimeout(()=>{w(a,b)},2e3);n.activePollers.set(b.pollerKey,c)}async function w(a,b){let c=b.pollerKey;if(!b.superseded&&!b.stopped){n.running.set(c,{owner:b,since:Date.now()});try{let d=n.pollingStartTimes.get(c);if(d&&Date.now()-d>18e5)return void x(c);let e=!1;try{e=await n.ownerStorage.run(b,()=>(0,j.zX)(a.worktreeId,a.cliToolId,a.instanceId))}catch(a){l.error("error:",{error:a instanceof Error?a.message:String(a)})}b.selfStopped&&function(a,b,c){if(c&&!r(b.cliToolId)){n.pausedOnPrompt.add(a.pollerKey),l.info("poller:paused-on-prompt",{pollerKey:a.pollerKey,generation:a.generation});return}(0,h.L1)(a.pollerKey)}(b,a,e),b.superseded||(0,k.broadcastTerminalSnapshot)(a.worktreeId,a.cliToolId,a.instanceId),b.superseded||b.stopped||v(a,b)}finally{n.running.get(c)?.owner===b&&n.running.delete(c);let a=n.pendingRestart.get(c);a&&(n.pendingRestart.delete(c),t(c,a))}}}function x(a,b={}){let c=n.ownerStorage.getStore();if(c&&c.pollerKey===a&&(c.superseded||c.stopped))return void l.info("poller:stale-stop-ignored",{pollerKey:a,generation:c.generation});b.resume||(0,j.Tq)(a,"poller-stopped");let d=n.owners.get(a),e=void 0!==d&&c===d;d&&(d.stopped=!0,d.selfStopped=e,n.owners.delete(a)),n.pendingRestart.delete(a),n.pausedOnPrompt.delete(a);let i=n.activePollers.get(a);i&&(clearTimeout(i),n.activePollers.delete(a),n.pollingStartTimes.delete(a)),(0,f.q1)(a),(0,g.iX)(a),e||b.resume||(0,h.L1)(a)}function y(a,b,c){x(q(a,b,c))}function z(){for(let a of new Set([...Array.from(n.activePollers.keys()),...Array.from(n.owners.keys()),...Array.from(n.pausedOnPrompt)]))x(a);n.pendingRestart.clear(),n.pausedOnPrompt.clear()}function A(){return Array.from(n.activePollers.keys())}function B(a){let b=a.indexOf(":");return b<=0||b===a.length-1?null:{worktreeId:a.slice(0,b),instanceId:a.slice(b+1)}}function C(a,b){let c=new Map;for(let{oldId:b,newId:d}of a)b&&d&&b!==d&&c.set(b,d);if(0===c.size)return[];let d=[],e=[];for(let a of Array.from(o.keys())){let f=B(a);if(!f)continue;let g=c.get(f.worktreeId);if(!g)continue;let h=b(f.worktreeId,f.instanceId);if(!h){e.push(a);continue}d.push({oldKey:a,newKey:q(g,h,f.instanceId),newWorktreeId:g,cliToolId:h,instanceId:f.instanceId})}let j=new Map;for(let a of d){let b=o.get(a.oldKey);b&&clearTimeout(b),o.delete(a.oldKey);let c=n.owners.get(a.oldKey);c&&(c.superseded=!0,c.stopped=!0,n.owners.delete(a.oldKey)),n.pendingRestart.delete(a.oldKey),j.set(a.newKey,{startedAt:p.get(a.oldKey)}),p.delete(a.oldKey),(0,g.i2)(a.oldKey,a.newKey),(0,h.Re)(a.oldKey,a.newKey);let d=B(a.oldKey);d&&(0,i.fL)(d.worktreeId,a.newWorktreeId,a.cliToolId,a.instanceId),(0,f.q1)(a.oldKey)}for(let a of e)x(a),l.warn("poller:migrate-abandoned",{pollerKey:a});for(let a of d){let b=j.get(a.newKey)?.startedAt;p.set(a.newKey,b??Date.now()),r(a.cliToolId)&&(0,f.tb)(a.newKey),u(a.newWorktreeId,a.cliToolId,a.instanceId)}let k=[];for(let a of Array.from(n.pausedOnPrompt)){let b=B(a);if(!b)continue;let d=c.get(b.worktreeId);d&&k.push({oldKey:a,newKey:`${d}:${b.instanceId}`})}for(let a of k)n.pausedOnPrompt.delete(a.oldKey);for(let a of k)(0,h.Re)(a.oldKey,a.newKey),n.pausedOnPrompt.add(a.newKey);return d}},50779:(a,b,c)=>{c.d(b,{GT:()=>m});var d=c(88807),e=c(43167),f=c(73753),g=c(72626),h=c(57836),i=c(4806),j=c(61191),k=c(27519);let l=(0,g.h)("push/resolution");async function m(a){let{worktreeId:b,agentName:c,at:g=Date.now()}=a,m=function(a,b=Date.now()){let c;if(!(0,k.lU)())return{send:!1,reason:"push-unconfigured"};if(!(0,i.r0)(a,b))return{send:!1,reason:"no-card"};if((0,h.Te)(a))return{send:!1,reason:"still-waiting"};try{c=(0,e.rC)((0,d.getDbInstance)(),"prompt")}catch{return{send:!1,reason:"single-device",deviceCount:0}}return c<2?{send:!1,reason:"single-device",deviceCount:c}:{send:!0,reason:"cross-device-clear",deviceCount:c}}(b,g),n={worktreeId:b,instanceId:c,reason:m.reason,...void 0!==m.deviceCount?{deviceCount:m.deviceCount}:{}};if("still-waiting"!==m.reason&&(0,i._P)(b),!m.send)return void("single-device"===m.reason?l.info("resolution-push-skipped",n):l.debug("resolution-push-skipped",n));try{await (0,j.notifyPushSubscribers)({worktreeId:b,worktreeName:function(a){try{return(0,f.getWorktreeById)((0,d.getDbInstance)(),a)?.name??a}catch{return a}}(b),kind:"prompt",agentName:c,resolved:!0},g),l.info("resolution-push-sent",n)}catch(a){l.warn("resolution-push-failed",{...n,error:a instanceof Error?a.message:String(a)})}}},52277:(a,b,c)=>{c.d(b,{ZS:()=>f,gb:()=>g});var d=c(24455);let e=globalThis.__autoYesPolicySuppressions??(globalThis.__autoYesPolicySuppressions=new Map);function f(a,b,c,g,h=Date.now()){e.set((0,d.v7)(a,b,c),{...g,at:h})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??null}},63209:(a,b,c)=>{c.d(b,{bT:()=>g});var d=c(51297),e=c(76777);let f=[{id:"overloaded",pattern:/\b5\d{2}\s+Overloaded\b/i,selfRetrying:!0},{id:"retrying",pattern:/Retrying in \d+s\s*[·•]\s*attempt \d+\/\d+/i,selfRetrying:!0},{id:"limit-reached",pattern:/\blimit reached\b/i,selfRetrying:!1},{id:"api-error",pattern:/\bAPI Error(?::|\s+\d{3})/i,selfRetrying:!1}];function g(a){let b=(0,d.aJ)(a);for(let a of f){var c;let d=a.pattern.exec(b);if(!d)continue;let f=b.lastIndexOf("\n",d.index)+1,g=b.indexOf("\n",d.index);return{fault:a,matchedText:(c=b.slice(f,-1===g?void 0:g).trim()||d[0],(0,e.D)(c,200,"…[truncated]"))}}return null}},63869:(a,b,c)=>{c.d(b,{It:()=>p,Pw:()=>m,if:()=>o,tV:()=>t});var d=c(79892),e=c(74258),f=c(82743),g=c(69119),h=c(81254),i=c(93997),j=c(20610);let k=/^\[[ x]\] /,l="answer_mode_keys";class m extends Error{constructor(a,b,c){super(`Refused to send "${b}" to ${a}: its ${c.kind} dialog takes '${c.answerMode}' input, not a typed number (${l}). The digit would be swallowed and the Enter after it would confirm whatever is highlighted. Nothing was sent.`),this.name="PromptAnswerRejectedError",this.reason=l,this.dialogKind=c.kind,this.answerMode=c.answerMode}}let n="unresolvable_answer";class o extends Error{constructor(a,b,c){super(function(a,b,c){let d=b.join(", ");return void 0===c?`Refused to type free text at ${a}'s prompt: option ${d} reads as taking your own words, but on this screen it is a menu row, not a text field. The text would be ignored and the Enter after it would confirm whatever is highlighted. Nothing was sent. Answer with the option number, then send the instructions as a message.`:`Refused to type free text at ${a}'s prompt: option ${d} is the text field on this screen, but the cursor is on option ${c.cursorOptionNumber}. The text would be ignored and the Enter after it would confirm option ${c.cursorOptionNumber}. Nothing was sent. Move the cursor onto the text field in the terminal and send the text again — sending its option number does not move the cursor, it selects nothing.`}(a,b,c)),this.name="FreeTextAnswerRejectedError",this.reason=n,this.optionNumbers=b,this.kind=c?.kind??"menu_row",this.cursorOptionNumber=c?.cursorOptionNumber??null}}class p extends Error{constructor(a,b){super(`Refused to type free text at ${a}'s prompt: none of its ${b} options is a text field on this screen, so the text would be ignored and the Enter after it would confirm whatever is highlighted. Nothing was sent. Answer with the option number instead, then send your instructions as a separate message.`),this.name="FreeTextAtChoiceOnlyPromptError",this.reason=n,this.optionCount=b}}async function q(a){if(void 0!==a.frame)return a.frame;try{return await (0,d.Xg)(a.sessionName,200)}catch{return null}}async function r(a){if(!/^\d+$/.test(a.answer))return null;let b=(0,f.bN)(a.cliToolId);if(!b.hasDialogRules)return null;let c=await q(a);if(null===c)return null;let d=b.detectDialog((0,e.z)(c));if(null===d)return null;if("numbered"===d.answerMode)return d;throw new m(a.cliToolId,a.answer,d)}function s(a){if(0===a)return[];let b=a>0?"Down":"Up";return Array.from({length:Math.abs(a)},()=>b)}async function t(a){let{sessionName:b,answer:c,cliToolId:e,promptData:f,fallbackPromptType:l,fallbackDefaultOptionNumber:m}=a,n=await r(a);if(!function(a){if(/^\d+$/.test(a.answer))return;let{promptData:b}=a;if(b?.type!=="multiple_choice"||0===b.options.length)return;let c=b.options.filter(a=>!0===a.requiresTextInput);if(0===c.length)throw new p(a.cliToolId,b.options.length);if(!c.some(g.J0))throw new o(a.cliToolId,c.map(a=>a.number))}(a),!function(a){if(/^\d+$/.test(a.answer))return;let{promptData:b}=a;if(b?.type!=="multiple_choice")return;let c=b.options.filter(g.J0);if(0===c.length)return;let d=b.options.find(a=>!0===a.isDefault);if(void 0!==d&&!(0,g.J0)(d))throw new o(a.cliToolId,c.map(a=>a.number),{kind:"cursor_elsewhere",cursorOptionNumber:d.number})}(a),("claude"===e||"antigravity"===e)&&(f?.type==="multiple_choice"||"multiple_choice"===l)&&/^\d+$/.test(c)){let a,e=parseInt(c,10),g=null;if(f?.type==="multiple_choice"){let b=(g=f.options).find(a=>a.isDefault);a=b?.number??1}else a=m??1;let h=e-a;if(null!==g&&g.some(a=>k.test(a.label))&&null!==g){let a=g.filter(a=>k.test(a.label)).length,c=[...s(h),"Space"];c.push(...s(a-e+1)),c.push("Enter"),await (0,d.KB)(b,c)}else{let a=s(h),c=f?.type==="multiple_choice"&&!0===f.isAskUserQuestion&&0===h?["Down","Up","Enter"]:[...a,"Enter"];await (0,d.KB)(b,c)}}else{await (0,d.V1)(b,c,!1);let e=function(a,b){let c=a.promptData?.type==="multiple_choice"?a.promptData.submitMode:void 0,d=b?.submitMode??c??a.fallbackSubmitMode??"answer_then_enter";return(0,h.MI)(d)?d:"answer_then_enter"}(a,n);"answer_only"===e&&(null!==n||a.promptData?.type==="multiple_choice"||"multiple_choice"===a.fallbackPromptType)&&/^\d+$/.test(a.answer)||(await new Promise(a=>setTimeout(a,j.pL)),await (0,d.V1)(b,"",!0))}(0,i.gm)(b)}},71080:(a,b,c)=>{c.d(b,{L1:()=>k,Pe:()=>h,Re:()=>l,j7:()=>g,oE:()=>i,pN:()=>j});var d=c(55511);let e=globalThis.__responseHashCache??(globalThis.__responseHashCache=new Map),f=globalThis.__structuredHistoryRecheckCache??(globalThis.__structuredHistoryRecheckCache=new Map);function g(a,b){let c=(0,d.createHash)("sha256").update(b).digest("hex");return e.get(a)===c||(e.set(a,c),!1)}function h(a){f.has(a)||f.set(a,0)}function i(a){f.delete(a)}function j(a){let b=f.get(a);return void 0!==b&&(b>0?(f.set(a,b-1),!1):(f.set(a,2),!0))}function k(a){e.delete(a),f.delete(a)}function l(a,b){if(a===b)return;let c=e.get(a);e.delete(a),void 0!==c&&e.set(b,c);let d=f.get(a);f.delete(a),void 0!==d&&f.set(b,d)}},72457:(a,b,c)=>{c.d(b,{gv:()=>f,i2:()=>h,iX:()=>g,zm:()=>i});var d=c(55511);let e=globalThis.__promptHashCache??(globalThis.__promptHashCache=new Map);function f(a,b){let c=(0,d.createHash)("sha256").update(b).digest("hex");return e.get(a)===c||(e.set(a,c),!1)}function g(a){e.delete(a)}function h(a,b){if(a===b)return;let c=e.get(a);e.delete(a),void 0!==c&&e.set(b,c)}function i(a,b){return"copilot"!==b?a:a.replace(/^[❯>]\s/gm," ")}},73478:(a,b,c)=>{c.d(b,{I7:()=>u});var d=c(24455),e=c(88807),f=c(73753),g=c(72626),h=c(57836),i=c(80544),j=c(92010),k=c(61191),l=c(50779),m=c(27519);let n=(0,g.h)("push/waiting-notifier"),o=globalThis.__waitingPushPending??(globalThis.__waitingPushPending=new Map),p=globalThis.__waitingPushGraceTimers??(globalThis.__waitingPushGraceTimers=new Map);async function q(a,b,c){let d=a.instanceId??a.cliToolId;try{await (0,k.notifyPushSubscribers)({worktreeId:a.worktreeId,worktreeName:function(a){try{return(0,f.getWorktreeById)((0,e.getDbInstance)(),a)?.name??a}catch{return a}}(a.worktreeId),kind:"prompt",agentName:d,instanceId:d,waitingKind:a.kind,waitingSince:a.since,escalated:b},c)}catch(c){n.warn("waiting-push-failed",{worktreeId:a.worktreeId,instanceId:d,escalated:b,error:c instanceof Error?c.message:String(c)})}}function r(a){let b=p.get(a);void 0!==b&&(clearTimeout(b),p.delete(a))}function s(a,b){(0,j.R)({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waitingSince:a.since})||q(a,!1,b)}function t(){if(o.size>0)return;let a=globalThis.__waitingPushEscalationTimer;void 0!==a&&(clearInterval(a),globalThis.__waitingPushEscalationTimer=void 0)}function u(){let a=globalThis.__waitingPushUnsubscribe;for(let b of(a&&(a(),globalThis.__waitingPushUnsubscribe=void 0),p.values()))clearTimeout(b);p.clear(),o.clear(),t();let b=(0,h.wN)(a=>{!function(a){var b;if(!(0,m.lU)())return;let c=(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId);if(!a.waiting||null===a.since){r(c),o.delete(c),t(),(0,l.GT)({worktreeId:a.worktreeId,agentName:a.instanceId??a.cliToolId,at:a.at});return}let e={worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,since:a.since,kind:a.kind};if(o.set(c,e),!function(){if(void 0!==globalThis.__waitingPushEscalationTimer)return;let a=setInterval(()=>{!function(a=Date.now()){if(0===o.size)return t();let b=(0,i.rS)(),c=6e4*b.thresholdMinutes;for(let[d,e]of Array.from(o)){let f=(0,h.Jp)(e.worktreeId,e.cliToolId,e.instanceId);if(null===f||f.since!==e.since){o.delete(d);continue}b.enabled&&!(a-e.since<c)&&((0,j.R)({worktreeId:e.worktreeId,cliToolId:e.cliToolId,instanceId:e.instanceId,waitingSince:e.since,escalated:!0})||(o.delete(d),q({...e,kind:f.kind??e.kind},!0,a)))}t()}()},6e4);a.unref?.(),globalThis.__waitingPushEscalationTimer=a}(),null==(b=e.kind)||"unclassified"===b){r(c);let a=setTimeout(()=>{!function(a){p.delete(a);let b=o.get(a);if(void 0===b)return;let c=(0,h.Jp)(b.worktreeId,b.cliToolId,b.instanceId);if(null===c||c.since!==b.since){o.delete(a),t();return}let d={...b,kind:c.kind};o.set(a,d),s(d,Date.now())}(c)},8e3);a.unref?.(),p.set(c,a);return}s(e,a.at)}(a)});return globalThis.__waitingPushUnsubscribe=b,b}},75498:(a,b,c)=>{c.d(b,{Lj:()=>f,Tb:()=>e,sD:()=>g});var d=c(68901);let e=2e4;function f(a,b,c){if(!c)return null;if("off"===c.mode)return{reason:"mode-off"};let f=function(a,b){if(0===b.length)return{outcome:"no-match"};let c=a.map(a=>a.length>e?a.slice(0,e):a);for(let a of b){if(a.length>200||!(0,d.P0)(a).valid)return{outcome:"unusable",pattern:a};let b=new RegExp(a);for(let e of c){let c=(0,d.eJ)(b,e);if(null===c)return{outcome:"unusable",pattern:a};if(c)return{outcome:"match",pattern:a}}}return{outcome:"no-match"}}(b,c.denyPatterns);return"match"===f.outcome?{reason:"deny-pattern",pattern:f.pattern}:"unusable"===f.outcome?{reason:"deny-pattern-unusable",pattern:f.pattern}:"safe"===c.mode?"yes_no"===a?null:{reason:"type-not-allowed"}:"allow-listed"===c.mode?c.allowPromptTypes.includes(a)?null:{reason:"type-not-allowed"}:null}function g(a,b){let c=function(a){if("yes_no"===a.type)return"y";if("multiple_choice"===a.type){let b=a.options.find(a=>a.isDefault)??a.options[0];return!b||b.requiresTextInput?null:b.number.toString()}return null}(a);if(null===c)return{answer:null,suppressedBy:null};let d=f(a.type,function(a){let b=[a.question];if(a.approvalTarget&&b.push(a.approvalTarget),"multiple_choice"===a.type)for(let c of a.options)b.push(c.label);else b.push(...a.options);return b}(a),b);return d?{answer:null,suppressedBy:d.reason,pattern:d.pattern}:{answer:c,suppressedBy:null}}},80544:(a,b,c)=>{c.d(b,{Di:()=>h,O$:()=>g,d7:()=>k,rS:()=>j});var d=c(88807);let e=(0,c(72626).h)("push/escalation-settings"),f="push_escalation",g={enabled:!0,thresholdMinutes:10},h=[5,10,30,60];function i(a){if("object"!=typeof a||null===a)return{...g};let b="boolean"==typeof a.enabled?a.enabled:g.enabled,c=a.thresholdMinutes;return{enabled:b,thresholdMinutes:"number"==typeof c&&Number.isFinite(c)&&c>=1&&c<=1440?Math.round(c):g.thresholdMinutes}}function j(){try{let a=(0,d.getDbInstance)().prepare("SELECT value FROM app_settings WHERE key = ?").get(f);if(!a)return{...g};return i(JSON.parse(a.value))}catch(a){return e.warn("escalation-settings-read-failed",{error:a instanceof Error?a.message:String(a)}),{...g}}}function k(a){let b=i(a),c=Date.now();return(0,d.getDbInstance)().prepare(`
|
|
19
|
+
`,await e().writeFile(f,j,"utf-8"),f}async function o(a,b="all"){let c="all"===b?[...k.XH]:[b],d=[];for(let b of c){await m(b);let c=l(b);try{let b=(await e().readdir(c)).filter(b=>b.startsWith(`${a}-`)&&b.endsWith(".md")).map(a=>g().join(c,a));d.push(...b)}catch{}}return d.sort().reverse()}(0,j.h)("log-manager")},44321:(a,b,c)=>{c.d(b,{LN:()=>f,XH:()=>g,fL:()=>h});var d=c(24455);let e=globalThis.__promptDedupSkips??(globalThis.__promptDedupSkips=new Map);function f(a,b,c,g=Date.now()){let h=(0,d.v7)(a,b,c),i=e.get(h);e.set(h,{skippedCount:(i?.skippedCount??0)+1,lastSkippedAt:g})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??{skippedCount:0,lastSkippedAt:null}}function h(a,b,c,f){if(a===b)return;let g=(0,d.v7)(a,c,f),h=e.get(g);e.delete(g),void 0!==h&&e.set((0,d.v7)(b,c,f),h)}},45146:(a,b,c)=>{c.d(b,{Et:()=>y,KQ:()=>A,MN:()=>q,SI:()=>m,fq:()=>z,g8:()=>s,sR:()=>C});var d=c(84297),e=c(72626),f=c(13033),g=c(72457),h=c(71080),i=c(44321),j=c(3523),k=c(99508);let l=(0,e.h)("response-poller"),m=["Waiting for auth","⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],n=globalThis.__responsePollerCoordinator??(globalThis.__responsePollerCoordinator={activePollers:new Map,pollingStartTimes:new Map,owners:new Map,running:new Map,pendingRestart:new Map,ownerStorage:new d.AsyncLocalStorage,generationCounter:0,pausedOnPrompt:new Set});n.pausedOnPrompt??=new Set;let o=n.activePollers,p=n.pollingStartTimes;function q(a,b,c){return`${a}:${c??b}`}function r(a){return"opencode"===a||"copilot"===a}function s(a,b,c){let d=q(a,b,c),e={worktreeId:a,cliToolId:b,instanceId:c},f=n.running.get(d);if(f){if(f.owner.superseded=!0,Date.now()-f.since<6e4)return void n.pendingRestart.set(d,e);l.warn("poller:restart-past-stalled-tick",{pollerKey:d,generation:f.owner.generation,runningForMs:Date.now()-f.since}),n.running.delete(d)}t(d,e)}function t(a,b){let c=n.pausedOnPrompt.has(a);x(a,{resume:c}),c&&l.info("poller:resumed-after-prompt",{pollerKey:a}),function(a){let b=q(a.worktreeId,a.cliToolId,a.instanceId);n.pollingStartTimes.set(b,Date.now()),r(a.cliToolId)&&(0,f.tb)(b),u(a.worktreeId,a.cliToolId,a.instanceId)}(b)}function u(a,b,c){let d=q(a,b,c);v({worktreeId:a,cliToolId:b,instanceId:c},function(a){let b=n.owners.get(a);b&&(b.superseded=!0);let c={pollerKey:a,generation:++n.generationCounter,superseded:!1,stopped:!1,selfStopped:!1};return n.owners.set(a,c),c}(d))}function v(a,b){let c=setTimeout(()=>{w(a,b)},2e3);n.activePollers.set(b.pollerKey,c)}async function w(a,b){let c=b.pollerKey;if(!b.superseded&&!b.stopped){n.running.set(c,{owner:b,since:Date.now()});try{let d=n.pollingStartTimes.get(c);if(d&&Date.now()-d>18e5)return void x(c);let e=!1;try{e=await n.ownerStorage.run(b,()=>(0,j.zX)(a.worktreeId,a.cliToolId,a.instanceId))}catch(a){l.error("error:",{error:a instanceof Error?a.message:String(a)})}b.selfStopped&&function(a,b,c){if(c&&!r(b.cliToolId)){n.pausedOnPrompt.add(a.pollerKey),l.info("poller:paused-on-prompt",{pollerKey:a.pollerKey,generation:a.generation});return}(0,h.L1)(a.pollerKey)}(b,a,e),b.superseded||(0,k.broadcastTerminalSnapshot)(a.worktreeId,a.cliToolId,a.instanceId),b.superseded||b.stopped||v(a,b)}finally{n.running.get(c)?.owner===b&&n.running.delete(c);let a=n.pendingRestart.get(c);a&&(n.pendingRestart.delete(c),t(c,a))}}}function x(a,b={}){let c=n.ownerStorage.getStore();if(c&&c.pollerKey===a&&(c.superseded||c.stopped))return void l.info("poller:stale-stop-ignored",{pollerKey:a,generation:c.generation});b.resume||(0,j.Tq)(a,"poller-stopped");let d=n.owners.get(a),e=void 0!==d&&c===d;d&&(d.stopped=!0,d.selfStopped=e,n.owners.delete(a)),n.pendingRestart.delete(a),n.pausedOnPrompt.delete(a);let i=n.activePollers.get(a);i&&(clearTimeout(i),n.activePollers.delete(a),n.pollingStartTimes.delete(a)),(0,f.q1)(a),(0,g.iX)(a),e||b.resume||(0,h.L1)(a)}function y(a,b,c){x(q(a,b,c))}function z(){for(let a of new Set([...Array.from(n.activePollers.keys()),...Array.from(n.owners.keys()),...Array.from(n.pausedOnPrompt)]))x(a);n.pendingRestart.clear(),n.pausedOnPrompt.clear()}function A(){return Array.from(n.activePollers.keys())}function B(a){let b=a.indexOf(":");return b<=0||b===a.length-1?null:{worktreeId:a.slice(0,b),instanceId:a.slice(b+1)}}function C(a,b){let c=new Map;for(let{oldId:b,newId:d}of a)b&&d&&b!==d&&c.set(b,d);if(0===c.size)return[];let d=[],e=[];for(let a of Array.from(o.keys())){let f=B(a);if(!f)continue;let g=c.get(f.worktreeId);if(!g)continue;let h=b(f.worktreeId,f.instanceId);if(!h){e.push(a);continue}d.push({oldKey:a,newKey:q(g,h,f.instanceId),newWorktreeId:g,cliToolId:h,instanceId:f.instanceId})}let j=new Map;for(let a of d){let b=o.get(a.oldKey);b&&clearTimeout(b),o.delete(a.oldKey);let c=n.owners.get(a.oldKey);c&&(c.superseded=!0,c.stopped=!0,n.owners.delete(a.oldKey)),n.pendingRestart.delete(a.oldKey),j.set(a.newKey,{startedAt:p.get(a.oldKey)}),p.delete(a.oldKey),(0,g.i2)(a.oldKey,a.newKey),(0,h.Re)(a.oldKey,a.newKey);let d=B(a.oldKey);d&&(0,i.fL)(d.worktreeId,a.newWorktreeId,a.cliToolId,a.instanceId),(0,f.q1)(a.oldKey)}for(let a of e)x(a),l.warn("poller:migrate-abandoned",{pollerKey:a});for(let a of d){let b=j.get(a.newKey)?.startedAt;p.set(a.newKey,b??Date.now()),r(a.cliToolId)&&(0,f.tb)(a.newKey),u(a.newWorktreeId,a.cliToolId,a.instanceId)}let k=[];for(let a of Array.from(n.pausedOnPrompt)){let b=B(a);if(!b)continue;let d=c.get(b.worktreeId);d&&k.push({oldKey:a,newKey:`${d}:${b.instanceId}`})}for(let a of k)n.pausedOnPrompt.delete(a.oldKey);for(let a of k)(0,h.Re)(a.oldKey,a.newKey),n.pausedOnPrompt.add(a.newKey);return d}},50779:(a,b,c)=>{c.d(b,{GT:()=>m});var d=c(88807),e=c(43167),f=c(73753),g=c(72626),h=c(57836),i=c(4806),j=c(61191),k=c(27519);let l=(0,g.h)("push/resolution");async function m(a){let{worktreeId:b,agentName:c,at:g=Date.now()}=a,m=function(a,b=Date.now()){let c;if(!(0,k.lU)())return{send:!1,reason:"push-unconfigured"};if(!(0,i.r0)(a,b))return{send:!1,reason:"no-card"};if((0,h.Te)(a))return{send:!1,reason:"still-waiting"};try{c=(0,e.rC)((0,d.getDbInstance)(),"prompt")}catch{return{send:!1,reason:"single-device",deviceCount:0}}return c<2?{send:!1,reason:"single-device",deviceCount:c}:{send:!0,reason:"cross-device-clear",deviceCount:c}}(b,g),n={worktreeId:b,instanceId:c,reason:m.reason,...void 0!==m.deviceCount?{deviceCount:m.deviceCount}:{}};if("still-waiting"!==m.reason&&(0,i._P)(b),!m.send)return void("single-device"===m.reason?l.info("resolution-push-skipped",n):l.debug("resolution-push-skipped",n));try{await (0,j.notifyPushSubscribers)({worktreeId:b,worktreeName:function(a){try{return(0,f.getWorktreeById)((0,d.getDbInstance)(),a)?.name??a}catch{return a}}(b),kind:"prompt",agentName:c,resolved:!0},g),l.info("resolution-push-sent",n)}catch(a){l.warn("resolution-push-failed",{...n,error:a instanceof Error?a.message:String(a)})}}},52277:(a,b,c)=>{c.d(b,{ZS:()=>f,gb:()=>g});var d=c(24455);let e=globalThis.__autoYesPolicySuppressions??(globalThis.__autoYesPolicySuppressions=new Map);function f(a,b,c,g,h=Date.now()){e.set((0,d.v7)(a,b,c),{...g,at:h})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??null}},63209:(a,b,c)=>{c.d(b,{bT:()=>g});var d=c(51297),e=c(76777);let f=[{id:"overloaded",pattern:/\b5\d{2}\s+Overloaded\b/i,selfRetrying:!0},{id:"retrying",pattern:/Retrying in \d+s\s*[·•]\s*attempt \d+\/\d+/i,selfRetrying:!0},{id:"limit-reached",pattern:/\blimit reached\b/i,selfRetrying:!1},{id:"api-error",pattern:/\bAPI Error(?::|\s+\d{3})/i,selfRetrying:!1}];function g(a){let b=(0,d.aJ)(a);for(let a of f){var c;let d=a.pattern.exec(b);if(!d)continue;let f=b.lastIndexOf("\n",d.index)+1,g=b.indexOf("\n",d.index);return{fault:a,matchedText:(c=b.slice(f,-1===g?void 0:g).trim()||d[0],(0,e.D)(c,200,"…[truncated]"))}}return null}},63869:(a,b,c)=>{c.d(b,{It:()=>s,Pw:()=>p,WG:()=>w,if:()=>r,tV:()=>A});var d=c(79892),e=c(74258),f=c(82743),g=c(69119),h=c(96742),i=c(91478),j=c(81254),k=c(93997),l=c(20610);let m=/^\[[ x]\] /,n=/^\d+(?:,\d+)*$/,o="answer_mode_keys";class p extends Error{constructor(a,b,c){super(`Refused to send "${b}" to ${a}: its ${c.kind} dialog takes '${c.answerMode}' input, not a typed number (${o}). The digit would be swallowed and the Enter after it would confirm whatever is highlighted. Nothing was sent.`),this.name="PromptAnswerRejectedError",this.reason=o,this.dialogKind=c.kind,this.answerMode=c.answerMode}}let q="unresolvable_answer";class r extends Error{constructor(a,b,c){super(function(a,b,c){let d=b.join(", ");return void 0===c?`Refused to type free text at ${a}'s prompt: option ${d} reads as taking your own words, but on this screen it is a menu row, not a text field. The text would be ignored and the Enter after it would confirm whatever is highlighted. Nothing was sent. Answer with the option number, then send the instructions as a message.`:`Refused to type free text at ${a}'s prompt: option ${d} is the text field on this screen, but the cursor is on option ${c.cursorOptionNumber}. The text would be ignored and the Enter after it would confirm option ${c.cursorOptionNumber}. Nothing was sent. Move the cursor onto the text field in the terminal and send the text again — sending its option number does not move the cursor, it selects nothing.`}(a,b,c)),this.name="FreeTextAnswerRejectedError",this.reason=q,this.optionNumbers=b,this.kind=c?.kind??"menu_row",this.cursorOptionNumber=c?.cursorOptionNumber??null}}class s extends Error{constructor(a,b){super(`Refused to type free text at ${a}'s prompt: none of its ${b} options is a text field on this screen, so the text would be ignored and the Enter after it would confirm whatever is highlighted. Nothing was sent. Answer with the option number instead, then send your instructions as a separate message.`),this.name="FreeTextAtChoiceOnlyPromptError",this.reason=q,this.optionCount=b}}async function t(a){if(void 0!==a.frame)return a.frame;try{return await (0,d.Xg)(a.sessionName,200)}catch{return null}}async function u(a){if(!/^\d+$/.test(a.answer))return null;let b=(0,f.bN)(a.cliToolId);if(!b.hasDialogRules)return null;let c=await t(a);if(null===c)return null;let d=b.detectDialog((0,e.z)(c));if(null===d)return null;if("numbered"===d.answerMode)return d;throw new p(a.cliToolId,a.answer,d)}function v(a){if(0===a)return[];let b=a>0?"Down":"Up";return Array.from({length:Math.abs(a)},()=>b)}class w extends Error{constructor(a,b,c){super(`The question was not submitted (${a}). `+(b?"Some boxes may have been ticked, but the confirm row was not pressed, so the question is still on screen exactly as the pane shows it. ":"No key was sent. ")+`Requested selection: ${c.join(", ")}. Check the terminal and answer it there, or `+"retry once the screen has settled."),this.name="MultiSelectAnswerRejectedError",this.reason="multi_select_not_committed",this.stage=a,this.keysSent=b,this.wanted=c}}function x(a){return a.options.filter(a=>!0===a.checked).map(a=>a.number)}async function y(a){await new Promise(a=>setTimeout(a,l.x9));try{return await (0,d.Xg)(a,200)}catch{return null}}async function z(a,b,c){var e,f;if(void 0===b.options.find(a=>!0===a.isDefault))throw new w("cursor-unknown",!1,c);let g=x(b),j=[...c.filter(a=>!g.includes(a)),...g.filter(a=>!c.includes(a))].sort((a,b)=>a-b);j.length>0&&await (0,d.KB)(a,j.map(String));let k=j.length>0,l=await y(a);if(null===l)throw new w("recapture-failed",k,c);let m=(0,h.nK)(l);if("prompt"!==m.kind||m.prompt.promptData?.type!=="multiple_choice"||!0!==m.prompt.promptData.multiSelect||m.prompt.promptData.question!==b.question||m.prompt.promptData.options.length!==b.options.length)throw new w("screen-changed",k,c);let n=m.prompt.promptData;if(e=x(n),f=[...c],!(e.length===f.length&&e.every((a,b)=>a===f[b])))throw new w("toggle-mismatch",k,c);let o=n.options.find(a=>!0===a.isDefault);if(void 0===o)throw new w("cursor-unknown",k,c);await (0,d.KB)(a,[...Array.from({length:Math.max(0,n.options.length-o.number+1)},()=>"Down"),"Enter"]);let p=await y(a);if(null===p)throw new w("recapture-failed",!0,c);let q=(0,i.uG)(p);if(null!==q){if(q.hasUnansweredWarning)throw new w("review-unanswered",!0,c);await (0,d.KB)(a,["Enter"]);return}let r=(0,h.nK)(p);if("prompt"!==r.kind||r.prompt.promptData?.type!=="multiple_choice"||r.prompt.promptData.question===b.question)throw new w("not-committed",!0,c)}async function A(a){let{sessionName:b,answer:c,cliToolId:e,promptData:f,fallbackPromptType:h,fallbackDefaultOptionNumber:i}=a,o=function(a){if("command-code"!==a.cliToolId)return null;let{promptData:b}=a;return b?.type==="multiple_choice"&&!0===b.multiSelect&&n.test(a.answer)?{promptData:b,wanted:[...new Set(a.answer.split(",").map(Number))].sort((a,b)=>a-b)}:null}(a);if(null!==o){await z(b,o.promptData,o.wanted),(0,k.gm)(b);return}let p=await u(a);if(!function(a){if(/^\d+$/.test(a.answer))return;let{promptData:b}=a;if(b?.type!=="multiple_choice"||0===b.options.length)return;let c=b.options.filter(a=>!0===a.requiresTextInput);if(0===c.length)throw new s(a.cliToolId,b.options.length);if(!c.some(g.J0))throw new r(a.cliToolId,c.map(a=>a.number))}(a),!function(a){if(/^\d+$/.test(a.answer))return;let{promptData:b}=a;if(b?.type!=="multiple_choice")return;let c=b.options.filter(g.J0);if(0===c.length)return;let d=b.options.find(a=>!0===a.isDefault);if(void 0!==d&&!(0,g.J0)(d))throw new r(a.cliToolId,c.map(a=>a.number),{kind:"cursor_elsewhere",cursorOptionNumber:d.number})}(a),("claude"===e||"antigravity"===e)&&(f?.type==="multiple_choice"||"multiple_choice"===h)&&/^\d+$/.test(c)){let a,e=parseInt(c,10),g=null;if(f?.type==="multiple_choice"){let b=(g=f.options).find(a=>a.isDefault);a=b?.number??1}else a=i??1;let h=e-a;if(null!==g&&g.some(a=>m.test(a.label))&&null!==g){let a=g.filter(a=>m.test(a.label)).length,c=[...v(h),"Space"];c.push(...v(a-e+1)),c.push("Enter"),await (0,d.KB)(b,c)}else{let a=v(h),c=f?.type==="multiple_choice"&&!0===f.isAskUserQuestion&&0===h?["Down","Up","Enter"]:[...a,"Enter"];await (0,d.KB)(b,c)}}else{await (0,d.V1)(b,c,!1);let e=function(a,b){let c=a.promptData?.type==="multiple_choice"?a.promptData.submitMode:void 0,d=b?.submitMode??c??a.fallbackSubmitMode??"answer_then_enter";return(0,j.MI)(d)?d:"answer_then_enter"}(a,p);"answer_only"===e&&(null!==p||a.promptData?.type==="multiple_choice"||"multiple_choice"===a.fallbackPromptType)&&/^\d+$/.test(a.answer)||(await new Promise(a=>setTimeout(a,l.pL)),await (0,d.V1)(b,"",!0))}(0,k.gm)(b)}},71080:(a,b,c)=>{c.d(b,{L1:()=>k,Pe:()=>h,Re:()=>l,j7:()=>g,oE:()=>i,pN:()=>j});var d=c(55511);let e=globalThis.__responseHashCache??(globalThis.__responseHashCache=new Map),f=globalThis.__structuredHistoryRecheckCache??(globalThis.__structuredHistoryRecheckCache=new Map);function g(a,b){let c=(0,d.createHash)("sha256").update(b).digest("hex");return e.get(a)===c||(e.set(a,c),!1)}function h(a){f.has(a)||f.set(a,0)}function i(a){f.delete(a)}function j(a){let b=f.get(a);return void 0!==b&&(b>0?(f.set(a,b-1),!1):(f.set(a,2),!0))}function k(a){e.delete(a),f.delete(a)}function l(a,b){if(a===b)return;let c=e.get(a);e.delete(a),void 0!==c&&e.set(b,c);let d=f.get(a);f.delete(a),void 0!==d&&f.set(b,d)}},72457:(a,b,c)=>{c.d(b,{gv:()=>f,i2:()=>h,iX:()=>g,zm:()=>i});var d=c(55511);let e=globalThis.__promptHashCache??(globalThis.__promptHashCache=new Map);function f(a,b){let c=(0,d.createHash)("sha256").update(b).digest("hex");return e.get(a)===c||(e.set(a,c),!1)}function g(a){e.delete(a)}function h(a,b){if(a===b)return;let c=e.get(a);e.delete(a),void 0!==c&&e.set(b,c)}function i(a,b){return"copilot"!==b?a:a.replace(/^[❯>]\s/gm," ")}},73478:(a,b,c)=>{c.d(b,{I7:()=>u});var d=c(24455),e=c(88807),f=c(73753),g=c(72626),h=c(57836),i=c(80544),j=c(92010),k=c(61191),l=c(50779),m=c(27519);let n=(0,g.h)("push/waiting-notifier"),o=globalThis.__waitingPushPending??(globalThis.__waitingPushPending=new Map),p=globalThis.__waitingPushGraceTimers??(globalThis.__waitingPushGraceTimers=new Map);async function q(a,b,c){let d=a.instanceId??a.cliToolId;try{await (0,k.notifyPushSubscribers)({worktreeId:a.worktreeId,worktreeName:function(a){try{return(0,f.getWorktreeById)((0,e.getDbInstance)(),a)?.name??a}catch{return a}}(a.worktreeId),kind:"prompt",agentName:d,instanceId:d,waitingKind:a.kind,waitingSince:a.since,escalated:b},c)}catch(c){n.warn("waiting-push-failed",{worktreeId:a.worktreeId,instanceId:d,escalated:b,error:c instanceof Error?c.message:String(c)})}}function r(a){let b=p.get(a);void 0!==b&&(clearTimeout(b),p.delete(a))}function s(a,b){(0,j.R)({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waitingSince:a.since})||q(a,!1,b)}function t(){if(o.size>0)return;let a=globalThis.__waitingPushEscalationTimer;void 0!==a&&(clearInterval(a),globalThis.__waitingPushEscalationTimer=void 0)}function u(){let a=globalThis.__waitingPushUnsubscribe;for(let b of(a&&(a(),globalThis.__waitingPushUnsubscribe=void 0),p.values()))clearTimeout(b);p.clear(),o.clear(),t();let b=(0,h.wN)(a=>{!function(a){var b;if(!(0,m.lU)())return;let c=(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId);if(!a.waiting||null===a.since){r(c),o.delete(c),t(),(0,l.GT)({worktreeId:a.worktreeId,agentName:a.instanceId??a.cliToolId,at:a.at});return}let e={worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,since:a.since,kind:a.kind};if(o.set(c,e),!function(){if(void 0!==globalThis.__waitingPushEscalationTimer)return;let a=setInterval(()=>{!function(a=Date.now()){if(0===o.size)return t();let b=(0,i.rS)(),c=6e4*b.thresholdMinutes;for(let[d,e]of Array.from(o)){let f=(0,h.Jp)(e.worktreeId,e.cliToolId,e.instanceId);if(null===f||f.since!==e.since){o.delete(d);continue}b.enabled&&!(a-e.since<c)&&((0,j.R)({worktreeId:e.worktreeId,cliToolId:e.cliToolId,instanceId:e.instanceId,waitingSince:e.since,escalated:!0})||(o.delete(d),q({...e,kind:f.kind??e.kind},!0,a)))}t()}()},6e4);a.unref?.(),globalThis.__waitingPushEscalationTimer=a}(),null==(b=e.kind)||"unclassified"===b){r(c);let a=setTimeout(()=>{!function(a){p.delete(a);let b=o.get(a);if(void 0===b)return;let c=(0,h.Jp)(b.worktreeId,b.cliToolId,b.instanceId);if(null===c||c.since!==b.since){o.delete(a),t();return}let d={...b,kind:c.kind};o.set(a,d),s(d,Date.now())}(c)},8e3);a.unref?.(),p.set(c,a);return}s(e,a.at)}(a)});return globalThis.__waitingPushUnsubscribe=b,b}},75498:(a,b,c)=>{c.d(b,{Lj:()=>f,Tb:()=>e,sD:()=>g});var d=c(68901);let e=2e4;function f(a,b,c){if(!c)return null;if("off"===c.mode)return{reason:"mode-off"};let f=function(a,b){if(0===b.length)return{outcome:"no-match"};let c=a.map(a=>a.length>e?a.slice(0,e):a);for(let a of b){if(a.length>200||!(0,d.P0)(a).valid)return{outcome:"unusable",pattern:a};let b=new RegExp(a);for(let e of c){let c=(0,d.eJ)(b,e);if(null===c)return{outcome:"unusable",pattern:a};if(c)return{outcome:"match",pattern:a}}}return{outcome:"no-match"}}(b,c.denyPatterns);return"match"===f.outcome?{reason:"deny-pattern",pattern:f.pattern}:"unusable"===f.outcome?{reason:"deny-pattern-unusable",pattern:f.pattern}:"safe"===c.mode?"yes_no"===a?null:{reason:"type-not-allowed"}:"allow-listed"===c.mode?c.allowPromptTypes.includes(a)?null:{reason:"type-not-allowed"}:null}function g(a,b){let c=function(a){if("yes_no"===a.type)return"y";if("multiple_choice"===a.type){if(!0===a.multiSelect)return null;let b=a.options.find(a=>a.isDefault)??a.options[0];return!b||b.requiresTextInput?null:b.number.toString()}return null}(a);if(null===c)return{answer:null,suppressedBy:null};let d=f(a.type,function(a){let b=[a.question];if(a.approvalTarget&&b.push(a.approvalTarget),"multiple_choice"===a.type)for(let c of a.options)b.push(c.label);else b.push(...a.options);return b}(a),b);return d?{answer:null,suppressedBy:d.reason,pattern:d.pattern}:{answer:c,suppressedBy:null}}},80544:(a,b,c)=>{c.d(b,{Di:()=>h,O$:()=>g,d7:()=>k,rS:()=>j});var d=c(88807);let e=(0,c(72626).h)("push/escalation-settings"),f="push_escalation",g={enabled:!0,thresholdMinutes:10},h=[5,10,30,60];function i(a){if("object"!=typeof a||null===a)return{...g};let b="boolean"==typeof a.enabled?a.enabled:g.enabled,c=a.thresholdMinutes;return{enabled:b,thresholdMinutes:"number"==typeof c&&Number.isFinite(c)&&c>=1&&c<=1440?Math.round(c):g.thresholdMinutes}}function j(){try{let a=(0,d.getDbInstance)().prepare("SELECT value FROM app_settings WHERE key = ?").get(f);if(!a)return{...g};return i(JSON.parse(a.value))}catch(a){return e.warn("escalation-settings-read-failed",{error:a instanceof Error?a.message:String(a)}),{...g}}}function k(a){let b=i(a),c=Date.now();return(0,d.getDbInstance)().prepare(`
|
|
20
20
|
INSERT INTO app_settings (key, value, created_at, updated_at)
|
|
21
21
|
VALUES (?, ?, ?, ?)
|
|
22
22
|
ON CONFLICT(key) DO UPDATE SET
|
|
23
23
|
value = excluded.value,
|
|
24
24
|
updated_at = excluded.updated_at
|
|
25
|
-
`).run(f,JSON.stringify(b),c,c),b}},91318:(a,b,c)=>{c.d(b,{ie:()=>j,n:()=>i});var d=c(56791),e=c(88807),f=c(24455);let g=(0,c(72626).h)("auto-yes-policy"),h=new Map;function i(a,b,c){let i=c??b,j=(0,f.v7)(a,b,i),k=Date.now(),l=h.get(j);if(l&&l.expiresAt>k)return l.policy;let m=function(a,b,c){try{let f=(0,d.getActiveTaskForInstance)((0,e.getDbInstance)(),a,b,c);if(!f)return null;return f.contract.autoYes}catch(d){return g.warn("policy-lookup-failed",{worktreeId:a,cliToolId:b,instanceId:c,error:d instanceof Error?d.message:String(d)}),null}}(a,b,i);return h.size>=200&&function(a){for(let[b,c]of h.entries())c.expiresAt<=a&&h.delete(b)}(k),h.set(j,{policy:m,expiresAt:k+5e3}),m}function j(a){h.delete(a)}},91601:(a,b,c)=>{c.d(b,{Di:()=>f.Di,HR:()=>d.HR,J$:()=>e.notifyPushSubscribers,O$:()=>f.O$,d7:()=>f.d7,rS:()=>f.rS});var d=c(27519);c(8532);var e=c(61191);c(3915),c(92010),c(81099),c(77703),c(73478);var f=c(80544);c(50779),c(4806),c(55233)},92010:(a,b,c)=>{c.d(b,{R:()=>h});var d=c(24455),e=c(72626),f=c(52277);let g=(0,e.h)("push/prompt-gate");function h(a){let b=function(a){let{worktreeId:b,cliToolId:c,instanceId:e,waitingSince:g}=a,h=(0,d.aq)(b,c,e);if(null===h||!h.enabled)return{suppress:!1,reason:"auto-yes-inactive",stopReason:h?.stopReason};let i=(0,f.gb)(b,c,e);return null!==i&&i.at>=g?{suppress:!1,reason:"policy-withheld",suppressedBy:i.reason}:!0===a.escalated?{suppress:!1,reason:"escalation-reminder"}:{suppress:!0,reason:"auto-yes-answering"}}(a),c={worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,waitingSince:a.waitingSince,escalated:!0===a.escalated,reason:b.reason,...void 0!==b.stopReason?{stopReason:b.stopReason}:{},...void 0!==b.suppressedBy?{suppressedBy:b.suppressedBy}:{}};return b.suppress?g.info("prompt-push-suppressed",c):g.debug("prompt-push-allowed",c),b.suppress}},97751:(a,b,c)=>{c.d(b,{M4:()=>p,W7:()=>r,aK:()=>q,dV:()=>l,dZ:()=>m,yQ:()=>j});var d=c(72626),e=c(36051),f=c(25071),g=c(129),h=c(62887);let i=(0,d.h)("lib/hooks/structured-decision-response"),j="Rejected by the operator via `commandmate respond`.",k={1:["once","allow once","allow","yes","y"],2:["always","allow always","allow-always"],3:["reject","deny","no","n"]};function l(a){let b=a.trim().toLowerCase();if(""===b)return null;for(let a of e.QB)if(b===String(a.number)||b===a.label.toLowerCase()||b===a.reply||(k[a.number]??[]).includes(b))return a;return null}function m(a){let b=a.questions[0];return b?b.choices.map((a,b)=>({number:b+1,label:a.label,reply:a.label})):[]}let n=/^\d+(?:\s*[,\s]\s*\d+)*$/;function o(a){return a.map(a=>`${a.number} = ${a.label}`).join(", ")}function p(a,b){let c=b.trim();if(""===c)return{ok:!1,reason:"unresolvable_answer",message:"An empty answer names no choice."};if(1!==a.questions.length)return{ok:!1,reason:"multi_question_unsupported",message:`This call asks ${a.questions.length} questions and \`answers\` carries one array per question; a single answer cannot say what the others are. Answer it in the terminal.`};let d=a.questions[0],e=m(a);if(n.test(c)){let a=[];for(let b of c.split(/[,\s]+/)){let d=e.find(a=>a.number===Number(b));if(!d)return{ok:!1,reason:"answer_out_of_range",message:`'${c}' names no choice this question offers. ${o(e)}.`};a.some(a=>a.number===d.number)||a.push(d)}return a.length>1&&!d.multiSelect?{ok:!1,reason:"multi_select_not_offered",message:`This question accepts one choice. Send a single number: ${o(e)}.`}:{ok:!0,resolved:{answers:[a.map(a=>a.reply)],selected:a,freeText:!1}}}let f=e.find(a=>a.label.toLowerCase()===c.toLowerCase());return f?{ok:!0,resolved:{answers:[[f.reply]],selected:[f],freeText:!1}}:c.length>1e3?{ok:!1,reason:"unresolvable_answer",message:"A free-text answer is limited to 1000 characters; this one is longer and is refused rather than cut short."}:{ok:!0,resolved:{answers:[[c]],selected:[],freeText:!0}}}function q(a){return{kind:"answer",answers:a.answers}}async function r({worktreeId:a,cliToolId:b,instanceId:d,answer:k,useDefault:m=!1}){let n,o=(0,g.VM)(b);if(null===o.capabilities.eventIdentity)return{kind:"not-applicable",reason:"no-decision-identity"};let p={worktreeId:a,cliToolId:b,instanceId:d};try{n=await o.listPending(p)}catch(c){return i.warn("structured-decision-unreachable",{worktreeId:a,cliToolId:b,instanceId:d??b,error:c instanceof Error?c.message:String(c)}),{kind:"not-applicable",reason:"source-unreachable"}}let q=n.filter(a=>"permission"===a.kind);if(0===q.length)return{kind:"not-applicable",reason:"no-pending-decision"};let r=q[0];if(q.length>1&&i.info("structured-decision-multiple-pending",{worktreeId:a,cliToolId:b,instanceId:d??b,pending:q.length,answering:r.id}),m)return{kind:"refused",reason:"unresolvable_answer",message:`--default cannot answer a structured approval: the agent publishes no default verdict. Send a number instead — ${e.QB.map(a=>`${a.number} = ${a.label}`).join(", ")}.`};let s=void 0===k?null:l(k);if(!s)return{kind:"refused",reason:"answer_out_of_range",message:`'${k??""}' is not one of the verdicts this approval accepts. `+e.QB.map(a=>`${a.number} = ${a.label} (${a.reply})`).join(", ")+"."};let t=function(a){switch(a){case 1:return{kind:"allowOnce"};case 2:return{kind:"allowAlways"};case 3:return{kind:"deny",message:j};default:return null}}(s.number);if(!t)return{kind:"refused",reason:"unresolvable_answer",message:`Option ${s.number} has no verdict on this server.`};let{delivery:u}=await (0,f.GW)(o,p,r,t),v=u?.delivered===!0;if(v&&o.capabilities.permissionReplyReleasesPrompt){let{recordAgentEvent:e}=await Promise.resolve().then(c.bind(c,48083));e(a,b,d,{event:"notification",at:Date.now(),detail:h.KC,sessionId:r.conversationId,decisionId:r.id,promptSettled:!0})}return i.info("structured-decision-answered",{worktreeId:a,cliToolId:b,instanceId:d??b,decisionId:r.id,optionNumber:s.number,reply:s.reply,delivered:v}),{kind:"answered",decisionId:r.id,option:s,delivered:v}}},99508:(a,b,c)=>{c.r(b),c.d(b,{INTERACTION_SNAPSHOT_RETRY_DELAYS_MS:()=>l,__resetTerminalBroadcastState:()=>s,broadcastSessionStatus:()=>r,broadcastTerminalSnapshot:()=>m,broadcastTerminalSnapshotAfterInteraction:()=>q});var d=c(43015),e=c(88807),f=c(
|
|
25
|
+
`).run(f,JSON.stringify(b),c,c),b}},91318:(a,b,c)=>{c.d(b,{ie:()=>j,n:()=>i});var d=c(56791),e=c(88807),f=c(24455);let g=(0,c(72626).h)("auto-yes-policy"),h=new Map;function i(a,b,c){let i=c??b,j=(0,f.v7)(a,b,i),k=Date.now(),l=h.get(j);if(l&&l.expiresAt>k)return l.policy;let m=function(a,b,c){try{let f=(0,d.getActiveTaskForInstance)((0,e.getDbInstance)(),a,b,c);if(!f)return null;return f.contract.autoYes}catch(d){return g.warn("policy-lookup-failed",{worktreeId:a,cliToolId:b,instanceId:c,error:d instanceof Error?d.message:String(d)}),null}}(a,b,i);return h.size>=200&&function(a){for(let[b,c]of h.entries())c.expiresAt<=a&&h.delete(b)}(k),h.set(j,{policy:m,expiresAt:k+5e3}),m}function j(a){h.delete(a)}},91601:(a,b,c)=>{c.d(b,{Di:()=>f.Di,HR:()=>d.HR,J$:()=>e.notifyPushSubscribers,O$:()=>f.O$,d7:()=>f.d7,rS:()=>f.rS});var d=c(27519);c(8532);var e=c(61191);c(3915),c(92010),c(81099),c(77703),c(73478);var f=c(80544);c(50779),c(4806),c(55233)},92010:(a,b,c)=>{c.d(b,{R:()=>h});var d=c(24455),e=c(72626),f=c(52277);let g=(0,e.h)("push/prompt-gate");function h(a){let b=function(a){let{worktreeId:b,cliToolId:c,instanceId:e,waitingSince:g}=a,h=(0,d.aq)(b,c,e);if(null===h||!h.enabled)return{suppress:!1,reason:"auto-yes-inactive",stopReason:h?.stopReason};let i=(0,f.gb)(b,c,e);return null!==i&&i.at>=g?{suppress:!1,reason:"policy-withheld",suppressedBy:i.reason}:!0===a.escalated?{suppress:!1,reason:"escalation-reminder"}:{suppress:!0,reason:"auto-yes-answering"}}(a),c={worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,waitingSince:a.waitingSince,escalated:!0===a.escalated,reason:b.reason,...void 0!==b.stopReason?{stopReason:b.stopReason}:{},...void 0!==b.suppressedBy?{suppressedBy:b.suppressedBy}:{}};return b.suppress?g.info("prompt-push-suppressed",c):g.debug("prompt-push-allowed",c),b.suppress}},97751:(a,b,c)=>{c.d(b,{M4:()=>p,W7:()=>r,aK:()=>q,dV:()=>l,dZ:()=>m,yQ:()=>j});var d=c(72626),e=c(36051),f=c(25071),g=c(129),h=c(62887);let i=(0,d.h)("lib/hooks/structured-decision-response"),j="Rejected by the operator via `commandmate respond`.",k={1:["once","allow once","allow","yes","y"],2:["always","allow always","allow-always"],3:["reject","deny","no","n"]};function l(a){let b=a.trim().toLowerCase();if(""===b)return null;for(let a of e.QB)if(b===String(a.number)||b===a.label.toLowerCase()||b===a.reply||(k[a.number]??[]).includes(b))return a;return null}function m(a){let b=a.questions[0];return b?b.choices.map((a,b)=>({number:b+1,label:a.label,reply:a.label})):[]}let n=/^\d+(?:\s*[,\s]\s*\d+)*$/;function o(a){return a.map(a=>`${a.number} = ${a.label}`).join(", ")}function p(a,b){let c=b.trim();if(""===c)return{ok:!1,reason:"unresolvable_answer",message:"An empty answer names no choice."};if(1!==a.questions.length)return{ok:!1,reason:"multi_question_unsupported",message:`This call asks ${a.questions.length} questions and \`answers\` carries one array per question; a single answer cannot say what the others are. Answer it in the terminal.`};let d=a.questions[0],e=m(a);if(n.test(c)){let a=[];for(let b of c.split(/[,\s]+/)){let d=e.find(a=>a.number===Number(b));if(!d)return{ok:!1,reason:"answer_out_of_range",message:`'${c}' names no choice this question offers. ${o(e)}.`};a.some(a=>a.number===d.number)||a.push(d)}return a.length>1&&!d.multiSelect?{ok:!1,reason:"multi_select_not_offered",message:`This question accepts one choice. Send a single number: ${o(e)}.`}:{ok:!0,resolved:{answers:[a.map(a=>a.reply)],selected:a,freeText:!1}}}let f=e.find(a=>a.label.toLowerCase()===c.toLowerCase());return f?{ok:!0,resolved:{answers:[[f.reply]],selected:[f],freeText:!1}}:c.length>1e3?{ok:!1,reason:"unresolvable_answer",message:"A free-text answer is limited to 1000 characters; this one is longer and is refused rather than cut short."}:{ok:!0,resolved:{answers:[[c]],selected:[],freeText:!0}}}function q(a){return{kind:"answer",answers:a.answers}}async function r({worktreeId:a,cliToolId:b,instanceId:d,answer:k,useDefault:m=!1}){let n,o=(0,g.VM)(b);if(null===o.capabilities.eventIdentity)return{kind:"not-applicable",reason:"no-decision-identity"};let p={worktreeId:a,cliToolId:b,instanceId:d};try{n=await o.listPending(p)}catch(c){return i.warn("structured-decision-unreachable",{worktreeId:a,cliToolId:b,instanceId:d??b,error:c instanceof Error?c.message:String(c)}),{kind:"not-applicable",reason:"source-unreachable"}}let q=n.filter(a=>"permission"===a.kind);if(0===q.length)return{kind:"not-applicable",reason:"no-pending-decision"};let r=q[0];if(q.length>1&&i.info("structured-decision-multiple-pending",{worktreeId:a,cliToolId:b,instanceId:d??b,pending:q.length,answering:r.id}),m)return{kind:"refused",reason:"unresolvable_answer",message:`--default cannot answer a structured approval: the agent publishes no default verdict. Send a number instead — ${e.QB.map(a=>`${a.number} = ${a.label}`).join(", ")}.`};let s=void 0===k?null:l(k);if(!s)return{kind:"refused",reason:"answer_out_of_range",message:`'${k??""}' is not one of the verdicts this approval accepts. `+e.QB.map(a=>`${a.number} = ${a.label} (${a.reply})`).join(", ")+"."};let t=function(a){switch(a){case 1:return{kind:"allowOnce"};case 2:return{kind:"allowAlways"};case 3:return{kind:"deny",message:j};default:return null}}(s.number);if(!t)return{kind:"refused",reason:"unresolvable_answer",message:`Option ${s.number} has no verdict on this server.`};let{delivery:u}=await (0,f.GW)(o,p,r,t),v=u?.delivered===!0;if(v&&o.capabilities.permissionReplyReleasesPrompt){let{recordAgentEvent:e}=await Promise.resolve().then(c.bind(c,48083));e(a,b,d,{event:"notification",at:Date.now(),detail:h.KC,sessionId:r.conversationId,decisionId:r.id,promptSettled:!0})}return i.info("structured-decision-answered",{worktreeId:a,cliToolId:b,instanceId:d??b,decisionId:r.id,optionNumber:s.number,reply:s.reply,delivered:v}),{kind:"answered",decisionId:r.id,option:s,delivered:v}}},99508:(a,b,c)=>{c.r(b),c.d(b,{INTERACTION_SNAPSHOT_RETRY_DELAYS_MS:()=>l,__resetTerminalBroadcastState:()=>s,broadcastSessionStatus:()=>r,broadcastTerminalSnapshot:()=>m,broadcastTerminalSnapshotAfterInteraction:()=>q});var d=c(43015),e=c(88807),f=c(22642),g=c(72626),h=c(43234),i=c(93997);let j=(0,g.h)("terminal-broadcast"),k=globalThis.__terminalSnapshotVersions??(globalThis.__terminalSnapshotVersions=new Map),l=[100,250,500,750];async function m(a,b,c){if((0,d.hasRoomSubscribers)(a))try{let d=(0,e.getDbInstance)(),g=await (0,f.$v)(d,a,b,c);p(a,b,g,c)}catch(b){j.error("terminal-snapshot:failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})}}function n(a){return JSON.stringify([a.fullOutput??"",a.isRunning,a.sessionStatus,a.thinking??!1,a.isPromptWaiting??!1,a.isSelectionListActive??!1,a.isPagerActive??!1,a.isDismissablePanelActive??!1,a.isUnclassifiedActive??!1])}async function o(a,b,c){let d=h.CLIToolManager.getInstance().getTool(b);return(0,i.gm)(d.getSessionName(a,c)),(0,f.$v)((0,e.getDbInstance)(),a,b,c)}function p(a,b,c,e){let f=e??b,g=`${a}:${b}:${f}`;(0,d.broadcast)(a,{type:"terminal_snapshot",worktreeId:a,cliToolId:b,instanceId:f,output:c.fullOutput??"",isRunning:c.isRunning,sessionStatus:c.sessionStatus,thinking:c.thinking??!1,isPromptWaiting:c.isPromptWaiting??!1,promptData:c.promptData??null,isSelectionListActive:c.isSelectionListActive??!1,isPagerActive:c.isPagerActive??!1,isDismissablePanelActive:c.isDismissablePanelActive??!1,isUnclassifiedActive:c.isUnclassifiedActive??!1,version:function(a){let b=(k.get(a)??0)+1;return k.set(a,b),b}(g)})}async function q(a,b,c,e=l){if((0,d.hasRoomSubscribers)(a))try{let d=await o(a,b,c),f=n(d);for(let g of(p(a,b,d,c),e)){await new Promise(a=>setTimeout(a,g));let d=await o(a,b,c);if(n(d)!==f)return void p(a,b,d,c)}}catch(d){j.error("terminal-snapshot:interaction-refresh-failed",{worktreeId:a,cliToolId:b,instanceId:c,error:d instanceof Error?d.message:String(d)})}}function r(a,b,c){(0,d.broadcast)(a,{type:"session_status_changed",worktreeId:a,isRunning:b,cliTool:c?.cliTool??null,instance:c?.instance??null})}function s(){k.clear()}}};
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
"wasm": [],
|
|
18
18
|
"assets": [],
|
|
19
19
|
"env": {
|
|
20
|
-
"__NEXT_BUILD_ID": "
|
|
21
|
-
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "
|
|
22
|
-
"__NEXT_PREVIEW_MODE_ID": "
|
|
23
|
-
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "
|
|
24
|
-
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "
|
|
20
|
+
"__NEXT_BUILD_ID": "JfzIPPhL-ikSVcJYOKgfD",
|
|
21
|
+
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "rlP8PTvZiXLbNFK+TqoEmnccKsyPiz4/e6r7OZ2puHg=",
|
|
22
|
+
"__NEXT_PREVIEW_MODE_ID": "84d9df3842a2b97d56d5ab1587e13490",
|
|
23
|
+
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "6fc6667428ad0af0ac8df22bc75311d8952b1b91f0bcafa7af9955d05090b472",
|
|
24
|
+
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "82ab5fc716d526f6d260e4c19391d4bc9248942d369435747e637b52d2a79cae"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-7e5907979c182510.js" defer=""></script><script src="/_next/static/chunks/framework-eaf13c96191cb608.js" defer=""></script><script src="/_next/static/chunks/main-ac91ed6e71380841.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4b3fb5e477a0267f.js" defer=""></script><script src="/_next/static/chunks/pages/_error-c970d8b55ace1b48.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-7e5907979c182510.js" defer=""></script><script src="/_next/static/chunks/framework-eaf13c96191cb608.js" defer=""></script><script src="/_next/static/chunks/main-ac91ed6e71380841.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4b3fb5e477a0267f.js" defer=""></script><script src="/_next/static/chunks/pages/_error-c970d8b55ace1b48.js" defer=""></script><script src="/_next/static/JfzIPPhL-ikSVcJYOKgfD/_buildManifest.js" defer=""></script><script src="/_next/static/JfzIPPhL-ikSVcJYOKgfD/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"JfzIPPhL-ikSVcJYOKgfD","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"node":{},"edge":{},"encryptionKey":"
|
|
1
|
+
{"node":{},"edge":{},"encryptionKey":"rlP8PTvZiXLbNFK+TqoEmnccKsyPiz4/e6r7OZ2puHg="}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2407],{52407:(e,t,n)=>{n.d(t,{Fx:()=>h,Rh:()=>b,_X:()=>c,fl:()=>s,nG:()=>d,sV:()=>o});var r=n(12115),u=n(60199);let l="/api/capabilities";function c(e){return!1!==e.browserOnline&&("connected"===e.realtimeStatus||!0===e.serverReachable)}function o(e){return!1===e.browserOnline||!1===e.serverReachable}let i=new Map;async function a(e,t){let n="function"==typeof AbortController?new AbortController:void 0,r=n?setTimeout(()=>n.abort(),t):void 0;try{return await fetch(e,{method:"GET",cache:"no-store",credentials:"same-origin",signal:null==n?void 0:n.signal}),!0}catch(e){return!1}finally{void 0!==r&&clearTimeout(r)}}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5e3;if("function"!=typeof fetch)return Promise.resolve(!1);let n=i.get(e);if(n)return n;let r=a(e,t).finally(()=>{i.delete(e)});return i.set(e,r),r}let f=new Set;function d(e){f.forEach(t=>{try{t(e)}catch(e){}})}function b(e){return f.add(e),()=>{f.delete(e)}}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{probeUrl:t=l,probeDelayMs:n=1e3,probeIntervalMs:c=15e3,probeTimeoutMs:o=5e3,surfaceDelayMs:i=1500,probe:a=!0}=e,{status:f}=(0,u.xM)(),[d,h]=(0,r.useState)(!0),[v,y]=(0,r.useState)(null),[w,m]=(0,r.useState)(null),p=(0,r.useCallback)(e=>{y(t=>t===e?t:e),e&&m(Date.now())},[]);(0,r.useEffect)(()=>{if("undefined"==typeof navigator)return;h(!1!==navigator.onLine);let e=()=>{y(null),h(!0)},t=()=>{y(null),h(!1)};return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]),(0,r.useEffect)(()=>{"connected"===f&&p(!0)},[f,p]),(0,r.useEffect)(()=>b(p),[p]);let g=(0,r.useMemo)(()=>({browserOnline:d,realtimeStatus:f,serverReachable:v}),[d,f,v]),S=g.browserOnline?"connected"===g.realtimeStatus?"online":!1===g.serverReachable?"offline":!0===g.serverReachable||"connecting"===g.realtimeStatus?"reconnecting":"offline":"offline",E="online"!==S,k=(0,r.useRef)({url:t,timeoutMs:o});k.current={url:t,timeoutMs:o};let C=a&&E&&d;(0,r.useEffect)(()=>{let e;if(!C||"function"!=typeof fetch)return;let t=!1,r=async()=>{let{url:n,timeoutMs:u}=k.current,l=await s(n,u);t||(p(l),e=setTimeout(r,c))};return e=setTimeout(r,n),()=>{t=!0,void 0!==e&&clearTimeout(e)}},[C,n,c,p]);let[R,T]=(0,r.useState)(!1);(0,r.useEffect)(()=>{if(!E)return void T(!1);if(i<=0)return void T(!0);let e=setTimeout(()=>T(!0),i);return()=>clearTimeout(e)},[E,i]);let M=(0,r.useCallback)(()=>{if("function"!=typeof fetch)return;let{url:e,timeoutMs:t}=k.current;s(e,t).then(p)},[p]);return(0,r.useMemo)(()=>({status:S,isOnline:"online"===S,isReconnecting:"reconnecting"===S,isOffline:"offline"===S,shouldSurface:E&&R,signals:g,lastReachableAt:w,recheck:M}),[S,E,R,g,w,M])}},52703:(e,t,n)=>{n.d(t,{Oo:()=>u,ST:()=>r,T4:()=>o,dz:()=>c,rz:()=>l,zS:()=>i});let r="client_version",u="version_mismatch",l="chat_turn_progress",c="messages_invalidated",o="model_changed";function i(e){let t;try{t=JSON.parse(e)}catch(e){return null}if(!t||"object"!=typeof t)return null;let n=t;if("broadcast"===n.type){let e=n.data;return e&&"object"==typeof e?"string"!=typeof e.type?null:(void 0===e.worktreeId&&"string"==typeof n.worktreeId&&(e.worktreeId=n.worktreeId),e):null}return"string"==typeof n.type?n:null}},60199:(e,t,n)=>{n.d(t,{tS:()=>s,xM:()=>f,T3:()=>d});var r=n(95155),u=n(12115),l=n(52703);function c(){return"undefined"!=typeof globalThis&&"function"==typeof globalThis.WebSocket?globalThis.WebSocket:null}let o=()=>{},i={status:"disconnected",connected:!1,subscribe:o,unsubscribe:o,addListener:()=>o},a=(0,u.createContext)(null);function s(e){let{children:t,enabled:n=!0}=e,o=(0,u.useRef)(new Set),i=(0,u.useRef)(new Map),{status:s,subscribe:f,unsubscribe:d}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onEvent:t,onStatusChange:n,autoReconnect:r=!0,reconnectBaseDelay:o=1e3,reconnectMaxDelay:i=3e4,livenessTimeout:a=75e3,livenessCheckInterval:s=5e3,enabled:f=!0}=e,[d,b]=(0,u.useState)("disconnected"),h=(0,u.useRef)(null),v=(0,u.useRef)(null),y=(0,u.useRef)(0),w=(0,u.useRef)(new Set),m=(0,u.useRef)(!1),p=(0,u.useRef)(0),g=(0,u.useRef)(()=>{}),S=(0,u.useRef)(t);S.current=t;let E=(0,u.useRef)(n);E.current=n;let k=(0,u.useCallback)(e=>{var t;b(e),null==(t=E.current)||t.call(E,e)},[]),C=(0,u.useCallback)(()=>{null!==v.current&&(clearTimeout(v.current),v.current=null)},[]),R=(0,u.useCallback)(()=>{if(m.current||!r||"undefined"!=typeof document&&"hidden"===document.visibilityState)return;C();let e=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Math.random;return Math.max(0,Math.round(Math.min(t*2**Math.max(0,e),n)*(1+(2*r()-1)*.2)))}(y.current,o,i);y.current+=1,v.current=setTimeout(()=>{v.current=null,g.current()},e)},[r,o,i,C]),T=(0,u.useCallback)(()=>{if(!f)return;let e=c();if(!e||h.current&&(h.current.readyState===e.OPEN||h.current.readyState===e.CONNECTING))return;C(),m.current=!1,p.current=Date.now(),k("connecting");let t="https:"===window.location.protocol?"wss:":"ws:",n=new e("".concat(t,"//").concat(window.location.host));h.current=n,n.onopen=()=>{y.current=0,p.current=Date.now(),k("connected");try{n.send(JSON.stringify({type:l.ST,version:"0.
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2407],{52407:(e,t,n)=>{n.d(t,{Fx:()=>h,Rh:()=>b,_X:()=>c,fl:()=>s,nG:()=>d,sV:()=>o});var r=n(12115),u=n(60199);let l="/api/capabilities";function c(e){return!1!==e.browserOnline&&("connected"===e.realtimeStatus||!0===e.serverReachable)}function o(e){return!1===e.browserOnline||!1===e.serverReachable}let i=new Map;async function a(e,t){let n="function"==typeof AbortController?new AbortController:void 0,r=n?setTimeout(()=>n.abort(),t):void 0;try{return await fetch(e,{method:"GET",cache:"no-store",credentials:"same-origin",signal:null==n?void 0:n.signal}),!0}catch(e){return!1}finally{void 0!==r&&clearTimeout(r)}}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5e3;if("function"!=typeof fetch)return Promise.resolve(!1);let n=i.get(e);if(n)return n;let r=a(e,t).finally(()=>{i.delete(e)});return i.set(e,r),r}let f=new Set;function d(e){f.forEach(t=>{try{t(e)}catch(e){}})}function b(e){return f.add(e),()=>{f.delete(e)}}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{probeUrl:t=l,probeDelayMs:n=1e3,probeIntervalMs:c=15e3,probeTimeoutMs:o=5e3,surfaceDelayMs:i=1500,probe:a=!0}=e,{status:f}=(0,u.xM)(),[d,h]=(0,r.useState)(!0),[v,y]=(0,r.useState)(null),[w,m]=(0,r.useState)(null),p=(0,r.useCallback)(e=>{y(t=>t===e?t:e),e&&m(Date.now())},[]);(0,r.useEffect)(()=>{if("undefined"==typeof navigator)return;h(!1!==navigator.onLine);let e=()=>{y(null),h(!0)},t=()=>{y(null),h(!1)};return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]),(0,r.useEffect)(()=>{"connected"===f&&p(!0)},[f,p]),(0,r.useEffect)(()=>b(p),[p]);let g=(0,r.useMemo)(()=>({browserOnline:d,realtimeStatus:f,serverReachable:v}),[d,f,v]),S=g.browserOnline?"connected"===g.realtimeStatus?"online":!1===g.serverReachable?"offline":!0===g.serverReachable||"connecting"===g.realtimeStatus?"reconnecting":"offline":"offline",E="online"!==S,k=(0,r.useRef)({url:t,timeoutMs:o});k.current={url:t,timeoutMs:o};let C=a&&E&&d;(0,r.useEffect)(()=>{let e;if(!C||"function"!=typeof fetch)return;let t=!1,r=async()=>{let{url:n,timeoutMs:u}=k.current,l=await s(n,u);t||(p(l),e=setTimeout(r,c))};return e=setTimeout(r,n),()=>{t=!0,void 0!==e&&clearTimeout(e)}},[C,n,c,p]);let[R,T]=(0,r.useState)(!1);(0,r.useEffect)(()=>{if(!E)return void T(!1);if(i<=0)return void T(!0);let e=setTimeout(()=>T(!0),i);return()=>clearTimeout(e)},[E,i]);let M=(0,r.useCallback)(()=>{if("function"!=typeof fetch)return;let{url:e,timeoutMs:t}=k.current;s(e,t).then(p)},[p]);return(0,r.useMemo)(()=>({status:S,isOnline:"online"===S,isReconnecting:"reconnecting"===S,isOffline:"offline"===S,shouldSurface:E&&R,signals:g,lastReachableAt:w,recheck:M}),[S,E,R,g,w,M])}},52703:(e,t,n)=>{n.d(t,{Oo:()=>u,ST:()=>r,T4:()=>o,dz:()=>c,rz:()=>l,zS:()=>i});let r="client_version",u="version_mismatch",l="chat_turn_progress",c="messages_invalidated",o="model_changed";function i(e){let t;try{t=JSON.parse(e)}catch(e){return null}if(!t||"object"!=typeof t)return null;let n=t;if("broadcast"===n.type){let e=n.data;return e&&"object"==typeof e?"string"!=typeof e.type?null:(void 0===e.worktreeId&&"string"==typeof n.worktreeId&&(e.worktreeId=n.worktreeId),e):null}return"string"==typeof n.type?n:null}},60199:(e,t,n)=>{n.d(t,{tS:()=>s,xM:()=>f,T3:()=>d});var r=n(95155),u=n(12115),l=n(52703);function c(){return"undefined"!=typeof globalThis&&"function"==typeof globalThis.WebSocket?globalThis.WebSocket:null}let o=()=>{},i={status:"disconnected",connected:!1,subscribe:o,unsubscribe:o,addListener:()=>o},a=(0,u.createContext)(null);function s(e){let{children:t,enabled:n=!0}=e,o=(0,u.useRef)(new Set),i=(0,u.useRef)(new Map),{status:s,subscribe:f,unsubscribe:d}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onEvent:t,onStatusChange:n,autoReconnect:r=!0,reconnectBaseDelay:o=1e3,reconnectMaxDelay:i=3e4,livenessTimeout:a=75e3,livenessCheckInterval:s=5e3,enabled:f=!0}=e,[d,b]=(0,u.useState)("disconnected"),h=(0,u.useRef)(null),v=(0,u.useRef)(null),y=(0,u.useRef)(0),w=(0,u.useRef)(new Set),m=(0,u.useRef)(!1),p=(0,u.useRef)(0),g=(0,u.useRef)(()=>{}),S=(0,u.useRef)(t);S.current=t;let E=(0,u.useRef)(n);E.current=n;let k=(0,u.useCallback)(e=>{var t;b(e),null==(t=E.current)||t.call(E,e)},[]),C=(0,u.useCallback)(()=>{null!==v.current&&(clearTimeout(v.current),v.current=null)},[]),R=(0,u.useCallback)(()=>{if(m.current||!r||"undefined"!=typeof document&&"hidden"===document.visibilityState)return;C();let e=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Math.random;return Math.max(0,Math.round(Math.min(t*2**Math.max(0,e),n)*(1+(2*r()-1)*.2)))}(y.current,o,i);y.current+=1,v.current=setTimeout(()=>{v.current=null,g.current()},e)},[r,o,i,C]),T=(0,u.useCallback)(()=>{if(!f)return;let e=c();if(!e||h.current&&(h.current.readyState===e.OPEN||h.current.readyState===e.CONNECTING))return;C(),m.current=!1,p.current=Date.now(),k("connecting");let t="https:"===window.location.protocol?"wss:":"ws:",n=new e("".concat(t,"//").concat(window.location.host));h.current=n,n.onopen=()=>{y.current=0,p.current=Date.now(),k("connected");try{n.send(JSON.stringify({type:l.ST,version:"0.40.1"}))}catch(e){}w.current.forEach(e=>{try{n.send(JSON.stringify({type:"subscribe",worktreeId:e}))}catch(e){}})},n.onmessage=e=>{var t;p.current=Date.now();let n="string"==typeof e.data?e.data:String(e.data),r=(0,l.zS)(n);r&&"heartbeat"!==r.type&&(null==(t=S.current)||t.call(S,r))},n.onerror=()=>{k("error")},n.onclose=()=>{h.current=null,k("disconnected"),R()}},[f,k,C,R]);g.current=T;let M=(0,u.useCallback)(()=>{let e=h.current;if(e){e.onopen=null,e.onmessage=null,e.onerror=null,e.onclose=null,h.current=null;try{e.close(4001,"half-open")}catch(e){}k("disconnected"),R()}},[k,R]),O=(0,u.useCallback)(()=>{if(C(),m.current=!0,h.current){try{h.current.close(1e3,"Client disconnect")}catch(e){}h.current=null}},[C]),N=(0,u.useCallback)(e=>{let t=h.current,n=c();if(t&&n&&t.readyState===n.OPEN)try{t.send(JSON.stringify(e))}catch(e){}},[]),_=(0,u.useCallback)(e=>{w.current.has(e)||(w.current.add(e),N({type:"subscribe",worktreeId:e}))},[N]),L=(0,u.useCallback)(e=>{w.current.has(e)&&(w.current.delete(e),N({type:"unsubscribe",worktreeId:e}))},[N]);return(0,u.useEffect)(()=>{if(f)return T(),()=>{O()}},[f,T,O]),(0,u.useEffect)(()=>{if(!f)return;let e=setInterval(()=>{let e=h.current,t=c();e&&t&&e.readyState===t.OPEN&&(Date.now()-p.current<a||M())},s);return()=>clearInterval(e)},[f,a,s,M]),(0,u.useEffect)(()=>{if(!f||"undefined"==typeof document)return;let e=()=>{"visible"===document.visibilityState&&(h.current||(y.current=0,T()))};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[f,T]),(0,u.useEffect)(()=>{if(!f)return;let e=()=>{h.current||(y.current=0,T())};return window.addEventListener("online",e),()=>window.removeEventListener("online",e)},[f,T]),{status:d,subscribe:_,unsubscribe:L,send:N}}({enabled:n,onEvent:(0,u.useCallback)(e=>{o.current.forEach(t=>{try{t(e)}catch(e){}})},[])}),b=(0,u.useCallback)(e=>{var t;let n=i.current,r=null!=(t=n.get(e))?t:0;n.set(e,r+1),0===r&&f(e)},[f]),h=(0,u.useCallback)(e=>{var t;let n=i.current,r=null!=(t=n.get(e))?t:0;r<=1?(n.delete(e),d(e)):n.set(e,r-1)},[d]),v=(0,u.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),y=(0,u.useMemo)(()=>({status:s,connected:"connected"===s,subscribe:b,unsubscribe:h,addListener:v}),[s,b,h,v]);return(0,r.jsx)(a.Provider,{value:y,children:t})}function f(){var e;return null!=(e=(0,u.useContext)(a))?e:i}function d(e){let{addListener:t}=f(),n=(0,u.useRef)(e);n.current=e,(0,u.useEffect)(()=>t(e=>n.current(e)),[t])}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4768],{2317:(e,t,r)=>{r.d(t,{V:()=>s});var a=r(12115);function n(){try{let e="__localStorage_test__";return window.localStorage.setItem(e,"test"),window.localStorage.removeItem(e),!0}catch(e){return!1}}function s(e){let{key:t,defaultValue:r,validate:s,serialize:i=JSON.stringify,deserialize:c=JSON.parse}=e,o=(0,a.useRef)(r),l=(0,a.useRef)(s),u=(0,a.useRef)(i),f=(0,a.useRef)(c);o.current=r,l.current=s,u.current=i,f.current=c;let[d,m]=(0,a.useState)(!1),[y,p]=(0,a.useState)(r),w=(0,a.useCallback)(()=>{if(!n())return o.current;try{let e=window.localStorage.getItem(t);if(null===e)return o.current;let r=f.current(e);if(l.current)return l.current(r)?r:o.current;return r}catch(e){return o.current}},[t]),g=(0,a.useCallback)(e=>{if(n())try{let r=u.current(e);window.localStorage.setItem(t,r)}catch(e){}},[t]),h=(0,a.useCallback)(e=>{p(t=>{let r="function"==typeof e?e(t):e;return g(r),r})},[g]),N=(0,a.useCallback)(()=>{if(n())try{window.localStorage.removeItem(t)}catch(e){}p(o.current)},[t]);return(0,a.useEffect)(()=>{m(n()),p(w())},[w]),{value:y,setValue:h,removeValue:N,isAvailable:d}}},7636:(e,t,r)=>{r.d(t,{$m:()=>c,BN:()=>E,EN:()=>o,EY:()=>D,El:()=>b,Ii:()=>I,Kp:()=>k,LV:()=>p,PB:()=>u,Si:()=>s,UB:()=>v,UZ:()=>m,Xn:()=>C,ZC:()=>O,ZD:()=>T,_s:()=>A,fs:()=>R,j:()=>S,m3:()=>l,nO:()=>w,s6:()=>y,zD:()=>N});var a=r(38606);let n=["updatedAt","repositoryName","branchName","status","lastSent"],s=e=>n.includes(e),i=["grouped","flat","sessions"],c=e=>i.includes(e),o=["always","collapsed","hidden"],l=e=>o.includes(e),u="collapsed",f={waiting:0,ready:1,running:2,generating:3,idle:4},d=["waiting","running","generating","ready","idle"];function m(e){let t=new Set;for(let r of e)!1===r.visible&&t.add(r.path);return t}function y(e,t){return 0===t.size?e.slice():e.filter(e=>{let r=e.repositoryPath;return!r||!t.has(r)})}function p(e){let t=function(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t+e.charCodeAt(r)|0;return Math.abs(t)}(e)%360;return"hsl(".concat(t,", ").concat(65,"%, ").concat(60,"%)")}function w(e,t){if(!e&&!t)return 0;if(!e)return 1;if(!t)return -1;let r=e instanceof Date?e.getTime():new Date(e).getTime();return(t instanceof Date?t.getTime():new Date(t).getTime())-r}function g(e){return e.cliStatus&&Object.keys(e.cliStatus).length>0?(0,a.A7)(e.cliStatus):e.status}function h(e){return"waiting"===g(e)}function N(e){let t=new Set(e.map(g));for(let e of d)if(t.has(e))return e;return"idle"}function b(e){return"ready"===N(e)&&e.some(e=>"ready"===g(e)&&(0,a.Pn)(e.cliStatus,e.unclassifiedInstanceIds))}function S(e){let t=0;for(let r of e)h(r)&&t++;return t}function C(e,t,r){let a=[...e],n="status"!==t;return a.sort((e,a)=>{if(n){let t=Number(h(a))-Number(h(e));if(0!==t)return t}let s=0;switch(t){case"updatedAt":{let t=e=>e?e instanceof Date?e.getTime():new Date(e).getTime():0,r=t(e.lastActivity);s=t(a.lastActivity)-r;break}case"repositoryName":{let t=e.repositoryName.toLowerCase(),r=a.repositoryName.toLowerCase();s=t.localeCompare(r);break}case"branchName":{let t=e.name.toLowerCase(),r=a.name.toLowerCase();s=t.localeCompare(r);break}case"status":s=f[e.status]-f[a.status];break;case"lastSent":{let t=w(e.lastActivity,a.lastActivity);if(!e.lastActivity&&!a.lastActivity){s=0;break}if(!e.lastActivity)return 1;if(!a.lastActivity)return -1;s=t;break}default:s=0}return("updatedAt"===t||"lastSent"===t?"desc"===r:"asc"===r)?s:-s}),a}function A(e,t,r){let a=new Map;for(let t of e){let e=t.repositoryName;a.has(e)||a.set(e,[]),a.get(e).push(t)}return[...a.keys()].sort((e,t)=>e.toLowerCase().localeCompare(t.toLowerCase())).map(e=>({repositoryName:e,branches:C(a.get(e),t,r)}))}function v(e){let t=[];for(let c of e){var r,a,n,s,i;let e=new Set(null!=(r=c.exitedInstanceIds)?r:[]),o=new Set(null!=(a=c.unclassifiedInstanceIds)?a:[]);for(let[r,a]of Object.entries(null!=(n=c.cliStatus)?n:{}))t.push({key:"".concat(c.id,":").concat(r),worktreeId:c.id,instanceId:r,label:null!=(i=null==(s=c.cliStatusLabels)?void 0:s[r])?i:r,status:null!=a?a:"idle",branchName:c.name,repositoryName:c.repositoryName,lastActivity:c.lastActivity,exited:e.has(r),..."ready"===a&&o.has(r)?{unclassified:!0}:{}})}return t}let k="instance";function I(e){return"/worktrees/".concat(e.worktreeId,"?").concat(k,"=").concat(encodeURIComponent(e.instanceId))}function L(e){return e.lastActivity?e.lastActivity instanceof Date?e.lastActivity.getTime():new Date(e.lastActivity).getTime():0}function D(e,t,r){let a="asc"===r?1:-1;return e.slice().sort((e,r)=>{let n=f[e.status]-f[r.status];if("status"===t)return 0!==n?n*a:L(r)-L(e);if(0!==n)return n;switch(t){case"updatedAt":case"lastSent":return(L(e)-L(r))*a;case"repositoryName":return e.repositoryName.toLowerCase().localeCompare(r.repositoryName.toLowerCase())*a;case"branchName":return e.branchName.toLowerCase().localeCompare(r.branchName.toLowerCase())*a;default:return 0}})}let _="mcbd-sidebar-group-order-cache";function T(){try{let e=localStorage.getItem(_);if(!e)return[];let t=function(e){try{let t=JSON.parse(e);if(!Array.isArray(t))return[];return t.filter(e=>"string"==typeof e).slice(0,500)}catch(e){return[]}}(e);return t.length,t}catch(e){return[]}}function O(e){try{localStorage.setItem(_,JSON.stringify(e))}catch(e){}}function E(e,t){if(0===t.length)return e.slice();let r=new Map(t.map((e,t)=>[e,t]));return e.slice().sort((e,t)=>{let a=r.has(e.repositoryName)?r.get(e.repositoryName):1/0,n=r.has(t.repositoryName)?r.get(t.repositoryName):1/0;return a===n?e.repositoryName.localeCompare(t.repositoryName):a-n})}function R(e,t){return"hidden"!==e&&("always"===e||!t)}}}]);
|