commandmate 0.48.0 → 0.49.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 +164 -164
- package/.next/app-path-routes-manifest.json +30 -30
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.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.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.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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_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_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_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_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page_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 +1 -1
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +2 -2
- 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 +3 -3
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +30 -30
- package/.next/server/chunks/1601.js +2 -2
- package/.next/server/chunks/1656.js +2 -2
- package/.next/server/chunks/1945.js +3 -3
- package/.next/server/chunks/2069.js +1 -0
- package/.next/server/chunks/2422.js +1 -1
- package/.next/server/chunks/2534.js +1 -1
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/4243.js +1 -1
- package/.next/server/chunks/4248.js +1 -1
- package/.next/server/chunks/4280.js +1 -1
- package/.next/server/chunks/6119.js +1 -1
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6486.js +1 -1
- package/.next/server/chunks/720.js +2 -2
- package/.next/server/chunks/7604.js +2 -2
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/8581.js +3 -3
- package/.next/server/chunks/8728.js +3 -3
- package/.next/server/chunks/8791.js +1 -1
- package/.next/server/chunks/9390.js +1 -1
- package/.next/server/chunks/9627.js +3 -3
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/1128-914c559913546bbc.js +1 -0
- package/.next/static/chunks/{2407-26139a8a2f1adbe8.js → 2407-ab92ae9837c39dce.js} +1 -1
- package/.next/static/chunks/{2619-a305ad4810f1393a.js → 2619-04bc32f026a0d946.js} +1 -1
- package/.next/static/chunks/{2863-f0121af1cbbedb3b.js → 2863-7173dc305dffc4f6.js} +1 -1
- package/.next/static/chunks/6288-6fadbba6e84393b2.js +1 -0
- package/.next/static/chunks/7665-e9ef6e0a85b9fa49.js +1 -0
- package/.next/static/chunks/{8165-c68b3dc844210e6a.js → 8165-263172c17ae8e8c3.js} +1 -1
- package/.next/static/chunks/9079-987939d231704218.js +1 -0
- package/.next/static/chunks/app/{layout-46b4cbf07520d9b6.js → layout-aa8e66164a4367af.js} +1 -1
- package/.next/static/chunks/app/sessions/{page-fb241bed579c67aa.js → page-cfd645305e25fd33.js} +1 -1
- package/.next/static/chunks/app/skills/[skillId]/{page-52ba58712faf3378.js → page-cb6e74fd9a6a571d.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-704086656fb45699.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/{page-cbc7749a33450cc5.js → page-a8d7886703ffc7b4.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/terminal/{page-c601f3b3ece6557e.js → page-373ea37b16d930c7.js} +1 -1
- package/.next/static/css/{743f79ff19ab91e9.css → db8959555c3d9c96.css} +1 -1
- package/.next/trace +13 -13
- package/dist/cli/commands/auto-yes.d.ts.map +1 -1
- package/dist/cli/commands/auto-yes.js +3 -5
- package/dist/cli/commands/capture.d.ts.map +1 -1
- package/dist/cli/commands/capture.js +5 -0
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +4 -6
- package/dist/cli/commands/verify.d.ts.map +1 -1
- package/dist/cli/commands/verify.js +8 -1
- package/dist/cli/config/duration-constants.d.ts +16 -13
- package/dist/cli/config/duration-constants.d.ts.map +1 -1
- package/dist/cli/config/duration-constants.js +21 -21
- package/dist/cli/docs/agent-operations.d.ts +1 -1
- package/dist/cli/docs/agent-operations.d.ts.map +1 -1
- package/dist/cli/docs/agent-operations.js +2 -1
- package/dist/cli/types/api-responses.d.ts +29 -1
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/cli/utils/verify-runner.d.ts +24 -1
- package/dist/cli/utils/verify-runner.d.ts.map +1 -1
- package/dist/cli/utils/verify-runner.js +54 -1
- package/dist/config/auto-yes-duration.d.ts +56 -0
- package/dist/config/auto-yes-duration.d.ts.map +1 -0
- package/dist/config/auto-yes-duration.js +76 -0
- package/dist/server/src/config/auto-yes-config.js +14 -19
- package/dist/server/src/config/auto-yes-duration.js +76 -0
- package/dist/server/src/lib/auto-yes-state.js +9 -2
- package/dist/server/src/lib/cli-tools/submit-verified-sender.js +137 -14
- package/dist/server/src/lib/detection/composer-text.js +215 -11
- package/dist/server/src/lib/detection/prompt-detect-multiple-choice-chrome.js +193 -0
- package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +8 -191
- package/dist/server/src/lib/detection/upstream-faults.js +19 -2
- package/dist/server/src/lib/hooks/structured-decision-response.js +1 -1
- package/dist/server/src/lib/polling/auto-yes-manual-answer.js +4 -2
- package/dist/server/src/lib/polling/response-checker.js +12 -15
- package/dist/server/src/lib/session/composer-clear.js +56 -4
- package/dist/server/src/lib/session/current-output-builder.js +2 -1
- package/dist/server/src/lib/session/send-attempt-state.js +2 -1
- package/dist/server/src/lib/session/waiting-episode-state-ops.js +152 -0
- package/dist/server/src/lib/session/waiting-episode-state-store.js +202 -0
- package/dist/server/src/lib/session/waiting-episode-state-types.js +6 -0
- package/dist/server/src/lib/session/waiting-episode-state.js +26 -339
- package/dist/server/src/lib/tmux/tmux.js +25 -0
- package/dist/server/src/lib/verification/gate-runner.js +11 -4
- package/docs/en/user-guide/webapp-guide.md +15 -10
- package/package.json +1 -1
- package/release-notes/0.49.0.json +45 -0
- package/.next/server/chunks/6722.js +0 -1
- package/.next/static/chunks/2099-c3e0ab70a1b95dd3.js +0 -1
- package/.next/static/chunks/5371-a549a0d2c2044d41.js +0 -1
- package/.next/static/chunks/6288-09feba367cc2c65e.js +0 -1
- package/.next/static/chunks/9079-406b84d3cc891a87.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-9cf1ecc59e36a004.js +0 -1
- /package/.next/static/{PTlAswXLq8PAe2vUJ8dVP → 3_JtAZaKMJEDFIIfkHv4n}/_buildManifest.js +0 -0
- /package/.next/static/{PTlAswXLq8PAe2vUJ8dVP → 3_JtAZaKMJEDFIIfkHv4n}/_ssgManifest.js +0 -0
|
@@ -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.49.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.49.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`}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=6401,exports.ids=[6401],exports.modules={3421:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(71237),e=c(55088),f=c(17679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},26838:(a,b,c)=>{"use strict";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
|
+
exports.id=6401,exports.ids=[6401],exports.modules={3421:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(71237),e=c(55088),f=c(17679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},26838:(a,b,c)=>{"use strict";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.49.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.49.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}}},36925:(a,b,c)=>{"use strict";function d(a,b){return globalThis[a]??=b()}c.d(b,{v:()=>d})},48870:(a,b,c)=>{"use strict";c.d(b,{GQ:()=>j,TJ:()=>g,Tf:()=>h,WI:()=>i});var d=c(29021),e=c(33873),f=c(21820);function g(){let a=(0,e.dirname)(__dirname);return a.includes("/lib/node_modules/")||a.includes("\\node_modules\\")||a.includes("/node_modules/commandmate")}function h(){let a=(0,e.dirname)(__dirname);return a.includes("/_npx/")||a.includes("\\_npx\\")}function i(){if(g()){let a=(0,e.join)((0,f.homedir)(),".commandmate");if((0,d.existsSync)(a)){let b=(0,d.realpathSync)(a),c=(0,d.realpathSync)((0,f.homedir)());if(!b.startsWith(c))throw Error(`Security error: Config directory ${a} is outside home directory`);return b}return a}let a=process.cwd();return(0,d.realpathSync)(a)}function j(){let a=g()?(0,e.join)((0,f.homedir)(),".commandmate"):process.cwd();return(0,d.existsSync)(a)||(0,d.mkdirSync)(a,{recursive:!0,mode:448}),i()}},53515:(a,b,c)=>{"use strict";c.d(b,{n8:()=>n,KC:()=>m});var d=c(79646);function e(a){return"string"==typeof a?a.trim():""}c(29021),c(33873);var f=c(26838);let g=/^\d+\.\d+\.\d+$/,h=/^v?\d+\.\d+\.\d+$/,i=globalThis,j=i.__npmPublishCheckCache??(i.__npmPublishCheckCache={targetVersion:null,npmVersion:null,checkedAt:0,inFlight:null});async function k(){let a=await new Promise(a=>{(0,d.execFile)("npm",["view","commandmate","version"],{encoding:"utf-8",timeout:1e4},(b,c,d)=>{if(b)return"ENOENT"===b.code?void a({success:!1,error:"npm command not found. Install Node.js/npm and try again."}):void a({success:!1,error:e(d)||b.message});let f=e(c);if(!f)return void a({success:!1,error:"npm view returned no version"});a({success:!0,version:f})})});return a.success&&a.version&&g.test(a.version)?a.version:null}async function l(a,b,c){var d,e,g,h;if(j.targetVersion===a){if(null!==j.npmVersion&&(d=j.npmVersion,!(0,f.MQ)(d,a))||c()-j.checkedAt<3e5)return j.npmVersion}j.inFlight||(j.inFlight=(async()=>{try{return await b()}catch{return null}})());let i=j.inFlight,k=await i;return j.inFlight===i&&(j.inFlight=null,e=a,g=k,h=c(),j.targetVersion=e,j.npmVersion=g,j.checkedAt=h),k}async function m(a,b={}){var c;if(!a.hasUpdate)return{hasUpdate:!1,pendingVersion:null};let d=await l(a.latestVersion,b.fetchNpmLatest??k,b.now??Date.now);return null!==d&&(c=a.latestVersion,(0,f.MQ)(d,c))?{hasUpdate:!1,pendingVersion:a.latestVersion}:{hasUpdate:!0,pendingVersion:null}}async function n(a,b={}){let c;if(!h.test(a))return null;try{c=await (b.fetchNpmLatest??k)()}catch{return null}return null===c?null:(0,f.MQ)(a,c)}},54325:(a,b,c)=>{"use strict";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"},78335:()=>{},90164:(a,b,c)=>{"use strict";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`},95736:(a,b,c)=>{"use strict";a.exports=c(44870)},96487:()=>{}};
|
|
@@ -15,4 +15,4 @@ ${h}`}}(a,i,j)}function as(a,b){return b?`${a}
|
|
|
15
15
|
${b}`:a}function at(a,b){return new Promise(c=>{let e="",f=(0,d.spawn)("git",a,{cwd:b,stdio:["ignore","pipe","ignore"]});f.stdout?.on("data",a=>{e+=a.toString("utf8")}),f.on("error",()=>c({code:null,stdout:""})),f.on("close",a=>c({code:a,stdout:e}))})}async function au(a,b,c,d){let e=Date.now(),f=(a,b,c)=>({status:a,exitCode:c,startedAt:e,durationMs:Date.now()-e,logTail:b});if(!b)return f("error",`work-evidence: no base ref. Set options.baseRef in ${U.aT}; origin/HEAD did not resolve a default branch.`,null);let g=await at(["merge-base",b,"HEAD"],a);if(0!==g.code||""===g.stdout.trim())return f("error",`work-evidence: 'git merge-base ${b} HEAD' failed; base ref is unreachable from this worktree.`,null);let h=g.stdout.trim(),i=await at(["rev-list",`${h}..HEAD`,"--",":(top)",`:(exclude,top)${J}`],a);if(0!==i.code)return f("error",`work-evidence: 'git rev-list ${h}..HEAD' failed.`,null);let j=await Q(a,h);if("error"in j)return f("error",`work-evidence: ${j.error}`,null);let k=new Set(j.changes.filter(a=>a.fold).map(a=>a.sha)),l=i.stdout.split("\n").filter(a=>""!==a.trim()),m=l.filter(a=>k.has(a)).length,n=l.length-m,o=await at(["status","--porcelain","-z","--untracked-files=all"],a);if(0!==o.code)return f("error","work-evidence: 'git status --porcelain' failed.",null);let p=y(a),q=0,r=new Set,s=O(o.stdout).filter(a=>!!a.paths.some(a=>!L(a))&&(P(a,p)?(q+=1,!1):!C(a)||(a.paths.forEach(a=>r.add(a)),!1))).length,t=`work-evidence: baseRef=${b} commits=${n} uncommitted=${s}`+(c.required?" requireCommit=true":"")+" (contract files excluded)"+(m>0?` (${m} orchestrator fold commit(s) excluded)`:"")+(q>0?` (${q} CommandMate-installed Skill file(s) excluded)`:"")+(r.size>0?` (agent-managed state file(s) excluded: ${[...r].sort().join(", ")})`:"");if(!Number.isFinite(n)||0===n&&0===s){let a=Number.isFinite(n)?d.fileCount():null;return null===a||0===a?f("failed",`${t}
|
|
16
16
|
No commits and no uncommitted changes: nothing to verify.`,1):f("passed",`${t}
|
|
17
17
|
${d.label}: ${a} file(s) changed. git found nothing; the agent did.`,0)}return c.required&&0===n?f("failed",`${t}
|
|
18
|
-
${c.sources.join(" and ")} requires a commit: uncommitted changes are not work evidence, commit them.`,1):f("passed",t,0)}async function av(a,b){if(a.options.baseRef)return a.options.baseRef;let c=await (0,i.tR)(b);return c?`origin/${c}`:null}async function aw(a,b,c,d,f,h,i,j,k,m,o,p,r){var s,t;let{maxLogTailBytes:u,skipInPrimaryCheckout:v}=h.options,{runWorkEvidence:w,gates:x}=i,y={label:"opencode session diff",fileCount:()=>void 0!==f&&(f===W.k||(0,g.getAgentInstances)(a,c).some(a=>a.id===f&&a.cliTool===W.k))?(0,V.pw)(c,f):null},z=(0,l.fc)(k?.contract??null,h),A=null,B=()=>A??={CM_WORKTREE_ID:c,CM_WORKTREE_INDEX:String((0,q.Cr)(c))},C=(b,c)=>((0,g.finishGateResult)(a,b,{status:c.status,exitCode:c.exitCode,durationMs:c.durationMs,logTail:c.logTail,executionWindow:{startedAt:c.startedAt,finishedAt:c.startedAt+c.durationMs}}),c),D=async(c,d,e,f)=>C((0,g.createGateResult)(a,b,{gateId:c,command:d,source:e}).id,await f()),E=(c,d,e,f)=>{let h={status:"skipped",exitCode:null,startedAt:Date.now(),durationMs:0,logTail:f};return C((0,g.createGateResult)(a,b,{gateId:c,command:d,source:e}).id,h)},F=[],G=(a,b)=>{for(let c of(b.scope&&E(U.le,Y,"builtin",a),b.envClean&&E(U.Q5,Z,"builtin",a),b.gates))E(c.id,c.command,c.source,a)},H=a=>(G(aj,a),"cancelled");if(w){let a=await D(U.uz,"git merge-base / rev-list / status --porcelain (excluding contract files)","builtin",()=>au(d,j,z,y));if("passed"!==a.status)return G("skipped: the work-evidence gate did not pass.",{scope:"off"!==i.scope,envClean:i.runEnvClean,gates:x}),"failed"===a.status?"not_started":"error";if(F.push(a.status),p.cancelled)return H({scope:"off"!==i.scope,envClean:i.runEnvClean,gates:x})}if("off"!==i.scope){let a=m?E(U.le,Y,"builtin",(s=m.id,t=m.status,`scope: task ${s} declares a scope for this worktree, but it is ${t} and this run was not attached to it, so its scope was NOT judged. \`wait --verify\` attaches only to an in-flight task; to re-verify a finished task, run \`commandmate verify <worktree> --task ${s}\`.`)):await D(U.le,Y,"builtin",()=>T(d,k?.contract.scope??null,k?.contract.success.requireScopeClean??!1,j,k?.contractPath??null)),b="explicit"===i.scope||null!==m;if(("skipped"!==a.status||b)&&F.push(a.status),p.cancelled)return H({scope:!1,envClean:i.runEnvClean,gates:x})}if(i.runEnvClean){let a=await D(U.Q5,Z,"builtin",()=>(0,n.uT)({worktreeId:o.worktreeId,worktreePath:d,taskId:o.taskId,baseline:o.baseline,sources:o.decision.sources,ignoreHomeEntries:h.options.envCleanIgnoreHomeEntries}));if(F.push(a.status),p.cancelled)return H({scope:!1,envClean:!1,gates:x})}let I=v&&function(a,b){try{return(0,e.realpathSync)(a)===(0,e.realpathSync)(b)}catch{return!1}}(d,process.cwd());for(let[a,b]of x.entries()){if(p.cancelled)return H({scope:!1,envClean:!1,gates:x.slice(a)});if(I){F.push(E(b.id,b.command,b.source,"skipped: worktreePath is the server process working directory and options.skipInPrimaryCheckout is true.").status);continue}let c=await D(b.id,b.command,b.source,()=>aq(b,d,u,B(),p,r));F.push(c.status)}return p.cancelled?"cancelled":F.some(a=>"failed"===a||"timeout"===a||"error"===a)?"failed":F.some(a=>"skipped"===a)?"error":"passed"}function ax(a,b,c,d){try{(0,m.g)(a,b,c,void 0===d?void 0:{runId:d})}catch(a){X.warn("task-transition-failed",{taskId:b,event:c,error:a instanceof Error?a.message:String(a)})}}function ay(a,b,c,d,e){let f;try{f=(0,g.getVerificationRun)(a,c)?.gates.filter(a=>"passed"!==a.status&&"skipped"!==a.status).map(a=>a.gateId)}catch{}(0,k.notifyVerificationFailurePush)({worktreeId:b.worktreeId,runId:c,taskId:d,status:e,trigger:b.trigger,instanceId:b.instanceId??null,failedGateIds:f}).catch(()=>{})}async function az(a){let b=(0,f.getDbInstance)(),c=(0,g.getRunningVerificationRun)(b,a.worktreeId);if(c)throw new ad(a.worktreeId,c.id);let d=void 0!==a.taskId?(0,g.getTask)(b,a.taskId):(0,h.Zj)(b,a.worktreeId),e=function(a,b,c){if(null!==c||void 0!==b.taskId)return null;let[d]=(0,g.listTasks)(a,b.worktreeId,1);return d&&"pending"!==d.status&&d.contract.success.requireScopeClean?d:null}(b,a,d),i=a.taskId??d?.id??null,j=a.gateIds??(d?(0,l.Ky)(d.contract)??void 0:void 0),k=null,m=null;try{(k=(0,U.yR)(a.worktreePath))||(m=`${U.aT} not found in ${a.worktreePath}. Declare the repository verification gates there before running verification.`)}catch(a){m=a instanceof U.Yp?a.message:`Failed to read ${U.aT}: ${a.message}`}let p=(0,n.Uq)(d?.contract??null,k),q={workEvidence:d?.contract.success.requireWorkEvidence??!1,scope:(d?.contract.success.requireScopeClean??!1)||null!==e,envClean:p.required},r=null;if(k&&!m){let a=function(a,b){let c=a.gates.map(a=>({...a,source:"verify.yaml"})),d=new Set(c.map(a=>a.id)),e=b.filter(a=>d.has(a.id)).map(a=>a.id);return e.length>0?`Contract gate id(s) ${e.join(", ")} are already declared in ${U.aT}. A contract may add gates, never redefine the repository's own.`:[...c,...b.map(a=>({...a,source:"contract"}))]}(k,d?(0,l.cI)(d.contract):[]);if("string"==typeof a)m=a;else{let b=function(a,b,c){if(!b)return{runWorkEvidence:!0,scope:"implicit",runEnvClean:c.envClean,gates:a};let d=new Set([U.uz,U.le,U.Q5,...a.map(a=>a.id)]),e=b.filter(a=>!d.has(a));if(e.length>0)return`Unknown gate id(s): ${e.join(", ")}. Declared gates: ${[...d].join(", ")}.`;let f=new Set(b),g={runWorkEvidence:f.has(U.uz)||c.workEvidence,scope:f.has(U.le)||c.scope?"explicit":"off",runEnvClean:f.has(U.Q5)||c.envClean,gates:a.filter(a=>f.has(a.id))};return g.runWorkEvidence||"off"!==g.scope||g.runEnvClean||0!==g.gates.length?g:"gateIds selected no gates; a run with no gates has nothing to report."}(a,j,q);"string"==typeof b?m=b:r=b}}let s=k?await av(k,a.worktreePath):null,t=(0,g.createVerificationRun)(b,{worktreeId:a.worktreeId,trigger:a.trigger,instanceId:a.instanceId??null,taskId:i,baseRef:s});if(!k||!r){let c=Date.now(),e=(0,g.createGateResult)(b,t.id,{gateId:"config",command:U.aT,source:"builtin"});return(0,g.finishGateResult)(b,e.id,{status:"error",exitCode:null,durationMs:0,logTail:m,executionWindow:{startedAt:c,finishedAt:c}}),(0,g.finishVerificationRun)(b,t.id,"error"),X.warn("verification-config-unusable",{runId:t.id,worktreeId:a.worktreeId}),ay(b,a,t.id,i,"error"),d&&(ax(b,d.id,"verify_started",t.id),ax(b,d.id,"verify_failed",t.id)),{runId:t.id}}d&&ax(b,d.id,"verify_started",t.id);let u=new ak;al.set(t.id,u);let v=k,w=r,x={worktreeId:a.worktreeId,taskId:i,baseline:w.runEnvClean&&i?(0,o.g9)(i):null,decision:p},y=new ag,z=(async()=>{await y.acquire();let c="error";try{if(u.cancelled)return c="cancelled",(0,g.finishVerificationRun)(b,t.id,"cancelled"),"cancelled";let f=await aw(b,t.id,a.worktreeId,a.worktreePath,a.instanceId,v,w,s,d,e,x,u,y);return c=f,(0,g.finishVerificationRun)(b,t.id,f),f}catch(a){X.error("verification-run-crashed",{runId:t.id,error:a instanceof Error?a.message:String(a)});try{(0,g.finishVerificationRun)(b,t.id,"error")}catch{}return"error"}finally{d&&ax(b,d.id,function(a){switch(a){case"passed":return"verify_passed";case"not_started":return"verify_not_started";case"cancelled":return"cancel";default:return"verify_failed"}}(c),t.id),ay(b,a,t.id,i,c),y.release(),ah.delete(t.id),al.delete(t.id)}})();return ah.set(t.id,z),{runId:t.id}}},52767:(a,b,c)=>{c.d(b,{r:()=>i,g:()=>h});var d=c(48524),e=c(87009),f=c(72626);let g=(0,f.h)("lib/tasks/task-transition-service");function h(a,b,c,f){let h=a.transaction(()=>{let g=(0,d.gg)(a,b);if(!g)return null;let h=g.status,i=function(a,b){switch(a){case"pending":switch(b){case"message_sent":return"running";case"send_failed":case"cancel":return"cancelled";default:return null}case"running":switch(b){case"prompt_detected":return"waiting_input";case"agent_idle":return"running";case"verify_started":return"verifying";case"send_failed":return"failed";case"cancel":return"cancelled";default:return null}case"waiting_input":switch(b){case"prompt_answered_auto":case"prompt_answered_human":case"agent_idle":return"running";case"verify_started":return"verifying";case"cancel":return"cancelled";default:return null}case"verifying":switch(b){case"verify_passed":return"succeeded";case"verify_failed":return"failed";case"verify_not_started":return"not_started";case"cancel":return"cancelled";default:return null}case"failed":case"not_started":switch(b){case"message_sent":return"running";case"verify_started":return"verifying";case"cancel":return"cancelled";default:return null}default:return null}}(h,c),j=Date.now(),k=(0,e.P)(a,{taskId:b,event:c,fromStatus:h,toStatus:i,payload:f,createdAt:j});return null===i?{task:g,fromStatus:h,toStatus:null,eventId:k}:{task:(0,d.xZ)(a,b,i,f?.runId===void 0?{}:{lastVerificationRunId:f.runId}),fromStatus:h,toStatus:i,eventId:k}})();return null===h?g.warn("task-event-unknown-task",{taskId:b,event:c}):null===h.toStatus&&g.warn("task-event-rejected",{taskId:b,event:c,fromStatus:h.fromStatus}),h}function i(a,b,c,e,f,i){try{let g=(0,d.MH)(a,b,c,e);if(!g)return null;return h(a,g.id,f,i)}catch(a){return g.warn("task-event-failed",{worktreeId:b,cliToolId:c,instanceId:e,event:f,error:a instanceof Error?a.message:String(a)}),null}}}};
|
|
18
|
+
${c.sources.join(" and ")} requires a commit: uncommitted changes are not work evidence, commit them.`,1):f("passed",t,0)}async function av(a,b){if(a.options.baseRef)return a.options.baseRef;let c=await (0,i.tR)(b);return c?`origin/${c}`:null}async function aw(a,b,c,d,f,h,i,j,k,m,o,p,r){var s,t;let{maxLogTailBytes:u,skipInPrimaryCheckout:v}=h.options,{runWorkEvidence:w,gates:x}=i,y={label:"opencode session diff",fileCount:()=>void 0!==f&&(f===W.k||(0,g.getAgentInstances)(a,c).some(a=>a.id===f&&a.cliTool===W.k))?(0,V.pw)(c,f):null},z=(0,l.fc)(k?.contract??null,h),A=null,B=()=>A??={CM_WORKTREE_ID:c,CM_WORKTREE_INDEX:String((0,q.Cr)(c))},C=(b,c)=>((0,g.finishGateResult)(a,b,{status:c.status,exitCode:c.exitCode,durationMs:c.durationMs,logTail:c.logTail,executionWindow:{startedAt:c.startedAt,finishedAt:c.startedAt+c.durationMs}}),c),D=async(c,d,e,f)=>C((0,g.createGateResult)(a,b,{gateId:c,command:d,source:e}).id,await f()),E=(c,d,e,f)=>{let h={status:"skipped",exitCode:null,startedAt:Date.now(),durationMs:0,logTail:f};return C((0,g.createGateResult)(a,b,{gateId:c,command:d,source:e}).id,h)},F=[],G=(a,b)=>{for(let c of(b.scope&&E(U.le,Y,"builtin",a),b.envClean&&E(U.Q5,Z,"builtin",a),b.gates))E(c.id,c.command,c.source,a)},H=a=>(G(aj,a),"cancelled");if(w){let a=await D(U.uz,"git merge-base / rev-list / status --porcelain (excluding contract files)","builtin",()=>au(d,j,z,y));if("passed"!==a.status)return G("skipped: the work-evidence gate did not pass.",{scope:"off"!==i.scope,envClean:i.runEnvClean,gates:x}),"failed"===a.status?"not_started":"error";if(F.push(a.status),p.cancelled)return H({scope:"off"!==i.scope,envClean:i.runEnvClean,gates:x})}if("off"!==i.scope){let a=m?E(U.le,Y,"builtin",(s=m.id,t=m.status,`scope: task ${s} declares a scope for this worktree, but it is ${t} and this run was not attached to it, so its scope was NOT judged. \`wait --verify\` attaches only to an in-flight task; to re-verify a finished task, run \`commandmate verify <worktree> --task ${s}\`.`)):await D(U.le,Y,"builtin",()=>T(d,k?.contract.scope??null,k?.contract.success.requireScopeClean??!1,j,k?.contractPath??null)),b="explicit"===i.scope||null!==m;if(("skipped"!==a.status||b)&&F.push(a.status),p.cancelled)return H({scope:!1,envClean:i.runEnvClean,gates:x})}if(i.runEnvClean){let a=await D(U.Q5,Z,"builtin",()=>(0,n.uT)({worktreeId:o.worktreeId,worktreePath:d,taskId:o.taskId,baseline:o.baseline,sources:o.decision.sources,ignoreHomeEntries:h.options.envCleanIgnoreHomeEntries}));if(F.push(a.status),p.cancelled)return H({scope:!1,envClean:!1,gates:x})}let I=v&&function(a,b){try{return(0,e.realpathSync)(a)===(0,e.realpathSync)(b)}catch{return!1}}(d,process.cwd());for(let[a,b]of x.entries()){if(p.cancelled)return H({scope:!1,envClean:!1,gates:x.slice(a)});if(I){F.push(E(b.id,b.command,b.source,"skipped: worktreePath is the server process working directory and options.skipInPrimaryCheckout is true.").status);continue}let c=await D(b.id,b.command,b.source,()=>aq(b,d,u,B(),p,r));F.push(c.status)}return p.cancelled?"cancelled":F.some(a=>"failed"===a||"timeout"===a||"error"===a)?"failed":F.some(a=>"skipped"===a)?"error":"passed"}function ax(a,b,c,d){try{(0,m.g)(a,b,c,void 0===d?void 0:{runId:d})}catch(a){X.warn("task-transition-failed",{taskId:b,event:c,error:a instanceof Error?a.message:String(a)})}}function ay(a,b,c,d,e){let f;try{f=(0,g.getVerificationRun)(a,c)?.gates.filter(a=>"passed"!==a.status&&"skipped"!==a.status).map(a=>a.gateId)}catch{}(0,k.notifyVerificationFailurePush)({worktreeId:b.worktreeId,runId:c,taskId:d,status:e,trigger:b.trigger,instanceId:b.instanceId??null,failedGateIds:f}).catch(()=>{})}async function az(a){let b=(0,f.getDbInstance)(),c=(0,g.getRunningVerificationRun)(b,a.worktreeId);if(c)throw new ad(a.worktreeId,c.id);let d=void 0!==a.taskId?(0,g.getTask)(b,a.taskId):(0,h.Zj)(b,a.worktreeId),e=function(a,b,c){if(null!==c||void 0!==b.taskId)return null;let[d]=(0,g.listTasks)(a,b.worktreeId,1);return d&&"pending"!==d.status&&d.contract.success.requireScopeClean?d:null}(b,a,d),i=a.taskId??d?.id??null,j=a.gateIds??(d?(0,l.Ky)(d.contract)??void 0:void 0),k=null,m=null;try{(k=(0,U.yR)(a.worktreePath))||(m=`${U.aT} not found in ${a.worktreePath}. Declare the repository verification gates there before running verification.`)}catch(a){m=a instanceof U.Yp?a.message:`Failed to read ${U.aT}: ${a.message}`}let p=(0,n.Uq)(d?.contract??null,k),q={workEvidence:d?.contract.success.requireWorkEvidence??!1,scope:(d?.contract.success.requireScopeClean??!1)||null!==e,envClean:p.required},r=null;if(k&&!m){let a=function(a,b){let c=a.gates.map(a=>({...a,source:"verify.yaml"})),d=new Set(c.map(a=>a.id)),e=b.filter(a=>d.has(a.id)).map(a=>a.id);return e.length>0?`Contract gate id(s) ${e.join(", ")} are already declared in ${U.aT}. A contract may add gates, never redefine the repository's own.`:[...c,...b.map(a=>({...a,source:"contract"}))]}(k,d?(0,l.cI)(d.contract):[]);if("string"==typeof a)m=a;else{let b=function(a,b,c){if(!b)return{runWorkEvidence:!0,scope:"implicit",runEnvClean:c.envClean,gates:a};let d=new Set([U.uz,U.le,U.Q5,...a.map(a=>a.id)]),e=b.filter(a=>!d.has(a));if(e.length>0)return`Unknown gate id(s): ${e.join(", ")}. Declared gates: ${[...d].join(", ")}.`;let f=new Set(b),g={runWorkEvidence:f.has(U.uz)||c.workEvidence,scope:f.has(U.le)||c.scope?"explicit":"off",runEnvClean:f.has(U.Q5)||c.envClean,gates:a.filter(a=>f.has(a.id))};return g.runWorkEvidence||"off"!==g.scope||g.runEnvClean||0!==g.gates.length?g:"gateIds selected no gates; a run with no gates has nothing to report."}(a,j,q);"string"==typeof b?m=b:r=b}}let s=k?await av(k,a.worktreePath):null,t=(0,g.createVerificationRun)(b,{worktreeId:a.worktreeId,trigger:a.trigger,instanceId:a.instanceId??null,taskId:i,baseRef:s});if(!k||!r){let c=Date.now(),e=(0,g.createGateResult)(b,t.id,{gateId:"config",command:U.aT,source:"builtin"});return(0,g.finishGateResult)(b,e.id,{status:"error",exitCode:null,durationMs:0,logTail:m,executionWindow:{startedAt:c,finishedAt:c}}),(0,g.finishVerificationRun)(b,t.id,"error"),X.warn("verification-config-unusable",{runId:t.id,worktreeId:a.worktreeId}),ay(b,a,t.id,i,"error"),d&&(ax(b,d.id,"verify_started",t.id),ax(b,d.id,"verify_failed",t.id)),{runId:t.id}}d&&ax(b,d.id,"verify_started",t.id);let u=new ak;al.set(t.id,u);let v=k,w=r,x={worktreeId:a.worktreeId,taskId:i,baseline:w.runEnvClean&&i?(0,o.g9)(i):null,decision:p},y=new ag,z=(async()=>{await y.acquire(!1,u);let c="error";try{if(u.cancelled)return c="cancelled",(0,g.finishVerificationRun)(b,t.id,"cancelled"),"cancelled";let f=await aw(b,t.id,a.worktreeId,a.worktreePath,a.instanceId,v,w,s,d,e,x,u,y);return c=f,(0,g.finishVerificationRun)(b,t.id,f),f}catch(a){X.error("verification-run-crashed",{runId:t.id,error:a instanceof Error?a.message:String(a)});try{(0,g.finishVerificationRun)(b,t.id,"error")}catch{}return"error"}finally{d&&ax(b,d.id,function(a){switch(a){case"passed":return"verify_passed";case"not_started":return"verify_not_started";case"cancelled":return"cancel";default:return"verify_failed"}}(c),t.id),ay(b,a,t.id,i,c),y.release(),ah.delete(t.id),al.delete(t.id)}})();return ah.set(t.id,z),{runId:t.id}}},52767:(a,b,c)=>{c.d(b,{r:()=>i,g:()=>h});var d=c(48524),e=c(87009),f=c(72626);let g=(0,f.h)("lib/tasks/task-transition-service");function h(a,b,c,f){let h=a.transaction(()=>{let g=(0,d.gg)(a,b);if(!g)return null;let h=g.status,i=function(a,b){switch(a){case"pending":switch(b){case"message_sent":return"running";case"send_failed":case"cancel":return"cancelled";default:return null}case"running":switch(b){case"prompt_detected":return"waiting_input";case"agent_idle":return"running";case"verify_started":return"verifying";case"send_failed":return"failed";case"cancel":return"cancelled";default:return null}case"waiting_input":switch(b){case"prompt_answered_auto":case"prompt_answered_human":case"agent_idle":return"running";case"verify_started":return"verifying";case"cancel":return"cancelled";default:return null}case"verifying":switch(b){case"verify_passed":return"succeeded";case"verify_failed":return"failed";case"verify_not_started":return"not_started";case"cancel":return"cancelled";default:return null}case"failed":case"not_started":switch(b){case"message_sent":return"running";case"verify_started":return"verifying";case"cancel":return"cancelled";default:return null}default:return null}}(h,c),j=Date.now(),k=(0,e.P)(a,{taskId:b,event:c,fromStatus:h,toStatus:i,payload:f,createdAt:j});return null===i?{task:g,fromStatus:h,toStatus:null,eventId:k}:{task:(0,d.xZ)(a,b,i,f?.runId===void 0?{}:{lastVerificationRunId:f.runId}),fromStatus:h,toStatus:i,eventId:k}})();return null===h?g.warn("task-event-unknown-task",{taskId:b,event:c}):null===h.toStatus&&g.warn("task-event-rejected",{taskId:b,event:c,fromStatus:h.fromStatus}),h}function i(a,b,c,e,f,i){try{let g=(0,d.MH)(a,b,c,e);if(!g)return null;return h(a,g.id,f,i)}catch(a){return g.warn("task-event-failed",{worktreeId:b,cliToolId:c,instanceId:e,event:f,error:a instanceof Error?a.message:String(a)}),null}}}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=720,exports.ids=[720,1990],exports.modules={905:(a,b,c)=>{c.d(b,{bN:()=>ai});var d=c(42422),e=c(24680),f=c(37717),g=c(52112),h=c(91010),i=c(1804),j=c(28861);let k=i.yh,l=(0,e.dX)("waiting",f.g.ANTIGRAVITY_SELECTION_LIST),m=/[\u2800-\u28FF]|Generating/,n={status:"running",confidence:"low",reason:f.g.UNKNOWN_FRAME,hasActivePrompt:!1,evidence:"none"},o=(0,h.b)({tool:"antigravity",verifiedAgainst:k,liveRegion:g.H,beforePrompt(a){if(function(a){let b=a.slice(-3),c=b.findIndex(a=>d.HR.test(a));if(c<0)return!1;let{promptPattern:e}=(0,d._X)("antigravity");return!b.slice(c+1).some(a=>e.test(a))}(a.contentLines))return l;if(!d.kT.test(a.lastLines))return m.test(a.thinkingLines)?null:(0,j.Ye)((0,d._A)(a.clean))?n:null;if(!function(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a--)if(d.kT.test(b[a])){c=a;break}if(c<0)return!1;let{promptPattern:e}=(0,d._X)("antigravity");return!b.slice(c+1).some(a=>e.test(a))}(a.lastLines))return null;let b=(0,d._A)(a.clean);if((0,d.bH)(b)){let a=(0,j.g8)(b);return null!==a?(0,e._D)(f.g.PROMPT_DETECTED,a):n}return l},afterThinking(a){if((0,d.ut)("antigravity",a.lastLines))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let{promptPattern:b}=(0,d._X)("antigravity");return b.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null}});var p=c(93923),q=c(32236),r=c(91478),s=c(96742),t=c(682);let u=/^\s*↑\/↓\s+navigate\s+·\s+enter\s+select\s+·.*\bto\s+bypass\s+all\s+permissions\b/;var v=c(69130),w=c(61878);let x=i.ji,y=(0,h.b)({tool:"command-code",verifiedAgainst:x,liveRegion:v.E,beforePrompt(a){if((0,w.Yc)(a,"command-code").composerAtBottom)return null;if((0,r.tH)(a.lastLines)||(0,r.a9)(a.lastLines))return(0,e.dX)("waiting",f.g.COMMAND_CODE_PLAN_REVIEW);let b=(0,s.nK)(a.raw);return"prompt"===b.kind?(0,e._D)(f.g.PROMPT_DETECTED,b.prompt):"unsupported"===b.kind?(0,e.dX)("waiting",f.g.COMMAND_CODE_SELECTION_LIST):null},afterPrompt:a=>(0,r.yt)(a.lastLines)?(0,e.dX)("waiting",f.g.COMMAND_CODE_DISMISSABLE_PANEL):(0,r.sl)(a.lastLines)?(0,e.dX)("waiting",f.g.COMMAND_CODE_SELECTION_LIST):null,detectDialog:a=>(function(a){let b=a.contentLines,c=b[b.length-1];if(void 0===c||!u.test(c))return null;let d=(0,t.c)(b,b.length,1);return null===d||d.footer!==c.trim()||"❯"!==d.selectedGlyph?null:{kind:"permission",options:d.options,answerMode:"numbered",submitMode:"answer_only"}})(a),afterThinking(a){if((0,d.ut)("command-code",a.lastLines))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let{promptPattern:b}=(0,d._X)("command-code");return b.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null}});var z=c(26895),A=c(50435);let B=/do you want to\b/i;var C=c(83342);function D(a){return(0,z.gF)((0,d._A)(a),(0,d.KO)("copilot"))}let E=i.MJ,F=(0,h.b)({tool:"copilot",verifiedAgainst:E,liveRegion:C.b,beforePrompt(a){if((0,d.gT)(a.contentLines)){let b=D(a.clean);return b.isPrompt&&(b.promptData?.options?.length??0)<=3?(0,e._D)(f.g.PROMPT_DETECTED,b):(0,e.Xx)("waiting",f.g.COPILOT_SELECTION_LIST,b)}if("working"===(0,d.Wn)(a.contentLines)){let b=D(a.clean);return(0,e.Xx)("running",f.g.THINKING_INDICATOR,b)}return null},afterThinking:a=>"idle"===(0,d.Wn)(a.contentLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null,skipGenericInputPrompt:!0,readIdleEvidence:function(a){return"idle"===(0,d.Wn)(a.contentLines)?"positive":"none"},detectDialog:a=>(function(a,b){if(null!==b.statusBar)return null;let c=(0,d._A)(a.clean).split("\n"),e=(0,t.c)(c,b.contentEnd);if(e&&d.V.test(e.footer)){var f;let a=(f=e.firstRow,(0,A.r)(c,f,-1));return{kind:d.rX.some(b=>a.includes(b))?"trust":B.test(a)?"permission":"picker",options:e.options,answerMode:"numbered"}}return b.selectionFrame?{kind:"picker",options:[],answerMode:"keys"}:null})(a,{statusBar:(0,d.Wn)(a.contentLines),selectionFrame:(0,d.gT)(a.contentLines),contentEnd:a.contentLines.length}),unreadableReason:f.g.UNKNOWN_FRAME});var G=c(76777),H=c(50524);let I=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-9;]*m/g,J=/^(?:\x1b\[|\[)([0-9;]*)m$/,K=new Set([38,48,58]);function L(a){let b;I.lastIndex=0;let c=[],d="",e=null,f=0,g=0,h=0;for(;null!==(b=I.exec(a));){let i=a.slice(h,b.index);d+=i,f+=(0,H.LQ)(i),h=b.index+b[0].length;let j=J.exec(b[0]);if(null===j)continue;let k=function(a,b){let c=(""===b?"0":b).split(";"),d=a;for(let a=0;a<c.length;a++){let b=Number(""===c[a]?"0":c[a]);if(Number.isFinite(b)){if(K.has(b)){let e="2"===c[a+1]?4:2*("5"===c[a+1]);e>0&&48===b&&(d=c.slice(a,a+1+e).join(";")),a+=e;continue}0===b||49===b?d=null:(b>=40&&b<=47||b>=100&&b<=107)&&(d=c[a])}}return d}(e,j[1]);k!==e&&(f>g&&c.push({bg:e,start:g,end:f}),e=k,g=f)}let i=a.slice(h);d+=i,(f+=(0,H.LQ)(i))>g&&c.push({bg:e,start:g,end:f});let j=new Set(c.map(a=>a.start));return c.length>0&&j.add(c[c.length-1].end),{text:d,segments:c,edges:j,width:f}}function M(a,b){for(let c of a.segments)if(c.start<=b&&b<c.end)return c.bg;return null}let N=/\S[^\S\n]{2,}esc[^\S\n]*$/,O=/^[│┃╹]/;function P(a,b,c){if(!a.edges.has(b)||!a.edges.has(c))return!1;for(let d of a.segments)if(!(d.end<=b)&&!(d.start>=c)&&null===d.bg)return!1;return!(M(a,b-1)===M(a,b)||c<a.width&&M(a,c)===M(a,c-1)||O.test((0,H.Ml)(a.text,b-1,b)))&&!O.test((0,H.Ml)(a.text,b,c))}function Q(a){let b=function(a){let b=a.split("\n").map(L),c=new Set,d=null;for(let a of b){if(!a.text.includes("esc"))continue;let e=[...a.edges].sort((a,b)=>a-b);for(let f of e)if(!(f<1))for(let g of e){if(g-f<16)continue;let e=`${f}:${g}`;if(c.has(e)||!P(a,f,g))continue;let h=(0,H.Ml)(a.text,f,g);if(!N.test(h))continue;c.add(e);let i=b.filter(a=>P(a,f,g));if(i.length<3)continue;let j=i.indexOf(a);j<0||j>=3||(null===d||i.length>d.rows)&&(d={id:"opencode_modal_overlay",headerText:(0,G.D)(h.trim(),200,"…[truncated]"),left:f,right:g,rows:i.length,headerRow:j,frameRowStart:b.indexOf(i[0]),frameRowEnd:b.indexOf(i[i.length-1])})}}return d}(a);return null===b?null:{id:b.id,headerText:b.headerText,left:b.left,right:b.right,rows:b.rows,headerRow:b.headerRow}}let R=/\s{2,}/;var S=c(89021),T=c(46423);let U=i.BG;function V(a){let b=(0,d._A)(a.clean).split("\n"),c=Math.max(0,b.length-7);for(let a=b.length-1;a>=Math.max(0,b.length-10);a--)if(/ctrl\+[tp]/.test(b[a])){c=Math.max(0,a-2);break}let e=b.slice(0,c),f=e.length-1;for(;f>=0&&""===e[f].trim();)f--;return{candidates:e,lastIndex:f}}let W=(0,h.b)({tool:"opencode",verifiedAgainst:U,liveRegion:S.m,afterThinking(a){if(d.Ty.test(a.lastLines))return(0,e.dX)("waiting",f.g.OPENCODE_PERMISSION_PROMPT);if(d.kD.test(a.lastLines))return(0,e.dX)("running",f.g.OPENCODE_PROCESSING_INDICATOR);let{candidates:b,lastIndex:c}=V(a);if(c<0)return null;let g=b.slice(Math.max(0,c-T.$+1),c+1).join("\n");if((0,d.ut)("opencode",g))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let h=b.slice(Math.max(0,c-w.h9+1),c+1).join("\n");if(d.LO.test(b.join("\n")))return(0,e.dX)("waiting",f.g.OPENCODE_SELECTION_LIST);if(null!==Q(a.raw))return(0,e.dX)("waiting",f.g.OPENCODE_MODAL_OVERLAY);if(d.$t.test(h))return(0,e.dX)("ready",f.g.OPENCODE_RESPONSE_COMPLETE);let i=a.lines.slice(Math.max(0,c-w.h9+1),c+1).join("\n");return d.vU.test(i)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null},skipGenericInputPrompt:!0,readIdleEvidence:function(a){let{candidates:b,lastIndex:c}=V(a);if(c<0)return"none";let e=b.slice(Math.max(0,c-w.h9+1),c+1).join("\n");if(d.$t.test(e))return"positive";let f=a.lines.slice(Math.max(0,c-w.h9+1),c+1).join("\n");return d.vU.test(f)?"positive":"none"},detectDialog(a){var b;let{candidates:c}=V(a);return b={contentWindow:c.join("\n")},d.Ty.test(a.lastLines)?{kind:"permission",options:function(a){for(let b of a.lines){let a=d.Ty.exec(b);if(a)return a[0].replace(/^[^\S\n]*[│┃][^\S\n]*/,"").trim().split(R).map(a=>a.trim()).filter(a=>""!==a)}return[]}(a),answerMode:"keys"}:d.LO.test(b.contentWindow)||null!==Q(a.raw)?{kind:"picker",options:[],answerMode:"keys"}:null},unreadableReason:f.g.UNKNOWN_FRAME});var X=c(58546);let Y=i.u3,Z=/^[^\S\n]*[│┃][^\S\n]*Allow once[^\S\n]{2,}Always allow[^\S\n]{2,}Reject\b/m,$=/^[^\S\n]*[│┃][^\S\n]*↑↓ select[^\S\n]+enter submit[^\S\n]+esc dismiss\b/m,_=/^[^\S\n│┃]*[A-Za-z][\w-]*(?: [\w-]+)* · [^\n]+? · \d+(?:\.\d+)?(?:ms|s|m(?: \d+s)?)(?: · [\d.]+ tok\/s)?[^\S\n]*$/,aa=["Allow once","Always allow","Reject"],ab=/^[^\S\n]*[│┃]/,ac=/^[^\S\n]*[│┃][^\S\n]*(\d+)\.[^\S\n]+(\S.*?)[^\S\n]*$/,ad=(0,h.b)({tool:"opencode-v2",verifiedAgainst:Y,liveRegion:X.R,requireVouchedPrompt:!0,beforePrompt:a=>Z.test(a.lastLines)?(0,e.dX)("waiting",f.g.OPENCODE_PERMISSION_PROMPT):$.test(a.lastLines)?(0,e.dX)("waiting",f.g.OPENCODE_SELECTION_LIST):null!==(0,d.dF)((0,d.aJ)(a.raw))?(0,e.dX)("waiting",f.g.OPENCODE_MODAL_OVERLAY):null,afterThinking:a=>(0,d.ut)("opencode-v2",a.lastLines)?(0,e.dX)("running",f.g.THINKING_INDICATOR):!function(a){let b=a.contentLines;for(let a=b.length-1;a>=0;a--){var c;if(c=b[a],!(/^[\s│┃╹▀]*$/.test(c)||/^[^\S\n]*[│┃][^\S\n]*[A-Za-z][\w-]* · [^·\n]+$/.test(c)||d.c7.test(c)||/^\s*\d+\.\d+\.\d+\s*$/.test(c)))return _.test(b[a])}return!1}(a)?d.wK.test((0,d.aJ)(a.raw))||d.c7.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null:(0,e.dX)("ready",f.g.OPENCODE_RESPONSE_COMPLETE),detectDialog(a){if(Z.test(a.lastLines))return{kind:"permission",options:aa,answerMode:"keys"};let b=function(a){if(!$.test(a.lastLines))return null;let b=a.contentLines,c=-1;for(let a=b.length-1;a>=0;a--)if($.test(b[a])){c=a;break}if(c<0)return null;let d=[];for(let a=c-1;a>=0&&ab.test(b[a]);a--){let c=ac.exec(b[a]);c&&d.unshift(`${c[1]}. ${c[2]}`)}return d.length<2||!d.every((a,b)=>a.startsWith(`${b+1}. `))?null:{kind:"question",options:d,answerMode:"numbered",submitMode:"answer_only"}}(a);return null!==b?b:null!==(0,d.dF)((0,d.aJ)(a.raw))?{kind:"picker",options:[],answerMode:"keys"}:null}});function ae(a){return(0,h.b)({tool:a,verifiedAgainst:i.hB})}let af=ae("gemini"),ag=ae("vibe-local"),ah={claude:p.zu,codex:q.q,copilot:F,opencode:W,antigravity:o,"command-code":y,"opencode-v2":ad,gemini:af,"vibe-local":ag};function ai(a){return ah[a]??ae(a)}Object.values(ah)},16402:(a,b,c)=>{c.d(b,{Xc:()=>r,dd:()=>v,j4:()=>q,r_:()=>n,vm:()=>t});var d=c(61878),e=c(70605),f=c(905),g=c(26895),h=c(42422),i=c(28861),j=c(96742),k=c(73495);let l=["enforce","legacy"],m={claude:"enforce",codex:"enforce",copilot:"enforce",opencode:"enforce",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy","opencode-v2":"enforce"};function n(a,b,c,e=process.env){let g=function(a,b=process.env){let c=b.CM_AUTOYES_DIALOG_GATE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();l.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??m[a]??"legacy"}(a,e),h="yes_no"===b?function(a,b,c){let e=(0,f.bN)(a);if(!e.hasDialogRules||"legacy"===c)return{present:!0,dialog:null,mode:c,gated:!1};let g=e.detectDialog("string"==typeof b?(0,d.zJ)(b,a):b);return{present:null!==g,dialog:g,mode:c,gated:!0}}(a,c,g):o(a,b,c,g);return{allowed:!h.gated||null!==h.dialog&&"numbered"===h.dialog.answerMode,dialog:h.dialog,mode:h.mode,gated:h.gated}}function o(a,b,c,e){let g=(0,f.bN)(a);if("multiple_choice"!==b||!g.hasDialogRules||"legacy"===e)return{present:!0,dialog:null,mode:e,gated:!1};let h=g.detectDialog("string"==typeof c?(0,d.zJ)(c,a):c);return{present:null!==h,dialog:h,mode:e,gated:!0}}let p=new Set(["question"]);function q(a,b,c){return b?.gated===!0&&null!==b.dialog&&p.has(b.dialog.kind)?"question-form":"multiple_choice"!==a.type?null:!0===a.isAskUserQuestion?"picker":void 0!==c&&s.has(c)&&"not-a-permission-dialog"===(0,k.Me)(a.options,c).kind?"unidentified":null}function r(a,b){return null===a?"base-rules":"question-form"===a||"careful"===b?"left-to-human":"picker"===a?"recommended-choice":"base-rules"}let s=new Set(["copilot","codex"]);function t(a,b,c){return o(a,b,c,m[a]??"legacy")}let u="unsupported_dialog_layout";function v(a,b){let c=(0,h._A)((0,h.aJ)(b)),f="antigravity"===a?(0,i.g8)(c):null,k="command-code"===a?(0,j.nK)(b):{kind:"none"};if("unsupported"===k.kind)return{promptCheck:{isPrompt:!1,cleanContent:c},isCommandCodeQuestion:!1,refusal:{reason:u,message:"A Command Code question is on screen, but its option list could not be read, so no key was sent. Answer it in the terminal, or retry once the screen has settled."},presence:{present:!1,dialog:null,mode:m[a]??"legacy",gated:!1}};let l="antigravity"===a&&null===f&&(0,i.bf)(c),n="prompt"===k.kind,o=("prompt"===k.kind?k.prompt:null)??f??(l?{isPrompt:!1,cleanContent:c}:(0,g.gF)(c,(0,h.KO)(a))),p=(0,d.zJ)(b,a),q=(0,e.z8)(p.liveRegion,o)?{isPrompt:!1,cleanContent:c}:o,r=t(a,q.promptData?.type,p);return{promptCheck:q,isCommandCodeQuestion:n,refusal:function(a,b){if(a.isPrompt&&b.present)return null;let c=a.promptData;return a.isPrompt&&b.gated&&c?.type==="multiple_choice"&&!0===c.isAskUserQuestion?{reason:u,message:"An AskUserQuestion picker is on screen, but its layout could not be verified as one of the agent's dialogs, so no key was sent. Answer it in the terminal, or retry once the screen has settled."}:{reason:"prompt_no_longer_active"}}(q,r),presence:r}}},24680:(a,b,c)=>{function d(a,b){return{status:a,confidence:"high",reason:b,hasActivePrompt:!1,evidence:"positive"}}function e(a,b,c){return{status:a,confidence:"high",reason:b,hasActivePrompt:!1,evidence:"positive",promptDetection:c}}function f(a,b){return{status:"waiting",confidence:"high",reason:a,hasActivePrompt:!0,evidence:"positive",promptDetection:b}}function g(a,b){return{status:"running",confidence:"low",reason:a,hasActivePrompt:!1,evidence:"none",promptDetection:b}}c.d(b,{Ru:()=>g,Xx:()=>e,_D:()=>f,dX:()=>d})},26895:(a,b,c)=>{c.d(b,{gF:()=>p,xn:()=>i});var d=c(72626),e=c(69119),f=c(67121),g=c(68652),h=c(81671);function i(a,b="yes_no"){let c=a.toLowerCase().trim();if("multiple_choice"===b){if(/^\d+$/.test(c))return c;throw Error("Invalid answer for multiple choice prompt. Expected a number.")}if("yes"===c||"y"===c)return"y";if("no"===c||"n"===c)return"n";throw Error("Invalid answer for yes/no prompt. Expected 'yes', 'no', 'y', or 'n'.")}let j=(0,d.h)("prompt-detector"),k=null,l=[{regex:/^(.+)\s+\(y\/n\)\s*$/m},{regex:/^(.+)\s+\[y\/N\]\s*$/m,defaultOption:"no"},{regex:/^(.+)\s+\[Y\/n\]\s*$/m,defaultOption:"yes"},{regex:/^(.+)\s+\(yes\/no\)\s*$/m}];function m(a,b,c){let d=c.index??0,e=a=>a.split("\n").length-1,f=b+e(a.slice(0,d));return{startLine:f,endLine:f+e(c[0])}}let n=/^(.*?)Approve\?\s*$/m;function o(a,b,c,{approvalTarget:d,approvalContext:e},f){return{isPrompt:!0,promptData:{type:"yes_no",question:a,options:["yes","no"],status:"pending",...void 0!==f&&{defaultOption:f},instructionText:c,...void 0!==d&&{approvalTarget:d},...void 0!==d&&"truncated"===e.completeness&&{approvalTargetCompleteness:"truncated"}},cleanContent:b,rawContent:c,approvalContext:e}}function p(a,b){let c=(0,g.N)(a),d=c===a&&b?.precomputedLines?b.precomputedLines:c.split("\n"),i=d.slice(-50).join("\n"),p=i===k;p||j.debug("detectPrompt:start",{outputLength:c.length}),k=i;let q=d.slice(-20).join("\n"),r=Math.max(0,d.length-20),s=(0,e.rS)(c,b,h.O8);if(s.isPrompt)return p||j.info("detectPrompt:multipleChoice",{isPrompt:!0,question:s.promptData?.question,optionsCount:s.promptData?.options?.length}),s;let t=q.trim(),u=function(a,b){let c=[];return[...l.map(a=>({regex:a.regex,defaultOption:a.defaultOption,approve:!1})),{regex:n,defaultOption:void 0,approve:!0}].forEach((d,e)=>{let f=RegExp(d.regex.source,`${d.regex.flags}g`);for(let g of a.matchAll(f)){let{startLine:f,endLine:h}=m(a,b,g);c.push({match:g,defaultOption:d.defaultOption,approve:d.approve,startLine:f,endLine:h,offset:g.index??0,order:e})}}),c.sort((a,b)=>a.endLine-b.endLine||a.offset-b.offset||a.order-b.order),c}(q,r),v=u[u.length-1];if(v){let a=function(a,b,c,d,g=[]){let{startLine:h,endLine:i}=m(b,c,d),j=(0,f.hK)(a,h,i+1),k=g.some(a=>a.endLine>=j.start&&a.endLine<h);return{approvalTarget:(0,e.ZH)(a,j.start,i+1),approvalContext:{startRow:j.start,endRow:i+1,completeness:k?"truncated":j.completeness}}}(d,q,r,v.match,u.slice(0,-1));if(v.approve){let b=v.match[1].trim();return o(b?`${b} Approve?`:"Approve?",b||"Approve?",t,a)}let b=v.match[1].trim();return o(b,b,t,a,v.defaultOption)}return p||j.debug("detectPrompt:complete",{isPrompt:!1}),{isPrompt:!1,cleanContent:c.trim()}}},28861:(a,b,c)=>{c.d(b,{FI:()=>v,Ye:()=>t,bf:()=>u,g8:()=>n});var d=c(42422),e=c(69119),f=c(68652),g=c(682),h=c(69082),i=c(81671);let j=/^\s*●\s/,k=/^\s*─{3,}\s*$/,l=/[??]\s*$/;function m(a){let b=(0,d.dx)(a);if(null===b||!h.cR.test(a[b.footer]))return null;let c=a.slice(b.start,b.footer);if(c.some(a=>d.d0.test(a)))return null;let e=(0,g.c)(c,c.length,12);if(null===e)return null;let f=[...e.options];if(""!==e.footer){let a=f.length-1;f[a]=[f[a],...e.footer.split("\n")].join(" ").trim()}let i=b.start+e.firstRow,j=-1,m=-1,n=0;for(let c=i-1;c>=b.start&&n<3;c--){let b=a[c];if(""!==b.trim()){if(d.OM.test(b)||k.test(b))break;if(n++,m<0&&(m=c),l.test(b)){j=c;break}}}return j<0&&(j=m),{question:j<0?"Please select an option:":a[j].trim(),options:f,selectedIndex:e.selectedIndex,questionRow:j<0?i:j,firstOptionRow:i,footerRow:b.footer}}function n(a){let b=(0,f.N)(a),c=b.split("\n"),g=m(c);if(null===g)return null;let h=(0,e.HD)(c,g.questionRow,g.footerRow);return(0,e.xe)(g.question,g.options.map((a,b)=>({number:b+1,label:a,isDefault:b===g.selectedIndex})),{instructionText:function(a,b){let c=(0,d.dx)(a),e=c?.start??b.questionRow,f=Math.max(0,b.questionRow-40);for(let c=b.questionRow-1;c>=f;c--)if(j.test(a[c])){e=c+1;break}let g=a.slice(e,b.footerRow+1).filter(a=>!k.test(a)).map(a=>a.trimEnd()).join("\n").trim();return g.length>0?g:void 0}(c,g),approvalTarget:(0,e.ZH)(c,h.start,g.footerRow),approvalContext:{startRow:h.start,endRow:g.footerRow,completeness:h.completeness}},b,i.O8)}let o=/^\s*(>)?\s*(\d+)\.\s+\S/,p=/^\s*esc Cancel\s*·\s*\d+-\d+\s+Select\b/,q=/↑\/↓/,r=/^\s*(?:Requesting permission for:|Do you want to proceed\?)\s*$/;function s(a){let b=(0,f.N)(a).split("\n"),c=-1;for(let a=b.length-1;a>=0;a--){if(h.lE.test(b[a]))return null;if(o.test(b[a])){c=a;break}}if(c<0)return null;let e=o.exec(b[c]),g=Number(e[2]),i=g,j=void 0!==e[1],k=!1,l=c,m=Math.max(0,c-40);for(let a=c-1;a>=m&&i>1;a--){let c=o.exec(b[a]);if(null===c){if(d.OM.test(b[a]))break;continue}let e=Number(c[2]);if(e>=i)break;e!==i-1&&(k=!0),i=e,l=a,void 0!==c[1]&&(j=!0)}let n=!1;for(let a=l-1;a>=Math.max(0,l-40)&&!d.OM.test(b[a]);a--)if(r.test(b[a])){n=!0;break}let s=b.slice(c+1).filter(a=>""!==a.trim());return{lines:b,bottom:g,lowest:i,gap:k,highlighted:j,feedbackFooter:s.length>0&&p.test(s[0]),navigateFooter:s.some(a=>q.test(a)),permissionHeading:n}}function t(a){let b=s(a);return null!==b&&!(b.bottom<2)&&1===b.lowest&&!b.gap&&!!b.highlighted&&!b.feedbackFooter&&null===m(b.lines)}function u(a){let b=s(a);return null!==b&&!(b.bottom<2)&&!b.feedbackFooter&&(1!==b.lowest||!!b.gap||!!b.highlighted||!!b.navigateFooter||!!b.permissionHeading)&&null===m(b.lines)}function v(a){return s(a)?.feedbackFooter===!0}},31239:(a,b,c)=>{c.d(b,{$y:()=>e,ds:()=>i});let d=[/^[^\S\n]*type\s+something\b/i];function e(a){return!0===a.requiresTextInput&&d.some(b=>b.test(a.label))}function f(a){if(!a)return null;let b=a.decisionId;return"string"==typeof b&&""!==b?b:null}function g(a){return Array.isArray(a.decisionOptions)&&a.decisionOptions.length>0}let h={kind:"unreadable",heading:{kind:"unreadable"},choices:[],multiSelect:!1,freeText:null,decisionId:null,apiTarget:null};function i(a){if(null==a)return null;if("unclassified"!==a.type){let b=function(a){let b=Array.isArray(a.options)?a.options:[],c=[];for(let d of b){if("string"==typeof d){c.push({answer:d,label:d,isDefault:a.defaultOption===d,takesText:!1});continue}d&&"object"==typeof d&&"number"==typeof d.number&&"string"==typeof d.label&&c.push({answer:String(d.number),label:d.label,isDefault:!0===d.isDefault,takesText:e({label:d.label,requiresTextInput:!0===d.requiresTextInput}),..."string"==typeof d.description?{description:d.description}:{}})}return c}(a);return{kind:"screen-choices",heading:{kind:"question",text:"string"==typeof a.question?a.question:""},choices:b,multiSelect:!0===a.multiSelect,freeText:b.some(a=>a.takesText)?{via:"screen"}:null,decisionId:null,apiTarget:null}}let b=f(a);if(null!==b&&g(a)){let c=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)c&&"number"==typeof c.number&&"string"==typeof c.label&&b.push({answer:String(c.number),label:c.label,isDefault:!1,takesText:!1});return b}(a.decisionOptions);if(c.length>0)return{kind:"api-choices",heading:{kind:"approval",toolName:"string"==typeof a.toolName&&a.toolName?a.toolName:null},choices:c,multiSelect:!1,freeText:null,decisionId:b,apiTarget:"approval"}}let c=function(a){if(!a||null===f(a)||g(a))return null;let b=a.askUserQuestion;if(!b||"string"!=typeof b.question||""===b.question||!Array.isArray(b.labels)||0===b.labels.length)return null;let c=b.labels.filter(a=>"string"==typeof a&&""!==a);if(c.length!==b.labels.length)return null;let d="number"==typeof b.questionCount?b.questionCount:1;return 1!==d?null:{question:b.question,labels:c,questionCount:d,...!0===b.custom?{custom:!0}:{}}}(a);return null!==b&&null!==c?{kind:"api-choices",heading:{kind:"agent-question",text:c.question},choices:c.labels.map((a,b)=>({answer:String(b+1),label:a,isDefault:!1,takesText:!1})),multiSelect:!1,freeText:!0===c.custom?{via:"api"}:null,decisionId:b,apiTarget:"question"}:h}},31990:(a,b,c)=>{c.d(b,{Wh:()=>V,WD:()=>W,Lw:()=>$,Qj:()=>U,K1:()=>T,N5:()=>Z,UM:()=>Y,eB:()=>X});var d=c(8360),e=c(72626),f=c(79892);let g={streamingOutput:!1,explicitResize:!1,snapshotFallback:!0};class h{async unsubscribe(){}}class i{async ensureSession(a,b){await (0,f.N)(a)||await (0,f.jw)(a,b)}async sessionExists(a){return(0,f.N)(a)}async sendInput(a,b){await (0,f.V1)(a,b)}async sendSpecialKey(a,b){if("Escape"!==b&&"C-c"!==b&&"C-d"!==b&&"C-m"!==b&&"Enter"!==b)throw Error(`Unsupported special key for PollingTmuxTransport: ${b}`);await (0,f.ds)(a,b)}async resize(){throw Error("PollingTmuxTransport does not support explicit resize")}async captureSnapshot(a,b){return(0,f.Xg)(a,b)}async subscribe(){return new h}getCapabilities(){return g}async killSession(a){return(0,f.fY)(a)}}let j=null;var k=c(93997),l=c(79646),m=c(28354),n=c(31442),o=c(29021),p=c(21820),q=c(33873),r=c(16983);let s="cm-live-restore.sh",t="cm-live-delegate.sh",u="cm-auto-popup.sh",v=`#!/bin/sh
|
|
1
|
+
"use strict";exports.id=720,exports.ids=[720,1990],exports.modules={905:(a,b,c)=>{c.d(b,{bN:()=>ai});var d=c(42422),e=c(24680),f=c(37717),g=c(52112),h=c(91010),i=c(1804),j=c(28861);let k=i.yh,l=(0,e.dX)("waiting",f.g.ANTIGRAVITY_SELECTION_LIST),m=/[\u2800-\u28FF]|Generating/,n={status:"running",confidence:"low",reason:f.g.UNKNOWN_FRAME,hasActivePrompt:!1,evidence:"none"},o=(0,h.b)({tool:"antigravity",verifiedAgainst:k,liveRegion:g.H,beforePrompt(a){if(function(a){let b=a.slice(-3),c=b.findIndex(a=>d.HR.test(a));if(c<0)return!1;let{promptPattern:e}=(0,d._X)("antigravity");return!b.slice(c+1).some(a=>e.test(a))}(a.contentLines))return l;if(!d.kT.test(a.lastLines))return m.test(a.thinkingLines)?null:(0,j.Ye)((0,d._A)(a.clean))?n:null;if(!function(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a--)if(d.kT.test(b[a])){c=a;break}if(c<0)return!1;let{promptPattern:e}=(0,d._X)("antigravity");return!b.slice(c+1).some(a=>e.test(a))}(a.lastLines))return null;let b=(0,d._A)(a.clean);if((0,d.bH)(b)){let a=(0,j.g8)(b);return null!==a?(0,e._D)(f.g.PROMPT_DETECTED,a):n}return l},afterThinking(a){if((0,d.ut)("antigravity",a.lastLines))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let{promptPattern:b}=(0,d._X)("antigravity");return b.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null}});var p=c(93923),q=c(32236),r=c(91478),s=c(96742),t=c(682);let u=/^\s*↑\/↓\s+navigate\s+·\s+enter\s+select\s+·.*\bto\s+bypass\s+all\s+permissions\b/;var v=c(69130),w=c(61878);let x=i.ji,y=(0,h.b)({tool:"command-code",verifiedAgainst:x,liveRegion:v.E,beforePrompt(a){if((0,w.Yc)(a,"command-code").composerAtBottom)return null;if((0,r.tH)(a.lastLines)||(0,r.a9)(a.lastLines))return(0,e.dX)("waiting",f.g.COMMAND_CODE_PLAN_REVIEW);let b=(0,s.nK)(a.raw);return"prompt"===b.kind?(0,e._D)(f.g.PROMPT_DETECTED,b.prompt):"unsupported"===b.kind?(0,e.dX)("waiting",f.g.COMMAND_CODE_SELECTION_LIST):null},afterPrompt:a=>(0,r.yt)(a.lastLines)?(0,e.dX)("waiting",f.g.COMMAND_CODE_DISMISSABLE_PANEL):(0,r.sl)(a.lastLines)?(0,e.dX)("waiting",f.g.COMMAND_CODE_SELECTION_LIST):null,detectDialog:a=>(function(a){let b=a.contentLines,c=b[b.length-1];if(void 0===c||!u.test(c))return null;let d=(0,t.c)(b,b.length,1);return null===d||d.footer!==c.trim()||"❯"!==d.selectedGlyph?null:{kind:"permission",options:d.options,answerMode:"numbered",submitMode:"answer_only"}})(a),afterThinking(a){if((0,d.ut)("command-code",a.lastLines))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let{promptPattern:b}=(0,d._X)("command-code");return b.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null}});var z=c(26895),A=c(50435);let B=/do you want to\b/i;var C=c(83342);function D(a){return(0,z.gF)((0,d._A)(a),(0,d.KO)("copilot"))}let E=i.MJ,F=(0,h.b)({tool:"copilot",verifiedAgainst:E,liveRegion:C.b,beforePrompt(a){if((0,d.gT)(a.contentLines)){let b=D(a.clean);return b.isPrompt&&(b.promptData?.options?.length??0)<=3?(0,e._D)(f.g.PROMPT_DETECTED,b):(0,e.Xx)("waiting",f.g.COPILOT_SELECTION_LIST,b)}if("working"===(0,d.Wn)(a.contentLines)){let b=D(a.clean);return(0,e.Xx)("running",f.g.THINKING_INDICATOR,b)}return null},afterThinking:a=>"idle"===(0,d.Wn)(a.contentLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null,skipGenericInputPrompt:!0,readIdleEvidence:function(a){return"idle"===(0,d.Wn)(a.contentLines)?"positive":"none"},detectDialog:a=>(function(a,b){if(null!==b.statusBar)return null;let c=(0,d._A)(a.clean).split("\n"),e=(0,t.c)(c,b.contentEnd);if(e&&d.V.test(e.footer)){var f;let a=(f=e.firstRow,(0,A.r)(c,f,-1));return{kind:d.rX.some(b=>a.includes(b))?"trust":B.test(a)?"permission":"picker",options:e.options,answerMode:"numbered"}}return b.selectionFrame?{kind:"picker",options:[],answerMode:"keys"}:null})(a,{statusBar:(0,d.Wn)(a.contentLines),selectionFrame:(0,d.gT)(a.contentLines),contentEnd:a.contentLines.length}),unreadableReason:f.g.UNKNOWN_FRAME});var G=c(76777),H=c(50524);let I=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-9;]*m/g,J=/^(?:\x1b\[|\[)([0-9;]*)m$/,K=new Set([38,48,58]);function L(a){let b;I.lastIndex=0;let c=[],d="",e=null,f=0,g=0,h=0;for(;null!==(b=I.exec(a));){let i=a.slice(h,b.index);d+=i,f+=(0,H.LQ)(i),h=b.index+b[0].length;let j=J.exec(b[0]);if(null===j)continue;let k=function(a,b){let c=(""===b?"0":b).split(";"),d=a;for(let a=0;a<c.length;a++){let b=Number(""===c[a]?"0":c[a]);if(Number.isFinite(b)){if(K.has(b)){let e="2"===c[a+1]?4:2*("5"===c[a+1]);e>0&&48===b&&(d=c.slice(a,a+1+e).join(";")),a+=e;continue}0===b||49===b?d=null:(b>=40&&b<=47||b>=100&&b<=107)&&(d=c[a])}}return d}(e,j[1]);k!==e&&(f>g&&c.push({bg:e,start:g,end:f}),e=k,g=f)}let i=a.slice(h);d+=i,(f+=(0,H.LQ)(i))>g&&c.push({bg:e,start:g,end:f});let j=new Set(c.map(a=>a.start));return c.length>0&&j.add(c[c.length-1].end),{text:d,segments:c,edges:j,width:f}}function M(a,b){for(let c of a.segments)if(c.start<=b&&b<c.end)return c.bg;return null}let N=/\S[^\S\n]{2,}esc[^\S\n]*$/,O=/^[│┃╹]/;function P(a,b,c){if(!a.edges.has(b)||!a.edges.has(c))return!1;for(let d of a.segments)if(!(d.end<=b)&&!(d.start>=c)&&null===d.bg)return!1;return!(M(a,b-1)===M(a,b)||c<a.width&&M(a,c)===M(a,c-1)||O.test((0,H.Ml)(a.text,b-1,b)))&&!O.test((0,H.Ml)(a.text,b,c))}function Q(a){let b=function(a){let b=a.split("\n").map(L),c=new Set,d=null;for(let a of b){if(!a.text.includes("esc"))continue;let e=[...a.edges].sort((a,b)=>a-b);for(let f of e)if(!(f<1))for(let g of e){if(g-f<16)continue;let e=`${f}:${g}`;if(c.has(e)||!P(a,f,g))continue;let h=(0,H.Ml)(a.text,f,g);if(!N.test(h))continue;c.add(e);let i=b.filter(a=>P(a,f,g));if(i.length<3)continue;let j=i.indexOf(a);j<0||j>=3||(null===d||i.length>d.rows)&&(d={id:"opencode_modal_overlay",headerText:(0,G.D)(h.trim(),200,"…[truncated]"),left:f,right:g,rows:i.length,headerRow:j,frameRowStart:b.indexOf(i[0]),frameRowEnd:b.indexOf(i[i.length-1])})}}return d}(a);return null===b?null:{id:b.id,headerText:b.headerText,left:b.left,right:b.right,rows:b.rows,headerRow:b.headerRow}}let R=/\s{2,}/;var S=c(89021),T=c(46423);let U=i.BG;function V(a){let b=(0,d._A)(a.clean).split("\n"),c=Math.max(0,b.length-7);for(let a=b.length-1;a>=Math.max(0,b.length-10);a--)if(/ctrl\+[tp]/.test(b[a])){c=Math.max(0,a-2);break}let e=b.slice(0,c),f=e.length-1;for(;f>=0&&""===e[f].trim();)f--;return{candidates:e,lastIndex:f}}let W=(0,h.b)({tool:"opencode",verifiedAgainst:U,liveRegion:S.m,afterThinking(a){if(d.Ty.test(a.lastLines))return(0,e.dX)("waiting",f.g.OPENCODE_PERMISSION_PROMPT);if(d.kD.test(a.lastLines))return(0,e.dX)("running",f.g.OPENCODE_PROCESSING_INDICATOR);let{candidates:b,lastIndex:c}=V(a);if(c<0)return null;let g=b.slice(Math.max(0,c-T.$+1),c+1).join("\n");if((0,d.ut)("opencode",g))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let h=b.slice(Math.max(0,c-w.h9+1),c+1).join("\n");if(d.LO.test(b.join("\n")))return(0,e.dX)("waiting",f.g.OPENCODE_SELECTION_LIST);if(null!==Q(a.raw))return(0,e.dX)("waiting",f.g.OPENCODE_MODAL_OVERLAY);if(d.$t.test(h))return(0,e.dX)("ready",f.g.OPENCODE_RESPONSE_COMPLETE);let i=a.lines.slice(Math.max(0,c-w.h9+1),c+1).join("\n");return d.vU.test(i)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null},skipGenericInputPrompt:!0,readIdleEvidence:function(a){let{candidates:b,lastIndex:c}=V(a);if(c<0)return"none";let e=b.slice(Math.max(0,c-w.h9+1),c+1).join("\n");if(d.$t.test(e))return"positive";let f=a.lines.slice(Math.max(0,c-w.h9+1),c+1).join("\n");return d.vU.test(f)?"positive":"none"},detectDialog(a){var b;let{candidates:c}=V(a);return b={contentWindow:c.join("\n")},d.Ty.test(a.lastLines)?{kind:"permission",options:function(a){for(let b of a.lines){let a=d.Ty.exec(b);if(a)return a[0].replace(/^[^\S\n]*[│┃][^\S\n]*/,"").trim().split(R).map(a=>a.trim()).filter(a=>""!==a)}return[]}(a),answerMode:"keys"}:d.LO.test(b.contentWindow)||null!==Q(a.raw)?{kind:"picker",options:[],answerMode:"keys"}:null},unreadableReason:f.g.UNKNOWN_FRAME});var X=c(58546);let Y=i.u3,Z=/^[^\S\n]*[│┃][^\S\n]*Allow once[^\S\n]{2,}Always allow[^\S\n]{2,}Reject\b/m,$=/^[^\S\n]*[│┃][^\S\n]*↑↓ select[^\S\n]+enter submit[^\S\n]+esc dismiss\b/m,_=/^[^\S\n│┃]*[A-Za-z][\w-]*(?: [\w-]+)* · [^\n]+? · \d+(?:\.\d+)?(?:ms|s|m(?: \d+s)?)(?: · [\d.]+ tok\/s)?[^\S\n]*$/,aa=["Allow once","Always allow","Reject"],ab=/^[^\S\n]*[│┃]/,ac=/^[^\S\n]*[│┃][^\S\n]*(\d+)\.[^\S\n]+(\S.*?)[^\S\n]*$/,ad=(0,h.b)({tool:"opencode-v2",verifiedAgainst:Y,liveRegion:X.R,requireVouchedPrompt:!0,beforePrompt:a=>Z.test(a.lastLines)?(0,e.dX)("waiting",f.g.OPENCODE_PERMISSION_PROMPT):$.test(a.lastLines)?(0,e.dX)("waiting",f.g.OPENCODE_SELECTION_LIST):null!==(0,d.dF)((0,d.aJ)(a.raw))?(0,e.dX)("waiting",f.g.OPENCODE_MODAL_OVERLAY):null,afterThinking:a=>(0,d.ut)("opencode-v2",a.lastLines)?(0,e.dX)("running",f.g.THINKING_INDICATOR):!function(a){let b=a.contentLines;for(let a=b.length-1;a>=0;a--){var c;if(c=b[a],!(/^[\s│┃╹▀]*$/.test(c)||/^[^\S\n]*[│┃][^\S\n]*[A-Za-z][\w-]* · [^·\n]+$/.test(c)||d.c7.test(c)||/^\s*\d+\.\d+\.\d+\s*$/.test(c)))return _.test(b[a])}return!1}(a)?d.wK.test((0,d.aJ)(a.raw))||d.c7.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null:(0,e.dX)("ready",f.g.OPENCODE_RESPONSE_COMPLETE),detectDialog(a){if(Z.test(a.lastLines))return{kind:"permission",options:aa,answerMode:"keys"};let b=function(a){if(!$.test(a.lastLines))return null;let b=a.contentLines,c=-1;for(let a=b.length-1;a>=0;a--)if($.test(b[a])){c=a;break}if(c<0)return null;let d=[];for(let a=c-1;a>=0&&ab.test(b[a]);a--){let c=ac.exec(b[a]);c&&d.unshift(`${c[1]}. ${c[2]}`)}return d.length<2||!d.every((a,b)=>a.startsWith(`${b+1}. `))?null:{kind:"question",options:d,answerMode:"numbered",submitMode:"answer_only"}}(a);return null!==b?b:null!==(0,d.dF)((0,d.aJ)(a.raw))?{kind:"picker",options:[],answerMode:"keys"}:null}});function ae(a){return(0,h.b)({tool:a,verifiedAgainst:i.hB})}let af=ae("gemini"),ag=ae("vibe-local"),ah={claude:p.zu,codex:q.q,copilot:F,opencode:W,antigravity:o,"command-code":y,"opencode-v2":ad,gemini:af,"vibe-local":ag};function ai(a){return ah[a]??ae(a)}Object.values(ah)},16402:(a,b,c)=>{c.d(b,{Xc:()=>r,dd:()=>v,j4:()=>q,r_:()=>n,vm:()=>t});var d=c(61878),e=c(70605),f=c(905),g=c(26895),h=c(42422),i=c(28861),j=c(96742),k=c(73495);let l=["enforce","legacy"],m={claude:"enforce",codex:"enforce",copilot:"enforce",opencode:"enforce",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy","opencode-v2":"enforce"};function n(a,b,c,e=process.env){let g=function(a,b=process.env){let c=b.CM_AUTOYES_DIALOG_GATE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();l.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??m[a]??"legacy"}(a,e),h="yes_no"===b?function(a,b,c){let e=(0,f.bN)(a);if(!e.hasDialogRules||"legacy"===c)return{present:!0,dialog:null,mode:c,gated:!1};let g=e.detectDialog("string"==typeof b?(0,d.zJ)(b,a):b);return{present:null!==g,dialog:g,mode:c,gated:!0}}(a,c,g):o(a,b,c,g);return{allowed:!h.gated||null!==h.dialog&&"numbered"===h.dialog.answerMode,dialog:h.dialog,mode:h.mode,gated:h.gated}}function o(a,b,c,e){let g=(0,f.bN)(a);if("multiple_choice"!==b||!g.hasDialogRules||"legacy"===e)return{present:!0,dialog:null,mode:e,gated:!1};let h=g.detectDialog("string"==typeof c?(0,d.zJ)(c,a):c);return{present:null!==h,dialog:h,mode:e,gated:!0}}let p=new Set(["question"]);function q(a,b,c){return b?.gated===!0&&null!==b.dialog&&p.has(b.dialog.kind)?"question-form":"multiple_choice"!==a.type?null:!0===a.isAskUserQuestion?"picker":void 0!==c&&s.has(c)&&"not-a-permission-dialog"===(0,k.Me)(a.options,c).kind?"unidentified":null}function r(a,b){return null===a?"base-rules":"question-form"===a||"careful"===b?"left-to-human":"picker"===a?"recommended-choice":"base-rules"}let s=new Set(["copilot","codex"]);function t(a,b,c){return o(a,b,c,m[a]??"legacy")}let u="unsupported_dialog_layout";function v(a,b){let c=(0,h._A)((0,h.aJ)(b)),f="antigravity"===a?(0,i.g8)(c):null,k="command-code"===a?(0,j.nK)(b):{kind:"none"};if("unsupported"===k.kind)return{promptCheck:{isPrompt:!1,cleanContent:c},isCommandCodeQuestion:!1,refusal:{reason:u,message:"A Command Code question is on screen, but its option list could not be read, so no key was sent. Answer it in the terminal, or retry once the screen has settled."},presence:{present:!1,dialog:null,mode:m[a]??"legacy",gated:!1}};let l="antigravity"===a&&null===f&&(0,i.bf)(c),n="prompt"===k.kind,o=("prompt"===k.kind?k.prompt:null)??f??(l?{isPrompt:!1,cleanContent:c}:(0,g.gF)(c,(0,h.KO)(a))),p=(0,d.zJ)(b,a),q=(0,e.z8)(p.liveRegion,o)?{isPrompt:!1,cleanContent:c}:o,r=t(a,q.promptData?.type,p);return{promptCheck:q,isCommandCodeQuestion:n,refusal:function(a,b){if(a.isPrompt&&b.present)return null;let c=a.promptData;return a.isPrompt&&b.gated&&c?.type==="multiple_choice"&&!0===c.isAskUserQuestion?{reason:u,message:"An AskUserQuestion picker is on screen, but its layout could not be verified as one of the agent's dialogs, so no key was sent. Answer it in the terminal, or retry once the screen has settled."}:{reason:"prompt_no_longer_active"}}(q,r),presence:r}}},24680:(a,b,c)=>{function d(a,b){return{status:a,confidence:"high",reason:b,hasActivePrompt:!1,evidence:"positive"}}function e(a,b,c){return{status:a,confidence:"high",reason:b,hasActivePrompt:!1,evidence:"positive",promptDetection:c}}function f(a,b){return{status:"waiting",confidence:"high",reason:a,hasActivePrompt:!0,evidence:"positive",promptDetection:b}}function g(a,b){return{status:"running",confidence:"low",reason:a,hasActivePrompt:!1,evidence:"none",promptDetection:b}}c.d(b,{Ru:()=>g,Xx:()=>e,_D:()=>f,dX:()=>d})},26895:(a,b,c)=>{c.d(b,{gF:()=>p,xn:()=>i});var d=c(72626),e=c(90304),f=c(67121),g=c(68652),h=c(81671);function i(a,b="yes_no"){let c=a.toLowerCase().trim();if("multiple_choice"===b){if(/^\d+$/.test(c))return c;throw Error("Invalid answer for multiple choice prompt. Expected a number.")}if("yes"===c||"y"===c)return"y";if("no"===c||"n"===c)return"n";throw Error("Invalid answer for yes/no prompt. Expected 'yes', 'no', 'y', or 'n'.")}let j=(0,d.h)("prompt-detector"),k=null,l=[{regex:/^(.+)\s+\(y\/n\)\s*$/m},{regex:/^(.+)\s+\[y\/N\]\s*$/m,defaultOption:"no"},{regex:/^(.+)\s+\[Y\/n\]\s*$/m,defaultOption:"yes"},{regex:/^(.+)\s+\(yes\/no\)\s*$/m}];function m(a,b,c){let d=c.index??0,e=a=>a.split("\n").length-1,f=b+e(a.slice(0,d));return{startLine:f,endLine:f+e(c[0])}}let n=/^(.*?)Approve\?\s*$/m;function o(a,b,c,{approvalTarget:d,approvalContext:e},f){return{isPrompt:!0,promptData:{type:"yes_no",question:a,options:["yes","no"],status:"pending",...void 0!==f&&{defaultOption:f},instructionText:c,...void 0!==d&&{approvalTarget:d},...void 0!==d&&"truncated"===e.completeness&&{approvalTargetCompleteness:"truncated"}},cleanContent:b,rawContent:c,approvalContext:e}}function p(a,b){let c=(0,g.N)(a),d=c===a&&b?.precomputedLines?b.precomputedLines:c.split("\n"),i=d.slice(-50).join("\n"),p=i===k;p||j.debug("detectPrompt:start",{outputLength:c.length}),k=i;let q=d.slice(-20).join("\n"),r=Math.max(0,d.length-20),s=(0,e.rS)(c,b,h.O8);if(s.isPrompt)return p||j.info("detectPrompt:multipleChoice",{isPrompt:!0,question:s.promptData?.question,optionsCount:s.promptData?.options?.length}),s;let t=q.trim(),u=function(a,b){let c=[];return[...l.map(a=>({regex:a.regex,defaultOption:a.defaultOption,approve:!1})),{regex:n,defaultOption:void 0,approve:!0}].forEach((d,e)=>{let f=RegExp(d.regex.source,`${d.regex.flags}g`);for(let g of a.matchAll(f)){let{startLine:f,endLine:h}=m(a,b,g);c.push({match:g,defaultOption:d.defaultOption,approve:d.approve,startLine:f,endLine:h,offset:g.index??0,order:e})}}),c.sort((a,b)=>a.endLine-b.endLine||a.offset-b.offset||a.order-b.order),c}(q,r),v=u[u.length-1];if(v){let a=function(a,b,c,d,g=[]){let{startLine:h,endLine:i}=m(b,c,d),j=(0,f.hK)(a,h,i+1),k=g.some(a=>a.endLine>=j.start&&a.endLine<h);return{approvalTarget:(0,e.ZH)(a,j.start,i+1),approvalContext:{startRow:j.start,endRow:i+1,completeness:k?"truncated":j.completeness}}}(d,q,r,v.match,u.slice(0,-1));if(v.approve){let b=v.match[1].trim();return o(b?`${b} Approve?`:"Approve?",b||"Approve?",t,a)}let b=v.match[1].trim();return o(b,b,t,a,v.defaultOption)}return p||j.debug("detectPrompt:complete",{isPrompt:!1}),{isPrompt:!1,cleanContent:c.trim()}}},28861:(a,b,c)=>{c.d(b,{FI:()=>v,Ye:()=>t,bf:()=>u,g8:()=>n});var d=c(42422),e=c(90304),f=c(68652),g=c(682),h=c(69082),i=c(81671);let j=/^\s*●\s/,k=/^\s*─{3,}\s*$/,l=/[??]\s*$/;function m(a){let b=(0,d.dx)(a);if(null===b||!h.cR.test(a[b.footer]))return null;let c=a.slice(b.start,b.footer);if(c.some(a=>d.d0.test(a)))return null;let e=(0,g.c)(c,c.length,12);if(null===e)return null;let f=[...e.options];if(""!==e.footer){let a=f.length-1;f[a]=[f[a],...e.footer.split("\n")].join(" ").trim()}let i=b.start+e.firstRow,j=-1,m=-1,n=0;for(let c=i-1;c>=b.start&&n<3;c--){let b=a[c];if(""!==b.trim()){if(d.OM.test(b)||k.test(b))break;if(n++,m<0&&(m=c),l.test(b)){j=c;break}}}return j<0&&(j=m),{question:j<0?"Please select an option:":a[j].trim(),options:f,selectedIndex:e.selectedIndex,questionRow:j<0?i:j,firstOptionRow:i,footerRow:b.footer}}function n(a){let b=(0,f.N)(a),c=b.split("\n"),g=m(c);if(null===g)return null;let h=(0,e.HD)(c,g.questionRow,g.footerRow);return(0,e.xe)(g.question,g.options.map((a,b)=>({number:b+1,label:a,isDefault:b===g.selectedIndex})),{instructionText:function(a,b){let c=(0,d.dx)(a),e=c?.start??b.questionRow,f=Math.max(0,b.questionRow-40);for(let c=b.questionRow-1;c>=f;c--)if(j.test(a[c])){e=c+1;break}let g=a.slice(e,b.footerRow+1).filter(a=>!k.test(a)).map(a=>a.trimEnd()).join("\n").trim();return g.length>0?g:void 0}(c,g),approvalTarget:(0,e.ZH)(c,h.start,g.footerRow),approvalContext:{startRow:h.start,endRow:g.footerRow,completeness:h.completeness}},b,i.O8)}let o=/^\s*(>)?\s*(\d+)\.\s+\S/,p=/^\s*esc Cancel\s*·\s*\d+-\d+\s+Select\b/,q=/↑\/↓/,r=/^\s*(?:Requesting permission for:|Do you want to proceed\?)\s*$/;function s(a){let b=(0,f.N)(a).split("\n"),c=-1;for(let a=b.length-1;a>=0;a--){if(h.lE.test(b[a]))return null;if(o.test(b[a])){c=a;break}}if(c<0)return null;let e=o.exec(b[c]),g=Number(e[2]),i=g,j=void 0!==e[1],k=!1,l=c,m=Math.max(0,c-40);for(let a=c-1;a>=m&&i>1;a--){let c=o.exec(b[a]);if(null===c){if(d.OM.test(b[a]))break;continue}let e=Number(c[2]);if(e>=i)break;e!==i-1&&(k=!0),i=e,l=a,void 0!==c[1]&&(j=!0)}let n=!1;for(let a=l-1;a>=Math.max(0,l-40)&&!d.OM.test(b[a]);a--)if(r.test(b[a])){n=!0;break}let s=b.slice(c+1).filter(a=>""!==a.trim());return{lines:b,bottom:g,lowest:i,gap:k,highlighted:j,feedbackFooter:s.length>0&&p.test(s[0]),navigateFooter:s.some(a=>q.test(a)),permissionHeading:n}}function t(a){let b=s(a);return null!==b&&!(b.bottom<2)&&1===b.lowest&&!b.gap&&!!b.highlighted&&!b.feedbackFooter&&null===m(b.lines)}function u(a){let b=s(a);return null!==b&&!(b.bottom<2)&&!b.feedbackFooter&&(1!==b.lowest||!!b.gap||!!b.highlighted||!!b.navigateFooter||!!b.permissionHeading)&&null===m(b.lines)}function v(a){return s(a)?.feedbackFooter===!0}},31239:(a,b,c)=>{c.d(b,{$y:()=>e,ds:()=>i});let d=[/^[^\S\n]*type\s+something\b/i];function e(a){return!0===a.requiresTextInput&&d.some(b=>b.test(a.label))}function f(a){if(!a)return null;let b=a.decisionId;return"string"==typeof b&&""!==b?b:null}function g(a){return Array.isArray(a.decisionOptions)&&a.decisionOptions.length>0}let h={kind:"unreadable",heading:{kind:"unreadable"},choices:[],multiSelect:!1,freeText:null,decisionId:null,apiTarget:null};function i(a){if(null==a)return null;if("unclassified"!==a.type){let b=function(a){let b=Array.isArray(a.options)?a.options:[],c=[];for(let d of b){if("string"==typeof d){c.push({answer:d,label:d,isDefault:a.defaultOption===d,takesText:!1});continue}d&&"object"==typeof d&&"number"==typeof d.number&&"string"==typeof d.label&&c.push({answer:String(d.number),label:d.label,isDefault:!0===d.isDefault,takesText:e({label:d.label,requiresTextInput:!0===d.requiresTextInput}),..."string"==typeof d.description?{description:d.description}:{}})}return c}(a);return{kind:"screen-choices",heading:{kind:"question",text:"string"==typeof a.question?a.question:""},choices:b,multiSelect:!0===a.multiSelect,freeText:b.some(a=>a.takesText)?{via:"screen"}:null,decisionId:null,apiTarget:null}}let b=f(a);if(null!==b&&g(a)){let c=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)c&&"number"==typeof c.number&&"string"==typeof c.label&&b.push({answer:String(c.number),label:c.label,isDefault:!1,takesText:!1});return b}(a.decisionOptions);if(c.length>0)return{kind:"api-choices",heading:{kind:"approval",toolName:"string"==typeof a.toolName&&a.toolName?a.toolName:null},choices:c,multiSelect:!1,freeText:null,decisionId:b,apiTarget:"approval"}}let c=function(a){if(!a||null===f(a)||g(a))return null;let b=a.askUserQuestion;if(!b||"string"!=typeof b.question||""===b.question||!Array.isArray(b.labels)||0===b.labels.length)return null;let c=b.labels.filter(a=>"string"==typeof a&&""!==a);if(c.length!==b.labels.length)return null;let d="number"==typeof b.questionCount?b.questionCount:1;return 1!==d?null:{question:b.question,labels:c,questionCount:d,...!0===b.custom?{custom:!0}:{}}}(a);return null!==b&&null!==c?{kind:"api-choices",heading:{kind:"agent-question",text:c.question},choices:c.labels.map((a,b)=>({answer:String(b+1),label:a,isDefault:!1,takesText:!1})),multiSelect:!1,freeText:!0===c.custom?{via:"api"}:null,decisionId:b,apiTarget:"question"}:h}},31990:(a,b,c)=>{c.d(b,{Wh:()=>V,WD:()=>W,Lw:()=>$,Qj:()=>U,K1:()=>T,N5:()=>Z,UM:()=>Y,eB:()=>X});var d=c(8360),e=c(72626),f=c(79892);let g={streamingOutput:!1,explicitResize:!1,snapshotFallback:!0};class h{async unsubscribe(){}}class i{async ensureSession(a,b){await (0,f.N)(a)||await (0,f.jw)(a,b)}async sessionExists(a){return(0,f.N)(a)}async sendInput(a,b){await (0,f.V1)(a,b)}async sendSpecialKey(a,b){if("Escape"!==b&&"C-c"!==b&&"C-d"!==b&&"C-m"!==b&&"Enter"!==b)throw Error(`Unsupported special key for PollingTmuxTransport: ${b}`);await (0,f.ds)(a,b)}async resize(){throw Error("PollingTmuxTransport does not support explicit resize")}async captureSnapshot(a,b){return(0,f.Xg)(a,b)}async subscribe(){return new h}getCapabilities(){return g}async killSession(a){return(0,f.fY)(a)}}let j=null;var k=c(93997),l=c(79646),m=c(28354),n=c(31442),o=c(29021),p=c(21820),q=c(33873),r=c(16983);let s="cm-live-restore.sh",t="cm-live-delegate.sh",u="cm-auto-popup.sh",v=`#!/bin/sh
|
|
2
2
|
# CommandMate live-attach restore (Issue #2317) — generated file, edits are overwritten.
|
|
3
3
|
#
|
|
4
4
|
# sh ~/.commandmate/bin/${s} <session> [control_mode] [width] [height]
|
|
@@ -100,4 +100,4 @@ if [ -n "$CLIENT" ]; then
|
|
|
100
100
|
else
|
|
101
101
|
tmux display-popup -w 90% -h 85% -E "sh \\"$PAGER_SCRIPT\\" --follow \\"$SESSION\\"" 2>/dev/null || true
|
|
102
102
|
fi
|
|
103
|
-
`;function z(a,b){let c,d=(0,q.join)((0,q.join)((0,p.homedir)(),".commandmate","bin"),a);if((0,o.mkdirSync)((0,q.dirname)(d),{recursive:!0}),(0,o.existsSync)(d))try{c=(0,o.readFileSync)(d,"utf-8")}catch{c=void 0}return c!==b&&(0,o.writeFileSync)(d,b,{mode:493}),(0,o.chmodSync)(d,493),d}var A=c(83598),B=c(36925);let C=(0,m.promisify)(l.execFile),D=(0,e.h)("tmux-session-hooks"),E=(0,B.v)("__cmEnsuredSessionHooks",()=>new Set);async function F(a){if((0,n.N_)(a)&&!E.has(a)){E.add(a);try{if((0,n.gM)()&&(0,n.n9)(a)){z(s,v);let b=(0,n.Rr)(a,z(t,x));b&&await C("tmux",b,{timeout:5e3})}else await C("tmux",(0,n.g4)(a),{timeout:5e3});if((0,n.jx)()){let b=(0,n.Ls)(a,z(u,y));b&&await C("tmux",b,{timeout:5e3})}else await C("tmux",(0,n.sL)(a),{timeout:5e3})}catch(b){D.debug("session-hooks:reconcile-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)})}}}async function G(a){try{if(!await (0,A.Us)(a)||await (0,A.Fh)(a))return!1;for(let b of(0,n.RS)(a))await C("tmux",b,{timeout:5e3});return D.info("session-hooks:geometry-restored",{sessionName:a}),!0}catch(b){return D.debug("session-hooks:geometry-restore-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}let H=(0,m.promisify)(l.execFile),I=(0,e.h)("tmux-session-status"),J=(0,B.v)("__cmPublishedTmuxStatus",()=>new Map),K=(0,B.v)("__cmClearedTmuxStatus",()=>new Set);async function L(a){let{sessionName:b,worktreeId:c,cliToolId:d,instanceId:e,status:f}=a;if(!(0,n.om)())return K.has(b)||(K.add(b),await N(b)),"disabled";let g=J.get(b);if(g&&g.status===f&&g.worktreeId===c&&g.cliToolId===d&&g.instanceId===e)return"unchanged";let h=(a.now??new Date).toISOString(),i=[[n.eC,f],[n.jp,c],[n.wv,d],[n.L0,e],[n.tx,h]];try{for(let[a,c]of i)await H("tmux",(0,n.ND)(b,a,c),{timeout:5e3});return J.set(b,{status:f,worktreeId:c,cliToolId:d,instanceId:e}),await M(b),"written"}catch(a){return J.delete(b),I.debug("session-status:write-failed",{sessionName:b,error:a instanceof Error?a.message:String(a)}),"error"}}async function M(a){try{let{stdout:b}=await H("tmux",(0,n.Ys)(a,"status-right"),{timeout:5e3}),c=b.trim();if(""!==c&&!c.includes(n.lY))return I.debug("session-status:status-right-user-owned",{sessionName:a,existing:c}),!1;return""===c&&await H("tmux",(0,n.KB)(a,n.lY),{timeout:5e3}),!0}catch(b){return I.debug("session-status:status-right-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}async function N(a){for(let b of(J.delete(a),n.bq))try{await H("tmux",(0,n.cD)(a,b),{timeout:5e3})}catch{}try{let{stdout:b}=await H("tmux",(0,n.Ys)(a,"status-right"),{timeout:5e3});b.includes(n.lY)&&await H("tmux",(0,n.$D)(a),{timeout:5e3})}catch{}}let O=(0,e.h)("cli-session");function P(a){globalThis.__captureFrameMetaSink?.getStore()?.(a)}function Q(a){globalThis.__captureHeadCutSink?.getStore()?.(a)}function R(){return j||(j=new i),j}function S(a,b,c){let e=d.CLIToolManager.getInstance().getTool(b),f=e.getSessionName(a,c);return{cliTool:e,sessionName:f}}async function T(a,b,c){let{sessionName:d}=S(a,b,c);return R().sessionExists(d)}async function U(a,b,c){let{sessionName:d}=S(a,b,c);return(0,f.p$)(d)}async function V(a,b,c=1e3,d){let e=O.withContext({worktreeId:a,cliToolId:b});e.debug("captureSessionOutput:start",{requestedLines:c});let{cliTool:f,sessionName:g}=S(a,b,d),h=R();try{let a=await (0,k.aq)(g,c,async()=>{if(!await h.sessionExists(g))throw Error(`${f.name} session ${g} does not exist`);return await h.captureSnapshot(g,{startLine:-k.xE})},P,Q);return e.debug("captureSessionOutput:success",{actualLines:a.split("\n").length,lastFewLines:a.split("\n").slice(-3).join(" | ")}),a}catch(b){let a=b instanceof Error?b.message:String(b);if(a.includes("does not exist"))throw e.debug("captureSessionOutput:sessionNotFound",{sessionName:g}),b;throw e.error("captureSessionOutput:failed",{error:a}),Error(`Failed to capture ${f.name} output: ${a}`)}}async function W(a,b,c=5e3,d){let e=O.withContext({worktreeId:a,cliToolId:b});e.debug("captureSessionOutputFresh:start",{requestedLines:c});let{cliTool:f,sessionName:g}=S(a,b,d),h=R(),i=(0,k.XD)(g),j=Date.now();try{let a=await h.captureSnapshot(g,{startLine:-c});a.length>0?(0,k.Ws)(g,i)&&(0,k.vF)(g,a,c,j):(0,k.gm)(g),P({fetchStartedAt:j,source:"fetched"});let b=globalThis.__captureHeadCutSink?.getStore();return b&&b((0,k.AW)(a,c)),(0,k.wd)(a,c)}catch(b){(0,k.gm)(g);let a=b instanceof Error?b.message:String(b);throw e.error("captureSessionOutputFresh:failed",{error:a}),Error(`Failed to capture ${f.name} output: ${a}`)}}async function X(a,b,c,d){if("Up"!==c&&"Down"!==c&&"Enter"!==c)throw Error(`Unsupported answer key: ${String(c)}`);let{sessionName:e}=S(a,b,d);try{await (0,f.KB)(e,[c])}finally{(0,k.gm)(e)}}async function Y(a,b,c){let{sessionName:d}=S(a,b,c);return(0,f.Hg)(d)}async function Z(a){await F(a.sessionName),(0,n.n9)(a.sessionName)&&await G(a.sessionName),await L(a)}function $(a){J.delete(a),K.delete(a),E.delete(a),(0,A.G9)(a)}},32236:(a,b,c)=>{c.d(b,{q:()=>y,AD:()=>z});var d=c(42422),e=c(26895),f=c(24680),g=c(37717),h=c(65912),i=c(682),j=c(50435);let k={"hooks-review":"permission","hooks-list":"picker","hooks-detail":"picker",update:"update",trust:"trust"};var l=c(61878),m=c(85237),n=c(27789),o=c(91010),p=c(1804),q=c(46423);function r(a){return(0,e.gF)((0,d._A)(a),(0,d.KO)("codex"))}let s=p.jP,t=/press\s+(?:number|enter)\s+to\s+confirm/i,u=/^\s*[❯›●]?\s*\d{1,2}[.)]\s/;function v(a){let b=(0,m.Ut)(a),c=b>=0?b:a.length,e=-1,f=-1;for(let b=0;b<c;b++){let c=a[b],g=c.trim();""!==g&&((t.test(g)||u.test(g))&&(e=b),(0,d.ut)("codex",c)&&(f=b))}return e>=0&&f>e}function w(a){return(0,h.kp)(a)?.kind==="option"}function x(a,b){let c=(0,l.Yc)(a,"codex");return"composer"!==c.anchor||c.composerEndRow!==b?b:c.startRow}let y=(0,o.b)({tool:"codex",verifiedAgainst:s,liveRegion:m.YH,beforePrompt(a){let{contentLines:b}=a;if((0,l.Yc)(a,"codex").composerAtBottom)return null;if(d.pn.test(a.lastLines))return(0,f.Xx)("waiting",g.g.CODEX_PAGER,r(a.clean));let c=(0,d.E6)((0,l.j4)(a,"codex"));if("hooks-list"===c||"hooks-detail"===c)return(0,f.Xx)("waiting",g.g.CODEX_HOOKS_REVIEW,r(a.clean));let e=(0,m.Bh)(b)-1;if(e>=0){let c=b.slice(Math.max(0,e-l.h9+1),e+1).join("\n"),h=b[e].trim();if(d.Jn.test(c)||d.ir.test(h)||d.bh.test(h)){let e=r(a.clean);return e.isPrompt&&((e.promptData?.question?.trim()??"").endsWith("?")||d.Dd.test(c))&&!v(b)?(0,f._D)(g.g.PROMPT_DETECTED,e):(0,f.Xx)("waiting",g.g.CODEX_SELECTION_LIST,e)}}let i=(0,h.t)(a.raw,b,(0,m.Bh)(b));if(i&&!v(b)){i.footerRecognised||(0,h.AT)(i.footer);let b=r(a.clean);return b.isPrompt?(0,f._D)(g.g.PROMPT_DETECTED,b):(0,f.Xx)("waiting",g.g.CODEX_SELECTION_LIST,b)}return null},isStalePrompt:a=>v(a.contentLines)||(0,l.Yc)(a,"codex").composerAtBottom,detectDialog:a=>(0,l.Yc)(a,"codex").composerAtBottom?null:function(a,b){var c;let e=(0,d._A)(a.clean).split("\n"),f=(0,i.c)(e,b.contentEnd);if(b.lifecycleDialog)return{kind:k[b.lifecycleDialog],options:f?.options??[],answerMode:"numbered"};if(!f||!d.Jn.test(f.footer)&&!d.$I.test(f.footer)&&!d.ir.test(f.footer)&&!d.bh.test(f.footer)||b.stalePrompt)return null;let g=(c=f.firstRow,(0,j.r)(e,c,-1));return{kind:d.Dd.test(f.footer)||g.split("\n")[0]?.endsWith("?")?"permission":"picker",options:f.options,answerMode:"numbered"}}(a,{contentEnd:(0,m.Bh)(a.contentLines),stalePrompt:v(a.contentLines),lifecycleDialog:(0,d.E6)((0,l.j4)(a,"codex"))}),afterThinking(a){let{contentLines:b}=a,c=(0,m.Ut)(b);if(c>=0){let e=c-1;for(;e>=0&&""===b[e].trim();)e--;if((e=x(a,e))>=0){let c=b.slice(Math.max(0,e-q.$+1),e+1).join("\n");return(0,d.ut)("codex",c)||n.mk.test(c)?(0,f.dX)("running",g.g.THINKING_INDICATOR):d.gm.test(b[e].trim())&&!w(a.raw)?(0,f.dX)("ready",g.g.INPUT_PROMPT):(0,f.dX)("running",g.g.THINKING_INDICATOR)}}else{let c=b.length-1;for(;c>=0&&""===b[c].trim();)c--;if(!((c=x(a,c))>=0&&d.gm.test(b[c].trim())&&!w(a.raw))&&((0,d.ut)("codex",a.lastLines)||n.mk.test(a.lastLines)))return(0,f.dX)("running",g.g.THINKING_INDICATOR)}return null}});function z(a){let b="string"==typeof a?(0,l.zJ)(a,"codex"):(0,l.j4)(a,"codex");if(!y.detectDialog(b))return!1;let c=(0,m.Bh)(b.contentLines),e=(0,i.c)((0,d._A)(b.clean).split("\n"),c);return null!==e&&(d.ir.test(e.footer)||d.bh.test(e.footer))}},50435:(a,b,c)=>{c.d(b,{r:()=>d});function d(a,b,c){let d=[];for(let e=b-1;e>c&&d.length<4;e--){let b=a[e].trim();""!==b&&d.push(b)}return d.join("\n")}},50524:(a,b,c)=>{c.d(b,{LQ:()=>g,Ml:()=>f,sh:()=>e});let d=/^\p{M}$/u;function e(a,b){if(a.length<=b)return a.length;let c=0,e=0;for(let f of a){let a=+!d.test(f);if(1===a&&c>=b)break;c+=a,e+=f.length}return e}function f(a,b,c){return a.slice(e(a,b),e(a,c))}function g(a){let b=0;for(let c of a)d.test(c)||(b+=1);return b}},61244:(a,b,c)=>{c.d(b,{$N:()=>i,Tq:()=>g,jW:()=>n,yi:()=>h});let d=String.raw`←\s*(?:[☐☒☑][^←→☐☒☑✔]*)+✔\s*Submit\s*→`;RegExp(`^${d}\\s*`);let e=RegExp(`^\\s?${d}$`),f=/^\s?[☐☒☑] [^\s\d←→☐☒☑✔][^←→☐☒☑✔]{0,40}$/,g=/Enter\s+to\s+select\b.*\bnavigate\b/i;function h(a){let b=a.trimEnd();return e.test(b)||f.test(b)}function i(a,b,c){let d=Math.max(0,b-c);for(let c=b-1;c>=d;c--)if(h(a[c]??""))return c;return -1}let j=/┌(─+)┐\s*$/,k=/^\s*(?:[❯›>]\s*)?1\.\s+\S/,l=/^( *)└(─+)┘\s*$/,m=/^\s*(?:[❯›>]\s*)?\d{1,2}\.\s+\S|^\s{2,}\S/;function n(a,b,c){let d=new Set,e=new Map,f=Math.min(c,a.length);for(let c=Math.max(0,b);c<f;c++){let b=a[c];if(!b.includes("┌"))continue;let h=j.exec(b);if(!h||!k.test(b.slice(0,h.index)))continue;let i=-1,n=0;for(let b=c+1;b<Math.min(f,c+80);b++){let c=l.exec(a[b]);if(c&&c[2].length===h[1].length){i=b,n=c[1].length;break}}if(i<0)continue;let o=[i],p=[[c,h.index]];for(let b=c+1;b<i;b++){let c=a[b].indexOf("│"),d=c>0?a[b].slice(0,c):"";""!==d.trim()&&m.test(d)?p.push([b,c]):o.push(b)}let q=i+1;for(;q<f;q++){let b=a[q];if(""!==b.trim()){if(b.length-b.trimStart().length!==n)break;o.push(q)}}if(function(a,b){let c=0;for(let d=b;d<a.length&&c<4;d++){let b=a[d];if(""!==b.trim()){if(g.test(b))return!0;c++}}return!1}(a,q)){for(let a of o)d.add(a);for(let[a,b]of p)e.set(a,b);c=q-1}}return{rows:d,cuts:e}}},67121:(a,b,c)=>{c.d(b,{Cj:()=>d,Gc:()=>i,HD:()=>k,ZH:()=>o,_j:()=>h,hK:()=>n,ie:()=>f});let d=/^[-─]+$/,e=/^[⏺⎿●○•✔✓✖✗✘›»❯└├>]/,f=12,g=/^[⎿└├]/;function h(a){return a.length-a.trimStart().length}function i(a,b,c){let d=1/0;for(let e=b;e<Math.min(c,a.length);e++){let b=a[e];void 0!==b&&""!==b.trim()&&(d=Math.min(d,h(b)))}return d===1/0?0:d}function j(a){if(void 0===a)return!1;let b=a.trim();return""!==b&&(e.test(b)||d.test(b))}function k(a,b,c=b+1){let{start:d,completeness:e}=l(a,b,c);return{start:d,completeness:e}}function l(a,b,c){let d=Math.max(0,b-f),e=i(a,b,c),k=-1,l=0,m=!0,n=new Set;for(let c=b-1;c>=d;c--){let b=a[c];if(void 0===b||""===b.trim())continue;let f=h(b)<=e,i=j(b);if(i&&f)return{start:(k>=0?k:c)+1,completeness:"complete",cutFrom:c};if(!f){i&&k<0&&(k=c),l++,m&&=g.test(b.trim());continue}let o=b.trim();if(k>=0&&l>0&&m&&n.has(o)&&function(a,b,c,d){for(let e=b-1;e>=c;e--){let b=a[e];if(void 0!==b&&""!==b.trim())return h(b)<=d&&j(b)}return!1}(a,c,d,e))return{start:k+1,completeness:"complete",cutFrom:c};n.add(o),k=-1,l=0,m=!0}return{start:k>=0?k+1:d,completeness:function(a,b){if(0===b)return"top-unknown";for(let c=0;c<b;c++){let b=a[c];if(void 0!==b&&""!==b.trim())return"truncated"}return"complete"}(a,d),cutFrom:d}}let m=/^>/;function n(a,b,c){let{start:d,completeness:e,cutFrom:f}=l(a,b,c);return a.slice(f,d).some(a=>void 0!==a&&m.test(a.trim()))?{start:d,completeness:"truncated"}:{start:d,completeness:e}}function o(a,b,c){let d=a.slice(b,c).map(a=>a.trimEnd()).join("\n").trim();return d.length>0?d:void 0}},69119:(a,b,c)=>{c.d(b,{HD:()=>j.HD,J0:()=>A,N0:()=>q,QI:()=>p,ZH:()=>j.ZH,ie:()=>j.ie,rS:()=>I,xe:()=>H});var d=c(68652),e=c(42422),f=c(79204),g=c(31239),h=c(23479),i=c(61244),j=c(67121);let k=/^\s*[\u276F\u25CF\u203A][^\d]*(\d+)(?:\.(?!\d)|\s{2,})\s*(.+)$/,l=/^\s*[^\d]{0,3}(\d+)(?:\.(?!\d)|\s+)\s*(.+)$/,m=/^\s*\d{1,3}\s+tasks?\s+\(\d+\s+done\b/i,n=/^\s*[◼◻]\s/,o=/^(?:No changes this session|\+\d+ files? edited before this session \(show\))$/;function p(a,b,c){let d=function(a,b,c){let d=new Set;for(let e=Math.max(0,b);e<Math.min(c,a.length);e++){if(o.test(a[e].trim())){d.add(e);continue}if(m.test(a[e])){d.add(e);for(let b=e+1;b<Math.min(c,a.length);b++){let c=a[b];if(!n.test(c)&&!t.test(c))break;d.add(b)}}}return d}(a,b,c),e=(0,i.jW)(a,b,c);for(let a of e.rows)d.add(a);return{rows:d,cuts:e.cuts}}function q(a,b){return a.map((a,c)=>{if(b.rows.has(c))return"";let d=b.cuts.get(c);return void 0===d?a:a.slice(0,d).trimEnd()})}let r=/^\s{3,}\S/,s=/^\s*\[[^\]]*\d+\s+lines?\]/i,t=/^\s*[…]?\s*[+\-↑↓⏵⏷]?\s*\d+\s+(?:pending|more|completed)\b/i,u=/Esc\s+to\s+cancel\s*[·•]\s*Tab\s+to\s+amend/i,v=i.Tq,w=/press\s+(?:enter|number)\s+to\s+confirm/i,x=/press\s+number\s+to\s+confirm/i,y=/(?:select|choose|pick|which|what|how|where|enter|type|specify|confirm|approve|accept|reject|decide|preference|option)/i,z=[/type\s+here/i,/tell\s+(me|claude)/i,/enter\s+/i,/custom/i,/differently/i];function A(a){return(0,g.$y)(a)}function B(a,b){if(0===b.length)return!0;let c=b[0].number;return a<c&&a>=c-2}function C(a){return{isPrompt:!1,cleanContent:a.trim()}}function D(a){return 0!==a.length&&!!(a.includes("?")||a.includes("?")||y.test(a))}function E(a,b){let c=b.endsWith("?")||b.endsWith("?");return!!(!c&&/^\s{2,}[^\d]/.test(a)&&!/^\s*\d+\./.test(a)||!c&&/^\s{4,}/.test(a)&&!/^\s*\d+\.\s/.test(a)||b.length<5&&!c||/^[\/~]/.test(b)||b.length>=2&&/^[a-zA-Z0-9_-]+$/.test(b))}let F=/^[❯›]\s(?!\s*\d+[.)]\s)/,G=/^─*\s*Worked for\s+(?:\d+h\s*)?(?:\d+m\s*)?\d+s\b/;function H(a,b,c,d,e,f,g){let{instructionText:h,approvalTarget:i,approvalContext:j}=c??{};return{isPrompt:!0,promptData:{type:"multiple_choice",question:a.trim(),options:b.map(a=>{let b=z.some(b=>b.test(a.label));return{number:a.number,label:a.label,isDefault:a.isDefault,requiresTextInput:b}}),status:"pending",instructionText:h,...void 0!==i?{approvalTarget:i}:{},...void 0!==i&&j?.completeness==="truncated"?{approvalTargetCompleteness:"truncated"}:{},...f?{submitMode:f}:{},...g?{isAskUserQuestion:!0}:{}},cleanContent:a.trim(),rawContent:e(d.trim()),...void 0!==j?{approvalContext:j}:{}}}function I(a,b,c){if(a=(0,d.N)(a),b?.hasNumberedDialogs===!1)return C(a);let g=b?.requireDefaultIndicator??!0,m=a.split("\n"),{scanStart:n,effectiveEnd:o,hasAskUserQuestionFooter:q}=function(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;let c=Math.max(0,b-50),d=!1;for(let e=b-1;e>=c;e--){let c=v.test(a[e]);if(u.test(a[e])||c){b=e,d=c;break}}return{scanStart:c,effectiveEnd:b,hasAskUserQuestionFooter:d}}(m),y=m.slice(n,o);if(function(a){for(let b of a)if(e.l8.test(b))return!0;return!1}(y))return C(a);let{hasConfirmationFooter:z,hasNumberFooter:A}=function(a){let b=!1,c=!1;for(let d of a){let a=d.trim();if(!b&&w.test(a)){b=!0,x.test(a)&&(c=!0);break}}return{hasConfirmationFooter:b,hasNumberFooter:c}}(y);if(g&&!function(a){for(let b of a){let a=b.trim();if(k.test(a))return!0}return!1}(y)&&!z)return C(a);let I=function(a,b,c){let d={collectedOptions:[],optionRows:[],rowsBelow:[],questionEndIndex:-1,continuationLineCount:0,paneWrap:[]},e=p(a,b,c);for(let i=c-1;i>=b;i--){var f,g,h;if(e.rows.has(i)){d.continuationLineCount++;continue}let b=e.cuts.get(i),c=void 0===b?a[i]:a[i].slice(0,b).trimEnd(),m=c.trim();if((f=d,g=c,h=m,void 0!==b&&r.test(g)?(f.paneWrap.unshift(h),f.continuationLineCount++,!!0):!(s.test(h)||t.test(h))||(f.continuationLineCount++,!!0))&&!function(a,b,c,d){let e=c.match(k);if(e){let c=parseInt(e[1],10);if(c<=20&&B(c,a.collectedOptions))return J(a,b,c,e[2],!0,d),!0}let f=c.match(l);if(f){let c=parseInt(f[1],10);if(c>20);else if(B(c,a.collectedOptions))return J(a,b,c,f[2],!1,d),!0}return!1}(d,c,m,b)){if(0===d.collectedOptions.length&&(m.startsWith("❯")||m.startsWith("●")||m.startsWith("›")))return null;if(0===d.collectedOptions.length&&m&&/^\s{3,}/.test(c)&&d.rowsBelow.unshift(c),d.collectedOptions.length>0&&m&&!j.Cj.test(m)&&"break"===function(a,b,c,d){if(/^\s{4,}/.test(b)&&E(b,c))return(a.rowsBelow.unshift(b),a.continuationLineCount++,a.continuationLineCount>25)?(a.questionEndIndex=d,"break"):"continue";if(D(c))return a.questionEndIndex=d,"break";if(E(b,c)){a.rowsBelow.unshift(b),a.continuationLineCount++;let c=/^\s{4,}/.test(b)?25:5;return a.continuationLineCount>c?(a.questionEndIndex=d,"break"):"continue"}return a.questionEndIndex=d,"break"}(d,c,m,i))break}}return{collectedOptions:d.collectedOptions,optionRows:d.optionRows,questionEndIndex:d.questionEndIndex}}(m,n,o);if(null===I)return C(a);let{collectedOptions:K,optionRows:L,questionEndIndex:M}=I;if(!function(a,b,c,d,e,f){var g,h,i;if(!function(a){if(0===a.length||1!==a[0])return!1;let b=0;for(let c=1;c<a.length;c++){let d=a[c]-a[c-1];if(d<1||d>2||(2===d&&b++,b>1))return!1}return!0}(a.map(a=>a.number)))return!1;let k=a.some(a=>a.isDefault);return!(a.length<2)&&(!b||!!k||!!(b&&c))&&(!!b||!!k||(g=d,h=e,i=f,-1!==g&&(!!D(h[g]?.trim()??"")||!!function(a,b,c,d){let e=Math.max(d,b-3);for(let c=b-1;c>=e;c--){let b=a[c]?.trim()??"";if(!(!b||j.Cj.test(b))&&D(b))return!0}return!1}(h,g,0,i))))}(K,g,z,M,m,n))return C(a);let N=M<0?0:(0,i.$N)(m,M,j.ie)+1,O=function(a,b,c=0,d=b+1){if(b<0)return"Please select an option:";let e=Math.max(c,b-5),g=Math.max(e,function(a,b,c,d,e){let g=(0,j.Gc)(a,b,d);for(let d=b-1;d>=c;d--){let b=a[d];if(void 0!==b&&""!==b.trim()&&(0,j._j)(b)<g&&F.test(b.trim())&&function(a,b,c){for(let d=b-1;d>=c;d--){let b=a[d];if(void 0!==b&&""!==b.trim())return f.W1.test(b)||G.test(b.trim())}return!1}(a,d,e))return d}return -1}(a,b,e,d,c)),h=[];for(let c=g;c<=b;c++){let b=a[c].trim();b&&!j.Cj.test(b)&&h.push(b)}return h.join(" ")}(m,M,N,o),P=function(a,b,c){if(b<0)return;let d=Math.max(0,b-19),e=a.slice(d,c).map(a=>a.trimEnd()).join("\n").trim();return e.length>0?e:void 0}(m,M,o),Q=H(O,K,{instructionText:P,...function(a,b,c,d=0){if(b<0)return;let e=(0,j.HD)(a,b,c),f=d>0&&d>=e.start,g=Math.max(d,e.start);return{approvalTarget:(0,j.ZH)(a,g,c),approvalContext:{startRow:g,endRow:c,completeness:f?"complete":e.completeness}}}(m,M,o,N)},a,c,z?A?"answer_only":"answer_then_enter":void 0,q);if(!q)return Q;let R=(0,h.JF)(m);return{...Q,optionRecommendations:K.map((a,b)=>(function(a,b,c){if(void 0===b)return"unknown";let[d]=b.rowsBelow;if(void 0===d)return(0,h.e3)(a);if(b.besidePane)return"unknown";if((0,h.GP)(b.row,d,c))return(0,h.e3)(a);if(!(0,h.iU)(d))return"unknown";let e=b.rowsBelow[1];return!!(void 0===e||(0,h.GP)(d,e,c))||"unknown"})(a.label,L[b],R))}}function J(a,b,c,d,e,f){let g=[d.trim(),...a.paneWrap].join(" ");a.optionRows.unshift({row:b,besidePane:void 0!==f||a.paneWrap.length>0,rowsBelow:a.rowsBelow}),a.rowsBelow=[],a.paneWrap=[],a.collectedOptions.unshift({number:c,label:g,isDefault:e}),a.continuationLineCount=0}},76777:(a,b,c)=>{c.d(b,{D:()=>d});function d(a,b,c){let d=new TextEncoder;if(d.encode(a).length<=b)return a;let e=b-d.encode(c).length,f=0,g="";for(let b of a){let a=d.encode(b).length;if(f+a>e)break;f+=a,g+=b}return`${g}${c}`}},81671:(a,b,c)=>{c.d(b,{O8:()=>d});function d(a){let b=a.split("\n"),c=(b.length>200?b.slice(-200):b).join("\n");return c.length>5e3&&(c=c.slice(-5e3)),c}},91010:(a,b,c)=>{c.d(b,{b:()=>m});var d=c(42422),e=c(26895),f=c(61878),g=c(70605),h=c(24680),i=c(37717);let j=["enforce","observe","legacy"],k={claude:"observe",copilot:"enforce",opencode:"enforce",codex:"legacy",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy","opencode-v2":"legacy"},l=(0,c(36925).v)("__idleEvidenceObservations",()=>new Map);function m(a){return{...a,detect:(b,c)=>(function(a,b,c={}){let m=(0,f.j4)(b,a.tool),n=a.beforePrompt?.(m)??null;if(n)return n;let o=(0,d.KO)(a.tool),p=(0,d.c)(a.tool)?(0,d._A)(m.clean):(0,d._A)(m.lastLines),q=(0,e.gF)(p,o);if(q.isPrompt)if((0,g.z8)(m.liveRegion,q))q={...q,isPrompt:!1,promptData:void 0};else if(a.isStalePrompt?.(m,q))q={...q,isPrompt:!1,promptData:void 0};else{if(!a.requireVouchedPrompt||c.isPromptVouched?.(q)!==!1)return(0,h._D)(i.g.PROMPT_DETECTED,q);q={...q,isPrompt:!1,promptData:void 0}}let r=a.afterPrompt?.(m,q)??null;if(r)return{...r,promptDetection:r.promptDetection??q};if((0,d.ut)(a.tool,m.thinkingLines))return(0,h.Xx)("running",i.g.THINKING_INDICATOR,q);let s=a.afterThinking?.(m,q)??null;if(s)return{...s,promptDetection:s.promptDetection??q};if(!a.skipGenericInputPrompt){let{promptPattern:b}=(0,d._X)(a.tool);if(b.test(m.lastLines))return{status:"ready",confidence:"high",reason:i.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:function(a,b){if(void 0===a.readIdleEvidence)return"positive";let c=function(a,b=process.env){let c=b.CM_DETECTION_IDLE_EVIDENCE,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();j.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??k[a]??"legacy"}(a.tool);if("legacy"===c)return"positive";let d=a.readIdleEvidence(b);var e=a.tool;let f=l.get(e)??{mode:c,positive:0,none:0};return f.mode=c,"positive"===d?f.positive+=1:f.none+=1,l.set(e,f),"observe"===c?"positive":d}(a,m),promptDetection:q}}return c.lastOutputTimestamp&&Date.now()-c.lastOutputTimestamp.getTime()>5e3?(0,h.Ru)(i.g.NO_RECENT_OUTPUT,q):(0,h.Ru)(a.unreadableReason??i.g.DEFAULT,q)})(a,b,c),detectDialog:a.detectDialog?b=>{let c=(0,f.j4)(b,a.tool),d=a.detectDialog(c);return(0,g.$$)(c.liveRegion,d)?null:d}:()=>null,hasDialogRules:void 0!==a.detectDialog}}},93923:(a,b,c)=>{c.d(b,{zu:()=>G,mB:()=>F});var d=c(42422),e=c(94154),f=c(69119),g=c(24680),h=c(37717),i=c(682),j=c(50435),k=c(61244);let l=/esc\s+to\s+cancel|enter\s+to\s+(?:select|confirm|set\s+as\s+default)/i,m=new Set(["❯",">"]),n=/do you want to\b|allow\b.*\?$/i,o=/ready to submit your answers\?|review your answers/i,p=/set\s+as\s+default/i;var q=c(61878),r=c(58846),s=c(91010),t=c(79204);function u(a){let b=(0,e.p4)(a),c=b?b.openingSeparator:a.length,d=(0,f.QI)(a,0,c).rows,g=c-1;for(;g>=0&&(""===a[g].trim()||d.has(g)||t.Wq.test(a[g]));)g--;return g}let v=/^\s*(?:❯\s*)?1\.\s+Submit answers\s*$/,w=/^\s*(?:❯\s*)?1\.\s+Submit\s*$/,x=/^\s+answers\s*$/,y=/^\s*(?:❯\s*)?2\.\s+Cancel\s*$/,z=/✔\s*Submit/,A=/^ (?:[●│] | {2,}\S)/,B=/^\s?←(?:\s*[☐☒☑])+\s*✔\s*$/,C=/^[^←→☐☒☑✔]*\bSubmit\s*→\s*$/;function D(a,b){for(let c=b-1;c>=0;c--)if(""!==a[c].trim())return c;return -1}function E(a,b,c){let d=b;for(;d>0&&""!==a[d-1].trim();)d--;if(b-d+1>c)return{top:d,text:null};let e=a.slice(d,b+1).map(a=>a.trim()).join(" ");return{top:d,text:e}}function F(a){let b=a.contentLines,c=u(b);if(c<0||!y.test(b[c]))return!1;let d=function(a,b){let c=b-1;return c<0?-1:v.test(a[c])?c:c>=1&&x.test(a[c])&&w.test(a[c-1])?c-1:-1}(b,c);if(d<0||!b[d].includes("❯")&&!b[c].includes("❯"))return!1;let f=D(b,d);if(f<0)return!1;let g=E(b,f,3);if("Ready to submit your answers?"!==g.text)return!1;let h=(0,k.$N)(b,g.top,200);return!!(h>=0&&z.test(b[h]))||null===(0,e.p4)(b)&&function(a,b){let c=b-1;for(;c>=0&&(""===a[c].trim()||A.test(a[c]));)c--;if(c<0)return!0;let d=E(a,c,2);if("Review your answers"!==d.text)return!1;let e=D(a,d.top);return e<0||!!((0,k.yi)(a[e])&&z.test(a[e]))||e>=1&&C.test(a[e])&&B.test(a[e-1])}(b,g.top)}let G=(0,s.b)({tool:"claude",verifiedAgainst:t.V2,liveRegion:r.j,afterPrompt:a=>d.XY.test(function(a){let b=(0,q.Yc)(a,"claude");if("composer"!==b.anchor)return a.lastLines;let c=a.contentLines.length-q.h9;return a.contentLines.slice(Math.max(b.startRow,c)).join("\n")}(a))?(0,g.dX)("waiting",h.g.CLAUDE_SELECTION_LIST):null,afterThinking:a=>d.aU.test(a.lastLines)?(0,g.dX)("running",h.g.THINKING_INDICATOR):null,readIdleEvidence:function(a){let b=u(a.contentLines);if(b>=0&&t.W1.test(a.contentLines[b]))return"positive";let c=(0,e.p4)(a.contentLines),d=a.contentLines.slice(0,c?c.openingSeparator:void 0),f=d.some(a=>t.ji.test(a)),g=d.some(a=>t.Tk.test(a));return f&&!g?"positive":"none"},detectDialog:a=>(function(a,b){var c;if(b.transcriptTail<0)return null;let e=(0,d._A)(a.clean).split("\n"),g=b.transcriptTail+1,h=(0,f.QI)(a.contentLines,0,g),q=(0,f.N0)(e,h),r=(0,i.c)(q,g);if(!r||null===r.selectedGlyph||!m.has(r.selectedGlyph))return null;let s=function(a,b,c,d){let e=[];for(let f=c;f<Math.min(d,a.length);f++){let c=a[f].trim();""===c||b.has(f)||e.push(c)}return e.join("\n")}(q,h.rows,r.lastRow+1,g);return""===s||l.test(s)?{kind:(c=function(a,b){let c=(0,k.$N)(a,b,f.ie);return(0,j.r)(a,b,c)}(q,r.firstRow),o.test(c)?"ask_user":p.test(s)?"picker":n.test(c)?"permission":"dialog"),options:r.options,answerMode:"numbered"}:null})(a,{transcriptTail:u(a.contentLines)})})},95595:(a,b,c)=>{c.d(b,{WC:()=>k,f8:()=>j,gv:()=>d.g,ug:()=>h});var d=c(37717),e=c(61878),f=c(905),g=c(16402);let h=new Set([d.g.OPENCODE_SELECTION_LIST,d.g.OPENCODE_MODAL_OVERLAY,d.g.OPENCODE_PERMISSION_PROMPT,d.g.CLAUDE_SELECTION_LIST,d.g.COMMAND_CODE_SELECTION_LIST,d.g.COMMAND_CODE_PLAN_REVIEW,d.g.COPILOT_SELECTION_LIST,d.g.CODEX_SELECTION_LIST,d.g.CODEX_PAGER,d.g.CODEX_HOOKS_REVIEW,d.g.ANTIGRAVITY_SELECTION_LIST]),i=new Set([d.g.THINKING_INDICATOR,d.g.OPENCODE_PROCESSING_INDICATOR]);function j(a){return"running"===a.status&&i.has(a.reason)}function k(a,b,c){let d=(0,e.zJ)(a,b),h=(0,f.bN)(b).detect(d,{lastOutputTimestamp:c,isPromptVouched:c=>(0,g.vm)(b,c.promptData?.type,a).present});return{status:h.status,confidence:h.confidence,reason:h.reason,hasActivePrompt:h.hasActivePrompt,evidence:h.evidence,promptDetection:h.promptDetection??{isPrompt:!1,cleanContent:d.clean}}}},96742:(a,b,c)=>{c.d(b,{nK:()=>q});var d=c(51297),e=c(69119),f=c(91478),g=c(682),h=c(23479),i=c(81671);let j=/❯[^\S\n]*(\d{1,2})[.)]/,k=/^[^\S\n]*type\s+something\b/i,l=/^\[[ xX\u2714]\]\s/,m=/^\[[xX\u2714]\]\s/,n=/^[^\S\n]*(?:\u276F[^\S\n]*)?(?:Submit|Next)[^\S\n]*$/,o=/^[^\S\n]*Enter\s+to\s+select\b.*\|.*\bEsc\s+to\s+cancel[^\S\n]*$/i;function p(a){return{kind:"unsupported",reason:a}}function q(a){if(!a)return{kind:"none"};if(null!==(0,f.uG)(a))return p("review-page");let b=(0,f.Dk)(a);if(null===b)return(0,f.f_)(a)?p("numbering-unreadable"):{kind:"none"};if(!b.cursorOnOptionRow)return p("cursor-outside-options");let c=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),q=c.slice(b.firstLineIndex,b.lastLineIndex+1);if(q.length>60)return p("region-too-tall");let s=b.tabLineIndex-b.firstLineIndex,t=(0,g.c)(q,q.length,12);if(null===t)return p("option-block-unreadable");let u=[...t.options],v=""===t.footer?[]:t.footer.split("\n"),w=v.some(a=>n.test(a)),x=v.filter(a=>!n.test(a)&&!o.test(a));if(x.length>0){let a=u.length-1;u[a]=[u[a],...x].join(" ").trim()}if(u.length!==b.optionCount)return p("option-count-mismatch");let y=u.some(a=>l.test(a));if(y&&!w)return p("multi-select");let z=q[b.cursorLineIndex-b.firstLineIndex]??"",A=j.exec(z);if(t.selectedIndex<0||"❯"!==t.selectedGlyph||null===A||Number(A[1])!==t.selectedIndex+1)return p("default-unresolved");let B=q.slice(s+1,t.firstRow).map(a=>a.trim()).filter(a=>""!==a);if(0===B.length)return p("question-missing");let C=B.join(" "),D=(0,e.ZH)(q,s+1,q.length),E=u.map((a,b)=>({number:b+1,label:y?a.replace(l,""):a,isDefault:b===t.selectedIndex,...y?{checked:m.test(a)}:{}})),F=(0,e.xe)(C,E,{instructionText:D,approvalTarget:D},q.join("\n"),i.O8,"answer_only",!0),G=F.promptData;return void 0===G||"multiple_choice"!==G.type?p("option-block-unreadable"):{kind:"prompt",region:b,prompt:{...F,optionRecommendations:function(a,b,c){let d=(0,h.JF)(a),e=[],f=0,i="",j=!1;for(let a of b){if(""===a.trim())continue;let b=(0,g.T)(a);if(null!==b&&b.number===e.length+1){e.push([b.label]),f=r.exec(a)?.[0].length??0,i=a,j=!1;continue}if(0===e.length)break;if(!(n.test(a)||o.test(a))&&!j){if(a.length-a.trimStart().length>=f||(0,h.GP)(i,a,d)){j=!0;continue}e[e.length-1].push(a.trim()),i=a}}return e.length!==c?Array.from({length:c},()=>"unknown"):e.map(a=>(0,h.e3)(a.join(" ")))}(c,q.slice(t.firstRow),u.length),promptData:{...G,...y?{multiSelect:!0}:{},options:G.options.map((a,b)=>{let c=E[b]?.checked,d=void 0===c?a:{...a,checked:c};return!0===a.requiresTextInput||k.test(a.label)?{...d,requiresTextInput:!0}:d})}}}}let r=/^[^\S\n]*[│┃]?[^\S\n]*[❯›●>]?[^\S\n]*\d{1,2}[.)][^\S\n]+/}};
|
|
103
|
+
`;function z(a,b){let c,d=(0,q.join)((0,q.join)((0,p.homedir)(),".commandmate","bin"),a);if((0,o.mkdirSync)((0,q.dirname)(d),{recursive:!0}),(0,o.existsSync)(d))try{c=(0,o.readFileSync)(d,"utf-8")}catch{c=void 0}return c!==b&&(0,o.writeFileSync)(d,b,{mode:493}),(0,o.chmodSync)(d,493),d}var A=c(83598),B=c(36925);let C=(0,m.promisify)(l.execFile),D=(0,e.h)("tmux-session-hooks"),E=(0,B.v)("__cmEnsuredSessionHooks",()=>new Set);async function F(a){if((0,n.N_)(a)&&!E.has(a)){E.add(a);try{if((0,n.gM)()&&(0,n.n9)(a)){z(s,v);let b=(0,n.Rr)(a,z(t,x));b&&await C("tmux",b,{timeout:5e3})}else await C("tmux",(0,n.g4)(a),{timeout:5e3});if((0,n.jx)()){let b=(0,n.Ls)(a,z(u,y));b&&await C("tmux",b,{timeout:5e3})}else await C("tmux",(0,n.sL)(a),{timeout:5e3})}catch(b){D.debug("session-hooks:reconcile-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)})}}}async function G(a){try{if(!await (0,A.Us)(a)||await (0,A.Fh)(a))return!1;for(let b of(0,n.RS)(a))await C("tmux",b,{timeout:5e3});return D.info("session-hooks:geometry-restored",{sessionName:a}),!0}catch(b){return D.debug("session-hooks:geometry-restore-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}let H=(0,m.promisify)(l.execFile),I=(0,e.h)("tmux-session-status"),J=(0,B.v)("__cmPublishedTmuxStatus",()=>new Map),K=(0,B.v)("__cmClearedTmuxStatus",()=>new Set);async function L(a){let{sessionName:b,worktreeId:c,cliToolId:d,instanceId:e,status:f}=a;if(!(0,n.om)())return K.has(b)||(K.add(b),await N(b)),"disabled";let g=J.get(b);if(g&&g.status===f&&g.worktreeId===c&&g.cliToolId===d&&g.instanceId===e)return"unchanged";let h=(a.now??new Date).toISOString(),i=[[n.eC,f],[n.jp,c],[n.wv,d],[n.L0,e],[n.tx,h]];try{for(let[a,c]of i)await H("tmux",(0,n.ND)(b,a,c),{timeout:5e3});return J.set(b,{status:f,worktreeId:c,cliToolId:d,instanceId:e}),await M(b),"written"}catch(a){return J.delete(b),I.debug("session-status:write-failed",{sessionName:b,error:a instanceof Error?a.message:String(a)}),"error"}}async function M(a){try{let{stdout:b}=await H("tmux",(0,n.Ys)(a,"status-right"),{timeout:5e3}),c=b.trim();if(""!==c&&!c.includes(n.lY))return I.debug("session-status:status-right-user-owned",{sessionName:a,existing:c}),!1;return""===c&&await H("tmux",(0,n.KB)(a,n.lY),{timeout:5e3}),!0}catch(b){return I.debug("session-status:status-right-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}async function N(a){for(let b of(J.delete(a),n.bq))try{await H("tmux",(0,n.cD)(a,b),{timeout:5e3})}catch{}try{let{stdout:b}=await H("tmux",(0,n.Ys)(a,"status-right"),{timeout:5e3});b.includes(n.lY)&&await H("tmux",(0,n.$D)(a),{timeout:5e3})}catch{}}let O=(0,e.h)("cli-session");function P(a){globalThis.__captureFrameMetaSink?.getStore()?.(a)}function Q(a){globalThis.__captureHeadCutSink?.getStore()?.(a)}function R(){return j||(j=new i),j}function S(a,b,c){let e=d.CLIToolManager.getInstance().getTool(b),f=e.getSessionName(a,c);return{cliTool:e,sessionName:f}}async function T(a,b,c){let{sessionName:d}=S(a,b,c);return R().sessionExists(d)}async function U(a,b,c){let{sessionName:d}=S(a,b,c);return(0,f.p$)(d)}async function V(a,b,c=1e3,d){let e=O.withContext({worktreeId:a,cliToolId:b});e.debug("captureSessionOutput:start",{requestedLines:c});let{cliTool:f,sessionName:g}=S(a,b,d),h=R();try{let a=await (0,k.aq)(g,c,async()=>{if(!await h.sessionExists(g))throw Error(`${f.name} session ${g} does not exist`);return await h.captureSnapshot(g,{startLine:-k.xE})},P,Q);return e.debug("captureSessionOutput:success",{actualLines:a.split("\n").length,lastFewLines:a.split("\n").slice(-3).join(" | ")}),a}catch(b){let a=b instanceof Error?b.message:String(b);if(a.includes("does not exist"))throw e.debug("captureSessionOutput:sessionNotFound",{sessionName:g}),b;throw e.error("captureSessionOutput:failed",{error:a}),Error(`Failed to capture ${f.name} output: ${a}`)}}async function W(a,b,c=5e3,d){let e=O.withContext({worktreeId:a,cliToolId:b});e.debug("captureSessionOutputFresh:start",{requestedLines:c});let{cliTool:f,sessionName:g}=S(a,b,d),h=R(),i=(0,k.XD)(g),j=Date.now();try{let a=await h.captureSnapshot(g,{startLine:-c});a.length>0?(0,k.Ws)(g,i)&&(0,k.vF)(g,a,c,j):(0,k.gm)(g),P({fetchStartedAt:j,source:"fetched"});let b=globalThis.__captureHeadCutSink?.getStore();return b&&b((0,k.AW)(a,c)),(0,k.wd)(a,c)}catch(b){(0,k.gm)(g);let a=b instanceof Error?b.message:String(b);throw e.error("captureSessionOutputFresh:failed",{error:a}),Error(`Failed to capture ${f.name} output: ${a}`)}}async function X(a,b,c,d){if("Up"!==c&&"Down"!==c&&"Enter"!==c)throw Error(`Unsupported answer key: ${String(c)}`);let{sessionName:e}=S(a,b,d);try{await (0,f.KB)(e,[c])}finally{(0,k.gm)(e)}}async function Y(a,b,c){let{sessionName:d}=S(a,b,c);return(0,f.Hg)(d)}async function Z(a){await F(a.sessionName),(0,n.n9)(a.sessionName)&&await G(a.sessionName),await L(a)}function $(a){J.delete(a),K.delete(a),E.delete(a),(0,A.G9)(a)}},32236:(a,b,c)=>{c.d(b,{q:()=>y,AD:()=>z});var d=c(42422),e=c(26895),f=c(24680),g=c(37717),h=c(65912),i=c(682),j=c(50435);let k={"hooks-review":"permission","hooks-list":"picker","hooks-detail":"picker",update:"update",trust:"trust"};var l=c(61878),m=c(85237),n=c(27789),o=c(91010),p=c(1804),q=c(46423);function r(a){return(0,e.gF)((0,d._A)(a),(0,d.KO)("codex"))}let s=p.jP,t=/press\s+(?:number|enter)\s+to\s+confirm/i,u=/^\s*[❯›●]?\s*\d{1,2}[.)]\s/;function v(a){let b=(0,m.Ut)(a),c=b>=0?b:a.length,e=-1,f=-1;for(let b=0;b<c;b++){let c=a[b],g=c.trim();""!==g&&((t.test(g)||u.test(g))&&(e=b),(0,d.ut)("codex",c)&&(f=b))}return e>=0&&f>e}function w(a){return(0,h.kp)(a)?.kind==="option"}function x(a,b){let c=(0,l.Yc)(a,"codex");return"composer"!==c.anchor||c.composerEndRow!==b?b:c.startRow}let y=(0,o.b)({tool:"codex",verifiedAgainst:s,liveRegion:m.YH,beforePrompt(a){let{contentLines:b}=a;if((0,l.Yc)(a,"codex").composerAtBottom)return null;if(d.pn.test(a.lastLines))return(0,f.Xx)("waiting",g.g.CODEX_PAGER,r(a.clean));let c=(0,d.E6)((0,l.j4)(a,"codex"));if("hooks-list"===c||"hooks-detail"===c)return(0,f.Xx)("waiting",g.g.CODEX_HOOKS_REVIEW,r(a.clean));let e=(0,m.Bh)(b)-1;if(e>=0){let c=b.slice(Math.max(0,e-l.h9+1),e+1).join("\n"),h=b[e].trim();if(d.Jn.test(c)||d.ir.test(h)||d.bh.test(h)){let e=r(a.clean);return e.isPrompt&&((e.promptData?.question?.trim()??"").endsWith("?")||d.Dd.test(c))&&!v(b)?(0,f._D)(g.g.PROMPT_DETECTED,e):(0,f.Xx)("waiting",g.g.CODEX_SELECTION_LIST,e)}}let i=(0,h.t)(a.raw,b,(0,m.Bh)(b));if(i&&!v(b)){i.footerRecognised||(0,h.AT)(i.footer);let b=r(a.clean);return b.isPrompt?(0,f._D)(g.g.PROMPT_DETECTED,b):(0,f.Xx)("waiting",g.g.CODEX_SELECTION_LIST,b)}return null},isStalePrompt:a=>v(a.contentLines)||(0,l.Yc)(a,"codex").composerAtBottom,detectDialog:a=>(0,l.Yc)(a,"codex").composerAtBottom?null:function(a,b){var c;let e=(0,d._A)(a.clean).split("\n"),f=(0,i.c)(e,b.contentEnd);if(b.lifecycleDialog)return{kind:k[b.lifecycleDialog],options:f?.options??[],answerMode:"numbered"};if(!f||!d.Jn.test(f.footer)&&!d.$I.test(f.footer)&&!d.ir.test(f.footer)&&!d.bh.test(f.footer)||b.stalePrompt)return null;let g=(c=f.firstRow,(0,j.r)(e,c,-1));return{kind:d.Dd.test(f.footer)||g.split("\n")[0]?.endsWith("?")?"permission":"picker",options:f.options,answerMode:"numbered"}}(a,{contentEnd:(0,m.Bh)(a.contentLines),stalePrompt:v(a.contentLines),lifecycleDialog:(0,d.E6)((0,l.j4)(a,"codex"))}),afterThinking(a){let{contentLines:b}=a,c=(0,m.Ut)(b);if(c>=0){let e=c-1;for(;e>=0&&""===b[e].trim();)e--;if((e=x(a,e))>=0){let c=b.slice(Math.max(0,e-q.$+1),e+1).join("\n");return(0,d.ut)("codex",c)||n.mk.test(c)?(0,f.dX)("running",g.g.THINKING_INDICATOR):d.gm.test(b[e].trim())&&!w(a.raw)?(0,f.dX)("ready",g.g.INPUT_PROMPT):(0,f.dX)("running",g.g.THINKING_INDICATOR)}}else{let c=b.length-1;for(;c>=0&&""===b[c].trim();)c--;if(!((c=x(a,c))>=0&&d.gm.test(b[c].trim())&&!w(a.raw))&&((0,d.ut)("codex",a.lastLines)||n.mk.test(a.lastLines)))return(0,f.dX)("running",g.g.THINKING_INDICATOR)}return null}});function z(a){let b="string"==typeof a?(0,l.zJ)(a,"codex"):(0,l.j4)(a,"codex");if(!y.detectDialog(b))return!1;let c=(0,m.Bh)(b.contentLines),e=(0,i.c)((0,d._A)(b.clean).split("\n"),c);return null!==e&&(d.ir.test(e.footer)||d.bh.test(e.footer))}},50435:(a,b,c)=>{c.d(b,{r:()=>d});function d(a,b,c){let d=[];for(let e=b-1;e>c&&d.length<4;e--){let b=a[e].trim();""!==b&&d.push(b)}return d.join("\n")}},50524:(a,b,c)=>{c.d(b,{LQ:()=>g,Ml:()=>f,sh:()=>e});let d=/^\p{M}$/u;function e(a,b){if(a.length<=b)return a.length;let c=0,e=0;for(let f of a){let a=+!d.test(f);if(1===a&&c>=b)break;c+=a,e+=f.length}return e}function f(a,b,c){return a.slice(e(a,b),e(a,c))}function g(a){let b=0;for(let c of a)d.test(c)||(b+=1);return b}},61244:(a,b,c)=>{c.d(b,{$N:()=>i,Tq:()=>g,jW:()=>n,yi:()=>h});let d=String.raw`←\s*(?:[☐☒☑][^←→☐☒☑✔]*)+✔\s*Submit\s*→`;RegExp(`^${d}\\s*`);let e=RegExp(`^\\s?${d}$`),f=/^\s?[☐☒☑] [^\s\d←→☐☒☑✔][^←→☐☒☑✔]{0,40}$/,g=/Enter\s+to\s+select\b.*\bnavigate\b/i;function h(a){let b=a.trimEnd();return e.test(b)||f.test(b)}function i(a,b,c){let d=Math.max(0,b-c);for(let c=b-1;c>=d;c--)if(h(a[c]??""))return c;return -1}let j=/┌(─+)┐\s*$/,k=/^\s*(?:[❯›>]\s*)?1\.\s+\S/,l=/^( *)└(─+)┘\s*$/,m=/^\s*(?:[❯›>]\s*)?\d{1,2}\.\s+\S|^\s{2,}\S/;function n(a,b,c){let d=new Set,e=new Map,f=Math.min(c,a.length);for(let c=Math.max(0,b);c<f;c++){let b=a[c];if(!b.includes("┌"))continue;let h=j.exec(b);if(!h||!k.test(b.slice(0,h.index)))continue;let i=-1,n=0;for(let b=c+1;b<Math.min(f,c+80);b++){let c=l.exec(a[b]);if(c&&c[2].length===h[1].length){i=b,n=c[1].length;break}}if(i<0)continue;let o=[i],p=[[c,h.index]];for(let b=c+1;b<i;b++){let c=a[b].indexOf("│"),d=c>0?a[b].slice(0,c):"";""!==d.trim()&&m.test(d)?p.push([b,c]):o.push(b)}let q=i+1;for(;q<f;q++){let b=a[q];if(""!==b.trim()){if(b.length-b.trimStart().length!==n)break;o.push(q)}}if(function(a,b){let c=0;for(let d=b;d<a.length&&c<4;d++){let b=a[d];if(""!==b.trim()){if(g.test(b))return!0;c++}}return!1}(a,q)){for(let a of o)d.add(a);for(let[a,b]of p)e.set(a,b);c=q-1}}return{rows:d,cuts:e}}},67121:(a,b,c)=>{c.d(b,{Cj:()=>d,Gc:()=>i,HD:()=>k,ZH:()=>o,_j:()=>h,hK:()=>n,ie:()=>f});let d=/^[-─]+$/,e=/^[⏺⎿●○•✔✓✖✗✘›»❯└├>]/,f=12,g=/^[⎿└├]/;function h(a){return a.length-a.trimStart().length}function i(a,b,c){let d=1/0;for(let e=b;e<Math.min(c,a.length);e++){let b=a[e];void 0!==b&&""!==b.trim()&&(d=Math.min(d,h(b)))}return d===1/0?0:d}function j(a){if(void 0===a)return!1;let b=a.trim();return""!==b&&(e.test(b)||d.test(b))}function k(a,b,c=b+1){let{start:d,completeness:e}=l(a,b,c);return{start:d,completeness:e}}function l(a,b,c){let d=Math.max(0,b-f),e=i(a,b,c),k=-1,l=0,m=!0,n=new Set;for(let c=b-1;c>=d;c--){let b=a[c];if(void 0===b||""===b.trim())continue;let f=h(b)<=e,i=j(b);if(i&&f)return{start:(k>=0?k:c)+1,completeness:"complete",cutFrom:c};if(!f){i&&k<0&&(k=c),l++,m&&=g.test(b.trim());continue}let o=b.trim();if(k>=0&&l>0&&m&&n.has(o)&&function(a,b,c,d){for(let e=b-1;e>=c;e--){let b=a[e];if(void 0!==b&&""!==b.trim())return h(b)<=d&&j(b)}return!1}(a,c,d,e))return{start:k+1,completeness:"complete",cutFrom:c};n.add(o),k=-1,l=0,m=!0}return{start:k>=0?k+1:d,completeness:function(a,b){if(0===b)return"top-unknown";for(let c=0;c<b;c++){let b=a[c];if(void 0!==b&&""!==b.trim())return"truncated"}return"complete"}(a,d),cutFrom:d}}let m=/^>/;function n(a,b,c){let{start:d,completeness:e,cutFrom:f}=l(a,b,c);return a.slice(f,d).some(a=>void 0!==a&&m.test(a.trim()))?{start:d,completeness:"truncated"}:{start:d,completeness:e}}function o(a,b,c){let d=a.slice(b,c).map(a=>a.trimEnd()).join("\n").trim();return d.length>0?d:void 0}},76777:(a,b,c)=>{c.d(b,{D:()=>d});function d(a,b,c){let d=new TextEncoder;if(d.encode(a).length<=b)return a;let e=b-d.encode(c).length,f=0,g="";for(let b of a){let a=d.encode(b).length;if(f+a>e)break;f+=a,g+=b}return`${g}${c}`}},81671:(a,b,c)=>{c.d(b,{O8:()=>d});function d(a){let b=a.split("\n"),c=(b.length>200?b.slice(-200):b).join("\n");return c.length>5e3&&(c=c.slice(-5e3)),c}},90304:(a,b,c)=>{c.d(b,{ie:()=>p.ie,xe:()=>H,rS:()=>I,HD:()=>p.HD,QI:()=>n,J0:()=>A,ZH:()=>p.ZH,N0:()=>o});var d=c(68652),e=c(42422),f=c(79204),g=c(31239),h=c(23479),i=c(61244);let j=/^\s*[…]?\s*[+\-↑↓⏵⏷]?\s*\d+\s+(?:pending|more|completed)\b/i,k=/^\s*\d{1,3}\s+tasks?\s+\(\d+\s+done\b/i,l=/^\s*[◼◻]\s/,m=/^(?:No changes this session|\+\d+ files? edited before this session \(show\))$/;function n(a,b,c){let d=function(a,b,c){let d=new Set;for(let e=Math.max(0,b);e<Math.min(c,a.length);e++){if(m.test(a[e].trim())){d.add(e);continue}if(k.test(a[e])){d.add(e);for(let b=e+1;b<Math.min(c,a.length);b++){let c=a[b];if(!l.test(c)&&!j.test(c))break;d.add(b)}}}return d}(a,b,c),e=(0,i.jW)(a,b,c);for(let a of e.rows)d.add(a);return{rows:d,cuts:e.cuts}}function o(a,b){return a.map((a,c)=>{if(b.rows.has(c))return"";let d=b.cuts.get(c);return void 0===d?a:a.slice(0,d).trimEnd()})}var p=c(67121);let q=/^\s*[\u276F\u25CF\u203A][^\d]*(\d+)(?:\.(?!\d)|\s{2,})\s*(.+)$/,r=/^\s*[^\d]{0,3}(\d+)(?:\.(?!\d)|\s+)\s*(.+)$/,s=/^\s{3,}\S/,t=/^\s*\[[^\]]*\d+\s+lines?\]/i,u=/Esc\s+to\s+cancel\s*[·•]\s*Tab\s+to\s+amend/i,v=i.Tq,w=/press\s+(?:enter|number)\s+to\s+confirm/i,x=/press\s+number\s+to\s+confirm/i,y=/(?:select|choose|pick|which|what|how|where|enter|type|specify|confirm|approve|accept|reject|decide|preference|option)/i,z=[/type\s+here/i,/tell\s+(me|claude)/i,/enter\s+/i,/custom/i,/differently/i];function A(a){return(0,g.$y)(a)}function B(a,b){if(0===b.length)return!0;let c=b[0].number;return a<c&&a>=c-2}function C(a){return{isPrompt:!1,cleanContent:a.trim()}}function D(a){return 0!==a.length&&!!(a.includes("?")||a.includes("?")||y.test(a))}function E(a,b){let c=b.endsWith("?")||b.endsWith("?");return!!(!c&&/^\s{2,}[^\d]/.test(a)&&!/^\s*\d+\./.test(a)||!c&&/^\s{4,}/.test(a)&&!/^\s*\d+\.\s/.test(a)||b.length<5&&!c||/^[\/~]/.test(b)||b.length>=2&&/^[a-zA-Z0-9_-]+$/.test(b))}let F=/^[❯›]\s(?!\s*\d+[.)]\s)/,G=/^─*\s*Worked for\s+(?:\d+h\s*)?(?:\d+m\s*)?\d+s\b/;function H(a,b,c,d,e,f,g){let{instructionText:h,approvalTarget:i,approvalContext:j}=c??{};return{isPrompt:!0,promptData:{type:"multiple_choice",question:a.trim(),options:b.map(a=>{let b=z.some(b=>b.test(a.label));return{number:a.number,label:a.label,isDefault:a.isDefault,requiresTextInput:b}}),status:"pending",instructionText:h,...void 0!==i?{approvalTarget:i}:{},...void 0!==i&&j?.completeness==="truncated"?{approvalTargetCompleteness:"truncated"}:{},...f?{submitMode:f}:{},...g?{isAskUserQuestion:!0}:{}},cleanContent:a.trim(),rawContent:e(d.trim()),...void 0!==j?{approvalContext:j}:{}}}function I(a,b,c){if(a=(0,d.N)(a),b?.hasNumberedDialogs===!1)return C(a);let g=b?.requireDefaultIndicator??!0,k=a.split("\n"),{scanStart:l,effectiveEnd:m,hasAskUserQuestionFooter:o}=function(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;let c=Math.max(0,b-50),d=!1;for(let e=b-1;e>=c;e--){let c=v.test(a[e]);if(u.test(a[e])||c){b=e,d=c;break}}return{scanStart:c,effectiveEnd:b,hasAskUserQuestionFooter:d}}(k),y=k.slice(l,m);if(function(a){for(let b of a)if(e.l8.test(b))return!0;return!1}(y))return C(a);let{hasConfirmationFooter:z,hasNumberFooter:A}=function(a){let b=!1,c=!1;for(let d of a){let a=d.trim();if(!b&&w.test(a)){b=!0,x.test(a)&&(c=!0);break}}return{hasConfirmationFooter:b,hasNumberFooter:c}}(y);if(g&&!function(a){for(let b of a){let a=b.trim();if(q.test(a))return!0}return!1}(y)&&!z)return C(a);let I=function(a,b,c){let d={collectedOptions:[],optionRows:[],rowsBelow:[],questionEndIndex:-1,continuationLineCount:0,paneWrap:[]},e=n(a,b,c);for(let i=c-1;i>=b;i--){var f,g,h;if(e.rows.has(i)){d.continuationLineCount++;continue}let b=e.cuts.get(i),c=void 0===b?a[i]:a[i].slice(0,b).trimEnd(),k=c.trim();if((f=d,g=c,h=k,void 0!==b&&s.test(g)?(f.paneWrap.unshift(h),f.continuationLineCount++,!!0):!(t.test(h)||j.test(h))||(f.continuationLineCount++,!!0))&&!function(a,b,c,d){let e=c.match(q);if(e){let c=parseInt(e[1],10);if(c<=20&&B(c,a.collectedOptions))return J(a,b,c,e[2],!0,d),!0}let f=c.match(r);if(f){let c=parseInt(f[1],10);if(c>20);else if(B(c,a.collectedOptions))return J(a,b,c,f[2],!1,d),!0}return!1}(d,c,k,b)){if(0===d.collectedOptions.length&&(k.startsWith("❯")||k.startsWith("●")||k.startsWith("›")))return null;if(0===d.collectedOptions.length&&k&&/^\s{3,}/.test(c)&&d.rowsBelow.unshift(c),d.collectedOptions.length>0&&k&&!p.Cj.test(k)&&"break"===function(a,b,c,d){if(/^\s{4,}/.test(b)&&E(b,c))return(a.rowsBelow.unshift(b),a.continuationLineCount++,a.continuationLineCount>25)?(a.questionEndIndex=d,"break"):"continue";if(D(c))return a.questionEndIndex=d,"break";if(E(b,c)){a.rowsBelow.unshift(b),a.continuationLineCount++;let c=/^\s{4,}/.test(b)?25:5;return a.continuationLineCount>c?(a.questionEndIndex=d,"break"):"continue"}return a.questionEndIndex=d,"break"}(d,c,k,i))break}}return{collectedOptions:d.collectedOptions,optionRows:d.optionRows,questionEndIndex:d.questionEndIndex}}(k,l,m);if(null===I)return C(a);let{collectedOptions:K,optionRows:L,questionEndIndex:M}=I;if(!function(a,b,c,d,e,f){var g,h,i;if(!function(a){if(0===a.length||1!==a[0])return!1;let b=0;for(let c=1;c<a.length;c++){let d=a[c]-a[c-1];if(d<1||d>2||(2===d&&b++,b>1))return!1}return!0}(a.map(a=>a.number)))return!1;let j=a.some(a=>a.isDefault);return!(a.length<2)&&(!b||!!j||!!(b&&c))&&(!!b||!!j||(g=d,h=e,i=f,-1!==g&&(!!D(h[g]?.trim()??"")||!!function(a,b,c,d){let e=Math.max(d,b-3);for(let c=b-1;c>=e;c--){let b=a[c]?.trim()??"";if(!(!b||p.Cj.test(b))&&D(b))return!0}return!1}(h,g,0,i))))}(K,g,z,M,k,l))return C(a);let N=M<0?0:(0,i.$N)(k,M,p.ie)+1,O=function(a,b,c=0,d=b+1){if(b<0)return"Please select an option:";let e=Math.max(c,b-5),g=Math.max(e,function(a,b,c,d,e){let g=(0,p.Gc)(a,b,d);for(let d=b-1;d>=c;d--){let b=a[d];if(void 0!==b&&""!==b.trim()&&(0,p._j)(b)<g&&F.test(b.trim())&&function(a,b,c){for(let d=b-1;d>=c;d--){let b=a[d];if(void 0!==b&&""!==b.trim())return f.W1.test(b)||G.test(b.trim())}return!1}(a,d,e))return d}return -1}(a,b,e,d,c)),h=[];for(let c=g;c<=b;c++){let b=a[c].trim();b&&!p.Cj.test(b)&&h.push(b)}return h.join(" ")}(k,M,N,m),P=function(a,b,c){if(b<0)return;let d=Math.max(0,b-19),e=a.slice(d,c).map(a=>a.trimEnd()).join("\n").trim();return e.length>0?e:void 0}(k,M,m),Q=H(O,K,{instructionText:P,...function(a,b,c,d=0){if(b<0)return;let e=(0,p.HD)(a,b,c),f=d>0&&d>=e.start,g=Math.max(d,e.start);return{approvalTarget:(0,p.ZH)(a,g,c),approvalContext:{startRow:g,endRow:c,completeness:f?"complete":e.completeness}}}(k,M,m,N)},a,c,z?A?"answer_only":"answer_then_enter":void 0,o);if(!o)return Q;let R=(0,h.JF)(k);return{...Q,optionRecommendations:K.map((a,b)=>(function(a,b,c){if(void 0===b)return"unknown";let[d]=b.rowsBelow;if(void 0===d)return(0,h.e3)(a);if(b.besidePane)return"unknown";if((0,h.GP)(b.row,d,c))return(0,h.e3)(a);if(!(0,h.iU)(d))return"unknown";let e=b.rowsBelow[1];return!!(void 0===e||(0,h.GP)(d,e,c))||"unknown"})(a.label,L[b],R))}}function J(a,b,c,d,e,f){let g=[d.trim(),...a.paneWrap].join(" ");a.optionRows.unshift({row:b,besidePane:void 0!==f||a.paneWrap.length>0,rowsBelow:a.rowsBelow}),a.rowsBelow=[],a.paneWrap=[],a.collectedOptions.unshift({number:c,label:g,isDefault:e}),a.continuationLineCount=0}},91010:(a,b,c)=>{c.d(b,{b:()=>m});var d=c(42422),e=c(26895),f=c(61878),g=c(70605),h=c(24680),i=c(37717);let j=["enforce","observe","legacy"],k={claude:"observe",copilot:"enforce",opencode:"enforce",codex:"legacy",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy","opencode-v2":"legacy"},l=(0,c(36925).v)("__idleEvidenceObservations",()=>new Map);function m(a){return{...a,detect:(b,c)=>(function(a,b,c={}){let m=(0,f.j4)(b,a.tool),n=a.beforePrompt?.(m)??null;if(n)return n;let o=(0,d.KO)(a.tool),p=(0,d.c)(a.tool)?(0,d._A)(m.clean):(0,d._A)(m.lastLines),q=(0,e.gF)(p,o);if(q.isPrompt)if((0,g.z8)(m.liveRegion,q))q={...q,isPrompt:!1,promptData:void 0};else if(a.isStalePrompt?.(m,q))q={...q,isPrompt:!1,promptData:void 0};else{if(!a.requireVouchedPrompt||c.isPromptVouched?.(q)!==!1)return(0,h._D)(i.g.PROMPT_DETECTED,q);q={...q,isPrompt:!1,promptData:void 0}}let r=a.afterPrompt?.(m,q)??null;if(r)return{...r,promptDetection:r.promptDetection??q};if((0,d.ut)(a.tool,m.thinkingLines))return(0,h.Xx)("running",i.g.THINKING_INDICATOR,q);let s=a.afterThinking?.(m,q)??null;if(s)return{...s,promptDetection:s.promptDetection??q};if(!a.skipGenericInputPrompt){let{promptPattern:b}=(0,d._X)(a.tool);if(b.test(m.lastLines))return{status:"ready",confidence:"high",reason:i.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:function(a,b){if(void 0===a.readIdleEvidence)return"positive";let c=function(a,b=process.env){let c=b.CM_DETECTION_IDLE_EVIDENCE,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();j.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??k[a]??"legacy"}(a.tool);if("legacy"===c)return"positive";let d=a.readIdleEvidence(b);var e=a.tool;let f=l.get(e)??{mode:c,positive:0,none:0};return f.mode=c,"positive"===d?f.positive+=1:f.none+=1,l.set(e,f),"observe"===c?"positive":d}(a,m),promptDetection:q}}return c.lastOutputTimestamp&&Date.now()-c.lastOutputTimestamp.getTime()>5e3?(0,h.Ru)(i.g.NO_RECENT_OUTPUT,q):(0,h.Ru)(a.unreadableReason??i.g.DEFAULT,q)})(a,b,c),detectDialog:a.detectDialog?b=>{let c=(0,f.j4)(b,a.tool),d=a.detectDialog(c);return(0,g.$$)(c.liveRegion,d)?null:d}:()=>null,hasDialogRules:void 0!==a.detectDialog}}},93923:(a,b,c)=>{c.d(b,{zu:()=>G,mB:()=>F});var d=c(42422),e=c(94154),f=c(90304),g=c(24680),h=c(37717),i=c(682),j=c(50435),k=c(61244);let l=/esc\s+to\s+cancel|enter\s+to\s+(?:select|confirm|set\s+as\s+default)/i,m=new Set(["❯",">"]),n=/do you want to\b|allow\b.*\?$/i,o=/ready to submit your answers\?|review your answers/i,p=/set\s+as\s+default/i;var q=c(61878),r=c(58846),s=c(91010),t=c(79204);function u(a){let b=(0,e.p4)(a),c=b?b.openingSeparator:a.length,d=(0,f.QI)(a,0,c).rows,g=c-1;for(;g>=0&&(""===a[g].trim()||d.has(g)||t.Wq.test(a[g]));)g--;return g}let v=/^\s*(?:❯\s*)?1\.\s+Submit answers\s*$/,w=/^\s*(?:❯\s*)?1\.\s+Submit\s*$/,x=/^\s+answers\s*$/,y=/^\s*(?:❯\s*)?2\.\s+Cancel\s*$/,z=/✔\s*Submit/,A=/^ (?:[●│] | {2,}\S)/,B=/^\s?←(?:\s*[☐☒☑])+\s*✔\s*$/,C=/^[^←→☐☒☑✔]*\bSubmit\s*→\s*$/;function D(a,b){for(let c=b-1;c>=0;c--)if(""!==a[c].trim())return c;return -1}function E(a,b,c){let d=b;for(;d>0&&""!==a[d-1].trim();)d--;if(b-d+1>c)return{top:d,text:null};let e=a.slice(d,b+1).map(a=>a.trim()).join(" ");return{top:d,text:e}}function F(a){let b=a.contentLines,c=u(b);if(c<0||!y.test(b[c]))return!1;let d=function(a,b){let c=b-1;return c<0?-1:v.test(a[c])?c:c>=1&&x.test(a[c])&&w.test(a[c-1])?c-1:-1}(b,c);if(d<0||!b[d].includes("❯")&&!b[c].includes("❯"))return!1;let f=D(b,d);if(f<0)return!1;let g=E(b,f,3);if("Ready to submit your answers?"!==g.text)return!1;let h=(0,k.$N)(b,g.top,200);return!!(h>=0&&z.test(b[h]))||null===(0,e.p4)(b)&&function(a,b){let c=b-1;for(;c>=0&&(""===a[c].trim()||A.test(a[c]));)c--;if(c<0)return!0;let d=E(a,c,2);if("Review your answers"!==d.text)return!1;let e=D(a,d.top);return e<0||!!((0,k.yi)(a[e])&&z.test(a[e]))||e>=1&&C.test(a[e])&&B.test(a[e-1])}(b,g.top)}let G=(0,s.b)({tool:"claude",verifiedAgainst:t.V2,liveRegion:r.j,afterPrompt:a=>d.XY.test(function(a){let b=(0,q.Yc)(a,"claude");if("composer"!==b.anchor)return a.lastLines;let c=a.contentLines.length-q.h9;return a.contentLines.slice(Math.max(b.startRow,c)).join("\n")}(a))?(0,g.dX)("waiting",h.g.CLAUDE_SELECTION_LIST):null,afterThinking:a=>d.aU.test(a.lastLines)?(0,g.dX)("running",h.g.THINKING_INDICATOR):null,readIdleEvidence:function(a){let b=u(a.contentLines);if(b>=0&&t.W1.test(a.contentLines[b]))return"positive";let c=(0,e.p4)(a.contentLines),d=a.contentLines.slice(0,c?c.openingSeparator:void 0),f=d.some(a=>t.ji.test(a)),g=d.some(a=>t.Tk.test(a));return f&&!g?"positive":"none"},detectDialog:a=>(function(a,b){var c;if(b.transcriptTail<0)return null;let e=(0,d._A)(a.clean).split("\n"),g=b.transcriptTail+1,h=(0,f.QI)(a.contentLines,0,g),q=(0,f.N0)(e,h),r=(0,i.c)(q,g);if(!r||null===r.selectedGlyph||!m.has(r.selectedGlyph))return null;let s=function(a,b,c,d){let e=[];for(let f=c;f<Math.min(d,a.length);f++){let c=a[f].trim();""===c||b.has(f)||e.push(c)}return e.join("\n")}(q,h.rows,r.lastRow+1,g);return""===s||l.test(s)?{kind:(c=function(a,b){let c=(0,k.$N)(a,b,f.ie);return(0,j.r)(a,b,c)}(q,r.firstRow),o.test(c)?"ask_user":p.test(s)?"picker":n.test(c)?"permission":"dialog"),options:r.options,answerMode:"numbered"}:null})(a,{transcriptTail:u(a.contentLines)})})},95595:(a,b,c)=>{c.d(b,{WC:()=>k,f8:()=>j,gv:()=>d.g,ug:()=>h});var d=c(37717),e=c(61878),f=c(905),g=c(16402);let h=new Set([d.g.OPENCODE_SELECTION_LIST,d.g.OPENCODE_MODAL_OVERLAY,d.g.OPENCODE_PERMISSION_PROMPT,d.g.CLAUDE_SELECTION_LIST,d.g.COMMAND_CODE_SELECTION_LIST,d.g.COMMAND_CODE_PLAN_REVIEW,d.g.COPILOT_SELECTION_LIST,d.g.CODEX_SELECTION_LIST,d.g.CODEX_PAGER,d.g.CODEX_HOOKS_REVIEW,d.g.ANTIGRAVITY_SELECTION_LIST]),i=new Set([d.g.THINKING_INDICATOR,d.g.OPENCODE_PROCESSING_INDICATOR]);function j(a){return"running"===a.status&&i.has(a.reason)}function k(a,b,c){let d=(0,e.zJ)(a,b),h=(0,f.bN)(b).detect(d,{lastOutputTimestamp:c,isPromptVouched:c=>(0,g.vm)(b,c.promptData?.type,a).present});return{status:h.status,confidence:h.confidence,reason:h.reason,hasActivePrompt:h.hasActivePrompt,evidence:h.evidence,promptDetection:h.promptDetection??{isPrompt:!1,cleanContent:d.clean}}}},96742:(a,b,c)=>{c.d(b,{nK:()=>q});var d=c(51297),e=c(90304),f=c(91478),g=c(682),h=c(23479),i=c(81671);let j=/❯[^\S\n]*(\d{1,2})[.)]/,k=/^[^\S\n]*type\s+something\b/i,l=/^\[[ xX\u2714]\]\s/,m=/^\[[xX\u2714]\]\s/,n=/^[^\S\n]*(?:\u276F[^\S\n]*)?(?:Submit|Next)[^\S\n]*$/,o=/^[^\S\n]*Enter\s+to\s+select\b.*\|.*\bEsc\s+to\s+cancel[^\S\n]*$/i;function p(a){return{kind:"unsupported",reason:a}}function q(a){if(!a)return{kind:"none"};if(null!==(0,f.uG)(a))return p("review-page");let b=(0,f.Dk)(a);if(null===b)return(0,f.f_)(a)?p("numbering-unreadable"):{kind:"none"};if(!b.cursorOnOptionRow)return p("cursor-outside-options");let c=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),q=c.slice(b.firstLineIndex,b.lastLineIndex+1);if(q.length>60)return p("region-too-tall");let s=b.tabLineIndex-b.firstLineIndex,t=(0,g.c)(q,q.length,12);if(null===t)return p("option-block-unreadable");let u=[...t.options],v=""===t.footer?[]:t.footer.split("\n"),w=v.some(a=>n.test(a)),x=v.filter(a=>!n.test(a)&&!o.test(a));if(x.length>0){let a=u.length-1;u[a]=[u[a],...x].join(" ").trim()}if(u.length!==b.optionCount)return p("option-count-mismatch");let y=u.some(a=>l.test(a));if(y&&!w)return p("multi-select");let z=q[b.cursorLineIndex-b.firstLineIndex]??"",A=j.exec(z);if(t.selectedIndex<0||"❯"!==t.selectedGlyph||null===A||Number(A[1])!==t.selectedIndex+1)return p("default-unresolved");let B=q.slice(s+1,t.firstRow).map(a=>a.trim()).filter(a=>""!==a);if(0===B.length)return p("question-missing");let C=B.join(" "),D=(0,e.ZH)(q,s+1,q.length),E=u.map((a,b)=>({number:b+1,label:y?a.replace(l,""):a,isDefault:b===t.selectedIndex,...y?{checked:m.test(a)}:{}})),F=(0,e.xe)(C,E,{instructionText:D,approvalTarget:D},q.join("\n"),i.O8,"answer_only",!0),G=F.promptData;return void 0===G||"multiple_choice"!==G.type?p("option-block-unreadable"):{kind:"prompt",region:b,prompt:{...F,optionRecommendations:function(a,b,c){let d=(0,h.JF)(a),e=[],f=0,i="",j=!1;for(let a of b){if(""===a.trim())continue;let b=(0,g.T)(a);if(null!==b&&b.number===e.length+1){e.push([b.label]),f=r.exec(a)?.[0].length??0,i=a,j=!1;continue}if(0===e.length)break;if(!(n.test(a)||o.test(a))&&!j){if(a.length-a.trimStart().length>=f||(0,h.GP)(i,a,d)){j=!0;continue}e[e.length-1].push(a.trim()),i=a}}return e.length!==c?Array.from({length:c},()=>"unknown"):e.map(a=>(0,h.e3)(a.join(" ")))}(c,q.slice(t.firstRow),u.length),promptData:{...G,...y?{multiSelect:!0}:{},options:G.options.map((a,b)=>{let c=E[b]?.checked,d=void 0===c?a:{...a,checked:c};return!0===a.requiresTextInput||k.test(a.label)?{...d,requiresTextInput:!0}:d})}}}}let r=/^[^\S\n]*[│┃]?[^\S\n]*[❯›●>]?[^\S\n]*\d{1,2}[.)][^\S\n]+/}};
|