commandmate 0.45.0 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +333 -328
- package/.next/app-path-routes-manifest.json +24 -24
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +6 -6
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route_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_client-reference-manifest.js +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_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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +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_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_client-reference-manifest.js +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_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 +3 -3
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/env/route_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.js +3 -3
- 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_client-reference-manifest.js +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_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_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_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +3 -3
- 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 +3 -3
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/schedules/route_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_client-reference-manifest.js +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_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_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_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_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page.js +1 -1
- package/.next/server/app/more/page.js.nft.json +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page.js +1 -1
- package/.next/server/app/offline/page.js.nft.json +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page.js +2 -2
- package/.next/server/app/repositories/page.js.nft.json +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page.js +1 -1
- package/.next/server/app/review/page.js.nft.json +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +1 -1
- package/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page.js +2 -2
- package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page.js +1 -1
- package/.next/server/app/skills/installed/page.js.nft.json +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page.js +1 -1
- package/.next/server/app/skills/page.js.nft.json +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +12 -9
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +24 -24
- package/.next/server/chunks/1341.js +1 -1
- package/.next/server/chunks/1501.js +2 -2
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2283.js +15 -13
- package/.next/server/chunks/2335.js +1 -0
- package/.next/server/chunks/2404.js +4 -4
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/2460.js +1 -1
- package/.next/server/chunks/2560.js +1 -1
- package/.next/server/chunks/3543.js +1 -1
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/4072.js +15 -0
- package/.next/server/chunks/4207.js +1 -1
- package/.next/server/chunks/{4802.js → 4243.js} +1 -1
- package/.next/server/chunks/4718.js +3 -3
- package/.next/server/chunks/4837.js +3 -3
- package/.next/server/chunks/5209.js +1 -1
- package/.next/server/chunks/5625.js +2 -2
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6345.js +1 -0
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6722.js +1 -0
- package/.next/server/chunks/8098.js +1 -1
- package/.next/server/chunks/8356.js +1 -1
- package/.next/server/chunks/8581.js +25 -29
- package/.next/server/chunks/8728.js +1 -1
- package/.next/server/chunks/8800.js +4 -4
- package/.next/server/chunks/9731.js +1 -1
- package/.next/server/chunks/9862.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_error.js +2 -2
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{7485.8a2a9d7c5396aa26.js → 1111.5ab4f0ffb0d944e5.js} +2 -2
- package/.next/static/chunks/{2407-dd4a0f04f1349221.js → 2407-acb644c5487e1720.js} +1 -1
- package/.next/static/chunks/{2619-a305ad4810f1393a.js → 2619-04bc32f026a0d946.js} +1 -1
- package/.next/static/chunks/2717.21abf5b6bbd45520.js +1 -0
- package/.next/static/chunks/2770-db80aedf6384d594.js +1 -0
- package/.next/static/chunks/2863-6a07ec82fb52f4dd.js +1 -0
- package/.next/static/chunks/3201-c01f1feed69020e6.js +1 -0
- package/.next/static/chunks/3662-5a27ee39a3ecba49.js +1 -0
- package/.next/static/chunks/4541-b0ce0bf829ae79b7.js +1 -0
- package/.next/static/chunks/4768-ad6f82f034f21eae.js +1 -0
- package/.next/static/chunks/5371-a94ed618148287a0.js +1 -0
- package/.next/static/chunks/5794-947fb4934d8be193.js +1 -0
- package/.next/static/chunks/5927-54315d21f323e204.js +1 -0
- package/.next/static/chunks/602-25e45a2422d2a3ea.js +1 -0
- package/.next/static/chunks/6288-09feba367cc2c65e.js +1 -0
- package/.next/static/chunks/6606-02ddc006686a6b7d.js +1 -0
- package/.next/static/chunks/6654-f3534f35f16644bc.js +1 -0
- package/.next/static/chunks/7730-011e137be64403ae.js +1 -0
- package/.next/static/chunks/8165-263172c17ae8e8c3.js +1 -0
- package/.next/static/chunks/8606-cf6bdbff44a764cf.js +1 -0
- package/.next/static/chunks/934-a37509667baa86ee.js +1 -0
- package/.next/static/chunks/9465-e5a351baa941f31b.js +1 -0
- package/.next/static/chunks/953.31c52a251deda22d.js +1 -0
- package/.next/static/chunks/app/layout-ae30ce63569c22be.js +1 -0
- package/.next/static/chunks/app/repositories/page-71f5a5ac29b0370d.js +1 -0
- package/.next/static/chunks/app/review/page-e2fd4a590646a2d8.js +1 -0
- package/.next/static/chunks/app/sessions/page-9859ed61e93e6890.js +1 -0
- package/.next/static/chunks/app/skills/[skillId]/page-52ba58712faf3378.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-9cf1ecc59e36a004.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-2eb1d0fd0a077b7e.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/terminal/{page-c601f3b3ece6557e.js → page-373ea37b16d930c7.js} +1 -1
- package/.next/static/chunks/{webpack-165d8df9acd1c5d4.js → webpack-c0b821f340afdebf.js} +1 -1
- package/.next/static/css/743f79ff19ab91e9.css +1 -0
- package/.next/trace +13 -13
- package/dist/server/locales/en/worktree.json +48 -17
- package/dist/server/locales/ja/worktree.json +48 -17
- package/dist/server/src/config/activity-bar-config.js +56 -9
- package/dist/server/src/lib/auto-yes-poller.js +16 -163
- package/dist/server/src/lib/polling/auto-yes-enter-fallback-state.js +1 -1
- package/dist/server/src/lib/polling/auto-yes-poller-state.js +52 -0
- package/dist/server/src/lib/polling/auto-yes-prompt-suppression.js +125 -0
- package/dist/server/src/lib/polling/prompt-dedup-state.js +26 -7
- package/dist/server/src/lib/polling/prompt-dedup.js +125 -6
- package/dist/server/src/lib/polling/response-checker.js +53 -2
- package/dist/server/src/lib/polling/response-dedup.js +159 -14
- package/dist/server/src/lib/polling/response-poller-core.js +47 -26
- package/dist/server/src/lib/session/next-action-helper.js +2 -15
- package/dist/server/src/lib/verification/env-clean-gate.js +14 -1
- package/dist/server/src/lib/verification/gate-runner.js +17 -11
- package/dist/server/src/lib/verification/scope-gate.js +169 -3
- package/dist/server/src/types/sidebar.js +1 -0
- package/docs/en/architecture.md +26 -14
- package/docs/en/user-guide/webapp-guide.md +31 -18
- package/package.json +1 -1
- package/release-notes/0.45.1.json +38 -0
- package/release-notes/0.46.0.json +110 -0
- package/.next/server/chunks/1674.js +0 -15
- package/.next/server/chunks/364.js +0 -1
- package/.next/server/chunks/488.js +0 -1
- package/.next/server/chunks/5326.js +0 -1
- package/.next/server/chunks/6927.js +0 -1
- package/.next/static/chunks/1642-767aed8e7c61ef7f.js +0 -1
- package/.next/static/chunks/2053-390e77fce43b555c.js +0 -1
- package/.next/static/chunks/2770-827a64760bab8a3a.js +0 -1
- package/.next/static/chunks/3922.f45dcfc1e7da552a.js +0 -1
- package/.next/static/chunks/4727-5d695d71e3fdf97b.js +0 -1
- package/.next/static/chunks/4768-fc0aa1d0891cac08.js +0 -1
- package/.next/static/chunks/5521-c358c31f60e5e689.js +0 -1
- package/.next/static/chunks/6192-a67df090838b9aad.js +0 -1
- package/.next/static/chunks/6322-f1b30ed0ee43518f.js +0 -1
- package/.next/static/chunks/6654-ac431270fac1a283.js +0 -1
- package/.next/static/chunks/8165-3525fb42f1b4976e.js +0 -1
- package/.next/static/chunks/8283-26ad31a4670ea52d.js +0 -1
- package/.next/static/chunks/8318-01e7d1e5ad0a15a3.js +0 -1
- package/.next/static/chunks/8566-aeda747542072ace.js +0 -1
- package/.next/static/chunks/8606-79c36d4c204bbd38.js +0 -1
- package/.next/static/chunks/8811-29eaa24237f48558.js +0 -1
- package/.next/static/chunks/953.19e4c8178c9eac4c.js +0 -1
- package/.next/static/chunks/9619-6c17a271f7f98fbb.js +0 -1
- package/.next/static/chunks/998-2eb5883186abd0bd.js +0 -1
- package/.next/static/chunks/app/layout-07d040cb3d3ea657.js +0 -1
- package/.next/static/chunks/app/repositories/page-6f7511f4ac8449e2.js +0 -1
- package/.next/static/chunks/app/review/page-95f749caae382f46.js +0 -1
- package/.next/static/chunks/app/sessions/page-2af68c63211c751f.js +0 -1
- package/.next/static/chunks/app/skills/[skillId]/page-9ee7a381636e60cb.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-5445205c8dd80109.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-35f0e31a725d1c89.js +0 -1
- package/.next/static/css/057f64a65726c439.css +0 -1
- /package/.next/static/{TPWbZB3zBp3Zv_eFEOlmt → zI2nQ6WKboSbFbMF4EtrJ}/_buildManifest.js +0 -0
- /package/.next/static/{TPWbZB3zBp3Zv_eFEOlmt → zI2nQ6WKboSbFbMF4EtrJ}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=5209,exports.ids=[5209],exports.modules={998:(a,b,c)=>{c.d(b,{BF:()=>f,EH:()=>i,_R:()=>h});var d=c(
|
|
1
|
+
"use strict";exports.id=5209,exports.ids=[5209],exports.modules={998:(a,b,c)=>{c.d(b,{BF:()=>f,EH:()=>i,_R:()=>h});var d=c(16399);let e={"session-killed":{state:"disable",poller:"stop"},"instance-removed":{state:"delete",poller:"stop"},"worktree-deleted":{state:"delete",poller:"stop"},"orphan-swept":{state:"delete",poller:"stop"},"consecutive-errors":{state:"disable",stopReason:"consecutive_errors",poller:"stop"},"server-shutdown":{state:"none",poller:"stop"}};function f(a,b){if("stop"===e[a].poller)switch(b.scope){case"instance":(0,d._i)((0,d.v7)(b.worktreeId,b.cliToolId,b.instanceId));return;case"worktree":(0,d._C)(b.worktreeId);return;case"key":(0,d._i)(b.compositeKey);return;case"all":(0,d.BS)();return}}function g(a,b){let c=(0,d.pL)(a);c&&(0,d.XK)((0,d.Ue)(a),c,b,(0,d.GE)(a)??void 0)}function h(a,b){let c=e[a];if("none"!==c.state)switch(b.scope){case"instance":"disable"===c.state?(0,d.XK)(b.worktreeId,b.cliToolId,c.stopReason,b.instanceId):(0,d.DR)((0,d.v7)(b.worktreeId,b.cliToolId,b.instanceId));return;case"worktree":"disable"===c.state?(0,d.kC)(b.worktreeId).forEach(a=>g(a,c.stopReason)):(0,d.LP)(b.worktreeId);return;case"key":"disable"===c.state?g(b.compositeKey,c.stopReason):(0,d.DR)(b.compositeKey);return;case"all":(0,d.hN)().forEach(a=>"disable"===c.state?g(a,c.stopReason):(0,d.DR)(a));return}}function i(a,b){f(a,b),h(a,b)}},23197:(a,b,c)=>{c.d(b,{H:()=>d});let d="__global__"},65209:(a,b,c)=>{c.d(b,{Nz:()=>t,l7:()=>x,vr:()=>v});var d=c(95220),e=c(998),f=c(56793),g=c(85775),h=c(93997),i=c(15194),j=c(23197),k=c(77093),l=c(72626),m=c(8360),n=c(79892),o=c(82325),p=c(73753),q=c(31347);let r=(0,l.h)("session-cleanup");async function s(a,b){let c={worktreeId:a,sessionsKilled:[],sessionErrors:[],pollersStopped:[],pollerErrors:[]};for(let e of((0,h.pc)(),i.XH)){try{await b(a,e)&&(c.sessionsKilled.push(e),r.info("session:killed",{worktreeId:a,cliToolId:e}))}catch(d){let b=`${e}: ${(0,k.u1)(d)}`;c.sessionErrors.push(b),r.warn("session:kill-failed",{worktreeId:a,cliToolId:e,error:d instanceof Error?d.message:String(d)})}try{(0,d.stopPolling)(a,e),c.pollersStopped.push(`response-poller:${e}`)}catch(d){let b=`response-poller:${e}: ${(0,k.u1)(d)}`;c.pollerErrors.push(b),r.warn("response-poller:stop-failed",{worktreeId:a,cliToolId:e,error:d instanceof Error?d.message:String(d)})}}try{(0,e.BF)("worktree-deleted",{scope:"worktree",worktreeId:a}),c.pollersStopped.push("auto-yes-poller")}catch(d){let b=`auto-yes-poller: ${(0,k.u1)(d)}`;c.pollerErrors.push(b),r.warn("auto-yes-poller:stop-failed",{worktreeId:a,error:d instanceof Error?d.message:String(d)})}try{(0,e._R)("worktree-deleted",{scope:"worktree",worktreeId:a}),c.pollersStopped.push("auto-yes-state")}catch(d){let b=`auto-yes-state: ${(0,k.u1)(d)}`;c.pollerErrors.push(b),r.warn("auto-yes-state:delete-failed",{worktreeId:a,error:d instanceof Error?d.message:String(d)})}try{(0,f.Yg)(a),c.pollersStopped.push("schedule-manager")}catch(d){let b=`schedule-manager: ${(0,k.u1)(d)}`;c.pollerErrors.push(b),r.warn("schedule-manager:stop-failed",{worktreeId:a,error:d instanceof Error?d.message:String(d)})}try{(0,g.Tm)(a),c.pollersStopped.push("timer-manager")}catch(d){let b=`timer-manager: ${(0,k.u1)(d)}`;c.pollerErrors.push(b),r.warn("timer-manager:stop-failed",{worktreeId:a,error:d instanceof Error?d.message:String(d)})}return c}async function t(a,b){let c=await Promise.allSettled(a.map(a=>s(a,b))),d=[],e=[];for(let b=0;b<c.length;b++){let f=c[b],g=a[b];if("fulfilled"===f.status){let a=f.value;for(let b of(d.push(a),a.sessionErrors))e.push(`Session kill error (${g}): ${b}`);for(let b of a.pollerErrors)e.push(`Poller stop error (${g}): ${b}`)}else e.push(`Cleanup failed (${g}): ${(0,k.u1)(f.reason)}`)}return{results:d,warnings:e}}async function u(a,b,c){try{let e=m.CLIToolManager.getInstance().getTool(b);if(!await e.isRunning(a))return!1;let f=e.getSessionName(a),g=await (0,q.s_)(f,c);if("owned"!==g.verdict)return!1;let h=`${a}:${b}`;return(0,d.clearPromptHashCache)(h),(0,n.fY)(f)}catch{return!1}}function v(a){return async(b,c)=>{let d=a.get(b);return void 0!==d&&u(b,c,d)}}async function w(){let a=0,b=m.CLIToolManager.getInstance();for(let c of i.XH)try{let d=b.getTool(c).getSessionName(j.H);await (0,n.N)(d)&&await (0,n.fY)(d)&&(a++,r.info("global-session:killed",{cliToolId:c,sessionName:d}))}catch(a){r.warn("global-session:kill-failed",{cliToolId:c,error:(0,k.u1)(a)})}return a}async function x(a,b){let c=new Map((0,p.Sj)(a).map(a=>[a.id,a.path])),d=(0,o.L0)(a,b);try{await w()}catch(a){r.warn("sync:global-cleanup-failed",{error:(0,k.u1)(a)})}let e=[];if(d.deletedIds.length>0)try{let a=await t(d.deletedIds,v(c));a.warnings.length>0&&(r.warn("sync:cleanup-warnings",{warnings:a.warnings}),e=[`${a.warnings.length} session cleanup warning(s) occurred`])}catch(a){r.error("sync:cleanup-failed",{error:(0,k.u1)(a)}),e=["Session cleanup encountered an error"]}return{syncResult:d,cleanupWarnings:e}}},82325:(a,b,c)=>{c.d(b,{Hz:()=>o,L0:()=>r,Mg:()=>s,YM:()=>p,Yp:()=>q});var d=c(79646),e=c(28354),f=c(29021),g=c.n(f),h=c(33873),i=c.n(h),j=c(23718),k=c(56791),l=c(72626),m=c(64185);let n=(0,l.h)("worktrees");function o(){let a=process.env.WORKTREE_REPOS;return a&&a.trim()?a.split(",").map(a=>a.trim()).filter(a=>a.length>0):[]}async function p(a){let b=(0,e.promisify)(d.exec);if(function(a){if(!a)return!1;try{return g().lstatSync(a),!1}catch(b){let a=b.code;return"ENOENT"===a||"ENOTDIR"===a}}(a))return n.warn("repository:scan-skipped-missing-dir",{repoPath:a}),[];try{let{stdout:c}=await b("git worktree list",{cwd:a}),d=function(a){if(!a||""===a.trim())return[];let b=a.trim().split("\n"),c=[];for(let a of b){let b=a.trim();if(!b)continue;let d=b.match(/^(.+?)\s+([a-z0-9]+)\s+(?:\[(.+?)\]|\(detached HEAD\))/);if(d){let[,a,b,e]=d;c.push({path:a.trim(),branch:e||`detached-${b}`,commit:b})}}return c}(c),e=i().resolve(a),f=i().basename(e);return(0,m.oZ)(e),d.map(a=>{let b=i().resolve(a.path);return{id:(0,j.ko)(b),name:a.branch,branch:a.branch,path:b,repositoryPath:e,repositoryName:f}}).filter(a=>["/etc","/root","/sys","/proc","/dev","/boot","/bin","/sbin","/usr/bin","/usr/sbin"].some(b=>a.path.startsWith(b))?(n.warn("worktree:unsafe-path-skipped",{path:a.path}),!1):!(a.path.includes("\0")||a.path.includes(".."))||(n.warn("worktree:malicious-path-skipped",{path:a.path}),!1))}catch(c){let a=c instanceof Error?c.message:String(c),b=c.code;if(a?.includes("not a git repository")||128===b)return[];throw c}}async function q(a){let b=await Promise.allSettled(a.map(async a=>{n.info("repository:scan-start",{repoPath:a});let b=await p(a);return n.info("repository:scan-complete",{repoPath:a,worktreeCount:b.length}),b})),c=[];for(let d=0;d<b.length;d++){let e=b[d];"fulfilled"===e.status?c.push(...e.value):n.error("repository:scan-failed",{repoPath:a[d],error:e.reason instanceof Error?e.reason.message:String(e.reason)})}return c}function r(a,b){if(0===b.length)return{deletedIds:[],upsertedCount:0};let c=[],d=0,e=new Map;for(let a of b){let b=a.repositoryPath||"";e.has(b)||e.set(b,[]),e.get(b).push(a)}let f=new Set([...(0,k.getAllWorktreeIds)(a),...(0,k.getAliasedWorktreeIds)(a)]),g=new Map((0,k.getAllWorktreePathIds)(a).map(a=>[i().resolve(a.path),a.id])),h=new Map,l=new Map;for(let[a,b]of g)h.set(a,new Set([b])),l.set(b,a);for(let b of(0,k.getAllWorktreeAliases)(a)){let a=l.get(b.worktreeId);a&&h.get(a)?.add(b.oldId)}let m=new Set(b.map(a=>i().resolve(a.path)));for(let[b,o]of e){if(!b)continue;let e=(0,k.getWorktreesByRepository)(a,b).filter(a=>!m.has(i().resolve(a.path))).map(a=>a.id);if(e.length>0){let b=(0,k.deleteWorktreesByIds)(a,e);for(let a of(c.push(...e),e)){f.delete(a);let b=l.get(a);void 0!==b&&(g.delete(b),h.delete(b))}n.info("worktree:cleanup",{deletedCount:b.deletedCount})}for(let b of o){let c=i().resolve(b.path),e=g.get(c),m=b.id,n=e??(m&&!f.has(m)?m:function(a,b,c){if(!c||0===c.size)return(0,j.ko)(a,b);let d=new Set(b);for(let a of c)d.delete(a);return(0,j.ko)(a,d)}(c,f,h.get(c)));f.add(n),g.set(c,n),l.set(n,c),(0,k.upsertWorktree)(a,{...b,id:n,name:b.branch??b.name}),d++}}return{deletedIds:c,upsertedCount:d}}function s(a,b){let c=new Set(b.map(a=>a.repositoryPath).filter(a=>!!a)),d=[];for(let b of(0,k.getRepositories)(a)){let e=b.path;if(!e||c.has(e)||function(a){if(!a)return!1;try{return g().existsSync(a)&&g().existsSync(i().join(a,".git"))}catch{return!0}}(e))continue;let f=(0,k.getWorktreesByRepository)(a,e).map(a=>a.id);if(0===f.length)continue;let h=(0,k.deleteWorktreesByIds)(a,f);d.push(...f),n.info("worktree:stale-repo-pruned",{repoPath:e,deletedCount:h.deletedCount})}return d}}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=5625,exports.ids=[5625],exports.modules={60:(a,b,c)=>{c.d(b,{QM:()=>h,V0:()=>e,ZX:()=>f,bE:()=>g});var d=c(61789);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)}},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)."}}},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")}},34331:(a,b,c)=>{c.d(b,{L:()=>g});var d=c(88807),e=c(73753),f=c(96463);async function g(a,b,c=(0,d.getDbInstance)()){let h=(0,e.getWorktreeById)(c,a);return h?(0,f.s_)(b,h.path):null}},39219:(a,b,c)=>{c.d(b,{v7:()=>d.v7,DR:()=>d.DR,LP:()=>d.LP,XK:()=>d.XK,pL:()=>d.pL,GE:()=>d.GE,Ue:()=>d.Ue,aq:()=>d.aq,hN:()=>d.hN,kC:()=>d.kC,xU:()=>I,bZ:()=>J,W8:()=>d.W8,W5:()=>X,BS:()=>Z,_i:()=>Y,_C:()=>$});var d=c(24455),e=c(31990),f=c(54300),g=c(77244),h=c(75498),i=c(91318),j=c(32236),k=c(61878),l=c(52277),m=c(16402),n=c(51607),o=c(52767),p=c(88807),q=c(52660),r=c(34331),s=c(63869),t=c(4803),u=c(79892),v=c(8360),w=c(61789),x=c(85726),y=c(77093),z=c(93997),A=c(68901),B=c(72626),C=c(66007),D=c(36925);let E=(0,B.h)("auto-yes-poller"),F=(0,D.v)("__autoYesPollerStates",()=>new Map),G=(0,D.v)("__autoYesWithheldNoReceiptLoggedAt",()=>new Map);function H(a){return F.get(a)}function I(a){let b=H(a);return b?.lastServerResponseTimestamp??null}function J(a){return F.has(a)}function K(a){let b=H(a);b&&(b.consecutiveErrors=0,b.currentInterval=d.ps)}function L(a){let b=H(a);if(b&&(b.consecutiveErrors++,b.currentInterval=(0,d.G)(b.consecutiveErrors),b.consecutiveErrors>=A.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),Y(a)}}function M(a){let b="multiple_choice"===a.type?a.options.map(a=>`${a.isDefault?">":""}${a.number}.${a.label}`).join("\n"):"";return[(0,x.J)(a),b,a.approvalTarget??""].join("\0")}function N(a,b,c,d){let e=`${c}\u0000${b}`;if(a.lastSkipWarnKey===e)return void E.debug(c,{...d,repeated:!0});a.lastSkipWarnKey=e,E.warn(c,d)}async function O(a,b,c,d){let f=c??A.FW,g=await (0,e.Wh)(a,b,f,d);return{raw:g,clean:(0,w._A)((0,w.aJ)(g))}}function P(a,b,c,d,e){let{worktreeId:f,cliToolId:g,instanceId:h}=a;(0,l.ZS)(f,g,h,b),N(a.pollerState,c,d,{worktreeId:f,cliToolId:g,instanceId:h,...e})}function Q(a,b){let{promptData:c,frameKey:d}=a;P(a,{reason:"unclassified-frame",mode:null,promptType:c.type},`${d}\u0000${b.dialog?.kind??""}\u0000${b.mode}`,"poller:auto-yes-skipped-unclassified-frame",{promptType:c.type,dialogKind:b.dialog?.kind??null,answerMode:b.dialog?.answerMode??null,gateMode:b.mode})}async function R(a,b,c,d){let{worktreeId:g,cliToolId:l,instanceId:o,pollerState:p,promptData:q,frameKey:s}=a,x=null===c.dialog?(0,n.gp)(l,d):null;if(null===x||!x.eligible)return p.enterFallbackCandidateKey=null,Q(a,c),!1;let y=(0,n.GR)(q);if(p.enterFallbackSentKey===s)return p.enterFallbackCandidateKey=null,(0,n.gq)(g,l,o,y),Q(a,c),N(p,`${s}\u0000enter-fallback-no-effect`,"poller:auto-yes-enter-fallback-no-effect",{worktreeId:g,cliToolId:l,instanceId:o,promptType:q.type,refusalReason:x.refusalReason}),!1;let A=(0,i.n)(g,l,o),B=(0,h.sD)(q,A);if(B.suppressedBy)return p.enterFallbackCandidateKey=null,P(a,{reason:B.suppressedBy,mode:A?.mode??null,promptType:q.type,pattern:B.pattern},`${s}\u0000${B.suppressedBy}\u0000${A?.mode??""}\u0000${B.pattern??""}`,"poller:auto-yes-suppressed-by-policy",{reason:B.suppressedBy,mode:A?.mode??null,pattern:B.pattern,promptType:q.type,enterFallback:!0}),!1;if(null===B.answer||"multiple_choice"===q.type&&(0,t.eM)(q))return p.enterFallbackCandidateKey=null,Q(a,c),!1;if(p.enterFallbackCandidateKey!==s)return p.enterFallbackCandidateKey=s,E.debug("poller:auto-yes-enter-fallback-candidate",{worktreeId:g,cliToolId:l,instanceId:o,promptType:q.type}),!1;let C=v.CLIToolManager.getInstance().getTool(l).getSessionName(g,o),D=await (0,r.L)(g,C);if(null===D||"foreign"===D.verdict)return N(p,`${s}\u0000${C}\u0000${D?"foreign":"worktree_not_found"}`,"poller:auto-yes-skipped-foreign-session",{worktreeId:g,cliToolId:l,instanceId:o,sessionName:C,sessionPath:D?.sessionPath??null,reason:D?"foreign":"worktree_not_found",enterFallback:!0}),!1;if(!function(a,b){let{worktreeId:c,cliToolId:d,instanceId:e,frameKey:g}=a,h=(0,w._A)((0,w.aJ)(b)),i=(0,k.zJ)(b,d),l=(0,f.$M)(h,d,h.split("\n"),b,{worktreeId:c,instanceId:e},i);if(!l.isPrompt||!l.promptData||M(l.promptData)!==g||"codex"===d&&((0,w.E6)(i)||(0,j.AD)(i)))return!1;let o=(0,m.r_)(d,l.promptData.type,i);return!o.allowed&&null===o.dialog&&(0,n.gp)(d,b).eligible}(a,await (0,e.WD)(g,l,(d??"").split("\n").length,o)))return p.enterFallbackCandidateKey=null,E.debug("poller:auto-yes-enter-fallback-fresh-frame-differs",{worktreeId:g,cliToolId:l,instanceId:o,promptType:q.type}),!1;try{await (0,u.KB)(C,["Enter"])}finally{(0,z.gm)(C)}return p.enterFallbackSentKey=s,p.enterFallbackCandidateKey=null,(0,n.Wl)(g,l,o,{promptType:q.type,refusalReason:x.refusalReason,screenKey:y}),E.info("poller:auto-yes-enter-fallback-sent",{worktreeId:g,cliToolId:l,instanceId:o,promptType:q.type,refusalReason:x.refusalReason,composerState:x.composerState}),await S(a,b,"[Enter]"),!0}async function S(a,b,d){let{worktreeId:e,cliToolId:f,instanceId:g,compositeKey:h,pollerState:i,promptData:j,promptKey:k}=a;var l=Date.now();let m=H(h);m&&(m.lastServerResponseTimestamp=l),K(h),i.lastAnsweredPromptKey=k,i.lastAnsweredAt=Date.now(),i.lastSkipWarnKey=null,E.info("poller:response-sent",{worktreeId:e,cliToolId:f,instanceId:g}),(0,o.r)((0,p.getDbInstance)(),e,f,g??f,"prompt_answered_auto",{promptType:j.type});let n=null;try{n=(0,q.recordAnsweredPrompt)((0,p.getDbInstance)(),{worktreeId:e,cliToolId:f,instanceId:g??f,promptData:j,answer:d,answeredBy:"auto",content:b.rawContent||b.cleanContent})}catch(a){E.warn("poller:prompt-audit-record-failed",{worktreeId:e,cliToolId:f,instanceId:g,error:(0,y.u1)(a)})}if(n){let a=n;Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:b})=>{b(a.created?"message":"message_updated",{worktreeId:e,message:a.message})}).catch(()=>{})}let[{startPolling:r},{broadcastTerminalSnapshotAfterInteraction:s}]=await Promise.all([c.e(2839).then(c.bind(c,95220)),Promise.resolve().then(c.bind(c,99508))]);r(e,f,g),s(e,f,g)}async function T(a,b,c,e,l,o,p){let q=(0,d.v7)(a,c,o);try{let t=(0,n.cr)(q);(b.enterFallbackEpoch??0)!==t&&(b.enterFallbackSentKey=null,b.enterFallbackCandidateKey=null,b.enterFallbackEpoch=t);let u=(0,k.zJ)(p??e,c),y=(0,f.$M)(e,c,l,p,{worktreeId:a,instanceId:o},u);if(!y.isPrompt||!y.promptData)return b.lastAnsweredPromptKey=null,b.lastAnsweredAt=null,b.lastSkipWarnKey=null,b.enterFallbackCandidateKey=null,"antigravity"!==c||y.isPrompt||function(a,b,c,d){if((0,g.FD)(a,"antigravity",b))return;let e=Date.now(),f=G.get(c);if(void 0!==f&&e-f<6e4)return;let h=d();if(h.isPrompt&&h.promptData){for(let[a,b]of G)e-b>=6e4&&G.delete(a);G.set(c,e),E.info("antigravity-autoyes-withheld-no-hook-receipt",{worktreeId:a,instanceId:b??"antigravity",windowMs:g.Wo,hint:"hook の受信記録が直近に無いため Auto-Yes は答えなかった。~/.gemini/config/hooks.json の向き先(#2622)を確認"})}}(a,o,q,()=>(0,f.$M)(e,c,l,p)),"no_prompt";let A=(0,x.J)(y.promptData),B=M(y.promptData);if(b.lastAnsweredPromptKey===A&&null!==b.lastAnsweredAt&&Date.now()-b.lastAnsweredAt<d.UL)return"duplicate";let C={worktreeId:a,cliToolId:c,instanceId:o,compositeKey:q,pollerState:b,promptData:y.promptData,promptKey:A,frameKey:B},D=function(a,b){let{cliToolId:c,promptData:d,frameKey:e}=a,f="codex"===c?(0,w.E6)(b):null;if(f)return P(a,{reason:"agent-launch-dialog",mode:null,promptType:d.type},`${e}\u0000${f}`,"poller:auto-yes-skipped-launch-dialog",{dialog:f,promptType:d.type}),{kind:"left-alone"};if("codex"===c&&(0,j.AD)(b))return P(a,{reason:"unclassified-frame",mode:null,promptType:d.type},`${e}\u0000codex-model-picker`,"poller:auto-yes-skipped-model-picker",{promptType:d.type}),{kind:"left-alone"};let g=(0,m.r_)(c,d.type,b);return g.allowed?{kind:"ours"}:{kind:"dialog-gate-refused",dialogGate:g}}(C,u);if("dialog-gate-refused"!==D.kind&&(b.enterFallbackCandidateKey=null),"left-alone"===D.kind)return"no_answer";if("dialog-gate-refused"===D.kind)return await R(C,y,D.dialogGate,p)?"responded":"no_answer";let F=(0,i.n)(a,c,o),H=(0,h.sD)(y.promptData,F);H.suppressedBy&&P(C,{reason:H.suppressedBy,mode:F?.mode??null,promptType:y.promptData.type,pattern:H.pattern},`${B}\u0000${H.suppressedBy}\u0000${F?.mode??""}\u0000${H.pattern??""}`,"poller:auto-yes-suppressed-by-policy",{reason:H.suppressedBy,mode:F?.mode??null,pattern:H.pattern,promptType:y.promptData.type});let I=H.answer;if(null===I)return"no_answer";let J=v.CLIToolManager.getInstance().getTool(c).getSessionName(a,o),K=await (0,r.L)(a,J);if(null===K||"foreign"===K.verdict)return N(b,`${B}\u0000${J}\u0000${K?"foreign":"worktree_not_found"}`,"poller:auto-yes-skipped-foreign-session",{worktreeId:a,cliToolId:c,instanceId:o,sessionName:J,sessionPath:K?.sessionPath??null,reason:K?"foreign":"worktree_not_found"}),"no_answer";try{await (0,s.tV)({sessionName:J,answer:I,cliToolId:c,promptData:y.promptData})}finally{(0,z.gm)(J)}return await S(C,y,I),"responded"}catch{return L(q),E.warn("poller:detect-respond-error",{worktreeId:a,cliToolId:c,instanceId:o}),"error"}}async function U(a,b,c){let e=(0,d.v7)(a,b,c),f=H(e);if("valid"===function(a,b){if(!b)return"stopped";let c=(0,d.Ue)(a),e=(0,d.pL)(a);if(!e)return Y(a),"expired";let f=(0,d.GE)(a)??void 0,g=(0,d.aq)(c,e,f);return g?.enabled?"valid":(Y(a),"expired")}(e,f)){try{let g=(0,d.aq)(a,b,c),h=g?.stopPattern?A.FW:A.Ke,{raw:i,clean:j}=await O(a,b,h,c);f.waitingForSession&&(f.waitingForSession=!1,E.info("poller:session-appeared",{worktreeId:a,cliToolId:b,instanceId:c}));let 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,Y)}return c.length<e&&(b.stopCheckBaselineLength=c.length),!1}(e,f,j))return;let l=await T(a,f,b,j,k,c,i);if("error"!==l&&K(e),"responded"===l)return void W(a,b,c,d.ZO);if("no_prompt"===l){let e=k.slice(-d.Re).join("\n");if((0,w.ut)(b,e))return void W(a,b,c,A.QN)}}catch(g){if(await V(a,b,c)){f.waitingForSession||(f.waitingForSession=!0,E.info("poller:waiting-for-session",{worktreeId:a,cliToolId:b,instanceId:c})),W(a,b,c,d.BT);return}L(e),E.warn("poller:poll-error",{worktreeId:a,cliToolId:b,instanceId:c,error:(0,y.u1)(g)})}W(a,b,c)}}async function V(a,b,c){try{return await (0,e.Qj)(a,b,c)==="absent"}catch{return!1}}function W(a,b,c,e){let f=H((0,d.v7)(a,b,c));if(!f)return;let g=Math.max(e??f.currentInterval,d.ps);f.timerId=setTimeout(()=>{U(a,b,c)},g)}function X(a,b,c){if(!(0,C.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),h=H(g);if(!h&&F.size>=d.fC)return{started:!1,reason:"max concurrent pollers reached"};if(h&&h.cliToolId===b)return{started:!0,reason:"already_running"};h&&Y(g);let j={timerId:null,cliToolId:b,instanceId:e,consecutiveErrors:0,currentInterval:d.ps,lastServerResponseTimestamp:null,lastAnsweredPromptKey:null,lastAnsweredAt:null,stopCheckBaselineLength:-1,lastSkipWarnKey:null};return F.set(g,j),(0,i.ie)(g),j.timerId=setTimeout(()=>{U(a,b,e)},d.ps),E.info("poller:started",{worktreeId:a,cliToolId:b,instanceId:e}),{started:!0}}function Y(a){(0,n.MR)(a);let b=H(a);b&&(b.timerId&&clearTimeout(b.timerId),F.delete(a),(0,i.ie)(a),E.info("poller:stopped",{compositeKey:a}))}function Z(){for(let[a,b]of F.entries())b.timerId&&clearTimeout(b.timerId),(0,i.ie)(a),E.info("poller:stopped",{compositeKey:a,reason:"shutdown"});F.clear(),(0,n.NR)()}function $(a){(0,d._9)(Array.from(F.keys()),a).forEach(a=>Y(a)),(0,n.vR)(a)}},40043:(a,b,c)=>{c.d(b,{AD:()=>l,Q4:()=>h,ox:()=>k,xG:()=>m});var d=c(37717),e=c(33294),f=c(36925);let g=new Set([d.g.NO_RECENT_OUTPUT,d.g.UNKNOWN_FRAME,d.g.DEFAULT]);function h(a,b){return"running"===a&&g.has(b)}let i=e.STRUCTURED_STATE_MAX_AGE_MS,j=(0,f.v)("__lastKnownStatusByKey",()=>new Map);function k(a,b,c=Date.now()){for(let[a,b]of j)c-b.at>=i&&j.delete(a);for(;j.size>512;){let a=j.keys().next();if(a.done)break;j.delete(a.value)}"positive"===b.evidence&&(j.delete(a),j.set(a,{status:b.status,reason:b.reason,at:c}))}function l(a,b=Date.now()){let c=j.get(a);return void 0===c?null:b-c.at>=i?(j.delete(a),null):c}function m(a){j.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=5625,exports.ids=[5625],exports.modules={60:(a,b,c)=>{c.d(b,{QM:()=>h,V0:()=>e,ZX:()=>f,bE:()=>g});var d=c(61789);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)}},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)."}}},16399:(a,b,c)=>{c.d(b,{v7:()=>d.v7,DR:()=>d.DR,LP:()=>d.LP,XK:()=>d.XK,pL:()=>d.pL,GE:()=>d.GE,Ue:()=>d.Ue,aq:()=>d.aq,hN:()=>d.hN,kC:()=>d.kC,xU:()=>N,bZ:()=>O,W8:()=>d.W8,W5:()=>Y,BS:()=>$,_i:()=>Z,_C:()=>_});var d=c(24455),e=c(31990),f=c(54300),g=c(77244),h=c(75498),i=c(91318),j=c(32236),k=c(61878),l=c(16402),m=c(51607),n=c(52767),o=c(88807),p=c(52660),q=c(34331),r=c(63869),s=c(4803),t=c(79892),u=c(8360),v=c(61789),w=c(85726),x=c(77093),y=c(93997),z=c(68901),A=c(72626),B=c(66007),C=c(36925);let D=(0,A.h)("auto-yes-poller");function E(a){let b="multiple_choice"===a.type?a.options.map(a=>`${a.isDefault?">":""}${a.number}.${a.label}`).join("\n"):"";return[(0,w.J)(a),b,a.approvalTarget??""].join("\0")}function F(a,b,c,d){let e=`${c}\u0000${b}`;if(a.lastSkipWarnKey===e)return void D.debug(c,{...d,repeated:!0});a.lastSkipWarnKey=e,D.warn(c,d)}var G=c(52277);function H(a,b,c,d,e){let{worktreeId:f,cliToolId:g,instanceId:h}=a;(0,G.ZS)(f,g,h,b),F(a.pollerState,c,d,{worktreeId:f,cliToolId:g,instanceId:h,...e})}function I(a,b){let{promptData:c,frameKey:d}=a;H(a,{reason:"unclassified-frame",mode:null,promptType:c.type},`${d}\u0000${b.dialog?.kind??""}\u0000${b.mode}`,"poller:auto-yes-skipped-unclassified-frame",{promptType:c.type,dialogKind:b.dialog?.kind??null,answerMode:b.dialog?.answerMode??null,gateMode:b.mode})}let J=(0,A.h)("auto-yes-poller"),K=(0,C.v)("__autoYesPollerStates",()=>new Map),L=(0,C.v)("__autoYesWithheldNoReceiptLoggedAt",()=>new Map);function M(a){return K.get(a)}function N(a){let b=M(a);return b?.lastServerResponseTimestamp??null}function O(a){return K.has(a)}function P(a){let b=M(a);b&&(b.consecutiveErrors=0,b.currentInterval=d.ps)}function Q(a){let b=M(a);if(b&&(b.consecutiveErrors++,b.currentInterval=(0,d.G)(b.consecutiveErrors),b.consecutiveErrors>=z.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),Z(a)}}async function R(a,b,c,d){let f=c??z.FW,g=await (0,e.Wh)(a,b,f,d);return{raw:g,clean:(0,v._A)((0,v.aJ)(g))}}async function S(a,b,c,d){let{worktreeId:g,cliToolId:n,instanceId:o,pollerState:p,promptData:r,frameKey:w}=a,x=null===c.dialog?(0,m.gp)(n,d):null;if(null===x||!x.eligible)return p.enterFallbackCandidateKey=null,I(a,c),!1;let z=(0,m.GR)(r);if(p.enterFallbackSentKey===w)return p.enterFallbackCandidateKey=null,(0,m.gq)(g,n,o,z),I(a,c),F(p,`${w}\u0000enter-fallback-no-effect`,"poller:auto-yes-enter-fallback-no-effect",{worktreeId:g,cliToolId:n,instanceId:o,promptType:r.type,refusalReason:x.refusalReason}),!1;let A=(0,i.n)(g,n,o),B=(0,h.sD)(r,A);if(B.suppressedBy)return p.enterFallbackCandidateKey=null,H(a,{reason:B.suppressedBy,mode:A?.mode??null,promptType:r.type,pattern:B.pattern},`${w}\u0000${B.suppressedBy}\u0000${A?.mode??""}\u0000${B.pattern??""}`,"poller:auto-yes-suppressed-by-policy",{reason:B.suppressedBy,mode:A?.mode??null,pattern:B.pattern,promptType:r.type,enterFallback:!0}),!1;if(null===B.answer||"multiple_choice"===r.type&&(0,s.eM)(r))return p.enterFallbackCandidateKey=null,I(a,c),!1;if(p.enterFallbackCandidateKey!==w)return p.enterFallbackCandidateKey=w,J.debug("poller:auto-yes-enter-fallback-candidate",{worktreeId:g,cliToolId:n,instanceId:o,promptType:r.type}),!1;let C=u.CLIToolManager.getInstance().getTool(n).getSessionName(g,o),D=await (0,q.L)(g,C);if(null===D||"foreign"===D.verdict)return F(p,`${w}\u0000${C}\u0000${D?"foreign":"worktree_not_found"}`,"poller:auto-yes-skipped-foreign-session",{worktreeId:g,cliToolId:n,instanceId:o,sessionName:C,sessionPath:D?.sessionPath??null,reason:D?"foreign":"worktree_not_found",enterFallback:!0}),!1;if(!function(a,b){let{worktreeId:c,cliToolId:d,instanceId:e,frameKey:g}=a,h=(0,v._A)((0,v.aJ)(b)),i=(0,k.zJ)(b,d),n=(0,f.$M)(h,d,h.split("\n"),b,{worktreeId:c,instanceId:e},i);if(!n.isPrompt||!n.promptData||E(n.promptData)!==g||"codex"===d&&((0,v.E6)(i)||(0,j.AD)(i)))return!1;let o=(0,l.r_)(d,n.promptData.type,i);return!o.allowed&&null===o.dialog&&(0,m.gp)(d,b).eligible}(a,await (0,e.WD)(g,n,(d??"").split("\n").length,o)))return p.enterFallbackCandidateKey=null,J.debug("poller:auto-yes-enter-fallback-fresh-frame-differs",{worktreeId:g,cliToolId:n,instanceId:o,promptType:r.type}),!1;try{await (0,t.KB)(C,["Enter"])}finally{(0,y.gm)(C)}return p.enterFallbackSentKey=w,p.enterFallbackCandidateKey=null,(0,m.Wl)(g,n,o,{promptType:r.type,refusalReason:x.refusalReason,screenKey:z}),J.info("poller:auto-yes-enter-fallback-sent",{worktreeId:g,cliToolId:n,instanceId:o,promptType:r.type,refusalReason:x.refusalReason,composerState:x.composerState}),await T(a,b,"[Enter]"),!0}async function T(a,b,d){let{worktreeId:e,cliToolId:f,instanceId:g,compositeKey:h,pollerState:i,promptData:j,promptKey:k}=a;var l=Date.now();let m=M(h);m&&(m.lastServerResponseTimestamp=l),P(h),i.lastAnsweredPromptKey=k,i.lastAnsweredAt=Date.now(),i.lastSkipWarnKey=null,J.info("poller:response-sent",{worktreeId:e,cliToolId:f,instanceId:g}),(0,n.r)((0,o.getDbInstance)(),e,f,g??f,"prompt_answered_auto",{promptType:j.type});let q=null;try{q=(0,p.recordAnsweredPrompt)((0,o.getDbInstance)(),{worktreeId:e,cliToolId:f,instanceId:g??f,promptData:j,answer:d,answeredBy:"auto",content:b.rawContent||b.cleanContent})}catch(a){J.warn("poller:prompt-audit-record-failed",{worktreeId:e,cliToolId:f,instanceId:g,error:(0,x.u1)(a)})}if(q){let a=q;Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:b})=>{b(a.created?"message":"message_updated",{worktreeId:e,message:a.message})}).catch(()=>{})}let[{startPolling:r},{broadcastTerminalSnapshotAfterInteraction:s}]=await Promise.all([c.e(2839).then(c.bind(c,95220)),Promise.resolve().then(c.bind(c,99508))]);r(e,f,g),s(e,f,g)}async function U(a,b,c,e,n,o,p){let s=(0,d.v7)(a,c,o);try{let t=(0,m.cr)(s);(b.enterFallbackEpoch??0)!==t&&(b.enterFallbackSentKey=null,b.enterFallbackCandidateKey=null,b.enterFallbackEpoch=t);let x=(0,k.zJ)(p??e,c),z=(0,f.$M)(e,c,n,p,{worktreeId:a,instanceId:o},x);if(!z.isPrompt||!z.promptData)return b.lastAnsweredPromptKey=null,b.lastAnsweredAt=null,b.lastSkipWarnKey=null,b.enterFallbackCandidateKey=null,"antigravity"!==c||z.isPrompt||function(a,b,c,d){if((0,g.FD)(a,"antigravity",b))return;let e=Date.now(),f=L.get(c);if(void 0!==f&&e-f<6e4)return;let h=d();if(h.isPrompt&&h.promptData){for(let[a,b]of L)e-b>=6e4&&L.delete(a);L.set(c,e),J.info("antigravity-autoyes-withheld-no-hook-receipt",{worktreeId:a,instanceId:b??"antigravity",windowMs:g.Wo,hint:"hook の受信記録が直近に無いため Auto-Yes は答えなかった。~/.gemini/config/hooks.json の向き先(#2622)を確認"})}}(a,o,s,()=>(0,f.$M)(e,c,n,p)),"no_prompt";let A=(0,w.J)(z.promptData),B=E(z.promptData);if(b.lastAnsweredPromptKey===A&&null!==b.lastAnsweredAt&&Date.now()-b.lastAnsweredAt<d.UL)return"duplicate";let C={worktreeId:a,cliToolId:c,instanceId:o,compositeKey:s,pollerState:b,promptData:z.promptData,promptKey:A,frameKey:B},D=function(a,b){let{cliToolId:c,promptData:d,frameKey:e}=a,f="codex"===c?(0,v.E6)(b):null;if(f)return H(a,{reason:"agent-launch-dialog",mode:null,promptType:d.type},`${e}\u0000${f}`,"poller:auto-yes-skipped-launch-dialog",{dialog:f,promptType:d.type}),{kind:"left-alone"};if("codex"===c&&(0,j.AD)(b))return H(a,{reason:"unclassified-frame",mode:null,promptType:d.type},`${e}\u0000codex-model-picker`,"poller:auto-yes-skipped-model-picker",{promptType:d.type}),{kind:"left-alone"};let g=(0,l.r_)(c,d.type,b);return g.allowed?{kind:"ours"}:{kind:"dialog-gate-refused",dialogGate:g}}(C,x);if("dialog-gate-refused"!==D.kind&&(b.enterFallbackCandidateKey=null),"left-alone"===D.kind)return"no_answer";if("dialog-gate-refused"===D.kind)return await S(C,z,D.dialogGate,p)?"responded":"no_answer";let G=(0,i.n)(a,c,o),I=(0,h.sD)(z.promptData,G);I.suppressedBy&&H(C,{reason:I.suppressedBy,mode:G?.mode??null,promptType:z.promptData.type,pattern:I.pattern},`${B}\u0000${I.suppressedBy}\u0000${G?.mode??""}\u0000${I.pattern??""}`,"poller:auto-yes-suppressed-by-policy",{reason:I.suppressedBy,mode:G?.mode??null,pattern:I.pattern,promptType:z.promptData.type});let K=I.answer;if(null===K)return"no_answer";let M=u.CLIToolManager.getInstance().getTool(c).getSessionName(a,o),N=await (0,q.L)(a,M);if(null===N||"foreign"===N.verdict)return F(b,`${B}\u0000${M}\u0000${N?"foreign":"worktree_not_found"}`,"poller:auto-yes-skipped-foreign-session",{worktreeId:a,cliToolId:c,instanceId:o,sessionName:M,sessionPath:N?.sessionPath??null,reason:N?"foreign":"worktree_not_found"}),"no_answer";try{await (0,r.tV)({sessionName:M,answer:K,cliToolId:c,promptData:z.promptData})}finally{(0,y.gm)(M)}return await T(C,z,K),"responded"}catch{return Q(s),J.warn("poller:detect-respond-error",{worktreeId:a,cliToolId:c,instanceId:o}),"error"}}async function V(a,b,c){let e=(0,d.v7)(a,b,c),f=M(e);if("valid"===function(a,b){if(!b)return"stopped";let c=(0,d.Ue)(a),e=(0,d.pL)(a);if(!e)return Z(a),"expired";let f=(0,d.GE)(a)??void 0,g=(0,d.aq)(c,e,f);return g?.enabled?"valid":(Z(a),"expired")}(e,f)){try{let g=(0,d.aq)(a,b,c),h=g?.stopPattern?z.FW:z.Ke,{raw:i,clean:j}=await R(a,b,h,c);f.waitingForSession&&(f.waitingForSession=!1,J.info("poller:session-appeared",{worktreeId:a,cliToolId:b,instanceId:c}));let 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,Z)}return c.length<e&&(b.stopCheckBaselineLength=c.length),!1}(e,f,j))return;let l=await U(a,f,b,j,k,c,i);if("error"!==l&&P(e),"responded"===l)return void X(a,b,c,d.ZO);if("no_prompt"===l){let e=k.slice(-d.Re).join("\n");if((0,v.ut)(b,e))return void X(a,b,c,z.QN)}}catch(g){if(await W(a,b,c)){f.waitingForSession||(f.waitingForSession=!0,J.info("poller:waiting-for-session",{worktreeId:a,cliToolId:b,instanceId:c})),X(a,b,c,d.BT);return}Q(e),J.warn("poller:poll-error",{worktreeId:a,cliToolId:b,instanceId:c,error:(0,x.u1)(g)})}X(a,b,c)}}async function W(a,b,c){try{return await (0,e.Qj)(a,b,c)==="absent"}catch{return!1}}function X(a,b,c,e){let f=M((0,d.v7)(a,b,c));if(!f)return;let g=Math.max(e??f.currentInterval,d.ps);f.timerId=setTimeout(()=>{V(a,b,c)},g)}function Y(a,b,c){if(!(0,B.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),h=M(g);if(!h&&K.size>=d.fC)return{started:!1,reason:"max concurrent pollers reached"};if(h&&h.cliToolId===b)return{started:!0,reason:"already_running"};h&&Z(g);let j={timerId:null,cliToolId:b,instanceId:e,consecutiveErrors:0,currentInterval:d.ps,lastServerResponseTimestamp:null,lastAnsweredPromptKey:null,lastAnsweredAt:null,stopCheckBaselineLength:-1,lastSkipWarnKey:null};return K.set(g,j),(0,i.ie)(g),j.timerId=setTimeout(()=>{V(a,b,e)},d.ps),J.info("poller:started",{worktreeId:a,cliToolId:b,instanceId:e}),{started:!0}}function Z(a){(0,m.MR)(a);let b=M(a);b&&(b.timerId&&clearTimeout(b.timerId),K.delete(a),(0,i.ie)(a),J.info("poller:stopped",{compositeKey:a}))}function $(){for(let[a,b]of K.entries())b.timerId&&clearTimeout(b.timerId),(0,i.ie)(a),J.info("poller:stopped",{compositeKey:a,reason:"shutdown"});K.clear(),(0,m.NR)()}function _(a){(0,d._9)(Array.from(K.keys()),a).forEach(a=>Z(a)),(0,m.vR)(a)}},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")}},34331:(a,b,c)=>{c.d(b,{L:()=>g});var d=c(88807),e=c(73753),f=c(96463);async function g(a,b,c=(0,d.getDbInstance)()){let h=(0,e.getWorktreeById)(c,a);return h?(0,f.s_)(b,h.path):null}},40043:(a,b,c)=>{c.d(b,{AD:()=>l,Q4:()=>h,ox:()=>k,xG:()=>m});var d=c(37717),e=c(33294),f=c(36925);let g=new Set([d.g.NO_RECENT_OUTPUT,d.g.UNKNOWN_FRAME,d.g.DEFAULT]);function h(a,b){return"running"===a&&g.has(b)}let i=e.STRUCTURED_STATE_MAX_AGE_MS,j=(0,f.v)("__lastKnownStatusByKey",()=>new Map);function k(a,b,c=Date.now()){for(let[a,b]of j)c-b.at>=i&&j.delete(a);for(;j.size>512;){let a=j.keys().next();if(a.done)break;j.delete(a.value)}"positive"===b.evidence&&(j.delete(a),j.set(a,{status:b.status,reason:b.reason,at:c}))}function l(a,b=Date.now()){let c=j.get(a);return void 0===c?null:b-c.at>=i?(j.delete(a),null):c}function m(a){j.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,7 +16,7 @@ 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=(0,c(36925).v)("__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:()=>A,KQ:()=>C,MN:()=>s,fq:()=>B,g8:()=>u,sR:()=>E});var d=c(84297),e=c(72626),f=c(13033),g=c(72457),h=c(71080),i=c(44321),j=c(54300),k=c(99508),l=c(56455),m=c(40964),n=c(36925);let o=(0,e.h)("response-poller"),p=(0,n.v)("__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}));p.pausedOnPrompt??=new Set;let q=p.activePollers,r=p.pollingStartTimes;function s(a,b,c){return`${a}:${c??b}`}function t(a){return"opencode"===a||"copilot"===a}function u(a,b,c){let d=s(a,b,c),e={worktreeId:a,cliToolId:b,instanceId:c},f=p.running.get(d);if(f){if(f.owner.superseded=!0,Date.now()-f.since<6e4)return void p.pendingRestart.set(d,e);o.warn("poller:restart-past-stalled-tick",{pollerKey:d,generation:f.owner.generation,runningForMs:Date.now()-f.since}),p.running.delete(d)}v(d,e)}function v(a,b){let c=p.pausedOnPrompt.has(a);z(a,{resume:c}),c&&o.info("poller:resumed-after-prompt",{pollerKey:a}),function(a){let b=s(a.worktreeId,a.cliToolId,a.instanceId);p.pollingStartTimes.set(b,Date.now()),t(a.cliToolId)&&(0,f.tb)(b),w(a.worktreeId,a.cliToolId,a.instanceId)}(b)}function w(a,b,c){let d=s(a,b,c);x({worktreeId:a,cliToolId:b,instanceId:c},function(a){let b=p.owners.get(a);b&&(b.superseded=!0);let c={pollerKey:a,generation:++p.generationCounter,superseded:!1,stopped:!1,selfStopped:!1};return p.owners.set(a,c),c}(d))}function x(a,b){let c=setTimeout(()=>{y(a,b)},2e3);p.activePollers.set(b.pollerKey,c)}async function y(a,b){let c=b.pollerKey;if(!b.superseded&&!b.stopped){p.running.set(c,{owner:b,since:Date.now()});try{let d,e=p.pollingStartTimes.get(c);if(e&&Date.now()-e>18e5)return void z(c);try{d=await (0,l.y)(a.worktreeId,(0,m.mf)(a.cliToolId,a.worktreeId,a.instanceId))}catch(d){o.error("poller:ownership-check-failed",{pollerKey:c,error:d instanceof Error?d.message:String(d)}),b.superseded||b.stopped||x(a,b);return}if(null!==d){o.warn("poller:session-refused",{pollerKey:c,generation:b.generation,refusal:d}),b.superseded||b.stopped||z(c);return}let f=!1;try{f=await p.ownerStorage.run(b,()=>(0,j.zX)(a.worktreeId,a.cliToolId,a.instanceId))}catch(a){o.error("error:",{error:a instanceof Error?a.message:String(a)})}b.selfStopped&&function(a,b,c){if(c&&!t(b.cliToolId)){p.pausedOnPrompt.add(a.pollerKey),o.info("poller:paused-on-prompt",{pollerKey:a.pollerKey,generation:a.generation});return}(0,h.L1)(a.pollerKey)}(b,a,f),b.superseded||(0,k.broadcastTerminalSnapshot)(a.worktreeId,a.cliToolId,a.instanceId),b.superseded||b.stopped||x(a,b)}finally{p.running.get(c)?.owner===b&&p.running.delete(c);let a=p.pendingRestart.get(c);a&&(p.pendingRestart.delete(c),v(c,a))}}}function z(a,b={}){let c=p.ownerStorage.getStore();if(c&&c.pollerKey===a&&(c.superseded||c.stopped))return void o.info("poller:stale-stop-ignored",{pollerKey:a,generation:c.generation});b.resume||(0,j.Tq)(a,"poller-stopped");let d=p.owners.get(a),e=void 0!==d&&c===d;d&&(d.stopped=!0,d.selfStopped=e,p.owners.delete(a)),p.pendingRestart.delete(a),p.pausedOnPrompt.delete(a);let i=p.activePollers.get(a);i&&(clearTimeout(i),p.activePollers.delete(a),p.pollingStartTimes.delete(a)),(0,f.q1)(a),(0,g.iX)(a),e||b.resume||(0,h.L1)(a)}function A(a,b,c){z(s(a,b,c))}function B(){for(let a of new Set([...Array.from(p.activePollers.keys()),...Array.from(p.owners.keys()),...Array.from(p.pausedOnPrompt)]))z(a);p.pendingRestart.clear(),p.pausedOnPrompt.clear()}function C(){return Array.from(p.activePollers.keys())}function D(a){let b=a.indexOf(":");return b<=0||b===a.length-1?null:{worktreeId:a.slice(0,b),instanceId:a.slice(b+1)}}function E(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(q.keys())){let f=D(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:s(g,h,f.instanceId),newWorktreeId:g,cliToolId:h,instanceId:f.instanceId})}let j=new Map;for(let a of d){let b=q.get(a.oldKey);b&&clearTimeout(b),q.delete(a.oldKey);let c=p.owners.get(a.oldKey);c&&(c.superseded=!0,c.stopped=!0,p.owners.delete(a.oldKey)),p.pendingRestart.delete(a.oldKey),j.set(a.newKey,{startedAt:r.get(a.oldKey)}),r.delete(a.oldKey),(0,g.i2)(a.oldKey,a.newKey),(0,h.Re)(a.oldKey,a.newKey);let d=D(a.oldKey);d&&(0,i.fL)(d.worktreeId,a.newWorktreeId,a.cliToolId,a.instanceId),(0,f.q1)(a.oldKey)}for(let a of e)z(a),o.warn("poller:migrate-abandoned",{pollerKey:a});for(let a of d){let b=j.get(a.newKey)?.startedAt;r.set(a.newKey,b??Date.now()),t(a.cliToolId)&&(0,f.tb)(a.newKey),w(a.newWorktreeId,a.cliToolId,a.instanceId)}let k=[];for(let a of Array.from(p.pausedOnPrompt)){let b=D(a);if(!b)continue;let d=c.get(b.worktreeId);d&&k.push({oldKey:a,newKey:`${d}:${b.instanceId}`})}for(let a of k)p.pausedOnPrompt.delete(a.oldKey);for(let a of k)(0,h.Re)(a.oldKey,a.newKey),p.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)})}}},51607:(a,b,c)=>{c.d(b,{GR:()=>j.GR,MR:()=>j.MR,NR:()=>j.NR,Wl:()=>j.Wl,YN:()=>j.YN,cr:()=>j.cr,gp:()=>o,gq:()=>j.gq,li:()=>j.li,vR:()=>j.vR});var d=c(91536),e=c(11472),f=c(94154),g=c(61789),h=c(24455),i=c(16402),j=c(27675);let k=["enabled","disabled"],l={claude:"enabled",codex:"enabled",copilot:"disabled",opencode:"disabled","opencode-v2":"disabled",gemini:"disabled",antigravity:"disabled","vibe-local":"disabled","command-code":"disabled"},m=new Set(["content","ghost","empty"]),n=new Set(["claude","codex"]);function o(a,b,c=process.env){if("enabled"!==function(a,b=process.env){let c=b.CM_AUTOYES_ENTER_FALLBACK,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();k.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??l[a]??"disabled"}(a,c))return{eligible:!1,reason:"tool-disabled",refusalReason:null,composerState:null};if(void 0===b)return{eligible:!1,reason:"no-raw-frame",refusalReason:null,composerState:null};let j=(0,i.dd)(a,b).refusal;if(null===j)return{eligible:!1,reason:"answerable",refusalReason:null,composerState:null};let p=(0,f.ji)(b,a).state,q=a=>({eligible:!1,reason:a,refusalReason:j.reason,composerState:p});if(m.has(p))return q("composer-visible");let r=j.reason===i.bj,s=n.has(a)&&"no_composer"===p;if(!r&&!s)return q("no-choice-screen-evidence");if(!(0,e.Hg)(b,(0,d.H7)(a)).alive)return q("tool-exited");let t=(0,g.aJ)(b).split("\n").slice(-h.Re).join("\n");return(0,g.ut)(a,t)?q("thinking"):{eligible:!0,refusalReason:j.reason,composerState:p}}},54300:(a,b,c)=>{c.d(b,{zX:()=>ak,$M:()=>ag,Tq:()=>H});var d=c(31990),e=c(88807),f=c(56791),g=c(43015),h=c(26895),i=c(28861),j=c(61878),k=c(70605),l=c(96742),m=c(18778),n=c(15194),o=c(8988),p=c(61789),q=c(72626),r=c(46423),s=c(93997),t=c(60),u=c(82450),v=c(56263),w=c(13033),x=c(72457),y=c(44321),z=c(71080),A=c(28918),B=c(31517),C=c(36925);let D=(0,q.h)("response-poller"),E=B.sD.reduce((a,b)=>a+b,0),F=(0,C.v)("__pendingScrapedResponses",()=>new Map);function G(a){F.delete(a)}function H(a,b){let c=F.get(a);if(!c)return!1;F.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}),D.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,m.T)(a,c.worktreeId,c.content,c.cliToolId).catch(()=>{}),!0}catch(a){return D.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 I(a){let b=F.get(a);if(!(!b||Date.now()<b.expiresAt)){if(await (0,A.captureStructuredHistoryTurn)(b.worktreeId,b.cliToolId,b.instanceId,{worktreePath:b.worktreePath,transcriptPathHint:b.transcriptPathHint})){G(a),(0,z.oE)(a),D.info("pending-scrape-superseded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId,heldForMs:Date.now()-b.timestamp.getTime()});return}H(a,"hold-expired")}}var J=c(43925),K=c(40964),L=c(83598),M=c(31442),N=c(45146),O=c(91601),P=c(92010),Q=c(81099),R=c(63209),S=c(73478),T=c(57836),U=c(52767);function V(a){return{response:"",isComplete:!1,lineCount:a}}function W(a,b,c,d,e,f,g,h=!1){let i=(0,t.QM)(b,c,d,e,f,h),j=a.slice(i);return{response:(0,p.aJ)(j.join("\n")),isComplete:!0,lineCount:c,promptDetection:g,bufferReset:d,captureWindowSaturated:h}}var X=c(77244),Y=c(16402);let Z=(0,q.h)("response-poller");function $(a){return!(void 0===a||(0,X.FD)(a.worktreeId,"antigravity",a.instanceId))&&(Z.debug("antigravity-dialog-no-recent-receipt",{worktreeId:a.worktreeId,instanceId:a.instanceId??"antigravity"}),!0)}function _(a,b,c){let d=(0,Y.vm)(a,b.promptData?.type,c);return!!d.present||(Z.debug("prompt-candidate-not-vouched",{cliToolId:a,promptType:b.promptData?.type,gateMode:d.mode}),!1)}var aa=c(96486);let ab=["Waiting for auth","⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],ac=(0,q.h)("response-poller");function ad(a,b,c,d){let{cliToolId:e,lines:f,lastCapturedLine:g,bufferReset:h,captureWindowSaturated:i}=b;return e===a&&c&&!i&&(0,aa.K)(e,f)?((h||d>g)&&ac.info(`${a} startup screen suppressed, response not saved`,{responseLength:c.length,lineCount:d}),{response:"",isComplete:!0,lineCount:d,bufferReset:h,captureWindowSaturated:i}):null}let ae=(0,q.h)("response-poller");function af(a){return b=>{try{(0,g.broadcastMessage)("message_updated",{worktreeId:a,message:b})}catch(b){ae.warn("prompt-sweep-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})}}}function ag(a,b,c,d,e,f){if("antigravity"===b){let b=(0,i.g)(a);if(null!==b)return $(e)?{isPrompt:!1,cleanContent:a.trim()}:b}if("command-code"===b&&void 0!==d){let b=(0,l.nK)(d);if("prompt"===b.kind)return b.prompt;if("unsupported"===b.kind)return{isPrompt:!1,cleanContent:a.trim()}}let g=(0,p.KO)(b),m=(0,h.gF)(a,c?{...g,precomputedLines:c}:g);if(m.isPrompt){let c=void 0!==f?(0,j.Yc)(f,b):(0,j.zJ)(d??a,b).liveRegion;if((0,k.z8)(c,m))return{isPrompt:!1,cleanContent:a.trim()}}return"antigravity"===b&&m.isPrompt&&$(e)?{isPrompt:!1,cleanContent:a.trim()}:m}function ah(a,b){return ag((0,p._A)((0,p.aJ)(a)),b,void 0,a)}async function ai(a,b,c){let{db:d,worktree:e,worktreeId:g,cliToolId:h,instanceId:i,resolvedInstanceId:j,pollerKey:k}=a;return ae.info("duplicate-response-skipped",{worktreeId:g,cliToolId:h,instanceId:j}),(0,f.updateSessionState)(d,g,h,b.lineCount,j),!!((0,z.pN)(k)&&await (0,A.captureStructuredHistoryTurn)(g,h,i,{worktreePath:e.path,transcriptPathHint:c?.logFilePath??null}))&&((0,z.oE)(k),G(k),ae.info("structured-history-recheck-captured",{worktreeId:g,cliToolId:h,instanceId:j}),!0)}async function aj(a,b,c,d,e){let{db:h,worktree:i,worktreeId:j,cliToolId:k,instanceId:l,resolvedInstanceId:n,pollerKey:o}=a,{result:p,isFullScreenTui:q,lineCountIsCursor:r}=b,s={},t=(0,A.isStructuredHistoryWriterLive)(j,k,l)||await (0,A.captureStructuredHistoryTurn)(j,k,l,{worktreePath:i.path,transcriptPathHint:c?.logFilePath??null},s);t?(0,z.oE)(o):(0,z.Pe)(o);let u=t||e.delegated,v=!u&&"not_yet_closed"===s.outcome;!d||u||v||await (0,m.T)(h,j,d,k),(0,f.markPendingPromptsAsAnswered)(h,j,k,n,af(j))>0&&ae.info("marked-answeredcount-pending");let w=(0,f.getSessionState)(h,j,n);return r&&w&&p.lineCount<=w.lastCapturedLine?(ae.info("race-condition-detected-skipping-save-re"),!1):(!function(a,b,c,d){let{db:e,worktree:h,worktreeId:i,cliToolId:j,resolvedInstanceId:k,pollerKey:l}=a,{structuredHistoryLive:m,suppressScrapedHistory:n,holdScrapedHistory:o}=d;if(o)!function(a,b){let c=F.get(a);if(c){c.content=b.content;return}F.set(a,b)}(l,{worktreeId:i,cliToolId:j,instanceId:k,content:b,timestamp:new Date,summary:c?.summary,logFileName:c?.logFileName,requestId:c?.requestId,worktreePath:h.path,transcriptPathHint:c?.logFilePath??null,expiresAt:Date.now()+E}),ae.info("structured-history-scrape-held",{worktreeId:i,cliToolId:j,instanceId:k,scrapedLength:b.length,holdMs:E}),(0,J.vQ)(i,j,k,!1);else if(n)m&&G(l),ae.info("structured-history-scrape-suppressed",{worktreeId:i,cliToolId:j,instanceId:k,scrapedLength:b.length,reason:m?"structured-history":"geometry-delegated"});else{let a=(0,f.createMessage)(e,{worktreeId:i,role:"assistant",content:b,messageType:"normal",timestamp:new Date,cliToolId:j,instanceId:k,summary:c?.summary,logFileName:c?.logFileName,requestId:c?.requestId});(0,g.broadcastMessage)("message",{worktreeId:i,message:a}),(0,J.vQ)(i,j,k,!1)}}(a,d,c,{structuredHistoryLive:t,suppressScrapedHistory:u,holdScrapedHistory:v}),(0,T.hd)({worktreeId:j,cliToolId:k,instanceId:l,waiting:!1}),(0,O.J$)({worktreeId:j,worktreeName:i.name,kind:"completion",agentName:n,excerpt:d}).catch(()=>{}),(0,f.updateSessionState)(h,j,k,p.lineCount,n),q&&(0,N.Et)(j,k,l),!0)}async function ak(a,b,c){let h=(0,e.getDbInstance)(),i=c??b;try{let e=(0,f.getWorktreeById)(h,a);if(!e)return ae.error("worktree-not-found"),(0,N.Et)(a,b,c),!1;if(!await (0,d.K1)(a,b,c))return ae.info("session-not-running"),(0,N.Et)(a,b,c),!1;let j=(0,N.MN)(a,b,c),k={db:h,worktree:e,worktreeId:a,cliToolId:b,instanceId:c,resolvedInstanceId:i,pollerKey:j};await I(j);let l=(0,K.mf)(b,a,c),m=(0,M.n9)(l)?await (0,L.zQ)(l):{delegated:!1,released:!1};m.released&&((0,f.updateSessionState)(h,a,b,0,i),ae.info("geometry-delegation-released",{worktreeId:a,cliToolId:b,instanceId:i}));let q=(0,f.getSessionState)(h,a,i),A=q?.lastCapturedLine||0,B=await (0,d.Wh)(a,b,s.xE,c),C=function(a,b,c){let{db:d,worktreeId:e,cliToolId:g,instanceId:h,resolvedInstanceId:i,pollerKey:j}=a,k=b.split("\n").slice(-100).join("\n"),l=(0,R.bT)(k);if((0,Q.notifyUpstreamFaultPush)({worktreeId:e,cliToolId:g,instanceId:h,faultId:l?.fault.id??null,matchedText:l?.matchedText}).catch(()=>{}),"opencode"===g||"copilot"===g){let a="opencode"===g?(0,t.ZX)(b):b;(0,w.IZ)(j,a,g)}let m=function(a,b,c,d=s.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,s.sl)(e.length,d),j="opencode"===c?g.map(p.aJ):null,k="claude"===c?(0,p.GT)(g):"copilot"===c?(0,p.wv)(g):"command-code"===c?(0,p.I$)(g):"codex"===c?(0,p.Zu)(g):j?(0,p.x7)(j):-1,l=k>=0?k:h,m=h>0&&b>25&&h+25<b,n=h>0&&b>50&&h<50,o=m||n;if(!o&&h<b-5)return null;let q=Math.max(0,h-20),u=g.slice(q),v=j?j.join("\n"):u.join("\n"),{promptPattern:w,separatorPattern:x,thinkingPattern:y,skipPatterns:z}=(0,p._X)(c),A=(a=60)=>(function(a,b,c,d,e,f){let g;if("codex"===a)return(0,p.Nc)(b,e,f,d>=0);if(c)return(0,t.V0)(c).echoEnd;if("copilot"===a){for(let a=e-1;a>=Math.max(0,e-f);a--){if(!p.y.test((0,p.aJ)(b[a])))continue;let c=a;for(;c+1<e&&p.Fg.test((0,p.aJ)(b[c+1]));)c++;return c}return -1}g=/^[>❯]\s+\S/;for(let a=e-1;a>=Math.max(0,e-f);a--){let c=(0,p.aJ)(b[a]);if(g.test(c))return a}return -1})(c,g,j,k,l,a);if("claude"===c||"codex"===c||"copilot"===c||"command-code"===c){let a=g.join("\n"),d=ah(a,c);if(d.isPrompt&&_(c,d,a))return W(g,b,h,o,c,A,d,i)}let B={cliToolId:c,lines:g,totalLines:h,openCodeCleanLines:j,chromeStart:k,contentEnd:l,lastCapturedLine:b,bufferReset:o,captureWindowSaturated:i,checkLineCount:20,cleanOutputToCheck:(0,p.aJ)(v),promptPattern:w,separatorPattern:x,thinkingPattern:y,skipPatterns:z,findRecentUserPromptIndex:A};if(function(a){let{cliToolId:b,lines:c,totalLines:d,checkLineCount:e,cleanOutputToCheck:f,promptPattern:g,separatorPattern:h,thinkingPattern:i}=a,j=g.test(f),k=h.test(f),l="codex"===b?(0,p.DR)(c,e):i.test(f),m="copilot"===b?(0,p.Wn)(c.slice(Math.max(0,d-8)).map(p.aJ)):null,n="copilot"===b?"idle"===m:("codex"===b||"gemini"===b||"vibe-local"===b||"antigravity"===b)&&j&&!l,o="opencode"===b&&(0,t.bE)(f);return n||"claude"===b&&j&&k&&!l||"command-code"===b&&j&&k&&!l||o}(B))return function(a){let{cliToolId:b,totalLines:c,openCodeCleanLines:d,bufferReset:e,captureWindowSaturated:f,thinkingPattern:g,skipPatterns:h,findRecentUserPromptIndex:i}=a,{response:j,endIndex:k}=function(a){let{cliToolId:b,lines:c,totalLines:d,chromeStart:e,contentEnd:f,lastCapturedLine:g,bufferReset:h,captureWindowSaturated:i,skipPatterns:j,findRecentUserPromptIndex:k}=a,l=[],m=(0,t.QM)(g,d,h,b,k,i),n="codex"===b?f:d;for(let a=m;a<f;a++){let d=c[a],f=(0,p.aJ)(d);if("codex"===b&&/^›\s+/.test(f)||"gemini"===b&&/^(%|\$|.*@.*[%$#])\s*$/.test(f)||"antigravity"===b&&/^>\s*$/.test(f)||"opencode"===b&&e<0&&(p.sy.test(f)||p.uA.test(f))){n=a;break}j.some(a=>a.test(f))||l.push(d)}return{response:l.join("\n").trim(),endIndex:n}}(a),l=j.split("\n").slice(-r.$).join("\n");if("copilot"!==b&&g.test(l))return V(c);let m=function(a,b,c,d,e){if("claude"===a){let a=(0,p.aJ)(b),f=/[╭╮╰╯]/.test(a)||/░{3,}/.test(a)||/▓{3,}/.test(a),g=/Claude Code v\d+\.\d+|claude\//.test(a),h=/Tip:|for shortcuts|\?\s*for help/.test(a),i=/^\s*\/Users\/.*$/m.test(a)&&a.split("\n").length<30,j=e(c)>=0,k=a.match(/^[>❯]\s+(\S.*)$/m);if(k){let b=a.indexOf(k[0]);if(0===a.substring(b+k[0].length).trim().split("\n").filter(a=>{let b=a.trim();return b&&!d.some(a=>a.test(b))&&!/^─+$/.test(b)}).length)return V(c)}else if(!j&&(f||g||h||i)&&b.length<2e3)return ac.info("Claude startup banner suppressed, response not saved",{responseLength:b.length,hasBannerArt:f,hasVersionInfo:g,hasStartupTips:h,hasProjectInit:i}),V(c)}return null}(b,j,c,h,i)??function(a,b,c){if("copilot"===a){let a=(0,p.aJ)(b);if(!a.split("\n").some(a=>p.y.test(a))&&p.E0.some(b=>b.test(a)))return V(c)}return null}(b,j,c)??("command-code"===b&&0>i(c)?(ac.info("Command Code launch screen suppressed, response not saved",{responseLength:j.length}),V(c)):null)??function(a,b,c){if("gemini"===a&&((b.match(/[░█]/g)||[]).length>.3*b.length||ab.some(a=>b.includes(a))||!b.includes("✦")&&b.length<10))return V(c);return null}(b,j,c)??ad("codex",a,j,k)??ad("vibe-local",a,j,k);return m||{response:j,isComplete:!0,lineCount:k,bufferReset:e,captureWindowSaturated:f,turnHeadTruncated:d?(0,t.V0)(d).headTruncated:void 0}}(B);if("opencode"!==c){let a=g.join("\n"),d=ah(a,c);if(d.isPrompt&&_(c,d,a))return W(g,b,h,o,c,A,d,i)}return function(a){let{lines:b,totalLines:c,contentEnd:d,lastCapturedLine:e,bufferReset:f,captureWindowSaturated:g,skipPatterns:h,findRecentUserPromptIndex:i}=a,j=[],k=f||g||e>=c-5,l=k?i(80):-1,m=k?l>=0?l+1:Math.max(0,c-80):Math.max(0,e);for(let a=m;a<Math.min(c,d);a++){let c=b[a],d=(0,p.aJ)(c);h.some(a=>a.test(d))||j.push(c)}let n=j.join("\n").trim();return n?{response:n,isComplete:!1,lineCount:c}:V(c)}(B)}(b,c,g,s.xE);if(!m||!m.isComplete){let{thinkingPattern:a}=(0,p._X)(g),c=(0,p.aJ)(b).split("\n").slice(-r.$).join("\n");return a.test(c)&&(0,f.markPendingPromptsAsAnswered)(d,e,g,i,af(e))>0&&ae.info("marked-answeredcount-pending"),!1}let o="opencode"===g||"copilot"===g,q=!(0,n.VA)(g)&&!m.captureWindowSaturated;return(!q||!!m.bufferReset||m.lineCount!==c)&&(q&&!m.bufferReset&&m.lineCount<=c?(ae.debug("already-saved-up-to-last-captured-line",{worktreeId:e,cliToolId:g,instanceId:i,lineCount:m.lineCount,lastCapturedLine:c}),!1):{result:m,isFullScreenTui:o,lineCountIsCursor:q})}(k,B,A);if(!C)return!1;let{result:D,isFullScreenTui:E,lineCountIsCursor:F}=C,G=D.promptDetection??ah(D.response,b);if(G.isPrompt&&_(b,G,B))return function(a,b,c,d){let{db:e,worktree:h,worktreeId:i,cliToolId:j,instanceId:k,resolvedInstanceId:l,pollerKey:m}=a,n=b.rawContent||b.cleanContent,o=(0,x.zm)(n,j);if((0,x.gv)(m,o))return(0,y.LN)(i,j,k),ae.info("duplicate-prompt-skipped",{worktreeId:i,cliToolId:j}),!1;let p=n;"copilot"===j&&(p=(0,u.LH)(n),p=(0,u.Sj)(p,v.Rf,v.ky)),(0,f.clearInProgressMessageId)(e,i,j,l);let q=(0,f.createMessage)(e,{worktreeId:i,role:"assistant",content:p,messageType:"prompt",promptData:b.promptData,timestamp:new Date,cliToolId:j,instanceId:l});(0,f.updateSessionState)(e,i,j,c.lineCount,l),(0,g.broadcastMessage)("message",{worktreeId:i,message:q}),(0,U.r)(e,i,j,l,"prompt_detected",{promptType:b.promptData?.type});let r=Date.now(),s=(0,T.Jp)(i,j,k)?.since??r;return(0,P.R)({worktreeId:i,cliToolId:j,instanceId:k,waitingSince:s})||(0,O.J$)({worktreeId:i,worktreeName:h.name,kind:"prompt",agentName:l,instanceId:l,waitingKind:"prompt",waitingSince:s,excerpt:b.promptData?.question??p}).catch(()=>{}),(0,T.hd)({worktreeId:i,cliToolId:j,instanceId:k,waiting:!0,kind:"prompt",now:r}),d||(0,N.Et)(i,j,k),!0}(k,G,D,E);if(!D.response||""===D.response.trim())return(0,f.updateSessionState)(h,a,b,D.lineCount,i),!1;let H="claude"===b?(0,o.R)(D.response):void 0,J=function(a,b,c){let d=b.response;if("gemini"===a)d=(0,u.IS)(b.response);else if("claude"===a)d=(0,u.NN)(b.response);else if("copilot"===a){let a=(0,w.Uz)(c)||b.response;d=(0,u.LH)(a),d=(0,u.Sj)(d,v.Rf,v.ky),(0,w.q1)(c)}else if("opencode"===a){let a=(0,w.Uz)(c),e=b.turnHeadTruncated&&a?a:b.response;d=(0,u.aW)(e),(0,w.q1)(c)}return d}(b,D,j);if(!J||""===J.trim()||"[No content]"===J)return(0,f.updateSessionState)(h,a,b,D.lineCount,i),(0,f.clearInProgressMessageId)(h,a,b,i),!1;if(!F&&(0,z.j7)(j,J))return await ai(k,D,H);return await aj(k,C,H,J,m)}catch(a){return ae.error("response:check-failed",{error:a instanceof Error?a.message:String(a)}),!1}}(0,S.I7)()},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:"context-limit",pattern:/\bmaximum context length is \d+ tokens\b/i,selfRetrying:!1},{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(61878),f=c(8491),g=c(69119),h=c(96742),i=c(29169),j=c(81254),k=c(93997),l=c(4803),m=c(20610);let 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.zJ)(c,a.cliToolId));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,m.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&&(0,l.kN)(g)&&null!==g){let a=g.filter(a=>(0,l.kN)([a])).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,m.pL)),await (0,d.V1)(b,"",!0))}(0,k.gm)(b)}},64501:(a,b,c)=>{c.d(b,{$x:()=>j,NV:()=>k,KO:()=>i,$K:()=>l});var d=c(51297);let e={codex:{showsAbandonedTurn:c(27789).Y7}};var f=c(66101),g=c(59409),h=c(33294);function i(a,b,c){return"hooks"!==a||function(a,b){let c=e[a];return!c||c.showsAbandonedTurn((0,d.aJ)(b).split("\n"))}(b,c)}function j(a,b,c,d=Date.now()){let e=(0,g.VM)(b);return(0,f.Kf)(e,e.liveness({worktreeId:a,cliToolId:b,instanceId:c??b}),d).kind}function k(a,b,c,d,e=Date.now()){return!i(j(a,b,c,e),b,d)&&(0,h.getStructuredSessionState)(a,b,c,e)?.status==="running"}function l(a,b,c,f,g,i=Date.now()){let j=(0,h.getStructuredSessionState)(a,b,c,i);return j?.status==="running"&&"hooks"===f&&function(a,b){let c=e[a];return!!c&&c.showsAbandonedTurn((0,d.aJ)(b).split("\n"))}(b,g)?null:j}},70594:(a,b,c)=>{c.d(b,{EV:()=>h,aT:()=>i,mi:()=>k,wG:()=>j});var d=c(52660),e=c(72626),f=c(30008);let g=(0,e.h)("current-output-builder");function h(a){let b=a?.spec.questions[0];return b?{question:b.question,labels:b.choices.map(a=>a.label),questionCount:a.spec.questions.length,...b.custom?{custom:!0}:{}}:null}function i(a,b,c=null,d=null,e=null){if("waiting"===a.status)return{...a,structuredApplied:!1};if(null!==c)return{status:"waiting",reason:(0,f.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||!j(a,b,c))return!1;let e=c?.closedAt??null;return null!==e&&e<d}(a,b,d,e))return{...a,structuredApplied:!1};let g="running"===b.status,h="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:g,evidence:h,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0}}function j(a,b,c){return!!a.thinking&&null!==b&&"ready"===b.status&&null!==c&&"stop"===c.closedBy&&null!==c.closedAt}function k(a,b,c,e){try{let f=(0,d.getLastUserMessageForInstance)(a,b,c,e);if(!f)return null;let g=f.timestamp instanceof Date?f.timestamp.getTime():NaN;return Number.isFinite(g)?g:null}catch(a){return g.debug("newest-prompt-read-failed",{worktreeId:b,cliToolId:c,instanceId:e,error:a instanceof Error?a.message:String(a)}),null}}},71080:(a,b,c)=>{c.d(b,{L1:()=>l,Pe:()=>i,Re:()=>m,j7:()=>h,oE:()=>j,pN:()=>k});var d=c(55511),e=c(36925);let f=(0,e.v)("__responseHashCache",()=>new Map),g=(0,e.v)("__structuredHistoryRecheckCache",()=>new Map);function h(a,b){let c=(0,d.createHash)("sha256").update(b).digest("hex");return f.get(a)===c||(f.set(a,c),!1)}function i(a){g.has(a)||g.set(a,0)}function j(a){g.delete(a)}function k(a){let b=g.get(a);return void 0!==b&&(b>0?(g.set(a,b-1),!1):(g.set(a,2),!0))}function l(a){f.delete(a),g.delete(a)}function m(a,b){if(a===b)return;let c=f.get(a);f.delete(a),void 0!==c&&f.set(b,c);let d=g.get(a);g.delete(a),void 0!==d&&g.set(b,d)}},72457:(a,b,c)=>{c.d(b,{gv:()=>f,i2:()=>h,iX:()=>g,zm:()=>i});var d=c(55511);let e=(0,c(36925).v)("__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:()=>v});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),n=c(36925);let o=(0,g.h)("push/waiting-notifier"),p=(0,n.v)("__waitingPushPending",()=>new Map),q=(0,n.v)("__waitingPushGraceTimers",()=>new Map);async function r(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){o.warn("waiting-push-failed",{worktreeId:a.worktreeId,instanceId:d,escalated:b,error:c instanceof Error?c.message:String(c)})}}function s(a){let b=q.get(a);void 0!==b&&(clearTimeout(b),q.delete(a))}function t(a,b){(0,j.R)({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waitingSince:a.since})||r(a,!1,b)}function u(){if(p.size>0)return;let a=globalThis.__waitingPushEscalationTimer;void 0!==a&&(clearInterval(a),globalThis.__waitingPushEscalationTimer=void 0)}function v(){let a=globalThis.__waitingPushUnsubscribe;for(let b of(a&&(a(),globalThis.__waitingPushUnsubscribe=void 0),q.values()))clearTimeout(b);q.clear(),p.clear(),u();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){s(c),p.delete(c),u(),(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(p.set(c,e),!function(){if(void 0!==globalThis.__waitingPushEscalationTimer)return;let a=setInterval(()=>{!function(a=Date.now()){if(0===p.size)return u();let b=(0,i.rS)(),c=6e4*b.thresholdMinutes;for(let[d,e]of Array.from(p)){let f=(0,h.Jp)(e.worktreeId,e.cliToolId,e.instanceId);if(null===f||f.since!==e.since){p.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})||(p.delete(d),r({...e,kind:f.kind??e.kind},!0,a)))}u()}()},6e4);a.unref?.(),globalThis.__waitingPushEscalationTimer=a}(),null==(b=e.kind)||"unclassified"===b){s(c);let a=setTimeout(()=>{!function(a){q.delete(a);let b=p.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){p.delete(a),u();return}let d={...b,kind:c.kind};p.set(a,d),t(d,Date.now())}(c)},8e3);a.unref?.(),q.set(c,a);return}t(e,a.at)}(a)});return globalThis.__waitingPushUnsubscribe=b,b}},79565:(a,b,c)=>{c.d(b,{$v:()=>aj,emitChatTurnProgress:()=>ab});var d=c(56791),e=c(36925);let f=(0,e.v)("__unclassifiedFrameRuns",()=>new Map);var g=c(35583),h=c(94154),i=c(63209),j=c(51297),k=c(76777),l=c(50524);let m=/^([^\S\n]*)╹(▀{4,})/,n=/^([^\S\n]*)[│┃]/;var o=c(72626),p=c(8360),q=c(15194),r=c(59409),s=c(64501),t=c(66101),u=c(33198),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(39219),E=c(52277),F=c(51607),G=c(44321),H=c(34405),I=c(93997);function J(a){return""===(0,j.aJ)(a).trim()}var K=c(33294),L=c(30008),M=c(24581),N=c(40043),O=c(9516),P=c(31239),Q=c(16402),R=c(61789),S=c(62887);let T=(0,o.h)("layer-disagreement"),U=(0,e.v)("__layerDisagreementReported",()=>new Set);var V=c(27870),W=c(54325);let X=(0,o.h)("current-output-builder");function Y(){return{version:0,askedAt:-1/0,turnKey:null,body:null,loggedOutcome:null,loggedTurnKey:null}}let Z=(0,e.v)("__chatTurnProgressState",()=>new Map);function $(a){return`${a.worktreeId}:${a.cliToolId}:${a.instanceId??a.cliToolId}`}function _(a,b,c,d={}){let e=$(a),f=Z.get(e)??Y();Z.set(e,f),(f.loggedOutcome!==b||f.loggedTurnKey!==c)&&(f.loggedOutcome=b,f.loggedTurnKey=c,X.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 aa(a,b,c=Date.now()){let d,e=$(a),f=Z.get(e)??Y();if(c-f.askedAt<W.r9)return null;f.askedAt=c,Z.set(e,f);try{d=await b()}catch{return null}if(!d||0===d.body.length)return null;let g=(0,W.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:W.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 ab(a,b,d=Date.now()){try{let{broadcast:e,hasRoomSubscribers:f}=await Promise.resolve().then(c.bind(c,43015));if(!f(a.worktreeId))return _(a,"no-subscribers",null),!1;let g=await aa(a,b,d);if(!g)return!1;return e(a.worktreeId,g),_(a,"published",g.turnKey,{version:g.version,bodyLength:g.body.length,partial:g.partial}),!0}catch(b){return _(a,"failed",null,{error:b instanceof Error?b.message:String(b)}),!1}}async function ac(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 _(f,"no-subscribers",null);ab(f,async()=>{let{readClaudeTurnProgress:a}=await Promise.resolve().then(c.bind(c,71133));return a({worktreeId:b,cliToolId:d,instanceId:e??d},{worktreePath:h})})}catch(a){_(f,"failed",null,{error:a instanceof Error?a.message:String(a)})}}var ad=c(70594),ae=c(81254);let af=(0,o.h)("current-output-builder");function ag(a,b){Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:c})=>{c("message",{worktreeId:a,message:b})}).catch(b=>{af.warn("history-row-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})})}let ah=(0,e.v)("__detectionDivergenceEpisodes",()=>new Map),ai=(0,o.h)("current-output-builder");async function aj(a,b,c,d,e){let f=await ak(a,b,c,d);return(f.isRunning&&"running"===f.sessionStatus&&null==f.startingSince&&await ac(a,b,c,d),e)?{...f,resolvedBy:e.resolvedBy,conflict:e.conflict??null}:f}async function ak(a,b,c,e){let o=e??c,W=p.CLIToolManager.getInstance().getTool(c),X=W.getSessionName(b,e),{stopEventAt:Y,eventSource:Z,askUserQuestion:$,structuredEvents:_}=function(a,b,c,d){let e=(0,K.getLastStopEventAt)(a,b,c),f=(0,K.getLastAgentEvent)(a,b,c),g=(0,r.VM)(b),h=Date.now(),i=(0,K.getPendingDecisions)(a,b,c,h),j=(0,K.getAskUserQuestion)(a,b,c,h),k=(0,x.Jl)(a,b,c),l={lastEventType:f?.event??null,lastEventAt:f?.at??null,lastEventDetail:f?.detail??null,...(0,K.getPublishedAgentTurn)(a,b,c,h),pendingDecisions:i.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,M.qX)(a,g.capabilities.decisionTimeoutSeconds,h),kind:b,questionOptions:"question"===b&&j?(0,A.dZ)(j.spec).map(a=>({number:a.number,label:a.label})):null}}),dedupDropped:(0,K.getAgentEventDropCounts)(a,b,c),dialogPendingMaxMs:{...M.h_},promptWaitingSince:null,promptWaitingSource:null,toolInputNormalization:(0,w.SQ)(a,b,c),permissionDecision:(0,v.CD)(a,b,c),source:{cliToolId:g.cliToolId,capabilities:g.capabilities,...(0,t.Kf)(g,g.liveness({worktreeId:a,cliToolId:b,instanceId:d}),h),probedActivity:(0,u.hS)({worktreeId:a,cliToolId:b,instanceId:d})},session:k,sessionContext:(0,x.sc)({worktreeId:a,cliToolId:b,instanceId:c},k),sessionDiff:(0,z.rn)({worktreeId:a,cliToolId:b,instanceId:c})};return{stopEventAt:e,eventSource:g,askUserQuestion:j,structuredEvents:l}}(b,c,e,o);if(!await W.isRunning(b,e))return(0,N.xG)((0,D.v7)(b,c,e)),{isRunning:!1,startingSince:(0,g.Bk)(b,c,e),sessionName:X,content:"",lineCount:0,cliToolId:c,sessionStatus:"idle",sessionStatusReason:"session_not_running",statusEvidence:"positive",lastKnownStatus:null,lastKnownStatusAt:null,lastStopEventAt:Y,structuredEvents:_,model:null,reasoningEffort:null,promptDedup:(0,G.XH)(b,c,e),upstreamFault:null,paneObstruction:null,composerText:null,composerState:"no_composer"};let aa=(0,d.getSessionState)(a,b,o),ab=aa?.lastCapturedLine||0,ac=await (0,B.Wh)(b,c,H._,e),aj=ac.split("\n"),ak=aj.length,al=(0,I.sl)(ak,Math.min(H._,I.xE)),am=((0,q.qR)(c,al)?aj.slice(Math.max(0,ab)):aj).join("\n"),{compositeKey:an,lastServerResponseTimestamp:ao,statusResult:ap,startingSince:aq,thinking:ar,scraperPromptWaiting:as,isSelectionListActive:at,isPagerActive:au,isDismissablePanelActive:av,evidence:aw,isUnclassifiedActive:ax}=function(a,b,c,d){let e=(0,D.v7)(a,b,c),f=(0,D.xU)(e),h=f?new Date(f):void 0,i=(0,C.WC)(d,b,h),j=(0,g.a3)(a,b,c,"waiting"===i.status||i.hasActivePrompt),k=null===j?i:(0,g.Gz)(i),l=(0,C.f8)(k),m=k.hasActivePrompt,n="waiting"===k.status&&C.ug.has(k.reason),o=k.reason===C.gv.CODEX_PAGER,p="waiting"===k.status&&k.reason===C.gv.COMMAND_CODE_DISMISSABLE_PANEL,q=k.evidence,r=(0,N.Q4)(k.status,k.reason);return{compositeKey:e,lastServerResponseTimestamp:f,statusResult:k,startingSince:j,thinking:l,scraperPromptWaiting:m,isSelectionListActive:n,isPagerActive:o,isDismissablePanelActive:p,evidence:q,isUnclassifiedActive:r}}(b,c,e,ac);(0,K.observeScraperCompletionEvidence)(b,c,e,"ready"===ap.status&&"positive"===aw,void 0,(0,s.KO)(_.source.kind,c,ac));let ay=(0,s.$K)(b,c,e,_.source.kind,ac),az=(0,L._G)({worktreeId:b,cliToolId:c,instanceId:e,scraper:{status:ap.status,reason:ap.reason,hasActivePrompt:as}}),aA=az.structured;null!==aA&&(_.promptWaitingSince=aA.at,_.promptWaitingSource=aA.source);let aB={status:ap.status,reason:ap.reason,thinking:ar,evidence:aw,isUnclassifiedActive:ax},aC=(0,ad.wG)(aB,ay,_)?(0,ad.mi)(a,b,c,o):null,aD=(0,ad.aT)(aB,ay,aA,_,aC),aE=null===aq&&az.waiting,{structuredFacts:aF,promptData:aG,promptAnswerable:aH}=function({worktreeId:a,cliToolId:b,output:c,statusResult:d,startingSince:e,promptWaiting:f,askUserQuestion:g,eventSource:h}){let i=d.hasActivePrompt,j=d.promptDetection.promptData,k=j&&g?(0,O.Hu)(j,g.spec):null,l=null!==f&&(0,L.$G)(f,h.capabilities.eventIdentity)?f.decisionId:null,m=null!==f&&"question"===(0,y.Wk)(f.toolName),n=null===l||m?null:(0,V.T5)(b),o=null===f?null:{...f,askUserQuestion:(0,ad.EV)(g),decisionOptions:n,decisionId:l,patterns:null!==n?f.patterns:null},p=null!==e?null:i?k??j??(o?(0,V.Yo)(a,o):null):o?(0,V.Yo)(a,o):null;return{structuredFacts:o,promptData:p,promptAnswerable:i&&(k??j)?null===(0,Q.dd)(b,c).refusal:void 0}}({worktreeId:b,cliToolId:c,output:ac,statusResult:ap,startingSince:aq,promptWaiting:aA,askUserQuestion:$,eventSource:Z}),aI=null!==ay&&ay.status!==ap.status;aI&&ai.info("detection-divergence",{worktreeId:b,cliToolId:c,instanceId:o,scraperStatus:ap.status,scraperReason:ap.reason,structuredStatus:ay.status,structuredReason:ay.reason,structuredEvent:ay.event,structuredEventAt:ay.at,applied:aD.structuredApplied});let aJ=function(a,b,c,d,e=Date.now()){let f=`${a}\u0000${b}\u0000${c}`,g=ah.get(f);return d?(g?g.polls++:ah.set(f,{startedAt:e,polls:1}),null):g?(ah.delete(f),{durationMs:Math.max(0,e-g.startedAt),polls:g.polls}):null}(b,c,o,aI);null!==aJ&&ai.info("detection-divergence-resolved",{worktreeId:b,cliToolId:c,instanceId:o,durationMs:aJ.durationMs,polls:aJ.polls});let aK=(function(a){let b=a.slice(-100);if(b.some(a=>!J(a)))return b;let c=a.length-1;for(;c>=0&&J(a[c]);)c-=1;return c<0?b:a.slice(Math.max(0,c+1-100),c+1)})(aj).join("\n"),aL="opencode"===c?function(a){let b=(0,j.aJ)(a).split("\n"),c=-1,d=-1,e=-1;for(let a=0;a<b.length;a++){let f=m.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=n.exec(h);if(!a||a[1].length!==d)continue}let i=h.slice((0,l.sh)(h,e)).trim();""!==i&&(f+=1,""===g&&(g=(0,k.D)(i,200,"…[truncated]")))}return f<2?null:{id:"opencode_sidebar",matchedText:g,boxRight:e,rows:f}}(aK):null,aM=(0,V.LF)(Z.capabilities.eventIdentity,_.pendingDecisions??[]),aN=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})}(an,aD.isUnclassifiedActive&&!aM&&null===aq);aN.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:ae.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});af.info("unclassified-frame-recorded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,dwellSeconds:e,statusReason:f}),ag(b.worktreeId,c)}catch(a){af.warn("unclassified-frame-record-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)})}}(a,{worktreeId:b,cliToolId:c,instanceId:o,dwellMs:aN.dwellMs,sessionStatus:aD.status,sessionStatusReason:aD.reason,obstruction:aL});let aO=(aP={supportedEvents:Z.capabilities.supportedEvents,scraperStatus:ap.status,scraperReason:ap.reason,hasActivePrompt:as,lastEventType:_.lastEventType,lastEventDetail:_.lastEventDetail}).supportedEvents.includes("user_prompt_submit")&&aP.supportedEvents.includes("stop")&&"waiting"===aP.scraperStatus&&"stop"===aP.lastEventType&&aP.lastEventDetail!==S.HV?aP.hasActivePrompt?"approval-after-stop":C.ug.has(aP.scraperReason)?"menu-after-stop":null:null;if(null!==aO&&function(a){let b=`${a.compositeKey}|${a.turnId??"-"}|${a.kind}`;if(U.has(b))return;U.size>=512&&U.clear(),U.add(b);let c=(0,R.aJ)(a.frame).split("\n").filter(a=>""!==a.trim());T.warn("layerDisagreement",{kind:a.kind,worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,turnId:a.turnId,scraperReason:a.scraperReason,frameTail:c.slice(-40).join("\n")})}({compositeKey:an,worktreeId:b,cliToolId:c,instanceId:o,turnId:_.turnId,kind:aO,scraperReason:ap.reason,frame:ac}),null!==aA&&null!==aF&&!as&&!aA.recorded&&!aM){(0,K.markStructuredPromptRecorded)(b,c,e);var aP,aQ=b,aR=c,aS=o,aT=aA,aU=aF;let f=(0,V.fO)(aQ,aU);try{let b=(0,d.createMessage)(a,{worktreeId:aQ,role:"assistant",content:f.question,summary:`structured prompt \xb7 source=${aT.source}${aT.toolName?` \xb7 tool=${aT.toolName}`:""}`,messageType:"prompt",promptData:f,timestamp:new Date,cliToolId:aR,instanceId:aS});af.info("structured-prompt-recorded",{worktreeId:aQ,cliToolId:aR,instanceId:aS,source:aT.source,toolName:aT.toolName}),ag(aQ,b)}catch(a){af.warn("structured-prompt-record-failed",{worktreeId:aQ,error:a instanceof Error?a.message:String(a)})}}let aV=(0,h.ji)(ac,c),aW=(0,i.bT)(aK),aX=(0,D.aq)(b,c,e),{model:aY,effort:aZ}=(0,K.getResolvedAgentModelInfo)(b,c,e),a$=null===aq?aD:{...aD,status:"running",reason:C.gv.STARTING,thinking:!1};(0,N.ox)(an,{status:a$.status,reason:a$.reason,evidence:a$.evidence});let a_=(0,N.AD)(an);return function({worktreeId:a,cliToolId:b,instanceId:c,sessionName:d,published:e,merged:f,newContent:g,output:h,realtimeSnippet:i,totalLines:j,lastCapturedLine:k,isPromptWaiting:l,promptData:m,promptAnswerable:n,autoYesState:o,lastEnterFallback:p,isSelectionListActive:q,isPagerActive:r,isDismissablePanelActive:s,startingSince:t,lastKnown:u,lastServerResponseTimestamp:v,compositeKey:w,stopEventAt:x,structuredEvents:y,model:z,effort:A,upstreamFaultMatch:B,paneObstruction:C,composer:F}){return{isRunning:!0,sessionName:d,cliToolId:b,sessionStatus:e.status,sessionStatusReason:e.reason,content:g,fullOutput:h,realtimeSnippet:i,lineCount:j,lastCapturedLine:k,thinking:e.thinking,isPromptWaiting:l,promptData:m,...void 0!==n?{promptAnswerable:n}:{},promptView:(0,P.ds)(m),autoYes:{enabled:o?.enabled??!1,expiresAt:o?.enabled?o.expiresAt:null,stopReason:o?.stopReason,lastSuppression:(0,E.gb)(a,b,c),stopMatchedText:o?.stopMatchedText,lastEnterFallback:p},isSelectionListActive:q,isPagerActive:r,isDismissablePanelActive:s,isUnclassifiedActive:null===t&&f.isUnclassifiedActive,startingSince:t,statusEvidence:e.evidence,lastKnownStatus:u?.status??null,lastKnownStatusAt:u?.at??null,lastServerResponseTimestamp:v,serverPollerActive:(0,D.bZ)(w),lastStopEventAt:x,structuredEvents:y,model:z,reasoningEffort:A,promptDedup:(0,G.XH)(a,b,c),upstreamFault:B?{id:B.fault.id,matchedText:B.matchedText,at:Date.now()}:null,paneObstruction:C?{id:C.id,matchedText:C.matchedText,at:Date.now()}:null,composerText:"content"===F.state?F.text:null,composerState:F.state}}({worktreeId:b,cliToolId:c,instanceId:e,sessionName:X,published:a$,merged:aD,newContent:am,output:ac,realtimeSnippet:aK,totalLines:ak,lastCapturedLine:ab,isPromptWaiting:aE,promptData:aG,promptAnswerable:aH,autoYesState:aX,lastEnterFallback:(0,F.YN)((0,F.li)(b,c,e),void 0!==aH?ap.promptDetection.promptData:null),isSelectionListActive:at,isPagerActive:au,isDismissablePanelActive:av,startingSince:aq,lastKnown:a_,lastServerResponseTimestamp:ao,compositeKey:an,stopEventAt:Y,structuredEvents:_,model:aY,effort:aZ,upstreamFaultMatch:aW,paneObstruction:aL,composer:aV})}},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,{DS:()=>h,LN:()=>f,XH:()=>g});var d=c(24455);let e=(0,c(36925).v)("__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){let b=[];for(let{oldWorktreeId:c,newWorktreeId:f,cliToolId:g,instanceId:h}of a){if(c===f)continue;let a=(0,d.v7)(c,g,h);b.push({newKey:(0,d.v7)(f,g,h),record:e.get(a)}),e.delete(a)}for(let{newKey:a,record:c}of b)void 0!==c&&e.set(a,c)}},45146:(a,b,c)=>{c.d(b,{Et:()=>A,KQ:()=>C,MN:()=>s,fq:()=>B,g8:()=>u,sR:()=>E});var d=c(84297),e=c(72626),f=c(13033),g=c(72457),h=c(71080),i=c(44321),j=c(54300),k=c(99508),l=c(56455),m=c(40964),n=c(36925);let o=(0,e.h)("response-poller"),p=(0,n.v)("__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}));p.pausedOnPrompt??=new Set;let q=p.activePollers,r=p.pollingStartTimes;function s(a,b,c){return`${a}:${c??b}`}function t(a){return"opencode"===a||"copilot"===a}function u(a,b,c){let d=s(a,b,c),e={worktreeId:a,cliToolId:b,instanceId:c},f=p.running.get(d);if(f){if(f.owner.superseded=!0,Date.now()-f.since<6e4)return void p.pendingRestart.set(d,e);o.warn("poller:restart-past-stalled-tick",{pollerKey:d,generation:f.owner.generation,runningForMs:Date.now()-f.since}),p.running.delete(d)}v(d,e)}function v(a,b){let c=p.pausedOnPrompt.has(a);z(a,{resume:c}),c&&o.info("poller:resumed-after-prompt",{pollerKey:a}),function(a){let b=s(a.worktreeId,a.cliToolId,a.instanceId);p.pollingStartTimes.set(b,Date.now()),t(a.cliToolId)&&(0,f.tb)(b),w(a.worktreeId,a.cliToolId,a.instanceId)}(b)}function w(a,b,c){let d=s(a,b,c);x({worktreeId:a,cliToolId:b,instanceId:c},function(a){let b=p.owners.get(a);b&&(b.superseded=!0);let c={pollerKey:a,generation:++p.generationCounter,superseded:!1,stopped:!1,selfStopped:!1};return p.owners.set(a,c),c}(d))}function x(a,b){let c=setTimeout(()=>{y(a,b)},2e3);p.activePollers.set(b.pollerKey,c)}async function y(a,b){let c=b.pollerKey;if(!b.superseded&&!b.stopped){p.running.set(c,{owner:b,since:Date.now()});try{let d,e=p.pollingStartTimes.get(c);if(e&&Date.now()-e>18e5)return void z(c);try{d=await (0,l.y)(a.worktreeId,(0,m.mf)(a.cliToolId,a.worktreeId,a.instanceId))}catch(d){o.error("poller:ownership-check-failed",{pollerKey:c,error:d instanceof Error?d.message:String(d)}),b.superseded||b.stopped||x(a,b);return}if(null!==d){o.warn("poller:session-refused",{pollerKey:c,generation:b.generation,refusal:d}),b.superseded||b.stopped||z(c);return}let f=!1;try{f=await p.ownerStorage.run(b,()=>(0,j.zX)(a.worktreeId,a.cliToolId,a.instanceId))}catch(a){o.error("error:",{error:a instanceof Error?a.message:String(a)})}b.selfStopped&&function(a,b,c){if(c&&!t(b.cliToolId)){p.pausedOnPrompt.add(a.pollerKey),o.info("poller:paused-on-prompt",{pollerKey:a.pollerKey,generation:a.generation});return}(0,h.L1)(a.pollerKey)}(b,a,f),b.superseded||(0,k.broadcastTerminalSnapshot)(a.worktreeId,a.cliToolId,a.instanceId),b.superseded||b.stopped||x(a,b)}finally{p.running.get(c)?.owner===b&&p.running.delete(c);let a=p.pendingRestart.get(c);a&&(p.pendingRestart.delete(c),v(c,a))}}}function z(a,b={}){let c=p.ownerStorage.getStore();if(c&&c.pollerKey===a&&(c.superseded||c.stopped))return void o.info("poller:stale-stop-ignored",{pollerKey:a,generation:c.generation});b.resume||(0,j.Tq)(a,"poller-stopped");let d=p.owners.get(a),e=void 0!==d&&c===d;d&&(d.stopped=!0,d.selfStopped=e,p.owners.delete(a)),p.pendingRestart.delete(a),p.pausedOnPrompt.delete(a);let i=p.activePollers.get(a);i&&(clearTimeout(i),p.activePollers.delete(a),p.pollingStartTimes.delete(a)),(0,f.q1)(a),(0,g.iX)(a),e||b.resume||(0,h.L1)(a)}function A(a,b,c){z(s(a,b,c))}function B(){for(let a of new Set([...Array.from(p.activePollers.keys()),...Array.from(p.owners.keys()),...Array.from(p.pausedOnPrompt)]))z(a);p.pendingRestart.clear(),p.pausedOnPrompt.clear()}function C(){return Array.from(p.activePollers.keys())}function D(a){let b=a.indexOf(":");return b<=0||b===a.length-1?null:{worktreeId:a.slice(0,b),instanceId:a.slice(b+1)}}function E(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(q.keys())){let f=D(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:s(g,h,f.instanceId),newWorktreeId:g,cliToolId:h,instanceId:f.instanceId})}let j=new Map;for(let a of d){let b=q.get(a.oldKey);b&&clearTimeout(b),q.delete(a.oldKey);let c=p.owners.get(a.oldKey);c&&(c.superseded=!0,c.stopped=!0,p.owners.delete(a.oldKey)),p.pendingRestart.delete(a.oldKey),j.set(a.newKey,{startedAt:r.get(a.oldKey)}),r.delete(a.oldKey),(0,f.q1)(a.oldKey)}for(let a of e)z(a),o.warn("poller:migrate-abandoned",{pollerKey:a});let k=[];for(let a of Array.from(p.pausedOnPrompt)){let b=D(a);if(!b)continue;let d=c.get(b.worktreeId);d&&k.push({oldKey:a,newKey:`${d}:${b.instanceId}`})}for(let a of((0,g.nZ)(d),(0,h.qt)([...d,...k]),(0,i.DS)(d.flatMap(a=>{let b=D(a.oldKey);return b?[{oldWorktreeId:b.worktreeId,newWorktreeId:a.newWorktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId}]:[]})),d)){let b=j.get(a.newKey)?.startedAt;r.set(a.newKey,b??Date.now()),t(a.cliToolId)&&(0,f.tb)(a.newKey),w(a.newWorktreeId,a.cliToolId,a.instanceId)}for(let a of k)p.pausedOnPrompt.delete(a.oldKey);for(let a of k)p.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)})}}},51607:(a,b,c)=>{c.d(b,{GR:()=>j.GR,MR:()=>j.MR,NR:()=>j.NR,Wl:()=>j.Wl,YN:()=>j.YN,cr:()=>j.cr,gp:()=>o,gq:()=>j.gq,li:()=>j.li,vR:()=>j.vR});var d=c(91536),e=c(11472),f=c(94154),g=c(61789),h=c(24455),i=c(16402),j=c(27675);let k=["enabled","disabled"],l={claude:"enabled",codex:"enabled",copilot:"disabled",opencode:"disabled","opencode-v2":"disabled",gemini:"disabled",antigravity:"disabled","vibe-local":"disabled","command-code":"disabled"},m=new Set(["content","ghost","empty"]),n=new Set(["claude","codex"]);function o(a,b,c=process.env){if("enabled"!==function(a,b=process.env){let c=b.CM_AUTOYES_ENTER_FALLBACK,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();k.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??l[a]??"disabled"}(a,c))return{eligible:!1,reason:"tool-disabled",refusalReason:null,composerState:null};if(void 0===b)return{eligible:!1,reason:"no-raw-frame",refusalReason:null,composerState:null};let j=(0,i.dd)(a,b).refusal;if(null===j)return{eligible:!1,reason:"answerable",refusalReason:null,composerState:null};let p=(0,f.ji)(b,a).state,q=a=>({eligible:!1,reason:a,refusalReason:j.reason,composerState:p});if(m.has(p))return q("composer-visible");let r=j.reason===i.bj,s=n.has(a)&&"no_composer"===p;if(!r&&!s)return q("no-choice-screen-evidence");if(!(0,e.Hg)(b,(0,d.H7)(a)).alive)return q("tool-exited");let t=(0,g.aJ)(b).split("\n").slice(-h.Re).join("\n");return(0,g.ut)(a,t)?q("thinking"):{eligible:!0,refusalReason:j.reason,composerState:p}}},54300:(a,b,c)=>{c.d(b,{zX:()=>ak,$M:()=>ag,Tq:()=>H});var d=c(31990),e=c(88807),f=c(56791),g=c(43015),h=c(26895),i=c(28861),j=c(61878),k=c(70605),l=c(96742),m=c(18778),n=c(15194),o=c(8988),p=c(61789),q=c(72626),r=c(46423),s=c(93997),t=c(60),u=c(82450),v=c(56263),w=c(13033),x=c(72457),y=c(44321),z=c(71080),A=c(28918),B=c(31517),C=c(36925);let D=(0,q.h)("response-poller"),E=B.sD.reduce((a,b)=>a+b,0),F=(0,C.v)("__pendingScrapedResponses",()=>new Map);function G(a){F.delete(a)}function H(a,b){let c=F.get(a);if(!c)return!1;F.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}),D.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,m.T)(a,c.worktreeId,c.content,c.cliToolId).catch(()=>{}),!0}catch(a){return D.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 I(a){let b=F.get(a);if(!(!b||Date.now()<b.expiresAt)){if(await (0,A.captureStructuredHistoryTurn)(b.worktreeId,b.cliToolId,b.instanceId,{worktreePath:b.worktreePath,transcriptPathHint:b.transcriptPathHint})){G(a),(0,z.oE)(a),D.info("pending-scrape-superseded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId,heldForMs:Date.now()-b.timestamp.getTime()});return}H(a,"hold-expired")}}var J=c(43925),K=c(40964),L=c(83598),M=c(31442),N=c(45146),O=c(91601),P=c(92010),Q=c(81099),R=c(63209),S=c(73478),T=c(57836),U=c(52767);function V(a){return{response:"",isComplete:!1,lineCount:a}}function W(a,b,c,d,e,f,g,h=!1){let i=(0,t.QM)(b,c,d,e,f,h),j=a.slice(i);return{response:(0,p.aJ)(j.join("\n")),isComplete:!0,lineCount:c,promptDetection:g,bufferReset:d,captureWindowSaturated:h}}var X=c(77244),Y=c(16402);let Z=(0,q.h)("response-poller");function $(a){return!(void 0===a||(0,X.FD)(a.worktreeId,"antigravity",a.instanceId))&&(Z.debug("antigravity-dialog-no-recent-receipt",{worktreeId:a.worktreeId,instanceId:a.instanceId??"antigravity"}),!0)}function _(a,b,c){let d=(0,Y.vm)(a,b.promptData?.type,c);return!!d.present||(Z.debug("prompt-candidate-not-vouched",{cliToolId:a,promptType:b.promptData?.type,gateMode:d.mode}),!1)}var aa=c(96486);let ab=["Waiting for auth","⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],ac=(0,q.h)("response-poller");function ad(a,b,c,d){let{cliToolId:e,lines:f,lastCapturedLine:g,bufferReset:h,captureWindowSaturated:i}=b;return e===a&&c&&!i&&(0,aa.K)(e,f)?((h||d>g)&&ac.info(`${a} startup screen suppressed, response not saved`,{responseLength:c.length,lineCount:d}),{response:"",isComplete:!0,lineCount:d,bufferReset:h,captureWindowSaturated:i}):null}let ae=(0,q.h)("response-poller");function af(a){return b=>{try{(0,g.broadcastMessage)("message_updated",{worktreeId:a,message:b})}catch(b){ae.warn("prompt-sweep-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})}}}function ag(a,b,c,d,e,f){if("antigravity"===b){let b=(0,i.g)(a);if(null!==b)return $(e)?{isPrompt:!1,cleanContent:a.trim()}:b}if("command-code"===b&&void 0!==d){let b=(0,l.nK)(d);if("prompt"===b.kind)return b.prompt;if("unsupported"===b.kind)return{isPrompt:!1,cleanContent:a.trim()}}let g=(0,p.KO)(b),m=(0,h.gF)(a,c?{...g,precomputedLines:c}:g);if(m.isPrompt){let c=void 0!==f?(0,j.Yc)(f,b):(0,j.zJ)(d??a,b).liveRegion;if((0,k.z8)(c,m))return{isPrompt:!1,cleanContent:a.trim()}}return"antigravity"===b&&m.isPrompt&&$(e)?{isPrompt:!1,cleanContent:a.trim()}:m}function ah(a,b){return ag((0,p._A)((0,p.aJ)(a)),b,void 0,a)}async function ai(a,b,c){let{db:d,worktree:e,worktreeId:g,cliToolId:h,instanceId:i,resolvedInstanceId:j,pollerKey:k}=a,l=(0,z.o_)(k);return l.log&&ae.info("duplicate-response-skipped",{worktreeId:g,cliToolId:h,instanceId:j,...l.consecutive>1?{consecutive:l.consecutive,suppressed:l.suppressed}:{}}),(0,f.updateSessionState)(d,g,h,b.lineCount,j),!!((0,z.pN)(k)&&await (0,A.captureStructuredHistoryTurn)(g,h,i,{worktreePath:e.path,transcriptPathHint:c?.logFilePath??null}))&&((0,z.oE)(k),G(k),ae.info("structured-history-recheck-captured",{worktreeId:g,cliToolId:h,instanceId:j}),!0)}async function aj(a,b,c,d,e){let{db:h,worktree:i,worktreeId:j,cliToolId:k,instanceId:l,resolvedInstanceId:n,pollerKey:o}=a,{result:p,isFullScreenTui:q,lineCountIsCursor:r}=b,s={},t=(0,A.isStructuredHistoryWriterLive)(j,k,l)||await (0,A.captureStructuredHistoryTurn)(j,k,l,{worktreePath:i.path,transcriptPathHint:c?.logFilePath??null},s);t?(0,z.oE)(o):(0,z.Pe)(o);let u=t||e.delegated,v=!u&&"not_yet_closed"===s.outcome;!d||u||v||await (0,m.T)(h,j,d,k),(0,f.markPendingPromptsAsAnswered)(h,j,k,n,af(j))>0&&ae.info("marked-answeredcount-pending");let w=(0,f.getSessionState)(h,j,n);return r&&w&&p.lineCount<=w.lastCapturedLine?(ae.info("race-condition-detected-skipping-save-re"),!1):(!function(a,b,c,d){let{db:e,worktree:h,worktreeId:i,cliToolId:j,resolvedInstanceId:k,pollerKey:l}=a,{structuredHistoryLive:m,suppressScrapedHistory:n,holdScrapedHistory:o}=d;if(o)!function(a,b){let c=F.get(a);if(c){c.content=b.content;return}F.set(a,b)}(l,{worktreeId:i,cliToolId:j,instanceId:k,content:b,timestamp:new Date,summary:c?.summary,logFileName:c?.logFileName,requestId:c?.requestId,worktreePath:h.path,transcriptPathHint:c?.logFilePath??null,expiresAt:Date.now()+E}),ae.info("structured-history-scrape-held",{worktreeId:i,cliToolId:j,instanceId:k,scrapedLength:b.length,holdMs:E}),(0,J.vQ)(i,j,k,!1);else if(n)m&&G(l),ae.info("structured-history-scrape-suppressed",{worktreeId:i,cliToolId:j,instanceId:k,scrapedLength:b.length,reason:m?"structured-history":"geometry-delegated"});else{let a=(0,f.createMessage)(e,{worktreeId:i,role:"assistant",content:b,messageType:"normal",timestamp:new Date,cliToolId:j,instanceId:k,summary:c?.summary,logFileName:c?.logFileName,requestId:c?.requestId});(0,g.broadcastMessage)("message",{worktreeId:i,message:a}),(0,J.vQ)(i,j,k,!1)}}(a,d,c,{structuredHistoryLive:t,suppressScrapedHistory:u,holdScrapedHistory:v}),(0,T.hd)({worktreeId:j,cliToolId:k,instanceId:l,waiting:!1}),(0,O.J$)({worktreeId:j,worktreeName:i.name,kind:"completion",agentName:n,excerpt:d}).catch(()=>{}),(0,f.updateSessionState)(h,j,k,p.lineCount,n),q&&(0,N.Et)(j,k,l),!0)}async function ak(a,b,c){let h=(0,e.getDbInstance)(),i=c??b;try{let e=(0,f.getWorktreeById)(h,a);if(!e)return ae.error("worktree-not-found"),(0,N.Et)(a,b,c),!1;if(!await (0,d.K1)(a,b,c))return ae.info("session-not-running"),(0,N.Et)(a,b,c),!1;let j=(0,N.MN)(a,b,c),k={db:h,worktree:e,worktreeId:a,cliToolId:b,instanceId:c,resolvedInstanceId:i,pollerKey:j};await I(j);let l=(0,K.mf)(b,a,c),m=(0,M.n9)(l)?await (0,L.zQ)(l):{delegated:!1,released:!1};m.released&&((0,f.updateSessionState)(h,a,b,0,i),ae.info("geometry-delegation-released",{worktreeId:a,cliToolId:b,instanceId:i}));let q=(0,f.getSessionState)(h,a,i),A=q?.lastCapturedLine||0,B=await (0,d.Wh)(a,b,s.xE,c),C=function(a,b,c){let{db:d,worktreeId:e,cliToolId:g,instanceId:h,resolvedInstanceId:i,pollerKey:j}=a,k=b.split("\n").slice(-100).join("\n"),l=(0,R.bT)(k);if((0,Q.notifyUpstreamFaultPush)({worktreeId:e,cliToolId:g,instanceId:h,faultId:l?.fault.id??null,matchedText:l?.matchedText}).catch(()=>{}),"opencode"===g||"copilot"===g){let a="opencode"===g?(0,t.ZX)(b):b;(0,w.IZ)(j,a,g)}let m=function(a,b,c,d=s.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,s.sl)(e.length,d),j="opencode"===c?g.map(p.aJ):null,k="claude"===c?(0,p.GT)(g):"copilot"===c?(0,p.wv)(g):"command-code"===c?(0,p.I$)(g):"codex"===c?(0,p.Zu)(g):j?(0,p.x7)(j):-1,l=k>=0?k:h,m=h>0&&b>25&&h+25<b,n=h>0&&b>50&&h<50,o=m||n;if(!o&&h<b-5)return null;let q=Math.max(0,h-20),u=g.slice(q),v=j?j.join("\n"):u.join("\n"),{promptPattern:w,separatorPattern:x,thinkingPattern:y,skipPatterns:z}=(0,p._X)(c),A=(a=60)=>(function(a,b,c,d,e,f){let g;if("codex"===a)return(0,p.Nc)(b,e,f,d>=0);if(c)return(0,t.V0)(c).echoEnd;if("copilot"===a){for(let a=e-1;a>=Math.max(0,e-f);a--){if(!p.y.test((0,p.aJ)(b[a])))continue;let c=a;for(;c+1<e&&p.Fg.test((0,p.aJ)(b[c+1]));)c++;return c}return -1}g=/^[>❯]\s+\S/;for(let a=e-1;a>=Math.max(0,e-f);a--){let c=(0,p.aJ)(b[a]);if(g.test(c))return a}return -1})(c,g,j,k,l,a);if("claude"===c||"codex"===c||"copilot"===c||"command-code"===c){let a=g.join("\n"),d=ah(a,c);if(d.isPrompt&&_(c,d,a))return W(g,b,h,o,c,A,d,i)}let B={cliToolId:c,lines:g,totalLines:h,openCodeCleanLines:j,chromeStart:k,contentEnd:l,lastCapturedLine:b,bufferReset:o,captureWindowSaturated:i,checkLineCount:20,cleanOutputToCheck:(0,p.aJ)(v),promptPattern:w,separatorPattern:x,thinkingPattern:y,skipPatterns:z,findRecentUserPromptIndex:A};if(function(a){let{cliToolId:b,lines:c,totalLines:d,checkLineCount:e,cleanOutputToCheck:f,promptPattern:g,separatorPattern:h,thinkingPattern:i}=a,j=g.test(f),k=h.test(f),l="codex"===b?(0,p.DR)(c,e):i.test(f),m="copilot"===b?(0,p.Wn)(c.slice(Math.max(0,d-8)).map(p.aJ)):null,n="copilot"===b?"idle"===m:("codex"===b||"gemini"===b||"vibe-local"===b||"antigravity"===b)&&j&&!l,o="opencode"===b&&(0,t.bE)(f);return n||"claude"===b&&j&&k&&!l||"command-code"===b&&j&&k&&!l||o}(B))return function(a){let{cliToolId:b,totalLines:c,openCodeCleanLines:d,bufferReset:e,captureWindowSaturated:f,thinkingPattern:g,skipPatterns:h,findRecentUserPromptIndex:i}=a,{response:j,endIndex:k}=function(a){let{cliToolId:b,lines:c,totalLines:d,chromeStart:e,contentEnd:f,lastCapturedLine:g,bufferReset:h,captureWindowSaturated:i,skipPatterns:j,findRecentUserPromptIndex:k}=a,l=[],m=(0,t.QM)(g,d,h,b,k,i),n="codex"===b?f:d;for(let a=m;a<f;a++){let d=c[a],f=(0,p.aJ)(d);if("codex"===b&&/^›\s+/.test(f)||"gemini"===b&&/^(%|\$|.*@.*[%$#])\s*$/.test(f)||"antigravity"===b&&/^>\s*$/.test(f)||"opencode"===b&&e<0&&(p.sy.test(f)||p.uA.test(f))){n=a;break}j.some(a=>a.test(f))||l.push(d)}return{response:l.join("\n").trim(),endIndex:n}}(a),l=j.split("\n").slice(-r.$).join("\n");if("copilot"!==b&&g.test(l))return V(c);let m=function(a,b,c,d,e){if("claude"===a){let a=(0,p.aJ)(b),f=/[╭╮╰╯]/.test(a)||/░{3,}/.test(a)||/▓{3,}/.test(a),g=/Claude Code v\d+\.\d+|claude\//.test(a),h=/Tip:|for shortcuts|\?\s*for help/.test(a),i=/^\s*\/Users\/.*$/m.test(a)&&a.split("\n").length<30,j=e(c)>=0,k=a.match(/^[>❯]\s+(\S.*)$/m);if(k){let b=a.indexOf(k[0]);if(0===a.substring(b+k[0].length).trim().split("\n").filter(a=>{let b=a.trim();return b&&!d.some(a=>a.test(b))&&!/^─+$/.test(b)}).length)return V(c)}else if(!j&&(f||g||h||i)&&b.length<2e3)return ac.info("Claude startup banner suppressed, response not saved",{responseLength:b.length,hasBannerArt:f,hasVersionInfo:g,hasStartupTips:h,hasProjectInit:i}),V(c)}return null}(b,j,c,h,i)??function(a,b,c){if("copilot"===a){let a=(0,p.aJ)(b);if(!a.split("\n").some(a=>p.y.test(a))&&p.E0.some(b=>b.test(a)))return V(c)}return null}(b,j,c)??("command-code"===b&&0>i(c)?(ac.info("Command Code launch screen suppressed, response not saved",{responseLength:j.length}),V(c)):null)??function(a,b,c){if("gemini"===a&&((b.match(/[░█]/g)||[]).length>.3*b.length||ab.some(a=>b.includes(a))||!b.includes("✦")&&b.length<10))return V(c);return null}(b,j,c)??ad("codex",a,j,k)??ad("vibe-local",a,j,k);return m||{response:j,isComplete:!0,lineCount:k,bufferReset:e,captureWindowSaturated:f,turnHeadTruncated:d?(0,t.V0)(d).headTruncated:void 0}}(B);if("opencode"!==c){let a=g.join("\n"),d=ah(a,c);if(d.isPrompt&&_(c,d,a))return W(g,b,h,o,c,A,d,i)}return function(a){let{lines:b,totalLines:c,contentEnd:d,lastCapturedLine:e,bufferReset:f,captureWindowSaturated:g,skipPatterns:h,findRecentUserPromptIndex:i}=a,j=[],k=f||g||e>=c-5,l=k?i(80):-1,m=k?l>=0?l+1:Math.max(0,c-80):Math.max(0,e);for(let a=m;a<Math.min(c,d);a++){let c=b[a],d=(0,p.aJ)(c);h.some(a=>a.test(d))||j.push(c)}let n=j.join("\n").trim();return n?{response:n,isComplete:!1,lineCount:c}:V(c)}(B)}(b,c,g,s.xE);if(!m||!m.isComplete){m&&((0,x.WR)(j),(0,z.fS)(j));let{thinkingPattern:a}=(0,p._X)(g),c=(0,p.aJ)(b).split("\n").slice(-r.$).join("\n");return a.test(c)&&(0,f.markPendingPromptsAsAnswered)(d,e,g,i,af(e))>0&&ae.info("marked-answeredcount-pending"),!1}let o="opencode"===g||"copilot"===g,q=!(0,n.VA)(g)&&!m.captureWindowSaturated;return(!q||!!m.bufferReset||m.lineCount!==c)&&(q&&!m.bufferReset&&m.lineCount<=c?(ae.debug("already-saved-up-to-last-captured-line",{worktreeId:e,cliToolId:g,instanceId:i,lineCount:m.lineCount,lastCapturedLine:c}),!1):{result:m,isFullScreenTui:o,lineCountIsCursor:q})}(k,B,A);if(!C)return!1;let{result:D,isFullScreenTui:E,lineCountIsCursor:F}=C,G=D.promptDetection??ah(D.response,b);if(G.isPrompt&&_(b,G,B))return(0,z.fS)(j),function(a,b,c,d){let{db:e,worktree:h,worktreeId:i,cliToolId:j,instanceId:k,resolvedInstanceId:l,pollerKey:m}=a,n=b.rawContent||b.cleanContent,o=(0,x.zm)(n,j);if((0,x.gv)(m,o)){(0,y.LN)(i,j,k);let a=(0,x.p6)(m);return a.log&&ae.info("duplicate-prompt-skipped",{worktreeId:i,cliToolId:j,...a.consecutive>1?{consecutive:a.consecutive,suppressed:a.suppressed}:{}}),!1}let p=n;"copilot"===j&&(p=(0,u.LH)(n),p=(0,u.Sj)(p,v.Rf,v.ky)),(0,f.clearInProgressMessageId)(e,i,j,l);let q=(0,f.createMessage)(e,{worktreeId:i,role:"assistant",content:p,messageType:"prompt",promptData:b.promptData,timestamp:new Date,cliToolId:j,instanceId:l});(0,f.updateSessionState)(e,i,j,c.lineCount,l),(0,g.broadcastMessage)("message",{worktreeId:i,message:q}),(0,U.r)(e,i,j,l,"prompt_detected",{promptType:b.promptData?.type});let r=Date.now(),s=(0,T.Jp)(i,j,k)?.since??r;return(0,P.R)({worktreeId:i,cliToolId:j,instanceId:k,waitingSince:s})||(0,O.J$)({worktreeId:i,worktreeName:h.name,kind:"prompt",agentName:l,instanceId:l,waitingKind:"prompt",waitingSince:s,excerpt:b.promptData?.question??p}).catch(()=>{}),(0,T.hd)({worktreeId:i,cliToolId:j,instanceId:k,waiting:!0,kind:"prompt",now:r}),d||(0,N.Et)(i,j,k),!0}(k,G,D,E);if((0,x.WR)(j),!D.response||""===D.response.trim())return(0,z.fS)(j),(0,f.updateSessionState)(h,a,b,D.lineCount,i),!1;let H="claude"===b?(0,o.R)(D.response):void 0,J=function(a,b,c){let d=b.response;if("gemini"===a)d=(0,u.IS)(b.response);else if("claude"===a)d=(0,u.NN)(b.response);else if("copilot"===a){let a=(0,w.Uz)(c)||b.response;d=(0,u.LH)(a),d=(0,u.Sj)(d,v.Rf,v.ky),(0,w.q1)(c)}else if("opencode"===a){let a=(0,w.Uz)(c),e=b.turnHeadTruncated&&a?a:b.response;d=(0,u.aW)(e),(0,w.q1)(c)}return d}(b,D,j);if(!J||""===J.trim()||"[No content]"===J)return(0,z.fS)(j),(0,f.updateSessionState)(h,a,b,D.lineCount,i),(0,f.clearInProgressMessageId)(h,a,b,i),!1;if(!F&&(0,z.j7)(j,J))return await ai(k,D,H);return await aj(k,C,H,J,m)}catch(a){return ae.error("response:check-failed",{error:a instanceof Error?a.message:String(a)}),!1}}(0,S.I7)()},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:"context-limit",pattern:/\bmaximum context length is \d+ tokens\b/i,selfRetrying:!1},{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(61878),f=c(8491),g=c(69119),h=c(96742),i=c(29169),j=c(81254),k=c(93997),l=c(4803),m=c(20610);let 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.zJ)(c,a.cliToolId));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,m.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&&(0,l.kN)(g)&&null!==g){let a=g.filter(a=>(0,l.kN)([a])).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,m.pL)),await (0,d.V1)(b,"",!0))}(0,k.gm)(b)}},64501:(a,b,c)=>{c.d(b,{$x:()=>j,NV:()=>k,KO:()=>i,$K:()=>l});var d=c(51297);let e={codex:{showsAbandonedTurn:c(27789).Y7}};var f=c(66101),g=c(59409),h=c(33294);function i(a,b,c){return"hooks"!==a||function(a,b){let c=e[a];return!c||c.showsAbandonedTurn((0,d.aJ)(b).split("\n"))}(b,c)}function j(a,b,c,d=Date.now()){let e=(0,g.VM)(b);return(0,f.Kf)(e,e.liveness({worktreeId:a,cliToolId:b,instanceId:c??b}),d).kind}function k(a,b,c,d,e=Date.now()){return!i(j(a,b,c,e),b,d)&&(0,h.getStructuredSessionState)(a,b,c,e)?.status==="running"}function l(a,b,c,f,g,i=Date.now()){let j=(0,h.getStructuredSessionState)(a,b,c,i);return j?.status==="running"&&"hooks"===f&&function(a,b){let c=e[a];return!!c&&c.showsAbandonedTurn((0,d.aJ)(b).split("\n"))}(b,g)?null:j}},70594:(a,b,c)=>{c.d(b,{EV:()=>h,aT:()=>i,mi:()=>k,wG:()=>j});var d=c(52660),e=c(72626),f=c(30008);let g=(0,e.h)("current-output-builder");function h(a){let b=a?.spec.questions[0];return b?{question:b.question,labels:b.choices.map(a=>a.label),questionCount:a.spec.questions.length,...b.custom?{custom:!0}:{}}:null}function i(a,b,c=null,d=null,e=null){if("waiting"===a.status)return{...a,structuredApplied:!1};if(null!==c)return{status:"waiting",reason:(0,f.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||!j(a,b,c))return!1;let e=c?.closedAt??null;return null!==e&&e<d}(a,b,d,e))return{...a,structuredApplied:!1};let g="running"===b.status,h="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:g,evidence:h,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0}}function j(a,b,c){return!!a.thinking&&null!==b&&"ready"===b.status&&null!==c&&"stop"===c.closedBy&&null!==c.closedAt}function k(a,b,c,e){try{let f=(0,d.getLastUserMessageForInstance)(a,b,c,e);if(!f)return null;let g=f.timestamp instanceof Date?f.timestamp.getTime():NaN;return Number.isFinite(g)?g:null}catch(a){return g.debug("newest-prompt-read-failed",{worktreeId:b,cliToolId:c,instanceId:e,error:a instanceof Error?a.message:String(a)}),null}}},71080:(a,b,c)=>{c.d(b,{H:()=>i,L1:()=>p,Pe:()=>m,fS:()=>l,j7:()=>j,oE:()=>n,o_:()=>k,pN:()=>o,qt:()=>q});var d=c(55511),e=c(36925);let f=(0,e.v)("__responseHashCache",()=>new Map),g=(0,e.v)("__structuredHistoryRecheckCache",()=>new Map),h=(0,e.v)("__duplicateResponseSkipStreak",()=>new Map),i=30;function j(a,b){let c=(0,d.createHash)("sha256").update(b).digest("hex");return f.get(a)===c||(f.set(a,c),h.delete(a),!1)}function k(a){let b=(h.get(a)??0)+1;h.set(a,b);let c=(b-1)%i==0,d=1===b?0:i-1;return{log:c,consecutive:b,suppressed:d}}function l(a){h.delete(a)}function m(a){g.has(a)||g.set(a,0)}function n(a){g.delete(a)}function o(a){let b=g.get(a);return void 0!==b&&(b>0?(g.set(a,b-1),!1):(g.set(a,2),!0))}function p(a){f.delete(a),g.delete(a),h.delete(a)}function q(a){let b=[];for(let{oldKey:c,newKey:d}of a)c!==d&&b.push({newKey:d,state:function(a){let b={hash:f.get(a),recheck:g.get(a),streak:h.get(a)};return f.delete(a),g.delete(a),h.delete(a),b}(c)});for(let{newKey:a,state:c}of b)void 0!==c.hash&&f.set(a,c.hash),void 0!==c.recheck?g.set(a,c.recheck):void 0!==c.hash&&g.delete(a),void 0!==c.hash&&(void 0!==c.streak?h.set(a,c.streak):h.delete(a))}},72457:(a,b,c)=>{c.d(b,{WR:()=>l,gv:()=>j,i2:()=>n,iX:()=>m,nZ:()=>o,p6:()=>k,zm:()=>p});var d=c(55511),e=c(36925),f=c(71080);let g=(0,e.v)("__promptHashCache",()=>new Map),h=(0,e.v)("__duplicatePromptSkipStreak",()=>new Map),i=f.H;function j(a,b){let c=(0,d.createHash)("sha256").update(b).digest("hex");return g.get(a)===c||(g.set(a,c),h.delete(a),!1)}function k(a){let b=(h.get(a)??0)+1;h.set(a,b);let c=(b-1)%i==0,d=1===b?0:i-1;return{log:c,consecutive:b,suppressed:d}}function l(a){h.delete(a)}function m(a){g.delete(a),h.delete(a)}function n(a,b){o([{oldKey:a,newKey:b}])}function o(a){let b=[];for(let{oldKey:c,newKey:d}of a)c!==d&&(b.push({newKey:d,hash:g.get(c),streak:h.get(c)}),g.delete(c),h.delete(c));for(let{newKey:a,hash:c,streak:d}of b)void 0!==c&&(g.set(a,c),void 0!==d?h.set(a,d):h.delete(a))}function p(a,b){return"copilot"!==b?a:a.replace(/^[❯>]\s/gm," ")}},73478:(a,b,c)=>{c.d(b,{I7:()=>v});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),n=c(36925);let o=(0,g.h)("push/waiting-notifier"),p=(0,n.v)("__waitingPushPending",()=>new Map),q=(0,n.v)("__waitingPushGraceTimers",()=>new Map);async function r(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){o.warn("waiting-push-failed",{worktreeId:a.worktreeId,instanceId:d,escalated:b,error:c instanceof Error?c.message:String(c)})}}function s(a){let b=q.get(a);void 0!==b&&(clearTimeout(b),q.delete(a))}function t(a,b){(0,j.R)({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waitingSince:a.since})||r(a,!1,b)}function u(){if(p.size>0)return;let a=globalThis.__waitingPushEscalationTimer;void 0!==a&&(clearInterval(a),globalThis.__waitingPushEscalationTimer=void 0)}function v(){let a=globalThis.__waitingPushUnsubscribe;for(let b of(a&&(a(),globalThis.__waitingPushUnsubscribe=void 0),q.values()))clearTimeout(b);q.clear(),p.clear(),u();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){s(c),p.delete(c),u(),(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(p.set(c,e),!function(){if(void 0!==globalThis.__waitingPushEscalationTimer)return;let a=setInterval(()=>{!function(a=Date.now()){if(0===p.size)return u();let b=(0,i.rS)(),c=6e4*b.thresholdMinutes;for(let[d,e]of Array.from(p)){let f=(0,h.Jp)(e.worktreeId,e.cliToolId,e.instanceId);if(null===f||f.since!==e.since){p.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})||(p.delete(d),r({...e,kind:f.kind??e.kind},!0,a)))}u()}()},6e4);a.unref?.(),globalThis.__waitingPushEscalationTimer=a}(),null==(b=e.kind)||"unclassified"===b){s(c);let a=setTimeout(()=>{!function(a){q.delete(a);let b=p.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){p.delete(a),u();return}let d={...b,kind:c.kind};p.set(a,d),t(d,Date.now())}(c)},8e3);a.unref?.(),q.set(c,a);return}t(e,a.at)}(a)});return globalThis.__waitingPushUnsubscribe=b,b}},79565:(a,b,c)=>{c.d(b,{$v:()=>aj,emitChatTurnProgress:()=>ab});var d=c(56791),e=c(36925);let f=(0,e.v)("__unclassifiedFrameRuns",()=>new Map);var g=c(35583),h=c(94154),i=c(63209),j=c(51297),k=c(76777),l=c(50524);let m=/^([^\S\n]*)╹(▀{4,})/,n=/^([^\S\n]*)[│┃]/;var o=c(72626),p=c(8360),q=c(15194),r=c(59409),s=c(64501),t=c(66101),u=c(33198),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(16399),E=c(52277),F=c(51607),G=c(44321),H=c(34405),I=c(93997);function J(a){return""===(0,j.aJ)(a).trim()}var K=c(33294),L=c(30008),M=c(24581),N=c(40043),O=c(9516),P=c(31239),Q=c(16402),R=c(61789),S=c(62887);let T=(0,o.h)("layer-disagreement"),U=(0,e.v)("__layerDisagreementReported",()=>new Set);var V=c(27870),W=c(54325);let X=(0,o.h)("current-output-builder");function Y(){return{version:0,askedAt:-1/0,turnKey:null,body:null,loggedOutcome:null,loggedTurnKey:null}}let Z=(0,e.v)("__chatTurnProgressState",()=>new Map);function $(a){return`${a.worktreeId}:${a.cliToolId}:${a.instanceId??a.cliToolId}`}function _(a,b,c,d={}){let e=$(a),f=Z.get(e)??Y();Z.set(e,f),(f.loggedOutcome!==b||f.loggedTurnKey!==c)&&(f.loggedOutcome=b,f.loggedTurnKey=c,X.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 aa(a,b,c=Date.now()){let d,e=$(a),f=Z.get(e)??Y();if(c-f.askedAt<W.r9)return null;f.askedAt=c,Z.set(e,f);try{d=await b()}catch{return null}if(!d||0===d.body.length)return null;let g=(0,W.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:W.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 ab(a,b,d=Date.now()){try{let{broadcast:e,hasRoomSubscribers:f}=await Promise.resolve().then(c.bind(c,43015));if(!f(a.worktreeId))return _(a,"no-subscribers",null),!1;let g=await aa(a,b,d);if(!g)return!1;return e(a.worktreeId,g),_(a,"published",g.turnKey,{version:g.version,bodyLength:g.body.length,partial:g.partial}),!0}catch(b){return _(a,"failed",null,{error:b instanceof Error?b.message:String(b)}),!1}}async function ac(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 _(f,"no-subscribers",null);ab(f,async()=>{let{readClaudeTurnProgress:a}=await Promise.resolve().then(c.bind(c,71133));return a({worktreeId:b,cliToolId:d,instanceId:e??d},{worktreePath:h})})}catch(a){_(f,"failed",null,{error:a instanceof Error?a.message:String(a)})}}var ad=c(70594),ae=c(81254);let af=(0,o.h)("current-output-builder");function ag(a,b){Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:c})=>{c("message",{worktreeId:a,message:b})}).catch(b=>{af.warn("history-row-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})})}let ah=(0,e.v)("__detectionDivergenceEpisodes",()=>new Map),ai=(0,o.h)("current-output-builder");async function aj(a,b,c,d,e){let f=await ak(a,b,c,d);return(f.isRunning&&"running"===f.sessionStatus&&null==f.startingSince&&await ac(a,b,c,d),e)?{...f,resolvedBy:e.resolvedBy,conflict:e.conflict??null}:f}async function ak(a,b,c,e){let o=e??c,W=p.CLIToolManager.getInstance().getTool(c),X=W.getSessionName(b,e),{stopEventAt:Y,eventSource:Z,askUserQuestion:$,structuredEvents:_}=function(a,b,c,d){let e=(0,K.getLastStopEventAt)(a,b,c),f=(0,K.getLastAgentEvent)(a,b,c),g=(0,r.VM)(b),h=Date.now(),i=(0,K.getPendingDecisions)(a,b,c,h),j=(0,K.getAskUserQuestion)(a,b,c,h),k=(0,x.Jl)(a,b,c),l={lastEventType:f?.event??null,lastEventAt:f?.at??null,lastEventDetail:f?.detail??null,...(0,K.getPublishedAgentTurn)(a,b,c,h),pendingDecisions:i.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,M.qX)(a,g.capabilities.decisionTimeoutSeconds,h),kind:b,questionOptions:"question"===b&&j?(0,A.dZ)(j.spec).map(a=>({number:a.number,label:a.label})):null}}),dedupDropped:(0,K.getAgentEventDropCounts)(a,b,c),dialogPendingMaxMs:{...M.h_},promptWaitingSince:null,promptWaitingSource:null,toolInputNormalization:(0,w.SQ)(a,b,c),permissionDecision:(0,v.CD)(a,b,c),source:{cliToolId:g.cliToolId,capabilities:g.capabilities,...(0,t.Kf)(g,g.liveness({worktreeId:a,cliToolId:b,instanceId:d}),h),probedActivity:(0,u.hS)({worktreeId:a,cliToolId:b,instanceId:d})},session:k,sessionContext:(0,x.sc)({worktreeId:a,cliToolId:b,instanceId:c},k),sessionDiff:(0,z.rn)({worktreeId:a,cliToolId:b,instanceId:c})};return{stopEventAt:e,eventSource:g,askUserQuestion:j,structuredEvents:l}}(b,c,e,o);if(!await W.isRunning(b,e))return(0,N.xG)((0,D.v7)(b,c,e)),{isRunning:!1,startingSince:(0,g.Bk)(b,c,e),sessionName:X,content:"",lineCount:0,cliToolId:c,sessionStatus:"idle",sessionStatusReason:"session_not_running",statusEvidence:"positive",lastKnownStatus:null,lastKnownStatusAt:null,lastStopEventAt:Y,structuredEvents:_,model:null,reasoningEffort:null,promptDedup:(0,G.XH)(b,c,e),upstreamFault:null,paneObstruction:null,composerText:null,composerState:"no_composer"};let aa=(0,d.getSessionState)(a,b,o),ab=aa?.lastCapturedLine||0,ac=await (0,B.Wh)(b,c,H._,e),aj=ac.split("\n"),ak=aj.length,al=(0,I.sl)(ak,Math.min(H._,I.xE)),am=((0,q.qR)(c,al)?aj.slice(Math.max(0,ab)):aj).join("\n"),{compositeKey:an,lastServerResponseTimestamp:ao,statusResult:ap,startingSince:aq,thinking:ar,scraperPromptWaiting:as,isSelectionListActive:at,isPagerActive:au,isDismissablePanelActive:av,evidence:aw,isUnclassifiedActive:ax}=function(a,b,c,d){let e=(0,D.v7)(a,b,c),f=(0,D.xU)(e),h=f?new Date(f):void 0,i=(0,C.WC)(d,b,h),j=(0,g.a3)(a,b,c,"waiting"===i.status||i.hasActivePrompt),k=null===j?i:(0,g.Gz)(i),l=(0,C.f8)(k),m=k.hasActivePrompt,n="waiting"===k.status&&C.ug.has(k.reason),o=k.reason===C.gv.CODEX_PAGER,p="waiting"===k.status&&k.reason===C.gv.COMMAND_CODE_DISMISSABLE_PANEL,q=k.evidence,r=(0,N.Q4)(k.status,k.reason);return{compositeKey:e,lastServerResponseTimestamp:f,statusResult:k,startingSince:j,thinking:l,scraperPromptWaiting:m,isSelectionListActive:n,isPagerActive:o,isDismissablePanelActive:p,evidence:q,isUnclassifiedActive:r}}(b,c,e,ac);(0,K.observeScraperCompletionEvidence)(b,c,e,"ready"===ap.status&&"positive"===aw,void 0,(0,s.KO)(_.source.kind,c,ac));let ay=(0,s.$K)(b,c,e,_.source.kind,ac),az=(0,L._G)({worktreeId:b,cliToolId:c,instanceId:e,scraper:{status:ap.status,reason:ap.reason,hasActivePrompt:as}}),aA=az.structured;null!==aA&&(_.promptWaitingSince=aA.at,_.promptWaitingSource=aA.source);let aB={status:ap.status,reason:ap.reason,thinking:ar,evidence:aw,isUnclassifiedActive:ax},aC=(0,ad.wG)(aB,ay,_)?(0,ad.mi)(a,b,c,o):null,aD=(0,ad.aT)(aB,ay,aA,_,aC),aE=null===aq&&az.waiting,{structuredFacts:aF,promptData:aG,promptAnswerable:aH}=function({worktreeId:a,cliToolId:b,output:c,statusResult:d,startingSince:e,promptWaiting:f,askUserQuestion:g,eventSource:h}){let i=d.hasActivePrompt,j=d.promptDetection.promptData,k=j&&g?(0,O.Hu)(j,g.spec):null,l=null!==f&&(0,L.$G)(f,h.capabilities.eventIdentity)?f.decisionId:null,m=null!==f&&"question"===(0,y.Wk)(f.toolName),n=null===l||m?null:(0,V.T5)(b),o=null===f?null:{...f,askUserQuestion:(0,ad.EV)(g),decisionOptions:n,decisionId:l,patterns:null!==n?f.patterns:null},p=null!==e?null:i?k??j??(o?(0,V.Yo)(a,o):null):o?(0,V.Yo)(a,o):null;return{structuredFacts:o,promptData:p,promptAnswerable:i&&(k??j)?null===(0,Q.dd)(b,c).refusal:void 0}}({worktreeId:b,cliToolId:c,output:ac,statusResult:ap,startingSince:aq,promptWaiting:aA,askUserQuestion:$,eventSource:Z}),aI=null!==ay&&ay.status!==ap.status;aI&&ai.info("detection-divergence",{worktreeId:b,cliToolId:c,instanceId:o,scraperStatus:ap.status,scraperReason:ap.reason,structuredStatus:ay.status,structuredReason:ay.reason,structuredEvent:ay.event,structuredEventAt:ay.at,applied:aD.structuredApplied});let aJ=function(a,b,c,d,e=Date.now()){let f=`${a}\u0000${b}\u0000${c}`,g=ah.get(f);return d?(g?g.polls++:ah.set(f,{startedAt:e,polls:1}),null):g?(ah.delete(f),{durationMs:Math.max(0,e-g.startedAt),polls:g.polls}):null}(b,c,o,aI);null!==aJ&&ai.info("detection-divergence-resolved",{worktreeId:b,cliToolId:c,instanceId:o,durationMs:aJ.durationMs,polls:aJ.polls});let aK=(function(a){let b=a.slice(-100);if(b.some(a=>!J(a)))return b;let c=a.length-1;for(;c>=0&&J(a[c]);)c-=1;return c<0?b:a.slice(Math.max(0,c+1-100),c+1)})(aj).join("\n"),aL="opencode"===c?function(a){let b=(0,j.aJ)(a).split("\n"),c=-1,d=-1,e=-1;for(let a=0;a<b.length;a++){let f=m.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=n.exec(h);if(!a||a[1].length!==d)continue}let i=h.slice((0,l.sh)(h,e)).trim();""!==i&&(f+=1,""===g&&(g=(0,k.D)(i,200,"…[truncated]")))}return f<2?null:{id:"opencode_sidebar",matchedText:g,boxRight:e,rows:f}}(aK):null,aM=(0,V.LF)(Z.capabilities.eventIdentity,_.pendingDecisions??[]),aN=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})}(an,aD.isUnclassifiedActive&&!aM&&null===aq);aN.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:ae.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});af.info("unclassified-frame-recorded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,dwellSeconds:e,statusReason:f}),ag(b.worktreeId,c)}catch(a){af.warn("unclassified-frame-record-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)})}}(a,{worktreeId:b,cliToolId:c,instanceId:o,dwellMs:aN.dwellMs,sessionStatus:aD.status,sessionStatusReason:aD.reason,obstruction:aL});let aO=(aP={supportedEvents:Z.capabilities.supportedEvents,scraperStatus:ap.status,scraperReason:ap.reason,hasActivePrompt:as,lastEventType:_.lastEventType,lastEventDetail:_.lastEventDetail}).supportedEvents.includes("user_prompt_submit")&&aP.supportedEvents.includes("stop")&&"waiting"===aP.scraperStatus&&"stop"===aP.lastEventType&&aP.lastEventDetail!==S.HV?aP.hasActivePrompt?"approval-after-stop":C.ug.has(aP.scraperReason)?"menu-after-stop":null:null;if(null!==aO&&function(a){let b=`${a.compositeKey}|${a.turnId??"-"}|${a.kind}`;if(U.has(b))return;U.size>=512&&U.clear(),U.add(b);let c=(0,R.aJ)(a.frame).split("\n").filter(a=>""!==a.trim());T.warn("layerDisagreement",{kind:a.kind,worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,turnId:a.turnId,scraperReason:a.scraperReason,frameTail:c.slice(-40).join("\n")})}({compositeKey:an,worktreeId:b,cliToolId:c,instanceId:o,turnId:_.turnId,kind:aO,scraperReason:ap.reason,frame:ac}),null!==aA&&null!==aF&&!as&&!aA.recorded&&!aM){(0,K.markStructuredPromptRecorded)(b,c,e);var aP,aQ=b,aR=c,aS=o,aT=aA,aU=aF;let f=(0,V.fO)(aQ,aU);try{let b=(0,d.createMessage)(a,{worktreeId:aQ,role:"assistant",content:f.question,summary:`structured prompt \xb7 source=${aT.source}${aT.toolName?` \xb7 tool=${aT.toolName}`:""}`,messageType:"prompt",promptData:f,timestamp:new Date,cliToolId:aR,instanceId:aS});af.info("structured-prompt-recorded",{worktreeId:aQ,cliToolId:aR,instanceId:aS,source:aT.source,toolName:aT.toolName}),ag(aQ,b)}catch(a){af.warn("structured-prompt-record-failed",{worktreeId:aQ,error:a instanceof Error?a.message:String(a)})}}let aV=(0,h.ji)(ac,c),aW=(0,i.bT)(aK),aX=(0,D.aq)(b,c,e),{model:aY,effort:aZ}=(0,K.getResolvedAgentModelInfo)(b,c,e),a$=null===aq?aD:{...aD,status:"running",reason:C.gv.STARTING,thinking:!1};(0,N.ox)(an,{status:a$.status,reason:a$.reason,evidence:a$.evidence});let a_=(0,N.AD)(an);return function({worktreeId:a,cliToolId:b,instanceId:c,sessionName:d,published:e,merged:f,newContent:g,output:h,realtimeSnippet:i,totalLines:j,lastCapturedLine:k,isPromptWaiting:l,promptData:m,promptAnswerable:n,autoYesState:o,lastEnterFallback:p,isSelectionListActive:q,isPagerActive:r,isDismissablePanelActive:s,startingSince:t,lastKnown:u,lastServerResponseTimestamp:v,compositeKey:w,stopEventAt:x,structuredEvents:y,model:z,effort:A,upstreamFaultMatch:B,paneObstruction:C,composer:F}){return{isRunning:!0,sessionName:d,cliToolId:b,sessionStatus:e.status,sessionStatusReason:e.reason,content:g,fullOutput:h,realtimeSnippet:i,lineCount:j,lastCapturedLine:k,thinking:e.thinking,isPromptWaiting:l,promptData:m,...void 0!==n?{promptAnswerable:n}:{},promptView:(0,P.ds)(m),autoYes:{enabled:o?.enabled??!1,expiresAt:o?.enabled?o.expiresAt:null,stopReason:o?.stopReason,lastSuppression:(0,E.gb)(a,b,c),stopMatchedText:o?.stopMatchedText,lastEnterFallback:p},isSelectionListActive:q,isPagerActive:r,isDismissablePanelActive:s,isUnclassifiedActive:null===t&&f.isUnclassifiedActive,startingSince:t,statusEvidence:e.evidence,lastKnownStatus:u?.status??null,lastKnownStatusAt:u?.at??null,lastServerResponseTimestamp:v,serverPollerActive:(0,D.bZ)(w),lastStopEventAt:x,structuredEvents:y,model:z,reasoningEffort:A,promptDedup:(0,G.XH)(a,b,c),upstreamFault:B?{id:B.fault.id,matchedText:B.matchedText,at:Date.now()}:null,paneObstruction:C?{id:C.id,matchedText:C.matchedText,at:Date.now()}:null,composerText:"content"===F.state?F.text:null,composerState:F.state}}({worktreeId:b,cliToolId:c,instanceId:e,sessionName:X,published:a$,merged:aD,newContent:am,output:ac,realtimeSnippet:aK,totalLines:ak,lastCapturedLine:ab,isPromptWaiting:aE,promptData:aG,promptAnswerable:aH,autoYesState:aX,lastEnterFallback:(0,F.YN)((0,F.li)(b,c,e),void 0!==aH?ap.promptDetection.promptData:null),isSelectionListActive:at,isPagerActive:au,isDismissablePanelActive:av,startingSince:aq,lastKnown:a_,lastServerResponseTimestamp:ao,compositeKey:an,stopEventAt:Y,structuredEvents:_,model:aY,effort:aZ,upstreamFaultMatch:aW,paneObstruction:aL,composer:aV})}},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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=6130,exports.ids=[6130],exports.modules={26838:(a,b,c)=>{c.d(b,{E2:()=>q,MQ:()=>m,Mj:()=>o,Sw:()=>n,lX:()=>r});var d=c(29021),e=c(33873),f=c(54325),g=c(90164),h=c(36925);let i=/^v?\d+\.\d+\.\d+$/,j=/^[a-zA-Z0-9.\-\s_v]+$/,k=[".next","required-server-files.json"],l=(0,h.v)("__versionCheckCache",()=>({result:null,fetchedAt:0,rateLimitResetAt:null}));function m(a,b){if(!i.test(a)||!i.test(b))return!1;let c=a=>a.replace(/^v/,"").split(".").map(Number),[d,e,f]=c(a),[g,h,j]=c(b);return g!==d?g>d:h!==e?h>e:j>f}function n(){return function(){try{let a=(0,d.readFileSync)((0,e.join)(process.cwd(),"package.json"),"utf-8"),b=JSON.parse(a);if("commandmate"===b.name&&"string"==typeof b.version&&b.version.length>0)return b.version;return null}catch{return null}}()??"0.
|
|
1
|
+
"use strict";exports.id=6130,exports.ids=[6130],exports.modules={26838:(a,b,c)=>{c.d(b,{E2:()=>q,MQ:()=>m,Mj:()=>o,Sw:()=>n,lX:()=>r});var d=c(29021),e=c(33873),f=c(54325),g=c(90164),h=c(36925);let i=/^v?\d+\.\d+\.\d+$/,j=/^[a-zA-Z0-9.\-\s_v]+$/,k=[".next","required-server-files.json"],l=(0,h.v)("__versionCheckCache",()=>({result:null,fetchedAt:0,rateLimitResetAt:null}));function m(a,b){if(!i.test(a)||!i.test(b))return!1;let c=a=>a.replace(/^v/,"").split(".").map(Number),[d,e,f]=c(a),[g,h,j]=c(b);return g!==d?g>d:h!==e?h>e:j>f}function n(){return function(){try{let a=(0,d.readFileSync)((0,e.join)(process.cwd(),"package.json"),"utf-8"),b=JSON.parse(a);if("commandmate"===b.name&&"string"==typeof b.version&&b.version.length>0)return b.version;return null}catch{return null}}()??"0.46.0"}function o(){return n()}let p=null;function q(a){let b=p??=function(){{let a=function(){try{let a=(0,d.readFileSync)((0,e.join)(process.cwd(),...k),"utf-8"),b=JSON.parse(a),c=b.config?.env?.NEXT_PUBLIC_APP_VERSION;if("string"==typeof c&&c.length>0)return c;return null}catch{return null}}();if(a)return a}return"0.46.0"}();return(0,f.LE)(b,a)?{serverVersion:b,clientVersion:a}:null}async function r(){try{var a,b,c;if(null!==l.result&&Date.now()-l.fetchedAt<36e5||l.rateLimitResetAt&&(!(Date.now()>=l.rateLimitResetAt)||(l.rateLimitResetAt=null,0)))return l.result;let d=await fetch("https://api.github.com/repos/Kewton/CommandMate/releases/latest",{headers:{Accept:"application/vnd.github+json","User-Agent":`CommandMate/${o()}`},cache:"no-store",signal:AbortSignal.timeout(5e3)});if(403===d.status)return function(a){let b=a.headers.get("X-RateLimit-Reset");b?l.rateLimitResetAt=1e3*parseInt(b,10):l.rateLimitResetAt=Date.now()+36e5}(d),l.result;if(!d.ok)return l.result;let e=await d.json(),f=o(),h=e.tag_name.replace(/^v/,""),i={hasUpdate:m(f,e.tag_name),currentVersion:f,latestVersion:h,releaseUrl:(a=e.html_url).startsWith(g.Dk)?a:null,releaseName:(b=e.name,c=e.tag_name,j.test(b)&&b.length<=128?b:c),publishedAt:e.published_at};return l.result=i,l.fetchedAt=Date.now(),i}catch{return l.result}}},54325:(a,b,c)=>{c.d(b,{LE:()=>f,Oo:()=>e,ST:()=>d,T4:()=>k,dz:()=>j,r9:()=>h,rx:()=>i,rz:()=>g});let d="client_version",e="version_mismatch";function f(a,b){return!!a&&!!b&&"0.0.0"!==a&&"0.0.0"!==b&&a!==b}let g="chat_turn_progress",h=1e3;function i(a,b=65536){return b<=0?{body:"",truncated:a.length>0}:a.length<=b?{body:a,truncated:!1}:{body:a.slice(a.length-b),truncated:!0}}let j="messages_invalidated",k="model_changed"},88573:(a,b,c)=>{c.d(b,{Lw:()=>t});let d="https://raw.githubusercontent.com/Kewton/commandmate-skills/main/catalog/v1/catalog.json",e=[d],f=/^[A-Za-z0-9/+=_."-]{1,128}$/;var g=c(72626),h=c(13075),i=c(36925);let j=(0,g.h)("lib/skills/catalog-client"),k={FETCH_FAILED:"SKILL_CATALOG_FETCH_FAILED",RATE_LIMITED:"SKILL_CATALOG_RATE_LIMITED",OVERSIZED:"SKILL_CATALOG_OVERSIZED",MALFORMED:"SKILL_CATALOG_MALFORMED",INVALID_SCHEMA:"SKILL_CATALOG_INVALID_SCHEMA"},l=(0,i.v)("__skillCatalogCache",()=>({catalog:null,validatedAt:0,confirmedAt:0,etag:null,revision:null,rateLimitResetAt:null,inflight:null}));class m extends Error{}let n={[k.FETCH_FAILED]:"The Skill Catalog could not be retrieved.",[k.RATE_LIMITED]:"The Skill Catalog origin is rate limiting requests.",[k.OVERSIZED]:"The Skill Catalog response exceeded the allowed size.",[k.MALFORMED]:"The Skill Catalog response was not valid JSON.",[k.INVALID_SCHEMA]:"The Skill Catalog response did not match the supported Catalog schema."};function o(a){return new Date(a).toISOString()}function p(a,b,c){return{catalog:a,fetchedAt:o(l.validatedAt),revalidatedAt:o(l.confirmedAt),state:b,stale:"stale"===b,offline:"stale"===b,staleReason:c,source:{repository:"Kewton/commandmate-skills",ref:"main",revision:l.revision}}}function q(a,b=[]){return l.catalog?{ok:!0,snapshot:p(l.catalog,"stale",a)}:{ok:!1,failure:{code:a,message:n[a],errors:b}}}async function r(a,b){let c=a.headers.get("Content-Length");if(null!==c){let a=Number(c);if(!Number.isFinite(a)||a<0||a>b)throw new m("content-length out of bounds")}let d=a.body;if(!d||"function"!=typeof d.getReader){let c=await a.text();if(new TextEncoder().encode(c).length>b)throw new m("body exceeded size cap");return c}let e=d.getReader(),f=[],g=0;for(;;){let{done:a,value:c}=await e.read();if(a)break;if(c){if((g+=c.byteLength)>b)throw await e.cancel(),new m("body exceeded size cap");f.push(c)}}let h=new Uint8Array(g),i=0;for(let a of f)h.set(a,i),i+=a.byteLength;return new TextDecoder("utf-8").decode(h)}async function s(a){let b,c,g;if(!e.includes(d))return q(k.FETCH_FAILED);let i={Accept:"application/json","User-Agent":`CommandMate/${a}`};null!==l.catalog&&null!==l.etag&&(i["If-None-Match"]=l.etag);try{b=await fetch(d,{headers:i,cache:"no-store",signal:AbortSignal.timeout(5e3)})}catch{return j.warn("catalog-fetch-failed",{reason:k.FETCH_FAILED}),q(k.FETCH_FAILED)}if(304===b.status&&null!==l.catalog)return l.confirmedAt=Date.now(),{ok:!0,snapshot:p(l.catalog,"revalidated",null)};if(403===b.status||429===b.status)return!function(a){let b=Date.now(),c=b+864e5,d=a.headers.get("X-RateLimit-Reset");if(null!==d){let a=Number(d);if(Number.isFinite(a)&&a>0){l.rateLimitResetAt=Math.min(1e3*a,c);return}}let e=a.headers.get("Retry-After");if(null!==e){let a=Number(e);if(Number.isFinite(a)&&a>0){l.rateLimitResetAt=Math.min(b+1e3*a,c);return}}l.rateLimitResetAt=b+36e5}(b),j.warn("catalog-rate-limited",{status:b.status}),q(k.RATE_LIMITED);if(!b.ok)return j.warn("catalog-fetch-failed",{status:b.status}),q(k.FETCH_FAILED);try{c=await r(b,1048576)}catch(b){let a=b instanceof m?k.OVERSIZED:k.FETCH_FAILED;return j.warn("catalog-body-rejected",{reason:a}),q(a)}try{g=JSON.parse(c)}catch{return j.warn("catalog-malformed",{reason:k.MALFORMED}),q(k.MALFORMED)}let n=(0,h.JJ)(g);if(!n.ok)return j.warn("catalog-invalid-schema",{errorCount:n.errors.length}),q(k.INVALID_SCHEMA,n.errors);let o=Date.now();return l.catalog=n.value,l.validatedAt=o,l.confirmedAt=o,l.etag=b.headers.get("ETag"),l.revision=function(a){if(null===a)return null;let b=a.trim();return f.test(b)?b:null}(l.etag),{ok:!0,snapshot:p(n.value,"fresh",null)}}async function t(a={}){let{hostVersion:b="0.0.0",forceRevalidate:c=!1}=a;return!c&&null!==l.catalog&&Date.now()-l.confirmedAt<9e5&&null!==l.catalog?{ok:!0,snapshot:p(l.catalog,"cached",null)}:null!==l.rateLimitResetAt&&(!(Date.now()>=l.rateLimitResetAt)||(l.rateLimitResetAt=null,0))?q(k.RATE_LIMITED):(null===l.inflight&&(l.inflight=s(b).finally(()=>{l.inflight=null})),l.inflight)}},90164:(a,b,c)=>{c.d(b,{Dk:()=>e,kD:()=>f});let d="https://github.com/Kewton/CommandMate",e=`${d}/releases/`,f=`${d}/blob/main/docs/security-guide.md`}};
|