commandmate 0.47.0 → 0.47.2
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 +501 -501
- package/.next/app-path-routes-manifest.json +36 -36
- package/.next/build-manifest.json +8 -8
- package/.next/diagnostics/framework.json +1 -1
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +15 -15
- package/.next/react-loadable-manifest.json +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route.js +2 -2
- package/.next/server/app/api/agents/update/route.js.nft.json +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.js.nft.json +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.js +1 -1
- package/.next/server/app/api/app/release-notes/route.js.nft.json +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.js +5 -5
- package/.next/server/app/api/app/update/route.js.nft.json +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.js.nft.json +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.js +1 -1
- package/.next/server/app/api/auth/login/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route.js +1 -1
- package/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route.js +1 -1
- package/.next/server/app/api/auth/status/route.js.nft.json +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.js.nft.json +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route.js +1 -1
- package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/external-apps/route.js.nft.json +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route.js +1 -1
- package/.next/server/app/api/fs/browse/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route.js.nft.json +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 +2 -2
- 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.js +2 -2
- package/.next/server/app/api/metrics/vibe/route.js.nft.json +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route.js +1 -1
- package/.next/server/app/api/ollama/models/route.js.nft.json +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route.js +1 -1
- package/.next/server/app/api/push/escalation/route.js.nft.json +1 -1
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js.nft.json +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route.js +1 -1
- package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js +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.js +2 -2
- package/.next/server/app/api/remote/pair/route.js.nft.json +1 -1
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route.js +1 -1
- package/.next/server/app/api/repositories/[id]/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/repositories/excluded/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/skills/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route.js +1 -1
- package/.next/server/app/api/skills/installations/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route.js +2 -2
- package/.next/server/app/api/skills/operations/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route.js +1 -1
- package/.next/server/app/api/skills/reindex/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route.js +1 -1
- package/.next/server/app/api/slash-commands/route.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.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route.js +1 -1
- package/.next/server/app/api/templates/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route.js +1 -1
- package/.next/server/app/api/templates/route.js.nft.json +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route.js.nft.json +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route.js +1 -1
- package/.next/server/app/api/verification/runs/route.js.nft.json +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +7 -7
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/env/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/env/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +5 -5
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js.nft.json +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 +2 -2
- package/.next/server/app/api/worktrees/[id]/verify/config/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/apply-default-agents/route.js.nft.json +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/apple-icon.png/route.js +1 -1
- package/.next/server/app/apple-icon.png/route.js.nft.json +1 -1
- package/.next/server/app/apple-icon.png.meta +1 -1
- package/.next/server/app/icon.png/route.js +1 -1
- package/.next/server/app/icon.png/route.js.nft.json +1 -1
- package/.next/server/app/icon.png.meta +1 -1
- package/.next/server/app/icon1.png/route.js +1 -1
- package/.next/server/app/icon1.png/route.js.nft.json +1 -1
- package/.next/server/app/icon1.png.meta +1 -1
- package/.next/server/app/icon2.png/route.js +1 -1
- package/.next/server/app/icon2.png/route.js.nft.json +1 -1
- package/.next/server/app/icon2.png.meta +1 -1
- package/.next/server/app/login/page.js +2 -2
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest.meta +1 -1
- package/.next/server/app/more/page.js +2 -2
- package/.next/server/app/more/page.js.nft.json +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page.js +2 -2
- package/.next/server/app/offline/page.js.nft.json +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page.js +2 -2
- package/.next/server/app/repositories/page.js.nft.json +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page.js +2 -2
- package/.next/server/app/review/page.js.nft.json +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +2 -2
- package/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page.js +2 -2
- package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page.js +2 -2
- package/.next/server/app/skills/installed/page.js.nft.json +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page.js +2 -2
- package/.next/server/app/skills/page.js.nft.json +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +2 -2
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +4 -4
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js +3 -3
- package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +36 -36
- package/.next/server/chunks/{5048.js → 1185.js} +1 -1
- package/.next/server/chunks/1656.js +19 -0
- package/.next/server/chunks/2460.js +1 -1
- package/.next/server/chunks/255.js +1 -0
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/3505.js +7 -0
- package/.next/server/chunks/3897.js +22 -0
- package/.next/server/chunks/4072.js +5 -5
- package/.next/server/chunks/463.js +1 -0
- package/.next/server/chunks/5209.js +1 -1
- package/.next/server/chunks/5595.js +1 -1
- package/.next/server/chunks/5611.js +1 -1
- package/.next/server/chunks/610.js +1 -0
- package/.next/server/chunks/6119.js +1 -0
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6345.js +1 -1
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6781.js +1 -1
- package/.next/server/chunks/6784.js +1 -0
- package/.next/server/chunks/8581.js +1 -1
- package/.next/server/chunks/8728.js +2 -2
- package/.next/server/chunks/8918.js +1 -1
- package/.next/server/chunks/9130.js +1 -1
- package/.next/server/chunks/936.js +1 -1
- package/.next/server/chunks/9390.js +1 -1
- package/.next/server/chunks/9540.js +1 -1
- package/.next/server/chunks/9627.js +1 -1
- package/.next/server/chunks/9731.js +3 -3
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js +3 -3
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/src/middleware.js.map +1 -1
- package/.next/static/chunks/{1111.5ab4f0ffb0d944e5.js → 1111.1b653d4a9816a0a7.js} +8 -8
- package/.next/static/chunks/{1255-7e5873f06b25e129.js → 1255-a85690d352f4f8fd.js} +1 -1
- package/.next/static/chunks/{2407-b2f524f99f7fc353.js → 2407-a6533805a86d05bd.js} +1 -1
- package/.next/static/chunks/9465-b59bb255b376c813.js +1 -0
- package/.next/static/chunks/app/{layout-419eaf7de340f4ab.js → layout-538d8d2746ad1588.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/page-46aced20b2b1c010.js +1 -0
- package/.next/static/chunks/main-37ca13e38030fe8b.js +1 -0
- package/.next/static/chunks/{webpack-468b7b33030234b3.js → webpack-838df0273b03af19.js} +1 -1
- package/.next/trace +13 -13
- package/dist/cli/commands/prompt.d.ts.map +1 -1
- package/dist/cli/commands/prompt.js +23 -11
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +7 -1
- package/dist/cli/types/api-responses.d.ts +15 -2
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/lib/polling/auto-yes-suppression-reason.d.ts +11 -0
- package/dist/lib/polling/auto-yes-suppression-reason.d.ts.map +1 -1
- package/dist/lib/polling/auto-yes-suppression-reason.js +4 -1
- package/dist/server/src/lib/auto-yes-poller.js +269 -554
- package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +88 -6
- package/dist/server/src/lib/detection/prompt-detector.js +1 -1
- package/dist/server/src/lib/detection/tools/antigravity/dialog.js +1 -1
- package/dist/server/src/lib/hooks/permission-adjudication.js +26 -0
- package/dist/server/src/lib/hooks/permission-decision-service.js +42 -4
- package/dist/server/src/lib/hooks/permission-request-payload.js +20 -0
- package/dist/server/src/lib/hooks/sources/antigravity/source.js +21 -0
- package/dist/server/src/lib/hooks/sources/claude/source.js +3 -0
- package/dist/server/src/lib/hooks/sources/codex/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/command-code/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/copilot/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/gemini/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/legacy-relay.js +2 -0
- package/dist/server/src/lib/hooks/sources/opencode/ingest.js +6 -0
- package/dist/server/src/lib/hooks/sources/opencode/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/opencode-v2/ingest.js +6 -0
- package/dist/server/src/lib/hooks/sources/opencode-v2/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/pending-decisions.js +14 -2
- package/dist/server/src/lib/polling/antigravity-permission-receipts.js +14 -3
- package/dist/server/src/lib/polling/antigravity-receipt-episodes.js +21 -1
- package/dist/server/src/lib/polling/auto-yes-confirmation-ledger-types.js +114 -0
- package/dist/server/src/lib/polling/auto-yes-confirmation-ledger.js +1060 -0
- package/dist/server/src/lib/polling/auto-yes-ledger-records.js +143 -0
- package/dist/server/src/lib/polling/auto-yes-policy.js +36 -7
- package/dist/server/src/lib/polling/auto-yes-poller-capture.js +50 -0
- package/dist/server/src/lib/polling/auto-yes-poller-enter-fallback.js +37 -0
- package/dist/server/src/lib/polling/auto-yes-poller-generation.js +151 -0
- package/dist/server/src/lib/polling/auto-yes-poller-receipt-log.js +287 -0
- package/dist/server/src/lib/polling/auto-yes-poller-state.js +75 -6
- package/dist/server/src/lib/polling/auto-yes-poller-steps.js +109 -0
- package/dist/server/src/lib/polling/auto-yes-prompt-suppression.js +11 -0
- package/dist/server/src/lib/polling/auto-yes-resolver.js +21 -1
- package/dist/server/src/lib/polling/auto-yes-suppression-reason.js +4 -1
- package/dist/server/src/lib/polling/response-checker-blank-response.js +30 -0
- package/dist/server/src/lib/polling/response-checker.js +5 -10
- package/dist/server/src/lib/prompt-observation/appearance.js +165 -0
- package/package.json +2 -2
- package/release-notes/0.47.1.json +20 -0
- package/release-notes/0.47.2.json +20 -0
- package/scripts/hooks/cmate-agent-event.sh +22 -0
- package/.next/server/chunks/1331.js +0 -22
- package/.next/server/chunks/1836.js +0 -1
- package/.next/server/chunks/1944.js +0 -1
- package/.next/server/chunks/2328.js +0 -1
- package/.next/server/chunks/5292.js +0 -7
- package/.next/server/chunks/7166.js +0 -19
- package/.next/server/chunks/9051.js +0 -1
- package/.next/server/chunks/9199.js +0 -1
- package/.next/static/chunks/9465-e5a351baa941f31b.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-45294052ee3032f1.js +0 -1
- package/.next/static/chunks/main-ac91ed6e71380841.js +0 -1
- /package/.next/static/{b5BiQC9F6r_XFPdA9cuSj → etorRtpxbQqqOzdUeXdw2}/_buildManifest.js +0 -0
- /package/.next/static/{b5BiQC9F6r_XFPdA9cuSj → etorRtpxbQqqOzdUeXdw2}/_ssgManifest.js +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=5292,exports.ids=[5292],exports.modules={2734:(a,b,c)=>{c.d(b,{c:()=>d});let d="codex"},15608:(a,b,c)=>{c.d(b,{mc:()=>f,y:()=>g});var d=c(36925);function e(){return(0,d.v)("__cmLegacySessionAliases",()=>new Map)}function f(a){return e().get(a)}function g(a){let b=e(),c=!1;for(let[d,e]of b)e===a&&(b.delete(d),c=!0);return c}},16100:(a,b,c)=>{c.d(b,{Wp:()=>w});var d=c(29021),e=c(33873),f=c(43252),g=c(72626),h=c(66101),i=c(57510),j=c(25071),k=c(34114),l=c(51719),m=c(83738),n=c(26945),o=c(38892),p=c(32301),q=c(71193);let r=(0,g.h)("lib/hooks/sources/opencode-v2/source"),s=["scripts","opencode-v2","launch.sh"];function t(a){let b=(0,n.bH)(a);if(null===b)return{reason:"no-port"};let c=(0,o.X3)(a);return null===c?{reason:"no-password"}:{port:b,password:c}}async function u(a,b,c){let d=a.instanceId??a.cliToolId,e=e=>{r.info("opencode-v2-verdict-undelivered",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,verdict:c.kind,reason:e}),(0,j.oy)(a,b.id,{delivered:!1,reason:e})};if("abstain"===c.kind)return e("abstained");let f=b.conversationId;if(!f)return e("no-session");let g=t(a);if("reason"in g)return e(g.reason);if("question"===b.kind){if("answer"!==c.kind)return e("question-needs-answer-verdict");let h=(0,m.oC)(b.raw,c.answers);if(null===h)return e("form-answer-does-not-fit");let i=await (0,k.yk)(g.port,g.password,f,b.id,h);return r.info("opencode-v2-form-replied",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,delivered:i}),void(0,j.oy)(a,b.id,{delivered:i,reason:i?"form-reply":"form-reply-failed"})}let h=function(a){switch(a.kind){case"allowOnce":return"once";case"allowAlways":return"always";case"deny":return"reject";case"answer":case"abstain":return null}}(c);if(null===h)return e("no-wire-value");let i=await (0,k.Pf)(g.port,g.password,f,b.id,h,"deny"===c.kind?c.message:void 0);r.info("opencode-v2-permission-replied",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,reply:h,delivered:i}),(0,j.oy)(a,b.id,{delivered:i,reason:i?`permission-reply:${h}`:"permission-reply-failed"})}async function v(a){let b=t(a);if("reason"in b)return[];let c=Date.now(),[d,e]=await Promise.all([(0,k.LO)(b.port,b.password),(0,k.CI)(b.port,b.password)]),f=[];for(let a of d??[]){if(!(0,i.Qd)(a))continue;let b=(0,m.hl)(a,c);b&&f.push(b)}for(let a of e??[]){if(!(0,i.Qd)(a))continue;let b=(0,m.gx)(a,c);b&&f.push(b)}return f}let w=(0,h.kS)({cliToolId:q.B,noDecision:{kind:"blocks"},capabilities:{supportedEvents:["user_prompt_submit","stop","notification"],configScope:"none",decisionTimeoutSeconds:null,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!0,eventIdentity:"permission-id",resync:"pending-list",transcriptHistory:"push",stopReportsSelfResume:!1},mappers:l.y8,nativeEventNameFields:["type"],conversationIdFields:[],extractModel:()=>null,extractEventIdentity:l.IQ,extractDetail:()=>null,parsePermissionRequest:m.RN,parseQuestion:m.rk,subscribe:async(a,b)=>{let c=(0,n.bH)(a);return null===c?{close:async()=>{},liveness:{state:"unknown"}}:(0,p.tc)(a,c,b,a=>w.normalizeEvent(a))},decide:u,listPending:v,probeActivity:async()=>null,liveness:a=>(0,p.RH)(a),prepareLaunch:function({target:a,executablePath:b,worktreePath:c}){let g={command:`${(0,f.ZL)(b)} --standalone ${(0,f.ZL)(c)}`,settingsPath:null,env:{}},h=(0,n.bH)(a);if(null===h)return g;let i=(0,o.ar)(a),j=function(){let a=(0,e.resolve)(process.cwd(),...s);return(0,d.existsSync)(a)?a:null}(),k=null===j?"launch-script-missing":(0,d.existsSync)(i)?null:"password-file-missing";return null===j||null!==k?(r.warn("opencode-v2-launch-degraded-to-standalone",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,reason:k}),g):{command:["bash",(0,f.ZL)(j),"--port",String(h),"--password-file",(0,f.ZL)(i),"--directory",(0,f.ZL)(c),...b===q.V?[]:["--executable",(0,f.ZL)(b)]].join(" "),settingsPath:null,env:{}}}})},16659:(a,b,c)=>{c.d(b,{Hz:()=>i,Jj:()=>j,Lz:()=>l,NF:()=>o,Qb:()=>g,Ty:()=>h,bk:()=>k,c_:()=>n,sx:()=>m});var d=c(79748),e=c(33873),f=c(85038);function g(a,b,c,d){return!!(0,f.fp)(a)||(b.info(c,{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,generation:(0,f.Bh)()?.generation,write:d}),!1)}function h(a,b,c=0,d=null){return Math.max(null===b.timestampMs?a.startedAt:Math.max(a.startedAt,b.timestampMs+1),Math.min(c,null===d?1/0:d-1))}function i(a,b,c){let d=a[c+1];return d?b[c+1]?.timestampMs??d.startedAt:null}async function j(a){try{return(await (0,d.stat)(a)).isFile()}catch{return!1}}async function k(a,b,d){let[{getDbInstance:e},{findMessageByRequestId:f}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),g=e();for(let c=b.length-1;c>=0;c-=1){let e=d(b[c]);if(f(g,a.worktreeId,e))return{turns:b.slice(c+1),previousStartedAt:b[c].startedAt,anchored:!0}}return{turns:b.slice(-1),previousStartedAt:b.length>1?b[b.length-2].startedAt:0,anchored:!1}}async function l(a,b,d,e,f){try{let{getLastAgentEvent:e}=await Promise.resolve().then(c.bind(c,33294)),f=e(a.worktreeId,a.cliToolId,a.instanceId)?.sessionId;if("string"==typeof f&&f.length>0)return b.set(d,f),f}catch(b){e.debug(f,{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return b.get(d)??null}function m(a,b,c){if(!c.endsWith(b)||c.includes("\0"))return null;let d=(0,e.resolve)(a),f=(0,e.resolve)(c);return f===d||f.startsWith(d+e.sep)?f:null}async function n(a,b,d,e,f,h){let i=a.instanceId??a.cliToolId,j=b.content.length;if(d.body.length<=j)return!1;let[{getDbInstance:k},{updateMessageContent:l},{broadcastMessage:m}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.all([c.e(1356),c.e(1503),c.e(1191),c.e(8791),c.e(1719),c.e(2119),c.e(2445),c.e(8728)]).then(c.bind(c,43015))]);return!!g(a,f,"transcript-write-refused","grow")&&(l(k(),b.id,d.body),m("message_updated",{worktreeId:a.worktreeId,message:{...b,content:d.body}}),f.info(h,{worktreeId:a.worktreeId,instanceId:i,sessionId:d.sessionId,requestId:b.requestId,path:e,previousLength:j,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0)}async function o(a,b,d,e){if(0===b.length)return 0;let[{getDbInstance:f},{findMessageByRequestId:g}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),h=f(),i=0;for(let c of b){if(!e.isWritable(c))continue;let b=g(h,a.worktreeId,e.requestIdOf(c));b&&await e.grow(a,b,e.render(c),d)&&(i+=1)}return i}},21758:(a,b,c)=>{c.d(b,{Rv:()=>T,TV:()=>s,cN:()=>x,nL:()=>q});var d=c(29021),e=c(21820),f=c(33873),g=c(8004),h=c(67548),i=c(15194),j=c(87447),k=c(43252),l=c(66007),m=c(72626),n=c(45567),o=c(54633);let p=(0,m.h)("lib/hooks/sources/copilot/hook-settings"),q="gh copilot",r="cmate-copilot-agent-hooks",s=10,t="CM_AGENT_WORKTREE_ID",u="CM_AGENT_INSTANCE_ID",v="CM_AUTH_TOKEN",w=n.wS,x="PreToolUse",y=[["SessionStart","session_start"],["UserPromptSubmit","user_prompt_submit"],["PostToolUse","post_tool_use"],["Stop","stop"],["SessionEnd","session_end"]];function z(){return(0,f.join)(function(){let a=(0,f.join)((0,e.homedir)(),".copilot");return(0,g.T)(process.env.COPILOT_HOME,a,"COPILOT_HOME")}(),"settings.json")}function A(a=""){return`: ${r}; if [ -z "\${${t}:-}" ]; then cat >/dev/null; ${a}exit 0; fi; case "$${w}" in ''|*[!0-9]*) cat >/dev/null; ${a}exit 0;; esac; `}let B=`"\${${u}:-${o.V}}"`,C=`"$${t}"`;function D(){return`set -- -fsS -m 4 -X POST -H 'Content-Type: application/json'; if [ -n "\${${v}:-}" ]; then set -- "$@" -H "Authorization: Bearer $${v}"; fi; `}function E(a){return`${(0,k.ZL)("http://127.0.0.1:")}"$${w}"${(0,k.ZL)(a)}`}function F(a){return`${E(`${a}?tool=${o.V}&worktreeId=`)}${C}'&instanceId='${B}`}function G(a){return`rc=$?; printf '%s\\n' "${r}: ${a} rc=$rc" >&2`}function H(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function I(a){return H(a)&&"string"==typeof a.command&&a.command.includes(r)}function J(a,b){return`${JSON.stringify(function(a,b){let c=a.hooks;if(void 0!==c&&!H(c))throw Error('copilot settings.json has a non-object "hooks" key');let d={...c??{}};for(let[a,c]of Object.entries(b.hooks)){let b=d[a];if(void 0!==b&&!Array.isArray(b)){p.warn("copilot-hook-event-not-an-array",{event:a});continue}d[a]=[...function(a){let b=[];for(let c of a)if(!I(c)){if(H(c)&&Array.isArray(c.hooks)){let a=c.hooks.filter(a=>!I(a));if(0===a.length&&c.hooks.length>0)continue;b.push({...c,hooks:a});continue}b.push(c)}return b}(b??[]),...c]}return{...a,hooks:d}}(a,function(a={}){let b={};for(let[c,d]of y)b[c]=[{hooks:[{type:"command",command:function(a,b={}){let c=void 0===b.relayScriptPath?(0,k.Os)():b.relayScriptPath,d=D()+`curl "$@" --data-binary @- ${F(k.jx)} >/dev/null 2>&1 || `+`{ ${G("agent_event_post_failed")}; }`;return c?A()+`if [ -x ${(0,k.ZL)(c)} ]; then `+[(0,k.ZL)(c),"--tool",(0,k.ZL)(o.V),"--event",(0,k.ZL)(a),"--worktree-id",C,"--instance-id",B,"--url",E(k.jx),"--stdin-json"].join(" ")+"; exit 0; fi; "+d:A()+d}(d,a)}]}];return b[x]=[{hooks:[{type:"command",command:function(a={}){return A("printf '{}'; ")+D()+`out=$(curl "$@" --data-binary @- ${F(k.WZ)} `+`2>/dev/null) || { ${G("permission_request_failed")}; out=''; }; `+"[ -n \"$out\" ] || out='{}'; printf '%s' \"$out\""}(a)}]}],{hooks:b}}(b)),null,2)}
|
|
2
|
-
`}function K(a){try{return(0,d.readFileSync)(a,"utf8")}catch(a){if("ENOENT"===a.code)return"";throw a}}function L(a){if(""===a.trim())return{};let b=JSON.parse(a);if(!H(b))throw Error("copilot settings.json is not a JSON object");return b}function M(a){let b,c=K(a);if(""===c.trim())return"absent";try{b=JSON.parse(function(a){let b="",c=!1,d=!1;for(let e=0;e<a.length;e+=1){let f=a[e];if(c){b+=f,d?d=!1:"\\"===f?d=!0:'"'===f&&(c=!1);continue}if('"'===f){c=!0,b+=f;continue}if("/"===f&&"/"===a[e+1]){for(;e<a.length&&"\n"!==a[e];)e+=1;b+="\n";continue}if("/"===f&&"*"===a[e+1]){for(e+=2;e<a.length&&("*"!==a[e]||"/"!==a[e+1]);)e+=1;e+=1;continue}b+=f}return b}(c))}catch{return"unreadable"}if(!H(b))return"unreadable";let d=b.hooks;return null==d||H(d)&&0===Object.keys(d).length||Array.isArray(d)&&0===d.length?"absent":"present"}class N extends Error{constructor(a){super(`copilot config.json still has a "hooks" key (${a}); copilot migrates it over settings.json at startup, so CommandMate is not writing hooks this launch`),this.configPath=a,this.name="CopilotConfigHooksShadowError"}}let O=".cmate.lock",P=".cmate-backup";function Q(a){return`${a}.${process.pid}.tmp`}function R(a,b){return b.configPath??(0,f.join)((0,f.dirname)(a),"config.json")}function S(){return"0"!==process.env.CM_AGENT_HOOKS_INJECT}function T(a,b,c={}){let e={command:a,settingsPath:null,env:{}},g=(a,b)=>{if((0,h.WM)())throw new h.ci(o.V,a,b);return e};if(!S())return g("CM_AGENT_HOOKS_INJECT=0","Do not combine CM_AGENT_HOOKS_INJECT=0 with UAT isolation.");let k=b.instanceId??o.V;if(!(0,i.n6)(k)||!(0,l.h6)(b.worktreeId))return p.warn("copilot-hook-invalid-correlation-key",{worktreeId:b.worktreeId}),g("the worktree or instance id is not a valid correlation key","Use a valid worktree and instance id.");try{let e=function(a={}){let b=a.settingsPath??z();if("read-only"===(0,h.ox)(o.V,[(0,f.dirname)(b),b,`${b}${P}`,Q(b),(0,f.join)((0,f.dirname)(b),O)])){let b=function(a={}){let b=a.settingsPath??z(),c=R(b,a);if(!S())return{usable:!1,reason:"CM_AGENT_HOOKS_INJECT=0",fix:"Do not combine CM_AGENT_HOOKS_INJECT=0 with UAT isolation."};try{let d=M(c);if("absent"!==d)return p.info("copilot-hook-config-json-readonly",{configPath:c,configHooks:d}),{usable:!1,reason:"present"===d?`${c} has a "hooks" key, which copilot migrates over settings.json at startup`:`${c} could not be parsed, so it may hold hooks copilot migrates over settings.json`,fix:"Skip copilot scenarios in this UAT, or run it where copilot's config.json holds no hooks."};let e=K(b);if(""===e)return p.info("copilot-hook-settings-absent-readonly",{settingsPath:b}),{usable:!1,reason:`${b} does not exist or is empty`,fix:h.f0};if(e===J({},a))return{usable:!0,settingsPath:b};if(e===J(L(e),a))return p.info("copilot-hook-settings-foreign-readonly",{settingsPath:b}),{usable:!1,reason:`${b} also holds hooks (or keys) CommandMate did not write, which would run in the UAT session`,fix:"Skip copilot scenarios in this UAT, or run it where the shared settings file holds only the hooks CommandMate writes."};return p.info("copilot-hook-settings-differs-readonly",{settingsPath:b}),{usable:!1,reason:`${b} differs from what this build writes`,fix:h.f0}}catch(a){return p.warn("copilot-hook-settings-unreadable",{settingsPath:b,error:a instanceof Error?a.message:String(a)}),{usable:!1,reason:`${b} could not be read`,fix:h.f0}}}(a);if(b.usable)return b.settingsPath;throw new h.ci(o.V,b.reason,b.fix)}let c=R(b,a),e=M(c);if("present"===e)throw new N(c);return"unreadable"===e&&p.warn("copilot-config-json-unreadable",{configPath:c}),(0,d.mkdirSync)((0,f.dirname)(b),{recursive:!0,mode:448}),function(a,b){let c,e=(0,f.join)(a,O);try{c=(0,d.openSync)(e,"wx",384)}catch(b){if("EEXIST"!==b.code)throw b;let a=Date.now()-(0,d.statSync)(e).mtimeMs;if(a<1e4)throw Error(`copilot settings.json is locked by another CommandMate server (${e})`);p.warn("copilot-hook-settings-lock-stale",{lockPath:e,heldForMs:a}),(0,d.unlinkSync)(e),c=(0,d.openSync)(e,"wx",384)}try{(0,d.writeSync)(c,`${process.pid}
|
|
3
|
-
`)}finally{(0,d.closeSync)(c)}try{return b()}finally{try{(0,d.unlinkSync)(e)}catch{}}}((0,f.dirname)(b),()=>{let c=K(b),e=J(L(c),a);if(c===e)return b;""!==c&&(0,d.copyFileSync)(b,`${b}${P}`);let f=Q(b);try{try{(0,d.unlinkSync)(f)}catch{}(0,d.writeFileSync)(f,e,{mode:384,flag:"wx"}),(0,d.renameSync)(f,b)}catch(a){try{(0,d.unlinkSync)(f)}catch{}throw a}return b})}(c);return{command:a,settingsPath:e,env:function(a,b,c={}){return{[t]:a,[u]:b,[w]:String(c.port??(0,j.D0)())}}(b.worktreeId,k,c)}}catch(a){if(a instanceof h.ci)throw a;if(a instanceof N)return p.warn("copilot-hook-config-json-shadows-settings",{worktreeId:b.worktreeId,configPath:a.configPath}),g(`${a.configPath} has a "hooks" key, which copilot migrates over settings.json at startup`,"Move the hooks out of copilot's config.json.");return p.warn("copilot-hook-settings-write-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)}),g("~/.copilot/settings.json could not be prepared",h.f0)}}},25071:(a,b,c)=>{c.d(b,{GW:()=>n,_0:()=>m,o4:()=>l,oy:()=>k,qK:()=>j});var d=c(24455),e=c(72626),f=c(36925);let g=(0,e.h)("lib/hooks/sources/pending-decisions"),h=(0,f.v)("__agentSourcePendingDecisions",()=>new Map);function i(a){return(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function j(a){return(h.get(i(a))??[]).map(a=>a.decision)}function k(a,b,c){let d=h.get(i(a));if(!d)return!1;let e=d.find(a=>a.decision.id===b);return!!e&&(e.delivery=c,!0)}function l(a,b,c){let d=h.get(i(a));if(!d)return!1;let e=d.find(a=>a.decision.id===b);return!!e&&(e.body=c,!0)}async function m(a,b,c,d){return(await n(a,b,c,d)).body}async function n(a,b,c,d){let e=function(a,b){let c=i(a),d={key:c,ref:a,decision:b,body:null,delivery:null},e=h.get(c)??[];for(e.push(d);e.length>16;)e.shift();return h.set(c,e),d}(b,c);try{await a.decide(b,c,d)}catch(a){g.warn("agent-source-decide-failed",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId??b.cliToolId,decisionId:c.id,error:a instanceof Error?a.message:String(a)}),e.delivery={delivered:!1,reason:a instanceof Error?`decide-threw:${a.message}`:"decide-threw"}}let f=e.delivery;return{body:function(a){let b=h.get(a.key);if(b){let c=b.indexOf(a);c>=0&&b.splice(c,1),0===b.length&&h.delete(a.key)}return a.body??{}}(e),delivery:f}}},28862:(a,b,c)=>{c.d(b,{k:()=>d});let d="command-code"},30451:(a,b,c)=>{c.d(b,{ID:()=>s,JU:()=>z,Jd:()=>y,KJ:()=>j,Oc:()=>x,SS:()=>B,Yx:()=>u,aw:()=>t,jA:()=>h,lc:()=>g,rd:()=>k,ui:()=>i});var d=c(86594),e=c(57510),f=c(27128);let g=[".claude","projects"];function h(a){return a.replace(/[^a-zA-Z0-9]/g,"-")}let i=2e5,j="\n\n_(truncated)_",k=2048,l=["<local-command-caveat>","<local-command-stdout>","<command-name>"],m="<command-message>",n=/<command-name>([\s\S]*?)<\/command-name>/,o=/<command-args>([\s\S]*?)<\/command-args>/;function p(a){let b=a.trim();if(!b.startsWith(m))return null;let c=n.exec(b)?.[1].trim()??"";if(0===c.length)return null;let d=o.exec(b)?.[1].trim()??"";return 0===d.length?c:`${c} ${d}`}let q=/<pasted_content id="([^"<>\s]+)">\n?([\s\S]*?)\n?<\/pasted_content id="\1">/g,r=["command","file_path","notebook_path","path","pattern","query","url","description"];function s(a){if(!(0,e.Qd)(a))return null;let b=(0,e.O2)(a,"type");if(!b)return null;let c=(0,e.Qd)(a.message)?a.message:null,d=c?.content,g=[],h="";if("string"==typeof d)h=d;else if(Array.isArray(d))for(let a of d){let b=function(a){if(!(0,e.Qd)(a))return null;let b=(0,e.O2)(a,"type");if(!b)return null;if("tool_use"===b)return{type:b,text:null,toolName:(0,e.O2)(a,"name"),toolDetail:function(a){if(!(0,e.Qd)(a))return null;for(let c of r){let d=(0,e.O2)(a,c);if(d){var b;return b=(0,f.PB)(d),(0,f.Wv)(b,200)}}return null}(a.input)};let c="text"===b?(0,e.O2)(a,"text")??"":"thinking"===b?(0,e.O2)(a,"thinking")??"":null;return{type:b,text:c,toolName:null,toolDetail:null}}(a);b&&(g.push(b),b.text&&(h+=b.text))}let i=(0,e.O2)(a,"timestamp"),j=i?Date.parse(i):NaN,k=(0,e.Qd)(a.origin)?a.origin:null;return{type:b,uuid:(0,e.O2)(a,"uuid"),sessionId:(0,e.O2)(a,"sessionId")??(0,e.O2)(a,"session_id"),cwd:(0,e.O2)(a,"cwd"),isSidechain:!0===a.isSidechain,isMeta:!0===a.isMeta,originKind:k?(0,e.O2)(k,"kind"):null,promptSource:(0,e.O2)(a,"promptSource"),isCompactSummary:!0===a.isCompactSummary,isInterruption:null!==(0,e.O2)(a,"interruptedMessageId"),timestampMs:Number.isFinite(j)?j:null,stopReason:c?(0,e.O2)(c,"stop_reason"):null,blocks:g,text:h}}function t(a){let b=[],c=0;for(let d of a.split("\n")){let a;if(0===d.trim().length)continue;try{a=JSON.parse(d)}catch{c+=1;continue}let e=s(a);e?b.push(e):c+=1}return{records:b,malformedLines:c}}function u(a){if("user"!==a.type||a.isMeta||!a.uuid||a.blocks.some(a=>"tool_result"===a.type))return!1;let b=a.text.trim();return 0!==b.length&&(b.startsWith(m)?null!==p(b):!l.some(a=>b.startsWith(a)))}let v=["typed","queued"];function w(a){return"assistant"===a.type&&"end_turn"===a.stopReason&&a.blocks.some(a=>"text"===a.type&&(a.text??"").trim().length>0)}function x(a){return!!a.closed||!!a.superseded||!a.stopReasonObserved}function y(a,b){let c=[],d=null,e=0,f=0;for(let g of a){if(g.isSidechain){f+=1;continue}if(u(g)){d=function(a,b){return{sessionId:a.sessionId??b,promptUuid:a.uuid,startedAt:a.timestampMs??0,promptText:p(a.text)??function(a){if(!a.includes("<pasted_content id="))return a;let b=a.replace(q,(a,b,c)=>c);return 0===b.trim().length?a:b}(a.text),promptIsOperatorInput:!!u(a)&&!a.isCompactSummary&&!a.isInterruption&&(null!==a.originKind?"human"===a.originKind:null!==a.promptSource&&v.includes(a.promptSource)),blocks:[],assistantRecords:0,closed:!1,superseded:!1,stopReasonObserved:!1,overflowed:!1}}(g,b),c.push(d);continue}if("assistant"===g.type){if(!d){e+=1;continue}for(let a of(d.assistantRecords+=1,d.closed=w(g),null!==g.stopReason&&(d.stopReasonObserved=!0),g.blocks)){if(d.blocks.length>=k){d.overflowed=!0;break}d.blocks.push(a)}}}for(let a=0;a<c.length-1;a+=1)c[a].superseded=!0;return{turns:c,orphanedAssistantRecords:e,sidechainRecords:f}}function z(a,b){let c=[],e=0,f=!1,g=!1,h=!1,i=0,j=0,l=null;for(let b of a)if(!b.isSidechain){if(u(b)){h=!0;break}if("assistant"===b.type){for(let a of(e+=1,f=w(b),null!==b.stopReason&&(g=!0),null!==b.timestampMs&&(0===i&&(i=b.timestampMs),j=Math.max(j,b.timestampMs)),b.blocks))c.push(a);l=b}}if(null===l||!l.uuid)return null;let m=l.sessionId??b,n=c.length>k;return{turn:{sessionId:m,promptUuid:(0,d.Wr)(m,l.uuid),startedAt:i,promptText:"",promptIsOperatorInput:!1,blocks:n?c.slice(-k):c,assistantRecords:e,closed:f,superseded:h,stopReasonObserved:g,overflowed:n},lastRecordAt:j}}let A=new Set(["tool_result"]);function B(a){let b=[],c=new Set,d=0,e=0;for(let f of a.blocks){if("text"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"prose",text:a}),d+=1;continue}if("thinking"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
|
|
4
|
-
>
|
|
5
|
-
${b}`}(a)});continue}if("tool_use"===f.type){b.push({kind:"tool",text:function(a){let b=a.toolName??"tool";return a.toolDetail?`- \`${b}\` — ${a.toolDetail}`:`- \`${b}\``}(f)}),e+=1;continue}A.has(f.type)||c.add(f.type)}let g=(0,f.t3)(b).body;return g=(0,f.mg)(g,i,j),{sessionId:a.sessionId,promptUuid:a.promptUuid,body:g,textBlocks:d,toolBlocks:e,unknownBlockTypes:[...c]}}},32301:(a,b,c)=>{c.d(b,{VV:()=>J,RH:()=>F,rE:()=>G,yw:()=>E,tc:()=>I});var d=c(36925),e=c(3161),f=c(72626),g=c(57510),h=c(34114),i=c(33294),j=c(86594),k=c(98322),l=c(38892),m=c(71193);let n=(0,f.h)("lib/hooks/sources/opencode-v2/history"),o=["session.execution.succeeded","session.execution.failed","session.execution.interrupted"];function p(a){return null!==a&&o.includes(a)}function q(a){return"number"==typeof a&&Number.isFinite(a)?a:null}function r(a){let b=(0,g.Qd)(a.time)?a.time:null;return q(b?.created)??0}let s=(0,d.v)("__opencodeV2HistoryQueue",()=>new Map);async function t(a,b,c){let d=[],e=null;for(let f=0;f<5;f+=1){let i=await (0,h.VW)(a,b,c,e);if(null===i)return 0===f?null:d;if(d.push(...i.data),i.data.some(a=>(0,g.Qd)(a)&&"user"===(0,g.O2)(a,"type"))||null===i.next||0===i.data.length)break;e=i.next}return d}async function u(a,b,d){let e=a.instanceId??a.cliToolId;if(0===b.body.length)return n.info("opencode-v2-history-turn-empty",{worktreeId:a.worktreeId,instanceId:e,sessionId:b.sessionId}),!1;b.unknownPartTypes.length>0&&n.info("opencode-v2-history-unknown-parts",{worktreeId:a.worktreeId,instanceId:e,sessionId:b.sessionId,partTypes:b.unknownPartTypes});let f=(0,j.jT)(b.userMessageId),[{getDbInstance:g},{createMessage:h,findMessageByRequestId:i},{broadcastMessage:k}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.all([c.e(1356),c.e(1503),c.e(1191),c.e(8791),c.e(1719),c.e(2119),c.e(2445),c.e(8728)]).then(c.bind(c,43015))]),l=g();if(i(l,a.worktreeId,f))return!1;let m=h(l,{worktreeId:a.worktreeId,role:"assistant",content:b.body,messageType:"normal",timestamp:new Date(d>0?d:Date.now()),cliToolId:a.cliToolId,instanceId:e,requestId:f});return k("message",{worktreeId:a.worktreeId,message:m}),n.info("opencode-v2-history-turn-saved",{worktreeId:a.worktreeId,instanceId:e,sessionId:b.sessionId,requestId:f,bodyLength:b.body.length,textParts:b.textParts,toolParts:b.toolParts}),!0}var v=c(51719);let w=(0,f.h)("lib/hooks/sources/opencode-v2/usage");function x(a,b){let c=a[b];return"number"==typeof c&&Number.isFinite(c)&&c>0?c:0}async function y(a,b,c,d=()=>!0){try{let f=(0,l.X3)(a);if(null===f)return null;let i=await (0,h.u7)(b,f,c),j=(0,e.Yv)(i,Date.now());if(!j||!j.id)return null;let k=j.provider,m=j.model,[n,o]=await Promise.all([(0,h.nR)(b,f,j.id),k&&m?(0,h.am)(b,f):Promise.resolve(null)]),p=n?function(a){let b=null;for(let c of a){if(!(0,g.Qd)(c)||"assistant"!==(0,g.O2)(c,"type"))continue;let a=(0,g.Qd)(c.tokens)?c.tokens:null;if(!a)continue;let d=x(a,"output");if(d<=0)continue;let e=(0,g.Qd)(a.cache)?a.cache:{},f=x(a,"input")+d+x(a,"reasoning")+x(e,"read")+x(e,"write"),h=function(a){let b=(0,g.Qd)(a.time)?a.time:null,c=b?.created;return"number"==typeof c&&Number.isFinite(c)?c:0}(c),i=(0,g.O2)(c,"id")??"";(null===b||h>b.at||h===b.at&&i>b.id)&&(b={at:h,id:i,total:f})}return b?.total??null}(n):null,q=o&&k&&m?function(a,b,c){for(let d of a){if(!(0,g.Qd)(d)||d.providerID!==b||d.id!==c)continue;let a=(0,g.Qd)(d.limit)?d.limit:null,e=a?.context;if("number"!=typeof e||!Number.isFinite(e)||e<=0)break;return e}return null}(o,k,m):null;if(!d())return null;return(0,e.G1)(a,j),(0,e.T9)(a,{tokens:p,limit:q,percent:(0,e.sI)(p,q),sessionAt:j.at,at:Date.now()}),j}catch(c){return w.warn("opencode-v2-usage-refresh-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:b,error:c instanceof Error?c.message:String(c)}),null}}let z=(0,d.v)("__opencodeV2UsageRefreshes",()=>new Map),A=(0,f.h)("lib/hooks/sources/opencode-v2/subscription"),B=[500,1e3,2e3,4e3,8e3,15e3,3e4],C=(0,d.v)("__opencodeV2Subscriptions",()=>new Map),D=(0,d.v)("__opencodeV2EndedLiveness",()=>new Map);function E(a){return C.has((0,l.Y_)(a))}function F(a){let b=(0,l.Y_)(a);return C.get(b)?.liveness??D.get(b)??{state:"unknown"}}function G(a){return"live"===F(a).state}function H(a){return{close:async()=>{await J(a.target)},get liveness(){return a.liveness}}}function I(a,b,c,d){let e=(0,l.Y_)(a),f=C.get(e);if(f)return H(f);D.delete(e);let g={key:e,target:a,port:b,onEvent:c,normalize:d,streamController:new AbortController,lifetimeController:new AbortController,liveness:{state:"unknown"},closed:!1,watchdog:null};return C.set(e,g),A.info("opencode-v2-subscription-opened",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:b}),O(g),H(g)}async function J(a){let b=(0,l.Y_)(a);D.delete(b);let c=C.get(b);c&&(K(c),C.delete(b),(0,e.cI)(a),A.info("opencode-v2-subscription-closed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:c.port}))}function K(a){a.closed=!0,M(a),a.streamController.abort(),a.lifetimeController.abort()}function L(a,b){K(a),a.liveness={state:"lost",since:Date.now(),reason:b},C.get(a.key)===a&&C.delete(a.key),D.set(a.key,a.liveness),(0,e.cI)(a.target),A.warn("opencode-v2-subscription-ended",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,reason:b})}function M(a){null!==a.watchdog&&(clearTimeout(a.watchdog),a.watchdog=null)}function N(a){a.liveness={state:"live",lastHeartbeatAt:Date.now()},M(a);let b=setTimeout(()=>{a.closed||(A.warn("opencode-v2-subscription-heartbeat-lost",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,afterMs:6e4}),a.streamController.abort())},6e4);b.unref?.(),a.watchdog=b}async function O(a){let b=0,c=0;for(;!a.closed;){a.streamController=new AbortController;let d="stream-ended";try{let e=(0,l.X3)(a.target);if(null===e)return void L(a,"password-file-missing");let f=await (0,h.tJ)(a.port,e);if(a.closed)return;if("rejected"===f.kind){if(c+=1,d=`server-rejected-${f.status}`,c>=3)return void L(a,"port-identity-changed")}else if("unreachable"===f.kind)d="server-unreachable";else{c=0;let d=await (0,h.MT)(a.port,e,a.streamController.signal);for await(let c of(N(a),b=0,await P(a.target,a.port,e,b=>Q(a,b)),d)){if(a.closed)break;N(a),"frame"===c.kind&&Q(a,c.frame)}}}catch(a){d=a instanceof Error?a.message:String(a)}finally{M(a)}if(a.closed)return;a.liveness={state:"lost",since:Date.now(),reason:d},A.info("opencode-v2-subscription-disconnected",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,reason:d,attempt:b}),await function(a,b){return new Promise(c=>{if(b.aborted)return void c();let d=()=>{clearTimeout(e),c()};b.addEventListener("abort",d,{once:!0});let e=setTimeout(()=>{b.removeEventListener("abort",d),c()},a);e.unref?.()})}(B[Math.min(b,B.length-1)],a.lifetimeController.signal),b+=1}}async function P(a,b,c,d){let e=0;try{let[f,i]=await Promise.all([(0,h.LO)(b,c),(0,h.CI)(b,c)]),j=(b,c,f)=>{let h=(b??[]).filter(g.Qd),i=h.slice(0,50);for(let b of(h.length>i.length&&A.warn("opencode-v2-resync-truncated",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,type:c,examined:i.length,skipped:h.length-i.length,limit:50}),i)){let a="string"==typeof b.id&&""!==b.id?b.id:null;null!==a&&(d({id:`resync_${a}`,type:c,data:f(b)}),e+=1)}};j(f,"permission.asked",a=>a),j(i,"form.created",a=>({form:a}))}catch(b){A.warn("opencode-v2-resync-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return e>0&&A.info("opencode-v2-resync",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,replayed:e}),e}function Q(a,b){try{!function(a,b,c,d=Date.now()){if(!(0,v.cT)((0,v.Cr)(a)))return;let e=b({payload:a,receivedAt:d});e&&c(e)}(b,a.normalize,a.onEvent)}catch(c){A.warn("opencode-v2-frame-delivery-failed",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,type:(0,v.Cr)(b),error:c instanceof Error?c.message:String(c)})}(function(a,b,c,d=()=>!0){try{if(!p((0,v.Cr)(c)))return null;let e=(0,v.lx)(c);if(null===e)return null;!function(a,b,c,d=()=>!0){!function(a,b){let c=(s.get(a)??Promise.resolve()).then(b,b).then(()=>void 0,()=>void 0);s.set(a,c),c.then(()=>{s.get(a)===c&&s.delete(a)})}((0,l.Y_)(a),async()=>{let e=a.instanceId??a.cliToolId;try{let f=(0,l.X3)(a);if(null===f)return n.info("opencode-v2-history-unavailable",{worktreeId:a.worktreeId,instanceId:e,reason:"password-file-missing"}),0;let h=await t(b,f,c);if(null===h)return n.warn("opencode-v2-history-unavailable",{worktreeId:a.worktreeId,instanceId:e,port:b,sessionId:c,reason:"messages-unreadable"}),0;d()&&(0,i.recordAgentReportedModel)(a.worktreeId,m.B,a.instanceId??m.B,function(a){let b=null;for(let c of a){if(!(0,g.Qd)(c)||"assistant"!==(0,g.O2)(c,"type"))continue;let a=(0,g.NZ)(c,["model","id"]);if(null===a)continue;let d=r(c),e=(0,g.O2)(c,"id")??"";(null===b||d>b.at||d===b.at&&e>b.id)&&(b={at:d,id:e,model:a})}return b?.model??null}(h));let j=(function(a,b){let c=a.filter(g.Qd).filter(a=>null!==(0,g.O2)(a,"id")).map((a,b)=>({message:a,index:b})).sort((a,b)=>{let c=r(a.message)-r(b.message);if(0!==c)return c;let d=(0,g.O2)(a.message,"id")??"",e=(0,g.O2)(b.message,"id")??"";return d<e?-1:d>e?1:a.index-b.index}).map(({message:a})=>a),d=[],e=null,f=a=>{e&&d.push({...e,closed:a}),e=null};for(let a of c){let c=(0,g.O2)(a,"id"),d=(0,g.O2)(a,"type");if("user"===d){f(!0),e={accumulator:(0,k.lp)(b,c,r(a)),completedAt:null};continue}if(!e)continue;let h=e;if("idle"===d){f(!0);continue}if("assistant"!==d)continue;h.accumulator.assistantMessageIds.add(c),(Array.isArray(a.content)?a.content:[]).forEach((a,b)=>{let d=function(a,b,c){if(!(0,g.Qd)(c))return null;let d=(0,g.O2)(c,"type");if(!d)return null;let e=(0,g.Qd)(c.state)?c.state:null;return{id:`${a}#${b}`,messageId:a,type:d,text:"string"==typeof c.text?c.text:null,tool:"tool"===d?(0,g.O2)(c,"name"):null,status:e?(0,g.O2)(e,"status"):null,title:e?(0,g.O2)(e,"title"):null,error:e?(0,g.O2)(e,"error")??(0,g.NZ)(e,["error","message"]):null}}(c,b,a);d&&(0,k.yG)(h.accumulator,d)});let i=(0,g.Qd)(a.time)?a.time:null,j=q(i?.completed)??q(i?.created);null!==j&&j>(h.completedAt??0)&&(h.completedAt=j)}return f(!1),d})(h,c).filter(a=>a.closed).slice(-50),o=0;for(let b of j){let c=(0,k.JZ)(b.accumulator),d=Math.max(b.accumulator.startedAt,b.completedAt??0);await u(a,c,d)&&(o+=1)}return o}catch(d){return n.error("opencode-v2-history-sync-failed",{worktreeId:a.worktreeId,instanceId:e,port:b,sessionId:c,error:d instanceof Error?d.message:String(d)}),0}})}(a,b,e,d)}catch(b){return A.warn("opencode-v2-history-trigger-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)}),null}})(a.target,a.port,b,()=>R(a)),function(a,b,c,d=()=>!0){try{var e;if(!("session.usage.updated"===(e=(0,v.Cr)(c))||p(e)))return null;let f=(0,v.lx)(c);if(null===f)return null;!function(a,b,c,d=()=>!0){let e=(0,l.Y_)(a),f=z.get(e);if(f)return f.queued={port:b,sessionId:c,isCurrent:d},f.running;let g={running:Promise.resolve(),queued:null};g.running=(async()=>{let f={port:b,sessionId:c,isCurrent:d};for(;null!==f;){let b=f;g.queued=null,await y(a,b.port,b.sessionId,b.isCurrent),f=g.queued}z.get(e)===g&&z.delete(e)})(),z.set(e,g),g.running}(a,b,f,d)}catch(b){return A.warn("opencode-v2-usage-trigger-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)}),null}}(a.target,a.port,b,()=>R(a))}function R(a){return!a.closed&&C.get(a.key)===a}},38367:(a,b,c)=>{c.d(b,{Jp:()=>h,WK:()=>e,lb:()=>f,ue:()=>g});var d=c(57510);let e={Stop:"stop",SubagentStop:"stop",Notification:"notification",SessionStart:"session_start",SessionEnd:"session_end",UserPromptSubmit:"user_prompt_submit",PreToolUse:"pre_tool_use",PostToolUse:"post_tool_use"},f=["session_id","conversationId"],g=["tool_use_id"];function h(a,b){let c="notification"===a?"notification_type":"session_end"===a?"reason":"session_start"===a?"source":"pre_tool_use"===a||"post_tool_use"===a?"tool_name":null;return null===c?null:(0,d.Wv)((0,d.O2)(b,c))}},40964:(a,b,c)=>{c.d(b,{s4:()=>k,NN:()=>n,Ze:()=>l,mf:()=>m});var d=c(15194);let e=/^[a-zA-Z0-9_-]+$/;function f(a){if(!e.test(a))throw Error(`Invalid session name format: ${a}`)}var g=c(15608);let h="mcbd-",i=/^[0-9a-f]{8}$/,j=[...d.XH].sort((a,b)=>b.length-a.length);function k(){return globalThis.__cmTmuxSessionNamespace??null}function l(a,b,c,e){var g=null===a?h:`${h}${a}-`;let i=`${g}${b}-${c}`;if(!e||e===b)return f(i),i;let j=(0,d.pL)(e,b),k=j?`${i}-${j}`:i;return f(k),k}function m(a,b,c){let d=k(),e=l(d,a,b,c);return null===d?e:(0,g.mc)(e)??e}function n(a){if(!a.startsWith(h))return null;let b=a.slice(h.length),c=null,d=b.indexOf("-");d>0&&i.test(b.slice(0,d))&&(c=b.slice(0,d),b=b.slice(d+1));let e=j.find(a=>b.startsWith(`${a}-`));if(!e)return null;let f=b.slice(e.length+1);return""===f?null:{namespace:c,cliToolId:e,rest:f}}},45567:(a,b,c)=>{c.d(b,{K9:()=>i,ZM:()=>f,wS:()=>g});var d=c(87447),e=c(43252);let f="CM_HOOK_URL",g="CM_HOOK_PORT",h="CM_PORT";function i(a){let b=Object.entries(h in a.env?a.env:{...a.env,[h]:String((0,d.D0)())}).map(([a,b])=>`${a}=${(0,e.ZL)(b)}`);return 0===b.length?a.command:`${b.join(" ")} ${a.command}`}},51719:(a,b,c)=>{c.d(b,{Ai:()=>g,Cr:()=>l,DH:()=>o,Dg:()=>q,IQ:()=>p,ZL:()=>r,cT:()=>k,dA:()=>i,er:()=>h,lx:()=>n,xz:()=>f,y8:()=>s});var d=c(62887),e=c(57510);let f="permission_prompt",g="question_prompt",h=d.KC,i="error",j=["session.execution.started","session.execution.succeeded","session.execution.failed","session.execution.interrupted","permission.asked","permission.replied","form.created","form.replied","form.cancelled"];function k(a){return null!==a&&j.includes(a)}function l(a){return(0,e.NZ)(a,["type"])}function m(a){return(0,e.Qd)(a.data)?a.data:{}}function n(a){return(0,e.NZ)(m(a),["sessionID"])??(0,e.NZ)(m(a),["form","sessionID"])??(0,e.NZ)(a,["durable","aggregateID"])}function o(a){let b=m(a);switch(l(a)){case"permission.asked":return(0,e.NZ)(b,["id"]);case"form.created":return(0,e.NZ)(b,["form","id"])??(0,e.NZ)(b,["id"]);case"permission.replied":return(0,e.NZ)(b,["requestID"])??(0,e.NZ)(b,["id"]);case"form.replied":case"form.cancelled":return(0,e.NZ)(b,["formID"])??(0,e.NZ)(b,["id"])??(0,e.NZ)(b,["requestID"]);default:return null}}function p(a){return(0,e.hY)(o(a))}function q(a){return(0,e.NZ)(m(a),["action"])}function r(a){let b=m(a);return(0,e.NZ)(b,["error","message"])??(0,e.NZ)(b,["error","data","message"])??(0,e.NZ)(b,["error","name"])??(0,e.NZ)(b,["message"])}let s=[(0,e.KR)("session.execution.started","user_prompt_submit"),(0,e.KR)("session.execution.succeeded","stop"),(0,e.KR)("session.execution.interrupted","stop"),(0,e.KR)("session.execution.failed","stop",i),(0,e.KR)("permission.asked","notification",f),(0,e.KR)("permission.replied","notification",h),(0,e.KR)("form.created","notification",g),(0,e.KR)("form.replied","notification",h),(0,e.KR)("form.cancelled","notification",h)].map(a=>(b,c)=>{let d=a(b,c);return d?{...d,conversationId:d.conversationId??n(c)}:null})},54633:(a,b,c)=>{c.d(b,{V:()=>d});let d="copilot"},59409:(a,b,c)=>{c.d(b,{VM:()=>au});var d=c(2466),e=c(13287),f=c(67548),g=c(62887),h=c(43252),i=c(66101),j=c(57510),k=c(38367),l=c(34257);let m="<task-notification>";var n=c(29021),o=c(21820),p=c(33873),q=c(16659),r=c(30451);let s=/<task-id>([^<]+)<\/task-id>/;function t(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function u(a){return"string"==typeof a&&a.length>0?a:null}function v(a){return"string"==typeof a&&a.trimStart().startsWith(m)?s.exec(a)?.[1]??null:null}var w=c(70997);let x={};function y(a){return"allowOnce"!==a.kind?x:{hookSpecificOutput:{hookEventName:e.l9,decision:{behavior:"allow"}}}}let z=(0,i.UB)({cliToolId:w.v,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:g.b0,configScope:"per-instance",decisionTimeoutSeconds:h.sI,permissionHookPredictsDialog:!0,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:"pull",stopReportsSelfResume:!0},mappers:[...(0,j.mJ)(k.WK),l.Bo],nativeEventNameFields:["hook_event_name"],conversationIdFields:k.lb,toolCallIdFields:k.ue,modelFields:["model"],extractModel:l._P,promptJoinsOpenTurn:function(a){if(!0===a.queuedNotice)return!0;let b=a.prompt;return"string"==typeof b&&b.trimStart().startsWith(m)},extractDetail:function(a,b){return"stop"===a&&function(a,b={}){let c=u(a.transcript_path);if(!c)return!1;let d=(0,p.join)(b.homeDir??(0,o.homedir)(),...r.lc),e=(0,q.sx)(d,".jsonl",c);if(!e)return!1;let f=function(a,b){let c=null;try{c=(0,n.openSync)(a,"r");let d=(0,n.fstatSync)(c).size,e=Math.max(0,d-b),f=Buffer.alloc(d-e),g=0;for(;g<f.length;){let a=(0,n.readSync)(c,f,g,f.length-g,e+g);if(0===a)break;g+=a}let h=f.subarray(0,g).toString("utf8");return 0===e?h:h.slice(h.indexOf("\n")+1)}catch{return null}finally{if(null!==c)try{(0,n.closeSync)(c)}catch{}}}(e,b.tailBytes??4194304);return null!==f&&function(a){let b=[],c=new Set;for(let d of a.split("\n")){let a;if(""!==d.trim()){try{a=JSON.parse(d)}catch{continue}if(t(a)&&!0!==a.isSidechain){if("user"===a.type){let d=a.toolUseResult;if(t(d)){let a=function(a){let b=u(a.backgroundTaskId);if(b)return b;let c=u(a.taskId);if(c&&!1===a.persistent)return c;let d=u(a.agentId);return d&&!0===a.isAsync?d:null}(d);a&&b.push(a);let e=u(d.task_id);e&&c.add(e)}for(let b of function(a){let b=a.message;if(!t(b))return[];let c=b.content;return"string"==typeof c?[c]:Array.isArray(c)?c.filter(t).filter(a=>"text"===a.type).map(a=>a.text):[]}(a)){let a=v(b);a&&c.add(a)}}else if("attachment"===a.type&&t(a.attachment)){if("queued_command"!==a.attachment.type)continue;let b=v(a.attachment.prompt);b&&c.add(b)}}}}return[...new Set(b)].filter(a=>!c.has(a))}(f).length>0}(b)?g.HV:(0,k.Jp)(a,b)},parsePermissionRequest:a=>(0,e.ss)(a),parseQuestion:a=>(0,d.ek)(a),encodeVerdict:y,prepareLaunch:({target:a,executablePath:b})=>{let c="own-home"===(0,f.y3)(),d={worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:a.cliToolId};(0,h.q)()&&(0,f.Hx)(w.v,[(0,h.K6)(),(0,h.iR)(d)]);let e=(0,h.D2)(b,d);if(c&&e===b)throw new f.ci(w.v,(0,h.q)()?"the hook settings file could not be written":"CM_AGENT_HOOKS_INJECT=0",(0,h.q)()?"Make CM_AGENT_HOOKS_DIR writable by the dedicated user.":"Do not combine CM_AGENT_HOOKS_INJECT=0 with own-home.");let g=(0,h.q)()&&e!==b?(0,h.iR)({worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:a.cliToolId}):null;return{command:(0,f.WM)()?`${e} --setting-sources ${f.mc}`:e,settingsPath:g,env:{}}}});var A=c(92196),B=c(21758),C=c(54633);let D={},E=(0,i.UB)({cliToolId:C.V,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:["stop","session_start","session_end","user_prompt_submit","post_tool_use"],configScope:"global-singleton",decisionTimeoutSeconds:B.TV,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!0,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:null,stopReportsSelfResume:!1},mappers:(0,j.mJ)(k.WK),nativeEventNameFields:["hook_event_name"],conversationIdFields:k.lb,toolCallIdFields:k.ue,extractDetail:k.Jp,parsePermissionRequest:function(a){if(!(0,j.Qd)(a)||a.hook_event_name!==B.cN)return null;let b=(0,j.O2)(a,"tool_name");if(!b||b.length>e.vy)return null;let c=(0,A.mw)(a.tool_input);return c?{toolName:b,toolInput:c.toolInput,toolInputNormalization:c.normalization,promptId:null,sessionId:(0,j.O2)(a,"session_id"),permissionMode:null,permissionSuggestions:null}:null},parseQuestion:()=>null,encodeVerdict:function(a){return"allowOnce"===a.kind?{hookSpecificOutput:{hookEventName:B.cN,permissionDecision:"allow"}}:"deny"===a.kind?{hookSpecificOutput:{hookEventName:B.cN,permissionDecision:"deny",permissionDecisionReason:a.message??"denied by CommandMate"}}:D},prepareLaunch:({target:a,executablePath:b})=>(0,B.Rv)(b,a)});var F=c(15194);let G={ToolPermission:"permission_prompt"};var H=c(72626),I=c(45567),J=c(7956);function K(a){if(!(0,n.existsSync)(a))return null;try{let b=JSON.parse((0,n.readFileSync)(a,"utf8"));return(0,j.Qd)(b)?b:null}catch{return null}}function L(a,b){if((0,J.Mb)(a))throw Error(`Refusing to write inside a virtual filesystem: ${a} (a recursive mkdir under /proc, /sys or /dev never returns on Linux; Issue #1774)`);(0,n.mkdirSync)((0,p.dirname)(a),{recursive:!0,mode:448}),(0,n.writeFileSync)(a,`${JSON.stringify(b,null,2)}
|
|
6
|
-
`,{mode:384})}var M=c(77904);let N=(0,H.h)("lib/hooks/sources/gemini/settings-generator"),O=1e3*h.W6,P=[["SessionStart","session_start"],["BeforeAgent","user_prompt_submit"],["AfterAgent","stop"],["Notification","notification"],["SessionEnd","session_end"]];function Q(a,b){return a.includes("cmate-agent-event.sh")&&a.includes(`--tool ${M.o}`)&&a.includes(`--worktree-id ${(0,h.ZL)(b)}`)}let R=(0,i.UB)({cliToolId:M.o,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:["session_start","user_prompt_submit","stop","notification","session_end"],configScope:"per-worktree",decisionTimeoutSeconds:0,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:null,stopReportsSelfResume:!1},mappers:(0,j.mJ)({SessionStart:"session_start",SessionEnd:"session_end",BeforeAgent:"user_prompt_submit",AfterAgent:"stop",BeforeTool:"pre_tool_use",AfterTool:"post_tool_use",Notification:"notification"}),nativeEventNameFields:["hook_event_name"],conversationIdFields:k.lb,toolCallIdFields:[],extractDetail:function(a,b){if("notification"!==a)return(0,k.Jp)(a,b);let c=(0,j.O2)(b,"notification_type");return null===c?null:(0,j.Wv)(G[c]??c)},parsePermissionRequest:()=>null,parseQuestion:()=>null,encodeVerdict:()=>({}),prepareLaunch:function({target:a,executablePath:b,worktreePath:c}){let d={worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:M.o},e=(0,F.n6)(a.instanceId??M.o)?function(a,b){if(!(0,h.q)())return null;let c=(0,h.Os)();if(!c)return N.warn("gemini-hook-relay-missing",{worktreeId:b.worktreeId}),null;let d=(0,p.join)(a,".gemini","settings.json");try{let a=K(d),e=function(a,b){let c={};for(let[e,f]of P){var d;c[e]=[{hooks:[{type:"command",command:(d=b.worktreeId,[(0,h.ZL)(a),"--tool",M.o,"--event",f,"--worktree-id",(0,h.ZL)(d),"--stdin-json"].join(" ")),timeout:O}]}]}return c}(c,b);return L(d,function(a,b,c){let d=(0,j.Qd)(a?.hooks)?a.hooks:{},e={};for(let[a,b]of Object.entries(d)){if(!Array.isArray(b)){e[a]=b;continue}let d=b.filter(a=>!function(a,b){if(!(0,j.Qd)(a))return!1;let c=a.hooks;return Array.isArray(c)?c.length>0&&c.every(a=>(0,j.Qd)(a)&&"string"==typeof a.command&&Q(a.command,b)):"string"==typeof a.command&&Q(a.command,b)}(a,c));e[a]=d.length===b.length?b:d}for(let[a,c]of Object.entries(b)){let b=e[a];e[a]=Array.isArray(b)?[...b,...c]:[...c]}return{...a,hooks:e}}(a,e,b.worktreeId)),d}catch(a){return N.warn("gemini-hook-settings-write-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)}),null}}(c,d):null,{command:f,env:g}=function(a,b,c={}){if(!(0,h.q)())return{command:a,env:{}};if(!(0,F.n6)((0,h.g5)(b)))return N.warn("gemini-hook-invalid-instance-id",{worktreeId:b.worktreeId}),{command:a,env:{}};let d=(0,h.xM)({...b,cliToolId:M.o},c);return{command:(0,h.ZL)(a),env:{[I.ZM]:d}}}(b,d);return{command:f,settingsPath:e,env:g}}});var S=c(76835);let T=(0,H.h)("lib/hooks/sources/antigravity/hooks-config"),U="commandmate",V=[["SessionStart","session_start"],["PostToolUse","post_tool_use"],["Stop","stop"]],W="CM_PERMISSION_HOOK_URL",X=h.sI,Y=new Set(["PreToolUse","PostToolUse"]);function Z(a={}){return a.path??(0,p.join)((0,o.homedir)(),".gemini","config","hooks.json")}function $(a,b){return[(0,h.ZL)(a),"--tool",S.F,"--event",b,"--stdin-json"].join(" ")}let _="fullyIdle";function aa(a){let b={};for(let[c,d]of V){let e={type:"command",command:"stop"===d?function(a){let b=`'"${_}":false'`;return`p=$(cat); set --; case "$(printf '%s' "$p" | tr -d ' \\t\\r\\n')" in *${b}*) set -- --detail ${g.HV} ;; esac; printf '%s' "$p" | ${$(a,"stop")} "$@"`}(a):$(a,d),timeout:h.W6};b[c]=Y.has(c)?[{matcher:"*",hooks:[e]}]:[e]}return b.PreToolUse=[{matcher:"*",hooks:[{type:"command",command:function(){let a=`"$${W}"`,b=`printf '%s' ${(0,h.ZL)('{"decision":"ask"}')}`;return`if [ -z "\${${W}:-}" ]; then cat >/dev/null; ${b}; exit 0; fi; set -- -sS -f -m 4 -X POST -H 'Content-Type: application/json'; if [ -n "\${${h.XE}:-}" ]; then set -- "$@" -H "Authorization: Bearer $${h.XE}"; fi; out=$(curl "$@" --data-binary @- ${a} 2>/dev/null); case "$out" in '{'*'"decision"'*) printf '%s' "$out" ;; *) ${b} ;; esac`}(),timeout:h.sI}]}],b}function ab(a={}){var b;let c=Z(a);if(!(0,h.q)())return{usable:!1,reason:"CM_AGENT_HOOKS_INJECT=0",fix:"Do not combine CM_AGENT_HOOKS_INJECT=0 with UAT isolation."};let d=(0,h.Os)();if(!d)return{usable:!1,reason:"this build ships no relay script",fix:f.f0};let e=K(c);if(null===e)return T.info("antigravity-hooks-config-absent-readonly",{configPath:c}),{usable:!1,reason:`${c} does not exist or cannot be read`,fix:f.f0};if(Object.keys(e).some(a=>a!==U))return T.info("antigravity-hooks-config-foreign-readonly",{configPath:c}),{usable:!1,reason:`${c} also holds hooks (or keys) CommandMate did not write, which would run in the UAT session`,fix:"Skip antigravity scenarios in this UAT, or run it where the shared hooks file holds only the hook CommandMate writes."};let g=(b=aa(d),{...null,[U]:b});return JSON.stringify(e)!==JSON.stringify(g)?(T.info("antigravity-hooks-config-differs-readonly",{configPath:c}),{usable:!1,reason:`${c} differs from what this build writes`,fix:f.f0}):{usable:!0,configPath:c}}let ac={decision:"ask"},ad=(0,i.UB)({cliToolId:S.F,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:["session_start","post_tool_use","stop"],configScope:"global-singleton",decisionTimeoutSeconds:X,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:"pull",stopReportsSelfResume:!0},mappers:[],nativeEventNameFields:[],conversationIdFields:["conversationId"],toolCallIdFields:[],modelFields:["modelName"],extractDetail:function(a,b){return"pre_tool_use"===a||"post_tool_use"===a?(0,j.Wv)((0,j.NZ)(b,["toolCall","name"])):"stop"===a&&!1===b[_]?g.HV:null},parsePermissionRequest:function(a){if(!(0,j.Qd)(a))return null;let b=a.toolCall;if(!(0,j.Qd)(b))return null;let c=(0,j.O2)(b,"name");return c&&!(c.length>e.vy)&&(0,j.Qd)(b.args)?{toolName:c,toolInput:b.args,promptId:null,sessionId:(0,j.O2)(a,"conversationId"),permissionMode:null,permissionSuggestions:null}:null},parseQuestion:()=>null,encodeVerdict:function(a){return"allowOnce"===a.kind?{decision:"allow"}:"deny"===a.kind?{decision:"deny",reason:a.message??""}:{...ac}},prepareLaunch:({target:a,executablePath:b})=>{let c=function(a={}){if(!(0,h.q)())return null;let b=(0,h.Os)();if(!b)return T.warn("antigravity-hook-relay-missing"),null;let c=Z(a),d=(0,f.ox)("antigravity",[c]);try{var e,g;if("read-only"===d){let b=ab(a);return b.usable?b.configPath:null}let f=(e=K(c),g=aa(b),{...e,[U]:g});return L(c,f),c}catch(a){return T.warn("antigravity-hooks-config-write-failed",{error:a instanceof Error?a.message:String(a)}),null}}();if(null===c&&(0,f.WM)()){if("own-home"===(0,f.y3)())throw new f.ci("antigravity","~/.gemini/config/hooks.json could not be prepared",f.f0);let a=ab();throw a.usable?new f.ci("antigravity","~/.gemini/config/hooks.json could not be prepared",f.f0):new f.ci("antigravity",a.reason,a.fix)}let{command:d,env:e}=function(a,b,c={}){if(!(0,h.q)())return{command:a,env:{}};if(!(0,F.n6)((0,h.g5)(b)))return T.warn("antigravity-hook-invalid-instance-id",{worktreeId:b.worktreeId}),{command:a,env:{}};let d={...b,cliToolId:S.F};return{command:(0,h.ZL)(a),env:{[I.ZM]:(0,h.xM)(d,c),[W]:(0,h.O$)(d,c)}}}(b,{worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:S.F});return{command:d,settingsPath:c,env:e}}});var ae=c(99432),af=c(2734);let ag={},ah=(0,i.UB)({cliToolId:af.c,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:ae.JD,configScope:"global-singleton",decisionTimeoutSeconds:5,permissionHookPredictsDialog:!0,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:"pull",stopReportsSelfResume:!1},mappers:(0,j.mJ)(k.WK),nativeEventNameFields:["hook_event_name"],conversationIdFields:k.lb,toolCallIdFields:k.ue,modelFields:["model"],extractDetail:k.Jp,parsePermissionRequest:a=>(0,e.ss)(a),parseQuestion:()=>null,encodeVerdict:function(a){return"allowOnce"===a.kind?{hookSpecificOutput:{hookEventName:ae.l1,decision:{behavior:"allow"}}}:"deny"===a.kind?{hookSpecificOutput:{hookEventName:ae.l1,decision:{behavior:"deny",message:a.message??""}}}:ag},prepareLaunch:({target:a,executablePath:b})=>(0,ae.S9)(b,a)});var ai=c(85965),aj=c(28862);let ak=(0,H.h)("lib/hooks/sources/command-code/hooks-config"),al=[["SessionStart","session_start"],["PreToolUse","pre_tool_use"],["PostToolUse","post_tool_use"],["Stop","stop"]],am=h.W6;function an(a,b){return a.includes("cmate-agent-event.sh")&&a.includes(`--tool ${aj.k}`)&&a.includes(`--worktree-id ${(0,h.ZL)(b)}`)}let ao=(0,i.UB)({cliToolId:aj.k,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:["session_start","pre_tool_use","post_tool_use","stop"],configScope:"per-worktree",decisionTimeoutSeconds:null,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:"pull",stopReportsSelfResume:!1},mappers:(0,j.mJ)({SessionStart:"session_start",PreToolUse:"pre_tool_use",PostToolUse:"post_tool_use",Stop:"stop"}),nativeEventNameFields:["hook_event_name"],conversationIdFields:["session_id"],toolCallIdFields:k.ue,extractDetail:k.Jp,parsePermissionRequest:()=>null,parseQuestion:()=>null,encodeVerdict:function(a){return{}},prepareLaunch:({target:a,executablePath:b,worktreePath:c})=>{let d={worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:aj.k},e=function(a,b){if(!(0,h.q)())return null;let c=(0,h.Os)();if(!c)return ak.warn("command-code-hook-relay-missing",{worktreeId:b.worktreeId}),null;let d=(0,p.join)(a,".commandcode","settings.local.json");try{let a=K(d),e=function(a,b){let c={};for(let[e,f]of al){var d;c[e]=[{matcher:"",hooks:[{type:"command",command:(d=b.worktreeId,[(0,h.ZL)(a),"--tool",aj.k,"--event",f,"--worktree-id",(0,h.ZL)(d),"--stdin-json"].join(" ")),timeout:am}]}]}return c}(c,b);return L(d,function(a,b,c){let d=(0,j.Qd)(a?.hooks)?a.hooks:{},e={};for(let[a,b]of Object.entries(d)){if(!Array.isArray(b)){e[a]=b;continue}let d=b.filter(a=>!function(a,b){if(!(0,j.Qd)(a))return!1;let c=a.hooks;return Array.isArray(c)?c.length>0&&c.every(a=>(0,j.Qd)(a)&&"string"==typeof a.command&&an(a.command,b)):"string"==typeof a.command&&an(a.command,b)}(a,c));e[a]=d.length===b.length?b:d}for(let[a,c]of Object.entries(b)){let b=e[a];e[a]=Array.isArray(b)?[...b,...c]:[...c]}return{...a,hooks:e}}(a,e,b.worktreeId)),d}catch(a){return ak.warn("command-code-hook-settings-write-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)}),null}}(c,d),{command:f,env:g}=function(a,b,c={}){if(!(0,h.q)())return{command:a,env:{}};if(!(0,F.n6)((0,h.g5)(b)))return ak.warn("command-code-hook-invalid-instance-id",{worktreeId:b.worktreeId}),{command:a,env:{}};let d=(0,h.xM)({...b,cliToolId:aj.k},c);return{command:(0,h.ZL)(a),env:{[I.ZM]:d}}}(b,d);return{command:f,settingsPath:e,env:g}}});var ap=c(16100),aq=c(36925);let ar=(0,aq.v)("__agentEventSources",()=>new Map),as=(0,aq.v)("__agentEventLegacySources",()=>new Map);function at(a){ar.set(a.cliToolId,a),as.delete(a.cliToolId)}function au(a){let b=ar.get(a);if(b)return b;let c=as.get(a);if(c)return c;let f=(0,i.UB)({cliToolId:a,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:[],configScope:"none",decisionTimeoutSeconds:null,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:null,stopReportsSelfResume:!1},mappers:(0,j.mJ)(k.WK),nativeEventNameFields:["hook_event_name"],conversationIdFields:k.lb,toolCallIdFields:k.ue,extractDetail:k.Jp,parsePermissionRequest:a=>(0,e.ss)(a),parseQuestion:a=>(0,d.ek)(a),encodeVerdict:y,prepareLaunch:({executablePath:a})=>({command:a,settingsPath:null,env:{}})});return as.set(a,f),f}at(z),at(E),at(R),at(ad),at(ah),at(ai.cC),at(ao),at(ap.Wp)},66101:(a,b,c)=>{c.d(b,{Kf:()=>k,UB:()=>i,kS:()=>j});var d=c(62887),e=c(57510),f=c(25071);let g={close:async()=>{},liveness:{state:"unknown"}};function h(a,b,c){let f=c.receivedAt??Date.now(),g=b.length>0?(0,e.oJ)(c.payload,b):null;if(null!=c.event&&(0,d.o0)(c.event))return(0,e.Uq)({event:c.event},c.payload,f,{detail:a.extractDetail,conversationId:a.conversationIdFields,toolCallId:a.toolCallIdFields,modelFields:a.modelFields,extractModel:a.extractModel});let h=(0,e.qU)(a.mappers,g,c.payload);return h?(0,e.Uq)(h,c.payload,f,{detail:a.extractDetail,conversationId:a.conversationIdFields,toolCallId:a.toolCallIdFields,modelFields:a.modelFields,extractModel:a.extractModel}):((0,e.ex)(a.cliToolId,g),null)}function i(a){let b=a.nativeEventNameFields??["hook_event_name"];return{cliToolId:a.cliToolId,transport:"push",noDecision:a.noDecision,capabilities:a.capabilities,normalizeEvent:c=>h(a,b,c),eventIdentityOf:b=>a.extractEventIdentity?.(b)??null,promptJoinsOpenTurn:b=>a.promptJoinsOpenTurn?.(b)??!1,parsePermissionRequest:a.parsePermissionRequest,parseQuestion:a.parseQuestion,encodeVerdict:b=>({kind:"responseBody",body:a.encodeVerdict(b)}),prepareLaunch:a.prepareLaunch,subscribe:async()=>g,async decide(b,c,d){let e=(0,f.o4)(b,c.id,a.encodeVerdict(d));(0,f.oy)(b,c.id,{delivered:e,reason:e?"response-body":"slot-closed"})},listPending:async a=>(0,f.qK)(a),probeActivity:async()=>null,liveness:()=>({state:"unknown"})}}function j(a){let b=a.nativeEventNameFields??["type"];return{cliToolId:a.cliToolId,transport:"pull",noDecision:a.noDecision,capabilities:a.capabilities,normalizeEvent:c=>h(a,b,c),eventIdentityOf:b=>a.extractEventIdentity?.(b)??null,parsePermissionRequest:a.parsePermissionRequest,parseQuestion:a.parseQuestion,encodeVerdict:()=>({kind:"outOfBand"}),prepareLaunch:a.prepareLaunch??(a=>({command:a.executablePath,settingsPath:null,env:{}})),subscribe:a.subscribe,decide:a.decide,listPending:a.listPending,probeActivity:a.probeActivity,liveness:a.liveness}}function k(a,b,c){let d="pull"===a.transport?"sse":0===a.capabilities.supportedEvents.length?"scraper":"hooks";if("sse"!==d)return{kind:d};switch(b.state){case"live":return c-b.lastHeartbeatAt>=3e4?{kind:"sse",liveness:"stale",degradedReason:"heartbeat_stale"}:{kind:"sse",liveness:"live"};case"lost":return{kind:"scraper",liveness:"stale",degradedReason:b.reason};case"unknown":return{kind:"scraper",degradedReason:"not_subscribed"}}}},67548:(a,b,c)=>{c.d(b,{Hx:()=>s,WM:()=>o,ci:()=>p,f0:()=>q,mc:()=>m,ox:()=>t,y3:()=>n});var d=c(29021),e=c.n(d),f=c(21820),g=c.n(f),h=c(33873),i=c.n(h);let j="CM_UAT_ISOLATION",k="own-home",l="CM_UAT_DEDICATED_USER",m="project,local";function n(a=process.env){let b=a[j];return"1"===b?"shared-read-only":b===k?"own-home":"off"}function o(a=process.env){return"off"!==n(a)}class p extends Error{constructor(a,b,c){super("own-home"===n()?`${j}=${k}: refusing to start ${a}: ${b}. This server writes the hook config only inside the dedicated user's own HOME, and ${a} would otherwise start with hooks this server did not prepare. ${c}`:`${j}=1: refusing to start ${a}: ${b}. This server does not write the shared hook config in UAT isolation, and ${a} would read it anyway and run the production hooks. ${c}`),this.name="UatIsolationLaunchRefusedError"}}let q="Run the UAT with the same CommandMate build as the production server, so the shared file already matches what this build writes.",r=`Run ${j}=${k} as the user named by ${l}, with HOME set to that user's home and every hook config path (CODEX_HOME, CM_AGENT_HOOKS_DIR, ...) inside it.`;function s(a,b,c=process.env){if("own-home"!==n(c))return;let d=function(a,b=process.env,c=function(){let a=g().userInfo();return{username:a.username,uid:a.uid,homedir:a.homedir}}()){let d,f,h=b[l];if(!h)return`${l} is not set`;if(c.username!==h)return`this process runs as ${c.username}, not as the dedicated user ${h}`;let j=b.HOME;if(!j||!i().isAbsolute(j))return"HOME is not set to an absolute path";try{d=e().realpathSync(j),f=e().realpathSync(c.homedir)}catch{return`HOME (${j}) or ${h}'s home directory (${c.homedir}) does not exist`}if(d!==f)return`HOME (${j}) is not ${h}'s home directory (${c.homedir})`;if(e().statSync(d).uid!==c.uid)return`HOME (${j}) is not owned by ${h}`;for(let b of a){let a=function(a){let b,c=i().resolve(a),d=[];for(;;){let b=!1;try{e().lstatSync(c),b=!0}catch{b=!1}if(b)break;let f=i().dirname(c);if(f===c)return`${a} has no existing ancestor`;d.unshift(i().basename(c)),c=f}try{b=e().realpathSync(c)}catch{return`${c} is a symlink that points nowhere`}return{real:i().join(b,...d),owner:e().statSync(b).uid}}(b);if("string"==typeof a)return a;if(a.real!==d&&!a.real.startsWith(`${d}${i().sep}`))return`${b} resolves to ${a.real}, outside ${h}'s HOME (${d})`;if(a.owner!==c.uid)return`${b} (${a.real}) is not owned by ${h}`}return null}(b,c);if(d)throw new p(a,d,r)}function t(a,b,c=process.env){return"shared-read-only"===n(c)?"read-only":(s(a,b,c),"write")}},76835:(a,b,c)=>{c.d(b,{F:()=>d});let d="antigravity"},77904:(a,b,c)=>{c.d(b,{o:()=>d});let d="gemini"},83738:(a,b,c)=>{c.d(b,{RN:()=>h,gx:()=>q,hl:()=>i,oC:()=>r,rk:()=>p,s8:()=>l,vF:()=>j});var d=c(2466),e=c(57510);function f(a){return"string"==typeof a.type&&(0,e.Qd)(a.data)?(0,e.Qd)(a.data.form)?a.data.form:a.data:a}function g(a){return Array.isArray(a)?a.filter(a=>"string"==typeof a):[]}function h(a){let b=f(a),c=(0,e.O2)(b,"id"),d=(0,e.O2)(b,"sessionID");if(!c||!d||Array.isArray(b.fields))return null;let h=(0,e.O2)(b,"action"),i=(0,e.Qd)(b.metadata)?b.metadata:{};return{toolName:h??"permission",toolInput:{action:h,resources:g(b.resources),...i},promptId:c,sessionId:d,permissionMode:null,permissionSuggestions:Array.isArray(b.save)?b.save:null}}function i(a,b){let c=h(a);return c&&c.promptId?{kind:"permission",id:c.promptId,conversationId:c.sessionId,subject:{kind:"permission",toolName:c.toolName,toolInput:c.toolInput},raw:a,askedAt:b}:null}function j(a){let b=h(a);return b?{toolName:b.toolName,patterns:g(b.permissionSuggestions)}:null}let k=/^(Index: |={3,}$|--- |\+\+\+ )/;function l(a){let b=h(a);if(!b)return null;let c=b.toolInput,d="string"==typeof c.command&&""!==c.command?c.command:g(c.resources).join(", "),f=[""===d?b.toolName:`${b.toolName} ${d}`],i=Array.isArray(c.files)?c.files.filter(e.Qd):[];for(let a of i){let b="string"==typeof a.patch?a.patch.split("\n").filter(a=>!k.test(a)).join("\n").replace(/\n+$/,""):"";""!==b&&(i.length>1&&"string"==typeof a.file&&f.push(a.file),f.push(b))}return f.join("\n")}let m=[{label:"Yes",description:null,value:!0},{label:"No",description:null,value:!1}];function n(a){return a.trim().slice(0,d.Gb)}function o(a){if(!Array.isArray(a.fields))return null;let b=(0,e.O2)(a,"title"),c=[];for(let d of a.fields){if(!(0,e.Qd)(d))return null;if(!0===d.hidden)continue;let a=(0,e.O2)(d,"key");if(null===a)return null;let f=(0,e.O2)(d,"type"),g="boolean"===f?[...m]:"string"===f||"multiselect"===f?function(a){if(!Array.isArray(a)||0===a.length)return null;let b=[];for(let c of a){if(!(0,e.Qd)(c))return null;let a=(0,e.O2)(c,"value"),d=(0,e.O2)(c,"label")??a;if(null===a||null===d)return null;b.push({label:d,description:(0,e.O2)(c,"description"),value:a})}return b}(d.options):null;if(null===g)return null;let h=(0,e.O2)(d,"description")??(0,e.O2)(d,"title")??b;if(null===h)return null;c.push({key:a,question:h,header:(0,e.O2)(d,"title")??b,multiSelect:"multiselect"===f,custom:!0===d.custom&&"boolean"!==f,choices:g})}return c.length>0?c:null}function p(a){let b=f(a),c=(0,e.O2)(b,"id");if(!c)return null;let g=o(b);if(null===g)return null;let h=(0,d.u_)({questions:g.map(a=>({question:a.question,header:a.header,multiSelect:a.multiSelect,options:a.choices.map(a=>({label:a.label,...a.description?{description:a.description}:{}}))}))});return null===h?null:{questions:h.map((a,b)=>g[b]?.custom?{...a,custom:!0}:a),promptId:c}}function q(a,b){let c=f(a),d=p(c);return d&&d.promptId?{kind:"question",id:d.promptId,conversationId:(0,e.O2)(c,"sessionID"),subject:{kind:"question",spec:d},raw:c,askedAt:b}:null}function r(a,b){let c=o(f(a));if(null===c||b.length!==c.length)return null;let d={};for(let[a,e]of c.entries()){let c=[];for(let d of b[a]){let a=n(d),b=e.choices.find(b=>n(b.label)===a)??e.choices.find(a=>a.value===d);if(b)c.push(b.value);else{if(!e.custom||""===d.trim())return null;c.push(d.trim())}}if(e.multiSelect)d[e.key]=c.map(String);else{if(1!==c.length)return null;d[e.key]=c[0]}}return d}},85038:(a,b,c)=>{c.d(b,{Bh:()=>g,LF:()=>k,SC:()=>m,Z:()=>l,_B:()=>h,fp:()=>j,pP:()=>i,tV:()=>f});var d=c(84297),e=c(36925);let f=(0,e.v)("__responsePollerOwnerStorage",()=>new d.AsyncLocalStorage);function g(){return f.getStore()}function h(a){let b=g();return void 0===b||b.pollerKey!==a||!b.stopped}function i(a,b,c){return`${a}:${c??b}`}function j(a){return h(i(a.worktreeId,a.cliToolId,a.instanceId))}let k=(0,e.v)("__responsePollerSnapshotStorage",()=>new d.AsyncLocalStorage);function l(){let a=k.getStore();return void 0===a||!a.superseded}class m extends Error{constructor(){super("terminal snapshot of a superseded poller tick"),this.name="RetiredSnapshotError"}}},85965:(a,b,c)=>{c.d(b,{cC:()=>u});var d=c(62887),e=c(43252),f=c(72626),g=c(66101),h=c(25071),i=c(49791),j=c(75356),k=c(98211),l=c(18529),m=c(84574),n=c(33198),o=c(85322);let p=(0,f.h)("lib/hooks/sources/opencode/source"),q=d.b0;async function r(a,b,c){let d=a.instanceId??a.cliToolId;if("abstain"===c.kind){p.warn("opencode-verdict-abstained",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,consequence:"the agent waits indefinitely; nothing else will unblock it"}),(0,h.oy)(a,b.id,{delivered:!1,reason:"abstained"});return}let e=(0,m.hC)(a);if(null===e){p.warn("opencode-verdict-undeliverable-no-port",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id}),(0,h.oy)(a,b.id,{delivered:!1,reason:"no-port"});return}if("question"===b.kind){if("answer"!==c.kind){p.info("opencode-question-not-answerable",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,verdict:c.kind}),(0,h.oy)(a,b.id,{delivered:!1,reason:"question-needs-answer-verdict"});return}let f=await (0,i.Ei)(e,b.id,c.answers);p.info("opencode-question-replied",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,delivered:f}),(0,h.oy)(a,b.id,{delivered:f,reason:f?"question-reply":"question-reply-failed"});return}let f=function(a){switch(a.kind){case"allowOnce":return"once";case"allowAlways":return"always";case"deny":return"reject";case"answer":case"abstain":return null}}(c);if(null===f)return void(0,h.oy)(a,b.id,{delivered:!1,reason:"no-wire-value"});let g=await (0,i.LV)(e,b.id,f,"deny"===c.kind?c.message:void 0);p.info("opencode-permission-replied",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,reply:f,delivered:g}),(0,h.oy)(a,b.id,{delivered:g,reason:g?`permission-reply:${f}`:"permission-reply-failed"})}async function s(a){let b=(0,m.hC)(a);if(null===b)return[];let c=Date.now(),[d,e]=await Promise.all([(0,i.Li)(b),(0,i.er)(b)]),f=[];for(let a of d){let b=(0,k.Lu)(a,c);b&&f.push(b)}for(let a of e){let b=(0,k.AB)(a,c);b&&f.push(b)}return f}async function t(a){let b=(0,m.hC)(a);return null===b?null:(0,i.xR)(b)}let u=(0,g.kS)({cliToolId:o.k,noDecision:{kind:"blocks"},capabilities:{supportedEvents:q,configScope:"none",decisionTimeoutSeconds:null,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!0,eventIdentity:"permission-id",resync:"session-status-poll",transcriptHistory:"push",stopReportsSelfResume:!1},mappers:j.lu,nativeEventNameFields:["type"],conversationIdFields:[],extractModel:j.pV,extractEventIdentity:j.oG,parsePermissionRequest:k.FZ,parseQuestion:k.v1,subscribe:(a,b)=>(0,n.bP)(a,b,a=>u.normalizeEvent(a),{resync:u.capabilities.resync}),decide:r,listPending:s,probeActivity:t,liveness:a=>(0,n.lf)(a),prepareLaunch:function({target:a,executablePath:b}){let c={command:/^[A-Za-z0-9_./-]+$/.test(b)?b:(0,e.ZL)(b),settingsPath:null,env:{}};if(!(0,e.q)())return c;let d=(0,m.hC)(a);if(null===d)return c;let f=(0,l.Lj)((0,l.Q1)(a));return{command:`${(0,e.ZL)(b)} --port ${d} --hostname ${i.Vc}`+f,settingsPath:null,env:{}}}})},99432:(a,b,c)=>{c.d(b,{l1:()=>H,JD:()=>I,S9:()=>Q,dO:()=>K});var d=c(79646),e=c(29021),f=c(21820),g=c(33873),h=c(8004),i=c(67548),j=c(15194),k=c(87447),l=c(43252),m=c(72626),n=c(73434),o=c(66007),p=c(57510);let q=(0,m.h)("lib/hooks/sources/codex/relay-install");function r(a){return(0,g.join)(a,"commandmate","cmate-agent-event.sh")}function s(a,b){var c;let d=(0,e.readFileSync)(a,"utf8");if(((0,e.existsSync)(b)?(0,e.readFileSync)(b,"utf8"):null)===d)return;(0,e.mkdirSync)((0,g.dirname)(b),{recursive:!0,mode:448});let f=(c=b,`${c}.tmp`);try{t(f),(0,e.writeFileSync)(f,d,{mode:448,flag:"wx"}),(0,e.renameSync)(f,b)}catch(a){throw t(f),a}q.info("codex-relay-installed",{target:b})}function t(a){try{(0,e.unlinkSync)(a)}catch{}}var u=c(2734);let v=(0,m.h)("lib/hooks/sources/codex/hooks-config"),w="127.0.0.1",x="commandmate:agent-hooks",y="CODEX_HOME",z="CM_AGENT_WORKTREE_ID",A="CM_AGENT_INSTANCE_ID",B="CM_HOOK_URL",C="CM_PERMISSION_HOOK_URL",D="--no-daemon",E=RegExp(`${D}(?![\\w-])`),F=new Map,G={SessionStart:"session_start",UserPromptSubmit:"user_prompt_submit",Stop:"stop",SessionEnd:"session_end"},H="PermissionRequest",I=Object.values(G);function J(){let a=process.env.CM_CODEX_HOOK_TRUST;return"bypass"===a||"never"===a||"auto"===a?a:"auto"}function K(a){if("never"===J()||"shared-read-only"===(0,i.y3)())return!1;try{if((0,e.existsSync)((0,g.join)(a,".codex","hooks.json")))return v.info("codex-hooks-trust-withheld-repo-hooks",{worktreePath:a}),!1}catch{return!1}return!0}function L(a={}){let b=(0,g.join)((0,f.homedir)(),".codex");return a.codexHome?(0,h.T)(a.codexHome,b,"CodexHookOptions.codexHome"):(0,h.T)(process.env[y],b,y)}function M(a={}){return(0,g.join)(L(a),"hooks.json")}function N(a,b){return`http://${w}:\${CM_PORT:-3000}${a}${b}`}function O(a,b){return`${JSON.stringify(function(a,b){let c=(0,p.Qd)(a)?{...a}:{},d=(0,p.Qd)(c.hooks)?c.hooks:{},e={};for(let[a,b]of Object.entries(d))e[a]=Array.isArray(b)?b.map(a=>{if(!(0,p.Qd)(a)||!Array.isArray(a.hooks))return a;let b=a.hooks.filter(a=>!((0,p.Qd)(a)&&"string"==typeof a.command&&a.command.includes(x)));return b.length===a.hooks.length?a:{...a,hooks:b}}).filter(a=>!((0,p.Qd)(a)&&Array.isArray(a.hooks))||a.hooks.length>0):b;for(let[a,c]of Object.entries(b.hooks)){let b=e[a];(void 0===b||Array.isArray(b))&&(e[a]=[...b??[],...c])}return c.hooks=e,c}(a,function(a={}){let b=(b,c)=>({hooks:[{type:"command",command:function(a,b={}){let c=` # ${x}`,d=function(a={}){if(void 0!==a.relayScriptPath)return a.relayScriptPath;let b=r(L(a));return(0,e.existsSync)(b)?b:null}(b);if(d)return[(0,l.ZL)(d),"--tool",u.c,"--event",a,"--worktree-id",`"$${z}"`,"--instance-id",`"$${A}"`,"--stdin-json"].join(" ")+c;let f=b.withAuthHeader??(0,l.yc)()?` -H "Authorization: Bearer $${l.XE}"`:"",g=`"\${${B}:-${N(l.jx,"")}}?tool=${u.c}\${${z}:+&worktreeId=$${z}}\${${A}:+&instanceId=$${A}}"`;return`curl -sS -f -m ${l.W6} -X POST -H 'Content-Type: application/json'${f} --data-binary @- ${g} >/dev/null 2>&1 || true${c}`}(b,a),timeout:c}]}),c={};for(let[a,d]of Object.entries(G)){let e="SessionEnd"===a?3:l.W6;c[a]=[b(d,e)]}return c[H]=[{hooks:[{type:"command",command:function(a={}){let b=a.withAuthHeader??(0,l.yc)()?` -H "Authorization: Bearer $${l.XE}"`:"",c=`"\${${C}:-${N(l.WZ,`?tool=${u.c}`)}}"`;return`curl -sS -f -m ${l.sI} -X POST -H 'Content-Type: application/json'${b} --data-binary @- ${c} 2>/dev/null || true # ${x}`}(a),timeout:l.sI}]}],{hooks:c}}(b)),null,2)}
|
|
7
|
-
`}function P(a={}){let b=M(a);if(void 0===a.relayScriptPath){let b=(0,l.Os)(),c=r(L(a));try{if(b&&(0,e.existsSync)(c)&&(0,e.readFileSync)(b,"utf8")!==(0,e.readFileSync)(c,"utf8"))return v.info("codex-hooks-shared-relay-differs-readonly",{installed:c}),{usable:!1,reason:`the installed relay ${c} differs from the one this build ships`,fix:i.f0}}catch{return{usable:!1,reason:`the installed relay ${c} could not be read`,fix:i.f0}}}try{if(!(0,e.existsSync)(b))return v.info("codex-hooks-shared-absent-readonly",{settingsPath:b}),{usable:!1,reason:`${b} does not exist`,fix:i.f0};let c=(0,e.readFileSync)(b,"utf8");if(c===O(null,a))return{usable:!0,settingsPath:b};if(c===O(JSON.parse(c),a))return v.info("codex-hooks-shared-foreign-readonly",{settingsPath:b}),{usable:!1,reason:`${b} also holds hooks (or keys) CommandMate did not write, which would run in the UAT session`,fix:"Skip codex scenarios in this UAT, or run it where the shared hooks file holds only the hooks CommandMate writes."};return v.info("codex-hooks-shared-differs-readonly",{settingsPath:b}),{usable:!1,reason:`${b} differs from what this build writes`,fix:i.f0}}catch(a){return v.warn("codex-hooks-config-unreadable",{settingsPath:b,error:a instanceof Error?a.message:String(a)}),{usable:!1,reason:`${b} could not be read`,fix:i.f0}}}function Q(a,b,c={}){let f={command:a,settingsPath:null,env:{}},h=(a,b)=>{if((0,i.WM)())throw new i.ci("codex",a,b);return f};if(!(0,l.q)())return h("CM_AGENT_HOOKS_INJECT=0","Do not combine CM_AGENT_HOOKS_INJECT=0 with UAT isolation.");let m=b.instanceId??u.c;if(!(0,o.h6)(b.worktreeId)||!(0,j.n6)(m))return v.warn("codex-hooks-invalid-correlation-key",{worktreeId:b.worktreeId}),h("the worktree or instance id is not a valid correlation key","Use a valid worktree and instance id.");try{let f=function(a={}){let b=M(a),c=L(a),d=r(c);if("read-only"===(0,i.ox)("codex",[c,b,d,`${d}.tmp`,(0,g.join)(c,"config.toml")]))return function(a={}){let b=P(a);return b.usable?b.settingsPath:null}(a);void 0===a.relayScriptPath&&("own-home"===(0,i.y3)()?function(a,b){if(!b)throw Error("this build ships no relay script");let c=r(a);if(b!==c&&s(b,c),!(0,e.existsSync)(c)||(0,e.readFileSync)(c,"utf8")!==(0,e.readFileSync)(b,"utf8"))throw Error(`the installed relay ${c} differs from the one this build ships`)}(c,(0,l.Os)()):function(a,b){let c=r(a);if(b&&b!==c)try{s(b,c)}catch(a){q.warn("codex-relay-install-failed",{target:c,error:a instanceof Error?a.message:String(a)})}(0,e.existsSync)(c)}(c,(0,l.Os)()));let f=null,h=null;if((0,e.existsSync)(b))try{h=(0,e.readFileSync)(b,"utf8"),f=JSON.parse(h)}catch(a){return v.warn("codex-hooks-config-unreadable",{settingsPath:b,error:a instanceof Error?a.message:String(a)}),null}let j=O(f,a);return h===j||((0,e.mkdirSync)((0,g.dirname)(b),{recursive:!0,mode:448}),(0,e.writeFileSync)(b,j,{mode:384})),b}(c);if(!f){let a="shared-read-only"===(0,i.y3)()?P(c):null;if(a&&!a.usable)return h(a.reason,a.fix);return h(`${M(c)} or its relay is missing or differs from what this build writes`,i.f0)}let j=c.port??(0,k.D0)(),o=new URLSearchParams({tool:u.c,worktreeId:b.worktreeId,instanceId:m}),p={[y]:L(c),CM_AGENT_TOOL:u.c,[z]:b.worktreeId,[A]:m,[B]:`http://${w}:${j}${l.jx}`,[C]:`http://${w}:${j}${l.WZ}?${o.toString()}`},t=c.supportsNoDaemon??function(a){let b=F.get(a);if(void 0!==b)return b;let c=!1;try{let b=(0,d.spawnSync)(a,["--help"],{encoding:"utf8",timeout:5e3,env:(0,n.hh)()});c=!b.error&&0===b.status&&E.test(String(b.stdout??""))}catch{c=!1}return F.set(a,c),c}(a)?` ${D}`:"",x="bypass"===J()?" --dangerously-bypass-hook-trust":"";return{command:`${(0,l.ZL)(a)} -c features.daemon_auto_start=false${t}${x}`,settingsPath:f,env:p}}catch(a){if(a instanceof i.ci)throw a;return v.warn("codex-hooks-config-write-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)}),h(`the hook config could not be prepared (${a instanceof Error?a.message:String(a)})`,i.f0)}}}};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=7166,exports.ids=[7166],exports.modules={60:(a,b,c)=>{c.d(b,{QM:()=>h,V0:()=>e,ZX:()=>f,bE:()=>g});var d=c(42422);function e(a){let b=(0,d.x7)(a),c=(0,d.M4)(a,b);return{chromeStart:b,echoEnd:c,start:c+1,end:b>=0?b:a.length,headTruncated:c<0}}function f(a){let b=a.split("\n"),c=e(b.map(d.aJ));return c.start>=c.end?"":b.slice(c.start,c.end).join("\n")}function g(a){let b=a.split("\n"),c=e(b),f=c.start>=c.end?"":b.slice(c.start,c.end).join("\n");return d.$t.test(f)&&!d.kD.test(a)&&!d.Ty.test(a)}function h(a,b,c,d,e,f=!1){if(a=Math.max(0,a),"opencode"===d||"copilot"===d||f){let a=e(b);return a>=0?a+1:0}if("antigravity"===d||"command-code"===d){let c=e(b);return c>=0?c+1:Math.max(0,a)}if(a>=b||c){let a=e(40);return a>=0?a+1:0}if("codex"===d)return Math.max(0,a);if(a>=b-5){let a=e(50);return a>=0?a+1:Math.max(0,b-40)}return Math.max(0,a)}},8988:(a,b,c)=>{c.d(b,{R:()=>g});let d=/📄 Session log: (.+?\/([^\/\s]+\.jsonl))/,e=/Request ID: ([^\s\n]+)/,f=/Summary: (.+?)(?:\n─|$)/s;function g(a){let b={content:a},c=d.exec(a);c&&(b.logFileName=c[2],b.logFilePath=c[1]);let g=e.exec(a);g&&(b.requestId=g[1]);let h=f.exec(a);return h&&(b.summary=h[1].trim()),b}},9516:(a,b,c)=>{c.d(b,{Hu:()=>i,Ll:()=>j});let d=["type something","chat about this"],e=/^\s*\[[ xX]\]\s*/,f=/(?:…|\.\.\.)\s*$/,g=new Set(["yes","y","no","n"]);function h(a){return a.replace(e,"").replace(f,"").replace(/\s+/g," ").trim().toLowerCase()}function i(a,b){if("multiple_choice"!==a.type)return null;let c=function(a,b){let c=h(b);if(""===c)return null;let d=a.questions.map((a,b)=>({entry:a,index:b})).filter(({entry:a})=>(function(a,b){let[c,d]=a.length<=b.length?[a,b]:[b,a];return c.length<8?c===d:d.includes(c)})(h(a.question),c));return 1===d.length?d[0]:null}(b,a.question);if(null===c)return null;let{entry:f,index:g}=c,i=new Map(a.options.map(a=>[a.number,a])),j=[];for(let[a,b]of f.choices.entries()){var k;let c=a+1,d=i.get(c);if(!d||!function(a,b){if(""===a||""===b)return!1;if(a===b)return!0;let[c,d]=a.length<=b.length?[a,b]:[b,a];return!(c.length<8)&&d.startsWith(c)}(h(d.label),h(b.label)))return null;j.push({...d,label:`${(k=d.label,e.exec(k)?.[0]??"")}${b.label}`,...b.description?{description:b.description}:{}})}let l=[];for(let b of a.options)!(b.number<=f.choices.length)&&function(a){let b=h(a);return d.some(a=>b===a||b.startsWith(a))}(b.label)&&(j.push(b),l.push(b.number));return j.sort((a,b)=>a.number-b.number),{...a,question:f.question,options:j,isAskUserQuestion:!0,askUserQuestion:{...f.header?{header:f.header}:{},multiSelect:f.multiSelect,questionIndex:g,questionCount:b.questions.length,metaOptionNumbers:l}}}function j(a,b){let c=b.trim();if(/^\d+$/.test(c)){let b=Number.parseInt(c,10);return a.options.some(a=>a.number===b)?{ok:!0,input:String(b)}:{ok:!1,reason:"answer_out_of_range",message:"The option number is outside the range this prompt offers. Use `commandmate capture <worktree-id> --json` to list the current options."}}let d=function(a,b){let c=h(b);if(""===c)return[];let d=a.filter(a=>h(a.label)===c);return d.length>0?d:c.length<2?[]:a.filter(a=>h(a.label).startsWith(c))}(a.options,c);if(1===d.length){let[a]=d;return{ok:!0,input:String(a.number),resolved:{via:"semantic",optionNumber:a.number,optionLabel:a.label}}}return d.length>1?{ok:!1,reason:"unresolvable_answer",message:"The answer matches more than one option label. Answer with an option number."}:a.options.some(a=>!0===a.requiresTextInput)&&!g.has(c.toLowerCase())?{ok:!0,input:b}:{ok:!1,reason:"unresolvable_answer",message:"No option label matches the answer. Answer with an option number (yes/no is not resolved on a numbered picker — Issue #1681)."}}},11456:(a,b,c)=>{c.d(b,{p:()=>f,z:()=>e});let d=null;function e(a,b){let c=d;d=a;try{return b()}finally{d=c}}function f(a,b){return a??d??b}},18778:(a,b,c)=>{c.d(b,{T:()=>i});var d=c(56791),e=c(41364),f=c(72626),g=c(85038);let h=(0,f.h)("conversation-logger");async function i(a,b,c,f="claude",j={}){let{pollerKey:k}=j,l=void 0===k?void 0:()=>(0,g._B)(k);if(l&&!l())return void h.info("conversation:log-refused",{worktreeId:b,cliToolId:f});let m=(0,d.getLastUserMessage)(a,b);if(m)try{let a=await (0,e.hM)(b,m.content,c,f,{mayWrite:l});null===a&&h.info("conversation:log-refused",{worktreeId:b,cliToolId:f})}catch(a){h.error("conversation:log-failed",{error:a instanceof Error?a.message:String(a)})}}},21684:(a,b,c)=>{c.d(b,{U:()=>h});var d=c(33873),e=c.n(d),f=c(87447),g=c(8004);function h(){let a=e().join(process.cwd(),"data","logs");return(0,g.T)((0,f._p)("CM_LOG_DIR"),a,"CM_LOG_DIR")}},28480:(a,b,c)=>{c.d(b,{B9:()=>w,Bm:()=>q,TS:()=>y,Tq:()=>t,hB:()=>x,mQ:()=>o,r4:()=>r,t1:()=>s,vb:()=>v});var d=c(88807),e=c(56791),f=c(43015),g=c(18778),h=c(72626),i=c(71080),j=c(28918),k=c(31517),l=c(36925),m=c(85038);let n=(0,h.h)("response-poller"),o=k.sD.reduce((a,b)=>a+b,0),p=(0,l.v)("__pendingScrapedResponses",()=>new Map);function q(a){return p.has(a)}function r(a,b){if(!(0,m._B)(a)){let a=(0,m.Bh)();return n.info("pending-scrape-hold-refused",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId,generation:a?.generation}),!1}let c=p.get(a);return c?c.content=b.content:p.set(a,b),!0}function s(a){(0,m._B)(a)&&p.delete(a)}function t(a,b){if(!(0,m._B)(a))return!1;let c=p.get(a);return!!c&&(p.delete(a),u(c,b))}function u(a,b){try{let c=(0,d.getDbInstance)(),h=(0,e.createMessage)(c,{worktreeId:a.worktreeId,role:"assistant",content:a.content,messageType:"normal",timestamp:a.timestamp,cliToolId:a.cliToolId,instanceId:a.instanceId,summary:a.summary,logFileName:a.logFileName,requestId:a.requestId});return(0,f.broadcastMessage)("message",{worktreeId:a.worktreeId,message:h}),n.info("pending-scrape-flushed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,reason:b,scrapedLength:a.content.length,heldForMs:Date.now()-a.timestamp.getTime()}),(0,g.T)(c,a.worktreeId,a.content,a.cliToolId).catch(()=>{}),!0}catch(c){return n.warn("pending-scrape-flush-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,reason:b,error:c instanceof Error?c.message:String(c)}),!1}}async function v(a){if(!(0,m._B)(a))return;let b=p.get(a);if(!b||Date.now()<b.expiresAt)return;let c=await (0,j.captureStructuredHistoryTurn)(b.worktreeId,b.cliToolId,b.instanceId,{worktreePath:b.worktreePath,transcriptPathHint:b.transcriptPathHint});if(!(0,m._B)(a)||p.get(a)!==b)return void n.info("pending-scrape-settle-abandoned",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId,captured:c});if(c){p.delete(a),(0,i.oE)(a),n.info("pending-scrape-superseded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId,heldForMs:Date.now()-b.timestamp.getTime()});return}p.delete(a),u(b,"hold-expired")}function w(){return Array.from(p.keys())}function x(a,b){let c=p.get(a);return!!c&&(p.set(a,{...c,worktreeId:b}),!0)}function y(a){let b=[];for(let{oldKey:c,newKey:d,newWorktreeId:e}of a){if(c===d)continue;let a=p.get(c);a&&(p.delete(c),b.push({newKey:d,pending:{...a,worktreeId:e}}))}for(let{newKey:a,pending:c}of b){let b=p.get(a);b&&(p.delete(a),u(b,"migration-displaced")),p.set(a,c)}}},34331:(a,b,c)=>{c.d(b,{L:()=>g});var d=c(88807),e=c(73753),f=c(96463);async function g(a,b,c=(0,d.getDbInstance)()){let h=(0,e.getWorktreeById)(c,a);return h?(0,f.s_)(b,h.path):null}},34990:(a,b,c)=>{c.d(b,{A0:()=>n,Bf:()=>function a(b,c,e){let i=e??Date.now(),j=k((0,d.v7)(b,"antigravity",c));if(!j.tracking){let a=void 0===e?(0,f.FD)(b,"antigravity",c):(0,f.FD)(b,"antigravity",c,void 0,e);return{ok:a,cause:a?null:"never",lastReceiptAt:null,firstSeenAt:i,ageMs:null}}let l=(0,f.nh)(b,"antigravity",c),m=j.candidateSeen;j.candidateSeen=!0,null===j.firstSeenAt&&(j.firstSeenAt=i);let n=j.firstSeenAt,o=null===l?null:n-l,p=(a,b=o)=>{let c={ok:null===a,cause:a,lastReceiptAt:l,firstSeenAt:n,ageMs:b};return j.verdict=c,c};if(null===l)return p("never");if(null!==j.acceptedReceiptAt&&l>j.acceptedReceiptAt)return j.firstSeenAt=i,j.clearAt=j.prevReadAt,j.acceptedReceiptAt=null,j.answerSentAt=null,j.answerInterrupted=!1,a(b,c,i);if(j.acceptedReceiptAt===l){if(m||i-l<=f.Wo)return p(null);if(null!==j.answerSentAt&&!(i-j.answerSentAt<=h)){let a=p("outlived");return!0===j.answerInterrupted&&(a.answerInterrupted=!0),a}return p("answered")}if(j.usedReceiptAt===l)return p("used");if(l>n)return p("predates");if(!(Math.max(null!==j.clearAt&&n-j.clearAt<=g?j.clearAt:n,l)-l<=f.Wo)||!(n-l<=f.Wo+5e3))return p(null===o?"never":o>6e4?"lapsed":"late");return j.acceptedReceiptAt=l,j.usedReceiptAt=l,p(null)},O3:()=>h,T1:()=>m,jm:()=>o,ls:()=>l,mH:()=>p});var d=c(24455),e=c(36925),f=c(77244);let g=7e3,h=18e3,i=(0,e.v)("__antigravityReceiptObservations",()=>new Map);function j(a){let b=i.get(a);if(void 0!==b){if("object"==typeof b&&null!==b&&"boolean"==typeof b.tracking&&"boolean"==typeof b.candidateSeen&&["firstSeenAt","clearAt","prevReadAt","lastReadAt","acceptedReceiptAt","answerSentAt","usedReceiptAt"].every(a=>{let c;return null===(c=b[a])||"number"==typeof c&&Number.isFinite(c)})&&(null===b.verdict||"object"==typeof b.verdict)&&(void 0===b.answerInterrupted||"boolean"==typeof b.answerInterrupted))return b;i.delete(a)}}function k(a){let b=j(a);return b||(b={tracking:!1,candidateSeen:!1,firstSeenAt:null,clearAt:null,prevReadAt:null,lastReadAt:null,acceptedReceiptAt:null,answerSentAt:null,answerInterrupted:!1,usedReceiptAt:null,verdict:null},i.set(a,b)),b}function l(a,b,c=Date.now()){let e=k((0,d.v7)(a,"antigravity",b));null===e.lastReadAt||c-e.lastReadAt<=g||(e.firstSeenAt=null,e.clearAt=null,e.acceptedReceiptAt=null,e.answerSentAt=null,e.answerInterrupted=!1,e.verdict=null),e.tracking=!0,e.candidateSeen=!1,e.prevReadAt=e.lastReadAt,e.lastReadAt=c}function m(a,b,c=Date.now()){let e=j((0,d.v7)(a,"antigravity",b));e&&e.tracking&&!e.candidateSeen&&(e.firstSeenAt=null,e.acceptedReceiptAt=null,e.answerSentAt=null,e.answerInterrupted=!1,e.verdict=null,e.clearAt=c)}function n(a,b,c=Date.now(),e={}){let f=j((0,d.v7)(a,"antigravity",b));f&&null!==f.acceptedReceiptAt&&(void 0===e.forReceiptAt||e.forReceiptAt===f.acceptedReceiptAt)&&(f.answerSentAt=c,f.answerInterrupted=!0===e.interrupted)}function o(a,b){return j((0,d.v7)(a,"antigravity",b))?.acceptedReceiptAt??null}function p(a,b){return j((0,d.v7)(a,"antigravity",b))?.verdict??null}},40043:(a,b,c)=>{c.d(b,{AD:()=>l,Q4:()=>h,ox:()=>k,xG:()=>m});var d=c(37717),e=c(33294),f=c(36925);let g=new Set([d.g.NO_RECENT_OUTPUT,d.g.UNKNOWN_FRAME,d.g.DEFAULT]);function h(a,b){return"running"===a&&g.has(b)}let i=e.STRUCTURED_STATE_MAX_AGE_MS,j=(0,f.v)("__lastKnownStatusByKey",()=>new Map);function k(a,b,c=Date.now()){for(let[a,b]of j)c-b.at>=i&&j.delete(a);for(;j.size>512;){let a=j.keys().next();if(a.done)break;j.delete(a.value)}"positive"===b.evidence&&(j.delete(a),j.set(a,{status:b.status,reason:b.reason,at:c}))}function l(a,b=Date.now()){let c=j.get(a);return void 0===c?null:b-c.at>=i?(j.delete(a),null):c}function m(a){j.delete(a)}},41364:(a,b,c)=>{c.d(b,{Gv:()=>o,hM:()=>n});var d=c(79748),e=c.n(d),f=c(33873),g=c.n(f),h=c(1634),i=c(21684),j=c(72626),k=c(15194);function l(a="claude"){return g().join((0,i.U)(),a)}async function m(a="claude"){let b=l(a);try{await e().access(b)}catch{await e().mkdir(b,{recursive:!0})}}async function n(a,b,c,d="claude",f={}){await m(d);let i=function(a,b="claude"){let c=(0,h.GP)(new Date,"yyyy-MM-dd"),d=`${a}-${c}.md`,e=l(b);return g().join(e,d)}(a,d),j=(0,h.GP)(new Date,"yyyy-MM-dd HH:mm:ss"),o="";try{o=await e().readFile(i,"utf-8")}catch{let b=(0,k.hR)(d)?k.ef[d]:d;o=`# ${b} Conversation Log: ${a}
|
|
2
|
-
|
|
3
|
-
Created: ${j}
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
`}o+=`## Conversation at ${j}
|
|
8
|
-
|
|
9
|
-
`,o+=`### User
|
|
10
|
-
|
|
11
|
-
`,o+=`${b}
|
|
12
|
-
|
|
13
|
-
`;let p=(0,k.hR)(d)?k.ef[d]:d;return(o+=`### ${p}
|
|
14
|
-
|
|
15
|
-
`,o+=`${c}
|
|
16
|
-
|
|
17
|
-
`,o+=`---
|
|
18
|
-
|
|
19
|
-
`,f.mayWrite&&!f.mayWrite())?null:(await e().writeFile(i,o,"utf-8"),i)}async function o(a,b="all"){let c="all"===b?[...k.XH]:[b],d=[];for(let b of c){await m(b);let c=l(b);try{let b=(await e().readdir(c)).filter(b=>b.startsWith(`${a}-`)&&b.endsWith(".md")).map(a=>g().join(c,a));d.push(...b)}catch{}}return d.sort().reverse()}(0,j.h)("log-manager")},44321:(a,b,c)=>{c.d(b,{DS:()=>h,LN:()=>f,XH:()=>g});var d=c(24455);let e=(0,c(36925).v)("__promptDedupSkips",()=>new Map);function f(a,b,c,g=Date.now()){let h=(0,d.v7)(a,b,c),i=e.get(h);e.set(h,{skippedCount:(i?.skippedCount??0)+1,lastSkippedAt:g})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??{skippedCount:0,lastSkippedAt:null}}function h(a){let b=[];for(let{oldWorktreeId:c,newWorktreeId:f,cliToolId:g,instanceId:h}of a){if(c===f)continue;let a=(0,d.v7)(c,g,h);b.push({newKey:(0,d.v7)(f,g,h),record:e.get(a)}),e.delete(a)}for(let{newKey:a,record:c}of b)void 0!==c&&e.set(a,c)}},45146:(a,b,c)=>{c.d(b,{Et:()=>B,KQ:()=>D,MN:()=>t,fq:()=>C,g8:()=>v,sR:()=>F});var d=c(72626),e=c(13033),f=c(72457),g=c(71080),h=c(44321),i=c(89253),j=c(28480),k=c(85038),l=c(99508),m=c(56455),n=c(40964),o=c(36925);let p=(0,d.h)("response-poller"),q=(0,o.v)("__responsePollerCoordinator",()=>({activePollers:new Map,pollingStartTimes:new Map,owners:new Map,running:new Map,pendingRestart:new Map,latestOwners:new Map,generationCounter:0,pausedOnPrompt:new Set}));q.pausedOnPrompt??=new Set,q.latestOwners??=new Map;let r=q.activePollers,s=q.pollingStartTimes;function t(a,b,c){return(0,k.pP)(a,b,c)}function u(a){return"opencode"===a||"copilot"===a}function v(a,b,c){let d=t(a,b,c),e={worktreeId:a,cliToolId:b,instanceId:c},f=q.running.get(d);if(f){if(f.owner.superseded=!0,Date.now()-f.since<6e4)return void q.pendingRestart.set(d,{target:e,behind:f.owner});p.warn("poller:restart-past-stalled-tick",{pollerKey:d,generation:f.owner.generation,runningForMs:Date.now()-f.since}),q.running.delete(d)}w(d,e)}function w(a,b){let c=q.pausedOnPrompt.has(a);A(a,{resume:c}),c&&p.info("poller:resumed-after-prompt",{pollerKey:a}),function(a){let b=t(a.worktreeId,a.cliToolId,a.instanceId);q.pollingStartTimes.set(b,Date.now()),u(a.cliToolId)&&(0,e.tb)(b),x(a.worktreeId,a.cliToolId,a.instanceId)}(b)}function x(a,b,c){let d=t(a,b,c);y({worktreeId:a,cliToolId:b,instanceId:c},function(a){let b=q.owners.get(a)??q.latestOwners.get(a);b&&(b.superseded=!0);let c={pollerKey:a,generation:++q.generationCounter,superseded:!1,stopped:!1,selfStopped:!1};return q.owners.set(a,c),q.latestOwners.set(a,c),c}(d))}function y(a,b){let c=setTimeout(()=>{z(a,b)},2e3);q.activePollers.set(b.pollerKey,c)}async function z(a,b){let c=b.pollerKey;if(!b.superseded&&!b.stopped){q.running.set(c,{owner:b,since:Date.now()});try{let d,e=q.pollingStartTimes.get(c);if(e&&Date.now()-e>18e5)return void A(c);try{d=await (0,m.y)(a.worktreeId,(0,n.mf)(a.cliToolId,a.worktreeId,a.instanceId))}catch(d){p.error("poller:ownership-check-failed",{pollerKey:c,error:d instanceof Error?d.message:String(d)}),b.superseded||b.stopped||y(a,b);return}if(null!==d){p.warn("poller:session-refused",{pollerKey:c,generation:b.generation,refusal:d}),b.superseded||b.stopped||A(c);return}let f=!1;try{f=await k.tV.run(b,()=>(0,i.zX)(a.worktreeId,a.cliToolId,a.instanceId))}catch(a){p.error("error:",{error:a instanceof Error?a.message:String(a)})}b.selfStopped&&function(a,b,c){if(c&&!u(b.cliToolId)){q.pausedOnPrompt.add(a.pollerKey),p.info("poller:paused-on-prompt",{pollerKey:a.pollerKey,generation:a.generation});return}(0,g.L1)(a.pollerKey)}(b,a,f),b.superseded||k.LF.run(b,()=>(0,l.broadcastTerminalSnapshot)(a.worktreeId,a.cliToolId,a.instanceId)),b.superseded||b.stopped||y(a,b)}finally{q.running.get(c)?.owner===b&&q.running.delete(c);let a=q.pendingRestart.get(c);a&&a.behind===b&&(q.pendingRestart.delete(c),w(c,a.target))}}}function A(a,b={}){let c=k.tV.getStore();if(c&&c.pollerKey===a&&(c.superseded||c.stopped))return void p.info("poller:stale-stop-ignored",{pollerKey:a,generation:c.generation});b.resume||(0,i.Tq)(a,"poller-stopped");let d=q.owners.get(a),h=void 0!==d&&c===d;d&&(d.stopped=!0,d.selfStopped=h,q.owners.delete(a)),q.pendingRestart.delete(a),q.pausedOnPrompt.delete(a);let j=q.activePollers.get(a);j&&(clearTimeout(j),q.activePollers.delete(a),q.pollingStartTimes.delete(a)),(0,e.q1)(a),(0,f.iX)(a),h||b.resume||(0,g.L1)(a)}function B(a,b,c){A(t(a,b,c))}function C(){for(let a of new Set([...Array.from(q.activePollers.keys()),...Array.from(q.owners.keys()),...Array.from(q.pausedOnPrompt)]))A(a);q.pendingRestart.clear(),q.pausedOnPrompt.clear()}function D(){return Array.from(q.activePollers.keys())}function E(a){let b=a.indexOf(":");return b<=0||b===a.length-1?null:{worktreeId:a.slice(0,b),instanceId:a.slice(b+1)}}function F(a,b){let c=function(a){let b=new Map;for(let{oldId:c,newId:d}of a)c&&d&&c!==d&&b.set(c,d);return b}(a);if(0===c.size)return[];let{moves:d,abandoned:i}=function(a,b){let c=[],d=[];for(let e of Array.from(r.keys())){let f=E(e);if(!f)continue;let g=a.get(f.worktreeId);if(!g)continue;let h=b(f.worktreeId,f.instanceId);if(!h){d.push({pollerKey:e,newWorktreeId:g});continue}c.push({oldKey:e,newKey:t(g,h,f.instanceId),newWorktreeId:g,cliToolId:h,instanceId:f.instanceId})}return{moves:c,abandoned:d}}(c,b),k=new Map,l=d.filter(a=>{let b=q.running.get(a.oldKey);return void 0!==b&&b.owner===q.owners.get(a.oldKey)});for(let a of d){let b=r.get(a.oldKey);b&&clearTimeout(b),r.delete(a.oldKey);let c=q.owners.get(a.oldKey);c&&(c.superseded=!0,c.stopped=!0,q.owners.delete(a.oldKey)),q.pendingRestart.delete(a.oldKey),k.set(a.newKey,{startedAt:s.get(a.oldKey)}),s.delete(a.oldKey),(0,e.q1)(a.oldKey)}for(let{pollerKey:a,newWorktreeId:b}of i)(0,j.hB)(a,b),A(a),p.warn("poller:migrate-abandoned",{pollerKey:a});let m=new Set(i.map(({pollerKey:a})=>a)),n=function(a){let b=[];for(let c of Array.from(q.pausedOnPrompt)){let d=E(c);if(!d)continue;let e=a.get(d.worktreeId);e&&b.push({oldKey:c,newKey:`${e}:${d.instanceId}`})}return b}(c),o=function(a,b){let c=[];for(let d of(0,j.B9)()){if(b.has(d))continue;let e=E(d);if(!e)continue;let f=a.get(e.worktreeId);f&&c.push({oldKey:d,newKey:`${f}:${e.instanceId}`,newWorktreeId:f})}return c}(c,m),v=new Set([...d.map(a=>a.oldKey),...n.map(a=>a.oldKey),...o.map(a=>a.oldKey)]);for(let a of new Set([...d.map(a=>a.newKey),...n.map(a=>a.newKey),...o.map(a=>a.newKey)]))!(v.has(a)||m.has(a))&&(q.owners.has(a)||r.has(a)||q.pausedOnPrompt.has(a)||(0,j.Bm)(a))&&(A(a),p.warn("poller:migrate-displaced",{pollerKey:a}));for(let a of l)(0,g.L1)(a.oldKey);(0,f.nZ)(d),(0,g.qt)([...d,...n]),(0,j.TS)(o),(0,h.DS)(d.flatMap(a=>{let b=E(a.oldKey);return b?[{oldWorktreeId:b.worktreeId,newWorktreeId:a.newWorktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId}]:[]}));for(let a of d){let b=k.get(a.newKey)?.startedAt;s.set(a.newKey,b??Date.now()),u(a.cliToolId)&&(0,e.tb)(a.newKey),x(a.newWorktreeId,a.cliToolId,a.instanceId)}for(let a of n)q.pausedOnPrompt.delete(a.oldKey);for(let a of n)q.pausedOnPrompt.add(a.newKey);return d}},51607:(a,b,c)=>{c.d(b,{GR:()=>j.GR,MR:()=>j.MR,NR:()=>j.NR,Wl:()=>j.Wl,YN:()=>j.YN,cr:()=>j.cr,gp:()=>o,gq:()=>j.gq,li:()=>j.li,vR:()=>j.vR});var d=c(91536),e=c(11472),f=c(94154),g=c(42422),h=c(24455),i=c(16402),j=c(27675);let k=["enabled","disabled"],l={claude:"enabled",codex:"enabled",copilot:"disabled",opencode:"disabled","opencode-v2":"disabled",gemini:"disabled",antigravity:"disabled","vibe-local":"disabled","command-code":"disabled"},m=new Set(["content","ghost","empty"]),n=new Set(["claude","codex"]);function o(a,b,c=process.env){if("enabled"!==function(a,b=process.env){let c=b.CM_AUTOYES_ENTER_FALLBACK,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();k.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??l[a]??"disabled"}(a,c))return{eligible:!1,reason:"tool-disabled",refusalReason:null,composerState:null};if(void 0===b)return{eligible:!1,reason:"no-raw-frame",refusalReason:null,composerState:null};let j=(0,i.dd)(a,b).refusal;if(null===j)return{eligible:!1,reason:"answerable",refusalReason:null,composerState:null};let p=(0,f.ji)(b,a).state,q=a=>({eligible:!1,reason:a,refusalReason:j.reason,composerState:p});if(m.has(p))return q("composer-visible");let r=j.reason===i.bj,s=n.has(a)&&"no_composer"===p;if(!r&&!s)return q("no-choice-screen-evidence");if(!(0,e.Hg)(b,(0,d.H7)(a)).alive)return q("tool-exited");let t=(0,g.aJ)(b).split("\n").slice(-h.Re).join("\n");return(0,g.ut)(a,t)?q("thinking"):{eligible:!0,refusalReason:j.reason,composerState:p}}},63209:(a,b,c)=>{c.d(b,{bT:()=>g});var d=c(51297),e=c(76777);let f=[{id:"overloaded",pattern:/\b5\d{2}\s+Overloaded\b/i,selfRetrying:!0},{id:"retrying",pattern:/Retrying in \d+s\s*[·•]\s*attempt \d+\/\d+/i,selfRetrying:!0},{id:"context-limit",pattern:/\bmaximum context length is \d+ tokens\b/i,selfRetrying:!1},{id:"limit-reached",pattern:/\blimit reached\b/i,selfRetrying:!1},{id:"api-error",pattern:/\bAPI Error(?::|\s+\d{3})/i,selfRetrying:!1}];function g(a){let b=(0,d.aJ)(a);for(let a of f){var c;let d=a.pattern.exec(b);if(!d)continue;let f=b.lastIndexOf("\n",d.index)+1,g=b.indexOf("\n",d.index);return{fault:a,matchedText:(c=b.slice(f,-1===g?void 0:g).trim()||d[0],(0,e.D)(c,200,"…[truncated]"))}}return null}},63869:(a,b,c)=>{c.d(b,{It:()=>s,Pw:()=>p,WG:()=>w,if:()=>r,tV:()=>D});var d=c(79892),e=c(61878),f=c(905),g=c(69119),h=c(96742),i=c(91478),j=c(81254),k=c(93997),l=c(4803),m=c(20610);let n=/^\d+(?:,\d+)*$/,o="answer_mode_keys";class p extends Error{constructor(a,b,c){super(`Refused to send "${b}" to ${a}: its ${c.kind} dialog takes '${c.answerMode}' input, not a typed number (${o}). The digit would be swallowed and the Enter after it would confirm whatever is highlighted. Nothing was sent.`),this.name="PromptAnswerRejectedError",this.reason=o,this.dialogKind=c.kind,this.answerMode=c.answerMode}}let q="unresolvable_answer";class r extends Error{constructor(a,b,c){super(function(a,b,c){let d=b.join(", ");return void 0===c?`Refused to type free text at ${a}'s prompt: option ${d} reads as taking your own words, but on this screen it is a menu row, not a text field. The text would be ignored and the Enter after it would confirm whatever is highlighted. Nothing was sent. Answer with the option number, then send the instructions as a message.`:`Refused to type free text at ${a}'s prompt: option ${d} is the text field on this screen, but the cursor is on option ${c.cursorOptionNumber}. The text would be ignored and the Enter after it would confirm option ${c.cursorOptionNumber}. Nothing was sent. Move the cursor onto the text field in the terminal and send the text again — sending its option number does not move the cursor, it selects nothing.`}(a,b,c)),this.name="FreeTextAnswerRejectedError",this.reason=q,this.optionNumbers=b,this.kind=c?.kind??"menu_row",this.cursorOptionNumber=c?.cursorOptionNumber??null}}class s extends Error{constructor(a,b){super(`Refused to type free text at ${a}'s prompt: none of its ${b} options is a text field on this screen, so the text would be ignored and the Enter after it would confirm whatever is highlighted. Nothing was sent. Answer with the option number instead, then send your instructions as a separate message.`),this.name="FreeTextAtChoiceOnlyPromptError",this.reason=q,this.optionCount=b}}async function t(a){if(void 0!==a.frame)return a.frame;try{return await (0,d.Xg)(a.sessionName,200)}catch{return null}}async function u(a){if(!/^\d+$/.test(a.answer))return null;let b=(0,f.bN)(a.cliToolId);if(!b.hasDialogRules)return null;let c=await t(a);if(null===c)return null;let d=b.detectDialog((0,e.zJ)(c,a.cliToolId));if(null===d)return null;if("numbered"===d.answerMode)return d;throw new p(a.cliToolId,a.answer,d)}function v(a){if(0===a)return[];let b=a>0?"Down":"Up";return Array.from({length:Math.abs(a)},()=>b)}class w extends Error{constructor(a,b,c){super(`The question was not submitted (${a}). `+(b?"Some boxes may have been ticked, but the confirm row was not pressed, so the question is still on screen exactly as the pane shows it. ":"No key was sent. ")+`Requested selection: ${c.join(", ")}. Check the terminal and answer it there, or `+"retry once the screen has settled."),this.name="MultiSelectAnswerRejectedError",this.reason="multi_select_not_committed",this.stage=a,this.keysSent=b,this.wanted=c}}function x(a){return a.options.filter(a=>!0===a.checked).map(a=>a.number)}async function y(a){await new Promise(a=>setTimeout(a,m.x9));try{return await (0,d.Xg)(a,200)}catch{return null}}async function z(a,b,c,d){var e,f;if(void 0===b.options.find(a=>!0===a.isDefault))throw new w("cursor-unknown",!1,c);let g=x(b),j=[...c.filter(a=>!g.includes(a)),...g.filter(a=>!c.includes(a))].sort((a,b)=>a-b);j.length>0&&await C(a,j.map(String),d);let k=j.length>0,l=await y(a);if(B(d,k),null===l)throw new w("recapture-failed",k,c);let m=(0,h.nK)(l);if("prompt"!==m.kind||m.prompt.promptData?.type!=="multiple_choice"||!0!==m.prompt.promptData.multiSelect||m.prompt.promptData.question!==b.question||m.prompt.promptData.options.length!==b.options.length)throw new w("screen-changed",k,c);let n=m.prompt.promptData;if(e=x(n),f=[...c],!(e.length===f.length&&e.every((a,b)=>a===f[b])))throw new w("toggle-mismatch",k,c);let o=n.options.find(a=>!0===a.isDefault);if(void 0===o)throw new w("cursor-unknown",k,c);await C(a,[...Array.from({length:Math.max(0,n.options.length-o.number+1)},()=>"Down"),"Enter"],d);let p=await y(a);if(B(d,!0),null===p)throw new w("recapture-failed",!0,c);let q=(0,i.uG)(p);if(null!==q){if(q.hasUnansweredWarning)throw new w("review-unanswered",!0,c);await C(a,["Enter"],d);return}let r=(0,h.nK)(p);if("prompt"!==r.kind||r.prompt.promptData?.type!=="multiple_choice"||r.prompt.promptData.question===b.question)throw new w("not-committed",!0,c)}class A extends Error{constructor(a){super(`Prompt answer stopped by its caller (${a?"some keys were sent":"no key was sent"})`),this.keysSent=a,this.name="PromptAnswerAbortedError"}}function B(a,b){if(a&&!a())throw new A(b)}async function C(a,b,c){if(!c)return void await (0,d.KB)(a,b);try{await (0,d.KB)(a,b,{shouldContinue:c})}catch(a){if(a instanceof Error&&"SpecialKeysAbortedError"===a.name)throw new A(!0);throw a}}async function D(a){let{sessionName:b,answer:c,cliToolId:e,promptData:f,fallbackPromptType:h,fallbackDefaultOptionNumber:i,stillCurrent:o}=a,p=function(a){if("command-code"!==a.cliToolId)return null;let{promptData:b}=a;return b?.type==="multiple_choice"&&!0===b.multiSelect&&n.test(a.answer)?{promptData:b,wanted:[...new Set(a.answer.split(",").map(Number))].sort((a,b)=>a-b)}:null}(a);if(null!==p){await z(b,p.promptData,p.wanted,o),(0,k.gm)(b);return}let q=await u(a);if(!function(a){if(/^\d+$/.test(a.answer))return;let{promptData:b}=a;if(b?.type!=="multiple_choice"||0===b.options.length)return;let c=b.options.filter(a=>!0===a.requiresTextInput);if(0===c.length)throw new s(a.cliToolId,b.options.length);if(!c.some(g.J0))throw new r(a.cliToolId,c.map(a=>a.number))}(a),!function(a){if(/^\d+$/.test(a.answer))return;let{promptData:b}=a;if(b?.type!=="multiple_choice")return;let c=b.options.filter(g.J0);if(0===c.length)return;let d=b.options.find(a=>!0===a.isDefault);if(void 0!==d&&!(0,g.J0)(d))throw new r(a.cliToolId,c.map(a=>a.number),{kind:"cursor_elsewhere",cursorOptionNumber:d.number})}(a),B(o,!1),("claude"===e||"antigravity"===e)&&(f?.type==="multiple_choice"||"multiple_choice"===h)&&/^\d+$/.test(c)){let a,d=parseInt(c,10),e=null;if(f?.type==="multiple_choice"){let b=(e=f.options).find(a=>a.isDefault);a=b?.number??1}else a=i??1;let g=d-a;if(null!==e&&(0,l.kN)(e)&&null!==e){let a=e.filter(a=>(0,l.kN)([a])).length,c=[...v(g),"Space"];c.push(...v(a-d+1)),c.push("Enter"),await C(b,c,o)}else{let a=v(g),c=f?.type==="multiple_choice"&&!0===f.isAskUserQuestion&&0===g?["Down","Up","Enter"]:[...a,"Enter"];await C(b,c,o)}}else{await (0,d.V1)(b,c,!1);let e=function(a,b){let c=a.promptData?.type==="multiple_choice"?a.promptData.submitMode:void 0,d=b?.submitMode??c??a.fallbackSubmitMode??"answer_then_enter";return(0,j.MI)(d)?d:"answer_then_enter"}(a,q);"answer_only"===e&&(null!==q||a.promptData?.type==="multiple_choice"||"multiple_choice"===a.fallbackPromptType)&&/^\d+$/.test(a.answer)||(await new Promise(a=>setTimeout(a,m.pL)),B(o,!0),await (0,d.V1)(b,"",!0))}(0,k.gm)(b)}},64501:(a,b,c)=>{c.d(b,{$x:()=>j,NV:()=>k,KO:()=>i,$K:()=>l});var d=c(51297);let e={codex:{showsAbandonedTurn:c(27789).Y7}};var f=c(66101),g=c(59409),h=c(33294);function i(a,b,c){return"hooks"!==a||function(a,b){let c=e[a];return!c||c.showsAbandonedTurn((0,d.aJ)(b).split("\n"))}(b,c)}function j(a,b,c,d=Date.now()){let e=(0,g.VM)(b);return(0,f.Kf)(e,e.liveness({worktreeId:a,cliToolId:b,instanceId:c??b}),d).kind}function k(a,b,c,d,e=Date.now()){return!i(j(a,b,c,e),b,d)&&(0,h.getStructuredSessionState)(a,b,c,e)?.status==="running"}function l(a,b,c,f,g,i=Date.now()){let j=(0,h.getStructuredSessionState)(a,b,c,i);return j?.status==="running"&&"hooks"===f&&function(a,b){let c=e[a];return!!c&&c.showsAbandonedTurn((0,d.aJ)(b).split("\n"))}(b,g)?null:j}},70594:(a,b,c)=>{c.d(b,{EV:()=>h,aT:()=>i,mi:()=>k,wG:()=>j});var d=c(52660),e=c(72626),f=c(30008);let g=(0,e.h)("current-output-builder");function h(a){let b=a?.spec.questions[0];return b?{question:b.question,labels:b.choices.map(a=>a.label),questionCount:a.spec.questions.length,...b.custom?{custom:!0}:{}}:null}function i(a,b,c=null,d=null,e=null){if("waiting"===a.status)return{...a,structuredApplied:!1};if(null!==c)return{status:"waiting",reason:(0,f.rB)(c),thinking:!1,evidence:a.evidence,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0};if(null===b||"waiting"===b.status||function(a,b,c,d){if(null===d||!j(a,b,c))return!1;let e=c?.closedAt??null;return null!==e&&e<d}(a,b,d,e))return{...a,structuredApplied:!1};let g="running"===b.status,h="ready"===b.status&&function(a){if(null===a)return!1;let{closedBy:b,closedAt:c,openedAt:d}=a;return"stop"===b&&null!==c&&null!==d&&c>d}(d)?"positive":a.evidence;return{status:b.status,reason:b.reason,thinking:g,evidence:h,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0}}function j(a,b,c){return!!a.thinking&&null!==b&&"ready"===b.status&&null!==c&&"stop"===c.closedBy&&null!==c.closedAt}function k(a,b,c,e){try{let f=(0,d.getLastUserMessageForInstance)(a,b,c,e);if(!f)return null;let g=f.timestamp instanceof Date?f.timestamp.getTime():NaN;return Number.isFinite(g)?g:null}catch(a){return g.debug("newest-prompt-read-failed",{worktreeId:b,cliToolId:c,instanceId:e,error:a instanceof Error?a.message:String(a)}),null}}},71080:(a,b,c)=>{c.d(b,{H:()=>j,L1:()=>q,Pe:()=>n,fS:()=>m,j7:()=>k,oE:()=>o,o_:()=>l,pN:()=>p,qt:()=>r});var d=c(55511),e=c(36925),f=c(85038);let g=(0,e.v)("__responseHashCache",()=>new Map),h=(0,e.v)("__structuredHistoryRecheckCache",()=>new Map),i=(0,e.v)("__duplicateResponseSkipStreak",()=>new Map),j=30;function k(a,b){let c=(0,d.createHash)("sha256").update(b).digest("hex");return g.get(a)===c||!!(0,f._B)(a)&&(g.set(a,c),i.delete(a),!1)}function l(a){let b=(i.get(a)??0)+1;i.set(a,b);let c=(b-1)%j==0,d=1===b?0:j-1;return{log:c,consecutive:b,suppressed:d}}function m(a){i.delete(a)}function n(a){h.has(a)||h.set(a,0)}function o(a){h.delete(a)}function p(a){let b=h.get(a);return void 0!==b&&(b>0?(h.set(a,b-1),!1):(h.set(a,2),!0))}function q(a){g.delete(a),h.delete(a),i.delete(a)}function r(a){let b=[];for(let{oldKey:c,newKey:d}of a)c!==d&&b.push({newKey:d,state:function(a){let b={hash:g.get(a),recheck:h.get(a),streak:i.get(a)};return g.delete(a),h.delete(a),i.delete(a),b}(c)});for(let{newKey:a,state:c}of b)void 0!==c.hash&&g.set(a,c.hash),void 0!==c.recheck?h.set(a,c.recheck):void 0!==c.hash&&h.delete(a),void 0!==c.hash&&(void 0!==c.streak?i.set(a,c.streak):i.delete(a))}},72457:(a,b,c)=>{c.d(b,{WR:()=>l,gv:()=>j,i2:()=>n,iX:()=>m,nZ:()=>o,p6:()=>k,zm:()=>p});var d=c(55511),e=c(36925),f=c(71080);let g=(0,e.v)("__promptHashCache",()=>new Map),h=(0,e.v)("__duplicatePromptSkipStreak",()=>new Map),i=f.H;function j(a,b){let c=(0,d.createHash)("sha256").update(b).digest("hex");return g.get(a)===c||(g.set(a,c),h.delete(a),!1)}function k(a){let b=(h.get(a)??0)+1;h.set(a,b);let c=(b-1)%i==0,d=1===b?0:i-1;return{log:c,consecutive:b,suppressed:d}}function l(a){h.delete(a)}function m(a){g.delete(a),h.delete(a)}function n(a,b){o([{oldKey:a,newKey:b}])}function o(a){let b=[];for(let{oldKey:c,newKey:d}of a)c!==d&&(b.push({newKey:d,hash:g.get(c),streak:h.get(c)}),g.delete(c),h.delete(c));for(let{newKey:a,hash:c,streak:d}of b)void 0!==c&&(g.set(a,c),void 0!==d?h.set(a,d):h.delete(a))}function p(a,b){return"copilot"!==b?a:a.replace(/^[❯>]\s/gm," ")}},79565:(a,b,c)=>{c.d(b,{$v:()=>ak,emitChatTurnProgress:()=>ac});var d=c(56791),e=c(36925);let f=(0,e.v)("__unclassifiedFrameRuns",()=>new Map);var g=c(35583),h=c(94154),i=c(63209),j=c(51297),k=c(76777),l=c(50524);let m=/^([^\S\n]*)╹(▀{4,})/,n=/^([^\S\n]*)[│┃]/;var o=c(72626),p=c(8360),q=c(15194),r=c(59409),s=c(64501),t=c(66101),u=c(33198),v=c(17287),w=c(15388),x=c(3161),y=c(49154),z=c(62171),A=c(97751),B=c(31990),C=c(95595),D=c(87693),E=c(52277),F=c(51607),G=c(44321),H=c(34405),I=c(93997);function J(a){return""===(0,j.aJ)(a).trim()}var K=c(33294),L=c(30008),M=c(24581),N=c(40043),O=c(9516),P=c(31239),Q=c(16402),R=c(42422),S=c(62887);let T=(0,o.h)("layer-disagreement"),U=(0,e.v)("__layerDisagreementReported",()=>new Set);var V=c(27870),W=c(54325),X=c(85038);let Y=(0,o.h)("current-output-builder");function Z(){return{version:0,askedAt:-1/0,turnKey:null,body:null,loggedOutcome:null,loggedTurnKey:null}}let $=(0,e.v)("__chatTurnProgressState",()=>new Map);function _(a){return`${a.worktreeId}:${a.cliToolId}:${a.instanceId??a.cliToolId}`}function aa(a,b,c,d={}){let e=_(a),f=$.get(e)??Z();$.set(e,f),(f.loggedOutcome!==b||f.loggedTurnKey!==c)&&(f.loggedOutcome=b,f.loggedTurnKey=c,Y.info("published"===b?"chat-turn-progress-published":"no-subscribers"===b?"chat-turn-progress-no-subscribers":"chat-turn-progress-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,turnKey:c,...d}))}async function ab(a,b,c){let d,e=_(a),f=$.get(e)??Z();if(c-f.askedAt<W.r9)return null;f.askedAt=c,$.set(e,f);try{d=await b()}catch{return null}if(!d||0===d.body.length||!(0,X.Z)())return null;let g=(0,W.rx)(d.body);return d.turnKey===f.turnKey&&g.body===f.body?null:{turnKey:d.turnKey,body:g.body,partial:g.truncated||!0===d.partial}}async function ac(a,b,d=Date.now()){try{let{broadcast:e,hasRoomSubscribers:f}=await Promise.resolve().then(c.bind(c,43015));if(!f(a.worktreeId))return aa(a,"no-subscribers",null),!1;let g=await ab(a,b,d);if(!g||!(0,X.Z)())return!1;let h=function(a,b){let c=_(a),d=$.get(c)??Z();return b.turnKey===d.turnKey&&b.body===d.body?null:(d.turnKey=b.turnKey,d.body=b.body,d.version+=1,$.set(c,d),{type:W.rz,worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,turnKey:b.turnKey,body:b.body,partial:b.partial,version:d.version,done:!1})}(a,g);if(!h)return!1;return e(a.worktreeId,h),aa(a,"published",h.turnKey,{version:h.version,bodyLength:h.body.length,partial:h.partial}),!0}catch(b){return aa(a,"failed",null,{error:b instanceof Error?b.message:String(b)}),!1}}async function ad(a,b,d,e){if("claude"!==d)return;let f={worktreeId:b,cliToolId:d,instanceId:e};try{let{getWorktreeById:g}=await Promise.resolve().then(c.bind(c,73753)),h=g(a,b)?.path;if(!h)return;let{hasRoomSubscribers:i}=await Promise.resolve().then(c.bind(c,43015));if(!(0,X.Z)())return;if(!i(b))return void aa(f,"no-subscribers",null);ac(f,async()=>{let{readClaudeTurnProgress:a}=await Promise.resolve().then(c.bind(c,71133));return a({worktreeId:b,cliToolId:d,instanceId:e??d},{worktreePath:h})})}catch(a){aa(f,"failed",null,{error:a instanceof Error?a.message:String(a)})}}var ae=c(70594),af=c(81254);let ag=(0,o.h)("current-output-builder");function ah(a,b){Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:c})=>{c("message",{worktreeId:a,message:b})}).catch(b=>{ag.warn("history-row-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})})}let ai=(0,e.v)("__detectionDivergenceEpisodes",()=>new Map),aj=(0,o.h)("current-output-builder");async function ak(a,b,c,d,e){let f=await al(a,b,c,d);if(!(0,X.Z)())throw new X.SC;return(f.isRunning&&"running"===f.sessionStatus&&null==f.startingSince&&await ad(a,b,c,d),e)?{...f,resolvedBy:e.resolvedBy,conflict:e.conflict??null}:f}async function al(a,b,c,e){let o=e??c,W=p.CLIToolManager.getInstance().getTool(c),Y=W.getSessionName(b,e),{stopEventAt:Z,eventSource:$,askUserQuestion:_,structuredEvents:aa}=function(a,b,c,d){let e=(0,K.getLastStopEventAt)(a,b,c),f=(0,K.getLastAgentEvent)(a,b,c),g=(0,r.VM)(b),h=Date.now(),i=(0,K.getPendingDecisions)(a,b,c,h),j=(0,K.getAskUserQuestion)(a,b,c,h),k=(0,x.Jl)(a,b,c),l={lastEventType:f?.event??null,lastEventAt:f?.at??null,lastEventDetail:f?.detail??null,...(0,K.getPublishedAgentTurn)(a,b,c,h),pendingDecisions:i.map(a=>{let b=(0,y.Wk)(a.toolName);return{id:a.decisionId,at:a.at,source:a.source,toolName:a.toolName,confirmedAt:a.confirmedAt,scraperCorroborated:a.scraperCorroborated,deliveryExpired:(0,M.qX)(a,g.capabilities.decisionTimeoutSeconds,h),kind:b,questionOptions:"question"===b&&j?(0,A.dZ)(j.spec).map(a=>({number:a.number,label:a.label})):null}}),dedupDropped:(0,K.getAgentEventDropCounts)(a,b,c),dialogPendingMaxMs:{...M.h_},promptWaitingSince:null,promptWaitingSource:null,toolInputNormalization:(0,w.SQ)(a,b,c),permissionDecision:(0,v.CD)(a,b,c),source:{cliToolId:g.cliToolId,capabilities:g.capabilities,...(0,t.Kf)(g,g.liveness({worktreeId:a,cliToolId:b,instanceId:d}),h),probedActivity:(0,u.hS)({worktreeId:a,cliToolId:b,instanceId:d})},session:k,sessionContext:(0,x.sc)({worktreeId:a,cliToolId:b,instanceId:c},k),sessionDiff:(0,z.rn)({worktreeId:a,cliToolId:b,instanceId:c})};return{stopEventAt:e,eventSource:g,askUserQuestion:j,structuredEvents:l}}(b,c,e,o),ab=await W.isRunning(b,e);if(!(0,X.Z)())throw new X.SC;if(!ab)return(0,N.xG)((0,D.v7)(b,c,e)),{isRunning:!1,startingSince:(0,g.Bk)(b,c,e),sessionName:Y,content:"",lineCount:0,cliToolId:c,sessionStatus:"idle",sessionStatusReason:"session_not_running",statusEvidence:"positive",lastKnownStatus:null,lastKnownStatusAt:null,lastStopEventAt:Z,structuredEvents:aa,model:null,reasoningEffort:null,promptDedup:(0,G.XH)(b,c,e),upstreamFault:null,paneObstruction:null,composerText:null,composerState:"no_composer"};let ac=(0,d.getSessionState)(a,b,o),ad=ac?.lastCapturedLine||0,ak=await (0,B.Wh)(b,c,H._,e);if(!(0,X.Z)())throw new X.SC;let al=ak.split("\n"),am=al.length,an=(0,I.sl)(am,Math.min(H._,I.xE)),ao=((0,q.qR)(c,an)?al.slice(Math.max(0,ad)):al).join("\n"),{compositeKey:ap,lastServerResponseTimestamp:aq,statusResult:ar,startingSince:as,thinking:at,scraperPromptWaiting:au,isSelectionListActive:av,isPagerActive:aw,isDismissablePanelActive:ax,evidence:ay,isUnclassifiedActive:az}=function(a,b,c,d){let e=(0,D.v7)(a,b,c),f=(0,D.xU)(e),h=f?new Date(f):void 0,i=(0,C.WC)(d,b,h),j=(0,g.a3)(a,b,c,"waiting"===i.status||i.hasActivePrompt),k=null===j?i:(0,g.Gz)(i),l=(0,C.f8)(k),m=k.hasActivePrompt,n="waiting"===k.status&&C.ug.has(k.reason),o=k.reason===C.gv.CODEX_PAGER,p="waiting"===k.status&&k.reason===C.gv.COMMAND_CODE_DISMISSABLE_PANEL,q=k.evidence,r=(0,N.Q4)(k.status,k.reason);return{compositeKey:e,lastServerResponseTimestamp:f,statusResult:k,startingSince:j,thinking:l,scraperPromptWaiting:m,isSelectionListActive:n,isPagerActive:o,isDismissablePanelActive:p,evidence:q,isUnclassifiedActive:r}}(b,c,e,ak);(0,K.observeScraperCompletionEvidence)(b,c,e,"ready"===ar.status&&"positive"===ay,void 0,(0,s.KO)(aa.source.kind,c,ak));let aA=(0,s.$K)(b,c,e,aa.source.kind,ak),aB=(0,L._G)({worktreeId:b,cliToolId:c,instanceId:e,scraper:{status:ar.status,reason:ar.reason,hasActivePrompt:au}}),aC=aB.structured;null!==aC&&(aa.promptWaitingSince=aC.at,aa.promptWaitingSource=aC.source);let aD={status:ar.status,reason:ar.reason,thinking:at,evidence:ay,isUnclassifiedActive:az},aE=(0,ae.wG)(aD,aA,aa)?(0,ae.mi)(a,b,c,o):null,aF=(0,ae.aT)(aD,aA,aC,aa,aE),aG=null===as&&aB.waiting,{structuredFacts:aH,promptData:aI,promptAnswerable:aJ}=function({worktreeId:a,cliToolId:b,output:c,statusResult:d,startingSince:e,promptWaiting:f,askUserQuestion:g,eventSource:h}){let i=d.hasActivePrompt,j=d.promptDetection.promptData,k=j&&g?(0,O.Hu)(j,g.spec):null,l=null!==f&&(0,L.$G)(f,h.capabilities.eventIdentity)?f.decisionId:null,m=null!==f&&"question"===(0,y.Wk)(f.toolName),n=null===l||m?null:(0,V.T5)(b),o=null===f?null:{...f,askUserQuestion:(0,ae.EV)(g),decisionOptions:n,decisionId:l,patterns:null!==n?f.patterns:null},p=null!==e?null:i?k??j??(o?(0,V.Yo)(a,o):null):o?(0,V.Yo)(a,o):null;return{structuredFacts:o,promptData:p,promptAnswerable:i&&(k??j)?null===(0,Q.dd)(b,c).refusal:void 0}}({worktreeId:b,cliToolId:c,output:ak,statusResult:ar,startingSince:as,promptWaiting:aC,askUserQuestion:_,eventSource:$}),aK=null!==aA&&aA.status!==ar.status;aK&&aj.info("detection-divergence",{worktreeId:b,cliToolId:c,instanceId:o,scraperStatus:ar.status,scraperReason:ar.reason,structuredStatus:aA.status,structuredReason:aA.reason,structuredEvent:aA.event,structuredEventAt:aA.at,applied:aF.structuredApplied});let aL=function(a,b,c,d,e=Date.now()){let f=`${a}\u0000${b}\u0000${c}`,g=ai.get(f);return d?(g?g.polls++:ai.set(f,{startedAt:e,polls:1}),null):g?(ai.delete(f),{durationMs:Math.max(0,e-g.startedAt),polls:g.polls}):null}(b,c,o,aK);null!==aL&&aj.info("detection-divergence-resolved",{worktreeId:b,cliToolId:c,instanceId:o,durationMs:aL.durationMs,polls:aL.polls});let aM=(function(a){let b=a.slice(-100);if(b.some(a=>!J(a)))return b;let c=a.length-1;for(;c>=0&&J(a[c]);)c-=1;return c<0?b:a.slice(Math.max(0,c+1-100),c+1)})(al).join("\n"),aN="opencode"===c?function(a){let b=(0,j.aJ)(a).split("\n"),c=-1,d=-1,e=-1;for(let a=0;a<b.length;a++){let f=m.exec(b[a]);f&&(c=a,e=(d=f[1].length)+1+f[2].length)}if(-1===c)return null;let f=0,g="";for(let a=0;a<b.length;a++){let h=b[a];if(a!==c){let a=n.exec(h);if(!a||a[1].length!==d)continue}let i=h.slice((0,l.sh)(h,e)).trim();""!==i&&(f+=1,""===g&&(g=(0,k.D)(i,200,"…[truncated]")))}return f<2?null:{id:"opencode_sidebar",matchedText:g,boxRight:e,rows:f}}(aM):null,aO=(0,V.LF)($.capabilities.eventIdentity,aa.pendingDecisions??[]),aP=function(a,b,c=Date.now()){for(let[a,b]of f)c-b.lastSeen>36e5&&f.delete(a);if(!b)return f.delete(a),{dwellMs:0,shouldRecord:!1};let d=f.get(a);if(!d)return f.set(a,{since:c,lastSeen:c,recorded:!1}),{dwellMs:0,shouldRecord:!1};d.lastSeen=c;let e=Math.max(0,c-d.since);return d.recorded||e<6e4?{dwellMs:e,shouldRecord:!1}:(d.recorded=!0,{dwellMs:e,shouldRecord:!0})}(ap,aF.isUnclassifiedActive&&!aO&&null===as);aP.shouldRecord&&function(a,b){var c;let e=Math.round(b.dwellMs/1e3),f=`${b.sessionStatus}/${b.sessionStatusReason}`,g=`Unclassified interactive frame (${f}) held for ${e}s. The detection layer could not parse it, so no prompt was published and nothing could answer it. Inspect the raw pane with \`commandmate capture ${b.worktreeId} --pane\`.`+((c=b.obstruction)?` Cause: opencode's sidebar is sharing rows with the transcript (paneObstruction=${c.id}, second column reads ${JSON.stringify(c.matchedText)}), which covers the marker that ends a turn. Press \`ctrl+x b\` in the pane to close it.`:""),h={type:af.LT,status:"unclassified",question:g,options:[],dwellSeconds:e,sessionStatusReason:f};try{let c=(0,d.createMessage)(a,{worktreeId:b.worktreeId,role:"assistant",content:g,messageType:"prompt",promptData:h,timestamp:new Date,cliToolId:b.cliToolId,instanceId:b.instanceId});ag.info("unclassified-frame-recorded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,dwellSeconds:e,statusReason:f}),ah(b.worktreeId,c)}catch(a){ag.warn("unclassified-frame-record-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)})}}(a,{worktreeId:b,cliToolId:c,instanceId:o,dwellMs:aP.dwellMs,sessionStatus:aF.status,sessionStatusReason:aF.reason,obstruction:aN});let aQ=(aR={supportedEvents:$.capabilities.supportedEvents,scraperStatus:ar.status,scraperReason:ar.reason,hasActivePrompt:au,lastEventType:aa.lastEventType,lastEventDetail:aa.lastEventDetail}).supportedEvents.includes("user_prompt_submit")&&aR.supportedEvents.includes("stop")&&"waiting"===aR.scraperStatus&&"stop"===aR.lastEventType&&aR.lastEventDetail!==S.HV?aR.hasActivePrompt?"approval-after-stop":C.ug.has(aR.scraperReason)?"menu-after-stop":null:null;if(null!==aQ&&function(a){let b=`${a.compositeKey}|${a.turnId??"-"}|${a.kind}`;if(U.has(b))return;U.size>=512&&U.clear(),U.add(b);let c=(0,R.aJ)(a.frame).split("\n").filter(a=>""!==a.trim());T.warn("layerDisagreement",{kind:a.kind,worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,turnId:a.turnId,scraperReason:a.scraperReason,frameTail:c.slice(-40).join("\n")})}({compositeKey:ap,worktreeId:b,cliToolId:c,instanceId:o,turnId:aa.turnId,kind:aQ,scraperReason:ar.reason,frame:ak}),null!==aC&&null!==aH&&!au&&!aC.recorded&&!aO){(0,K.markStructuredPromptRecorded)(b,c,e);var aR,aS=b,aT=c,aU=o,aV=aC,aW=aH;let f=(0,V.fO)(aS,aW);try{let b=(0,d.createMessage)(a,{worktreeId:aS,role:"assistant",content:f.question,summary:`structured prompt \xb7 source=${aV.source}${aV.toolName?` \xb7 tool=${aV.toolName}`:""}`,messageType:"prompt",promptData:f,timestamp:new Date,cliToolId:aT,instanceId:aU});ag.info("structured-prompt-recorded",{worktreeId:aS,cliToolId:aT,instanceId:aU,source:aV.source,toolName:aV.toolName}),ah(aS,b)}catch(a){ag.warn("structured-prompt-record-failed",{worktreeId:aS,error:a instanceof Error?a.message:String(a)})}}let aX=(0,h.ji)(ak,c),aY=(0,i.bT)(aM),aZ=(0,D.aq)(b,c,e),{model:a$,effort:a_}=(0,K.getResolvedAgentModelInfo)(b,c,e),a0=null===as?aF:{...aF,status:"running",reason:C.gv.STARTING,thinking:!1};(0,N.ox)(ap,{status:a0.status,reason:a0.reason,evidence:a0.evidence});let a1=(0,N.AD)(ap);return function({worktreeId:a,cliToolId:b,instanceId:c,sessionName:d,published:e,merged:f,newContent:g,output:h,realtimeSnippet:i,totalLines:j,lastCapturedLine:k,isPromptWaiting:l,promptData:m,promptAnswerable:n,autoYesState:o,lastEnterFallback:p,isSelectionListActive:q,isPagerActive:r,isDismissablePanelActive:s,startingSince:t,lastKnown:u,lastServerResponseTimestamp:v,compositeKey:w,stopEventAt:x,structuredEvents:y,model:z,effort:A,upstreamFaultMatch:B,paneObstruction:C,composer:F}){return{isRunning:!0,sessionName:d,cliToolId:b,sessionStatus:e.status,sessionStatusReason:e.reason,content:g,fullOutput:h,realtimeSnippet:i,lineCount:j,lastCapturedLine:k,thinking:e.thinking,isPromptWaiting:l,promptData:m,...void 0!==n?{promptAnswerable:n}:{},promptView:(0,P.ds)(m),autoYes:{enabled:o?.enabled??!1,expiresAt:o?.enabled?o.expiresAt:null,stopReason:o?.stopReason,lastSuppression:(0,E.gb)(a,b,c),stopMatchedText:o?.stopMatchedText,lastEnterFallback:p},isSelectionListActive:q,isPagerActive:r,isDismissablePanelActive:s,isUnclassifiedActive:null===t&&f.isUnclassifiedActive,startingSince:t,statusEvidence:e.evidence,lastKnownStatus:u?.status??null,lastKnownStatusAt:u?.at??null,lastServerResponseTimestamp:v,serverPollerActive:(0,D.bZ)(w),lastStopEventAt:x,structuredEvents:y,model:z,reasoningEffort:A,promptDedup:(0,G.XH)(a,b,c),upstreamFault:B?{id:B.fault.id,matchedText:B.matchedText,at:Date.now()}:null,paneObstruction:C?{id:C.id,matchedText:C.matchedText,at:Date.now()}:null,composerText:"content"===F.state?F.text:null,composerState:F.state}}({worktreeId:b,cliToolId:c,instanceId:e,sessionName:Y,published:a0,merged:aF,newContent:ao,output:ak,realtimeSnippet:aM,totalLines:am,lastCapturedLine:ad,isPromptWaiting:aG,promptData:aI,promptAnswerable:aJ,autoYesState:aZ,lastEnterFallback:(0,F.YN)((0,F.li)(b,c,e),void 0!==aJ?ar.promptDetection.promptData:null),isSelectionListActive:av,isPagerActive:aw,isDismissablePanelActive:ax,startingSince:as,lastKnown:a1,lastServerResponseTimestamp:aq,compositeKey:ap,stopEventAt:Z,structuredEvents:aa,model:a$,effort:a_,upstreamFaultMatch:aY,paneObstruction:aN,composer:aX})}},87693:(a,b,c)=>{c.d(b,{v7:()=>d.v7,DR:()=>d.DR,LP:()=>d.LP,XK:()=>d.XK,pL:()=>d.pL,GE:()=>d.GE,Ue:()=>d.Ue,aq:()=>d.aq,hN:()=>d.hN,kC:()=>d.kC,xU:()=>ak,bZ:()=>al,W8:()=>d.W8,W5:()=>aE,BS:()=>aG,_i:()=>aF,_C:()=>aH});var d=c(24455),e=c(31990),f=c(89253),g=c(34990),h=c(77244),i=c(75498),j=c(91318),k=c(32236),l=c(61878),m=c(16402),n=c(51607),o=c(52767),p=c(88807),q=c(52660),r=c(34331),s=c(63869),t=c(4803),u=c(79892),v=c(1363),w=c(8360),x=c(42422),y=c(85726),z=c(77093),A=c(93997),B=c(68901),C=c(11456),D=c(72626),E=c(66007),F=c(36925);let G=new Set(["mode-off","deny-pattern","deny-pattern-unusable","type-not-allowed"]),H="partial-answer",I="startup-trust-unhandled",J="question-confirm-page",K="no-hook-receipt";var L=c(52277),M=c(27675);let N=(0,D.h)("auto-yes-poller");function O(a){let b="multiple_choice"===a.type?a.options.map(a=>`${a.isDefault?">":""}${a.number}.${a.label}`).join("\n"):"";return[(0,y.J)(a),b,a.approvalTarget??""].join("\0")}function P(a,b,c,d){let e=`${c}\u0000${b}`;if(a.lastSkipWarnKey===e)return void N.debug(c,{...d,repeated:!0});a.lastSkipWarnKey=e,N.warn(c,d)}let Q=(0,F.v)("__autoYesPartialAnswers",()=>new Map);function R(a,b){for(let c of(Q.delete(a),[...S]))c.recordKey===a&&(void 0===b||c.screenKey===b)&&V(c)}let S=(0,F.v)("__autoYesSendAttempts",()=>new Set),T=(0,F.v)("__autoYesSendAttemptSeq",()=>({last:0}));function U(a,b,c=Date.now()){if("pending"!==a.state||(a.state="settled",S.delete(a),!b||(0,M.cr)(a.recordKey)!==a.recordEpoch))return;let d=Q.get(a.recordKey);void 0!==d&&d.epoch===a.recordEpoch&&d.seq>a.seq||Q.set(a.recordKey,{screenKey:a.screenKey,epoch:a.recordEpoch,at:c,seq:a.seq})}function V(a){"pending"===a.state&&(a.state="expired"),S.delete(a)}var W=c(69082),X=c(71188),Y=c(83406),Z=c(76877),$=c(48217),_=c(40964),aa=c(90706),ab=c(93923);function ac(a,b,c,d,e){let{worktreeId:f,cliToolId:g,instanceId:h}=a;(0,L.ZS)(f,g,h,b),P(a.pollerState,c,d,{worktreeId:f,cliToolId:g,instanceId:h,...e})}function ad(a){return a.length>500?`${a.slice(0,500)}…`:a}function ae(a,b){let c;try{c=(0,_.mf)(a,b.worktreeId,b.instanceId)}catch{return!1}return(0,$.mN)(c)||(0,$.to)(c)}function af(a,b){let{promptData:c,frameKey:d}=a;ac(a,{reason:"unclassified-frame",mode:null,promptType:c.type},`${d}\u0000${b.dialog?.kind??""}\u0000${b.mode}`,"poller:auto-yes-skipped-unclassified-frame",{promptType:c.type,dialogKind:b.dialog?.kind??null,answerMode:b.dialog?.answerMode??null,gateMode:b.mode})}let ag=(0,D.h)("auto-yes-poller"),ah=(0,F.v)("__autoYesPollerStates",()=>new Map),ai=(0,F.v)("__autoYesWithheldNoReceiptLoggedAt",()=>new Map);function aj(a){return ah.get(a)}function ak(a){let b=aj(a);return b?.lastServerResponseTimestamp??null}function al(a){return ah.has(a)}function am(a,b){let c=ao(a,b);c&&(c.consecutiveErrors=0,c.currentInterval=d.ps)}function an(a,b){let c=ao(a,b);if(c&&(c.consecutiveErrors++,c.currentInterval=(0,d.G)(c.consecutiveErrors),c.consecutiveErrors>=B.ul)){let b=(0,d.Ue)(a),c=(0,d.pL)(a);c&&(0,d.XK)(b,c,"consecutive_errors",(0,d.GE)(a)??void 0),aF(a,"consecutive-errors")}}function ao(a,b){let c=aj(a);if(void 0===b||c===b)return c}function ap(a){return aj(a.compositeKey)===a.pollerState}function aq(a){if(!ap(a))return!1;let b=(0,d.aq)(a.worktreeId,a.cliToolId,a.instanceId);return b===a.grant&&!!b.enabled&&ar(a)}function ar(a){return(0,n.cr)(a.compositeKey)===a.sessionEpoch}function as(a){ag.debug("poller:auto-yes-tick-superseded",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,pollerCurrent:ap(a)}),ap(a)&&aB(a)}async function at(a,b,c,d){let f=c??B.FW,g=await (0,e.Wh)(a,b,f,d);return{raw:g,clean:(0,x._A)((0,x.aJ)(g))}}function au(a,b,c,d=!1,e){"antigravity"===a&&(0,g.A0)(b,c,Date.now(),{interrupted:d,...void 0!==e?{forReceiptAt:e}:{}})}function av(a,b,c){return"antigravity"===a?(0,g.jm)(b,c):null}async function aw(a,b,c,d,g){let{worktreeId:h,cliToolId:o,instanceId:p,pollerState:q,promptData:s,frameKey:v}=a,y=null===c.dialog?(0,n.gp)(o,d):null;if(null===y||!y.eligible)return q.enterFallbackCandidateKey=null,af(a,c),!1;let z=(0,n.GR)(s);if(q.enterFallbackSentKey===v)return q.enterFallbackCandidateKey=null,(0,n.gq)(h,o,p,z),af(a,c),P(q,`${v}\u0000enter-fallback-no-effect`,"poller:auto-yes-enter-fallback-no-effect",{worktreeId:h,cliToolId:o,instanceId:p,promptType:s.type,refusalReason:y.refusalReason}),!1;let B=(0,j.n)(h,o,p),C=(0,i.sD)(s,B);if(C.suppressedBy)return q.enterFallbackCandidateKey=null,ac(a,{reason:C.suppressedBy,mode:B?.mode??null,promptType:s.type,pattern:C.pattern},`${v}\u0000${C.suppressedBy}\u0000${B?.mode??""}\u0000${C.pattern??""}`,"poller:auto-yes-suppressed-by-policy",{reason:C.suppressedBy,mode:B?.mode??null,pattern:C.pattern,promptType:s.type,enterFallback:!0}),!1;if(null===C.answer||"multiple_choice"===s.type&&(0,t.eM)(s))return q.enterFallbackCandidateKey=null,af(a,c),!1;if(q.enterFallbackCandidateKey!==v)return q.enterFallbackCandidateKey=v,ag.debug("poller:auto-yes-enter-fallback-candidate",{worktreeId:h,cliToolId:o,instanceId:p,promptType:s.type}),!1;let D=w.CLIToolManager.getInstance().getTool(o).getSessionName(h,p),E=await (0,r.L)(h,D);if(void 0!==g&&!aq(g))return!1;if(null===E||"foreign"===E.verdict)return P(q,`${v}\u0000${D}\u0000${E?"foreign":"worktree_not_found"}`,"poller:auto-yes-skipped-foreign-session",{worktreeId:h,cliToolId:o,instanceId:p,sessionName:D,sessionPath:E?.sessionPath??null,reason:E?"foreign":"worktree_not_found",enterFallback:!0}),!1;let F=await (0,e.WD)(h,o,(d??"").split("\n").length,p);if(void 0!==g&&!aq(g))return!1;if(!function(a,b){let{worktreeId:c,cliToolId:d,instanceId:e,frameKey:g}=a,h=(0,x._A)((0,x.aJ)(b)),i=(0,l.zJ)(b,d),j=(0,f.$M)(h,d,h.split("\n"),b,{worktreeId:c,instanceId:e},i);if(!j.isPrompt||!j.promptData||O(j.promptData)!==g||"codex"===d&&((0,x.E6)(i)||(0,k.AD)(i)))return!1;let o=(0,m.r_)(d,j.promptData.type,i);return!o.allowed&&null===o.dialog&&(0,n.gp)(d,b).eligible}(a,F))return q.enterFallbackCandidateKey=null,ag.debug("poller:auto-yes-enter-fallback-fresh-frame-differs",{worktreeId:h,cliToolId:o,instanceId:p,promptType:s.type}),!1;let G=av(o,h,p);try{await (0,u.KB)(D,["Enter"])}catch(a){throw au(o,h,p,!0,G),a}finally{(0,A.gm)(D)}return au(o,h,p,!1,G),(void 0===g||ap(g)&&ar(g))&&(q.enterFallbackSentKey=v,q.enterFallbackCandidateKey=null,(0,n.Wl)(h,o,p,{promptType:s.type,refusalReason:y.refusalReason,screenKey:z,...void 0!==g?{epoch:g.sessionEpoch}:{}})),ag.info("poller:auto-yes-enter-fallback-sent",{worktreeId:h,cliToolId:o,instanceId:p,promptType:s.type,refusalReason:y.refusalReason,composerState:y.composerState}),await ax(a,b,"[Enter]",g),!0}async function ax(a,b,d,e){let{worktreeId:f,cliToolId:g,instanceId:h,compositeKey:i,pollerState:j,promptData:k,promptKey:l}=a,m=void 0===e||ar(e);m&&(!function(a,b,c){let d=ao(a,c);d&&(d.lastServerResponseTimestamp=b)}(i,Date.now(),e?.pollerState),am(i,e?.pollerState),j.lastAnsweredPromptKey=l,j.lastAnsweredAt=Date.now(),j.lastSkipWarnKey=null),ag.info("poller:response-sent",{worktreeId:f,cliToolId:g,instanceId:h,sameSession:m,promptType:k.type,question:ad(k.question),answer:d}),m&&(0,o.r)((0,p.getDbInstance)(),f,g,h??g,"prompt_answered_auto",{promptType:k.type});let n=null;try{n=(0,q.recordAnsweredPrompt)((0,p.getDbInstance)(),{worktreeId:f,cliToolId:g,instanceId:h??g,promptData:k,answer:d,answeredBy:"auto",content:b.rawContent||b.cleanContent,...m?{}:{pendingSavedAtOrBefore:e.startedAt}})}catch(a){ag.warn("poller:prompt-audit-record-failed",{worktreeId:f,cliToolId:g,instanceId:h,error:(0,z.u1)(a)})}if(n){let a=n;Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:b})=>{b(a.created?"message":"message_updated",{worktreeId:f,message:a.message})}).catch(()=>{})}let[{startPolling:r},{broadcastTerminalSnapshotAfterInteraction:s}]=await Promise.all([c.e(2839).then(c.bind(c,95220)),Promise.resolve().then(c.bind(c,99508))]);m&&(void 0===e||ar(e))&&(r(f,g,h),s(f,g,h))}async function ay(a,b,c,e,o,p,q,t){let u=(0,d.v7)(a,c,p),v=null,z=!1,B=null;try{var C;let D=(0,n.cr)(u);(b.enterFallbackEpoch??0)!==D&&(b.enterFallbackSentKey=null,b.enterFallbackCandidateKey=null,b.enterFallbackEpoch=D);let E=(0,l.zJ)(q??e,c);"antigravity"===c&&(0,g.ls)(a,p);let F=(0,f.$M)(e,c,o,q,{worktreeId:a,instanceId:p},E);if("antigravity"===c&&(0,g.T1)(a,p),!F.isPrompt||!F.promptData){if(R(u),b.lastAnsweredPromptKey=null,b.lastAnsweredAt=null,b.enterFallbackCandidateKey=null,"antigravity"===c&&(C=w.CLIToolManager.getInstance().getTool(c).getSessionName(a,p),(0,W.VI)(E.lastLines)&&(!(!(0,Y.Ug)(C)||(0,Y.Dc)(C))||((0,L.ZS)(a,"antigravity",p,{reason:I,mode:null,promptType:"multiple_choice"}),P(b,"antigravity-startup-trust","poller:auto-yes-skipped-startup-trust",{worktreeId:a,cliToolId:"antigravity",instanceId:p,reason:I}),1))))return"no_prompt";return b.lastSkipWarnKey=null,"antigravity"!==c||F.isPrompt||function(a,b,c,d){let e=(0,g.mH)(a,b);if(e?.ok)return;let f=Date.now(),k=d();if(!k.isPrompt||!k.promptData||(e??=(0,g.Bf)(a,b,f)).ok)return;let{policy:l,taskId:m}=(0,j.d8)(a,"antigravity",b),n=(0,i.sD)(k.promptData,l),o=function(a,b,c,d){if("answered"!==c.cause&&"outlived"!==c.cause)return!1;let e=(0,L.gb)(a,"antigravity",b);if(null===e||e.reason===K||!(e.at>=c.firstSeenAt))return!1;if(e.reason===H){let{at:c,...d}=e;return(0,L.ZS)(a,"antigravity",b,d),!0}return G.has(e.reason)&&!d.suppressedBy&&(0,L.FA)(a,"antigravity",b),!1}(a,b,e,n);if(n.suppressedBy&&!o&&(0,L.ZS)(a,"antigravity",b,{reason:n.suppressedBy,mode:l?.mode??null,promptType:k.promptData.type,...void 0!==n.pattern?{pattern:n.pattern}:{}}),!n.suppressedBy&&("answered"===e.cause||o))return;let p=ai.get(c),q=void 0===p||f-p>=6e4;if(q){for(let[a,b]of ai)f-b>=6e4&&ai.delete(a);ai.set(c,f)}if(n.suppressedBy){if(!q)return;ag.info("antigravity-autoyes-withheld-by-policy",{worktreeId:a,instanceId:b??"antigravity",reason:n.suppressedBy,mode:l?.mode??null,taskId:m,hint:"契約の autoYes が答えを止めている。契約の autoYes を確認"});return}(0,L.ZS)(a,"antigravity",b,{reason:K,mode:null,promptType:k.promptData.type}),q&&ag.info("antigravity-autoyes-withheld-no-hook-receipt",{worktreeId:a,instanceId:b??"antigravity",windowMs:h.Wo,hint:function(a,b=Date.now()){let c=null===a.ageMs?null:Math.round(a.ageMs/1e3),d=null===a.lastReceiptAt?null:Math.round((b-a.lastReceiptAt)/1e3);switch(a.cause){case"never":return"hook の受信が一度も無いため Auto-Yes は答えなかった。~/.gemini/config/hooks.json の向き先(#2622)を確認";case"late":return`最後の受信から ${c} 秒後に確認が出た(窓 ${h.Wo/1e3} 秒の外)ため答えなかった。人が答える(auto-yes --disable → prompt --json → respond --expect-screen)。続くなら ~/.gemini/config/hooks.json の向き先(#2622)も確認`;case"lapsed":return`最後の受信は ${d} 秒前で途絶えている(hook が届かなくなった)。hooks.json の向き先(#2622)と agy の再起動を確認`;case"predates":return"確認は最後の受信より前から画面に出ていた(引用か別の確認)ため答えなかった。人が答える";case"used":return"最後の受信は直前の確認に使い済み。この確認に対する受信は無いため答えなかった。人が答える";case"outlived":if(!0===a.answerInterrupted)return`Auto-Yes が最後の受信の確認へ答えを送る途中で送信が止まり(キーの一部が入力に残っている可能性がある)、${g.O3/1e3} 秒を過ぎても確認が画面に残っている。未使用の受信が無いため、もう一度は答えない。人が答える(auto-yes --disable → prompt --json → respond --expect-screen)`;return`Auto-Yes が最後の受信の確認へキーを送ってから ${g.O3/1e3} 秒を過ぎても、確認が画面に残っている。キーで確認が閉じなかったか、新しい受信の無い別の確認と入れ替わった(画面からは区別できない)。未使用の受信が無いため、もう一度は答えない。人が答える(auto-yes --disable → prompt --json → respond --expect-screen)`;default:return"hook の受信記録が直近に無いため Auto-Yes は答えなかった。~/.gemini/config/hooks.json の向き先(#2622)を確認"}}(e,f)})}(a,p,u,()=>(0,f.$M)(e,c,o,q)),"no_prompt"}let M=(0,y.J)(F.promptData),N=O(F.promptData);if(b.lastAnsweredPromptKey===M&&null!==b.lastAnsweredAt&&Date.now()-b.lastAnsweredAt<d.UL)return"duplicate";let V={worktreeId:a,cliToolId:c,instanceId:p,compositeKey:u,pollerState:b,promptData:F.promptData,promptKey:M,frameKey:N},$=function(a){let b="multiple_choice"===a.type?a.options.map(a=>`${a.number}.${a.label}`).join("\n"):a.options.join("\n");return[(0,y.J)(a),b,(a.approvalTarget??"").split("\n").map(a=>a.replace(/^[\s\u276F\u203A>\u25B6\u25BA\u25CF\u25CB\u25C9\u2192]+/u,"")).join("\n")].join("\0")}(F.promptData),_=function(a,b){let c=Q.get(a);return c?c.epoch!==b?(Q.delete(a),null):c:null}(u,D);if(null!==_){if(_.screenKey===$)return ac(V,{reason:H,mode:null,promptType:F.promptData.type},`${N}\u0000partial-answer`,"poller:auto-yes-skipped-partial-answer",{promptType:F.promptData.type,stoppedAt:_.at}),"no_answer";R(u,_.screenKey)}if(function(a,b,c){for(let d of S)if(d.moved&&d.recordKey===a&&d.recordEpoch===b&&d.screenKey===c)return!0;return!1}(u,D,$))return P(b,`${N}\u0000moved-send-in-flight`,"poller:auto-yes-skipped-moved-send-in-flight",{worktreeId:a,cliToolId:c,instanceId:p,promptType:F.promptData.type}),"no_answer";let af=function(a,b){let{cliToolId:c,promptData:d,frameKey:e}=a,f="codex"===c?(0,x.E6)(b):"gemini"===c&&function(a,b){let{promptData:c}=a;if("multiple_choice"!==c.type||!function(a){if("multiple_choice"!==a.type)return!1;let{optionRow:b,minOptionRows:c}=Z.g1;return a.options.filter(a=>b.test(`${a.number}. ${a.label}`)).length>=c}(c))return!1;if(ae("gemini",a))return!0;let d=c.options.find(a=>a.isDefault);return!(void 0!==d&&Z.g1.safeRow.test(`${d.number}. ${d.label}`))||!!(0,Z.O5)(Z.g1,b.clean)&&(!(0,Z.yN)(Z.g1,b.clean)||"press"!==(0,Z.CZ)(Z.g1,b.clean).action)}(a,b)?Z.g1.id:"copilot"===c&&function(a,b){let{promptData:c}=a;if("multiple_choice"!==c.type||!X.Ki.every(a=>b.clean.includes(a))||c.options.filter(a=>X.rc.test(a.label)).length<2)return!1;if(ae("copilot",a))return!0;let d=c.options.find(a=>a.isDefault);return!(d?.number===1&&"Yes"===d.label&&(0,X.Rx)(b.clean))}(a,b)?"copilot-folder-trust":null;if(f)return ac(a,{reason:"agent-launch-dialog",mode:null,promptType:d.type},`${e}\u0000${f}`,"poller:auto-yes-skipped-launch-dialog",{dialog:f,promptType:d.type}),{kind:"left-alone"};if("codex"===c&&(0,k.AD)(b))return ac(a,{reason:"unclassified-frame",mode:null,promptType:d.type},`${e}\u0000codex-model-picker`,"poller:auto-yes-skipped-model-picker",{promptType:d.type}),{kind:"left-alone"};if(b.raw&&("command-code"===c?(0,aa.Iu)(b.raw):"claude"===c&&(0,ab.mB)(b)))return ac(a,{reason:J,mode:null,promptType:d.type},`${e}\u0000question-confirm-page`,"poller:auto-yes-skipped-question-confirm",{reason:J,promptType:d.type,question:ad(d.question),options:"multiple_choice"===d.type?d.options.map(a=>`${a.number}. ${a.label}`):[...d.options]}),{kind:"left-alone"};let g=(0,m.r_)(c,d.type,b);return g.allowed?{kind:"ours"}:{kind:"dialog-gate-refused",dialogGate:g}}(V,E);if("dialog-gate-refused"!==af.kind&&(b.enterFallbackCandidateKey=null),"left-alone"===af.kind)return"no_answer";if("dialog-gate-refused"===af.kind){if(!await aw(V,F,af.dialogGate,q,t))return"no_answer";return"responded"}let ah=(0,j.n)(a,c,p),aj=(0,i.sD)(F.promptData,ah);aj.suppressedBy&&ac(V,{reason:aj.suppressedBy,mode:ah?.mode??null,promptType:F.promptData.type,pattern:aj.pattern},`${N}\u0000${aj.suppressedBy}\u0000${ah?.mode??""}\u0000${aj.pattern??""}`,"poller:auto-yes-suppressed-by-policy",{reason:aj.suppressedBy,mode:ah?.mode??null,pattern:aj.pattern,promptType:F.promptData.type});let ak=aj.answer;if(null===ak)return"no_answer";let al=w.CLIToolManager.getInstance().getTool(c).getSessionName(a,p),am=await (0,r.L)(a,al);if(void 0!==t&&!aq(t))return"no_answer";if(null===am||"foreign"===am.verdict)return P(b,`${N}\u0000${al}\u0000${am?"foreign":"worktree_not_found"}`,"poller:auto-yes-skipped-foreign-session",{worktreeId:a,cliToolId:c,instanceId:p,sessionName:al,sessionPath:am?.sessionPath??null,reason:am?"foreign":"worktree_not_found"}),"no_answer";v=function(a,b,c){let d={seq:++T.last,screenKey:b,recordKey:a,recordEpoch:c,moved:!1,state:"pending"};return S.add(d),d}(u,$,t?.sessionEpoch??D),B=av(c,a,p),z=!0;try{await (0,s.tV)({sessionName:al,answer:ak,cliToolId:c,promptData:F.promptData,...void 0!==t?{stillCurrent:()=>aq(t)}:{}})}finally{(0,A.gm)(al)}return z=!1,U(v,!1),au(c,a,p,!1,B),await ax(V,F,ak,t),"responded"}catch(b){if(void 0!==t&&!aq(t)){let d=b instanceof Error&&"keysSent"in b?!!b.keysSent:null;return null!==v&&U(v,!0===d),z&&au(c,a,p,!0,B),ag.info("poller:auto-yes-answer-abandoned",{worktreeId:a,cliToolId:c,instanceId:p,keysSent:d}),"no_answer"}return null!==v&&U(v,!1),z&&au(c,a,p,!0,B),an(u,t?.pollerState),ag.warn("poller:detect-respond-error",{worktreeId:a,cliToolId:c,instanceId:p}),"error"}}async function az(a,b,c,e){let f=(0,d.v7)(a,b,c),g=aj(f);if(void 0!==e&&g!==e||"valid"!==function(a,b){if(!b)return"stopped";let c=(0,d.Ue)(a),e=(0,d.pL)(a);if(!e)return aF(a,"invalid-key"),"expired";let f=(0,d.GE)(a)??void 0,g=(0,d.aq)(c,e,f);return g?.enabled?"valid":(aF(a,g?.stopReason==="expired"?"expired":"not-enabled"),"expired")}(f,g))return;let h=(0,d.aq)(a,b,c);if(!h?.enabled)return;let i={compositeKey:f,worktreeId:a,cliToolId:b,instanceId:c,pollerState:g,grant:h,sessionEpoch:(0,n.cr)(f),startedAt:Date.now()};void 0!==g.sessionWaitTickAt&&(g.sessionWaitTickRanAt=i.startedAt);try{let e=h.stopPattern?B.FW:B.Ke,{raw:j,clean:k}=await at(a,b,e,c);if(!aq(i))return void as(i);g.waitingForSession&&(g.waitingForSession=!1,g.sessionAppearedAt=i.startedAt,ag.info("poller:session-appeared",{worktreeId:a,cliToolId:b,instanceId:c}));let l=k.split("\n");if(function(a,b,c){if(b.stopCheckBaselineLength<0)return b.stopCheckBaselineLength=c.length,!1;let e=b.stopCheckBaselineLength;if(c.length>e){let f=c.substring(e);return b.stopCheckBaselineLength=c.length,(0,d.Cs)(a,f,a=>aF(a,"stop-pattern"))}return c.length<e&&(b.stopCheckBaselineLength=c.length),!1}(f,g,k))return;let m=await ay(a,g,b,k,l,c,j,i);if(!aq(i))return void as(i);if("error"!==m&&am(f,i.pollerState),"responded"===m)return void aB(i,d.ZO);if("no_prompt"===m){let a=l.slice(-d.Re).join("\n");if((0,x.ut)(b,a))return void aB(i,B.QN)}}catch(h){let e=await aA(a,b,c);if(!aq(i))return void as(i);if(e){g.waitingForSession||(g.waitingForSession=!0,ag.info("poller:waiting-for-session",{worktreeId:a,cliToolId:b,instanceId:c})),aB(i,d.BT,{sessionWait:!0});return}an(f,i.pollerState),ag.warn("poller:poll-error",{worktreeId:a,cliToolId:b,instanceId:c,error:(0,z.u1)(h)})}aB(i)}async function aA(a,b,c){try{return await (0,e.Qj)(a,b,c)==="absent"}catch{return!1}}function aB(a,b,c={}){if(!ap(a))return;let{worktreeId:e,cliToolId:f,instanceId:g,pollerState:h}=a,i=Math.max(b??h.currentInterval,d.ps);h.sessionWaitTickAt=!0===c.sessionWait?Date.now()+i:void 0,aD(a.compositeKey);let j=setTimeout(()=>{aD(a.compositeKey,j),az(e,f,g,h)},i);h.timerId=j,!0===c.sessionWait&&function(a,b){let{compositeKey:c,worktreeId:e,cliToolId:f,instanceId:g,pollerState:h}=a,i=w.CLIToolManager.getInstance().getTool(f).getSessionName(e,g),j=(0,v.GJ)(i,()=>{let i=aC.get(c);void 0!==i&&i.timerId===b&&(aC.delete(c),ap(a)&&h.timerId===b&&(clearTimeout(b),ag.info("poller:session-created-wake",{worktreeId:e,cliToolId:f,instanceId:g}),aB(a,d.ps,{sessionWait:!0})))});aC.set(c,{timerId:b,unsubscribe:j})}(a,j)}let aC=(0,F.v)("__autoYesSessionWaitWakes",()=>new Map);function aD(a,b){let c=aC.get(a);void 0!==c&&(void 0===b||c.timerId===b)&&(aC.delete(a),c.unsubscribe())}function aE(a,b,c){if(!(0,E.h6)(a))return{started:!1,reason:"invalid worktree ID"};let e=c??b;if((0,d.eK)())return{started:!1,reason:"server shutting down"};let f=(0,d.aq)(a,b,e);if(!f?.enabled)return{started:!1,reason:"auto-yes not enabled"};let g=(0,d.v7)(a,b,e),h=aj(g);if(!h&&ah.size>=d.fC)return{started:!1,reason:"max concurrent pollers reached"};if(h&&h.cliToolId===b)return{started:!0,reason:"already_running"};h&&aF(g,"replaced");let i={timerId:null,cliToolId:b,instanceId:e,consecutiveErrors:0,currentInterval:d.ps,lastServerResponseTimestamp:null,lastAnsweredPromptKey:null,lastAnsweredAt:null,stopCheckBaselineLength:-1,lastSkipWarnKey:null};return ah.set(g,i),(0,j.ie)(g),i.timerId=setTimeout(()=>{az(a,b,e,i)},d.ps),ag.info("poller:started",{worktreeId:a,cliToolId:b,instanceId:e}),{started:!0}}function aF(a,b){(0,n.MR)(a);let c=aj(a);c&&(c.timerId&&clearTimeout(c.timerId),aD(a),ah.delete(a),(0,j.ie)(a),ag.info("poller:stopped",{compositeKey:a,reason:(0,C.p)(b,"unspecified")}))}function aG(){let a=(0,C.p)(void 0,"shutdown");for(let[b,c]of ah.entries())c.timerId&&clearTimeout(c.timerId),aD(b),(0,j.ie)(b),ag.info("poller:stopped",{compositeKey:b,reason:a});for(let a of(ah.clear(),(0,n.NR)(),Q.clear(),[...S]))V(a)}function aH(a,b){(0,d._9)(Array.from(ah.keys()),a).forEach(a=>aF(a,b?.reason)),(0,n.vR)(a),b?.keepPartialAnswers||function(a){for(let b of(0,d._9)([...Q.keys()],a))Q.delete(b);let b=new Set((0,d._9)([...S].map(a=>a.recordKey),a));for(let a of[...S])b.has(a.recordKey)&&V(a)}(a)}},89253:(a,b,c)=>{c.d(b,{zX:()=>ah,$M:()=>aa,Tq:()=>B.Tq});var d=c(31990),e=c(88807),f=c(56791),g=c(43015),h=c(26895),i=c(28861),j=c(61878),k=c(70605),l=c(96742),m=c(18778),n=c(15194),o=c(8988),p=c(42422),q=c(72626),r=c(46423),s=c(93997),t=c(60),u=c(82450),v=c(56263),w=c(13033),x=c(72457),y=c(44321),z=c(71080),A=c(28918),B=c(28480),C=c(43925),D=c(40964),E=c(83598),F=c(31442),G=c(45146),H=c(85038),I=c(91601),J=c(92010),K=c(81099),L=c(63209),M=c(73478),N=c(57836),O=c(52767);function P(a){return{response:"",isComplete:!1,lineCount:a}}function Q(a,b,c,d,e,f,g,h=!1){let i=(0,t.QM)(b,c,d,e,f,h),j=a.slice(i);return{response:(0,p.aJ)(j.join("\n")),isComplete:!0,lineCount:c,promptDetection:g,bufferReset:d,captureWindowSaturated:h}}var R=c(34990),S=c(16402);let T=(0,q.h)("response-poller");function U(a){return void 0!==a&&!(0,R.Bf)(a.worktreeId,a.instanceId).ok&&(T.debug("antigravity-dialog-no-recent-receipt",{worktreeId:a.worktreeId,instanceId:a.instanceId??"antigravity"}),!0)}function V(a,b,c){let d=(0,S.vm)(a,b.promptData?.type,c);return!!d.present||(T.debug("prompt-candidate-not-vouched",{cliToolId:a,promptType:b.promptData?.type,gateMode:d.mode}),!1)}var W=c(96486);let X=["Waiting for auth","⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],Y=(0,q.h)("response-poller");function Z(a,b,c,d){let{cliToolId:e,lines:f,lastCapturedLine:g,bufferReset:h,captureWindowSaturated:i}=b;return e===a&&c&&!i&&(0,W.K)(e,f)?((h||d>g)&&Y.info(`${a} startup screen suppressed, response not saved`,{responseLength:c.length,lineCount:d}),{response:"",isComplete:!0,lineCount:d,bufferReset:h,captureWindowSaturated:i}):null}let $=(0,q.h)("response-poller");function _(a){return b=>{try{(0,g.broadcastMessage)("message_updated",{worktreeId:a,message:b})}catch(b){$.warn("prompt-sweep-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})}}}function aa(a,b,c,d,e,f){if("antigravity"===b){let b=(0,i.g8)(a);if(null!==b)return U(e)?{isPrompt:!1,cleanContent:a.trim()}:b;if((0,i.Ye)(a))return{isPrompt:!1,cleanContent:a.trim()}}if("command-code"===b&&void 0!==d){let b=(0,l.nK)(d);if("prompt"===b.kind)return b.prompt;if("unsupported"===b.kind)return{isPrompt:!1,cleanContent:a.trim()}}let g=(0,p.KO)(b),m=(0,h.gF)(a,c?{...g,precomputedLines:c}:g);if(m.isPrompt){let c=void 0!==f?(0,j.Yc)(f,b):(0,j.zJ)(d??a,b).liveRegion;if((0,k.z8)(c,m))return{isPrompt:!1,cleanContent:a.trim()}}return"antigravity"===b&&m.isPrompt&&U(e)?{isPrompt:!1,cleanContent:a.trim()}:m}function ab(a,b){return aa((0,p._A)((0,p.aJ)(a)),b,void 0,a)}function ac(a,b){if((0,H._B)(a.pollerKey))return!0;let c=(0,H.Bh)();return void 0!==c&&ad.has(c)||(c&&ad.add(c),$.info("retired-tick-refused",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.resolvedInstanceId,generation:c?.generation,after:b})),!1}(0,M.I7)();let ad=new WeakSet;async function ae(a,b,c){let{db:d,worktree:e,worktreeId:g,cliToolId:h,instanceId:i,resolvedInstanceId:j,pollerKey:k}=a;if(!ac(a,"capture"))return!1;let l=(0,z.o_)(k);if(l.log&&$.info("duplicate-response-skipped",{worktreeId:g,cliToolId:h,instanceId:j,...l.consecutive>1?{consecutive:l.consecutive,suppressed:l.suppressed}:{}}),(0,f.updateSessionState)(d,g,h,b.lineCount,j),(0,z.pN)(k)){let b=await (0,A.captureStructuredHistoryTurn)(g,h,i,{worktreePath:e.path,transcriptPathHint:c?.logFilePath??null});if(!ac(a,"recheck-reader"))return b;if(b)return(0,z.oE)(k),(0,B.t1)(k),$.info("structured-history-recheck-captured",{worktreeId:g,cliToolId:h,instanceId:j}),!0}return!1}function af(a,b,c,d){let{db:e,worktree:h,worktreeId:i,cliToolId:j,resolvedInstanceId:k,pollerKey:l}=a,{structuredHistoryLive:m,suppressScrapedHistory:n,holdScrapedHistory:o}=d;if(o)(0,B.r4)(l,{worktreeId:i,cliToolId:j,instanceId:k,content:b,timestamp:new Date,summary:c?.summary,logFileName:c?.logFileName,requestId:c?.requestId,worktreePath:h.path,transcriptPathHint:c?.logFilePath??null,expiresAt:Date.now()+B.mQ})&&($.info("structured-history-scrape-held",{worktreeId:i,cliToolId:j,instanceId:k,scrapedLength:b.length,holdMs:B.mQ}),(0,C.vQ)(i,j,k,!1));else if(n||(0,H._B)(l))if(n)m&&(0,B.t1)(l),$.info("structured-history-scrape-suppressed",{worktreeId:i,cliToolId:j,instanceId:k,scrapedLength:b.length,reason:m?"structured-history":"geometry-delegated"});else{let a=(0,f.createMessage)(e,{worktreeId:i,role:"assistant",content:b,messageType:"normal",timestamp:new Date,cliToolId:j,instanceId:k,summary:c?.summary,logFileName:c?.logFileName,requestId:c?.requestId});(0,g.broadcastMessage)("message",{worktreeId:i,message:a}),(0,C.vQ)(i,j,k,!1)}else $.info("scraped-response-save-refused",{worktreeId:i,cliToolId:j,instanceId:k,generation:(0,H.Bh)()?.generation})}async function ag(a,b,c,d,e){let{db:g,worktree:h,worktreeId:i,cliToolId:j,instanceId:k,resolvedInstanceId:l,pollerKey:n}=a,{result:o,isFullScreenTui:p,lineCountIsCursor:q}=b,r={},s=(0,A.isStructuredHistoryWriterLive)(i,j,k)||await (0,A.captureStructuredHistoryTurn)(i,j,k,{worktreePath:h.path,transcriptPathHint:c?.logFilePath??null},r);ac(a,"reader")&&(s?(0,z.oE)(n):(0,z.Pe)(n));let t=s||e.delegated,u=!t&&"not_yet_closed"===r.outcome;if(!d||t||u||await (0,m.T)(g,i,d,j,{pollerKey:n}),!ac(a,"conversation-log"))return af(a,d,c,{structuredHistoryLive:s,suppressScrapedHistory:t,holdScrapedHistory:u}),!1;(0,f.markPendingPromptsAsAnswered)(g,i,j,l,_(i))>0&&$.info("marked-answeredcount-pending");let v=(0,f.getSessionState)(g,i,l);return q&&v&&o.lineCount<=v.lastCapturedLine?($.info("race-condition-detected-skipping-save-re"),!1):(af(a,d,c,{structuredHistoryLive:s,suppressScrapedHistory:t,holdScrapedHistory:u}),(0,N.hd)({worktreeId:i,cliToolId:j,instanceId:k,waiting:!1}),(0,I.J$)({worktreeId:i,worktreeName:h.name,kind:"completion",agentName:l,excerpt:d}).catch(()=>{}),(0,f.updateSessionState)(g,i,j,o.lineCount,l),p&&(0,G.Et)(i,j,k),!0)}async function ah(a,b,c){let h=(0,e.getDbInstance)(),i=c??b;try{let e=(0,f.getWorktreeById)(h,a);if(!e)return $.error("worktree-not-found"),(0,G.Et)(a,b,c),!1;let j=(0,G.MN)(a,b,c),k={db:h,worktree:e,worktreeId:a,cliToolId:b,instanceId:c,resolvedInstanceId:i,pollerKey:j},l=await (0,d.K1)(a,b,c);if(!ac(k,"session-check"))return!1;if(!l)return $.info("session-not-running"),(0,G.Et)(a,b,c),!1;if(await (0,B.vb)(j),!ac(k,"pending-scrape-settle"))return!1;let m=(0,D.mf)(b,a,c),q=(0,F.n9)(m)?await (0,E.zQ)(m):{delegated:!1,released:!1};if(!ac(k,"geometry-probe"))return!1;q.released&&((0,f.updateSessionState)(h,a,b,0,i),$.info("geometry-delegation-released",{worktreeId:a,cliToolId:b,instanceId:i}));let A=(0,f.getSessionState)(h,a,i),C=A?.lastCapturedLine||0,M=await (0,d.Wh)(a,b,s.xE,c),R=ac(k,"capture"),S=function(a,b,c,d){let{db:e,worktreeId:g,cliToolId:h,instanceId:i,resolvedInstanceId:j,pollerKey:k}=a;if(d&&function(a,b,c,d){let e=d.split("\n").slice(-100).join("\n"),f=(0,L.bT)(e);(0,K.notifyUpstreamFaultPush)({worktreeId:a,cliToolId:b,instanceId:c,faultId:f?.fault.id??null,matchedText:f?.matchedText}).catch(()=>{})}(g,h,i,b),d&&("opencode"===h||"copilot"===h)){let a="opencode"===h?(0,t.ZX)(b):b;(0,w.IZ)(k,a,h)}let l=function(a,b,c,d=s.xE){let e=a.split("\n"),f=e.length;for(;f>0&&""===e[f-1].trim();)f--;let g=e.slice(0,f),h=g.length,i=(0,s.sl)(e.length,d),j="opencode"===c?g.map(p.aJ):null,k="claude"===c?(0,p.GT)(g):"copilot"===c?(0,p.wv)(g):"command-code"===c?(0,p.I$)(g):"codex"===c?(0,p.Zu)(g):j?(0,p.x7)(j):-1,l=k>=0?k:h,m=h>0&&b>25&&h+25<b,n=h>0&&b>50&&h<50,o=m||n;if(!o&&h<b-5)return null;let q=Math.max(0,h-20),u=g.slice(q),v=j?j.join("\n"):u.join("\n"),{promptPattern:w,separatorPattern:x,thinkingPattern:y,skipPatterns:z}=(0,p._X)(c),A=(a=60)=>(function(a,b,c,d,e,f){let g;if("codex"===a)return(0,p.Nc)(b,e,f,d>=0);if(c)return(0,t.V0)(c).echoEnd;if("copilot"===a){for(let a=e-1;a>=Math.max(0,e-f);a--){if(!p.y.test((0,p.aJ)(b[a])))continue;let c=a;for(;c+1<e&&p.Fg.test((0,p.aJ)(b[c+1]));)c++;return c}return -1}g=/^[>❯]\s+\S/;for(let a=e-1;a>=Math.max(0,e-f);a--){let c=(0,p.aJ)(b[a]);if(g.test(c))return a}return -1})(c,g,j,k,l,a);if("claude"===c||"codex"===c||"copilot"===c||"command-code"===c){let a=g.join("\n"),d=ab(a,c);if(d.isPrompt&&V(c,d,a))return Q(g,b,h,o,c,A,d,i)}let B={cliToolId:c,lines:g,totalLines:h,openCodeCleanLines:j,chromeStart:k,contentEnd:l,lastCapturedLine:b,bufferReset:o,captureWindowSaturated:i,checkLineCount:20,cleanOutputToCheck:(0,p.aJ)(v),promptPattern:w,separatorPattern:x,thinkingPattern:y,skipPatterns:z,findRecentUserPromptIndex:A};if(function(a){let{cliToolId:b,lines:c,totalLines:d,checkLineCount:e,cleanOutputToCheck:f,promptPattern:g,separatorPattern:h,thinkingPattern:i}=a,j=g.test(f),k=h.test(f),l="codex"===b?(0,p.DR)(c,e):i.test(f),m="copilot"===b?(0,p.Wn)(c.slice(Math.max(0,d-8)).map(p.aJ)):null,n="copilot"===b?"idle"===m:("codex"===b||"gemini"===b||"vibe-local"===b||"antigravity"===b)&&j&&!l,o="opencode"===b&&(0,t.bE)(f);return n||"claude"===b&&j&&k&&!l||"command-code"===b&&j&&k&&!l||o}(B))return function(a){let{cliToolId:b,totalLines:c,openCodeCleanLines:d,bufferReset:e,captureWindowSaturated:f,thinkingPattern:g,skipPatterns:h,findRecentUserPromptIndex:i}=a,{response:j,endIndex:k}=function(a){let{cliToolId:b,lines:c,totalLines:d,chromeStart:e,contentEnd:f,lastCapturedLine:g,bufferReset:h,captureWindowSaturated:i,skipPatterns:j,findRecentUserPromptIndex:k}=a,l=[],m=(0,t.QM)(g,d,h,b,k,i),n="codex"===b?f:d;for(let a=m;a<f;a++){let d=c[a],f=(0,p.aJ)(d);if("codex"===b&&/^›\s+/.test(f)||"gemini"===b&&/^(%|\$|.*@.*[%$#])\s*$/.test(f)||"antigravity"===b&&/^>\s*$/.test(f)||"opencode"===b&&e<0&&(p.sy.test(f)||p.uA.test(f))){n=a;break}j.some(a=>a.test(f))||l.push(d)}return{response:l.join("\n").trim(),endIndex:n}}(a),l=j.split("\n").slice(-r.$).join("\n");if("copilot"!==b&&g.test(l))return P(c);let m=function(a,b,c,d,e){if("claude"===a){let a=(0,p.aJ)(b),f=/[╭╮╰╯]/.test(a)||/░{3,}/.test(a)||/▓{3,}/.test(a),g=/Claude Code v\d+\.\d+|claude\//.test(a),h=/Tip:|for shortcuts|\?\s*for help/.test(a),i=/^\s*\/Users\/.*$/m.test(a)&&a.split("\n").length<30,j=e(c)>=0,k=a.match(/^[>❯]\s+(\S.*)$/m);if(k){let b=a.indexOf(k[0]);if(0===a.substring(b+k[0].length).trim().split("\n").filter(a=>{let b=a.trim();return b&&!d.some(a=>a.test(b))&&!/^─+$/.test(b)}).length)return P(c)}else if(!j&&(f||g||h||i)&&b.length<2e3)return Y.info("Claude startup banner suppressed, response not saved",{responseLength:b.length,hasBannerArt:f,hasVersionInfo:g,hasStartupTips:h,hasProjectInit:i}),P(c)}return null}(b,j,c,h,i)??function(a,b,c){if("copilot"===a){let a=(0,p.aJ)(b);if(!a.split("\n").some(a=>p.y.test(a))&&p.E0.some(b=>b.test(a)))return P(c)}return null}(b,j,c)??("command-code"===b&&0>i(c)?(Y.info("Command Code launch screen suppressed, response not saved",{responseLength:j.length}),P(c)):null)??function(a,b,c){if("gemini"===a&&((b.match(/[░█]/g)||[]).length>.3*b.length||X.some(a=>b.includes(a))||!b.includes("✦")&&b.length<10))return P(c);return null}(b,j,c)??Z("codex",a,j,k)??Z("vibe-local",a,j,k);return m||{response:j,isComplete:!0,lineCount:k,bufferReset:e,captureWindowSaturated:f,turnHeadTruncated:d?(0,t.V0)(d).headTruncated:void 0}}(B);if("opencode"!==c){let a=g.join("\n"),d=ab(a,c);if(d.isPrompt&&V(c,d,a))return Q(g,b,h,o,c,A,d,i)}return function(a){let{lines:b,totalLines:c,contentEnd:d,lastCapturedLine:e,bufferReset:f,captureWindowSaturated:g,skipPatterns:h,findRecentUserPromptIndex:i}=a,j=[],k=f||g||e>=c-5,l=k?i(80):-1,m=k?l>=0?l+1:Math.max(0,c-80):Math.max(0,e);for(let a=m;a<Math.min(c,d);a++){let c=b[a],d=(0,p.aJ)(c);h.some(a=>a.test(d))||j.push(c)}let n=j.join("\n").trim();return n?{response:n,isComplete:!1,lineCount:c}:P(c)}(B)}(b,c,h,s.xE);if(!l||!l.isComplete){d&&l&&((0,x.WR)(k),(0,z.fS)(k));let{thinkingPattern:a}=(0,p._X)(h),c=(0,p.aJ)(b).split("\n").slice(-r.$).join("\n");return d&&a.test(c)&&(0,f.markPendingPromptsAsAnswered)(e,g,h,j,_(g))>0&&$.info("marked-answeredcount-pending"),!1}let m="opencode"===h||"copilot"===h,o=!(0,n.VA)(h)&&!l.captureWindowSaturated;return(!o||!!l.bufferReset||l.lineCount!==c)&&(o&&!l.bufferReset&&l.lineCount<=c?($.debug("already-saved-up-to-last-captured-line",{worktreeId:g,cliToolId:h,instanceId:j,lineCount:l.lineCount,lastCapturedLine:c}),!1):{result:l,isFullScreenTui:m,lineCountIsCursor:o})}(k,M,C,R);if(!S)return!1;let{result:T,isFullScreenTui:U,lineCountIsCursor:W}=S,aa=T.promptDetection??ab(T.response,b);if(aa.isPrompt&&V(b,aa,M))return R&&(0,z.fS)(j),function(a,b,c,d){let{db:e,worktree:h,worktreeId:i,cliToolId:j,instanceId:k,resolvedInstanceId:l,pollerKey:m}=a;if(!(0,H._B)(m))return $.info("prompt-save-refused",{worktreeId:i,cliToolId:j,instanceId:l,generation:(0,H.Bh)()?.generation}),!1;let n=b.rawContent||b.cleanContent,o=(0,x.zm)(n,j);if((0,x.gv)(m,o)){(0,y.LN)(i,j,k);let a=(0,x.p6)(m);return a.log&&$.info("duplicate-prompt-skipped",{worktreeId:i,cliToolId:j,...a.consecutive>1?{consecutive:a.consecutive,suppressed:a.suppressed}:{}}),!1}let p=n;"copilot"===j&&(p=(0,u.LH)(n),p=(0,u.Sj)(p,v.Rf,v.ky)),(0,f.clearInProgressMessageId)(e,i,j,l);let q=(0,f.createMessage)(e,{worktreeId:i,role:"assistant",content:p,messageType:"prompt",promptData:b.promptData,timestamp:new Date,cliToolId:j,instanceId:l});(0,f.updateSessionState)(e,i,j,c.lineCount,l),(0,g.broadcastMessage)("message",{worktreeId:i,message:q}),(0,O.r)(e,i,j,l,"prompt_detected",{promptType:b.promptData?.type});let r=Date.now(),s=(0,N.Jp)(i,j,k)?.since??r;return(0,J.R4)({worktreeId:i,cliToolId:j,instanceId:k,waitingSince:s})||(0,I.J$)({worktreeId:i,worktreeName:h.name,kind:"prompt",agentName:l,instanceId:l,waitingKind:"prompt",waitingSince:s,excerpt:b.promptData?.question??p}).catch(()=>{}),(0,N.hd)({worktreeId:i,cliToolId:j,instanceId:k,waiting:!0,kind:"prompt",now:r}),d||(0,G.Et)(i,j,k),!0}(k,aa,T,U);if(R&&(0,x.WR)(j),!T.response||""===T.response.trim())return R&&((0,z.fS)(j),(0,f.updateSessionState)(h,a,b,T.lineCount,i)),!1;let ad="claude"===b?(0,o.R)(T.response):void 0,af=function(a,b,c,d){let e=b.response;if("gemini"===a)e=(0,u.IS)(b.response);else if("claude"===a)e=(0,u.NN)(b.response);else if("copilot"===a){let a=(0,w.Uz)(c)||b.response;e=(0,u.LH)(a),e=(0,u.Sj)(e,v.Rf,v.ky),d&&(0,w.q1)(c)}else if("opencode"===a){let a=(0,w.Uz)(c),f=b.turnHeadTruncated&&a?a:b.response;e=(0,u.aW)(f),d&&(0,w.q1)(c)}return e}(b,T,j,R);if(!af||""===af.trim()||"[No content]"===af)return R&&((0,z.fS)(j),(0,f.updateSessionState)(h,a,b,T.lineCount,i)),(0,f.clearInProgressMessageId)(h,a,b,i),!1;if(!W&&(0,z.j7)(j,af))return await ae(k,T,ad);return await ag(k,S,ad,af,q)}catch(a){return $.error("response:check-failed",{error:a instanceof Error?a.message:String(a)}),!1}}},97751:(a,b,c)=>{c.d(b,{M4:()=>p,W7:()=>r,aK:()=>q,dV:()=>l,dZ:()=>m,yQ:()=>j});var d=c(72626),e=c(27870),f=c(25071),g=c(59409),h=c(62887);let i=(0,d.h)("lib/hooks/structured-decision-response"),j="Rejected by the operator via `commandmate respond`.",k={1:["once","allow once","allow","yes","y"],2:["always","allow always","allow-always"],3:["reject","deny","no","n"]};function l(a,b){let c=a.trim().toLowerCase();if(""===c)return null;for(let a of void 0===b?e.QB:(0,e.T5)(b))if(c===String(a.number)||c===a.label.toLowerCase()||c===a.reply||(k[a.number]??[]).includes(c))return a;return null}function m(a){let b=a.questions[0];return b?b.choices.map((a,b)=>({number:b+1,label:a.label,reply:a.label})):[]}let n=/^\d+(?:\s*[,\s]\s*\d+)*$/;function o(a){return a.map(a=>`${a.number} = ${a.label}`).join(", ")}function p(a,b){let c=b.trim();if(""===c)return{ok:!1,reason:"unresolvable_answer",message:"An empty answer names no choice."};if(1!==a.questions.length)return{ok:!1,reason:"multi_question_unsupported",message:`This call asks ${a.questions.length} questions and \`answers\` carries one array per question; a single answer cannot say what the others are. Answer it in the terminal.`};let d=a.questions[0],e=m(a);if(n.test(c)){let a=[];for(let b of c.split(/[,\s]+/)){let d=e.find(a=>a.number===Number(b));if(!d)return{ok:!1,reason:"answer_out_of_range",message:`'${c}' names no choice this question offers. ${o(e)}.`};a.some(a=>a.number===d.number)||a.push(d)}return a.length>1&&!d.multiSelect?{ok:!1,reason:"multi_select_not_offered",message:`This question accepts one choice. Send a single number: ${o(e)}.`}:{ok:!0,resolved:{answers:[a.map(a=>a.reply)],selected:a,freeText:!1}}}let f=e.find(a=>a.label.toLowerCase()===c.toLowerCase());return f?{ok:!0,resolved:{answers:[[f.reply]],selected:[f],freeText:!1}}:c.length>1e3?{ok:!1,reason:"unresolvable_answer",message:"A free-text answer is limited to 1000 characters; this one is longer and is refused rather than cut short."}:{ok:!0,resolved:{answers:[[c]],selected:[],freeText:!0}}}function q(a){return{kind:"answer",answers:a.answers}}async function r({worktreeId:a,cliToolId:b,instanceId:d,answer:k,useDefault:m=!1}){let n,o=(0,g.VM)(b);if(null===o.capabilities.eventIdentity)return{kind:"not-applicable",reason:"no-decision-identity"};let p={worktreeId:a,cliToolId:b,instanceId:d};try{n=await o.listPending(p)}catch(c){return i.warn("structured-decision-unreachable",{worktreeId:a,cliToolId:b,instanceId:d??b,error:c instanceof Error?c.message:String(c)}),{kind:"not-applicable",reason:"source-unreachable"}}let q=n.filter(a=>"permission"===a.kind);if(0===q.length)return{kind:"not-applicable",reason:"no-pending-decision"};let r=q[0];if(q.length>1&&i.info("structured-decision-multiple-pending",{worktreeId:a,cliToolId:b,instanceId:d??b,pending:q.length,answering:r.id}),m)return{kind:"refused",reason:"unresolvable_answer",message:`--default cannot answer a structured approval: the agent publishes no default verdict. Send a number instead — ${(0,e.T5)(b).map(a=>`${a.number} = ${a.label}`).join(", ")}.`};let s=void 0===k?null:l(k,b);if(!s)return{kind:"refused",reason:"answer_out_of_range",message:`'${k??""}' is not one of the verdicts this approval accepts. `+(0,e.T5)(b).map(a=>`${a.number} = ${a.label} (${a.reply})`).join(", ")+"."};let t=function(a){switch(a){case 1:return{kind:"allowOnce"};case 2:return{kind:"allowAlways"};case 3:return{kind:"deny",message:j};default:return null}}(s.number);if(!t)return{kind:"refused",reason:"unresolvable_answer",message:`Option ${s.number} has no verdict on this server.`};let{delivery:u}=await (0,f.GW)(o,p,r,t),v=u?.delivered===!0;if(v&&o.capabilities.permissionReplyReleasesPrompt){let{recordAgentEvent:e}=await Promise.resolve().then(c.bind(c,33294));e(a,b,d,{event:"notification",at:Date.now(),detail:h.KC,sessionId:r.conversationId,decisionId:r.id,promptSettled:!0})}return i.info("structured-decision-answered",{worktreeId:a,cliToolId:b,instanceId:d??b,decisionId:r.id,optionNumber:s.number,reply:s.reply,delivered:v}),{kind:"answered",decisionId:r.id,option:s,delivered:v}}},99508:(a,b,c)=>{c.r(b),c.d(b,{INTERACTION_SNAPSHOT_RETRY_DELAYS_MS:()=>o,__resetTerminalBroadcastState:()=>w,broadcastSessionStatus:()=>v,broadcastTerminalSnapshot:()=>p,broadcastTerminalSnapshotAfterInteraction:()=>u});var d=c(43015),e=c(88807),f=c(79565),g=c(72626),h=c(8360),i=c(93997),j=c(36925),k=c(56455),l=c(85038);let m=(0,g.h)("terminal-broadcast"),n=(0,j.v)("__terminalSnapshotVersions",()=>new Map),o=[100,250,500,750];async function p(a,b,c){if((0,d.hasRoomSubscribers)(a))try{if(!await r(a,b,c))return;if(!(0,l.Z)())throw new l.SC;let d=(0,e.getDbInstance)(),g=await (0,f.$v)(d,a,b,c);if(!(0,l.Z)())throw new l.SC;t(a,b,g,c)}catch(d){if(d instanceof l.SC)return void m.info("terminal-snapshot:retired",{worktreeId:a,cliToolId:b,instanceId:c});m.error("terminal-snapshot:failed",{worktreeId:a,error:d instanceof Error?d.message:String(d)})}}function q(a){return JSON.stringify([a.fullOutput??"",a.isRunning,a.sessionStatus,a.thinking??!1,a.isPromptWaiting??!1,a.promptAnswerable??null,a.autoYes?.lastEnterFallback??null,a.isSelectionListActive??!1,a.isPagerActive??!1,a.isDismissablePanelActive??!1,a.isUnclassifiedActive??!1,a.startingSince??null])}async function r(a,b,c){let d=h.CLIToolManager.getInstance().getTool(b).getSessionName(a,c),e=await (0,k.y)(a,d);return null===e||(m.info("terminal-snapshot:refused",{worktreeId:a,cliToolId:b,instanceId:c,refusal:e}),!1)}async function s(a,b,c){if(!await r(a,b,c))return null;let d=h.CLIToolManager.getInstance().getTool(b);return(0,i.gm)(d.getSessionName(a,c)),(0,f.$v)((0,e.getDbInstance)(),a,b,c)}function t(a,b,c,e){let f=e??b,g=`${a}:${b}:${f}`;(0,d.broadcast)(a,{type:"terminal_snapshot",worktreeId:a,cliToolId:b,instanceId:f,output:c.fullOutput??"",isRunning:c.isRunning,sessionStatus:c.sessionStatus,thinking:c.thinking??!1,isPromptWaiting:c.isPromptWaiting??!1,promptData:c.promptData??null,promptAnswerable:c.promptAnswerable,autoYesEnterFallback:c.autoYes?.lastEnterFallback,isSelectionListActive:c.isSelectionListActive??!1,isPagerActive:c.isPagerActive??!1,isDismissablePanelActive:c.isDismissablePanelActive??!1,isUnclassifiedActive:c.isUnclassifiedActive??!1,startingSince:c.startingSince??null,version:function(a){let b=(n.get(a)??0)+1;return n.set(a,b),b}(g)})}async function u(a,b,c,e=o){if((0,d.hasRoomSubscribers)(a))try{let d=await s(a,b,c);if(null===d)return;let f=q(d);for(let g of(t(a,b,d,c),e)){await new Promise(a=>setTimeout(a,g));let d=await s(a,b,c);if(null===d)return;if(q(d)!==f)return void t(a,b,d,c)}}catch(d){m.error("terminal-snapshot:interaction-refresh-failed",{worktreeId:a,cliToolId:b,instanceId:c,error:d instanceof Error?d.message:String(d)})}}function v(a,b,c){(0,d.broadcast)(a,{type:"session_status_changed",worktreeId:a,isRunning:b,cliTool:c?.cliTool??null,instance:c?.instance??null})}function w(){n.clear()}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=9051,exports.ids=[9051],exports.modules={79051:(a,b,c)=>{c.d(b,{nX:()=>G.nX,z0:()=>z,lY:()=>G.lY,SN:()=>G.SN,Pt:()=>B,ID:()=>n,Wz:()=>D,NM:()=>w,ac:()=>x,$G:()=>m,$Z:()=>o,t$:()=>s,mk:()=>J,Lz:()=>E,om:()=>F.om,FW:()=>S.FW,C4:()=>S.C4,Z3:()=>S.Z3,S7:()=>Q,lw:()=>R,x7:()=>d.x7,jr:()=>G.jr,pc:()=>F.Iz,Ey:()=>M,X_:()=>N,VM:()=>L,oC:()=>K,X0:()=>F.X0});var d=c(63271),e=c(46065),f=c(2412),g=c(33873),h=c.n(g),i=c(79748),j=c(65417),k=c(72626);let l=(0,k.h)("git-status");async function m(a,b){let c,[d,f,g]=await Promise.all([(0,e.Bc)(["rev-parse","--abbrev-ref","HEAD"],a),(0,e.Bc)(["rev-parse","--short","HEAD"],a),(0,e.Bc)(["status","--porcelain"],a)]);c=null===d?"(unknown)":"HEAD"===d?"(detached HEAD)":d;let h=null===g;return{currentBranch:c,initialBranch:b,isBranchMismatch:null!==b&&"(unknown)"!==c&&"(detached HEAD)"!==c&&c!==b,commitHash:f??"(unknown)",isDirty:!h&&g.length>0,...h?{statusUnknown:!0}:{}}}async function n(a){let b=await (0,e.TT)(["rev-list","--left-right","--count","@{upstream}...HEAD"],a);if(!b.ok){var c;let a=b.timedOut?"error":(c=b.stderr,/no upstream/i.test(c)?"no_upstream":/HEAD does not point to a branch|not point to a branch/i.test(c)?"detached":/unknown revision|ambiguous argument|bad revision/i.test(c)?"upstream_gone":"error");return l.debug("git:ahead-behind-unavailable",{reason:a}),{aheadBehind:null,reason:a}}let d=b.stdout.split(" ");if(2!==d.length)return{aheadBehind:null,reason:"error"};let f=parseInt(d[0],10),g=parseInt(d[1],10);return Number.isInteger(f)&&Number.isInteger(g)?{aheadBehind:{ahead:g,behind:f},reason:null}:{aheadBehind:null,reason:"error"}}async function o(a){let b=await (0,e.Bc)(["rev-parse","--git-path","FETCH_HEAD","--git-common-dir"],a);if(null===b)return null;let c=b.split("\n").map(a=>a.trim()).filter(a=>a.length>0);if(0===c.length)return null;let d=new Set([h().resolve(a,c[0])]);c[1]&&d.add(h().resolve(a,c[1],"FETCH_HEAD"));let f=null;for(let a of d)try{let{mtimeMs:b}=await (0,i.stat)(a);(null===f||b>f)&&(f=b)}catch{}return null===f?null:Math.round(f)}function p(a){switch(a){case"A":return"added";case"D":return"deleted";case"R":case"C":return"renamed";default:return"modified"}}let q=new Set(["DD","AU","UD","UA","DU","AA","UU"]);function r(a){let b=a.indexOf(" -> ");return -1!==b?a.slice(b+4):a}async function s(a){return function(a){let b=[],c=[],d=[];if(!a)return{staged:b,unstaged:c,untracked:d};for(let e of a.split("\n")){if(e.length<4)continue;let a=e[0],f=e[1],g=e.slice(3);if(!g)continue;if("?"===a&&"?"===f){d.push({path:r(g),status:"untracked"});continue}let h=r(g);if("U"===a||"U"===f||q.has(`${a}${f}`)){c.push({path:h,status:"unmerged"});continue}" "!==a&&"?"!==a&&b.push({path:h,status:p(a)})," "!==f&&"?"!==f&&c.push({path:h,status:p(f)})}return{staged:b,unstaged:c,untracked:d}}(await (0,e.rS)(["status","--porcelain"],a,j.Ev))}var t=c(29021),u=c.n(t);let v=(0,k.h)("git-log");async function w(a,b=50,c=0){let d=(await (0,e.rS)(["log",`--max-count=${b}`,`--skip=${c}`,"--format=%H%n%h%n%s%n%an%n%aI","--"],a,e.t1)).trim();if(!d)return[];let f=d.split("\n"),g=[];for(let a=0;a+4<f.length;a+=5)g.push({hash:f[a],shortHash:f[a+1],message:f[a+2],author:f[a+3],date:f[a+4]});return g}async function x(a,b){try{let c=(await (0,e.rS)(["log","-1","--format=%H%n%h%n%s%n%an%n%aI",b,"--"],a,e.t1)).trim().split("\n");if(c.length<5)return null;let d={hash:c[0],shortHash:c[1],message:c[2],author:c[3],date:c[4]},f=await (0,e.rS)(["diff-tree","--no-commit-id","-r","--name-status",b,"--"],a,e.t1),g=function(a){let b=[];for(let c of a.trim().split("\n")){if(!c.trim())continue;let a=c.split(" ");if(a.length<2)continue;let d=a[0].trim(),e=a[a.length-1].trim();d.startsWith("R")?b.push({path:e,status:"renamed"}):"A"===d?b.push({path:e,status:"added"}):"D"===d?b.push({path:e,status:"deleted"}):b.push({path:e,status:"modified"})}return b}(f);return{commit:d,files:g}}catch(b){if(b instanceof d.y0||b instanceof d.wo)throw b;let a=b instanceof Error?b.message:"";if(a.includes("unknown revision")||a.includes("bad object"))return null;throw b}}async function y(a,b,c){if(!u().existsSync(a))return[];try{let{stdout:d}=await (0,e.mf)("git",["log","--all",`--since=${b}`,`--until=${c}`,`--format=%h\x1f%s\x1f%an`,"--"],{cwd:a,timeout:5e3}),f=d.trim();if(!f)return[];let g=[];for(let a of f.split("\n")){let b=a.split("\x1f");3===b.length&&g.push({shortHash:b[0],message:b[1],author:b[2]})}return g}catch(b){return v.error("git:commit-log-failed",{repoPath:a,error:b instanceof Error?b.message:"Unknown error"}),[]}}async function z(a,b,c){let d=await Promise.allSettled(a.map(async a=>({id:a.id,name:a.name,commits:await y(a.path,b,c)}))),e=new Map;for(let a of d)"fulfilled"===a.status&&a.value.commits.length>0&&e.set(a.value.id,{name:a.value.name,commits:a.value.commits});return e}let A=/(?:(?:closes|fixes|resolves)\s+)?#(\d+)/gi;function B(a){let b=new Set;for(let c of a){let a;for(A.lastIndex=0;null!==(a=A.exec(c));)b.add(parseInt(a[1],10))}return Array.from(b).sort((a,b)=>a-b)}let C=(0,k.h)("git-diff");async function D(a,b,c){try{return(await (0,e.rS)(["show",b,"--",c],a,e.t1)).trim()||null}catch(a){if(a instanceof d.y0||a instanceof d.wo)throw a;return null}}async function E(a,b,c){let f=function(a,b){switch(b){case"staged":return["diff","--cached","--",a];case"untracked":return["diff","--no-index","--","/dev/null",a];default:return["diff","--",a]}}(b,c);try{let{stdout:b}=await (0,e.mf)("git",f,{cwd:a,timeout:e.t1});return b.trim()||null}catch(a){if(a.killed||"ERR_CHILD_PROCESS_EXEC_TIMEOUT"===a.code||"ETIMEDOUT"===a.code)throw new d.y0(`Git command timed out after ${e.t1}ms`);if((a.stderr||a.message||"").includes("not a git repository"))throw new d.wo("Not a git repository");if("string"==typeof a.stdout)return a.stdout.trim()||null;throw C.error("git:working-diff-failed",{args:f.join(" "),error:a.message}),Error("Failed to execute git command")}}var F=c(26833),G=c(39988);let H=(0,k.h)("git-stash"),I=/^stash@\{(\d+)\}$/;async function J(a){let b=await (0,e.Bc)(["stash","list","--format=%gd%x09%s%x09%cI%x09%H"],a);if(null===b)return[];let c=[];if(!b||!b.trim())return c;for(let a of b.split("\n")){if(!a.trim())continue;let[b="",d="",e="",f=""]=a.split(" "),g=b.match(I);g&&c.push({index:parseInt(g[1],10),message:d,branch:function(a){let b=a.match(/^WIP on ([^:]+):/);if(b)return b[1].trim()||null;let c=a.match(/^On ([^:]+):/);return c&&c[1].trim()||null}(d),date:e,sha:f})}return c}async function K(a,b){let{message:c,includeUntracked:f}=b;await (0,e.dX)(a,async()=>{let b=["stash","push"];f&&b.push("--include-untracked"),c&&b.push("-m",c),b.push("--");try{await (0,e.rS)(b,a,j.Ev)}catch(c){let a=c instanceof Error?c.message:"",b=c?.stderr??"";if(/No local changes to save|No stash entries|No local changes/i.test(`${b} ${a}`))throw new d.s$("No local changes to stash");throw c}})}async function L(a,b){return(0,e.dX)(a,async()=>{let c=await (0,e.mY)(["stash","pop","--",`stash@{${b}}`],a);return c.conflict?{...c,stashRetained:!0}:c})}async function M(a,b){return(0,e.dX)(a,async()=>(0,e.mY)(["stash","apply","--",`stash@{${b}}`],a))}async function N(a,b){H.warn("git:danger:stash-drop",{operation:"stash-drop",worktreePath:a,index:b,timestamp:new Date().toISOString()}),await (0,e.dX)(a,async()=>{await (0,e.rS)(["stash","drop","--",`stash@{${b}}`],a,j.Ev)})}let O=(0,k.h)("git-reset");async function P(a){let b=await (0,e.Bc)(["rev-parse","--abbrev-ref","HEAD"],a);if(null===b)throw new d.y0("Could not verify current branch");let c=b.trim(),g=await (0,f.Qb)(a);return"string"==typeof g?g===c:null!==g&&("main"===c||"master"===c)}async function Q(a,b){let{target:c,mode:f}=b;if("hard"===f){if(await P(a))throw O.warn("git:danger:hard-reset-blocked",{operation:"reset",worktreePath:a,target:c,mode:f,timestamp:new Date().toISOString()}),new d.BN("Cannot hard-reset the default branch");O.warn("git:danger:hard-reset",{operation:"reset",worktreePath:a,target:c,mode:f,timestamp:new Date().toISOString()})}await (0,e.dX)(a,async()=>{await (0,e.rS)(["reset",`--${f}`,c,"--"],a,j.Ev)})}async function R(a,b){let{commitHash:c,noCommit:d}=b;return O.warn("git:danger:revert",{operation:"revert",worktreePath:a,commitHash:c,noCommit:!0===d,timestamp:new Date().toISOString()}),(0,e.dX)(a,async()=>{let b=["revert"];return d&&b.push("--no-commit"),b.push(c,"--"),(0,e.mY)(b,a)})}var S=c(59082)}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=9199,exports.ids=[1836,9199],exports.modules={4803:(a,b,c)=>{c.d(b,{H2:()=>i,eM:()=>f,kN:()=>e,tP:()=>l});let d=/^\[[ xX\u2714]\] /;function e(a){return a.some(a=>d.test(a.label))}function f(a){return!0===a.multiSelect||e(a.options)}let g=/^yes\b/i,h=[/^no\b/i,/\bdeny\b/i];class i extends Error{constructor(a){super(a),this.name="PromptAnswerResolutionError"}}function j(a){return h.some(b=>b.test(a))}function k(a){return g.test(a)&&!j(a)}function l(a){let{answer:b,useDefault:c,promptData:d,fallbackPromptType:e}=a;if(c){if(d?.type==="multiple_choice"){if(f(d))throw new i('Multi-select (checkbox) prompts have no default answer: the cursor marks the row a key would toggle, not a choice. Answer with the option numbers you want ticked, comma-separated (for example "1,3").');let a=function(a){let b=a.find(a=>a.isDefault)??a.find(a=>1===a.number)??a[0];if(!b)throw new i("The prompt has no options to select a default from.");return b}(d.options);return{input:String(a.number),resolved:{via:"default",optionNumber:a.number,optionLabel:a.label}}}if(d?.type==="yes_no"){if(d.defaultOption)return{input:d.defaultOption,resolved:{via:"default",optionLabel:d.defaultOption}};throw new i("The yes/no prompt declares no default option.")}throw new i("Cannot select the default option: no active prompt was detected.")}let g=b??"",h=function(a){let b=a.trim().toLowerCase();return"yes"===b||"y"===b?"yes":"no"===b||"n"===b?"no":null}(g);if(null===h)return{input:g};if(d?.type==="multiple_choice"){let a=function(a,b){let c=a.options;if(f(a))throw new i('Multi-select (checkbox) prompts cannot be answered with yes/no. Answer with the option numbers you want ticked, comma-separated (for example "1,3").');let d="yes"===b?k:j,e=c.filter(a=>d(a.label));if(0===e.length)throw new i(`No option label matches "${b}". Answer with an option number.`);return e.reduce((a,b)=>a.number<=b.number?a:b)}(d,h);return{input:String(a.number),resolved:{via:"semantic",optionNumber:a.number,optionLabel:a.label}}}if(!d&&"multiple_choice"===e)throw new i("Cannot resolve yes/no: the prompt is multiple choice but its options could not be read.");return{input:g}}},15388:(a,b,c)=>{c.d(b,{RJ:()=>f,SQ:()=>g});var d=c(24455);let e=(0,c(36925).v)("__toolInputNormalizations",()=>new Map);function f(a,b,c,g,h,i=Date.now()){e.set((0,d.v7)(a,b,c),{...g,toolName:h,at:i})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??null}},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(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}}},75498:(a,b,c)=>{c.d(b,{Lj:()=>g,Tb:()=>f,sD:()=>h});var d=c(68901),e=c(4803);let f=2e4;function g(a,b,c){if(!c)return null;if("off"===c.mode)return{reason:"mode-off"};let e=function(a,b){if(0===b.length)return{outcome:"no-match"};let c=a.map(a=>a.length>f?a.slice(0,f):a);for(let a of b){if(a.length>200||!(0,d.P0)(a).valid)return{outcome:"unusable",pattern:a};let b=new RegExp(a);for(let e of c){let c=(0,d.eJ)(b,e);if(null===c)return{outcome:"unusable",pattern:a};if(c)return{outcome:"match",pattern:a}}}return{outcome:"no-match"}}(b,c.denyPatterns);return"match"===e.outcome?{reason:"deny-pattern",pattern:e.pattern}:"unusable"===e.outcome?{reason:"deny-pattern-unusable",pattern:e.pattern}:"safe"===c.mode?"yes_no"===a?null:{reason:"type-not-allowed"}:"allow-listed"===c.mode?c.allowPromptTypes.includes(a)?null:{reason:"type-not-allowed"}:null}function h(a,b){let c=function(a){if("yes_no"===a.type)return"y";if("multiple_choice"===a.type){if((0,e.eM)(a))return null;let b=a.options.find(a=>a.isDefault)??a.options[0];return!b||b.requiresTextInput?null:b.number.toString()}return null}(a);if(null===c)return{answer:null,suppressedBy:null};let d=g(a.type,function(a){let b=[a.question];if(a.approvalTarget&&b.push(a.approvalTarget),"multiple_choice"===a.type)for(let c of a.options)b.push(c.label);else b.push(...a.options);return b}(a),b);return d?{answer:null,suppressedBy:d.reason,pattern:d.pattern}:{answer:c,suppressedBy:null}}},77244:(a,b,c)=>{c.d(b,{FD:()=>i,Wo:()=>f,fA:()=>h,nh:()=>j});var d=c(24455),e=c(36925);let f=8e3,g=(0,e.v)("__antigravityPermissionReceipts",()=>new Map);function h(a,b,c,e,f=Date.now()){if(null!==e){for(let[a,b]of g)f-b.at>36e5&&g.delete(a);g.set((0,d.v7)(a,b,c),{toolName:e,at:f})}}function i(a,b,c,e,h=Date.now()){let j=g.get((0,d.v7)(a,b,c));return!!j&&(void 0===e||j.toolName===e)&&h-j.at<=f}function j(a,b,c){return g.get((0,d.v7)(a,b,c))?.at??null}(0,e.v)("__antigravityReceiptObservations",()=>new Map)},91318:(a,b,c)=>{c.d(b,{Fv:()=>l,d8:()=>j,ie:()=>n,n:()=>i,wO:()=>k});var d=c(56791),e=c(88807),f=c(24455);let g=(0,c(72626).h)("auto-yes-policy"),h=new Map;function i(a,b,c){return m(a,b,c).policy}function j(a,b,c){let{policy:d,taskId:e}=m(a,b,c);return{policy:d,taskId:e}}function k(a,b,c){var d;return d=j(a,b,c).policy,d?.mode==="off"}function l(a,b,c){let{policy:d,taskId:e}=j(a,b,c);return d?{taskId:e,mode:d.mode,allowPromptTypes:d.allowPromptTypes,denyPatternCount:d.denyPatterns.length}:null}function m(a,b,c){let i=c??b,j=(0,f.v7)(a,b,i),k=Date.now(),l=h.get(j);if(l&&l.expiresAt>k)return l;let{policy:m,taskId:n}=function(a,b,c){try{let f=(0,d.getActiveTaskForInstance)((0,e.getDbInstance)(),a,b,c);if(!f)return{policy:null,taskId:null};return{policy:f.contract.autoYes,taskId:f.id}}catch(d){return g.warn("policy-lookup-failed",{worktreeId:a,cliToolId:b,instanceId:c,error:d instanceof Error?d.message:String(d)}),{policy:null,taskId:null}}}(a,b,i);h.size>=200&&function(a){for(let[b,c]of h.entries())c.expiresAt<=a&&h.delete(b)}(k);let o={policy:m,taskId:n,expiresAt:k+5e3};return h.set(j,o),o}function n(a){h.delete(a)}}};
|