commandmate 0.41.1 → 0.42.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 +118 -118
- package/.next/app-path-routes-manifest.json +25 -25
- 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.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.js +1 -1
- package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js +2 -2
- package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/route.js +1 -1
- package/.next/server/app/api/relays/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route.js.nft.json +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js +103 -1
- package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +103 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +1 -103
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -103
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +9 -9
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +25 -25
- package/.next/server/chunks/1068.js +1 -0
- package/.next/server/chunks/1210.js +1 -1
- package/.next/server/chunks/1501.js +5 -5
- package/.next/server/chunks/1990.js +103 -0
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/3707.js +1 -1
- package/.next/server/chunks/3718.js +1 -0
- package/.next/server/chunks/434.js +1 -1
- package/.next/server/chunks/4443.js +1 -1
- package/.next/server/chunks/5164.js +1 -1
- package/.next/server/chunks/5775.js +1 -0
- package/.next/server/chunks/611.js +1 -0
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/650.js +1 -1
- package/.next/server/chunks/6781.js +1 -1
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/8581.js +1 -1
- package/.next/server/chunks/8583.js +1 -1
- package/.next/server/chunks/8673.js +2 -2
- package/.next/server/chunks/8728.js +3 -3
- package/.next/server/chunks/8791.js +1 -0
- package/.next/server/chunks/8800.js +1 -1
- package/.next/server/chunks/8918.js +1 -103
- package/.next/server/chunks/9130.js +2 -2
- package/.next/server/chunks/964.js +1 -1
- package/.next/server/chunks/9731.js +3 -3
- package/.next/server/chunks/9882.js +3 -3
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{1642-fb2e176aaadbd137.js → 1642-767aed8e7c61ef7f.js} +1 -1
- package/.next/static/chunks/{2407-7bd75de2f6be3692.js → 2407-faae66d204748f7b.js} +1 -1
- package/.next/static/chunks/{2619-04bc32f026a0d946.js → 2619-a305ad4810f1393a.js} +1 -1
- package/.next/static/chunks/7705-2a2936551b0cf9a3.js +1 -0
- package/.next/static/chunks/8165-235859c6930f01b1.js +1 -0
- package/.next/static/chunks/app/{layout-51fa91ea833c97fc.js → layout-9a715043610e4e27.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/page-61dd928d635db590.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/terminal/{page-373ea37b16d930c7.js → page-c601f3b3ece6557e.js} +1 -1
- package/.next/static/css/{974314e796232f53.css → b3f433d52b8ed5c8.css} +1 -1
- package/.next/trace +13 -13
- package/dist/cli/commands/attach.d.ts +6 -4
- package/dist/cli/commands/attach.d.ts.map +1 -1
- package/dist/cli/commands/attach.js +36 -5
- package/dist/cli/commands/instances.d.ts.map +1 -1
- package/dist/cli/commands/instances.js +5 -0
- package/dist/cli/commands/ls.d.ts.map +1 -1
- package/dist/cli/commands/ls.js +19 -9
- package/dist/cli/commands/whoami.d.ts +9 -25
- package/dist/cli/commands/whoami.d.ts.map +1 -1
- package/dist/cli/commands/whoami.js +18 -42
- package/dist/cli/types/api-responses.d.ts +37 -0
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/lib/cli-tools/session-name.d.ts +72 -4
- package/dist/lib/cli-tools/session-name.d.ts.map +1 -1
- package/dist/lib/cli-tools/session-name.js +115 -12
- package/dist/lib/detection/tools/verified-against.d.ts +11 -2
- package/dist/lib/detection/tools/verified-against.d.ts.map +1 -1
- package/dist/lib/detection/tools/verified-against.js +11 -2
- package/dist/lib/session/tmux-session-surface.d.ts +9 -7
- package/dist/lib/session/tmux-session-surface.d.ts.map +1 -1
- package/dist/lib/session/tmux-session-surface.js +15 -8
- package/dist/lib/tmux/legacy-session-alias.d.ts +43 -0
- package/dist/lib/tmux/legacy-session-alias.d.ts.map +1 -0
- package/dist/lib/tmux/legacy-session-alias.js +64 -0
- package/dist/lib/verification/verify-config.d.ts +21 -0
- package/dist/lib/verification/verify-config.d.ts.map +1 -1
- package/dist/lib/verification/verify-config.js +54 -1
- package/dist/server/locales/en/worktree.json +4 -1
- package/dist/server/locales/ja/worktree.json +4 -1
- package/dist/server/server.js +29 -0
- package/dist/server/src/lib/auto-yes-poller.js +15 -0
- package/dist/server/src/lib/cli-tools/antigravity.js +1 -1
- package/dist/server/src/lib/cli-tools/base.js +10 -1
- package/dist/server/src/lib/cli-tools/codex.js +1 -1
- package/dist/server/src/lib/cli-tools/command-code.js +1 -1
- package/dist/server/src/lib/cli-tools/copilot.js +1 -1
- package/dist/server/src/lib/cli-tools/gemini.js +1 -1
- package/dist/server/src/lib/cli-tools/legacy-session-adoption.js +19 -0
- package/dist/server/src/lib/cli-tools/opencode.js +1 -1
- package/dist/server/src/lib/cli-tools/session-name.js +115 -12
- package/dist/server/src/lib/cli-tools/session-namespace.js +55 -0
- package/dist/server/src/lib/cli-tools/session-ownership.js +21 -0
- package/dist/server/src/lib/cli-tools/vibe-local.js +1 -1
- package/dist/server/src/lib/cli-tools/worktree-session-ownership.js +28 -0
- package/dist/server/src/lib/db/app-settings-db.js +29 -0
- package/dist/server/src/lib/detection/cli-patterns.js +46 -8
- package/dist/server/src/lib/detection/tools/codex/cli-patterns.js +8 -2
- package/dist/server/src/lib/detection/tools/codex/detect.js +8 -1
- package/dist/server/src/lib/detection/tools/codex/prompt.js +6 -2
- package/dist/server/src/lib/detection/tools/verified-against.js +11 -2
- package/dist/server/src/lib/hooks/sources/codex/hooks-config.js +77 -2
- package/dist/server/src/lib/polling/auto-yes-dialog-gate.js +77 -1
- package/dist/server/src/lib/realtime/terminal-broadcast.js +11 -0
- package/dist/server/src/lib/session/adopt-legacy-sessions.js +89 -0
- package/dist/server/src/lib/session/claude-session.js +13 -10
- package/dist/server/src/lib/session/current-output-builder.js +18 -0
- package/dist/server/src/lib/session/send-user-message.js +26 -0
- package/dist/server/src/lib/session/session-instance-targets.js +53 -0
- package/dist/server/src/lib/session/tmux-session-surface.js +15 -8
- package/dist/server/src/lib/session/worktree-session-reconcile.js +101 -56
- package/dist/server/src/lib/session-cleanup.js +33 -3
- package/dist/server/src/lib/tmux/legacy-session-alias.js +64 -0
- package/dist/server/src/lib/tmux/session-hook-scripts.js +12 -4
- package/dist/server/src/lib/tmux/session-ownership.js +174 -0
- package/dist/server/src/lib/tmux/tmux.js +13 -3
- package/dist/server/src/lib/verification/env-clean-gate.js +46 -14
- package/dist/server/src/lib/verification/gate-runner.js +1 -0
- package/dist/server/src/lib/verification/verify-config.js +54 -1
- package/dist/server/src/lib/ws-server.js +11 -0
- package/package.json +1 -1
- package/release-notes/0.42.0.json +62 -0
- package/.next/server/chunks/3323.js +0 -1
- package/.next/server/chunks/7075.js +0 -1
- package/.next/server/chunks/9080.js +0 -1
- package/.next/static/chunks/7705-25076b57224da370.js +0 -1
- package/.next/static/chunks/8165-d3b7c8a7aa776bc7.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-1e6300dd50cd9a4d.js +0 -1
- /package/.next/static/{_fBjTkjoWfOqdjl2SeMIN → EbTDBXcXRpFNH4eom-HVv}/_buildManifest.js +0 -0
- /package/.next/static/{_fBjTkjoWfOqdjl2SeMIN → EbTDBXcXRpFNH4eom-HVv}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=650,exports.ids=[650],exports.modules={26895:(a,b,c)=>{c.d(b,{gF:()=>n,xn:()=>g});var d=c(72626),e=c(69119),f=c(68652);function g(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 h=(0,d.h)("prompt-detector"),i=null;function j(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}let k=[{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 l(a,b,c,d){let{startLine:f,endLine:g}=function(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])}}(b,c,d);return(0,e.ZH)(a,(0,e.wf)(a,f),g+1)}function m(a,b,c,d,e){return{isPrompt:!0,promptData:{type:"yes_no",question:a,options:["yes","no"],status:"pending",...void 0!==e&&{defaultOption:e},instructionText:c,...void 0!==d&&{approvalTarget:d}},cleanContent:b,rawContent:c}}function n(a,b){let c=(0,f.N)(a),d=c===a&&b?.precomputedLines?b.precomputedLines:c.split("\n"),g=d.slice(-50).join("\n"),n=g===i;n||h.debug("detectPrompt:start",{outputLength:c.length}),i=g;let o=d.slice(-20).join("\n"),p=Math.max(0,d.length-20),q=(0,e.rS)(c,b,j);if(q.isPrompt)return n||h.info("detectPrompt:multipleChoice",{isPrompt:!0,question:q.promptData?.question,optionsCount:q.promptData?.options?.length}),q;let r=o.trim();for(let a of k){let b=o.match(a.regex);if(b){let c=b[1].trim();return m(c,c,r,l(d,o,p,b),a.defaultOption)}}let s=o.match(/^(.*?)Approve\?\s*$/m);if(s){let a=s[1].trim();return m(a?`${a} Approve?`:"Approve?",a||"Approve?",r,l(d,o,p,s))}return n||h.debug("detectPrompt:complete",{isPrompt:!1}),{isPrompt:!1,cleanContent:c.trim()}}},28861:(a,b,c)=>{c.d(b,{g:()=>l});var d=c(85164),e=c(69119),f=c(68652),g=c(682);let h=/^\s*●\s/,i=/^\s*─{3,}\s*$/,j=/[??]\s*$/;function k(a){let b=a.split("\n"),c=(b.length>200?b.slice(-200):b).join("\n");return c.length>5e3?c.slice(-5e3):c}function l(a){let b=(0,f.N)(a),c=b.split("\n"),l=function(a){let b=(0,d.dx)(a);if(null===b)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 h=b.start+e.firstRow,k=-1,l=-1,m=0;for(let c=h-1;c>=b.start&&m<3;c--){let b=a[c];if(""!==b.trim()){if(d.OM.test(b)||i.test(b))break;if(m++,l<0&&(l=c),j.test(b)){k=c;break}}}return k<0&&(k=l),{question:k<0?"Please select an option:":a[k].trim(),options:f,selectedIndex:e.selectedIndex,questionRow:k<0?h:k,firstOptionRow:h,footerRow:b.footer}}(c);return null===l?null:(0,e.xe)(l.question,l.options.map((a,b)=>({number:b+1,label:a,isDefault:b===l.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(h.test(a[c])){e=c+1;break}let g=a.slice(e,b.footerRow+1).filter(a=>!i.test(a)).map(a=>a.trimEnd()).join("\n").trim();return g.length>0?g:void 0}(c,l),approvalTarget:(0,e.ZH)(c,(0,e.wf)(c,l.questionRow),l.footerRow)},b,k)}},30008:(a,b,c)=>{c.d(b,{F1:()=>g,_G:()=>i,j0:()=>f,rB:()=>h,xF:()=>j});var d=c(48083),e=c(67882);let f=3e5,g="CM_STRUCTURED_SEND_GUARD";function h(a){return"notification"===a.source?e.Oh.PERMISSION_PROMPT:e.Oh.PERMISSION_REQUEST}function i({worktreeId:a,cliToolId:b,instanceId:c,scraper:e,ignoreStructured:i=!1,now:j=Date.now()}){var k,l,m;let n=(0,d.getStructuredPromptWaiting)(a,b,c,j);null!==n&&("waiting"===e.status?(0,d.corroborateStructuredPromptWaiting)(a,b,c,j):n.scraperCorroborated&&((0,d.clearStructuredPromptWaiting)(a,b,c),n=null));let o=e.hasActivePrompt||null!==n;if(e.hasActivePrompt)return{waiting:o,scraperWaiting:!0,structured:n,blocksSend:!0,blockedBy:"scraper",blockReason:e.reason,structuredSendBlockSuppressed:null};if(null===n)return{waiting:o,scraperWaiting:!1,structured:null,blocksSend:!1,blockedBy:null,blockReason:null,structuredSendBlockSuppressed:null};let p=(k=n,l=i,m=j,l?"caller_opt_out":!function(){let a=process.env[g]?.trim().toLowerCase();return"off"===a||"0"===a||"false"===a}()?m-k.at>=f?"expired":null:"disabled");return{waiting:o,scraperWaiting:!1,structured:n,blocksSend:null===p,blockedBy:null===p?"structured":null,blockReason:null===p?h(n):null,structuredSendBlockSuppressed:p}}function j({worktreeId:a,cliToolId:b,instanceId:c,scraper:e,now:f=Date.now()}){let g=(0,d.getStructuredPromptWaiting)(a,b,c,f);return{waiting:e.hasActivePrompt||null!==g,scraperWaiting:e.hasActivePrompt,structured:g}}},37717:(a,b,c)=>{c.d(b,{g:()=>d});let d={PROMPT_DETECTED:"prompt_detected",THINKING_INDICATOR:"thinking_indicator",OPENCODE_PROCESSING_INDICATOR:"opencode_processing_indicator",OPENCODE_SELECTION_LIST:"opencode_selection_list",OPENCODE_MODAL_OVERLAY:"opencode_modal_overlay",OPENCODE_PERMISSION_PROMPT:"opencode_permission_prompt",CLAUDE_SELECTION_LIST:"claude_selection_list",COMMAND_CODE_SELECTION_LIST:"command_code_selection_list",COMMAND_CODE_DISMISSABLE_PANEL:"command_code_dismissable_panel",COMMAND_CODE_PLAN_REVIEW:"command_code_plan_review",COPILOT_SELECTION_LIST:"copilot_selection_list",CODEX_SELECTION_LIST:"codex_selection_list",CODEX_PAGER:"codex_pager",CODEX_HOOKS_REVIEW:"codex_hooks_review",ANTIGRAVITY_SELECTION_LIST:"antigravity_selection_list",OPENCODE_RESPONSE_COMPLETE:"opencode_response_complete",INPUT_PROMPT:"input_prompt",NO_RECENT_OUTPUT:"no_recent_output",EXITED:"exited",UNKNOWN_FRAME:"unknown_frame",DEFAULT:"default"}},45150:(a,b,c)=>{c.d(b,{Lj:()=>k,VC:()=>l});var d=c(85164),e=c(37717),f=c(91010),g=c(1804),h=c(28861);let i=g.yh,j={status:"waiting",confidence:"high",reason:e.g.ANTIGRAVITY_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive"};function k(a,b){if(b.promptData?.type!=="multiple_choice")return!1;let c=(0,d._A)(a.contentLines.join("\n")).split("\n"),{promptPattern:e}=(0,d._X)("antigravity"),f=-1;for(let a=c.length-1;a>=0;a--)if(e.test(c[a])){f=a;break}return!(f<0)&&!c.slice(f+1).some(a=>d.Ly.test(a))}let l=(0,f.b)({tool:"antigravity",verifiedAgainst:i,isStalePrompt:k,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 j;if(!d.kT.test(a.lastLines)||!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,h.g)(b);return null!==a?{status:"waiting",confidence:"high",reason:e.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:a}:{status:"running",confidence:"low",reason:e.g.UNKNOWN_FRAME,hasActivePrompt:!1,evidence:"none"}}return j},afterThinking(a){if((0,d.ut)("antigravity",a.lastLines))return{status:"running",confidence:"high",reason:e.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"};let{promptPattern:b}=(0,d._X)("antigravity");return b.test(a.lastLines)?{status:"ready",confidence:"high",reason:e.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:"positive"}:null}})},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:()=>h,Tq:()=>g,jW:()=>m});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,b,c){let d=Math.max(0,b-c);for(let c=b-1;c>=d;c--)if(function(a){let b=a.trimEnd();return e.test(b)||f.test(b)}(a[c]??""))return c;return -1}let i=/┌(─+)┐\s*$/,j=/^\s*(?:[❯›>]\s*)?1\.\s+\S/,k=/^( *)└(─+)┘\s*$/,l=/^\s*(?:[❯›>]\s*)?\d{1,2}\.\s+\S|^\s{2,}\S/;function m(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=i.exec(b);if(!h||!j.test(b.slice(0,h.index)))continue;let m=-1,n=0;for(let b=c+1;b<Math.min(f,c+80);b++){let c=k.exec(a[b]);if(c&&c[2].length===h[1].length){m=b,n=c[1].length;break}}if(m<0)continue;let o=[m],p=[[c,h.index]];for(let b=c+1;b<m;b++){let c=a[b].indexOf("│"),d=c>0?a[b].slice(0,c):"";""!==d.trim()&&l.test(d)?p.push([b,c]):o.push(b)}let q=m+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}}},69119:(a,b,c)=>{c.d(b,{J0:()=>y,N0:()=>m,QI:()=>l,ZH:()=>G,ie:()=>E,rS:()=>I,wf:()=>F,xe:()=>H});var d=c(68652),e=c(85164),f=c(61244);let g=/^\s*[\u276F\u25CF\u203A][^\d]*(\d+)(?:\.(?!\d)|\s{2,})\s*(.+)$/,h=/^\s*[^\d]{0,3}(\d+)(?:\.(?!\d)|\s+)\s*(.+)$/,i=/^\s*\d{1,3}\s+tasks?\s+\(\d+\s+done\b/i,j=/^\s*[◼◻]\s/,k=/^(?:No changes this session|\+\d+ files? edited before this session \(show\))$/;function l(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(k.test(a[e].trim())){d.add(e);continue}if(i.test(a[e])){d.add(e);for(let b=e+1;b<Math.min(c,a.length);b++){let c=a[b];if(!j.test(c)&&!q.test(c))break;d.add(b)}}}return d}(a,b,c),e=(0,f.jW)(a,b,c);for(let a of e.rows)d.add(a);return{rows:d,cuts:e.cuts}}function m(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 n=/^\s{3,}\S/,o=/^[-─]+$/,p=/^\s*\[[^\]]*\d+\s+lines?\]/i,q=/^\s*[…]?\s*[+\-↑↓⏵⏷]?\s*\d+\s+(?:pending|more|completed)\b/i,r=/Esc\s+to\s+cancel\s*[·•]\s*Tab\s+to\s+amend/i,s=f.Tq,t=/press\s+(?:enter|number)\s+to\s+confirm/i,u=/press\s+number\s+to\s+confirm/i,v=/(?:select|choose|pick|which|what|how|where|enter|type|specify|confirm|approve|accept|reject|decide|preference|option)/i,w=[/type\s+here/i,/tell\s+(me|claude)/i,/enter\s+/i,/custom/i,/differently/i],x=[/^[^\S\n]*type\s+something\b/i];function y(a){return!0===a.requiresTextInput&&x.some(b=>b.test(a.label))}function z(a,b){if(0===b.length)return!0;let c=b[0].number;return a<c&&a>=c-2}function A(a){return{isPrompt:!1,cleanContent:a.trim()}}function B(a){return 0!==a.length&&!!(a.includes("?")||a.includes("?")||v.test(a))}function C(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 D=/^[⏺⎿●○•✔✓✖✗✘›»❯└├>]/,E=12;function F(a,b){let c=Math.max(0,b-E);for(let d=b-1;d>=c;d--)if(function(a){if(void 0===a)return!1;let b=a.trim();return""!==b&&(D.test(b)||o.test(b))}(a[d]))return d+1;return c}function G(a,b,c){let d=a.slice(b,c).map(a=>a.trimEnd()).join("\n").trim();return d.length>0?d:void 0}function H(a,b,c,d,e,f,g){let{instructionText:h,approvalTarget:i}=c??{};return{isPrompt:!0,promptData:{type:"multiple_choice",question:a.trim(),options:b.map(a=>{let b=w.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}:{},...f?{submitMode:f}:{},...g?{isAskUserQuestion:!0}:{}},cleanContent:a.trim(),rawContent:e(d.trim())}}function I(a,b,c){if(a=(0,d.N)(a),b?.hasNumberedDialogs===!1)return A(a);let i=b?.requireDefaultIndicator??!0,j=a.split("\n"),k=j.length;for(;k>0&&""===j[k-1].trim();)k--;let m=Math.max(0,k-50),v=!1;for(let a=k-1;a>=m;a--){let b=s.test(j[a]);if(r.test(j[a])||b){k=a,v=b;break}}let w=j.slice(m,k);for(let b of w)if(e.l8.test(b))return A(a);let x=!1,y=!1;for(let a of w){let b=a.trim();if(!x&&t.test(b)){x=!0,u.test(b)&&(y=!0);break}}if(i){let b=!1;for(let a of w){let c=a.trim();if(g.test(c)){b=!0;break}}if(!b&&!x)return A(a)}let D=[],I=-1,J=0,K=l(j,m,k),L=[];for(let b=k-1;b>=m;b--){if(K.rows.has(b)){J++;continue}let c=K.cuts.get(b),d=void 0===c?j[b]:j[b].slice(0,c).trimEnd(),e=d.trim();if(void 0!==c&&n.test(d)){L.unshift(e),J++;continue}if(p.test(e)||q.test(e)){J++;continue}let f=e.match(g);if(f){let a=parseInt(f[1],10);if(a<=20&&z(a,D)){let b=[f[2].trim(),...L].join(" ");L=[],D.unshift({number:a,label:b,isDefault:!0}),J=0;continue}}let i=e.match(h);if(i){let a=parseInt(i[1],10);if(a>20);else if(z(a,D)){let b=[i[2].trim(),...L].join(" ");L=[],D.unshift({number:a,label:b,isDefault:!1}),J=0;continue}}if(0===D.length&&(e.startsWith("❯")||e.startsWith("●")||e.startsWith("›")))return A(a);if(D.length>0&&e&&!o.test(e)){if(/^\s{4,}/.test(d)&&C(d,e)){if(++J>25){I=b;break}continue}if(B(e)){I=b;break}if(C(d,e)){if(++J>(/^\s{4,}/.test(d)?25:5)){I=b;break}continue}I=b;break}}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}(D.map(a=>a.number)))return A(a);let M=D.some(a=>a.isDefault),N=i&&x;if(D.length<2||i&&!M&&!N||!i&&!M&&(-1===I||!B(j[I]?.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||o.test(b))&&B(b))return!0}return!1}(j,I,0,m)))return A(a);let O=I<0?0:(0,f.$N)(j,I,E)+1,P=function(a,b,c=0){if(b<0)return"Please select an option:";let d=[];for(let e=Math.max(c,b-5);e<=b;e++){let b=a[e].trim();b&&!o.test(b)&&d.push(b)}return d.join(" ")}(j,I,O),Q=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}(j,I,k);return H(P,D,{instructionText:Q,approvalTarget:function(a,b,c,d=0){if(!(b<0))return G(a,Math.max(d,F(a,b)),c)}(j,I,k,O)},a,c,x?y?"answer_only":"answer_then_enter":void 0,v)}},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}`}},91010:(a,b,c)=>{c.d(b,{b:()=>k});var d=c(85164),e=c(26895),f=c(37717);let g=["enforce","observe","legacy"],h={claude:"observe",copilot:"enforce",opencode:"enforce",codex:"legacy",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy"},i=globalThis.__idleEvidenceObservations??(globalThis.__idleEvidenceObservations=new Map),j=new Set(["opencode","codex","claude","copilot"]);function k(a){return{...a,detect:(b,c)=>(function(a,b,c={}){let k=a.beforePrompt?.(b)??null;if(k)return k;let l=(0,d.KO)(a.tool),m=j.has(a.tool)?(0,d._A)(b.clean):(0,d._A)(b.lastLines),n=(0,e.gF)(m,l);if(n.isPrompt)if(!a.isStalePrompt?.(b,n))return{status:"waiting",confidence:"high",reason:f.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:n};else n={...n,isPrompt:!1,promptData:void 0};let o=a.afterPrompt?.(b,n)??null;if(o)return{...o,promptDetection:o.promptDetection??n};if((0,d.ut)(a.tool,b.thinkingLines))return{status:"running",confidence:"high",reason:f.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive",promptDetection:n};let p=a.afterThinking?.(b,n)??null;if(p)return{...p,promptDetection:p.promptDetection??n};if(!a.skipGenericInputPrompt){let{promptPattern:c}=(0,d._X)(a.tool);if(c.test(b.lastLines))return{status:"ready",confidence:"high",reason:f.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 h=c.trim(),i=f.trim();g.includes(i)&&("*"===h?d=i:h===a&&(e=i))}return e??d??h[a]??"legacy"}(a.tool);if("legacy"===c)return"positive";let d=a.readIdleEvidence(b);var e=a.tool;let f=i.get(e)??{mode:c,positive:0,none:0};return f.mode=c,"positive"===d?f.positive+=1:f.none+=1,i.set(e,f),"observe"===c?"positive":d}(a,b),promptDetection:n}}return c.lastOutputTimestamp&&Date.now()-c.lastOutputTimestamp.getTime()>5e3?{status:"running",confidence:"low",reason:f.g.NO_RECENT_OUTPUT,hasActivePrompt:!1,evidence:"none",promptDetection:n}:{status:"running",confidence:"low",reason:a.unreadableReason??f.g.DEFAULT,hasActivePrompt:!1,evidence:"none",promptDetection:n}})(a,b,c),detectDialog:a.detectDialog??(()=>null),hasDialogRules:void 0!==a.detectDialog}}},91478:(a,b,c)=>{c.d(b,{Dk:()=>v,a9:()=>l,f_:()=>w,sl:()=>n,tH:()=>p,uG:()=>B,yt:()=>o});var d=c(51297);let e=/^[^0-9A-Za-z]*([1-9])[.)]\s+\S/,f=/\btype\s+to\s+search\b|\bsearch\s+\w+\s*(?:…|\.\.\.)|(?:^|·)\s*\/\s+search\b/im,g=/\benter\s+to\s+select\b\s*[·•]\s*esc\s+to\s+cancel\b/i,h=/^\s*(?:press|hit|type)?\s*(?:<)?esc(?:ape)?(?:>)?\s+to\s+(?:close|dismiss|exit)\b[\s.·•]*$/im,i=/^\s*(?:❯ +)?Approve\s+ctrl\+a\b[^\n]*\n\s*(?:❯ +)?Cancel\s+esc\s*$/im,j=/^\s*Approve\s+\([• ]\)\s+with\s+\d+\s+comments?\s+as\s+notes\s+\([• ]\)\s+original\s+plan\b/im,k=/(?:^|\n)[ \t]*←\/→\s+choose\s*·\s*enter\s+confirm\s*·\s*esc\s+back\s*$/i;function l(a){return j.test(a)&&k.test(a)}function m(a,b){return a.split("\n").filter(a=>""!==a.trim()).slice(-b).join("\n")}function n(a){return g.test(m(a,1))}function o(a){return h.test(m(a,1))}function p(a){return i.test(m(a,5))}let q=/^\u2500+$/,r="●◉⦿",s=RegExp(`^\\s*([${r}◯○◌⚪✔])\\s+\\S`);function t(a){let b=a.split("|");if(b.length<2)return!1;let c=0,d=0;for(let a of b){let b=s.exec(a);if(null===b)return!1;r.includes(b[1])?c+=1:d+=1}return c>0&&d>0}let u=/\besc\s+to\s+interrupt\b|^[^\S\n]*✻[^\S\n]+\S/im;function v(a){let b=C(a);return null!==b&&b.numbers.every((a,b)=>a===b+1)&&1===b.cursorCount?{ruleLineIndex:b.ruleLineIndex,firstLineIndex:b.firstLineIndex,lastLineIndex:b.lastLineIndex,tabLineIndex:b.tabLineIndex,cursorLineIndex:b.cursorLineIndex,cursorOnOptionRow:b.cursorOnOptionRow,optionCount:b.numbers.length}:null}function w(a){return null!==C(a)}let x=/^[^\S\n]*(?:\u276F[^\S\n]*)?1[.)][^\S\n]+Submit[^\S\n]*$/im,y=/^[^\S\n]*(?:\u276F[^\S\n]*)?2[.)][^\S\n]+Cancel[^\S\n]*$/im,z=/^[^\S\n]*\u2190[^\S\n]+to[^\S\n]+go[^\S\n]+back[^\S\n]+and[^\S\n]+edit[^\S\n]*$/im,A=/have\s+not\s+answered\s+all\s+questions/i;function B(a){if(!a)return null;let b=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;if(c<1)return null;let e=-1;for(let a=c-1;a>=0;a-=1){let c=b[a].trim();if(!(c.length<40)&&q.test(c)){e=a;break}}if(e<0)return null;let f=b.slice(e+1,c+1),g=f.findIndex(a=>""!==a.trim());if(g<0||!t(f[g]))return null;let h=f.join("\n");if(!x.test(h)||!y.test(h)||!z.test(h))return null;let i=f.find(a=>x.test(a));return{hasUnansweredWarning:A.test(h),cursorOnSubmit:void 0!==i&&i.includes("❯")}}function C(a){if(!a)return null;let b=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;if(c<1)return null;let i=-1;for(let a=c-1;a>=0;a-=1){let c=b[a].trim();if(!(c.length<40)&&q.test(c)){i=a;break}}if(i<0)return null;let j=b.slice(i+1,c+1),k=j.join("\n");if(f.test(k)||g.test(k)||h.test(k)||u.test(k))return null;let l=j.findIndex(a=>""!==a.trim());if(l<0||!t(j[l]))return null;let m=[],n=-1;for(let a=l+1;a<j.length;a+=1){let b=e.exec(j[a]);null!==b&&(n<0&&(n=a),m.push(Number(b[1])))}if(m.length<2||!j.slice(l+1,n).some(a=>""!==a.trim()))return null;let o=0,p=-1,r=!1;for(let a=0;a<j.length;a+=1){let b=j[a].split("❯").length-1;0!==b&&(o+=b,p=a,r=e.test(j[a]))}return 0===o?null:{ruleLineIndex:i,firstLineIndex:i+1,lastLineIndex:c,tabLineIndex:i+1+l,numbers:m,cursorCount:o,cursorLineIndex:i+1+p,cursorOnOptionRow:r}}},95595:(a,b,c)=>{c.d(b,{WC:()=>j,f8:()=>i,gv:()=>d.g,ug:()=>g});var d=c(37717),e=c(74258),f=c(97123);let g=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]),h=new Set([d.g.THINKING_INDICATOR,d.g.OPENCODE_PROCESSING_INDICATOR]);function i(a){return"running"===a.status&&h.has(a.reason)}function j(a,b,c){let d=(0,e.z)(a),g=(0,f.bN)(b).detect(d,{lastOutputTimestamp:c});return{status:g.status,confidence:g.confidence,reason:g.reason,hasActivePrompt:g.hasActivePrompt,evidence:g.evidence,promptDetection:g.promptDetection??{isPrompt:!1,cleanContent:d.clean}}}},96742:(a,b,c)=>{c.d(b,{nK:()=>p});var d=c(51297),e=c(69119),f=c(91478),g=c(682);let h=/❯[^\S\n]*(\d{1,2})[.)]/,i=/^[^\S\n]*type\s+something\b/i,j=/^\[[ xX\u2714]\]\s/,k=/^\[[xX\u2714]\]\s/,l=/^[^\S\n]*(?:\u276F[^\S\n]*)?(?:Submit|Next)[^\S\n]*$/,m=/^[^\S\n]*Enter\s+to\s+select\b.*\|.*\bEsc\s+to\s+cancel[^\S\n]*$/i;function n(a){let b=a.split("\n"),c=(b.length>200?b.slice(-200):b).join("\n");return c.length>5e3?c.slice(-5e3):c}function o(a){return{kind:"unsupported",reason:a}}function p(a){if(!a)return{kind:"none"};if(null!==(0,f.uG)(a))return o("review-page");let b=(0,f.Dk)(a);if(null===b)return(0,f.f_)(a)?o("numbering-unreadable"):{kind:"none"};if(!b.cursorOnOptionRow)return o("cursor-outside-options");let c=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ).slice(b.firstLineIndex,b.lastLineIndex+1);if(c.length>60)return o("region-too-tall");let p=b.tabLineIndex-b.firstLineIndex,q=(0,g.c)(c,c.length,12);if(null===q)return o("option-block-unreadable");let r=[...q.options],s=""===q.footer?[]:q.footer.split("\n"),t=s.some(a=>l.test(a)),u=s.filter(a=>!l.test(a)&&!m.test(a));if(u.length>0){let a=r.length-1;r[a]=[r[a],...u].join(" ").trim()}if(r.length!==b.optionCount)return o("option-count-mismatch");let v=r.some(a=>j.test(a));if(v&&!t)return o("multi-select");let w=c[b.cursorLineIndex-b.firstLineIndex]??"",x=h.exec(w);if(q.selectedIndex<0||"❯"!==q.selectedGlyph||null===x||Number(x[1])!==q.selectedIndex+1)return o("default-unresolved");let y=c.slice(p+1,q.firstRow).map(a=>a.trim()).filter(a=>""!==a);if(0===y.length)return o("question-missing");let z=y.join(" "),A=(0,e.ZH)(c,p+1,c.length),B=r.map((a,b)=>({number:b+1,label:v?a.replace(j,""):a,isDefault:b===q.selectedIndex,...v?{checked:k.test(a)}:{}})),C=(0,e.xe)(z,B,{instructionText:A,approvalTarget:A},c.join("\n"),n,"answer_only",!0),D=C.promptData;return void 0===D||"multiple_choice"!==D.type?o("option-block-unreadable"):{kind:"prompt",region:b,prompt:{...C,promptData:{...D,...v?{multiSelect:!0}:{},options:D.options.map((a,b)=>{let c=B[b]?.checked,d=void 0===c?a:{...a,checked:c};return!0===a.requiresTextInput||i.test(a.label)?{...d,requiresTextInput:!0}:d})}}}}},97123:(a,b,c)=>{c.d(b,{bN:()=>aj});var d=c(45150),e=c(85164),f=c(94154),g=c(69119),h=c(37717),i=c(682),j=c(61244);let k=/esc\s+to\s+cancel|enter\s+to\s+(?:select|confirm|set\s+as\s+default)/i,l=new Set(["❯",">"]),m=/do you want to\b|allow\b.*\?$/i,n=/ready to submit your answers\?|review your answers/i,o=/set\s+as\s+default/i;var p=c(74258),q=c(91010),r=c(1804);let s=/^\s*[✻✽✶✢✳⦿◉●·⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]\s+\S+\s+for\s+(?:\d+m\s*)?\d+(?:\.\d+)?s(?:\s|$|\s*·)/,t=/^\s*╭─+\s*Claude Code v/,u=/^\s*[>❯]\s+\S/,v=/·\s*\/effort\s*$/;function w(a){let b=(0,f.p4)(a),c=b?b.openingSeparator:a.length,d=(0,g.QI)(a,0,c).rows,e=c-1;for(;e>=0&&(""===a[e].trim()||d.has(e)||v.test(a[e]));)e--;return e}let x=(0,q.b)({tool:"claude",verifiedAgainst:r.iE,afterPrompt:a=>e.XY.test(function(a){let b=(0,f.p4)(a.contentLines);if(!b)return a.lastLines;let c=a.contentLines.length-p.h;return a.contentLines.slice(Math.max(b.openingSeparator,c)).join("\n")}(a))?{status:"waiting",confidence:"high",reason:h.g.CLAUDE_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive"}:null,afterThinking:a=>e.aU.test(a.lastLines)?{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"}:null,readIdleEvidence:function(a){let b=w(a.contentLines);if(b>=0&&s.test(a.contentLines[b]))return"positive";let c=(0,f.p4)(a.contentLines),d=a.contentLines.slice(0,c?c.openingSeparator:void 0),e=d.some(a=>t.test(a)),g=d.some(a=>u.test(a));return e&&!g?"positive":"none"},detectDialog:a=>(function(a,b){var c;if(b.transcriptTail<0)return null;let d=(0,e._A)(a.clean).split("\n"),f=b.transcriptTail+1,h=(0,g.QI)(a.contentLines,0,f),p=(0,g.N0)(d,h),q=(0,i.c)(p,f);if(!q||null===q.selectedGlyph||!l.has(q.selectedGlyph))return null;let r=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")}(p,h.rows,q.lastRow+1,f);return""===r||k.test(r)?{kind:(c=function(a,b){let c=(0,j.$N)(a,b,g.ie),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")}(p,q.firstRow),n.test(c)?"ask_user":o.test(r)?"picker":m.test(c)?"permission":"dialog"),options:q.options,answerMode:"numbered"}:null})(a,{transcriptTail:w(a.contentLines)})});var y=c(26895),z=c(65912);let A={"hooks-review":"permission","hooks-list":"picker","hooks-detail":"picker",update:"update",trust:"trust"};var B=c(46423);let C=r.jP,D=/press\s+(?:number|enter)\s+to\s+confirm/i,E=/^\s*[❯›●]?\s*\d{1,2}[.)]\s/;function F(a){for(let b=a.length-1;b>=Math.max(0,a.length-10);b--){let c=a[b];if(e.aW.test(c)||e.UO.test(c))return b}return -1}function G(a){let b=F(a),c=b>=0?b-1:a.length-1;for(;c>=0&&""===a[c].trim();)c--;return c+1}function H(a){let b=F(a),c=b>=0?b:a.length,d=-1,f=-1;for(let b=0;b<c;b++){let c=a[b],g=c.trim();""!==g&&((D.test(g)||E.test(g))&&(d=b),(0,e.ut)("codex",c)&&(f=b))}return d>=0&&f>d}function I(a){return(0,z.kp)(a)?.kind==="option"}let J=(0,q.b)({tool:"codex",verifiedAgainst:C,beforePrompt(a){let{contentLines:b}=a;if((0,z.Gs)(a.raw,b,G(b)))return null;if(e.pn.test(a.lastLines))return{status:"waiting",confidence:"high",reason:h.g.CODEX_PAGER,hasActivePrompt:!1,evidence:"positive",promptDetection:(0,y.gF)((0,e._A)(a.clean),(0,e.KO)("codex"))};let c=(0,e.E6)(a.clean);if("hooks-list"===c||"hooks-detail"===c)return{status:"waiting",confidence:"high",reason:h.g.CODEX_HOOKS_REVIEW,hasActivePrompt:!1,evidence:"positive",promptDetection:(0,y.gF)((0,e._A)(a.clean),(0,e.KO)("codex"))};let d=F(b),f=d>=0?d-1:b.length-1;for(;f>=0&&""===b[f].trim();)f--;if(f>=0){let c=b.slice(Math.max(0,f-p.h+1),f+1).join("\n");if(e.Jn.test(c)){let d=(0,y.gF)((0,e._A)(a.clean),(0,e.KO)("codex"));return d.isPrompt&&((d.promptData?.question?.trim()??"").endsWith("?")||e.Dd.test(c))&&!H(b)?{status:"waiting",confidence:"high",reason:h.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:d}:{status:"waiting",confidence:"high",reason:h.g.CODEX_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive",promptDetection:d}}}let g=(0,z.t)(a.raw,b,G(b));if(g&&!H(b)){g.footerRecognised||(0,z.AT)(g.footer);let b=(0,y.gF)((0,e._A)(a.clean),(0,e.KO)("codex"));return b.isPrompt?{status:"waiting",confidence:"high",reason:h.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:b}:{status:"waiting",confidence:"high",reason:h.g.CODEX_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive",promptDetection:b}}return null},isStalePrompt:a=>H(a.contentLines)||(0,z.Gs)(a.raw,a.contentLines,G(a.contentLines)),detectDialog(a){let b=G(a.contentLines);return(0,z.Gs)(a.raw,a.contentLines,b)?null:function(a,b){let c=(0,e._A)(a.clean).split("\n"),d=(0,i.c)(c,b.contentEnd);if(b.lifecycleDialog)return{kind:A[b.lifecycleDialog],options:d?.options??[],answerMode:"numbered"};if(!d||!e.Jn.test(d.footer)&&!e.$I.test(d.footer)||b.stalePrompt)return null;let f=function(a,b){let c=[];for(let d=b-1;d>=0&&c.length<4;d--){let b=a[d].trim();""!==b&&c.push(b)}return c.join("\n")}(c,d.firstRow);return{kind:e.Dd.test(d.footer)||f.split("\n")[0]?.endsWith("?")?"permission":"picker",options:d.options,answerMode:"numbered"}}(a,{contentEnd:b,stalePrompt:H(a.contentLines),lifecycleDialog:(0,e.E6)(a.clean)})},afterThinking(a){let{contentLines:b}=a,c=F(b);if(c>=0){let d=c-1;for(;d>=0&&""===b[d].trim();)d--;if(d>=0){let c=b.slice(Math.max(0,d-B.$+1),d+1).join("\n");return(0,e.ut)("codex",c)?{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"}:e.gm.test(b[d].trim())&&!I(a.raw)?{status:"ready",confidence:"high",reason:h.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:"positive"}:{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"}}}else{let c=b.length-1;for(;c>=0&&""===b[c].trim();)c--;if(!(c>=0&&e.gm.test(b[c].trim())&&!I(a.raw))&&(0,e.ut)("codex",a.lastLines))return{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"}}return null}});var K=c(91478),L=c(96742);let M=/^\s*↑\/↓\s+navigate\s+·\s+enter\s+select\s+·.*\bto\s+bypass\s+all\s+permissions\b/,N=r.ji,O=(0,q.b)({tool:"command-code",verifiedAgainst:N,beforePrompt(a){if((0,K.tH)(a.lastLines)||(0,K.a9)(a.lastLines))return{status:"waiting",confidence:"high",reason:h.g.COMMAND_CODE_PLAN_REVIEW,hasActivePrompt:!1,evidence:"positive"};let b=(0,L.nK)(a.raw);return"prompt"===b.kind?{status:"waiting",confidence:"high",reason:h.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:b.prompt}:"unsupported"===b.kind?{status:"waiting",confidence:"high",reason:h.g.COMMAND_CODE_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive"}:null},afterPrompt:a=>(0,K.yt)(a.lastLines)?{status:"waiting",confidence:"high",reason:h.g.COMMAND_CODE_DISMISSABLE_PANEL,hasActivePrompt:!1,evidence:"positive"}:(0,K.sl)(a.lastLines)?{status:"waiting",confidence:"high",reason:h.g.COMMAND_CODE_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive"}:null,detectDialog:a=>(function(a){let b=a.contentLines,c=b[b.length-1];if(void 0===c||!M.test(c))return null;let d=(0,i.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,e.ut)("command-code",a.lastLines))return{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"};let{promptPattern:b}=(0,e._X)("command-code");return b.test(a.lastLines)?{status:"ready",confidence:"high",reason:h.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:"positive"}:null}}),P=/do you want to\b/i,Q=r.MJ,R=(0,q.b)({tool:"copilot",verifiedAgainst:Q,beforePrompt(a){if((0,e.gT)(a.contentLines)){let b=(0,e.KO)("copilot"),c=(0,y.gF)((0,e._A)(a.clean),b);return c.isPrompt&&(c.promptData?.options?.length??0)<=3?{status:"waiting",confidence:"high",reason:h.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:c}:{status:"waiting",confidence:"high",reason:h.g.COPILOT_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive",promptDetection:c}}if("working"===(0,e.Wn)(a.contentLines)){let b=(0,e.KO)("copilot"),c=(0,y.gF)((0,e._A)(a.clean),b);return{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive",promptDetection:c}}return null},afterThinking:a=>"idle"===(0,e.Wn)(a.contentLines)?{status:"ready",confidence:"high",reason:h.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:"positive"}:null,skipGenericInputPrompt:!0,readIdleEvidence:function(a){return"idle"===(0,e.Wn)(a.contentLines)?"positive":"none"},detectDialog:a=>(function(a,b){if(null!==b.statusBar)return null;let c=(0,e._A)(a.clean).split("\n"),d=(0,i.c)(c,b.contentEnd);if(d&&e.V.test(d.footer)){let a=function(a,b){let c=[];for(let d=b-1;d>=0&&c.length<4;d--){let b=a[d].trim();""!==b&&c.push(b)}return c.join("\n")}(c,d.firstRow);return{kind:e.rX.some(b=>a.includes(b))?"trust":P.test(a)?"permission":"picker",options:d.options,answerMode:"numbered"}}return b.selectionFrame?{kind:"picker",options:[],answerMode:"keys"}:null})(a,{statusBar:(0,e.Wn)(a.contentLines),selectionFrame:(0,e.gT)(a.contentLines),contentEnd:a.contentLines.length}),unreadableReason:h.g.UNKNOWN_FRAME});var S=c(76777),T=c(50524);let U=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-9;]*m/g,V=/^(?:\x1b\[|\[)([0-9;]*)m$/,W=new Set([38,48,58]);function X(a){let b;U.lastIndex=0;let c=[],d="",e=null,f=0,g=0,h=0;for(;null!==(b=U.exec(a));){let i=a.slice(h,b.index);d+=i,f+=(0,T.LQ)(i),h=b.index+b[0].length;let j=V.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(W.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,T.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 Y(a,b){for(let c of a.segments)if(c.start<=b&&b<c.end)return c.bg;return null}let Z=/\S[^\S\n]{2,}esc[^\S\n]*$/,$=/^[│┃╹]/;function _(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!(Y(a,b-1)===Y(a,b)||c<a.width&&Y(a,c)===Y(a,c-1)||$.test((0,T.Ml)(a.text,b-1,b)))&&!$.test((0,T.Ml)(a.text,b,c))}function aa(a){let b=function(a){let b=a.split("\n").map(X),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)||!_(a,f,g))continue;let h=(0,T.Ml)(a.text,f,g);if(!Z.test(h))continue;c.add(e);let i=b.filter(a=>_(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,S.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 ab=/\s{2,}/,ac=r.BG;function ad(a){let b=(0,e._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 d=b.slice(0,c),f=d.length-1;for(;f>=0&&""===d[f].trim();)f--;return{candidates:d,lastIndex:f}}let ae=(0,q.b)({tool:"opencode",verifiedAgainst:ac,afterThinking(a){if(e.Ty.test(a.lastLines))return{status:"waiting",confidence:"high",reason:h.g.OPENCODE_PERMISSION_PROMPT,hasActivePrompt:!1,evidence:"positive"};if(e.kD.test(a.lastLines))return{status:"running",confidence:"high",reason:h.g.OPENCODE_PROCESSING_INDICATOR,hasActivePrompt:!1,evidence:"positive"};let{candidates:b,lastIndex:c}=ad(a);if(c<0)return null;let d=b.slice(Math.max(0,c-B.$+1),c+1).join("\n");if((0,e.ut)("opencode",d))return{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"};let f=b.slice(Math.max(0,c-p.h+1),c+1).join("\n");if(e.LO.test(b.join("\n")))return{status:"waiting",confidence:"high",reason:h.g.OPENCODE_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive"};if(null!==aa(a.raw))return{status:"waiting",confidence:"high",reason:h.g.OPENCODE_MODAL_OVERLAY,hasActivePrompt:!1,evidence:"positive"};if(e.$t.test(f))return{status:"ready",confidence:"high",reason:h.g.OPENCODE_RESPONSE_COMPLETE,hasActivePrompt:!1,evidence:"positive"};let g=a.lines.slice(Math.max(0,c-p.h+1),c+1).join("\n");return e.vU.test(g)?{status:"ready",confidence:"high",reason:h.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:"positive"}:null},skipGenericInputPrompt:!0,readIdleEvidence:function(a){let{candidates:b,lastIndex:c}=ad(a);if(c<0)return"none";let d=b.slice(Math.max(0,c-p.h+1),c+1).join("\n");if(e.$t.test(d))return"positive";let f=a.lines.slice(Math.max(0,c-p.h+1),c+1).join("\n");return e.vU.test(f)?"positive":"none"},detectDialog(a){var b;let{candidates:c}=ad(a);return b={contentWindow:c.join("\n")},e.Ty.test(a.lastLines)?{kind:"permission",options:function(a){for(let b of a.lines){let a=e.Ty.exec(b);if(a)return a[0].replace(/^[^\S\n]*[│┃][^\S\n]*/,"").trim().split(ab).map(a=>a.trim()).filter(a=>""!==a)}return[]}(a),answerMode:"keys"}:e.LO.test(b.contentWindow)||null!==aa(a.raw)?{kind:"picker",options:[],answerMode:"keys"}:null},unreadableReason:h.g.UNKNOWN_FRAME});function af(a){return(0,q.b)({tool:a,verifiedAgainst:r.hB})}let ag=af("gemini"),ah=af("vibe-local"),ai={claude:x,codex:J,copilot:R,opencode:ae,antigravity:d.VC,"command-code":O,gemini:ag,"vibe-local":ah};function aj(a){return ai[a]??af(a)}Object.values(ai)}};
|
|
1
|
+
"use strict";exports.id=650,exports.ids=[650],exports.modules={26895:(a,b,c)=>{c.d(b,{gF:()=>n,xn:()=>g});var d=c(72626),e=c(69119),f=c(68652);function g(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 h=(0,d.h)("prompt-detector"),i=null;function j(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}let k=[{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 l(a,b,c,d){let{startLine:f,endLine:g}=function(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])}}(b,c,d);return(0,e.ZH)(a,(0,e.wf)(a,f),g+1)}function m(a,b,c,d,e){return{isPrompt:!0,promptData:{type:"yes_no",question:a,options:["yes","no"],status:"pending",...void 0!==e&&{defaultOption:e},instructionText:c,...void 0!==d&&{approvalTarget:d}},cleanContent:b,rawContent:c}}function n(a,b){let c=(0,f.N)(a),d=c===a&&b?.precomputedLines?b.precomputedLines:c.split("\n"),g=d.slice(-50).join("\n"),n=g===i;n||h.debug("detectPrompt:start",{outputLength:c.length}),i=g;let o=d.slice(-20).join("\n"),p=Math.max(0,d.length-20),q=(0,e.rS)(c,b,j);if(q.isPrompt)return n||h.info("detectPrompt:multipleChoice",{isPrompt:!0,question:q.promptData?.question,optionsCount:q.promptData?.options?.length}),q;let r=o.trim();for(let a of k){let b=o.match(a.regex);if(b){let c=b[1].trim();return m(c,c,r,l(d,o,p,b),a.defaultOption)}}let s=o.match(/^(.*?)Approve\?\s*$/m);if(s){let a=s[1].trim();return m(a?`${a} Approve?`:"Approve?",a||"Approve?",r,l(d,o,p,s))}return n||h.debug("detectPrompt:complete",{isPrompt:!1}),{isPrompt:!1,cleanContent:c.trim()}}},28861:(a,b,c)=>{c.d(b,{g:()=>l});var d=c(85164),e=c(69119),f=c(68652),g=c(682);let h=/^\s*●\s/,i=/^\s*─{3,}\s*$/,j=/[??]\s*$/;function k(a){let b=a.split("\n"),c=(b.length>200?b.slice(-200):b).join("\n");return c.length>5e3?c.slice(-5e3):c}function l(a){let b=(0,f.N)(a),c=b.split("\n"),l=function(a){let b=(0,d.dx)(a);if(null===b)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 h=b.start+e.firstRow,k=-1,l=-1,m=0;for(let c=h-1;c>=b.start&&m<3;c--){let b=a[c];if(""!==b.trim()){if(d.OM.test(b)||i.test(b))break;if(m++,l<0&&(l=c),j.test(b)){k=c;break}}}return k<0&&(k=l),{question:k<0?"Please select an option:":a[k].trim(),options:f,selectedIndex:e.selectedIndex,questionRow:k<0?h:k,firstOptionRow:h,footerRow:b.footer}}(c);return null===l?null:(0,e.xe)(l.question,l.options.map((a,b)=>({number:b+1,label:a,isDefault:b===l.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(h.test(a[c])){e=c+1;break}let g=a.slice(e,b.footerRow+1).filter(a=>!i.test(a)).map(a=>a.trimEnd()).join("\n").trim();return g.length>0?g:void 0}(c,l),approvalTarget:(0,e.ZH)(c,(0,e.wf)(c,l.questionRow),l.footerRow)},b,k)}},30008:(a,b,c)=>{c.d(b,{F1:()=>g,_G:()=>i,j0:()=>f,rB:()=>h,xF:()=>j});var d=c(48083),e=c(67882);let f=3e5,g="CM_STRUCTURED_SEND_GUARD";function h(a){return"notification"===a.source?e.Oh.PERMISSION_PROMPT:e.Oh.PERMISSION_REQUEST}function i({worktreeId:a,cliToolId:b,instanceId:c,scraper:e,ignoreStructured:i=!1,now:j=Date.now()}){var k,l,m;let n=(0,d.getStructuredPromptWaiting)(a,b,c,j);null!==n&&("waiting"===e.status?(0,d.corroborateStructuredPromptWaiting)(a,b,c,j):n.scraperCorroborated&&((0,d.clearStructuredPromptWaiting)(a,b,c),n=null));let o=e.hasActivePrompt||null!==n;if(e.hasActivePrompt)return{waiting:o,scraperWaiting:!0,structured:n,blocksSend:!0,blockedBy:"scraper",blockReason:e.reason,structuredSendBlockSuppressed:null};if(null===n)return{waiting:o,scraperWaiting:!1,structured:null,blocksSend:!1,blockedBy:null,blockReason:null,structuredSendBlockSuppressed:null};let p=(k=n,l=i,m=j,l?"caller_opt_out":!function(){let a=process.env[g]?.trim().toLowerCase();return"off"===a||"0"===a||"false"===a}()?m-k.at>=f?"expired":null:"disabled");return{waiting:o,scraperWaiting:!1,structured:n,blocksSend:null===p,blockedBy:null===p?"structured":null,blockReason:null===p?h(n):null,structuredSendBlockSuppressed:p}}function j({worktreeId:a,cliToolId:b,instanceId:c,scraper:e,now:f=Date.now()}){let g=(0,d.getStructuredPromptWaiting)(a,b,c,f);return{waiting:e.hasActivePrompt||null!==g,scraperWaiting:e.hasActivePrompt,structured:g}}},37717:(a,b,c)=>{c.d(b,{g:()=>d});let d={PROMPT_DETECTED:"prompt_detected",THINKING_INDICATOR:"thinking_indicator",OPENCODE_PROCESSING_INDICATOR:"opencode_processing_indicator",OPENCODE_SELECTION_LIST:"opencode_selection_list",OPENCODE_MODAL_OVERLAY:"opencode_modal_overlay",OPENCODE_PERMISSION_PROMPT:"opencode_permission_prompt",CLAUDE_SELECTION_LIST:"claude_selection_list",COMMAND_CODE_SELECTION_LIST:"command_code_selection_list",COMMAND_CODE_DISMISSABLE_PANEL:"command_code_dismissable_panel",COMMAND_CODE_PLAN_REVIEW:"command_code_plan_review",COPILOT_SELECTION_LIST:"copilot_selection_list",CODEX_SELECTION_LIST:"codex_selection_list",CODEX_PAGER:"codex_pager",CODEX_HOOKS_REVIEW:"codex_hooks_review",ANTIGRAVITY_SELECTION_LIST:"antigravity_selection_list",OPENCODE_RESPONSE_COMPLETE:"opencode_response_complete",INPUT_PROMPT:"input_prompt",NO_RECENT_OUTPUT:"no_recent_output",EXITED:"exited",UNKNOWN_FRAME:"unknown_frame",DEFAULT:"default"}},45150:(a,b,c)=>{c.d(b,{Lj:()=>k,VC:()=>l});var d=c(85164),e=c(37717),f=c(91010),g=c(1804),h=c(28861);let i=g.yh,j={status:"waiting",confidence:"high",reason:e.g.ANTIGRAVITY_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive"};function k(a,b){if(b.promptData?.type!=="multiple_choice")return!1;let c=(0,d._A)(a.contentLines.join("\n")).split("\n"),{promptPattern:e}=(0,d._X)("antigravity"),f=-1;for(let a=c.length-1;a>=0;a--)if(e.test(c[a])){f=a;break}return!(f<0)&&!c.slice(f+1).some(a=>d.Ly.test(a))}let l=(0,f.b)({tool:"antigravity",verifiedAgainst:i,isStalePrompt:k,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 j;if(!d.kT.test(a.lastLines)||!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,h.g)(b);return null!==a?{status:"waiting",confidence:"high",reason:e.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:a}:{status:"running",confidence:"low",reason:e.g.UNKNOWN_FRAME,hasActivePrompt:!1,evidence:"none"}}return j},afterThinking(a){if((0,d.ut)("antigravity",a.lastLines))return{status:"running",confidence:"high",reason:e.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"};let{promptPattern:b}=(0,d._X)("antigravity");return b.test(a.lastLines)?{status:"ready",confidence:"high",reason:e.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:"positive"}:null}})},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:()=>h,Tq:()=>g,jW:()=>m});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,b,c){let d=Math.max(0,b-c);for(let c=b-1;c>=d;c--)if(function(a){let b=a.trimEnd();return e.test(b)||f.test(b)}(a[c]??""))return c;return -1}let i=/┌(─+)┐\s*$/,j=/^\s*(?:[❯›>]\s*)?1\.\s+\S/,k=/^( *)└(─+)┘\s*$/,l=/^\s*(?:[❯›>]\s*)?\d{1,2}\.\s+\S|^\s{2,}\S/;function m(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=i.exec(b);if(!h||!j.test(b.slice(0,h.index)))continue;let m=-1,n=0;for(let b=c+1;b<Math.min(f,c+80);b++){let c=k.exec(a[b]);if(c&&c[2].length===h[1].length){m=b,n=c[1].length;break}}if(m<0)continue;let o=[m],p=[[c,h.index]];for(let b=c+1;b<m;b++){let c=a[b].indexOf("│"),d=c>0?a[b].slice(0,c):"";""!==d.trim()&&l.test(d)?p.push([b,c]):o.push(b)}let q=m+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}}},69119:(a,b,c)=>{c.d(b,{J0:()=>y,N0:()=>m,QI:()=>l,ZH:()=>G,ie:()=>E,rS:()=>I,wf:()=>F,xe:()=>H});var d=c(68652),e=c(85164),f=c(61244);let g=/^\s*[\u276F\u25CF\u203A][^\d]*(\d+)(?:\.(?!\d)|\s{2,})\s*(.+)$/,h=/^\s*[^\d]{0,3}(\d+)(?:\.(?!\d)|\s+)\s*(.+)$/,i=/^\s*\d{1,3}\s+tasks?\s+\(\d+\s+done\b/i,j=/^\s*[◼◻]\s/,k=/^(?:No changes this session|\+\d+ files? edited before this session \(show\))$/;function l(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(k.test(a[e].trim())){d.add(e);continue}if(i.test(a[e])){d.add(e);for(let b=e+1;b<Math.min(c,a.length);b++){let c=a[b];if(!j.test(c)&&!q.test(c))break;d.add(b)}}}return d}(a,b,c),e=(0,f.jW)(a,b,c);for(let a of e.rows)d.add(a);return{rows:d,cuts:e.cuts}}function m(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 n=/^\s{3,}\S/,o=/^[-─]+$/,p=/^\s*\[[^\]]*\d+\s+lines?\]/i,q=/^\s*[…]?\s*[+\-↑↓⏵⏷]?\s*\d+\s+(?:pending|more|completed)\b/i,r=/Esc\s+to\s+cancel\s*[·•]\s*Tab\s+to\s+amend/i,s=f.Tq,t=/press\s+(?:enter|number)\s+to\s+confirm/i,u=/press\s+number\s+to\s+confirm/i,v=/(?:select|choose|pick|which|what|how|where|enter|type|specify|confirm|approve|accept|reject|decide|preference|option)/i,w=[/type\s+here/i,/tell\s+(me|claude)/i,/enter\s+/i,/custom/i,/differently/i],x=[/^[^\S\n]*type\s+something\b/i];function y(a){return!0===a.requiresTextInput&&x.some(b=>b.test(a.label))}function z(a,b){if(0===b.length)return!0;let c=b[0].number;return a<c&&a>=c-2}function A(a){return{isPrompt:!1,cleanContent:a.trim()}}function B(a){return 0!==a.length&&!!(a.includes("?")||a.includes("?")||v.test(a))}function C(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 D=/^[⏺⎿●○•✔✓✖✗✘›»❯└├>]/,E=12;function F(a,b){let c=Math.max(0,b-E);for(let d=b-1;d>=c;d--)if(function(a){if(void 0===a)return!1;let b=a.trim();return""!==b&&(D.test(b)||o.test(b))}(a[d]))return d+1;return c}function G(a,b,c){let d=a.slice(b,c).map(a=>a.trimEnd()).join("\n").trim();return d.length>0?d:void 0}function H(a,b,c,d,e,f,g){let{instructionText:h,approvalTarget:i}=c??{};return{isPrompt:!0,promptData:{type:"multiple_choice",question:a.trim(),options:b.map(a=>{let b=w.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}:{},...f?{submitMode:f}:{},...g?{isAskUserQuestion:!0}:{}},cleanContent:a.trim(),rawContent:e(d.trim())}}function I(a,b,c){if(a=(0,d.N)(a),b?.hasNumberedDialogs===!1)return A(a);let i=b?.requireDefaultIndicator??!0,j=a.split("\n"),k=j.length;for(;k>0&&""===j[k-1].trim();)k--;let m=Math.max(0,k-50),v=!1;for(let a=k-1;a>=m;a--){let b=s.test(j[a]);if(r.test(j[a])||b){k=a,v=b;break}}let w=j.slice(m,k);for(let b of w)if(e.l8.test(b))return A(a);let x=!1,y=!1;for(let a of w){let b=a.trim();if(!x&&t.test(b)){x=!0,u.test(b)&&(y=!0);break}}if(i){let b=!1;for(let a of w){let c=a.trim();if(g.test(c)){b=!0;break}}if(!b&&!x)return A(a)}let D=[],I=-1,J=0,K=l(j,m,k),L=[];for(let b=k-1;b>=m;b--){if(K.rows.has(b)){J++;continue}let c=K.cuts.get(b),d=void 0===c?j[b]:j[b].slice(0,c).trimEnd(),e=d.trim();if(void 0!==c&&n.test(d)){L.unshift(e),J++;continue}if(p.test(e)||q.test(e)){J++;continue}let f=e.match(g);if(f){let a=parseInt(f[1],10);if(a<=20&&z(a,D)){let b=[f[2].trim(),...L].join(" ");L=[],D.unshift({number:a,label:b,isDefault:!0}),J=0;continue}}let i=e.match(h);if(i){let a=parseInt(i[1],10);if(a>20);else if(z(a,D)){let b=[i[2].trim(),...L].join(" ");L=[],D.unshift({number:a,label:b,isDefault:!1}),J=0;continue}}if(0===D.length&&(e.startsWith("❯")||e.startsWith("●")||e.startsWith("›")))return A(a);if(D.length>0&&e&&!o.test(e)){if(/^\s{4,}/.test(d)&&C(d,e)){if(++J>25){I=b;break}continue}if(B(e)){I=b;break}if(C(d,e)){if(++J>(/^\s{4,}/.test(d)?25:5)){I=b;break}continue}I=b;break}}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}(D.map(a=>a.number)))return A(a);let M=D.some(a=>a.isDefault),N=i&&x;if(D.length<2||i&&!M&&!N||!i&&!M&&(-1===I||!B(j[I]?.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||o.test(b))&&B(b))return!0}return!1}(j,I,0,m)))return A(a);let O=I<0?0:(0,f.$N)(j,I,E)+1,P=function(a,b,c=0){if(b<0)return"Please select an option:";let d=[];for(let e=Math.max(c,b-5);e<=b;e++){let b=a[e].trim();b&&!o.test(b)&&d.push(b)}return d.join(" ")}(j,I,O),Q=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}(j,I,k);return H(P,D,{instructionText:Q,approvalTarget:function(a,b,c,d=0){if(!(b<0))return G(a,Math.max(d,F(a,b)),c)}(j,I,k,O)},a,c,x?y?"answer_only":"answer_then_enter":void 0,v)}},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}`}},91010:(a,b,c)=>{c.d(b,{b:()=>k});var d=c(85164),e=c(26895),f=c(37717);let g=["enforce","observe","legacy"],h={claude:"observe",copilot:"enforce",opencode:"enforce",codex:"legacy",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy"},i=globalThis.__idleEvidenceObservations??(globalThis.__idleEvidenceObservations=new Map),j=new Set(["opencode","codex","claude","copilot"]);function k(a){return{...a,detect:(b,c)=>(function(a,b,c={}){let k=a.beforePrompt?.(b)??null;if(k)return k;let l=(0,d.KO)(a.tool),m=j.has(a.tool)?(0,d._A)(b.clean):(0,d._A)(b.lastLines),n=(0,e.gF)(m,l);if(n.isPrompt)if(!a.isStalePrompt?.(b,n))return{status:"waiting",confidence:"high",reason:f.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:n};else n={...n,isPrompt:!1,promptData:void 0};let o=a.afterPrompt?.(b,n)??null;if(o)return{...o,promptDetection:o.promptDetection??n};if((0,d.ut)(a.tool,b.thinkingLines))return{status:"running",confidence:"high",reason:f.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive",promptDetection:n};let p=a.afterThinking?.(b,n)??null;if(p)return{...p,promptDetection:p.promptDetection??n};if(!a.skipGenericInputPrompt){let{promptPattern:c}=(0,d._X)(a.tool);if(c.test(b.lastLines))return{status:"ready",confidence:"high",reason:f.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 h=c.trim(),i=f.trim();g.includes(i)&&("*"===h?d=i:h===a&&(e=i))}return e??d??h[a]??"legacy"}(a.tool);if("legacy"===c)return"positive";let d=a.readIdleEvidence(b);var e=a.tool;let f=i.get(e)??{mode:c,positive:0,none:0};return f.mode=c,"positive"===d?f.positive+=1:f.none+=1,i.set(e,f),"observe"===c?"positive":d}(a,b),promptDetection:n}}return c.lastOutputTimestamp&&Date.now()-c.lastOutputTimestamp.getTime()>5e3?{status:"running",confidence:"low",reason:f.g.NO_RECENT_OUTPUT,hasActivePrompt:!1,evidence:"none",promptDetection:n}:{status:"running",confidence:"low",reason:a.unreadableReason??f.g.DEFAULT,hasActivePrompt:!1,evidence:"none",promptDetection:n}})(a,b,c),detectDialog:a.detectDialog??(()=>null),hasDialogRules:void 0!==a.detectDialog}}},91478:(a,b,c)=>{c.d(b,{Dk:()=>v,a9:()=>l,f_:()=>w,sl:()=>n,tH:()=>p,uG:()=>B,yt:()=>o});var d=c(51297);let e=/^[^0-9A-Za-z]*([1-9])[.)]\s+\S/,f=/\btype\s+to\s+search\b|\bsearch\s+\w+\s*(?:…|\.\.\.)|(?:^|·)\s*\/\s+search\b/im,g=/\benter\s+to\s+select\b\s*[·•]\s*esc\s+to\s+cancel\b/i,h=/^\s*(?:press|hit|type)?\s*(?:<)?esc(?:ape)?(?:>)?\s+to\s+(?:close|dismiss|exit)\b[\s.·•]*$/im,i=/^\s*(?:❯ +)?Approve\s+ctrl\+a\b[^\n]*\n\s*(?:❯ +)?Cancel\s+esc\s*$/im,j=/^\s*Approve\s+\([• ]\)\s+with\s+\d+\s+comments?\s+as\s+notes\s+\([• ]\)\s+original\s+plan\b/im,k=/(?:^|\n)[ \t]*←\/→\s+choose\s*·\s*enter\s+confirm\s*·\s*esc\s+back\s*$/i;function l(a){return j.test(a)&&k.test(a)}function m(a,b){return a.split("\n").filter(a=>""!==a.trim()).slice(-b).join("\n")}function n(a){return g.test(m(a,1))}function o(a){return h.test(m(a,1))}function p(a){return i.test(m(a,5))}let q=/^\u2500+$/,r="●◉⦿",s=RegExp(`^\\s*([${r}◯○◌⚪✔])\\s+\\S`);function t(a){let b=a.split("|");if(b.length<2)return!1;let c=0,d=0;for(let a of b){let b=s.exec(a);if(null===b)return!1;r.includes(b[1])?c+=1:d+=1}return c>0&&d>0}let u=/\besc\s+to\s+interrupt\b|^[^\S\n]*✻[^\S\n]+\S/im;function v(a){let b=C(a);return null!==b&&b.numbers.every((a,b)=>a===b+1)&&1===b.cursorCount?{ruleLineIndex:b.ruleLineIndex,firstLineIndex:b.firstLineIndex,lastLineIndex:b.lastLineIndex,tabLineIndex:b.tabLineIndex,cursorLineIndex:b.cursorLineIndex,cursorOnOptionRow:b.cursorOnOptionRow,optionCount:b.numbers.length}:null}function w(a){return null!==C(a)}let x=/^[^\S\n]*(?:\u276F[^\S\n]*)?1[.)][^\S\n]+Submit[^\S\n]*$/im,y=/^[^\S\n]*(?:\u276F[^\S\n]*)?2[.)][^\S\n]+Cancel[^\S\n]*$/im,z=/^[^\S\n]*\u2190[^\S\n]+to[^\S\n]+go[^\S\n]+back[^\S\n]+and[^\S\n]+edit[^\S\n]*$/im,A=/have\s+not\s+answered\s+all\s+questions/i;function B(a){if(!a)return null;let b=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;if(c<1)return null;let e=-1;for(let a=c-1;a>=0;a-=1){let c=b[a].trim();if(!(c.length<40)&&q.test(c)){e=a;break}}if(e<0)return null;let f=b.slice(e+1,c+1),g=f.findIndex(a=>""!==a.trim());if(g<0||!t(f[g]))return null;let h=f.join("\n");if(!x.test(h)||!y.test(h)||!z.test(h))return null;let i=f.find(a=>x.test(a));return{hasUnansweredWarning:A.test(h),cursorOnSubmit:void 0!==i&&i.includes("❯")}}function C(a){if(!a)return null;let b=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;if(c<1)return null;let i=-1;for(let a=c-1;a>=0;a-=1){let c=b[a].trim();if(!(c.length<40)&&q.test(c)){i=a;break}}if(i<0)return null;let j=b.slice(i+1,c+1),k=j.join("\n");if(f.test(k)||g.test(k)||h.test(k)||u.test(k))return null;let l=j.findIndex(a=>""!==a.trim());if(l<0||!t(j[l]))return null;let m=[],n=-1;for(let a=l+1;a<j.length;a+=1){let b=e.exec(j[a]);null!==b&&(n<0&&(n=a),m.push(Number(b[1])))}if(m.length<2||!j.slice(l+1,n).some(a=>""!==a.trim()))return null;let o=0,p=-1,r=!1;for(let a=0;a<j.length;a+=1){let b=j[a].split("❯").length-1;0!==b&&(o+=b,p=a,r=e.test(j[a]))}return 0===o?null:{ruleLineIndex:i,firstLineIndex:i+1,lastLineIndex:c,tabLineIndex:i+1+l,numbers:m,cursorCount:o,cursorLineIndex:i+1+p,cursorOnOptionRow:r}}},95595:(a,b,c)=>{c.d(b,{WC:()=>j,f8:()=>i,gv:()=>d.g,ug:()=>g});var d=c(37717),e=c(74258),f=c(97123);let g=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]),h=new Set([d.g.THINKING_INDICATOR,d.g.OPENCODE_PROCESSING_INDICATOR]);function i(a){return"running"===a.status&&h.has(a.reason)}function j(a,b,c){let d=(0,e.z)(a),g=(0,f.bN)(b).detect(d,{lastOutputTimestamp:c});return{status:g.status,confidence:g.confidence,reason:g.reason,hasActivePrompt:g.hasActivePrompt,evidence:g.evidence,promptDetection:g.promptDetection??{isPrompt:!1,cleanContent:d.clean}}}},96742:(a,b,c)=>{c.d(b,{nK:()=>p});var d=c(51297),e=c(69119),f=c(91478),g=c(682);let h=/❯[^\S\n]*(\d{1,2})[.)]/,i=/^[^\S\n]*type\s+something\b/i,j=/^\[[ xX\u2714]\]\s/,k=/^\[[xX\u2714]\]\s/,l=/^[^\S\n]*(?:\u276F[^\S\n]*)?(?:Submit|Next)[^\S\n]*$/,m=/^[^\S\n]*Enter\s+to\s+select\b.*\|.*\bEsc\s+to\s+cancel[^\S\n]*$/i;function n(a){let b=a.split("\n"),c=(b.length>200?b.slice(-200):b).join("\n");return c.length>5e3?c.slice(-5e3):c}function o(a){return{kind:"unsupported",reason:a}}function p(a){if(!a)return{kind:"none"};if(null!==(0,f.uG)(a))return o("review-page");let b=(0,f.Dk)(a);if(null===b)return(0,f.f_)(a)?o("numbering-unreadable"):{kind:"none"};if(!b.cursorOnOptionRow)return o("cursor-outside-options");let c=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ).slice(b.firstLineIndex,b.lastLineIndex+1);if(c.length>60)return o("region-too-tall");let p=b.tabLineIndex-b.firstLineIndex,q=(0,g.c)(c,c.length,12);if(null===q)return o("option-block-unreadable");let r=[...q.options],s=""===q.footer?[]:q.footer.split("\n"),t=s.some(a=>l.test(a)),u=s.filter(a=>!l.test(a)&&!m.test(a));if(u.length>0){let a=r.length-1;r[a]=[r[a],...u].join(" ").trim()}if(r.length!==b.optionCount)return o("option-count-mismatch");let v=r.some(a=>j.test(a));if(v&&!t)return o("multi-select");let w=c[b.cursorLineIndex-b.firstLineIndex]??"",x=h.exec(w);if(q.selectedIndex<0||"❯"!==q.selectedGlyph||null===x||Number(x[1])!==q.selectedIndex+1)return o("default-unresolved");let y=c.slice(p+1,q.firstRow).map(a=>a.trim()).filter(a=>""!==a);if(0===y.length)return o("question-missing");let z=y.join(" "),A=(0,e.ZH)(c,p+1,c.length),B=r.map((a,b)=>({number:b+1,label:v?a.replace(j,""):a,isDefault:b===q.selectedIndex,...v?{checked:k.test(a)}:{}})),C=(0,e.xe)(z,B,{instructionText:A,approvalTarget:A},c.join("\n"),n,"answer_only",!0),D=C.promptData;return void 0===D||"multiple_choice"!==D.type?o("option-block-unreadable"):{kind:"prompt",region:b,prompt:{...C,promptData:{...D,...v?{multiSelect:!0}:{},options:D.options.map((a,b)=>{let c=B[b]?.checked,d=void 0===c?a:{...a,checked:c};return!0===a.requiresTextInput||i.test(a.label)?{...d,requiresTextInput:!0}:d})}}}}},97123:(a,b,c)=>{c.d(b,{bN:()=>aj});var d=c(45150),e=c(85164),f=c(94154),g=c(69119),h=c(37717),i=c(682),j=c(61244);let k=/esc\s+to\s+cancel|enter\s+to\s+(?:select|confirm|set\s+as\s+default)/i,l=new Set(["❯",">"]),m=/do you want to\b|allow\b.*\?$/i,n=/ready to submit your answers\?|review your answers/i,o=/set\s+as\s+default/i;var p=c(74258),q=c(91010),r=c(1804);let s=/^\s*[✻✽✶✢✳⦿◉●·⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]\s+\S+\s+for\s+(?:\d+m\s*)?\d+(?:\.\d+)?s(?:\s|$|\s*·)/,t=/^\s*╭─+\s*Claude Code v/,u=/^\s*[>❯]\s+\S/,v=/·\s*\/effort\s*$/;function w(a){let b=(0,f.p4)(a),c=b?b.openingSeparator:a.length,d=(0,g.QI)(a,0,c).rows,e=c-1;for(;e>=0&&(""===a[e].trim()||d.has(e)||v.test(a[e]));)e--;return e}let x=(0,q.b)({tool:"claude",verifiedAgainst:r.iE,afterPrompt:a=>e.XY.test(function(a){let b=(0,f.p4)(a.contentLines);if(!b)return a.lastLines;let c=a.contentLines.length-p.h;return a.contentLines.slice(Math.max(b.openingSeparator,c)).join("\n")}(a))?{status:"waiting",confidence:"high",reason:h.g.CLAUDE_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive"}:null,afterThinking:a=>e.aU.test(a.lastLines)?{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"}:null,readIdleEvidence:function(a){let b=w(a.contentLines);if(b>=0&&s.test(a.contentLines[b]))return"positive";let c=(0,f.p4)(a.contentLines),d=a.contentLines.slice(0,c?c.openingSeparator:void 0),e=d.some(a=>t.test(a)),g=d.some(a=>u.test(a));return e&&!g?"positive":"none"},detectDialog:a=>(function(a,b){var c;if(b.transcriptTail<0)return null;let d=(0,e._A)(a.clean).split("\n"),f=b.transcriptTail+1,h=(0,g.QI)(a.contentLines,0,f),p=(0,g.N0)(d,h),q=(0,i.c)(p,f);if(!q||null===q.selectedGlyph||!l.has(q.selectedGlyph))return null;let r=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")}(p,h.rows,q.lastRow+1,f);return""===r||k.test(r)?{kind:(c=function(a,b){let c=(0,j.$N)(a,b,g.ie),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")}(p,q.firstRow),n.test(c)?"ask_user":o.test(r)?"picker":m.test(c)?"permission":"dialog"),options:q.options,answerMode:"numbered"}:null})(a,{transcriptTail:w(a.contentLines)})});var y=c(26895),z=c(65912);let A={"hooks-review":"permission","hooks-list":"picker","hooks-detail":"picker",update:"update",trust:"trust"};var B=c(46423);let C=r.jP,D=/press\s+(?:number|enter)\s+to\s+confirm/i,E=/^\s*[❯›●]?\s*\d{1,2}[.)]\s/;function F(a){for(let b=a.length-1;b>=Math.max(0,a.length-10);b--){let c=a[b];if(e.aW.test(c)||e.UO.test(c))return b}return -1}function G(a){let b=F(a),c=b>=0?b-1:a.length-1;for(;c>=0&&""===a[c].trim();)c--;return c+1}function H(a){let b=F(a),c=b>=0?b:a.length,d=-1,f=-1;for(let b=0;b<c;b++){let c=a[b],g=c.trim();""!==g&&((D.test(g)||E.test(g))&&(d=b),(0,e.ut)("codex",c)&&(f=b))}return d>=0&&f>d}function I(a){return(0,z.kp)(a)?.kind==="option"}let J=(0,q.b)({tool:"codex",verifiedAgainst:C,beforePrompt(a){let{contentLines:b}=a;if((0,z.Gs)(a.raw,b,G(b)))return null;if(e.pn.test(a.lastLines))return{status:"waiting",confidence:"high",reason:h.g.CODEX_PAGER,hasActivePrompt:!1,evidence:"positive",promptDetection:(0,y.gF)((0,e._A)(a.clean),(0,e.KO)("codex"))};let c=(0,e.E6)(a.clean);if("hooks-list"===c||"hooks-detail"===c)return{status:"waiting",confidence:"high",reason:h.g.CODEX_HOOKS_REVIEW,hasActivePrompt:!1,evidence:"positive",promptDetection:(0,y.gF)((0,e._A)(a.clean),(0,e.KO)("codex"))};let d=F(b),f=d>=0?d-1:b.length-1;for(;f>=0&&""===b[f].trim();)f--;if(f>=0){let c=b.slice(Math.max(0,f-p.h+1),f+1).join("\n"),d=b[f].trim();if(e.Jn.test(c)||e.ir.test(d)||e.bh.test(d)){let d=(0,y.gF)((0,e._A)(a.clean),(0,e.KO)("codex"));return d.isPrompt&&((d.promptData?.question?.trim()??"").endsWith("?")||e.Dd.test(c))&&!H(b)?{status:"waiting",confidence:"high",reason:h.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:d}:{status:"waiting",confidence:"high",reason:h.g.CODEX_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive",promptDetection:d}}}let g=(0,z.t)(a.raw,b,G(b));if(g&&!H(b)){g.footerRecognised||(0,z.AT)(g.footer);let b=(0,y.gF)((0,e._A)(a.clean),(0,e.KO)("codex"));return b.isPrompt?{status:"waiting",confidence:"high",reason:h.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:b}:{status:"waiting",confidence:"high",reason:h.g.CODEX_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive",promptDetection:b}}return null},isStalePrompt:a=>H(a.contentLines)||(0,z.Gs)(a.raw,a.contentLines,G(a.contentLines)),detectDialog(a){let b=G(a.contentLines);return(0,z.Gs)(a.raw,a.contentLines,b)?null:function(a,b){let c=(0,e._A)(a.clean).split("\n"),d=(0,i.c)(c,b.contentEnd);if(b.lifecycleDialog)return{kind:A[b.lifecycleDialog],options:d?.options??[],answerMode:"numbered"};if(!d||!e.Jn.test(d.footer)&&!e.$I.test(d.footer)&&!e.ir.test(d.footer)&&!e.bh.test(d.footer)||b.stalePrompt)return null;let f=function(a,b){let c=[];for(let d=b-1;d>=0&&c.length<4;d--){let b=a[d].trim();""!==b&&c.push(b)}return c.join("\n")}(c,d.firstRow);return{kind:e.Dd.test(d.footer)||f.split("\n")[0]?.endsWith("?")?"permission":"picker",options:d.options,answerMode:"numbered"}}(a,{contentEnd:b,stalePrompt:H(a.contentLines),lifecycleDialog:(0,e.E6)(a.clean)})},afterThinking(a){let{contentLines:b}=a,c=F(b);if(c>=0){let d=c-1;for(;d>=0&&""===b[d].trim();)d--;if(d>=0){let c=b.slice(Math.max(0,d-B.$+1),d+1).join("\n");return(0,e.ut)("codex",c)?{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"}:e.gm.test(b[d].trim())&&!I(a.raw)?{status:"ready",confidence:"high",reason:h.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:"positive"}:{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"}}}else{let c=b.length-1;for(;c>=0&&""===b[c].trim();)c--;if(!(c>=0&&e.gm.test(b[c].trim())&&!I(a.raw))&&(0,e.ut)("codex",a.lastLines))return{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"}}return null}});var K=c(91478),L=c(96742);let M=/^\s*↑\/↓\s+navigate\s+·\s+enter\s+select\s+·.*\bto\s+bypass\s+all\s+permissions\b/,N=r.ji,O=(0,q.b)({tool:"command-code",verifiedAgainst:N,beforePrompt(a){if((0,K.tH)(a.lastLines)||(0,K.a9)(a.lastLines))return{status:"waiting",confidence:"high",reason:h.g.COMMAND_CODE_PLAN_REVIEW,hasActivePrompt:!1,evidence:"positive"};let b=(0,L.nK)(a.raw);return"prompt"===b.kind?{status:"waiting",confidence:"high",reason:h.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:b.prompt}:"unsupported"===b.kind?{status:"waiting",confidence:"high",reason:h.g.COMMAND_CODE_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive"}:null},afterPrompt:a=>(0,K.yt)(a.lastLines)?{status:"waiting",confidence:"high",reason:h.g.COMMAND_CODE_DISMISSABLE_PANEL,hasActivePrompt:!1,evidence:"positive"}:(0,K.sl)(a.lastLines)?{status:"waiting",confidence:"high",reason:h.g.COMMAND_CODE_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive"}:null,detectDialog:a=>(function(a){let b=a.contentLines,c=b[b.length-1];if(void 0===c||!M.test(c))return null;let d=(0,i.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,e.ut)("command-code",a.lastLines))return{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"};let{promptPattern:b}=(0,e._X)("command-code");return b.test(a.lastLines)?{status:"ready",confidence:"high",reason:h.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:"positive"}:null}}),P=/do you want to\b/i,Q=r.MJ,R=(0,q.b)({tool:"copilot",verifiedAgainst:Q,beforePrompt(a){if((0,e.gT)(a.contentLines)){let b=(0,e.KO)("copilot"),c=(0,y.gF)((0,e._A)(a.clean),b);return c.isPrompt&&(c.promptData?.options?.length??0)<=3?{status:"waiting",confidence:"high",reason:h.g.PROMPT_DETECTED,hasActivePrompt:!0,evidence:"positive",promptDetection:c}:{status:"waiting",confidence:"high",reason:h.g.COPILOT_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive",promptDetection:c}}if("working"===(0,e.Wn)(a.contentLines)){let b=(0,e.KO)("copilot"),c=(0,y.gF)((0,e._A)(a.clean),b);return{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive",promptDetection:c}}return null},afterThinking:a=>"idle"===(0,e.Wn)(a.contentLines)?{status:"ready",confidence:"high",reason:h.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:"positive"}:null,skipGenericInputPrompt:!0,readIdleEvidence:function(a){return"idle"===(0,e.Wn)(a.contentLines)?"positive":"none"},detectDialog:a=>(function(a,b){if(null!==b.statusBar)return null;let c=(0,e._A)(a.clean).split("\n"),d=(0,i.c)(c,b.contentEnd);if(d&&e.V.test(d.footer)){let a=function(a,b){let c=[];for(let d=b-1;d>=0&&c.length<4;d--){let b=a[d].trim();""!==b&&c.push(b)}return c.join("\n")}(c,d.firstRow);return{kind:e.rX.some(b=>a.includes(b))?"trust":P.test(a)?"permission":"picker",options:d.options,answerMode:"numbered"}}return b.selectionFrame?{kind:"picker",options:[],answerMode:"keys"}:null})(a,{statusBar:(0,e.Wn)(a.contentLines),selectionFrame:(0,e.gT)(a.contentLines),contentEnd:a.contentLines.length}),unreadableReason:h.g.UNKNOWN_FRAME});var S=c(76777),T=c(50524);let U=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-9;]*m/g,V=/^(?:\x1b\[|\[)([0-9;]*)m$/,W=new Set([38,48,58]);function X(a){let b;U.lastIndex=0;let c=[],d="",e=null,f=0,g=0,h=0;for(;null!==(b=U.exec(a));){let i=a.slice(h,b.index);d+=i,f+=(0,T.LQ)(i),h=b.index+b[0].length;let j=V.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(W.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,T.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 Y(a,b){for(let c of a.segments)if(c.start<=b&&b<c.end)return c.bg;return null}let Z=/\S[^\S\n]{2,}esc[^\S\n]*$/,$=/^[│┃╹]/;function _(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!(Y(a,b-1)===Y(a,b)||c<a.width&&Y(a,c)===Y(a,c-1)||$.test((0,T.Ml)(a.text,b-1,b)))&&!$.test((0,T.Ml)(a.text,b,c))}function aa(a){let b=function(a){let b=a.split("\n").map(X),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)||!_(a,f,g))continue;let h=(0,T.Ml)(a.text,f,g);if(!Z.test(h))continue;c.add(e);let i=b.filter(a=>_(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,S.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 ab=/\s{2,}/,ac=r.BG;function ad(a){let b=(0,e._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 d=b.slice(0,c),f=d.length-1;for(;f>=0&&""===d[f].trim();)f--;return{candidates:d,lastIndex:f}}let ae=(0,q.b)({tool:"opencode",verifiedAgainst:ac,afterThinking(a){if(e.Ty.test(a.lastLines))return{status:"waiting",confidence:"high",reason:h.g.OPENCODE_PERMISSION_PROMPT,hasActivePrompt:!1,evidence:"positive"};if(e.kD.test(a.lastLines))return{status:"running",confidence:"high",reason:h.g.OPENCODE_PROCESSING_INDICATOR,hasActivePrompt:!1,evidence:"positive"};let{candidates:b,lastIndex:c}=ad(a);if(c<0)return null;let d=b.slice(Math.max(0,c-B.$+1),c+1).join("\n");if((0,e.ut)("opencode",d))return{status:"running",confidence:"high",reason:h.g.THINKING_INDICATOR,hasActivePrompt:!1,evidence:"positive"};let f=b.slice(Math.max(0,c-p.h+1),c+1).join("\n");if(e.LO.test(b.join("\n")))return{status:"waiting",confidence:"high",reason:h.g.OPENCODE_SELECTION_LIST,hasActivePrompt:!1,evidence:"positive"};if(null!==aa(a.raw))return{status:"waiting",confidence:"high",reason:h.g.OPENCODE_MODAL_OVERLAY,hasActivePrompt:!1,evidence:"positive"};if(e.$t.test(f))return{status:"ready",confidence:"high",reason:h.g.OPENCODE_RESPONSE_COMPLETE,hasActivePrompt:!1,evidence:"positive"};let g=a.lines.slice(Math.max(0,c-p.h+1),c+1).join("\n");return e.vU.test(g)?{status:"ready",confidence:"high",reason:h.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:"positive"}:null},skipGenericInputPrompt:!0,readIdleEvidence:function(a){let{candidates:b,lastIndex:c}=ad(a);if(c<0)return"none";let d=b.slice(Math.max(0,c-p.h+1),c+1).join("\n");if(e.$t.test(d))return"positive";let f=a.lines.slice(Math.max(0,c-p.h+1),c+1).join("\n");return e.vU.test(f)?"positive":"none"},detectDialog(a){var b;let{candidates:c}=ad(a);return b={contentWindow:c.join("\n")},e.Ty.test(a.lastLines)?{kind:"permission",options:function(a){for(let b of a.lines){let a=e.Ty.exec(b);if(a)return a[0].replace(/^[^\S\n]*[│┃][^\S\n]*/,"").trim().split(ab).map(a=>a.trim()).filter(a=>""!==a)}return[]}(a),answerMode:"keys"}:e.LO.test(b.contentWindow)||null!==aa(a.raw)?{kind:"picker",options:[],answerMode:"keys"}:null},unreadableReason:h.g.UNKNOWN_FRAME});function af(a){return(0,q.b)({tool:a,verifiedAgainst:r.hB})}let ag=af("gemini"),ah=af("vibe-local"),ai={claude:x,codex:J,copilot:R,opencode:ae,antigravity:d.VC,"command-code":O,gemini:ag,"vibe-local":ah};function aj(a){return ai[a]??af(a)}Object.values(ai)}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=6781,exports.ids=[6781],exports.modules={16781:(a,b,c)=>{c.r(b),c.d(b,{AGENT_EVENT_TYPES:()=>n.b0,MAX_CWD_LENGTH:()=>p,applyAgentStopEvent:()=>u,isAgentEventType:()=>n.o0,resolveWorktreeByCwd:()=>s,validateHookCwd:()=>q});var d=c(29021),e=c(33873),f=c(56791),g=c(48524),h=c(66007),i=c(52767),j=c(23707),k=c(48083),l=c(31517),m=c(72626),n=c(62887);let o=(0,m.h)("lib/hooks/agent-event-service"),p=4096;function q(a){if("string"!=typeof a||""===a.trim())return{ok:!1,reason:"empty"};if(a.length>p)return{ok:!1,reason:"too_long"};let b=a;try{b=decodeURIComponent(a)}catch{b=a}return a.includes("\0")||b.includes("\0")?{ok:!1,reason:"nul_byte"}:(0,e.isAbsolute)(a)?r(a)||r(b)?{ok:!1,reason:"traversal"}:{ok:!0,cwd:a}:{ok:!1,reason:"not_absolute"}}function r(a){return a.split("\\"===e.sep?/[\\/]/:"/").some(a=>".."===a)}function s(a,b){let c=t(b);if(null===c)return null;let d=null,e=-1;for(let b of(0,f.getWorktrees)(a)){let a=t(b.path);null!==a&&(0,h.Uc)(c,a)&&a.length>e&&(d=b,e=a.length)}return d}function t(a){try{return(0,d.realpathSync)(a)}catch{return null}}async function u(a,b,c,d){let e;(0,k.recordAgentStopEvent)(b.id,c,d);let{status:f}=await (0,l.DL)(b,c,d),h="captured"===f;try{e=(0,g.MH)(a,b.id,c,d)}catch(a){return o.warn("agent-stop-task-lookup-failed",{worktreeId:b.id,error:a instanceof Error?a.message:String(a)}),{taskId:null,taskEventApplied:!1,verificationRunId:null,structuredHistoryCaptured:h,structuredHistoryOutcome:f}}if(!e)return{taskId:null,taskEventApplied:!1,verificationRunId:null,structuredHistoryCaptured:h,structuredHistoryOutcome:f};let m=!1;try{let b=(0,i.g)(a,e.id,"agent_idle",{source:"hook"});m=null!==b&&null!==b.toStatus}catch(a){o.warn("agent-stop-event-failed",{taskId:e.id,error:a instanceof Error?a.message:String(a)})}if(!e.contract.success.autoVerifyOnStop)return{taskId:e.id,taskEventApplied:m,verificationRunId:null,structuredHistoryCaptured:h,structuredHistoryOutcome:f};let n=null;try{let{runId:a}=await (0,j.AT)({worktreeId:b.id,worktreePath:b.path,instanceId:d,taskId:e.id,trigger:"task"});n=a}catch(a){a instanceof j.Wb||o.error("agent-stop-auto-verify-failed",{taskId:e.id,error:a instanceof Error?a.message:String(a)})}return{taskId:e.id,taskEventApplied:m,verificationRunId:n,structuredHistoryCaptured:h,structuredHistoryOutcome:f}}}};
|
|
1
|
+
"use strict";exports.id=6781,exports.ids=[6781],exports.modules={16781:(a,b,c)=>{c.r(b),c.d(b,{AGENT_EVENT_TYPES:()=>n.b0,MAX_CWD_LENGTH:()=>p,applyAgentStopEvent:()=>u,isAgentEventType:()=>n.o0,resolveWorktreeByCwd:()=>s,validateHookCwd:()=>q});var d=c(29021),e=c(33873),f=c(56791),g=c(48524),h=c(66007),i=c(52767),j=c(23707),k=c(48083),l=c(31517),m=c(72626),n=c(62887);let o=(0,m.h)("lib/hooks/agent-event-service"),p=4096;function q(a){if("string"!=typeof a||""===a.trim())return{ok:!1,reason:"empty"};if(a.length>p)return{ok:!1,reason:"too_long"};let b=a;try{b=decodeURIComponent(a)}catch{b=a}return a.includes("\0")||b.includes("\0")?{ok:!1,reason:"nul_byte"}:(0,e.isAbsolute)(a)?r(a)||r(b)?{ok:!1,reason:"traversal"}:{ok:!0,cwd:a}:{ok:!1,reason:"not_absolute"}}function r(a){return a.split("\\"===e.sep?/[\\/]/:"/").some(a=>".."===a)}function s(a,b){let c=t(b);if(null===c)return null;let d=null,e=-1;for(let b of(0,f.getWorktrees)(a)){let a=t(b.path);null!==a&&(0,h.Uc)(c,a)&&a.length>e&&(d=b,e=a.length)}return d}function t(a){try{return(0,d.realpathSync)(a)}catch{return null}}async function u(a,b,c,d){let e;(0,k.recordAgentStopEvent)(b.id,c,d);let{status:f}=await (0,l.DL)(b,c,d),h="captured"===f;try{e=(0,g.MH)(a,b.id,c,d)}catch(a){return o.warn("agent-stop-task-lookup-failed",{worktreeId:b.id,error:a instanceof Error?a.message:String(a)}),{taskId:null,taskEventApplied:!1,verificationRunId:null,structuredHistoryCaptured:h,structuredHistoryOutcome:f}}if(!e)return{taskId:null,taskEventApplied:!1,verificationRunId:null,structuredHistoryCaptured:h,structuredHistoryOutcome:f};let m=!1;try{let b=(0,i.g)(a,e.id,"agent_idle",{source:"hook"});m=null!==b&&null!==b.toStatus}catch(a){o.warn("agent-stop-event-failed",{taskId:e.id,error:a instanceof Error?a.message:String(a)})}if(!e.contract.success.autoVerifyOnStop)return{taskId:e.id,taskEventApplied:m,verificationRunId:null,structuredHistoryCaptured:h,structuredHistoryOutcome:f};let n=null;try{let{runId:a}=await (0,j.AT)({worktreeId:b.id,worktreePath:b.path,instanceId:d,taskId:e.id,trigger:"task"});n=a}catch(a){a instanceof j.Wb||o.error("agent-stop-auto-verify-failed",{taskId:e.id,error:a instanceof Error?a.message:String(a)})}return{taskId:e.id,taskEventApplied:m,verificationRunId:n,structuredHistoryCaptured:h,structuredHistoryOutcome:f}}},31517:(a,b,c)=>{c.d(b,{DL:()=>j,sD:()=>f});var d=c(2734);let e=(0,c(72626).h)("lib/hooks/stop-history-capture"),f=[150,500,2e3,5e3],g=new Set([d.c]);function h(a){return new Promise(b=>{setTimeout(b,a)})}async function i(a,b,c,d,f,g){let i=Date.now();try{for(let[j,k]of g.entries()){await h(k);let l={};if(await a.captureStructuredHistoryTurn(b.id,c,d,f,l))return e.info("stop-history-capture-deferred-captured",{worktreeId:b.id,cliToolId:c,instanceId:d,attempt:j+1,attempts:g.length,elapsedMs:Date.now()-i}),!0;e.debug("stop-history-capture-deferred-open",{worktreeId:b.id,cliToolId:c,instanceId:d,attempt:j+1,attempts:g.length,outcome:l.outcome??"unavailable",elapsedMs:Date.now()-i})}return e.info("stop-history-capture-deferred-exhausted",{worktreeId:b.id,cliToolId:c,instanceId:d,attempts:g.length,elapsedMs:Date.now()-i}),!1}catch(a){return e.warn("stop-history-capture-deferred-failed",{worktreeId:b.id,cliToolId:c,instanceId:d,error:a instanceof Error?a.message:String(a)}),!1}}async function j(a,b,d,k={}){try{let j=await Promise.all([c.e(1503),c.e(8791),c.e(1719),c.e(2119),c.e(2445),c.e(252),c.e(8800),c.e(7905),c.e(9731),c.e(8728),c.e(1990),c.e(8918)]).then(c.bind(c,28918));if(!j.isPullTranscriptHistory(b))return{status:"unavailable"};let l={worktreePath:a.path,transcriptPathHint:null},m={};if(await j.captureStructuredHistoryTurn(a.id,b,d,l,m))return{status:"captured"};let n=()=>"not_yet_closed"===m.outcome?Promise.resolve(!0):j.hasStructuredHistoryTranscript(a.id,b,d,l);if(g.has(b)){let c=k.deferredDelaysMs??f;if(0===c.length||!await n())return{status:"unavailable"};let g=i(j,a,b,d,l,c);return e.info("stop-history-capture-deferred",{worktreeId:a.id,cliToolId:b,instanceId:d,delaysMs:c}),{status:"deferred",deferred:g}}let o=k.retryDelayMs??500;if(o<=0||!await n())return{status:"unavailable"};let p=Math.max(1,k.maxAttempts??3);for(let c=2;c<=p;c+=1){await h(o);let f={},g=await j.captureStructuredHistoryTurn(a.id,b,d,l,f);if(e.debug("stop-history-capture-retried",{worktreeId:a.id,cliToolId:b,instanceId:d,attempt:c,maxAttempts:p,captured:g,outcome:f.outcome??"unavailable"}),g)return{status:"captured"}}return{status:"unavailable"}}catch(c){return e.warn("stop-history-capture-failed",{worktreeId:a.id,cliToolId:b,instanceId:d,error:c instanceof Error?c.message:String(c)}),{status:"unavailable"}}}},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 +1 @@
|
|
|
1
|
-
"use strict";exports.id=7905,exports.ids=[7905],exports.modules={1305:(a,b,c)=>{c.d(b,{Fq:()=>l,wK:()=>m});var d=c(22354),e=c(48083),f=c(88807),g=c(52660),h=c(54325),i=c(72626);let j=(0,i.h)("lib/session/session-generation-archive"),k=(0,i.h)("lib/session/agent-session-lifecycle");function l(a,b=Date.now()){let i=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted;(0,e.beginAgentEventGeneration)(a.worktreeId,a.cliToolId,a.instanceId,b);let m=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted,n=(0,d.VM)(a.cliToolId);k.info("agent-session-generation-begun",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,transport:n.transport,decisionsEvicted:m-i});try{!function(a,b=process.env.VITEST?null:(0,f.getDbInstance)()){var d,e,i;let k=a.instanceId??a.cliToolId;if(!b)return;let l=(0,g.deleteMessagesByInstance)(b,a.worktreeId,k);0===l||((0,g.recomputeLastUserMessage)(b,a.worktreeId),j.info("session-generation-archived",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:k,archived:l}),d=a.worktreeId,e=a.cliToolId,i=k,Promise.all([c.e(1356),c.e(1503),c.e(1191),c.e(1719),c.e(2119),c.e(2445),c.e(8728)]).then(c.bind(c,43015)).then(({broadcastMessage:a})=>{a(h.dz,{worktreeId:d,cliToolId:e,instanceId:i,reason:"session_generation"})}).catch(a=>{j.warn("session-generation-invalidate-broadcast-failed",{worktreeId:d,instanceId:i,error:a instanceof Error?a.message:String(a)})}))}(a)}catch(b){k.warn("session-generation-archive-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}function m(a){return(0,d.K9)((0,d.VM)(a.target.cliToolId).prepareLaunch(a))}},11472:(a,b,c)=>{c.d(b,{Bl:()=>e,GE:()=>j,Hg:()=>k,ow:()=>i,vg:()=>g,w9:()=>f});var d=c(51297);let e=["$","%","#"],f=40,g=[/^[\w.-]+@[\w.-]+[\s:].*[$%#]$/,/^\[[\w.-]+@[\w.-]+[^\]]*\][$#]$/];function h(a){return a.split("\n").filter(a=>""!==a.trim())}function i(a,b){let c=h(a.trim()).slice(-10).join("\n");for(let a of b.fatalPatterns)if(c.includes(a))return a;for(let a of b.fatalRegexPatterns)if(a.test(c))return a.source;return null}function j(a,b){let c=h(a.trim()),d=c[c.length-1]?.trim()??"";return!/\d+%$/.test(d)&&b.shellPromptPatterns.some(a=>a.test(d))?{line:d,via:"pattern"}:d.length>=b.maxShellPromptLength?null:b.shellPromptEndings.some(a=>!(!d.endsWith(a)||"%"===a&&/\d+%$/.test(d)))?{line:d,via:"ending"}:null}function k(a,b){let c=(0,d.aJ)(a).trim();if(""===c)return b.unreadableIsExited?{alive:!1,reason:"empty output"}:{alive:!0};let e=h(c),f=null===b.aliveTailLines?c:e.slice(-b.aliveTailLines).join("\n");if(b.alivePatterns.some(a=>a.test(f)))return{alive:!0};let g=i(c,b);if(null!==g)return{alive:!1,reason:`error pattern: ${g}`};let k=j(c,b);return null!==k?"pattern"===k.via?{alive:!1,reason:`shell prompt detected: ${k.line}`}:{alive:!1,reason:`shell prompt ending detected: ${k.line}`}:{alive:!0}}},20610:(a,b,c)=>{c.d(b,{CV:()=>i,Em:()=>o,Is:()=>g,KI:()=>j,PY:()=>m,Rk:()=>l,Uc:()=>d,Zf:()=>h,kZ:()=>p,os:()=>k,pL:()=>e,x9:()=>f,yO:()=>n});let d=100,e=100,f=200,g=300,h=500,i=500,j=2e3,k=300,l=3e3,m=200,n=3e3,o=100,p=1e3},40236:(a,b,c)=>{c.d(b,{FW:()=>A});var d=c(79646),e=c(79892),f=c(93997),g=c(56717),h=c(85164),i=c(20610),j=c(72626),k=c(87673);let l=(0,j.h)("cli-tools/submit-verified-sender"),m=/\[Pasted text[\s#]/,n=0,o=/^\/[A-Za-z]/,p=/^\s*(?:ctx:\d+%\s*)?[>❯›]/;function q(a,b,c){if("opencode-box"===a){let a=(0,h.mu)(b);if(null===a)return{kind:"absent"};if(a.some(a=>h.vU.test(a)))return{kind:"empty"};let c=a.map(h.pV).find(a=>a.length>0);return void 0===c?{kind:"empty"}:{kind:"text",text:c,rows:a}}if("input-line-marker"!==a)return{kind:"absent"};let d=function(a){for(let b=a.length-1;b>=0;b--)if(p.test(a[b]))return a[b];return null}(c);if(null===d)return{kind:"absent"};let e=d.replace(p,"").trim();return 0===e.length?{kind:"empty"}:{kind:"text",text:e,rows:[d]}}function r(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}function s(a,b){let c=b.split("\n").map(a=>a.trim()).find(a=>a.length>0)??"";return 0!==c.length&&c.startsWith(a)}let t=[{pattern:/\[Pasted text(?: #\d+)?(?: \+(\d+) lines?| (\d+) chars?)?\]/g,read:a=>void 0!==a[1]?{lines:Number(a[1])}:void 0!==a[2]?{chars:Number(a[2])}:{}},{pattern:/\[Pasted Content (\d+) chars?\]/g,read:a=>({chars:Number(a[1])})},{pattern:/\[([^\]\n]*?)… \+(\d+)L\]/g,read:a=>({head:a[1],lineTotal:Number(a[2])})}];function u(a){let b=[],c=a;for(let{pattern:d,read:e}of t)for(let f of a.matchAll(d))b.push(e(f)),c=c.replace(f[0],"");return{tokens:b,rest:c.trim()}}function v(a,b){return new Promise((c,e)=>{let f=d.execFile("tmux",a,{timeout:5e3},a=>{if(a)return void e(a);c()});void 0!==b&&f.stdin?.end(b)})}async function w(a,b){let c=`cm-send-${process.pid}-${++n}`;try{await v(["load-buffer","-b",c,"-"],b),await v(["paste-buffer","-p","-r","-d","-b",c,"-t",(0,e.lA)(a)])}catch(b){await v(["delete-buffer","-b",c]).catch(()=>void 0);let a=b instanceof Error?b.message:String(b);throw Error(`Failed to paste message into tmux session: ${a}`)}}async function x(a,b,c){try{c.clearBeforeSend?await (0,k.sr)(a,b):await (0,e.Ce)(a)}catch(c){l.error("paste-withdraw-failed",{sessionName:a,cliToolId:b,error:c instanceof Error?c.message:String(c)})}}async function y(a){let{sessionName:b,message:c,cliToolId:d,composer:i,attempts:j}=a,k="unseen",m="";for(let a=0;a<Math.max(1,j)&&(await new Promise(a=>setTimeout(a,100)),"landed"!==(k=function(a,b,c,d=(0,g.gc)(b)){let e=r((0,h.aJ)(a).split("\n")),f=q(d.reader,e,e.slice(-12));if("text"!==f.kind)return"unseen";let{tokens:i,rest:j}=u(f.text);return 0===i.length?s(f.text,c)?"landed":c.includes(f.text)?"mismatch":"unseen":i.length>1||""!==j?"mismatch":function(a,b){let c,d,e=(b.match(/\n/g)??[]).length;if(void 0!==a.head){let c=a.head.replace(/\s+/g," ").trim();if(!b.replace(/\s+/g," ").startsWith(c))return"mismatch"}if(void 0!==a.chars)c=a.chars,d=[[...b].length,b.length];else if(void 0!==a.lineTotal)c=a.lineTotal,d=[e+1];else{if(void 0===a.lines)return 0===e?"landed":"pasting";c=a.lines,d=[e,e+1]}return d.includes(c)?"landed":c<Math.min(...d)?"pasting":"mismatch"}(i[0],c)}(m=await (0,e.Xg)(b,{startLine:-i.verifyCaptureLines}),d,c,i))&&"mismatch"!==k);a++);if("landed"===k)return;if("unseen"===k&&!i.clearBeforeSend)return void l.warn("paste-landed-unverified",{sessionName:b,cliToolId:d,bytes:Buffer.byteLength(c,"utf8")});let n=Buffer.byteLength(c,"utf8"),o=c.split("\n").length,p=function(a,b){let c=r((0,h.aJ)(a).split("\n")),d=q(b.reader,c,c.slice(-12));return"absent"===d.kind?"no composer on screen":"empty"===d.kind?"an empty composer":JSON.stringify(d.text.length>80?`${d.text.slice(0,80)}…`:d.text)}(m,i);await x(b,d,i),(0,f.gm)(b),l.error("paste-not-landed",{sessionName:b,cliToolId:d,state:k,bytes:n,lines:o,shown:p});let t="mismatch"===k?`the composer does not hold the message as sent (it shows ${p})`:"pasting"===k?`the paste had not finished arriving after ${100*j}ms (the composer shows ${p})`:`the message never appeared in the composer (${p})`;throw Error(`Message body did not arrive intact for session ${b}: ${t}; the message is ${n} bytes / ${o} lines. Enter was not pressed, so nothing was submitted (Issue #2464).`)}async function z(a,b,c=(0,g.gc)(b)){if(!c.clearBeforeSend)return;let d=await (0,k.sr)(a,b);if("content"===d.state)throw l.error("pre-send-composer-clear-failed",{sessionName:a,cliToolId:b,passes:d.passes,remainingLength:d.remainingText.length,remainingText:d.remainingText}),Error(`Composer for session ${a} still holds unsent text after ${d.passes} clear passes; refusing to type the message, which would be concatenated with it (Issue #1880).`);d.passes>0&&l.warn("pre-send-composer-cleared",{sessionName:a,cliToolId:b,passes:d.passes,state:d.state,discardedLength:d.discardedText.length,discardedText:d.discardedText})}async function A(a){let{sessionName:b,message:c,cliToolId:d,composer:j=(0,g.gc)(d),textInputWaitMs:k=i.pL,interEnterWaitMs:n=i.pL,verifyAttempts:p=4,verifyDelayMs:t=i.x9,pasteLandedAttempts:v=20}=a,x=a.submitEnterCount??j.submitEnterCount;if(await z(b,d,j),Buffer.byteLength(c,"utf8")>512){let a=Date.now();await w(b,c),await y({sessionName:b,message:c,cliToolId:d,composer:j,attempts:v});let e=k-(Date.now()-a);e>0&&await new Promise(a=>setTimeout(a,e))}else await (0,e.V1)(b,c,!1,{literal:!0}),await new Promise(a=>setTimeout(a,k));for(let a=0;a<Math.max(1,x);a++)await (0,e.KB)(b,["Enter"]),a<x-1&&await new Promise(a=>setTimeout(a,n));let A=Math.max(1,p);for(let a=0;a<A;a++){await new Promise(a=>setTimeout(a,t));let i=function(a,b,c,d=(0,g.gc)(b)){let e=r((0,h.aJ)(a).split("\n")),f=e.slice(-12),i=f.join("\n");if((0,h.ut)(b,i))return"submitted";let j=q(d.reader,e,f);return"text"!==j.kind?"submitted":j.rows.some(a=>m.test(a)||u(a).tokens.length>0)||s(j.text,c)?"pending":o.test(j.text)?"replaced":"submitted"}(await (0,e.Xg)(b,{startLine:-j.verifyCaptureLines}),d,c,j);if("submitted"===i)return void(0,f.gm)(b);if("replaced"===i){try{await (0,e.Ce)(b)}catch(a){l.error("submit-clear-input-failed",{sessionName:b,cliToolId:d,error:a instanceof Error?a.message:String(a)})}throw(0,f.gm)(b),l.error("submit-replaced-by-tui-completion",{sessionName:b,cliToolId:d,attempt:a}),Error(`Message was replaced by a TUI autocompletion for session ${b}; the input no longer matches the sent text. Cleared the input line without submitting to avoid executing a different command.`)}l.warn("submit-not-confirmed:resending-enter",{sessionName:b,cliToolId:d,attempt:a}),await (0,e.KB)(b,["Enter"])}throw(0,f.gm)(b),l.error("submit-verification-failed",{sessionName:b,cliToolId:d,attempts:A}),Error(`Message submit could not be confirmed for session ${b} after ${A} attempts (typed but unsent)`)}},50945:(a,b,c)=>{c.d(b,{Q:()=>g,S:()=>h});var d=c(79892),e=c(11472),f=c(91536);async function g(a,b){let c;try{c=await (0,d.Xg)(a,{startLine:-b.probeCaptureLines})}catch{c=void 0}return"string"!=typeof c?b.unreadableIsExited?{alive:!1,reason:"capture error"}:{alive:!0}:(0,e.Hg)(c,b)}async function h(a,b){return g(a,(0,f.H7)(b))}},56717:(a,b,c)=>{c.d(b,{gc:()=>g});var d=c(16983);let e={reader:"input-line-marker",verifyCaptureLines:12,clearBeforeSend:!0,submitEnterCount:1},f={claude:e,codex:e,gemini:{...e,clearBeforeSend:!1},copilot:{...e,clearBeforeSend:!1},antigravity:{...e,clearBeforeSend:!1},"command-code":{...e,clearBeforeSend:!1},"vibe-local":{...e,clearBeforeSend:!1,submitEnterCount:2},opencode:{reader:"opencode-box",verifyCaptureLines:d.xT,clearBeforeSend:!1,submitEnterCount:1}};function g(a){return f[a]??e}},57905:(a,b,c)=>{c.d(b,{c0:()=>R,zw:()=>N,Yq:()=>O,pU:()=>Q,R7:()=>P,VU:()=>S});var d=c(79892),e=c(85164),f=c(11472),g=c(91536),h=c(50945),i=c(40236),j=c(93997),k=c(77093),l=c(20610),m=c(79646),n=c(28354),o=c(72626);let p=(0,o.h)("session-key-sender"),q=(0,n.promisify)(m.exec);async function r(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function s(a){await q("tmux set-environment -g -u CLAUDECODE 2>/dev/null || true"),await (0,d.V1)(a,"unset CLAUDECODE",!0),await new Promise(a=>setTimeout(a,l.Em))}async function t(a,b){let c=Date.now();for(;Date.now()-c<b;){let b=await r(a);if(e.hx.test(b))return;await new Promise(a=>setTimeout(a,200))}throw Error(`Prompt detection timeout (${b}ms)`)}async function u(a,b,c,f){if(!await (0,d.N)(a))throw Error(`Claude session ${a} does not exist. Start the session first.`);let g=await r(a);e.hx.test(g)||await t(a,f),await new Promise(a=>setTimeout(a,c)),await (0,i.FW)({sessionName:a,message:b,cliToolId:"claude"}),(0,j.gm)(a),p.info("sent-message-to-session",{sessionName:a})}async function v(a){try{await (0,d.N)(a)&&(await (0,d.V1)(a,"",!1),await (0,d.ds)(a,"C-d"),(0,j.gm)(a),await new Promise(a=>setTimeout(a,l.Zf)));let b=await (0,d.fY)(a);return b&&p.info("stopped-session",{sessionName:a}),b}catch(a){return p.error("session:stop-failed",{error:(0,k.u1)(a)}),!1}}var w=c(79748),x=c(15194),y=c(22354),z=c(43252),A=c(80252),B=c(1305),C=c(48083),D=c(2669);let E=(0,o.h)("claude-session"),F=(0,n.promisify)(m.exec),G=(0,g.H7)("claude"),H=null;async function I(){if(H)return H;let a=process.env.CLAUDE_PATH;if(a&&(/^[/a-zA-Z0-9._-]+$/.test(a)?!a.includes("..")||(E.info("claudepath-contains-path"),!1):(E.info("claudepath-contains-invalid-characters-i"),!1)))try{return await (0,w.access)(a,w.constants.X_OK),H=a}catch{E.info("claudepath-is-not-executable:envclaudepa")}try{let{stdout:a}=await F("which claude",{timeout:5e3});return H=a.trim()}catch{for(let a of["/opt/homebrew/bin/claude","/usr/local/bin/claude","/usr/bin/claude"])try{return await F(`test -x "${a}"`,{timeout:1e3}),H=a}catch{}throw Error("Claude CLI not found. Set CLAUDE_PATH environment variable or install Claude CLI.")}}async function J(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function K(a){let b=await (0,h.Q)(a,G);return b.alive?{healthy:!0}:{healthy:!1,reason:b.reason}}async function L(a){return!!(await K(a)).healthy||(E.warn("session-sessionname-unhealthy:resultreas"),await (0,d.fY)(a),!1)}function M(a,b){let c=`mcbd-claude-${a}`;if(!b||"claude"===b)return c;let d=(0,x.pL)(b,"claude");return d?`${c}-${d}`:c}async function N(){try{return await F("which claude",{timeout:5e3}),!0}catch{return!1}}async function O(a,b){let c=M(a,b);return!!await (0,d.N)(c)&&(!!(await K(c)).healthy||(E.warn("session-sessionname-unhealthy:resultreas"),!1))}async function P(a){let{worktreeId:b,worktreePath:c,instanceId:g,model:h}=a;if(void 0!==h){let a=(0,A.LB)(h);if(!a.valid)throw Error(`Invalid Claude model name: ${a.reason}`)}if(!await N())throw new D.lU("Claude Code","Claude CLI is not installed or not in PATH");let i=M(b,g);if(await (0,d.N)(i)&&await L(i)){await (0,d.zT)(i),E.info("claude-session-sessionname");return}(0,B.Fq)({worktreeId:b,cliToolId:y.vm,instanceId:g});try{await (0,d.jw)({sessionName:i,workingDirectory:c}),await s(i);let a=await I(),k=(0,B.wK)({target:{worktreeId:b,cliToolId:y.vm,instanceId:g},executablePath:a,worktreePath:c}),l=void 0===h?k:`${k} --model ${(0,z.ZL)(h)}`;await (0,d.V1)(i,l,!0);let m=Date.now(),n=!1,o=!1;for(;Date.now()-m<6e4;){var j;await new Promise(a=>setTimeout(a,300));let a=null;try{a=await J(i)}catch{}if(null===a)continue;if(e.hx.test(a)){await new Promise(a=>setTimeout(a,500)),E.info("claude-initialized-in"),n=!0;break}if(!o&&e.CX.test(a))try{await (0,d.V1)(i,"",!0),o=!0,E.info("trust-dialog-detected")}catch{}let b=(j=a,(0,f.ow)(j,G));if(null!==b)throw new D.mR("Claude Code",i,b)}if(!n)throw new D.Sr("Claude Code",i,6e4);E.info("started-claude-session:sessionname")}catch(a){if(H=null,E.error("session:start-failed",{error:a instanceof Error?a.message:String(a)}),(0,D.su)(a))throw a;throw Error("Failed to start Claude session")}}async function Q(a,b,c){let d=M(a,c);await u(d,b,500,1e4)}async function R(a,b=1e3,c){let e=M(a,c);if(!await (0,d.N)(e))throw Error(`Claude session ${e} does not exist`);try{return await (0,d.Xg)(e,{startLine:-b})}catch(a){throw Error(`Failed to capture Claude output: ${a instanceof Error?a.message:String(a)}`)}}async function S(a,b){let c=M(a,b),d=await v(c);return(0,C.discardAgentEventState)(a,"claude",b),d}},77093:(a,b,c)=>{c.d(b,{u1:()=>d});function d(a){return a instanceof Error?a.message:String(a)}},87673:(a,b,c)=>{c.d(b,{sr:()=>i});var d=c(79892),e=c(93997),f=c(94154);let g=(0,c(72626).h)("composer-clear"),h=a=>new Promise(b=>setTimeout(b,a));async function i(a,b,c={}){let j=c.capture??(a=>(0,d.Xg)(a,200)),k=c.sendClear??d.ou,l=c.delay??h,m=c.maxPasses??12,n=0,o=(0,f.ji)(await j(a),b),p="content"===o.state?o.text:"";for(;"content"===o.state&&n<m;)await k(a),n++,await l(120),o=(0,f.ji)(await j(a),b);n>0&&(0,e.gm)(a);let q="empty"===o.state||"ghost"===o.state;return q||g.warn("composer-clear:not-cleared",{sessionName:a,cliToolId:b,passes:n,state:o.state}),{cleared:q,passes:n,state:o.state,remainingText:o.text,discardedText:p}}},91536:(a,b,c)=>{c.d(b,{H7:()=>i});var d=c(85164),e=c(11472);let f={probeCaptureLines:50,shellPromptEndings:e.Bl,maxShellPromptLength:e.w9,fatalPatterns:[],fatalRegexPatterns:[]},g={aliveTailLines:12,shellPromptPatterns:e.vg,unreadableIsExited:!1},h={claude:{...f,alivePatterns:[d.hx],aliveTailLines:null,shellPromptPatterns:[],unreadableIsExited:!0,fatalPatterns:d.F0,fatalRegexPatterns:d.Fw},codex:{...f,...g,alivePatterns:[d.gm,d.sB,d.Mt]},copilot:{...f,...g,alivePatterns:[d.Du,d.Ub,d.tJ,d.rb]},opencode:{...f,...g,alivePatterns:[d.vU,d.uA,d.Cc,d.LO,d.a2]},gemini:{...f,...g,alivePatterns:[d.wN,d.s0]},antigravity:{...f,...g,alivePatterns:[d.lE,d.kT,d.VF]},"command-code":{...f,...g,alivePatterns:[d.WK,d.jk,d.k0]},"vibe-local":{...f,...g,alivePatterns:[d.Dj,d.b2]}};function i(a){return h[a]??h.claude}}};
|
|
1
|
+
"use strict";exports.id=7905,exports.ids=[7905],exports.modules={1305:(a,b,c)=>{c.d(b,{Fq:()=>l,wK:()=>m});var d=c(22354),e=c(48083),f=c(88807),g=c(52660),h=c(54325),i=c(72626);let j=(0,i.h)("lib/session/session-generation-archive"),k=(0,i.h)("lib/session/agent-session-lifecycle");function l(a,b=Date.now()){let i=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted;(0,e.beginAgentEventGeneration)(a.worktreeId,a.cliToolId,a.instanceId,b);let m=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted,n=(0,d.VM)(a.cliToolId);k.info("agent-session-generation-begun",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,transport:n.transport,decisionsEvicted:m-i});try{!function(a,b=process.env.VITEST?null:(0,f.getDbInstance)()){var d,e,i;let k=a.instanceId??a.cliToolId;if(!b)return;let l=(0,g.deleteMessagesByInstance)(b,a.worktreeId,k);0===l||((0,g.recomputeLastUserMessage)(b,a.worktreeId),j.info("session-generation-archived",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:k,archived:l}),d=a.worktreeId,e=a.cliToolId,i=k,Promise.all([c.e(1356),c.e(1503),c.e(1191),c.e(1719),c.e(2119),c.e(2445),c.e(8728)]).then(c.bind(c,43015)).then(({broadcastMessage:a})=>{a(h.dz,{worktreeId:d,cliToolId:e,instanceId:i,reason:"session_generation"})}).catch(a=>{j.warn("session-generation-invalidate-broadcast-failed",{worktreeId:d,instanceId:i,error:a instanceof Error?a.message:String(a)})}))}(a)}catch(b){k.warn("session-generation-archive-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}function m(a){return(0,d.K9)((0,d.VM)(a.target.cliToolId).prepareLaunch(a))}},11472:(a,b,c)=>{c.d(b,{Bl:()=>e,GE:()=>j,Hg:()=>k,ow:()=>i,vg:()=>g,w9:()=>f});var d=c(51297);let e=["$","%","#"],f=40,g=[/^[\w.-]+@[\w.-]+[\s:].*[$%#]$/,/^\[[\w.-]+@[\w.-]+[^\]]*\][$#]$/];function h(a){return a.split("\n").filter(a=>""!==a.trim())}function i(a,b){let c=h(a.trim()).slice(-10).join("\n");for(let a of b.fatalPatterns)if(c.includes(a))return a;for(let a of b.fatalRegexPatterns)if(a.test(c))return a.source;return null}function j(a,b){let c=h(a.trim()),d=c[c.length-1]?.trim()??"";return!/\d+%$/.test(d)&&b.shellPromptPatterns.some(a=>a.test(d))?{line:d,via:"pattern"}:d.length>=b.maxShellPromptLength?null:b.shellPromptEndings.some(a=>!(!d.endsWith(a)||"%"===a&&/\d+%$/.test(d)))?{line:d,via:"ending"}:null}function k(a,b){let c=(0,d.aJ)(a).trim();if(""===c)return b.unreadableIsExited?{alive:!1,reason:"empty output"}:{alive:!0};let e=h(c),f=null===b.aliveTailLines?c:e.slice(-b.aliveTailLines).join("\n");if(b.alivePatterns.some(a=>a.test(f)))return{alive:!0};let g=i(c,b);if(null!==g)return{alive:!1,reason:`error pattern: ${g}`};let k=j(c,b);return null!==k?"pattern"===k.via?{alive:!1,reason:`shell prompt detected: ${k.line}`}:{alive:!1,reason:`shell prompt ending detected: ${k.line}`}:{alive:!0}}},20610:(a,b,c)=>{c.d(b,{CV:()=>i,Em:()=>o,Is:()=>g,KI:()=>j,PY:()=>m,Rk:()=>l,Uc:()=>d,Zf:()=>h,kZ:()=>p,os:()=>k,pL:()=>e,x9:()=>f,yO:()=>n});let d=100,e=100,f=200,g=300,h=500,i=500,j=2e3,k=300,l=3e3,m=200,n=3e3,o=100,p=1e3},40236:(a,b,c)=>{c.d(b,{FW:()=>A});var d=c(79646),e=c(79892),f=c(93997),g=c(56717),h=c(85164),i=c(20610),j=c(72626),k=c(87673);let l=(0,j.h)("cli-tools/submit-verified-sender"),m=/\[Pasted text[\s#]/,n=0,o=/^\/[A-Za-z]/,p=/^\s*(?:ctx:\d+%\s*)?[>❯›]/;function q(a,b,c){if("opencode-box"===a){let a=(0,h.mu)(b);if(null===a)return{kind:"absent"};if(a.some(a=>h.vU.test(a)))return{kind:"empty"};let c=a.map(h.pV).find(a=>a.length>0);return void 0===c?{kind:"empty"}:{kind:"text",text:c,rows:a}}if("input-line-marker"!==a)return{kind:"absent"};let d=function(a){for(let b=a.length-1;b>=0;b--)if(p.test(a[b]))return a[b];return null}(c);if(null===d)return{kind:"absent"};let e=d.replace(p,"").trim();return 0===e.length?{kind:"empty"}:{kind:"text",text:e,rows:[d]}}function r(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}function s(a,b){let c=b.split("\n").map(a=>a.trim()).find(a=>a.length>0)??"";return 0!==c.length&&c.startsWith(a)}let t=[{pattern:/\[Pasted text(?: #\d+)?(?: \+(\d+) lines?| (\d+) chars?)?\]/g,read:a=>void 0!==a[1]?{lines:Number(a[1])}:void 0!==a[2]?{chars:Number(a[2])}:{}},{pattern:/\[Pasted Content (\d+) chars?\]/g,read:a=>({chars:Number(a[1])})},{pattern:/\[([^\]\n]*?)… \+(\d+)L\]/g,read:a=>({head:a[1],lineTotal:Number(a[2])})}];function u(a){let b=[],c=a;for(let{pattern:d,read:e}of t)for(let f of a.matchAll(d))b.push(e(f)),c=c.replace(f[0],"");return{tokens:b,rest:c.trim()}}function v(a,b){return new Promise((c,e)=>{let f=d.execFile("tmux",a,{timeout:5e3},a=>{if(a)return void e(a);c()});void 0!==b&&f.stdin?.end(b)})}async function w(a,b){let c=`cm-send-${process.pid}-${++n}`;try{await v(["load-buffer","-b",c,"-"],b),await v(["paste-buffer","-p","-r","-d","-b",c,"-t",(0,e.lA)(a)])}catch(b){await v(["delete-buffer","-b",c]).catch(()=>void 0);let a=b instanceof Error?b.message:String(b);throw Error(`Failed to paste message into tmux session: ${a}`)}}async function x(a,b,c){try{c.clearBeforeSend?await (0,k.sr)(a,b):await (0,e.Ce)(a)}catch(c){l.error("paste-withdraw-failed",{sessionName:a,cliToolId:b,error:c instanceof Error?c.message:String(c)})}}async function y(a){let{sessionName:b,message:c,cliToolId:d,composer:i,attempts:j}=a,k="unseen",m="";for(let a=0;a<Math.max(1,j)&&(await new Promise(a=>setTimeout(a,100)),"landed"!==(k=function(a,b,c,d=(0,g.gc)(b)){let e=r((0,h.aJ)(a).split("\n")),f=q(d.reader,e,e.slice(-12));if("text"!==f.kind)return"unseen";let{tokens:i,rest:j}=u(f.text);return 0===i.length?s(f.text,c)?"landed":c.includes(f.text)?"mismatch":"unseen":i.length>1||""!==j?"mismatch":function(a,b){let c,d,e=(b.match(/\n/g)??[]).length;if(void 0!==a.head){let c=a.head.replace(/\s+/g," ").trim();if(!b.replace(/\s+/g," ").startsWith(c))return"mismatch"}if(void 0!==a.chars)c=a.chars,d=[[...b].length,b.length];else if(void 0!==a.lineTotal)c=a.lineTotal,d=[e+1];else{if(void 0===a.lines)return 0===e?"landed":"pasting";c=a.lines,d=[e,e+1]}return d.includes(c)?"landed":c<Math.min(...d)?"pasting":"mismatch"}(i[0],c)}(m=await (0,e.Xg)(b,{startLine:-i.verifyCaptureLines}),d,c,i))&&"mismatch"!==k);a++);if("landed"===k)return;if("unseen"===k&&!i.clearBeforeSend)return void l.warn("paste-landed-unverified",{sessionName:b,cliToolId:d,bytes:Buffer.byteLength(c,"utf8")});let n=Buffer.byteLength(c,"utf8"),o=c.split("\n").length,p=function(a,b){let c=r((0,h.aJ)(a).split("\n")),d=q(b.reader,c,c.slice(-12));return"absent"===d.kind?"no composer on screen":"empty"===d.kind?"an empty composer":JSON.stringify(d.text.length>80?`${d.text.slice(0,80)}…`:d.text)}(m,i);await x(b,d,i),(0,f.gm)(b),l.error("paste-not-landed",{sessionName:b,cliToolId:d,state:k,bytes:n,lines:o,shown:p});let t="mismatch"===k?`the composer does not hold the message as sent (it shows ${p})`:"pasting"===k?`the paste had not finished arriving after ${100*j}ms (the composer shows ${p})`:`the message never appeared in the composer (${p})`;throw Error(`Message body did not arrive intact for session ${b}: ${t}; the message is ${n} bytes / ${o} lines. Enter was not pressed, so nothing was submitted (Issue #2464).`)}async function z(a,b,c=(0,g.gc)(b)){if(!c.clearBeforeSend)return;let d=await (0,k.sr)(a,b);if("content"===d.state)throw l.error("pre-send-composer-clear-failed",{sessionName:a,cliToolId:b,passes:d.passes,remainingLength:d.remainingText.length,remainingText:d.remainingText}),Error(`Composer for session ${a} still holds unsent text after ${d.passes} clear passes; refusing to type the message, which would be concatenated with it (Issue #1880).`);d.passes>0&&l.warn("pre-send-composer-cleared",{sessionName:a,cliToolId:b,passes:d.passes,state:d.state,discardedLength:d.discardedText.length,discardedText:d.discardedText})}async function A(a){let{sessionName:b,message:c,cliToolId:d,composer:j=(0,g.gc)(d),textInputWaitMs:k=i.pL,interEnterWaitMs:n=i.pL,verifyAttempts:p=4,verifyDelayMs:t=i.x9,pasteLandedAttempts:v=20}=a,x=a.submitEnterCount??j.submitEnterCount;if(await z(b,d,j),Buffer.byteLength(c,"utf8")>512){let a=Date.now();await w(b,c),await y({sessionName:b,message:c,cliToolId:d,composer:j,attempts:v});let e=k-(Date.now()-a);e>0&&await new Promise(a=>setTimeout(a,e))}else await (0,e.V1)(b,c,!1,{literal:!0}),await new Promise(a=>setTimeout(a,k));for(let a=0;a<Math.max(1,x);a++)await (0,e.KB)(b,["Enter"]),a<x-1&&await new Promise(a=>setTimeout(a,n));let A=Math.max(1,p);for(let a=0;a<A;a++){await new Promise(a=>setTimeout(a,t));let i=function(a,b,c,d=(0,g.gc)(b)){let e=r((0,h.aJ)(a).split("\n")),f=e.slice(-12),i=f.join("\n");if((0,h.ut)(b,i))return"submitted";let j=q(d.reader,e,f);return"text"!==j.kind?"submitted":j.rows.some(a=>m.test(a)||u(a).tokens.length>0)||s(j.text,c)?"pending":o.test(j.text)?"replaced":"submitted"}(await (0,e.Xg)(b,{startLine:-j.verifyCaptureLines}),d,c,j);if("submitted"===i)return void(0,f.gm)(b);if("replaced"===i){try{await (0,e.Ce)(b)}catch(a){l.error("submit-clear-input-failed",{sessionName:b,cliToolId:d,error:a instanceof Error?a.message:String(a)})}throw(0,f.gm)(b),l.error("submit-replaced-by-tui-completion",{sessionName:b,cliToolId:d,attempt:a}),Error(`Message was replaced by a TUI autocompletion for session ${b}; the input no longer matches the sent text. Cleared the input line without submitting to avoid executing a different command.`)}l.warn("submit-not-confirmed:resending-enter",{sessionName:b,cliToolId:d,attempt:a}),await (0,e.KB)(b,["Enter"])}throw(0,f.gm)(b),l.error("submit-verification-failed",{sessionName:b,cliToolId:d,attempts:A}),Error(`Message submit could not be confirmed for session ${b} after ${A} attempts (typed but unsent)`)}},50945:(a,b,c)=>{c.d(b,{Q:()=>g,S:()=>h});var d=c(79892),e=c(11472),f=c(91536);async function g(a,b){let c;try{c=await (0,d.Xg)(a,{startLine:-b.probeCaptureLines})}catch{c=void 0}return"string"!=typeof c?b.unreadableIsExited?{alive:!1,reason:"capture error"}:{alive:!0}:(0,e.Hg)(c,b)}async function h(a,b){return g(a,(0,f.H7)(b))}},56717:(a,b,c)=>{c.d(b,{gc:()=>g});var d=c(16983);let e={reader:"input-line-marker",verifyCaptureLines:12,clearBeforeSend:!0,submitEnterCount:1},f={claude:e,codex:e,gemini:{...e,clearBeforeSend:!1},copilot:{...e,clearBeforeSend:!1},antigravity:{...e,clearBeforeSend:!1},"command-code":{...e,clearBeforeSend:!1},"vibe-local":{...e,clearBeforeSend:!1,submitEnterCount:2},opencode:{reader:"opencode-box",verifyCaptureLines:d.xT,clearBeforeSend:!1,submitEnterCount:1}};function g(a){return f[a]??e}},57905:(a,b,c)=>{c.d(b,{c0:()=>S,zw:()=>O,Yq:()=>P,pU:()=>R,R7:()=>Q,VU:()=>T});var d=c(79892),e=c(85164),f=c(11472),g=c(91536),h=c(50945),i=c(40236),j=c(93997),k=c(77093),l=c(20610),m=c(79646),n=c(28354),o=c(72626);let p=(0,o.h)("session-key-sender"),q=(0,n.promisify)(m.exec);async function r(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function s(a){await q("tmux set-environment -g -u CLAUDECODE 2>/dev/null || true"),await (0,d.V1)(a,"unset CLAUDECODE",!0),await new Promise(a=>setTimeout(a,l.Em))}async function t(a,b){let c=Date.now();for(;Date.now()-c<b;){let b=await r(a);if(e.hx.test(b))return;await new Promise(a=>setTimeout(a,200))}throw Error(`Prompt detection timeout (${b}ms)`)}async function u(a,b,c,f){if(!await (0,d.N)(a))throw Error(`Claude session ${a} does not exist. Start the session first.`);let g=await r(a);e.hx.test(g)||await t(a,f),await new Promise(a=>setTimeout(a,c)),await (0,i.FW)({sessionName:a,message:b,cliToolId:"claude"}),(0,j.gm)(a),p.info("sent-message-to-session",{sessionName:a})}async function v(a){try{await (0,d.N)(a)&&(await (0,d.V1)(a,"",!1),await (0,d.ds)(a,"C-d"),(0,j.gm)(a),await new Promise(a=>setTimeout(a,l.Zf)));let b=await (0,d.fY)(a);return b&&p.info("stopped-session",{sessionName:a}),b}catch(a){return p.error("session:stop-failed",{error:(0,k.u1)(a)}),!1}}var w=c(79748),x=c(31347),y=c(40964),z=c(22354),A=c(43252),B=c(80252),C=c(1305),D=c(48083),E=c(2669);let F=(0,o.h)("claude-session"),G=(0,n.promisify)(m.exec),H=(0,g.H7)("claude"),I=null;async function J(){if(I)return I;let a=process.env.CLAUDE_PATH;if(a&&(/^[/a-zA-Z0-9._-]+$/.test(a)?!a.includes("..")||(F.info("claudepath-contains-path"),!1):(F.info("claudepath-contains-invalid-characters-i"),!1)))try{return await (0,w.access)(a,w.constants.X_OK),I=a}catch{F.info("claudepath-is-not-executable:envclaudepa")}try{let{stdout:a}=await G("which claude",{timeout:5e3});return I=a.trim()}catch{for(let a of["/opt/homebrew/bin/claude","/usr/local/bin/claude","/usr/bin/claude"])try{return await G(`test -x "${a}"`,{timeout:1e3}),I=a}catch{}throw Error("Claude CLI not found. Set CLAUDE_PATH environment variable or install Claude CLI.")}}async function K(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function L(a){let b=await (0,h.Q)(a,H);return b.alive?{healthy:!0}:{healthy:!1,reason:b.reason}}async function M(a){return!!(await L(a)).healthy||(F.warn("session-sessionname-unhealthy:resultreas"),await (0,d.fY)(a),!1)}function N(a,b){return(0,y.mf)("claude",a,b)}async function O(){try{return await G("which claude",{timeout:5e3}),!0}catch{return!1}}async function P(a,b){let c=N(a,b);return!!await (0,d.N)(c)&&(!!(await L(c)).healthy||(F.warn("session-sessionname-unhealthy:resultreas"),!1))}async function Q(a){let{worktreeId:b,worktreePath:c,instanceId:g,model:h}=a;if(void 0!==h){let a=(0,B.LB)(h);if(!a.valid)throw Error(`Invalid Claude model name: ${a.reason}`)}if(!await O())throw new E.lU("Claude Code","Claude CLI is not installed or not in PATH");let i=N(b,g);if(await (0,d.N)(i)&&(await (0,x.St)(i,c),await M(i))){await (0,d.zT)(i),F.info("claude-session-sessionname");return}(0,C.Fq)({worktreeId:b,cliToolId:z.vm,instanceId:g});try{await (0,d.jw)({sessionName:i,workingDirectory:c}),await s(i);let a=await J(),k=(0,C.wK)({target:{worktreeId:b,cliToolId:z.vm,instanceId:g},executablePath:a,worktreePath:c}),l=void 0===h?k:`${k} --model ${(0,A.ZL)(h)}`;await (0,d.V1)(i,l,!0);let m=Date.now(),n=!1,o=!1;for(;Date.now()-m<6e4;){var j;await new Promise(a=>setTimeout(a,300));let a=null;try{a=await K(i)}catch{}if(null===a)continue;if(e.hx.test(a)){await new Promise(a=>setTimeout(a,500)),F.info("claude-initialized-in"),n=!0;break}if(!o&&e.CX.test(a))try{await (0,d.V1)(i,"",!0),o=!0,F.info("trust-dialog-detected")}catch{}let b=(j=a,(0,f.ow)(j,H));if(null!==b)throw new E.mR("Claude Code",i,b)}if(!n)throw new E.Sr("Claude Code",i,6e4);F.info("started-claude-session:sessionname")}catch(a){if(I=null,F.error("session:start-failed",{error:a instanceof Error?a.message:String(a)}),(0,E.su)(a))throw a;throw Error("Failed to start Claude session")}}async function R(a,b,c){let d=N(a,c);await u(d,b,500,1e4)}async function S(a,b=1e3,c){let e=N(a,c);if(!await (0,d.N)(e))throw Error(`Claude session ${e} does not exist`);try{return await (0,d.Xg)(e,{startLine:-b})}catch(a){throw Error(`Failed to capture Claude output: ${a instanceof Error?a.message:String(a)}`)}}async function T(a,b){let c=N(a,b),d=await v(c);return(0,D.discardAgentEventState)(a,"claude",b),d}},77093:(a,b,c)=>{c.d(b,{u1:()=>d});function d(a){return a instanceof Error?a.message:String(a)}},87673:(a,b,c)=>{c.d(b,{sr:()=>i});var d=c(79892),e=c(93997),f=c(94154);let g=(0,c(72626).h)("composer-clear"),h=a=>new Promise(b=>setTimeout(b,a));async function i(a,b,c={}){let j=c.capture??(a=>(0,d.Xg)(a,200)),k=c.sendClear??d.ou,l=c.delay??h,m=c.maxPasses??12,n=0,o=(0,f.ji)(await j(a),b),p="content"===o.state?o.text:"";for(;"content"===o.state&&n<m;)await k(a),n++,await l(120),o=(0,f.ji)(await j(a),b);n>0&&(0,e.gm)(a);let q="empty"===o.state||"ghost"===o.state;return q||g.warn("composer-clear:not-cleared",{sessionName:a,cliToolId:b,passes:n,state:o.state}),{cleared:q,passes:n,state:o.state,remainingText:o.text,discardedText:p}}},91536:(a,b,c)=>{c.d(b,{H7:()=>i});var d=c(85164),e=c(11472);let f={probeCaptureLines:50,shellPromptEndings:e.Bl,maxShellPromptLength:e.w9,fatalPatterns:[],fatalRegexPatterns:[]},g={aliveTailLines:12,shellPromptPatterns:e.vg,unreadableIsExited:!1},h={claude:{...f,alivePatterns:[d.hx],aliveTailLines:null,shellPromptPatterns:[],unreadableIsExited:!0,fatalPatterns:d.F0,fatalRegexPatterns:d.Fw},codex:{...f,...g,alivePatterns:[d.gm,d.sB,d.Mt]},copilot:{...f,...g,alivePatterns:[d.Du,d.Ub,d.tJ,d.rb]},opencode:{...f,...g,alivePatterns:[d.vU,d.uA,d.Cc,d.LO,d.a2]},gemini:{...f,...g,alivePatterns:[d.wN,d.s0]},antigravity:{...f,...g,alivePatterns:[d.lE,d.kT,d.VF]},"command-code":{...f,...g,alivePatterns:[d.WK,d.jk,d.k0]},"vibe-local":{...f,...g,alivePatterns:[d.Dj,d.b2]}};function i(a){return h[a]??h.claude}}};
|