commandmate 0.30.2 → 0.31.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +151 -151
- package/.next/app-path-routes-manifest.json +25 -25
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +9 -9
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/conversation/route.js +1 -1
- package/.next/server/app/api/assistant/conversation/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/current-output/route.js +1 -1
- package/.next/server/app/api/assistant/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/messages/route.js +1 -1
- package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/session/route.js +1 -1
- package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/start/route.js +3 -3
- package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/terminal/route.js +4 -4
- package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/tools/route.js +1 -1
- package/.next/server/app/api/assistant/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route.js +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +4 -3
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +4 -3
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.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 +2 -2
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/chat/page.js +2 -2
- package/.next/server/app/chat/page.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page.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_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page.js +2 -2
- package/.next/server/app/repositories/page.js.nft.json +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page.js +1 -1
- package/.next/server/app/review/page.js.nft.json +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +1 -1
- package/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page.js +2 -2
- package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page.js +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 +1 -1
- package/.next/server/app/skills/page.js.nft.json +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +11 -11
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +25 -25
- package/.next/server/chunks/1058.js +1 -1
- package/.next/server/chunks/1068.js +1 -1
- package/.next/server/chunks/1262.js +1 -1
- package/.next/server/chunks/1886.js +3 -3
- package/.next/server/chunks/1990.js +103 -0
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2328.js +1 -1
- package/.next/server/chunks/2404.js +1 -1
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/261.js +1 -1
- package/.next/server/chunks/3123.js +1 -1
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/3480.js +5 -4
- package/.next/server/chunks/4299.js +1 -1
- package/.next/server/chunks/4393.js +1 -1
- package/.next/server/chunks/4443.js +1 -5
- package/.next/server/chunks/4802.js +1 -0
- package/.next/server/chunks/5017.js +1 -1
- package/.next/server/chunks/5043.js +1 -1
- package/.next/server/chunks/5164.js +1 -1
- package/.next/server/chunks/552.js +2 -2
- package/.next/server/chunks/6072.js +1 -1
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/663.js +4 -3
- package/.next/server/chunks/6894.js +2 -2
- package/.next/server/chunks/7187.js +1 -0
- package/.next/server/chunks/7472.js +1 -1
- package/.next/server/chunks/{880.js → 7859.js} +6 -6
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/8800.js +2 -2
- package/.next/server/chunks/8918.js +7 -0
- package/.next/server/chunks/9123.js +2 -2
- package/.next/server/chunks/9130.js +4 -4
- package/.next/server/chunks/9627.js +1 -1
- package/.next/server/chunks/9696.js +1 -1
- package/.next/server/chunks/9798.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/1783-11c9b4d8a52ebd91.js +1 -0
- package/.next/static/chunks/4718-46e1d2f07c8423ba.js +1 -0
- package/.next/static/chunks/6022-2fa0b5a82d4ce7b6.js +1 -0
- package/.next/static/chunks/{5229-6c89475b61bd2c8b.js → 6170-951b9f5fe6b4b3b5.js} +1 -1
- package/.next/static/chunks/app/chat/{page-9aa2011410895b0d.js → page-37d7615d17d7e2a0.js} +1 -1
- package/.next/static/chunks/app/layout-4c2f21e3f653ee4c.js +1 -0
- package/.next/static/chunks/app/more/{page-333bba1c8bbc9c11.js → page-353a3924e6d7968e.js} +1 -1
- package/.next/static/chunks/app/{page-214f7ffa13a0cf10.js → page-c2bf871d953a1d6f.js} +1 -1
- package/.next/static/chunks/app/repositories/{page-4951cac905e50224.js → page-7d0f26df0537254c.js} +1 -1
- package/.next/static/chunks/app/review/{page-a0899b2d285318c3.js → page-e3f141b2829973e9.js} +1 -1
- package/.next/static/chunks/app/sessions/{page-fb36145ec732092a.js → page-53f188ed9ca49e5f.js} +1 -1
- package/.next/static/chunks/app/skills/[skillId]/{page-9099e26b60442873.js → page-80569b720aea59cc.js} +1 -1
- package/.next/static/chunks/app/skills/installed/{page-182e32368696d824.js → page-dbd2690ad72da95b.js} +1 -1
- package/.next/static/chunks/app/skills/{page-d3fdc88239ebe0ab.js → page-dacd36f9c11aa7da.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/page-64d4ec3051971760.js +1 -0
- package/.next/static/css/5c13ea243dfdcb66.css +1 -0
- package/.next/trace +13 -13
- package/README.md +37 -11
- package/dist/cli/commands/attach.d.ts +50 -0
- package/dist/cli/commands/attach.d.ts.map +1 -0
- package/dist/cli/commands/attach.js +204 -0
- package/dist/cli/commands/capture.d.ts.map +1 -1
- package/dist/cli/commands/capture.js +114 -0
- package/dist/cli/commands/instances.d.ts.map +1 -1
- package/dist/cli/commands/instances.js +23 -2
- package/dist/cli/commands/ls.d.ts.map +1 -1
- package/dist/cli/commands/ls.js +41 -1
- package/dist/cli/config/cli-dependencies.d.ts.map +1 -1
- package/dist/cli/config/cli-dependencies.js +34 -0
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +5 -0
- package/dist/cli/types/index.d.ts +36 -0
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/config/tmux-pane-config.d.ts +153 -0
- package/dist/config/tmux-pane-config.d.ts.map +1 -0
- package/dist/config/tmux-pane-config.js +172 -0
- package/dist/lib/cli-tools/session-name.d.ts +44 -0
- package/dist/lib/cli-tools/session-name.d.ts.map +1 -0
- package/dist/lib/cli-tools/session-name.js +57 -0
- package/dist/lib/cli-tools/types.d.ts +1 -1
- package/dist/lib/cli-tools/types.d.ts.map +1 -1
- package/dist/lib/cli-tools/types.js +6 -1
- package/dist/lib/cli-tools/validation.d.ts +34 -0
- package/dist/lib/cli-tools/validation.d.ts.map +1 -0
- package/dist/lib/cli-tools/validation.js +41 -0
- package/dist/lib/detection/status-reason.d.ts +18 -0
- package/dist/lib/detection/status-reason.d.ts.map +1 -1
- package/dist/lib/detection/status-reason.js +18 -0
- package/dist/lib/detection/tools/verified-against.d.ts +57 -7
- package/dist/lib/detection/tools/verified-against.d.ts.map +1 -1
- package/dist/lib/detection/tools/verified-against.js +59 -8
- package/dist/lib/detection/version-probes.d.ts +26 -5
- package/dist/lib/detection/version-probes.d.ts.map +1 -1
- package/dist/lib/detection/version-probes.js +28 -6
- package/dist/lib/session/tmux-session-surface.d.ts +369 -0
- package/dist/lib/session/tmux-session-surface.d.ts.map +1 -0
- package/dist/lib/session/tmux-session-surface.js +525 -0
- package/dist/server/src/config/cli-tool-timing-config.js +12 -1
- package/dist/server/src/config/detection-evidence-config.js +5 -0
- package/dist/server/src/config/schedule-config.js +28 -1
- package/dist/server/src/lib/cli-tools/antigravity.js +2 -2
- package/dist/server/src/lib/cli-tools/base.js +13 -8
- package/dist/server/src/lib/cli-tools/claude.js +20 -0
- package/dist/server/src/lib/cli-tools/codex.js +205 -61
- package/dist/server/src/lib/cli-tools/command-code.js +349 -0
- package/dist/server/src/lib/cli-tools/composer-spec.js +6 -0
- package/dist/server/src/lib/cli-tools/copilot.js +2 -2
- package/dist/server/src/lib/cli-tools/gemini.js +2 -2
- package/dist/server/src/lib/cli-tools/graceful-exit.js +16 -1
- package/dist/server/src/lib/cli-tools/index.js +4 -1
- package/dist/server/src/lib/cli-tools/install-hints.js +131 -0
- package/dist/server/src/lib/cli-tools/liveness-spec.js +18 -0
- package/dist/server/src/lib/cli-tools/manager.js +2 -0
- package/dist/server/src/lib/cli-tools/opencode.js +2 -2
- package/dist/server/src/lib/cli-tools/start-availability.js +18 -11
- package/dist/server/src/lib/cli-tools/types.js +6 -1
- package/dist/server/src/lib/cli-tools/vibe-local.js +2 -2
- package/dist/server/src/lib/cmate-parser.js +6 -0
- package/dist/server/src/lib/detection/cli-patterns.js +441 -8
- package/dist/server/src/lib/detection/opencode-modal-overlay.js +66 -100
- package/dist/server/src/lib/detection/selection-shape.js +341 -0
- package/dist/server/src/lib/detection/sgr-background.js +210 -0
- package/dist/server/src/lib/detection/status-detector.js +6 -0
- package/dist/server/src/lib/detection/status-reason.js +18 -0
- package/dist/server/src/lib/detection/tools/antigravity/detect.js +38 -15
- package/dist/server/src/lib/detection/tools/codex/cli-patterns.js +392 -0
- package/dist/server/src/lib/detection/tools/codex/detect.js +83 -2
- package/dist/server/src/lib/detection/tools/command-code/detect.js +159 -0
- package/dist/server/src/lib/detection/tools/registry.js +6 -4
- package/dist/server/src/lib/detection/tools/verified-against.js +59 -8
- package/dist/server/src/lib/detection/version-probes.js +28 -6
- package/dist/server/src/lib/hooks/sources/antigravity/history.js +77 -16
- package/dist/server/src/lib/hooks/sources/claude/history.js +94 -18
- package/dist/server/src/lib/hooks/sources/codex/history.js +84 -15
- package/dist/server/src/lib/hooks/sources/codex/hooks-config.js +130 -17
- package/dist/server/src/lib/hooks/sources/codex/relay-install.js +145 -0
- package/dist/server/src/lib/hooks/sources/command-code/history.js +865 -0
- package/dist/server/src/lib/hooks/sources/command-code/hooks-config.js +390 -0
- package/dist/server/src/lib/hooks/sources/command-code/source.js +290 -0
- package/dist/server/src/lib/hooks/sources/command-code/tool-id.js +18 -0
- package/dist/server/src/lib/hooks/sources/command-code/transcript.js +604 -0
- package/dist/server/src/lib/hooks/sources/index.js +3 -1
- package/dist/server/src/lib/hooks/sources/opencode/history.js +57 -3
- package/dist/server/src/lib/hooks/sources/opencode/transcript.js +24 -28
- package/dist/server/src/lib/hooks/sources/registry.js +4 -0
- package/dist/server/src/lib/hooks/sources/turn-body.js +77 -19
- package/dist/server/src/lib/job-executor.js +12 -0
- package/dist/server/src/lib/polling/auto-yes-dialog-gate.js +6 -0
- package/dist/server/src/lib/polling/response-checker.js +112 -7
- package/dist/server/src/lib/polling/structured-history-gate.js +15 -8
- package/dist/server/src/lib/realtime/types.js +15 -5
- package/dist/server/src/lib/response-cleaner.js +24 -1
- package/dist/server/src/lib/response-extractor.js +11 -0
- package/dist/server/src/lib/session/claude-executor.js +223 -4
- package/dist/server/src/lib/session/cli-session.js +52 -0
- package/dist/server/src/lib/session/tmux-session-surface.js +525 -0
- package/dist/server/src/lib/skills/compatibility-matrix.js +117 -1
- package/dist/server/src/lib/tmux/geometry-delegation.js +143 -0
- package/dist/server/src/lib/tmux/read-mode-pager.js +76 -10
- package/dist/server/src/lib/tmux/read-mode.js +44 -2
- package/dist/server/src/lib/tmux/session-hook-scripts.js +249 -0
- package/dist/server/src/lib/tmux/session-hooks.js +122 -0
- package/dist/server/src/lib/tmux/session-status-options.js +213 -0
- package/dist/server/src/lib/tmux/tmux.js +79 -2
- package/dist/server/src/lib/version-checker.js +110 -0
- package/dist/server/src/lib/ws-server.js +16 -10
- package/dist/server/src/types/agent-transcript.js +73 -1
- package/dist/server/src/types/terminal-keys.js +131 -3
- package/dist/types/terminal-keys.d.ts +100 -3
- package/dist/types/terminal-keys.d.ts.map +1 -1
- package/dist/types/terminal-keys.js +131 -3
- package/package.json +1 -1
- package/.next/server/chunks/3099.js +0 -5
- package/.next/server/chunks/7824.js +0 -1
- package/.next/server/chunks/848.js +0 -1
- package/.next/static/chunks/3916-0e929d089282dc5d.js +0 -1
- package/.next/static/chunks/6022-7a7d1760fc9814c7.js +0 -1
- package/.next/static/chunks/6381-147dde2a967e9458.js +0 -1
- package/.next/static/chunks/app/layout-6a26ea22d5cf03dc.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-2f73d69187936627.js +0 -1
- package/.next/static/css/23f9c40ecc458c77.css +0 -1
- /package/.next/static/{QXxQbXWoo7ldUyOcv7PCZ → 60mm4_QBuFtFTfo5UMyKU}/_buildManifest.js +0 -0
- /package/.next/static/{QXxQbXWoo7ldUyOcv7PCZ → 60mm4_QBuFtFTfo5UMyKU}/_ssgManifest.js +0 -0
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
`).run(b,c,d,f,a)}async function x(a){let b;if(a.isExecuting)return void u.warn("execution:skip-concurrent",{name:a.entry.name});a.isExecuting=!0;try{b=function(a,b,c){let d=v(),e=Date.now(),f=(0,q.randomUUID)();return d.prepare(`
|
|
4
4
|
INSERT INTO execution_logs (id, schedule_id, worktree_id, message, status, started_at, created_at)
|
|
5
5
|
VALUES (?, ?, ?, ?, 'running', ?, ?)
|
|
6
|
-
`).run(f,a,b,c,e,e),f}(a.scheduleId,a.worktreeId,a.entry.message);let d=v().prepare("SELECT path, vibe_local_model FROM worktrees WHERE id = ?").get(a.worktreeId);if(!d)return void w(b,"failed","Worktree not found",null);let e=function(a,b){let c=(0,i.HA)(a);return c||("vibe-local"===a.cliToolId&&b.vibe_local_model?{model:b.vibe_local_model}:void 0)}(a.entry,d),f=await (0,p.V$)(a.entry.message,d.path,a.entry.cliToolId,a.entry.permission,e);w(b,f.status,f.output,f.exitCode);var c=a.scheduleId;let g=v(),h=Date.now();g.prepare("UPDATE scheduled_executions SET last_executed_at = ?, updated_at = ? WHERE id = ?").run(h,h,c),u.info("execution:completed",{name:a.entry.name,status:f.status})}catch(d){let c=d instanceof Error?d.message:String(d);void 0!==b&&w(b,"failed",c,null),u.error("execution:failed",{name:a.entry.name,error:c})}finally{a.isExecuting=!1}}let y=(0,l.h)("schedule-manager");function z(a){try{if("function"==typeof a.isStopped)return!a.isStopped();if("function"==typeof a.isRunning)return a.isRunning()}catch{return!1}return!0}function A(a,b,c){let e=new d.l4(c.cronExpression,{paused:!1,protect:!0}),f={scheduleId:b,worktreeId:a,cronJob:e,isExecuting:!1,entry:c};return e.schedule(()=>{x(f).catch(a=>{y.error("execution:unhandled",{name:c.name,error:a instanceof Error?a.message:String(a)})})}),f}function B(){return globalThis.__scheduleManagerStates||(globalThis.__scheduleManagerStates={timerId:null,schedules:new Map,initialized:!1,isSyncing:!1,cmateFileCache:new Map}),globalThis.__scheduleManagerStates}async function C(){let a=B();if(!a.isSyncing){a.isSyncing=!0;try{let b=function(){try{return t().prepare("SELECT id, path FROM worktrees").all()}catch(a){return s.error("worktree:fetch-failed",{error:a instanceof Error?a.message:String(a)}),[]}}(),c=new Set;for(let d of b)try{let b=function(a){let b=g().join(a,k.fp);try{return(0,r.statSync)(b).mtimeMs}catch(a){if(a instanceof Error&&"code"in a&&"ENOENT"===a.code)return null;return s.warn("file:stat-failed",{filePath:b}),null}}(d.path),e=a.cmateFileCache.get(d.path);if(null===b){void 0!==e&&a.cmateFileCache.delete(d.path);continue}let f=[],l=!1;for(let[b,c]of a.schedules)c.worktreeId===d.id&&(f.push(b),z(c.cronJob)||(l=!0));if(void 0!==e&&e===b){if(!l){for(let a of f)c.add(a);continue}y.warn("schedule:inactive-state-detected",{worktreeId:d.id})}a.cmateFileCache.set(d.path,b);let n=await o(d.path);if(!n)continue;let p=n.get("Schedules");if(!p)continue;let u=function(a){let b=[];for(let c of a){let a;if(b.length>=k.QD){m.warn("maximum-schedule-entries");break}if(c.length<3){m.warn("parse:insufficient-columns",{columnCount:c.length});continue}let[d,e,f,g,l,n]=c,o=(0,k.j0)(d);if(!k.Vh.test(o)){m.warn("parse:invalid-name",{name:o});continue}if(!(0,k.ri)(e)){m.warn("parse:invalid-cron",{name:o,cron:e});continue}let p=(0,k.j0)(f);if(!p){m.warn("parse:empty-message",{name:o});continue}let q=void 0===l||""===l||"true"===l.toLowerCase(),{result:r,errors:s}=(0,i.zK)(g||"");if(s.length>0){m.warn("parse:invalid-cli-tool-column",{name:o,errors:s});continue}let t=r.cliToolId;if(!(0,h.hR)(t)){m.warn("parse:invalid-cli-tool",{name:o,cliToolId:t});continue}let u=j.Hf[t]??"",v=n?.trim()||u;switch(t){case"claude":a=j.kd;break;case"codex":a=j.o1;break;case"copilot":a=j.oN;break;case"antigravity":a=j.eb;break;default:a=[],v&&(m.warn("parse:permission-ignored",{name:o,cliToolId:t,permission:v}),v="")}a.length>0&&v&&!a.includes(v)&&(m.warn("parse:invalid-permission",{name:o,cliToolId:t,permission:v,defaultPermission:u}),v=u),b.push({name:o,cronExpression:e.trim(),message:p,cliToolId:t,enabled:q,permission:v,model:r.model,agent:r.agent,variant:r.variant,continueSession:r.continueSession,title:r.title})}return b}(p),v=function(a,b){if(0===b.length)return[];let c=t(),d=Date.now(),e=c.prepare("SELECT id, name FROM scheduled_executions WHERE worktree_id = ?").all(a),f=new Map;for(let a of e)f.set(a.name,a.id);let g=[],h=c.prepare(`
|
|
6
|
+
`).run(f,a,b,c,e,e),f}(a.scheduleId,a.worktreeId,a.entry.message);let d=v().prepare("SELECT path, vibe_local_model FROM worktrees WHERE id = ?").get(a.worktreeId);if(!d)return void w(b,"failed","Worktree not found",null);let e=function(a,b){let c=(0,i.HA)(a);return c||("vibe-local"===a.cliToolId&&b.vibe_local_model?{model:b.vibe_local_model}:void 0)}(a.entry,d),f=await (0,p.V$)(a.entry.message,d.path,a.entry.cliToolId,a.entry.permission,e);w(b,f.status,f.output,f.exitCode);var c=a.scheduleId;let g=v(),h=Date.now();g.prepare("UPDATE scheduled_executions SET last_executed_at = ?, updated_at = ? WHERE id = ?").run(h,h,c),u.info("execution:completed",{name:a.entry.name,status:f.status})}catch(d){let c=d instanceof Error?d.message:String(d);void 0!==b&&w(b,"failed",c,null),u.error("execution:failed",{name:a.entry.name,error:c})}finally{a.isExecuting=!1}}let y=(0,l.h)("schedule-manager");function z(a){try{if("function"==typeof a.isStopped)return!a.isStopped();if("function"==typeof a.isRunning)return a.isRunning()}catch{return!1}return!0}function A(a,b,c){let e=new d.l4(c.cronExpression,{paused:!1,protect:!0}),f={scheduleId:b,worktreeId:a,cronJob:e,isExecuting:!1,entry:c};return e.schedule(()=>{x(f).catch(a=>{y.error("execution:unhandled",{name:c.name,error:a instanceof Error?a.message:String(a)})})}),f}function B(){return globalThis.__scheduleManagerStates||(globalThis.__scheduleManagerStates={timerId:null,schedules:new Map,initialized:!1,isSyncing:!1,cmateFileCache:new Map}),globalThis.__scheduleManagerStates}async function C(){let a=B();if(!a.isSyncing){a.isSyncing=!0;try{let b=function(){try{return t().prepare("SELECT id, path FROM worktrees").all()}catch(a){return s.error("worktree:fetch-failed",{error:a instanceof Error?a.message:String(a)}),[]}}(),c=new Set;for(let d of b)try{let b=function(a){let b=g().join(a,k.fp);try{return(0,r.statSync)(b).mtimeMs}catch(a){if(a instanceof Error&&"code"in a&&"ENOENT"===a.code)return null;return s.warn("file:stat-failed",{filePath:b}),null}}(d.path),e=a.cmateFileCache.get(d.path);if(null===b){void 0!==e&&a.cmateFileCache.delete(d.path);continue}let f=[],l=!1;for(let[b,c]of a.schedules)c.worktreeId===d.id&&(f.push(b),z(c.cronJob)||(l=!0));if(void 0!==e&&e===b){if(!l){for(let a of f)c.add(a);continue}y.warn("schedule:inactive-state-detected",{worktreeId:d.id})}a.cmateFileCache.set(d.path,b);let n=await o(d.path);if(!n)continue;let p=n.get("Schedules");if(!p)continue;let u=function(a){let b=[];for(let c of a){let a;if(b.length>=k.QD){m.warn("maximum-schedule-entries");break}if(c.length<3){m.warn("parse:insufficient-columns",{columnCount:c.length});continue}let[d,e,f,g,l,n]=c,o=(0,k.j0)(d);if(!k.Vh.test(o)){m.warn("parse:invalid-name",{name:o});continue}if(!(0,k.ri)(e)){m.warn("parse:invalid-cron",{name:o,cron:e});continue}let p=(0,k.j0)(f);if(!p){m.warn("parse:empty-message",{name:o});continue}let q=void 0===l||""===l||"true"===l.toLowerCase(),{result:r,errors:s}=(0,i.zK)(g||"");if(s.length>0){m.warn("parse:invalid-cli-tool-column",{name:o,errors:s});continue}let t=r.cliToolId;if(!(0,h.hR)(t)){m.warn("parse:invalid-cli-tool",{name:o,cliToolId:t});continue}let u=j.Hf[t]??"",v=n?.trim()||u;switch(t){case"claude":a=j.kd;break;case"codex":a=j.o1;break;case"copilot":a=j.oN;break;case"antigravity":a=j.eb;break;case"command-code":a=j.Tp;break;default:a=[],v&&(m.warn("parse:permission-ignored",{name:o,cliToolId:t,permission:v}),v="")}a.length>0&&v&&!a.includes(v)&&(m.warn("parse:invalid-permission",{name:o,cliToolId:t,permission:v,defaultPermission:u}),v=u),b.push({name:o,cronExpression:e.trim(),message:p,cliToolId:t,enabled:q,permission:v,model:r.model,agent:r.agent,variant:r.variant,continueSession:r.continueSession,title:r.title})}return b}(p),v=function(a,b){if(0===b.length)return[];let c=t(),d=Date.now(),e=c.prepare("SELECT id, name FROM scheduled_executions WHERE worktree_id = ?").all(a),f=new Map;for(let a of e)f.set(a.name,a.id);let g=[],h=c.prepare(`
|
|
7
7
|
UPDATE scheduled_executions
|
|
8
8
|
SET message = ?, cron_expression = ?, cli_tool_id = ?, enabled = ?, updated_at = ?
|
|
9
9
|
WHERE id = ?
|
|
10
10
|
`),i=c.prepare(`
|
|
11
11
|
INSERT INTO scheduled_executions (id, worktree_id, name, message, cron_expression, cli_tool_id, enabled, created_at, updated_at)
|
|
12
12
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
13
|
-
`);return c.transaction(()=>{for(let c of b){let b=f.get(c.name);if(b)h.run(c.message,c.cronExpression,c.cliToolId,+!!c.enabled,d,b),g.push(b);else{let b=(0,q.randomUUID)();i.run(b,a,c.name,c.message,c.cronExpression,c.cliToolId,+!!c.enabled,d,d),g.push(b)}}})(),g}(d.id,u);for(let b=0;b<u.length;b++){let e=u[b],f=v[b];if(a.schedules.size>=100)return void y.warn("schedule:max-concurrent-reached",{limit:100});if(c.add(f),!e.enabled||!e.cronExpression){let b=a.schedules.get(f);b&&(b.cronJob.stop(),a.schedules.delete(f),y.info("schedule:disabled",{name:e.name}));continue}let g=a.schedules.get(f);if(g){if(!z(g.cronJob)){try{g.cronJob.stop()}catch{}let b=A(d.id,f,e);a.schedules.set(f,b),y.warn("schedule:recreated-inactive",{name:e.name,cron:e.cronExpression});continue}g.entry=e;continue}try{let b=A(d.id,f,e);a.schedules.set(f,b),y.info("schedule:created",{name:e.name,cron:e.cronExpression})}catch(a){y.warn("schedule:invalid-cron",{name:e.name,error:a instanceof Error?a.message:String(a)})}}}catch(a){y.error("schedule:sync-failed",{worktreeId:d.id,error:a instanceof Error?a.message:String(a)})}for(let[b,d]of a.schedules)c.has(b)||(d.cronJob.stop(),a.schedules.delete(b),y.info("schedule:removed-stale",{name:d.entry.name}));let d=b.map(a=>a.id);!function(a,b){if(0!==b.length)try{let c=t(),d=Date.now(),e=b.map(()=>"?").join(","),f=c.prepare(`SELECT id FROM scheduled_executions WHERE worktree_id IN (${e}) AND enabled = 1`).all(...b),g=0,h=c.prepare("UPDATE scheduled_executions SET enabled = 0, updated_at = ? WHERE id = ?");for(let b of f)!a.has(b.id)&&(h.run(d,b.id),g++);g>0&&s.info("schedule:disabled-stale",{count:g})}catch(a){s.error("schedule:disable-stale-failed",{error:a instanceof Error?a.message:String(a)})}}(c,d)}finally{a.isSyncing=!1}}}async function D(){await C()}function E(a){let b=B();for(let[c,d]of b.schedules)if(d.worktreeId===a){try{d.cronJob.stop()}catch{}b.schedules.delete(c)}try{let d=(function(){let{getDbInstance:a}=c(88807);return a()})().prepare("SELECT path FROM worktrees WHERE id = ?").get(a);d?.path&&b.cmateFileCache.delete(d.path)}catch{y.warn("cache:cleanup-failed",{worktreeId:a})}y.info("stop:worktree",{worktreeId:a})}function F(a){let b=B(),c=[];for(let[d,e]of b.schedules){if(e.worktreeId!==a)continue;let b=null;try{let a="function"==typeof e.cronJob.nextRun?e.cronJob.nextRun():null;a instanceof Date&&(b=a.getTime())}catch{b=null}c.push({scheduleId:d,worktreeId:a,name:e.entry.name,cronExpression:e.entry.cronExpression,cliToolId:e.entry.cliToolId,enabled:e.entry.enabled,isExecuting:e.isExecuting,isCronActive:z(e.cronJob),nextRunAt:b,model:e.entry.model})}return c.sort((a,b)=>a.name.localeCompare(b.name)),c}},12540:(a,b,c)=>{c.d(b,{Vt:()=>g,aN:()=>h,zK:()=>m,HA:()=>n,nq:()=>j,JY:()=>i,sd:()=>k,kj:()=>l});var d=c(56263);let e=/^[a-zA-Z0-9][a-zA-Z0-9 ()./_-]*$/,f=/^[a-zA-Z0-9][a-zA-Z0-9\-._]*$/,g=new Set(["copilot","opencode"]),h=new Set(["opencode"]);function i(a){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:"Model name contains control characters"}:""===a.trim()?{valid:!1,reason:"Model name must not be empty"}:d.lM.test(a)?a.length>d.MJ?{valid:!1,reason:`Model name exceeds ${d.MJ} characters`}:{valid:!0}:{valid:!1,reason:"Model name contains invalid characters"}}function j(a){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:"Model name contains control characters"}:""===a.trim()?{valid:!1,reason:"Model name must not be empty"}:e.test(a)?a.length>128?{valid:!1,reason:"Model name exceeds 128 characters"}:{valid:!0}:{valid:!1,reason:"Model name contains invalid characters"}}function k(a,b){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:`opencode ${b} contains control characters`}:""===a.trim()?{valid:!1,reason:`opencode ${b} must not be empty`}:f.test(a)?a.length>64?{valid:!1,reason:`opencode ${b} exceeds 64 characters`}:{valid:!0}:{valid:!1,reason:`opencode ${b} contains invalid characters`}}function l(a){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:"opencode title contains control characters"}:""===a.trim()?{valid:!1,reason:"opencode title must not be empty"}:a.startsWith("-")?{valid:!1,reason:'opencode title must not start with "-"'}:a.includes("|")?{valid:!1,reason:'opencode title must not contain "|"'}:a.length>200?{valid:!1,reason:"opencode title exceeds 200 characters"}:{valid:!0}}function m(a){let b=[],c=function(a){let b=a.trim();if(!b)return{cliToolId:"claude",model:void 0};let{tokens:c,error:d}=function(a){let b=[],c="",d=!1,e=null;for(let f of a){if(e){f===e?e=null:c+=f;continue}if('"'===f||"'"===f){e=f,d=!0;continue}if(/\s/.test(f)){d&&(b.push(c),c="",d=!1);continue}c+=f,d=!0}return e?{tokens:[],error:"CLI Tool column has an unterminated quote"}:(d&&b.push(c),{tokens:b})}(b);if(d)return{cliToolId:b.split(/\s+/)[0],error:d};let e=c[0];return 1===c.length?{cliToolId:e,model:void 0}:g.has(e)?h.has(e)?function(a,b){let c={cliToolId:a},d=new Set,e=(a,c)=>{let d=b[c+1];return void 0===d||d.startsWith("-")?null:d};for(let f=0;f<b.length;f++){let g=b[f];if(d.has(g))return{cliToolId:a,error:`${a} option "${g}" is repeated`};switch(g){case"--model":case"-m":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add("--model"),d.add("-m"),c.model=b,f++;break}case"--agent":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add(g),c.agent=b,f++;break}case"--variant":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add(g),c.variant=b,f++;break}case"--title":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add(g),c.title=b,f++;break}case"--continue":case"-c":d.add("--continue"),d.add("-c"),c.continueSession=!0;break;default:return{cliToolId:a,error:`${a} only supports: opencode [--model <provider/model>] [--agent <name>] [--variant <name>] [--continue] [--title <text>]`}}}return c}(e,c.slice(1)):3===c.length&&"--model"===c[1]?{cliToolId:e,model:c[2]}:{cliToolId:e,error:`${e} only supports: ${e} --model <modelName>`}:{cliToolId:e,error:`CLI Tool "${e}" does not support additional options`}}(a);if(c.error&&b.push(c.error),c.model){let a=i(c.model);a.valid||b.push(a.reason)}if(c.agent){let a=k(c.agent,"agent");a.valid||b.push(a.reason)}if(c.variant){let a=k(c.variant,"variant");a.valid||b.push(a.reason)}if(c.title){let a=l(c.title);a.valid||b.push(a.reason)}return{result:c,errors:b}}function n(a){let b={};return a.model&&g.has(a.cliToolId)&&(b.model=a.model),h.has(a.cliToolId)&&(a.agent&&(b.agent=a.agent),a.variant&&(b.variant=a.variant),a.continueSession&&(b.continueSession=!0),a.title&&(b.title=a.title)),Object.keys(b).length>0?b:void 0}},15003:(a,b,c)=>{c.d(b,{QD:()=>h,Vh:()=>g,fp:()=>d,j0:()=>f,ri:()=>i});let d="CMATE.md",e=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F\x80-\x9F\u200B-\u200F\u2028-\u202F\uFEFF]/;function f(a){return a.replace(RegExp(e.source,"g"),"")}let g=/^[\w\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FFF\uF900-\uFAFF\s-]{1,100}$/,h=100;function i(a){if(a.length>100)return!1;let b=a.trim().split(/\s+/);return b.length>=5&&b.length<=6}},20137:(a,b,c)=>{c.d(b,{Ar:()=>d,Hf:()=>n,Ww:()=>e,XI:()=>o,eb:()=>i,iI:()=>q,kd:()=>f,o1:()=>g,oN:()=>h});let d=100,e=1e4,f=["default","acceptEdits","plan","dontAsk","bypassPermissions"],g=["read-only","workspace-write","danger-full-access"],h=["allow-all-tools","yolo"],i=["--dangerously-skip-permissions"],j=[],k=[],l=[],m=[],n={claude:"acceptEdits",codex:"workspace-write",gemini:"","vibe-local":"",opencode:"",copilot:"allow-all-tools",antigravity:"--dangerously-skip-permissions"};function o(a){switch(a){case"claude":return f;case"codex":return g;case"copilot":return h;case"antigravity":return i;case"gemini":return j;case"vibe-local":return k;case"opencode":return l;default:return m}}let p=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function q(a){return p.test(a)}},34207:(a,b,c)=>{c.d(b,{V$:()=>l,iv:()=>j,uv:()=>i});var d=c(79646),e=c(73434),f=c(85164),g=c(15194),h=c(20137);let i=1e4,j=new Set(g.XH);function k(a){return 102400>=Buffer.byteLength(a,"utf-8")?a:Buffer.from(a,"utf-8").subarray(0,102400).toString("utf-8")+"\n\n--- Output truncated (exceeded 100KB limit) ---"}async function l(a,b,c="claude",g,m){if(!j.has(c))return{output:"",exitCode:null,status:"failed",error:`Invalid CLI tool: ${c}`};let n=function(a,b,c,d){switch(b){case"codex":return["exec",a,"--sandbox",c??"workspace-write"];case"gemini":return["-p",a];case"vibe-local":if(d?.model)return["--model",d.model,"-p",a,"-y"];return["-p",a,"-y"];case"opencode":{let b=["run","--format","json"];return d?.model&&b.push("-m",d.model),d?.agent&&b.push("--agent",d.agent),d?.variant&&b.push("--variant",d.variant),d?.continueSession&&b.push("-c"),d?.title&&b.push("--title",d.title),b.push(a),b}case"antigravity":return["-p",a,"--dangerously-skip-permissions"];case"copilot":{let b=h.oN.includes(c)?c:"allow-all-tools",e=["copilot"];return d?.model&&e.push("--model",d.model),e.push("-p",a,`--${b}`),e}default:return["-p",a,"--output-format","text","--permission-mode",c??"acceptEdits"]}}(a.length>i?a.substring(0,i):a,c,g,m);return new Promise(a=>{let g=function(a){switch(a){case"copilot":return"gh";case"antigravity":return"agy";default:return a}}(c),h=(0,d.execFile)(g,n,{cwd:b,env:(0,e.hh)(),maxBuffer:0xa00000,timeout:m?.timeoutMs??9e5},(b,d,e)=>{if(b){let c=b.code,g="ERR_CHILD_PROCESS_STDIO_MAXBUFFER"===c,h=b.killed||"ETIMEDOUT"===c,i=[`Error: ${b.message}`,`Code: ${c??"unknown"}`,`Signal: ${b.signal??"none"}`,g?"Reason: stdout exceeded execFile maxBuffer (output_limit)":null].filter(a=>null!==a).join("\n");a({output:k((0,f.aJ)([i,d?`
|
|
13
|
+
`);return c.transaction(()=>{for(let c of b){let b=f.get(c.name);if(b)h.run(c.message,c.cronExpression,c.cliToolId,+!!c.enabled,d,b),g.push(b);else{let b=(0,q.randomUUID)();i.run(b,a,c.name,c.message,c.cronExpression,c.cliToolId,+!!c.enabled,d,d),g.push(b)}}})(),g}(d.id,u);for(let b=0;b<u.length;b++){let e=u[b],f=v[b];if(a.schedules.size>=100)return void y.warn("schedule:max-concurrent-reached",{limit:100});if(c.add(f),!e.enabled||!e.cronExpression){let b=a.schedules.get(f);b&&(b.cronJob.stop(),a.schedules.delete(f),y.info("schedule:disabled",{name:e.name}));continue}let g=a.schedules.get(f);if(g){if(!z(g.cronJob)){try{g.cronJob.stop()}catch{}let b=A(d.id,f,e);a.schedules.set(f,b),y.warn("schedule:recreated-inactive",{name:e.name,cron:e.cronExpression});continue}g.entry=e;continue}try{let b=A(d.id,f,e);a.schedules.set(f,b),y.info("schedule:created",{name:e.name,cron:e.cronExpression})}catch(a){y.warn("schedule:invalid-cron",{name:e.name,error:a instanceof Error?a.message:String(a)})}}}catch(a){y.error("schedule:sync-failed",{worktreeId:d.id,error:a instanceof Error?a.message:String(a)})}for(let[b,d]of a.schedules)c.has(b)||(d.cronJob.stop(),a.schedules.delete(b),y.info("schedule:removed-stale",{name:d.entry.name}));let d=b.map(a=>a.id);!function(a,b){if(0!==b.length)try{let c=t(),d=Date.now(),e=b.map(()=>"?").join(","),f=c.prepare(`SELECT id FROM scheduled_executions WHERE worktree_id IN (${e}) AND enabled = 1`).all(...b),g=0,h=c.prepare("UPDATE scheduled_executions SET enabled = 0, updated_at = ? WHERE id = ?");for(let b of f)!a.has(b.id)&&(h.run(d,b.id),g++);g>0&&s.info("schedule:disabled-stale",{count:g})}catch(a){s.error("schedule:disable-stale-failed",{error:a instanceof Error?a.message:String(a)})}}(c,d)}finally{a.isSyncing=!1}}}async function D(){await C()}function E(a){let b=B();for(let[c,d]of b.schedules)if(d.worktreeId===a){try{d.cronJob.stop()}catch{}b.schedules.delete(c)}try{let d=(function(){let{getDbInstance:a}=c(88807);return a()})().prepare("SELECT path FROM worktrees WHERE id = ?").get(a);d?.path&&b.cmateFileCache.delete(d.path)}catch{y.warn("cache:cleanup-failed",{worktreeId:a})}y.info("stop:worktree",{worktreeId:a})}function F(a){let b=B(),c=[];for(let[d,e]of b.schedules){if(e.worktreeId!==a)continue;let b=null;try{let a="function"==typeof e.cronJob.nextRun?e.cronJob.nextRun():null;a instanceof Date&&(b=a.getTime())}catch{b=null}c.push({scheduleId:d,worktreeId:a,name:e.entry.name,cronExpression:e.entry.cronExpression,cliToolId:e.entry.cliToolId,enabled:e.entry.enabled,isExecuting:e.isExecuting,isCronActive:z(e.cronJob),nextRunAt:b,model:e.entry.model})}return c.sort((a,b)=>a.name.localeCompare(b.name)),c}},12540:(a,b,c)=>{c.d(b,{Vt:()=>g,aN:()=>h,zK:()=>m,HA:()=>n,nq:()=>j,JY:()=>i,sd:()=>k,kj:()=>l});var d=c(56263);let e=/^[a-zA-Z0-9][a-zA-Z0-9 ()./_-]*$/,f=/^[a-zA-Z0-9][a-zA-Z0-9\-._]*$/,g=new Set(["copilot","opencode"]),h=new Set(["opencode"]);function i(a){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:"Model name contains control characters"}:""===a.trim()?{valid:!1,reason:"Model name must not be empty"}:d.lM.test(a)?a.length>d.MJ?{valid:!1,reason:`Model name exceeds ${d.MJ} characters`}:{valid:!0}:{valid:!1,reason:"Model name contains invalid characters"}}function j(a){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:"Model name contains control characters"}:""===a.trim()?{valid:!1,reason:"Model name must not be empty"}:e.test(a)?a.length>128?{valid:!1,reason:"Model name exceeds 128 characters"}:{valid:!0}:{valid:!1,reason:"Model name contains invalid characters"}}function k(a,b){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:`opencode ${b} contains control characters`}:""===a.trim()?{valid:!1,reason:`opencode ${b} must not be empty`}:f.test(a)?a.length>64?{valid:!1,reason:`opencode ${b} exceeds 64 characters`}:{valid:!0}:{valid:!1,reason:`opencode ${b} contains invalid characters`}}function l(a){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:"opencode title contains control characters"}:""===a.trim()?{valid:!1,reason:"opencode title must not be empty"}:a.startsWith("-")?{valid:!1,reason:'opencode title must not start with "-"'}:a.includes("|")?{valid:!1,reason:'opencode title must not contain "|"'}:a.length>200?{valid:!1,reason:"opencode title exceeds 200 characters"}:{valid:!0}}function m(a){let b=[],c=function(a){let b=a.trim();if(!b)return{cliToolId:"claude",model:void 0};let{tokens:c,error:d}=function(a){let b=[],c="",d=!1,e=null;for(let f of a){if(e){f===e?e=null:c+=f;continue}if('"'===f||"'"===f){e=f,d=!0;continue}if(/\s/.test(f)){d&&(b.push(c),c="",d=!1);continue}c+=f,d=!0}return e?{tokens:[],error:"CLI Tool column has an unterminated quote"}:(d&&b.push(c),{tokens:b})}(b);if(d)return{cliToolId:b.split(/\s+/)[0],error:d};let e=c[0];return 1===c.length?{cliToolId:e,model:void 0}:g.has(e)?h.has(e)?function(a,b){let c={cliToolId:a},d=new Set,e=(a,c)=>{let d=b[c+1];return void 0===d||d.startsWith("-")?null:d};for(let f=0;f<b.length;f++){let g=b[f];if(d.has(g))return{cliToolId:a,error:`${a} option "${g}" is repeated`};switch(g){case"--model":case"-m":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add("--model"),d.add("-m"),c.model=b,f++;break}case"--agent":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add(g),c.agent=b,f++;break}case"--variant":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add(g),c.variant=b,f++;break}case"--title":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add(g),c.title=b,f++;break}case"--continue":case"-c":d.add("--continue"),d.add("-c"),c.continueSession=!0;break;default:return{cliToolId:a,error:`${a} only supports: opencode [--model <provider/model>] [--agent <name>] [--variant <name>] [--continue] [--title <text>]`}}}return c}(e,c.slice(1)):3===c.length&&"--model"===c[1]?{cliToolId:e,model:c[2]}:{cliToolId:e,error:`${e} only supports: ${e} --model <modelName>`}:{cliToolId:e,error:`CLI Tool "${e}" does not support additional options`}}(a);if(c.error&&b.push(c.error),c.model){let a=i(c.model);a.valid||b.push(a.reason)}if(c.agent){let a=k(c.agent,"agent");a.valid||b.push(a.reason)}if(c.variant){let a=k(c.variant,"variant");a.valid||b.push(a.reason)}if(c.title){let a=l(c.title);a.valid||b.push(a.reason)}return{result:c,errors:b}}function n(a){let b={};return a.model&&g.has(a.cliToolId)&&(b.model=a.model),h.has(a.cliToolId)&&(a.agent&&(b.agent=a.agent),a.variant&&(b.variant=a.variant),a.continueSession&&(b.continueSession=!0),a.title&&(b.title=a.title)),Object.keys(b).length>0?b:void 0}},15003:(a,b,c)=>{c.d(b,{QD:()=>h,Vh:()=>g,fp:()=>d,j0:()=>f,ri:()=>i});let d="CMATE.md",e=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F\x80-\x9F\u200B-\u200F\u2028-\u202F\uFEFF]/;function f(a){return a.replace(RegExp(e.source,"g"),"")}let g=/^[\w\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FFF\uF900-\uFAFF\s-]{1,100}$/,h=100;function i(a){if(a.length>100)return!1;let b=a.trim().split(/\s+/);return b.length>=5&&b.length<=6}},20137:(a,b,c)=>{c.d(b,{Ar:()=>d,Hf:()=>o,Tp:()=>j,Ww:()=>e,XI:()=>p,eb:()=>i,iI:()=>r,kd:()=>f,o1:()=>g,oN:()=>h});let d=100,e=1e4,f=["default","acceptEdits","plan","dontAsk","bypassPermissions"],g=["read-only","workspace-write","danger-full-access"],h=["allow-all-tools","yolo"],i=["--dangerously-skip-permissions"],j=["default","standard","plan","auto-accept","dont-ask"],k=[],l=[],m=[],n=[],o={claude:"acceptEdits",codex:"workspace-write",gemini:"","vibe-local":"",opencode:"",copilot:"allow-all-tools",antigravity:"--dangerously-skip-permissions","command-code":"default"};function p(a){switch(a){case"claude":return f;case"codex":return g;case"copilot":return h;case"antigravity":return i;case"command-code":return j;case"gemini":return k;case"vibe-local":return l;case"opencode":return m;default:return n}}let q=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function r(a){return q.test(a)}},34207:(a,b,c)=>{c.d(b,{V$:()=>o,iv:()=>j,uv:()=>i});var d=c(79646),e=c(73434),f=c(85164),g=c(15194),h=c(20137);let i=1e4,j=new Set(g.XH);function k(a){return 102400>=Buffer.byteLength(a,"utf-8")?a:Buffer.from(a,"utf-8").subarray(0,102400).toString("utf-8")+"\n\n--- Output truncated (exceeded 100KB limit) ---"}let l={1:"error",3:"authentication failed",4:"permission denied",5:"rate limited",6:"connection error",7:"server error",8:"max turns reached",9:"no response",10:"insufficient credits",130:"interrupted"};function m(a){let b=null;for(let c of a.split("\n")){let a,d=c.trim();if(!d.startsWith("{"))continue;try{a=JSON.parse(d)}catch{continue}if("object"!=typeof a||null===a)continue;let e=a;"result"===e.type&&"string"==typeof e.subtype&&(b={subtype:e.subtype,finalText:"string"==typeof e.finalText?e.finalText:"",..."string"==typeof e.error?{error:e.error}:{}})}return b}function n(a,b){let c=null!==b&&"success"!==b.subtype;if((null===a||0===a)&&!c)return null;let d=[];if(null!==a&&0!==a){let b=l[a];d.push(b?`exit ${a} (${b})`:`exit ${a}`)}return b&&(d.push(`subtype=${b.subtype}`),b.error&&d.push(b.error)),`Reason: command-code ${d.join(" / ")}`}async function o(a,b,c="claude",g,l){if(!j.has(c))return{output:"",exitCode:null,status:"failed",error:`Invalid CLI tool: ${c}`};let p=function(a,b,c,d){switch(b){case"codex":return["exec",a,"--sandbox",c??"workspace-write"];case"gemini":return["-p",a];case"vibe-local":if(d?.model)return["--model",d.model,"-p",a,"-y"];return["-p",a,"-y"];case"opencode":{let b=["run","--format","json"];return d?.model&&b.push("-m",d.model),d?.agent&&b.push("--agent",d.agent),d?.variant&&b.push("--variant",d.variant),d?.continueSession&&b.push("-c"),d?.title&&b.push("--title",d.title),b.push(a),b}case"command-code":{let b=["-p",a,"--output-format","json"];return h.Tp.includes(c)?b.push("--permission-mode",c):b.push("--yolo"),b}case"antigravity":return["-p",a,"--dangerously-skip-permissions"];case"copilot":{let b=h.oN.includes(c)?c:"allow-all-tools",e=["copilot"];return d?.model&&e.push("--model",d.model),e.push("-p",a,`--${b}`),e}default:return["-p",a,"--output-format","text","--permission-mode",c??"acceptEdits"]}}(a.length>i?a.substring(0,i):a,c,g,l);return new Promise(a=>{let g=function(a){switch(a){case"copilot":return"gh";case"antigravity":return"agy";case"command-code":return"commandcode";default:return a}}(c),h=(0,d.execFile)(g,p,{cwd:b,env:(0,e.hh)(),maxBuffer:0xa00000,timeout:l?.timeoutMs??9e5},(b,d,e)=>{if(b){let g=b.code,h="ERR_CHILD_PROCESS_STDIO_MAXBUFFER"===g,i=b.killed||"ETIMEDOUT"===g,j="command-code"===c?m(d||""):null,l="number"==typeof g?g:null,o=[`Error: ${b.message}`,`Code: ${g??"unknown"}`,`Signal: ${b.signal??"none"}`,h?"Reason: stdout exceeded execFile maxBuffer (output_limit)":null,"command-code"===c?n(l,j):null].filter(a=>null!==a).join("\n"),p=j?j.finalText:d||"";a({output:k((0,f.aJ)([o,p?`
|
|
14
14
|
--- stdout ---
|
|
15
|
-
${
|
|
15
|
+
${p}`:"",e?`
|
|
16
16
|
--- stderr ---
|
|
17
|
-
${e}`:""].join("\n"))),exitCode:
|
|
17
|
+
${e}`:""].join("\n"))),exitCode:l,status:i?"timeout":"failed",error:b.message});return}if("command-code"===c){let b=m(d||""),c=n(0,b),e=b?b.finalText:d||"";a({output:k((0,f.aJ)(c?`${c}
|
|
18
|
+
${e}`:e)),exitCode:0,status:c?"failed":"completed",...c?{error:c}:{}});return}let g="opencode"===c?function(a){let b=[],c=null;for(let d of a.split("\n")){let a,e=d.trim();if(!e.startsWith("{"))continue;try{a=JSON.parse(e)}catch{continue}if("object"!=typeof a||null===a)continue;let f=a,g="object"==typeof f.part&&null!==f.part?f.part:null;if("text"===f.type&&g&&"string"==typeof g.text){b.push({messageId:"string"==typeof g.messageID?g.messageID:null,text:g.text});continue}"error"===f.type&&(c=function(a){let b="object"==typeof a.error&&null!==a.error?a.error:{},c="string"==typeof b.name?b.name:"error",d="object"==typeof b.data&&null!==b.data?b.data:{},e="string"==typeof d.message?d.message:"";return e?`opencode error: ${c}: ${e}`:`opencode error: ${c}`}(f))}if(b.length>0){let a=b[b.length-1].messageId;return(null===a?[b[b.length-1]]:b.filter(b=>b.messageId===a)).map(a=>a.text).join("\n\n")}return c}(d||"")??d??"":d||"";a({output:k((0,f.aJ)(g)),exitCode:0,status:"completed"})});if(h.stdin?.end(),h.pid){let a=(globalThis.__scheduleActiveProcesses||(globalThis.__scheduleActiveProcesses=new Map),globalThis.__scheduleActiveProcesses);a.set(h.pid,h),h.on("exit",()=>{a.delete(h.pid)})}})}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=4299,exports.ids=[4299],exports.modules={8953:(a,b,c)=>{c.d(b,{Mx:()=>e,qD:()=>d,sM:()=>h});let d=["Up","Down","Left","Right","Enter","Escape","Tab","BTab","PageUp","PageDown","Home","End","q"],e="C-x",f=["a","l","n","t","m","g","u","r","c"],g=["C-p","C-t"],h=[...d,e,...g,...f];[...d,...g,...f]},40964:(a,b,c)=>{c.d(b,{m:()=>g});var d=c(15194);let e=/^[a-zA-Z0-9_-]+$/;function f(a){if(!e.test(a))throw Error(`Invalid session name format: ${a}`)}function g(a,b,c){let e=`mcbd-${a}-${b}`;if(!c||c===a)return f(e),e;let g=(0,d.pL)(c,a),h=g?`${e}-${g}`:e;return f(h),h}},79892:(a,b,c)=>{c.d(b,{Xg:()=>v,ou:()=>A,Ce:()=>z,jw:()=>r,lA:()=>m,nS:()=>p,N:()=>o,N6:()=>B,fY:()=>w,GW:()=>q,zT:()=>n,V1:()=>s,ds:()=>y,KB:()=>u,Sb:()=>C});var d=c(79646),e=c(28354),f=c(93997),g=c(16983),h=c(72626),i=c(8953),j=c(86069);let k=(0,e.promisify)(d.execFile),l=(0,h.h)("tmux");function m(a){return`=${a}:`}async function n(a,b={}){let c,d,e,f=b.windowWidth??g.Jn,h=b.windowHeight??g.sO,i=m(a);try{c=(await k("tmux",["show-window-options","-v","-t",i,"window-size"],{timeout:5e3})).stdout.trim();let[a,b]=(await k("tmux",["display-message","-p","-t",i,"#{window_width}|#{window_height}"],{timeout:5e3})).stdout.trim().split("|").map(Number);Number.isFinite(a)&&(d=a),Number.isFinite(b)&&(e=b)}catch{}let j="manual"===c,o=d===f&&e===h;if(j&&o)return!1;try{return j||await k("tmux",["set-window-option","-t",i,"window-size","manual"],{timeout:5e3}),o||await k("tmux",["resize-window","-t",i,"-x",String(f),"-y",String(h)],{timeout:5e3}),!0}catch(b){return l.warn("session-geometry:reconcile-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}async function o(a){try{return await k("tmux",["has-session","-t",m(a)],{timeout:5e3}),!0}catch{return!1}}async function p(a){try{let{stdout:b}=await k("tmux",["display-message","-p","-t",m(a),"#{session_path}"],{timeout:5e3}),c=b.trim();return""===c?null:c}catch{return null}}async function q(){try{let{stdout:a}=await k("tmux",["list-sessions","-F","#{session_name}|#{session_windows}|#{session_attached}"],{timeout:5e3});if(!a||""===a.trim())return[];return a.trim().split("\n").map(a=>{let[b,c,d]=a.split("|");return{name:b,windows:parseInt(c,10)||0,attached:"1"===d}})}catch{return[]}}async function r(a,b){let c,d,e,f,h;"string"==typeof a?(c=a,d=b,e=g.eu,f=g.Jn,h=g.sO):(c=a.sessionName,d=a.workingDirectory,e=a.historyLimit||g.eu,f=a.windowWidth||g.Jn,h=a.windowHeight||g.sO);try{await k("tmux",["new-session","-d","-s",c,"-c",d,"-x",String(f),"-y",String(h)],{timeout:5e3}),await k("tmux",["set-option","-t",m(c),"history-limit",String(e)],{timeout:5e3});try{await k("tmux",["new-window","-k","-t",`${m(c)}0`,"-c",d],{timeout:5e3})}catch(a){l.warn("session-history-limit:window-rebuild-failed",{sessionName:c,historyLimit:e,error:a instanceof Error?a.message:String(a)})}await n(c,{windowWidth:f,windowHeight:h})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to create tmux session: ${a}`)}}async function s(a,b,c=!0,d){if(d?.literal&&c)throw Error("sendKeys: { literal: true } cannot be combined with sendEnter — a trailing C-m would be typed as text. Send Enter as a separate key.");let e=d?.literal?function(a,b){if("literal"===b.kind)return["send-keys","-t",a,"-l","--",b.text];if(!(0,j.vY)(b.name))throw Error(`Invalid key sequence key name: ${b.name}`);return["send-keys","-t",a,"--",b.name]}(m(a),{kind:"literal",text:b}):c?["send-keys","-t",m(a),b,"C-m"]:["send-keys","-t",m(a),b];try{await k("tmux",e,{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send keys to tmux session: ${a}`)}}let t=new Set(["Up","Down","Left","Right","Enter","Space","Tab","Escape","BTab","BSpace","DC","PageUp","PageDown","Home","End","q","C-x","C-p","C-t","a","l","n","t","m","g","u","r","c"]);async function u(a,b){if(0!==b.length){for(let a of b)if(!t.has(a))throw Error(`Invalid special key: ${a}`);try{for(let c=0;c<b.length;c++)await k("tmux",["send-keys","-t",m(a),b[c]],{timeout:5e3}),c<b.length-1&&await new Promise(a=>setTimeout(a,100))}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send special keys to tmux session: ${a}`)}}}async function v(a,b){let c,d;"number"==typeof b?(c=-b,d="-"):b?(c=b.startLine??-1e4,d=b.endLine??"-"):(c=-1e3,d="-");try{let{stdout:b}=await k("tmux",["capture-pane","-t",m(a),"-p","-e","-S",String(c),"-E",String(d)],{timeout:5e3,maxBuffer:0xa00000});return b}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to capture pane: ${a}`)}}async function w(a){try{return await k("tmux",["kill-session","-t",m(a)],{timeout:5e3}),!0}catch(b){let a=b instanceof Error?b.message:String(b);if(a?.includes("no server running")||a?.includes("can't find session"))return!1;throw Error(`Failed to kill tmux session: ${a}`)}}let x=new Set(["Escape","C-c","C-d","C-m","Enter"]);async function y(a,b){if(!x.has(b))throw Error(`Invalid special key: ${b}`);try{await k("tmux",["send-keys","-t",m(a),b],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send special key: ${a}`)}}async function z(a){try{await k("tmux",["send-keys","-t",m(a),"C-u"],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to clear tmux input line: ${a}`)}}async function A(a){try{await k("tmux",["send-keys","-t",m(a),"C-e","C-u"],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to clear tmux composer line: ${a}`)}}function B(a,b=i.qD){return b.includes(a)&&t.has(a)}async function C(a,b){await u(a,b),(0,f.gm)(a)}},86069:(a,b,c)=>{c.d(b,{IS:()=>e,iF:()=>f,vY:()=>g});let d=["Escape","C-c","C-d","C-m","Enter"];function e(a,b){return void 0===b?{kind:"key",name:a}:{kind:"key",name:a,delayAfterMs:b}}function f(a,b){return void 0===b?{kind:"literal",text:a}:{kind:"literal",text:a,delayAfterMs:b}}function g(a){return d.includes(a)}},93997:(a,b,c)=>{c.d(b,{aq:()=>m,gm:()=>k,pc:()=>l,sl:()=>f,vF:()=>j,wd:()=>i,xE:()=>e});let d=(0,c(72626).h)("tmux-capture-cache"),e=1e4;function f(a,b=e){return b>0&&a>=b}function g(){return globalThis.__tmuxCaptureCache??=new Map}function h(){return globalThis.__tmuxCaptureCacheInflight??=new Map}function i(a,b){if(""===a)return"";let c=a.split("\n");return b>=c.length?a:c.slice(-b).join("\n")}function j(a,b,c){let d=g(),e=Date.now();for(let[a,b]of d)e-b.timestamp>5e3&&d.delete(a);if(d.size>=100&&!d.has(a)){let a=null,b=1/0;for(let[c,e]of d)e.timestamp<b&&(b=e.timestamp,a=c);a&&d.delete(a)}d.set(a,{output:b,capturedLines:c,timestamp:e})}function k(a){g().delete(a),d.debug("cache:invalidate",{sessionName:a})}function l(){g().clear(),h().clear()}async function m(a,b,c){let d=function(a,b){let c=g(),d=c.get(a);return d?Date.now()-d.timestamp>5e3?(c.delete(a),null):b>d.capturedLines?null:i(d.output,b):null}(a,b);if(null!==d)return d;let f=h(),k=f.get(a);if(k)return i(await k,b);let l=c();f.set(a,l);try{let c=await l;return c.length>0&&j(a,c,e),i(c,b)}finally{f.delete(a)}}}};
|
|
1
|
+
"use strict";exports.id=4299,exports.ids=[4299],exports.modules={8953:(a,b,c)=>{c.d(b,{Mx:()=>f,pU:()=>e,qD:()=>d,sM:()=>i});let d=["Up","Down","Left","Right","Enter","Escape","Tab","BTab","PageUp","PageDown","Home","End","q","1","2","3","4","5","6","7","8","9","y","n"],e=[...d,"s"],f="C-x",g=["C-p","C-t"],h=["a","l","t","m","g","u","r","c"],i=[...d,f,...g,...h];[...d,...g,...h]},31442:(a,b,c)=>{c.d(b,{$D:()=>u,Bl:()=>z,Fk:()=>s,HL:()=>e,Ix:()=>y,KB:()=>t,L0:()=>k,Ls:()=>L,N2:()=>m,ND:()=>p,N_:()=>g,RS:()=>N,Rr:()=>J,Ys:()=>r,bq:()=>n,cD:()=>q,eC:()=>h,g4:()=>K,gM:()=>E,jp:()=>i,jx:()=>F,lY:()=>o,n9:()=>B,om:()=>v,sL:()=>M,tx:()=>l,wv:()=>j});var d=c(16983);let e="mcbd-";function f(a){return`=${a}:`}function g(a){return a.startsWith(e)}let h="@cm_status",i="@cm_worktree",j="@cm_tool",k="@cm_instance",l="@cm_updated",m="@cm_delegated",n=[h,i,j,k,l,m],o="[CommandMate #{@cm_tool}/#{@cm_instance} #{@cm_status}] #{window_width}x#{window_height}";function p(a,b,c){return["set-option","-t",f(a),b,c]}function q(a,b){return["set-option","-u","-t",f(a),b]}function r(a,b){return["show-options","-t",f(a),b]}function s(a,b){return["show-options","-v","-t",f(a),b]}function t(a,b){return p(a,"status-right",b)}function u(a){return q(a,"status-right")}function v(a=process.env){let b=(a.CM_TMUX_STATUS??"").trim().toLowerCase();return"off"!==b&&"0"!==b&&"false"!==b}function w(a,b,c){return["set-hook","-t",f(a),b,c]}function x(a,b){return["set-hook","-u","-t",f(a),b]}function y(a){return["list-clients","-t",f(a),"-F","#{client_control_mode}"]}function z(a){return a.split("\n").map(a=>a.trim()).filter(a=>"0"===a).length}let A=["claude"];function B(a){return!!g(a)&&A.some(b=>a.startsWith(`${e}${b}-`))}let C="client-attached[0]",D="client-attached[1]";function E(a=process.env){return"on"===(a.CM_LIVE_ATTACH_HOOK??"").trim().toLowerCase()}function F(a=process.env){return"on"===(a.CM_READ_MODE_AUTO_POPUP??"").trim().toLowerCase()}function G(a){if(!/["$`\\\n\r]/.test(a))return`"${a}"`}function H(a,b,c=[]){let d=[a,...b,...c].join(" ");return`run-shell -b '${d}'`}let I=["#{session_name}","#{client_control_mode}","#{client_name}"];function J(a,b){let c=G(b);if(void 0!==c)return w(a,C,H(c,I))}function K(a){return x(a,C)}function L(a,b){let c=G(b);if(void 0!==c)return w(a,D,H(c,I))}function M(a){return x(a,D)}function N(a,b=d.Jn,c=d.sO){return[["set-window-option","-t",f(a),"window-size","manual"],["resize-window","-t",f(a),"-x",String(b),"-y",String(c)],q(a,m)]}},40964:(a,b,c)=>{c.d(b,{m:()=>g});var d=c(15194);let e=/^[a-zA-Z0-9_-]+$/;function f(a){if(!e.test(a))throw Error(`Invalid session name format: ${a}`)}function g(a,b,c){let e=`mcbd-${a}-${b}`;if(!c||c===a)return f(e),e;let g=(0,d.pL)(c,a),h=g?`${e}-${g}`:e;return f(h),h}},79892:(a,b,c)=>{c.d(b,{Xg:()=>w,ou:()=>B,Ce:()=>A,jw:()=>s,lA:()=>n,nS:()=>q,N:()=>p,N6:()=>C,fY:()=>x,GW:()=>r,zT:()=>o,V1:()=>t,ds:()=>z,KB:()=>v,Sb:()=>D});var d=c(79646),e=c(28354),f=c(93997),g=c(83598),h=c(16983),i=c(72626),j=c(8953),k=c(86069);let l=(0,e.promisify)(d.execFile),m=(0,i.h)("tmux");function n(a){return`=${a}:`}async function o(a,b={}){let c,d,e,f=b.windowWidth??h.Jn,i=b.windowHeight??h.sO,j=n(a);try{c=(await l("tmux",["show-window-options","-v","-t",j,"window-size"],{timeout:5e3})).stdout.trim();let[a,b]=(await l("tmux",["display-message","-p","-t",j,"#{window_width}|#{window_height}"],{timeout:5e3})).stdout.trim().split("|").map(Number);Number.isFinite(a)&&(d=a),Number.isFinite(b)&&(e=b)}catch{}let k="manual"===c,p=d===f&&e===i;if(k&&p)return!1;if((b.respectAttachedClient??!0)&&await (0,g.Fh)(a))return m.info("session-geometry:delegated-to-client",{sessionName:a}),!1;try{return k||await l("tmux",["set-window-option","-t",j,"window-size","manual"],{timeout:5e3}),p||await l("tmux",["resize-window","-t",j,"-x",String(f),"-y",String(i)],{timeout:5e3}),!0}catch(b){return m.warn("session-geometry:reconcile-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}async function p(a){try{return await l("tmux",["has-session","-t",n(a)],{timeout:5e3}),!0}catch{return!1}}async function q(a){try{let{stdout:b}=await l("tmux",["display-message","-p","-t",n(a),"#{session_path}"],{timeout:5e3}),c=b.trim();return""===c?null:c}catch{return null}}async function r(){try{let{stdout:a}=await l("tmux",["list-sessions","-F","#{session_name}|#{session_windows}|#{session_attached}"],{timeout:5e3});if(!a||""===a.trim())return[];return a.trim().split("\n").map(a=>{let[b,c,d]=a.split("|");return{name:b,windows:parseInt(c,10)||0,attached:"1"===d}})}catch{return[]}}async function s(a,b){let c,d,e,f,g;"string"==typeof a?(c=a,d=b,e=h.eu,f=h.Jn,g=h.sO):(c=a.sessionName,d=a.workingDirectory,e=a.historyLimit||h.eu,f=a.windowWidth||h.Jn,g=a.windowHeight||h.sO);try{await l("tmux",["new-session","-d","-s",c,"-c",d,"-x",String(f),"-y",String(g)],{timeout:5e3}),await l("tmux",["set-option","-t",n(c),"history-limit",String(e)],{timeout:5e3});try{await l("tmux",["new-window","-k","-t",`${n(c)}0`,"-c",d],{timeout:5e3})}catch(a){m.warn("session-history-limit:window-rebuild-failed",{sessionName:c,historyLimit:e,error:a instanceof Error?a.message:String(a)})}await o(c,{windowWidth:f,windowHeight:g,respectAttachedClient:!1})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to create tmux session: ${a}`)}}async function t(a,b,c=!0,d){if(d?.literal&&c)throw Error("sendKeys: { literal: true } cannot be combined with sendEnter — a trailing C-m would be typed as text. Send Enter as a separate key.");let e=d?.literal?function(a,b){if("literal"===b.kind)return["send-keys","-t",a,"-l","--",b.text];if(!(0,k.vY)(b.name))throw Error(`Invalid key sequence key name: ${b.name}`);return["send-keys","-t",a,"--",b.name]}(n(a),{kind:"literal",text:b}):c?["send-keys","-t",n(a),b,"C-m"]:["send-keys","-t",n(a),b];try{await l("tmux",e,{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send keys to tmux session: ${a}`)}}let u=new Set(["Up","Down","Left","Right","Enter","Space","Tab","Escape","BTab","BSpace","DC","PageUp","PageDown","Home","End","q","1","2","3","4","5","6","7","8","9","y","s","C-x","C-p","C-t","a","l","n","t","m","g","u","r","c"]);async function v(a,b){if(0!==b.length){for(let a of b)if(!u.has(a))throw Error(`Invalid special key: ${a}`);try{for(let c=0;c<b.length;c++)await l("tmux",["send-keys","-t",n(a),b[c]],{timeout:5e3}),c<b.length-1&&await new Promise(a=>setTimeout(a,100))}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send special keys to tmux session: ${a}`)}}}async function w(a,b){let c,d;"number"==typeof b?(c=-b,d="-"):b?(c=b.startLine??-1e4,d=b.endLine??"-"):(c=-1e3,d="-");try{let{stdout:b}=await l("tmux",["capture-pane","-t",n(a),"-p","-e","-S",String(c),"-E",String(d)],{timeout:5e3,maxBuffer:0xa00000});return b}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to capture pane: ${a}`)}}async function x(a){try{return await l("tmux",["kill-session","-t",n(a)],{timeout:5e3}),!0}catch(b){let a=b instanceof Error?b.message:String(b);if(a?.includes("no server running")||a?.includes("can't find session"))return!1;throw Error(`Failed to kill tmux session: ${a}`)}}let y=new Set(["Escape","C-c","C-d","C-m","Enter"]);async function z(a,b){if(!y.has(b))throw Error(`Invalid special key: ${b}`);try{await l("tmux",["send-keys","-t",n(a),b],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send special key: ${a}`)}}async function A(a){try{await l("tmux",["send-keys","-t",n(a),"C-u"],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to clear tmux input line: ${a}`)}}async function B(a){try{await l("tmux",["send-keys","-t",n(a),"C-e","C-u"],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to clear tmux composer line: ${a}`)}}function C(a,b=j.qD){return b.includes(a)&&u.has(a)}async function D(a,b){await v(a,b),(0,f.gm)(a);let c=setTimeout(()=>(0,f.gm)(a),250);c.unref?.()}},83598:(a,b,c)=>{c.d(b,{Fh:()=>l,G9:()=>m,Us:()=>j,zQ:()=>k});var d=c(79646),e=c(28354),f=c(31442);let g=(0,e.promisify)(d.execFile),h=globalThis.__cmGeometryDelegationCache??(globalThis.__cmGeometryDelegationCache=new Map),i=globalThis.__cmGeometryDelegationEdge??(globalThis.__cmGeometryDelegationEdge=new Map);async function j(a,b=Date.now()){let c=h.get(a);if(c&&b-c.readAt<1e3)return c.delegated;let d=!1;try{let{stdout:b}=await g("tmux",(0,f.Fk)(a,f.N2),{timeout:5e3});d="1"===b.trim()}catch{d=!1}return h.set(a,{delegated:d,readAt:b}),d}async function k(a,b=Date.now()){let c=await j(a,b),d=i.get(a)??!1;return i.set(a,c),{delegated:c,released:d&&!c}}async function l(a){try{let{stdout:b}=await g("tmux",(0,f.Ix)(a),{timeout:5e3});return(0,f.Bl)(b)>0}catch{return!1}}function m(a){h.delete(a),i.delete(a)}},86069:(a,b,c)=>{c.d(b,{IS:()=>e,iF:()=>f,vY:()=>g});let d=["Escape","C-c","C-d","C-m","Enter"];function e(a,b){return void 0===b?{kind:"key",name:a}:{kind:"key",name:a,delayAfterMs:b}}function f(a,b){return void 0===b?{kind:"literal",text:a}:{kind:"literal",text:a,delayAfterMs:b}}function g(a){return d.includes(a)}},93997:(a,b,c)=>{c.d(b,{aq:()=>m,gm:()=>k,pc:()=>l,sl:()=>f,vF:()=>j,wd:()=>i,xE:()=>e});let d=(0,c(72626).h)("tmux-capture-cache"),e=1e4;function f(a,b=e){return b>0&&a>=b}function g(){return globalThis.__tmuxCaptureCache??=new Map}function h(){return globalThis.__tmuxCaptureCacheInflight??=new Map}function i(a,b){if(""===a)return"";let c=a.split("\n");return b>=c.length?a:c.slice(-b).join("\n")}function j(a,b,c){let d=g(),e=Date.now();for(let[a,b]of d)e-b.timestamp>5e3&&d.delete(a);if(d.size>=100&&!d.has(a)){let a=null,b=1/0;for(let[c,e]of d)e.timestamp<b&&(b=e.timestamp,a=c);a&&d.delete(a)}d.set(a,{output:b,capturedLines:c,timestamp:e})}function k(a){g().delete(a),d.debug("cache:invalidate",{sessionName:a})}function l(){g().clear(),h().clear()}async function m(a,b,c){let d=function(a,b){let c=g(),d=c.get(a);return d?Date.now()-d.timestamp>5e3?(c.delete(a),null):b>d.capturedLines?null:i(d.output,b):null}(a,b);if(null!==d)return d;let f=h(),k=f.get(a);if(k)return i(await k,b);let l=c();f.set(a,l);try{let c=await l;return c.length>0&&j(a,c,e),i(c,b)}finally{f.delete(a)}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=4393,exports.ids=[4393,7836],exports.modules={23197:(a,b,c)=>{c.d(b,{$M:()=>e,H1:()=>d,q5:()=>f});let d="__global__",e=2e3,f=900},32002:(a,b,c)=>{c.d(b,{e:()=>h});var d=c(56791),e=c(26923),f=c(52201),g=c(15194);function h(a,b,c){let h=(0,d.getAgentInstances)(a,b);return h.length>0?h:(0,g.lu)((0,f.eG)({worktree:c,appSettings:(0,e.Ds)(a)}))}},57836:(a,b,c)=>{c.d(b,{Jp:()=>k,Te:()=>l,hd:()=>j,wN:()=>h});var d=c(24455);let e=(0,c(72626).h)("waiting-episode-state"),f=globalThis.__sessionWaitingEpisodes??(globalThis.__sessionWaitingEpisodes=new Map),g=globalThis.__sessionWaitingTransitionListeners??(globalThis.__sessionWaitingTransitionListeners=new Set);function h(a){return g.add(a),()=>{g.delete(a)}}function i(a){for(let b of g)try{b(a)}catch(b){e.error("waiting-transition-listener-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,waiting:a.waiting,error:b instanceof Error?b.message:String(b)})}}function j({worktreeId:a,cliToolId:b,instanceId:c,waiting:e,kind:g=null,structuredSince:h=null,now:j=Date.now()}){let k=(0,d.v7)(a,b,c),l=f.get(k);if(!e)return void 0===l||(f.delete(k),i({worktreeId:a,cliToolId:b,instanceId:c,waiting:!1,since:null,kind:null,at:j})),null;if(void 0!==l)return l.kind=g,l.since;let m=h??j;return f.set(k,{since:m,kind:g}),i({worktreeId:a,cliToolId:b,instanceId:c,waiting:!0,since:m,kind:g,at:j}),m}function k(a,b,c){return f.get((0,d.v7)(a,b,c))??null}function l(a){let b=`${a}${d.CS}`;for(let a of f.keys())if(a.startsWith(b))return!0;return!1}},89398:(a,b,c)=>{c.d(b,{z:()=>v,B:()=>y});var d=c(
|
|
1
|
+
"use strict";exports.id=4393,exports.ids=[4393,7836],exports.modules={23197:(a,b,c)=>{c.d(b,{$M:()=>e,H1:()=>d,q5:()=>f});let d="__global__",e=2e3,f=900},32002:(a,b,c)=>{c.d(b,{e:()=>h});var d=c(56791),e=c(26923),f=c(52201),g=c(15194);function h(a,b,c){let h=(0,d.getAgentInstances)(a,b);return h.length>0?h:(0,g.lu)((0,f.eG)({worktree:c,appSettings:(0,e.Ds)(a)}))}},57836:(a,b,c)=>{c.d(b,{Jp:()=>k,Te:()=>l,hd:()=>j,wN:()=>h});var d=c(24455);let e=(0,c(72626).h)("waiting-episode-state"),f=globalThis.__sessionWaitingEpisodes??(globalThis.__sessionWaitingEpisodes=new Map),g=globalThis.__sessionWaitingTransitionListeners??(globalThis.__sessionWaitingTransitionListeners=new Set);function h(a){return g.add(a),()=>{g.delete(a)}}function i(a){for(let b of g)try{b(a)}catch(b){e.error("waiting-transition-listener-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,waiting:a.waiting,error:b instanceof Error?b.message:String(b)})}}function j({worktreeId:a,cliToolId:b,instanceId:c,waiting:e,kind:g=null,structuredSince:h=null,now:j=Date.now()}){let k=(0,d.v7)(a,b,c),l=f.get(k);if(!e)return void 0===l||(f.delete(k),i({worktreeId:a,cliToolId:b,instanceId:c,waiting:!1,since:null,kind:null,at:j})),null;if(void 0!==l)return l.kind=g,l.since;let m=h??j;return f.set(k,{since:m,kind:g}),i({worktreeId:a,cliToolId:b,instanceId:c,waiting:!0,since:m,kind:g,at:j}),m}function k(a,b,c){return f.get((0,d.v7)(a,b,c))??null}function l(a){let b=`${a}${d.CS}`;for(let a of f.keys())if(a.startsWith(b))return!0;return!1}},89398:(a,b,c)=>{c.d(b,{z:()=>v,B:()=>y});var d=c(43234),e=c(15194),f=c(31990),g=c(95595),h=c(37717),i=c(67882),j=c(23365),k=c(50945),l=c(45017),m=c(23197),n=c(30008),o=c(40043),p=c(57836),q=c(48083),r=c(26547),s=c(129),t=c(66101);let u=(0,c(72626).h)("lib/session/worktree-status-helper");function v(){return{probeCount:0,captureCount:0,healthCheckCount:0}}let w={prompt:3,menu:2,unclassified:1};async function x(a,b,d,e,m,v,w,x,y){let z=m.has(e),A=z,B=null;if(A){y&&y.healthCheckCount++;let a=await (0,k.S)(e,b);a.alive||(A=!1,B=a.reason)}let C=!1,D=!1,E=null,F=null,G=null,H=null;if(A)try{var I;let e=(0,j.y)(b).statusLines;y&&y.captureCount++;let h=await (0,f.Wh)(a,b,e,d),k=(0,l.v7)(a,b,d),m=(0,l.xU)(k),p=m?new Date(m):void 0,s=(0,g.WC)(h,b,p);(0,q.vm)(a,b,d,(0,r.jw)(b,h)),({isWaitingForResponse:C,isProcessing:D}=(0,i.O_)(s.status)),H=s.reason,G=s.evidence,(0,o.ox)(k,{status:s.status,reason:s.reason,evidence:G});let t=(0,n.xF)({worktreeId:a,cliToolId:b,instanceId:d,scraper:{status:s.status,reason:s.reason,hasActivePrompt:s.hasActivePrompt}});C=C||t.waiting,F=t.structured?.at??null,E=(I={waiting:C,hasActivePrompt:s.hasActivePrompt,scraperStatus:s.status,scraperReason:s.reason}).waiting?I.hasActivePrompt?"prompt":"waiting"===I.scraperStatus&&g.ug.has(I.scraperReason)?"menu":"unclassified":null,!s.hasActivePrompt&&w(v,a,{limit:10,cliToolId:b,instanceId:d}).some(a=>"prompt"===a.messageType&&a.promptData?.status!=="answered")&&x(v,a,b,d,b=>{Promise.all([c.e(1503),c.e(1719),c.e(6894),c.e(4325)]).then(c.bind(c,79129)).then(({broadcastMessage:c})=>{c("message_updated",{worktreeId:a,message:b})}).catch(b=>{u.warn("prompt-sweep-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})})})}catch{D=!0}let J=(0,p.hd)({worktreeId:a,cliToolId:b,instanceId:d,waiting:C,kind:E,structuredSince:F}),{model:K,effort:L}=(0,q.jl)(a,b,d),M=(0,l.v7)(a,b,d);A||(0,o.xG)(M);let N=A?(0,o.AD)(M):null,O=A?function(a,b,c){try{let d=(0,s.VM)(b),e=(0,t.Kf)(d,d.liveness({worktreeId:a,cliToolId:b,instanceId:c}),Date.now());if(void 0===e.degradedReason&&void 0===e.liveness)return null;return e}catch{return null}}(a,b,d):null;try{z?await (0,f.N5)({sessionName:e,worktreeId:a,cliToolId:b,instanceId:d,status:(0,i.kA)({isRunning:A,isWaitingForResponse:C,isProcessing:D})}):(0,f.Lw)(e)}catch(a){u.debug("tmux-surface:publish-failed",{sessionName:e,error:a instanceof Error?a.message:String(a)})}return{isRunning:A,isWaitingForResponse:C,isProcessing:D,waitingKind:E,waitingSince:J,awaitingInstruction:A&&(0,q.pI)(a,b,d),...null!==K?{model:K}:{},...null!==L?{reasoningEffort:L}:{},...null!==G?{statusEvidence:G}:{},...null!==H?{sessionStatusReason:H}:{},...null!==B?{sessionStatusReason:h.g.EXITED,statusEvidence:"positive"}:{},...null!==N?{lastKnownStatus:N.status,lastKnownStatusAt:N.at}:{},...null!==O?{eventSource:O}:{}}}async function y(a,b,c,f,g,h,i){if(a===m.H1)return{sessionStatusByCli:{},sessionStatusByInstance:{},isSessionRunning:!1,isWaitingForResponse:!1,isProcessing:!1};let j=d.CLIToolManager.getInstance(),k=e.XH,l=h(c,a).filter(a=>a.id!==a.cliTool),n=k.map(b=>({cliToolId:b,instanceId:b,sessionName:j.getTool(b).getSessionName(a,b)}));for(let b of l)n.push({cliToolId:b.cliTool,instanceId:b.id,sessionName:j.getTool(b.cliTool).getSessionName(a,b.id)});i&&(i.probeCount+=n.length);let o=await Promise.all(n.map(async d=>{let e=await x(a,d.cliToolId,d.instanceId,d.sessionName,b,c,f,g,i);return{...d,status:e}})),p={},q={};for(let{cliToolId:a,instanceId:b,status:c}of o){q[b]=c;let d=p[a];p[a]=d?function(a,b){var c,d,e,f;return{isRunning:a.isRunning||b.isRunning,isWaitingForResponse:a.isWaitingForResponse||b.isWaitingForResponse,isProcessing:a.isProcessing||b.isProcessing,waitingKind:(c=a.waitingKind,d=b.waitingKind,null===c?d:null===d||w[c]>=w[d]?c:d),waitingSince:(e=a.waitingSince,f=b.waitingSince,null===e?f:null===f?e:Math.min(e,f)),awaitingInstruction:a.awaitingInstruction||b.awaitingInstruction}}(d,c):c}let r=!1,s=!1,t=!1;for(let a of Object.values(p))a&&(a.isRunning&&(r=!0),a.isWaitingForResponse&&(s=!0),a.isProcessing&&(t=!0));return{sessionStatusByCli:p,sessionStatusByInstance:q,isSessionRunning:r,isWaitingForResponse:s,isProcessing:t}}}};
|
|
@@ -1,6 +1,2 @@
|
|
|
1
1
|
"use strict";exports.id=4443,exports.ids=[4443],exports.modules={2466:(a,b,c)=>{c.d(b,{ek:()=>h,u_:()=>g});var d=c(13287);function e(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function f(a,b){if("string"!=typeof a)return null;let c=a.trim();return""===c?null:c.slice(0,b)}function g(a){if(!e(a)||!Array.isArray(a.questions)||0===a.questions.length||a.questions.length>20)return null;let b=[];for(let c of a.questions){let a=function(a){if(!e(a))return null;let b=f(a.question,1e3);if(null===b||!Array.isArray(a.options)||0===a.options.length||a.options.length>20)return null;let c=[];for(let b of a.options){let a=function(a){if(!e(a))return null;let b=f(a.label,200);return null===b?null:{label:b,description:f(a.description,500)}}(b);if(null===a)return null;c.push(a)}return{question:b,header:f(a.header,64),multiSelect:!0===a.multiSelect,choices:c}}(c);if(null===a)return null;b.push(a)}return b}function h(a){if(!e(a)||a.tool_name!==d.k$)return null;let b=g(a.tool_input);return null===b?null:{questions:b,promptId:f(a.prompt_id,256)}}},18529:(a,b,c)=>{c.d(b,{$x:()=>s,Lj:()=>t,Q1:()=>r,QH:()=>u});var d=c(29021),e=c(21820),f=c(33873),g=c(8004),h=c(24455),i=c(72626),j=c(43252),k=c(79827);let l=(0,i.h)("lib/hooks/sources/opencode/launch-settings"),m=globalThis.__opencodeLaunchSettings??=new Map;function n(a){return(0,h.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function o(){let a=(0,f.join)((0,e.homedir)(),".commandmate","opencode-launch-settings.json");return(0,g.T)(process.env.CM_OPENCODE_LAUNCH_SETTINGS_FILE,a,"CM_OPENCODE_LAUNCH_SETTINGS_FILE")}function p(){try{let a=JSON.parse((0,d.readFileSync)(o(),"utf8"));if("object"!=typeof a||null===a||Array.isArray(a))return{};let b={};for(let[c,d]of Object.entries(a)){let a=(0,k.ZH)(d);(0,k.Mj)(a)&&(b[c]=a)}return b}catch{return{}}}function q(a){let b=o();try{(0,d.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,d.writeFileSync)(b,`${JSON.stringify(a,null,2)}
|
|
2
|
-
`,{mode:384})}catch(a){l.warn("opencode-launch-settings-write-failed",{path:b,error:a instanceof Error?a.message:String(a)})}}function r(a){let b=n(a),c=m.get(b);if(c)return c;let d=p()[b];return d?(m.set(b,d),d):{...k.gF}}function s(a,b){let c=n(a),d=(0,k.ZH)(b??{}),e=p();return(0,k.Mj)(d)?(m.set(c,d),e[c]=d,q(e)):(m.delete(c),c in e&&(delete e[c],q(e))),d}function t(a){let b=(0,k.ZH)(a??{}),c=[];b.agent&&c.push(`--agent ${(0,j.ZL)(b.agent)}`);let d=(0,k.sw)(b);return d&&c.push(`--model ${(0,j.ZL)(d)}`),c.length>0?` ${c.join(" ")}`:""}function u(a){let b=(0,k.ZH)(a??{}),c={};return b.agent&&(c.agent=b.agent),b.providerId&&b.modelId&&(c.model={providerID:b.providerId,modelID:b.modelId}),b.variant&&(c.variant=b.variant),Object.keys(c).length>0?c:null}},27128:(a,b,c)=>{function d(a){return a.split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n")}function e(a){let b=[],c=[];for(let d of a)0!==d.text.length&&("tool"===d.kind?c.push(d.text):b.push(d.text));let e=b.join("\n\n"),f=0===c.length?"":[`> **Tool calls (${c.length})**`,">",...c.map(d)].join("\n");return{body:e.length>0&&f.length>0?`${e}
|
|
3
|
-
|
|
4
|
-
${f}`:`${e}${f}`,prose:e,toolLog:f,toolCalls:c.length}}c.d(b,{t:()=>e})},53163:(a,b,c)=>{c.d(b,{FN:()=>Z,lf:()=>R,ym:()=>V,hS:()=>T,f4:()=>U,wb:()=>Q,bP:()=>X,yn:()=>S,H1:()=>W});var d=c(72626),e=c(24455),f=c(3161),g=c(48083),h=c(27939),i=c(62171),j=c(57510),k=c(49791),l=c(86594),m=c(27128);let n="\n\n_(truncated)_";function o(a,b,c){return{sessionId:a,userMessageId:b,parts:new Map,assistantMessageIds:new Set,startedAt:c,overflowed:!1}}function p(a,b){a.assistantMessageIds.add(b)}function q(a,b){return a.assistantMessageIds.has(b)}function r(a){if(!(0,j.Qd)(a))return null;let b=(0,j.O2)(a,"id"),c=(0,j.O2)(a,"messageID"),d=(0,j.O2)(a,"type");if(!b||!c||!d)return null;let e=(0,j.Qd)(a.state)?a.state:null;return{id:b,messageId:c,type:d,text:"string"==typeof a.text?a.text:null,tool:(0,j.O2)(a,"tool"),status:e?(0,j.O2)(e,"status"):null,title:e?(0,j.O2)(e,"title"):null,error:e?(0,j.O2)(e,"error")??(0,j.NZ)(e,["error","message"]):null}}function s(a,b){return!a.parts.has(b.id)&&a.parts.size>=512?(a.overflowed=!0,!1):(a.parts.set(b.id,b),!0)}let t=new Set(["step-start","step-finish","snapshot","patch"]);function u(a){return a.replace(/\s+/g," ").trim()}function v(a){let b=[],c=new Set,d=0,e=0;for(let f of a.parts.values()){if("text"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"prose",text:a}),d+=1;continue}if("reasoning"===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**
|
|
5
|
-
>
|
|
6
|
-
${b}`}(a)});continue}if("tool"===f.type){if("pending"===f.status)continue;b.push({kind:"tool",text:function(a){let b=a.tool??"tool",c=a.title??null,d="error"===a.status,e=`- \`${b}\`${c?` — ${u(c)}`:""}`;return d?a.error?`${e} _(error: ${u(a.error)})_`:`${e} _(error)_`:e}(f)}),e+=1;continue}t.has(f.type)||c.add(f.type)}let f=(0,m.t)(b).body;return f.length>2e5&&(f=f.slice(0,2e5-n.length)+n),{sessionId:a.sessionId,userMessageId:a.userMessageId,body:f,textParts:d,toolParts:e,unknownPartTypes:[...c]}}let w=(0,d.h)("lib/hooks/sources/opencode/history"),x=globalThis.__opencodeTranscripts??=new Map;function y(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function z(a){let b=y(a),c=x.get(b);return c||(c=new Map,x.set(b,c)),c}async function A(a,b){try{let{emitChatTurnProgress:d}=await Promise.all([c.e(9130),c.e(8800),c.e(4299),c.e(7905),c.e(1886),c.e(7824),c.e(7472),c.e(5017),c.e(1058)]).then(c.bind(c,1058));await d({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId},()=>{let a=v(b);return 0===a.body.length?null:{turnKey:(0,l.jT)(a.userMessageId),body:a.body,partial:!1}})}catch(b){w.debug("opencode-transcript-progress-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}async function B(a,b){let c=x.get(y(a)),d=c?.get(b);return!!d&&!!c&&(c.delete(b),C(a,v(d),d.startedAt,"stream"))}async function C(a,b,d,e){let f=a.instanceId??a.cliToolId;try{if(0===b.body.length)return w.info("opencode-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,origin:e}),!1;b.unknownPartTypes.length>0&&w.info("opencode-transcript-unknown-parts",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,partTypes:b.unknownPartTypes});let g=(0,l.jT)(b.userMessageId),[{getDbInstance:h},{createMessage:i,findMessageByRequestId:j},{broadcastMessage:k}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.all([c.e(1503),c.e(4299),c.e(1719),c.e(6894),c.e(5120)]).then(c.bind(c,79129))]),m=h();if(j(m,a.worktreeId,g))return w.debug("opencode-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:f,requestId:g,origin:e}),!1;let n=i(m,{worktreeId:a.worktreeId,role:"assistant",content:b.body,messageType:"normal",timestamp:new Date(d>0?d:Date.now()),cliToolId:a.cliToolId,instanceId:f,requestId:g});return k("message",{worktreeId:a.worktreeId,message:n}),w.info("opencode-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,requestId:g,origin:e,bodyLength:b.body.length,textParts:b.textParts,toolParts:b.toolParts}),!0}catch(c){return w.error("opencode-transcript-write-failed",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,origin:e,error:c instanceof Error?c.message:String(c)}),!1}}async function D(a,b,c){let d=a.instanceId??a.cliToolId;try{let e=await (0,k.EI)(b,c);if(null===e)return w.info("opencode-transcript-backfill-unavailable",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c}),0;let f=function(a,b){if(!Array.isArray(a))return[];let c=new Map;for(let d of a){if(!(0,j.Qd)(d))continue;let a=(0,j.Qd)(d.info)?d.info:null;if(!a||"assistant"!==a.role)continue;let e=(0,j.O2)(a,"parentID");if(!e)continue;let f=function(a,b){let c=a;for(let a of b){if(!(0,j.Qd)(c))return null;c=c[a]}return"number"==typeof c&&Number.isFinite(c)?c:null}(a,["time","created"])??0,g=c.get(e);g||(g=o(b,e,f),c.set(e,g));let h=(0,j.O2)(a,"id");for(let a of(h&&p(g,h),Array.isArray(d.parts)?d.parts:[])){let b=r(a);b&&q(g,b.messageId)&&s(g,b)}}return[...c.values()]}(e,c),g=[...f].sort((a,b)=>b.startedAt-a.startedAt),h=g.slice(0,50);g.length>h.length&&w.warn("opencode-transcript-backfill-truncated",{worktreeId:a.worktreeId,instanceId:d,sessionId:c,examined:h.length,skipped:g.length-h.length,limit:50});let i=0;for(let b of[...h].reverse())await C(a,v(b),b.startedAt,"backfill")&&(i+=1);return w.info("opencode-transcript-backfill-done",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c,turns:f.length,written:i}),i}catch(e){return w.error("opencode-transcript-backfill-failed",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c,error:e instanceof Error?e.message:String(e)}),0}}var E=c(75356),F=c(98211),G=c(90488),H=c(84574);function I(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["sessionID"])}function J(a,b){for(;a.size>b;){let b=a.keys().next();if(b.done)break;a.delete(b.value)}}let K=(0,d.h)("lib/hooks/sources/opencode/subscription"),L=[1e3,2e3,4e3,8e3,15e3,3e4],M=globalThis.__opencodeSubscriptions??=new Map,N=globalThis.__opencodeDroppedLiveness??=new Map,O=globalThis.__opencodeProbedActivity??=new Map;function P(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function Q(a){return M.has(P(a))}function R(a){let b=P(a);return M.get(b)?.liveness??N.get(b)??{state:"unknown"}}function S(a,b,c){O.set(P(a),{activity:b,at:c})}function T(a){return O.get(P(a))??null}function U(a){return"live"===R(a).state}function V(a){return M.get(P(a))?.gate.primarySession()??null}function W(a,b,c){let d=M.get(P(a));if(!d)return{seen:Promise.resolve(!1),cancel:()=>{}};let e=()=>{},f=new Promise(a=>{e=a}),g=d.idleWaiters.get(b)??new Set;d.idleWaiters.set(b,g);let h=null,i=a=>{g.delete(i)&&(0===g.size&&d.idleWaiters.delete(b),null!==h&&clearTimeout(h),e(a))};return g.add(i),h=setTimeout(()=>i(!1),c),h.unref?.(),{seen:f,cancel:()=>i(!1)}}async function X(a,b,c,d={}){let e=P(a),f=M.get(e);if(f)return Y(f);N.delete(e),O.delete(e);let g=d.port??(0,H.hC)(a);if(null===g)return K.info("opencode-subscription-skipped-no-port",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId}),{close:async()=>{},liveness:{state:"unknown"}};let h={key:e,target:a,port:g,onEvent:b,normalize:c,gate:function(a=64,b=512,c=64){let d=new Map,e=new Set,f=new Set,g=null,h=(b,c)=>{d.delete(b),d.set(b,c),J(d,a)},i=()=>null!==g&&"busy"===d.get(g),k=a=>{var b;h(a,"busy"),b=a,!f.has(b)&&g!==b&&(i()||(g=b))};return{observe(a,l){let m=function(a){let b=(0,j.Qd)(a.properties)?a.properties:{},c=(0,j.Qd)(b.info)?b.info:null;return null!==c&&(0,j.NZ)(c,["parentID"])?(0,j.NZ)(c,["id"])??(0,j.NZ)(b,["sessionID"]):null}(l);if(null!==m&&(f.add(m),J(f,c),g===m&&(g=null)),"message.updated"===a){let{role:a,id:c}=function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return{role:(0,j.NZ)(b,["info","role"]),id:(0,j.NZ)(b,["info","id"])}}(l);if("user"!==a||null===c)return{kind:"ignored"};let d=I(l)??"";return e.has(c)?{kind:"suppressed",sessionId:d,reason:"already-announced"}:(e.add(c),J(e,b),{kind:"announced",sessionId:d,messageId:c})}if("session.status"===a){if("busy"!==function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["status","type"])}(l))return{kind:"ignored"};let a=I(l);return null===a?{kind:"ignored"}:(k(a),{kind:"armed",sessionId:a})}if("session.error"===a){let a=I(l);return null===a?{kind:"ignored"}:{kind:"failed",sessionId:a,errorName:function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["error","name"])}(l)}}if("session.idle"!==a)return{kind:"ignored"};let n=I(l);if(null===n)return{kind:"ignored"};if(f.has(n)||null!==g&&n!==g&&i())return h(n,"idle"),{kind:"suppressed",sessionId:n,reason:"foreign-session"};let o=d.get(n);return void 0===o?{kind:"suppressed",sessionId:n,reason:"never-armed"}:"idle"===o?{kind:"suppressed",sessionId:n,reason:"already-completed"}:(h(n,"idle"),{kind:"completed",sessionId:n})},isArmed:a=>"busy"===d.get(a),arm(a){k(a)},armedSessions:()=>[...d.entries()].filter(([,a])=>"busy"===a).map(([a])=>a),primarySession:()=>g,reset(){d.clear(),g=null}}}(),resync:d.resync??"none",seenDecisions:new Set,idleWaiters:new Map,announcedUpdates:new Set,streamController:new AbortController,lifetimeController:new AbortController,serverVersion:null,liveness:{state:"unknown"},closed:!1,watchdog:null};return M.set(e,h),K.info("opencode-subscription-opened",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:g}),aa(h),Y(h)}function Y(a){return{close:async()=>{await Z(a.target)},get liveness(){return a.liveness}}}async function Z(a){let b=P(a);N.delete(b),O.delete(b);let c=M.get(b);if(c){for(let a of(c.closed=!0,$(c),[...c.idleWaiters.values()]))for(let b of[...a])b(!1);c.idleWaiters.clear(),c.streamController.abort(),c.lifetimeController.abort(),M.delete(b),(0,f.cI)(a),x.delete(y(a)),(0,i.WC)(a),K.info("opencode-subscription-closed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:c.port})}}function $(a){null!==a.watchdog&&(clearTimeout(a.watchdog),a.watchdog=null)}function _(a){$(a);let b=setTimeout(()=>{a.closed||(K.warn("opencode-subscription-heartbeat-lost",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,afterMs:3e4}),a.streamController.abort())},3e4);b.unref?.(),a.watchdog=b}async function aa(a){let b=0;for(;!a.closed;){a.streamController=new AbortController;let c=a.gate.armedSessions();a.gate.reset();let d="stream-ended";try{let e=await ab(a);if(a.closed)break;if("changed"===e)return;if("unreachable"===e)d="health-unreachable";else{let d=await (0,k.mi)(a.port,a.streamController.signal);for await(let e of(a.liveness={state:"live",lastHeartbeatAt:Date.now()},_(a),await ac(a),await ad(a,c),await ae(a),b=0,d))b=0,_(a),function(a,b){let c=(0,j.O2)(b,"type");("server.heartbeat"===c||"server.connected"===c)&&(a.liveness={state:"live",lastHeartbeatAt:Date.now()}),af(a,b,Date.now())}(a,e)}}catch(a){d=a instanceof Error?a.message:String(a)}finally{$(a)}if(a.closed)break;a.liveness={state:"lost",since:Date.now(),reason:d},K.warn("opencode-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?.()})}(function(a){let b=Math.min(a,L.length-1);return L[b]}(b),a.lifetimeController.signal),b+=1}}async function ab(a){var b,c;let d=await (0,k.sc)(a.port);if("healthy"!==d.kind)return K.info("opencode-subscription-health-unavailable",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,outcome:d.kind,status:"rejected"===d.kind?d.status:void 0}),"unreachable";let e=d.health.version;return null===a.serverVersion||null===e?(a.serverVersion??=e,"same"):e===a.serverVersion?"same":(b=a,c=e,K.warn("opencode-subscription-port-identity-changed",{worktreeId:b.target.worktreeId,instanceId:b.target.instanceId??b.target.cliToolId,port:b.port,reason:"port_identity_changed",expectedVersion:b.serverVersion,observedVersion:c}),b.closed=!0,$(b),b.streamController.abort(),b.lifetimeController.abort(),b.liveness={state:"lost",since:Date.now(),reason:"port_identity_changed"},M.delete(b.key),N.set(b.key,b.liveness),"changed")}async function ac(a){let b=Date.now(),[c,d]=await Promise.all([(0,k.Li)(a.port),(0,k.er)(a.port)]),e=(c,d)=>{let e=c.slice(0,50);for(let f of(c.length>e.length&&K.warn("opencode-resync-truncated",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,type:d,examined:e.length,skipped:c.length-e.length,limit:50}),e)){let c=(0,j.O2)(f,"id");!c||a.seenDecisions.has(c)||af(a,{id:`resync_${c}`,type:d,properties:f},b)}};e(c,"permission.asked"),e(d,"question.asked")}async function ad(a,b){if("session-status-poll"!==a.resync)return;let c=await (0,k.mY)(a.port);if(null===c)return void K.info("opencode-resync-status-unavailable",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port});let d=[];for(let[b,e]of Object.entries(c))"busy"===e&&(a.gate.arm(b),d.push(b));let e=[];for(let d of b)"idle"===c[d]&&(a.gate.arm(d),e.push(d),af(a,{id:`resync_idle_${d}`,type:"session.idle",properties:{sessionID:d}},Date.now()));(d.length>0||e.length>0)&&K.info("opencode-turn-state-recovered",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,rearmed:d,synthesized:e,primarySession:a.gate.primarySession()})}async function ae(a){try{let b=(0,h.KA)(a.target)?.sessionId??null,c=a.gate.primarySession()??b;if(!c)return;await D(a.target,a.port,c)}catch(b){K.warn("opencode-history-recovery-failed",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,error:b instanceof Error?b.message:String(b)})}}function af(a,b,c){var d,e;let h=(0,j.O2)(b,"type");if("message.part.updated"===h){let a=(0,E.Zu)(b),c=(0,E.Dp)(b);a&&c&&(0,F.XL)(a,c)}if("session.updated"===h){let d=(0,f.Tv)(b,c);d&&(0,f.G1)(a.target,d)}if(("session.updated"===h||"message.updated"===h)&&(0,g.In)(a.target.worktreeId,a.target.cliToolId,a.target.instanceId,(0,E.Jd)(b)),("message.updated"===h||"message.part.updated"===h)&&function(a,b,c){try{let d=(0,j.O2)(b,"type"),e=(0,j.Qd)(b.properties)?b.properties:{},f=(0,j.O2)(e,"sessionID");if(!f)return;if("message.updated"===d){let b=(0,j.Qd)(e.info)?e.info:null;if(!b||"assistant"!==b.role)return;let d=(0,j.O2)(b,"parentID");if(!d)return;let g=z(a),h=g.get(f),i=h?.userMessageId===d?h:o(f,d,c);if(i!==h)for(h&&w.info("opencode-transcript-turn-superseded",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,abandoned:h.userMessageId}),g.set(f,i);g.size>16;){let b=g.keys().next();if(b.done)break;g.delete(b.value),w.info("opencode-transcript-turn-evicted",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:b.value,reason:"max-open-turns"})}let k=(0,j.O2)(b,"id");k&&p(i,k);return}if("message.part.updated"!==d)return;let g=r(e.part);if(!g)return;let h=z(a).get(f);if(!h||!q(h,g.messageId))return void w.debug("opencode-transcript-part-unattached",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,partType:g.type,reason:h?"foreign-message":"no-open-turn"});s(h,g)||w.warn("opencode-transcript-turn-overflow",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,partType:g.type}),A(a,h)}catch(b){w.error("opencode-transcript-record-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}(a.target,b,c),("session.diff"===h||"session.updated"===h||"message.updated"===h)&&(0,i.hf)(a.target,b,c),"installation.update-available"===h&&function(a,b,c){let d=(0,j.Qd)(b.properties)?b.properties:{},e=(0,j.O2)(d,"version");if(e){if(a.announcedUpdates.has(e))return K.info("opencode-update-available-repeat-dropped",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,version:e});a.announcedUpdates.add(e),K.info("opencode-update-available",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,version:e}),(0,G.BF)(a.target,a.target.instanceId??a.target.cliToolId,e,c)}}(a,b,c),"session.idle"===h){let c=(0,j.O2)((0,j.Qd)(b.properties)?b.properties:{},"sessionID");if(c){let b=a.idleWaiters.get(c);if(b)for(let a of[...b])a(!0);B(a.target,c)}}let k=a.gate.observe(h,b);"failed"===k.kind&&K.warn("opencode-session-error",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,sessionId:k.sessionId,errorName:k.errorName});let l=null;try{l=a.normalize({payload:b,receivedAt:c})}catch(a){K.error("opencode-normalize-threw",{type:h,error:a instanceof Error?a.message:String(a)});return}if(!l)return;let m=(d=l.event,e=k,"stop"===d&&"completed"!==e.kind?"suppressed"===e.kind?e.reason:"not-a-turn-end":"user_prompt_submit"===d&&"announced"!==e.kind?"suppressed"===e.kind?e.reason:"not-a-new-prompt":null);if(null!==m)return void K.info("opencode-repeat-suppressed",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,sessionId:l.conversationId,event:l.event,reason:m});!function(a,b){let c=(0,j.O2)(b,"type");if("permission.asked"!==c&&"question.asked"!==c)return;let d=(0,j.Qd)(b.properties)?b.properties:{},e=(0,j.O2)(d,"id");if(e)for(a.seenDecisions.add(e);a.seenDecisions.size>256;){let b=a.seenDecisions.values().next();if(b.done)break;a.seenDecisions.delete(b.value)}}(a,b);try{a.onEvent(l)}catch(a){K.error("opencode-event-handler-failed",{type:h,error:a instanceof Error?a.message:String(a)})}}},57510:(a,b,c)=>{c.d(b,{KR:()=>e,NZ:()=>p,O2:()=>j,Qd:()=>o,Uq:()=>q,Wv:()=>l,ex:()=>i,hY:()=>n,mJ:()=>f,oJ:()=>k,qU:()=>g});var d=c(62887);function e(a,b,c){return d=>d===a?{event:b,detail:c??null}:null}function f(a){return Object.entries(a).map(([a,b])=>e(a,b))}function g(a,b,c){for(let d of a){let a=d(b,c);if(a)return a}return null}let h=globalThis.__agentSourceUnknownEvents??=new Map;function i(a,b){let c=h.get(a)??{count:0,names:[]};c.count+=1;let d=b??"(unnamed)";!c.names.includes(d)&&c.names.length<32&&c.names.push(d),h.set(a,c)}function j(a,b){let c=a[b];return"string"==typeof c&&""!==c?c:null}function k(a,b){for(let c of b){let b=j(a,c);if(null!==b)return b}return null}function l(a){return null===a||""===a?null:a.slice(0,d.h9)}let m=/^[A-Za-z0-9._:-]+$/;function n(a){return null===a||a.length>128?null:m.test(a)?a:null}function o(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function p(a,b){let c=a;for(let a of b){if(!o(c))return null;c=c[a]}return"string"==typeof c&&""!==c?c:null}function q(a,b,c,e={}){var f;let g=void 0!==a.detail&&null!==a.detail?l(a.detail):l(e.detail?.(a.event,b)??null);return{event:a.event,detail:g,conversationId:a.conversationId??(e.conversationId?k(b,e.conversationId):null),toolCallId:a.toolCallId??(e.toolCallId?k(b,e.toolCallId):null),model:null===(f=e.extractModel?.(b)??(e.modelFields?k(b,e.modelFields):null))||""===f?null:f.slice(0,d.h9),raw:b,receivedAt:c}}},62171:(a,b,c)=>{c.d(b,{HL:()=>q,WC:()=>r,hf:()=>p,ki:()=>u,pw:()=>v,rn:()=>s,t2:()=>t});var d=c(72626),e=c(24455),f=c(85322),g=c(84574),h=c(49791);let i=(0,d.h)("lib/hooks/sources/opencode/diff"),j=globalThis.__opencodeSessionDiff??(globalThis.__opencodeSessionDiff=new Map),k=globalThis.__opencodeSessionDiffRefreshes??(globalThis.__opencodeSessionDiffRefreshes=new Set);function l(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function m(a){return{sessionId:null,turnMessageId:null,files:[],filesAt:null,revertedFiles:[],revertedMessageId:null,at:a}}function n(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function o(a,b){let c=a[b];return"string"!=typeof c||0===c.length?null:c.slice(0,128)}function p(a,b,c){let d=l(a),e=j.get(d)??m(c),f=function(a){if("message.updated"!==a.type)return null;let b=n(a.properties)?a.properties:null,c=b&&n(b.info)?b.info:null;if(!c||"user"!==c.role)return null;let d=o(c,"id");return d?{sessionId:o(c,"sessionID"),messageId:d}:null}(b);if(f){if(f.messageId===e.turnMessageId)return;j.set(d,{...e,sessionId:f.sessionId??e.sessionId,turnMessageId:f.messageId,files:[],filesAt:null,at:c});return}let g=function(a){let b=a.type,c=n(a.properties)?a.properties:null;if(!c)return null;if("session.diff"===b)return{kind:"files",sessionId:o(c,"sessionID"),files:(0,h.M)(c.diff)};if("session.updated"===b){let a=n(c.info)?c.info:null;if(!a||"string"==typeof a.parentID&&a.parentID.length>0)return null;let b=n(a.revert)?a.revert:null;return{kind:"held",sessionId:o(a,"id"),messageId:b?o(b,"messageID"):null}}return null}(b);if(g){if("files"===g.kind)return void j.set(d,{...e,sessionId:g.sessionId??e.sessionId,revertedFiles:g.files,at:c});j.set(d,{...e,sessionId:g.sessionId??e.sessionId,revertedMessageId:g.messageId,revertedFiles:null===g.messageId?[]:e.revertedFiles,at:c})}}function q(a,b,c){return b!==f.k?null:j.get((0,e.v7)(a,b,c))??null}function r(a){let b=l(a);j.delete(b),k.delete(b)}function s(a){if(a.cliToolId!==f.k)return null;let b=l(a),c=j.get(b);if(!c)return null;if(null!==c.filesAt||null===c.sessionId||null===c.turnMessageId||k.has(b))return c;let d=(0,g.hC)(a);return null===d||(k.add(b),t(a,d,c.sessionId,c.turnMessageId).finally(()=>{k.delete(b)})),c}async function t(a,b,c,d){let e=await (0,h.iv)(b,c,d);if(null===e)return i.debug("opencode-turn-diff-unavailable",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:c}),null;let f=l(a),g=j.get(f);return g&&g.turnMessageId===d&&j.set(f,{...g,files:e,filesAt:Date.now()}),e}function u(a,b,c){let d=l(a),e=Date.now(),f=j.get(d)??m(e);j.set(d,{...f,revertedMessageId:b,revertedFiles:c,at:e})}function v(a,b){let c=q(a,f.k,b);if(!c)return null;let d=new Set;for(let a of[...c.files,...c.revertedFiles])null!==a.file&&d.add(a.file);let e=[...c.files,...c.revertedFiles].filter(a=>null===a.file).length;return d.size+e}},75356:(a,b,c)=>{c.d(b,{C8:()=>h,Dp:()=>o,Jd:()=>l,Mn:()=>q,Tm:()=>g,Zu:()=>p,aF:()=>f,lu:()=>t,oG:()=>r,pV:()=>k,vE:()=>i});var d=c(62887),e=c(57510);let f="permission_prompt",g="question_prompt",h=d.KC,i="error";function j(a){return(0,e.Qd)(a.properties)?a.properties:{}}function k(a){let b=j(a).info;return(0,e.Qd)(b)?(0,e.NZ)(b,["model","modelID"])??(0,e.NZ)(b,["model","id"]):null}function l(a){let b=j(a).info;return(0,e.Qd)(b)?(0,e.NZ)(b,["model","variant"])??(0,e.NZ)(b,["variant"]):null}function m(a){return(0,e.NZ)(j(a),["part","state","status"])}function n(a){return"tool"===(0,e.NZ)(j(a),["part","type"])}function o(a){return(0,e.NZ)(j(a),["part","tool"])}function p(a){return(0,e.NZ)(j(a),["part","callID"])}function q(a){return(0,e.NZ)(j(a),["requestID"])}function r(a){let b=j(a);switch((0,e.NZ)(a,["type"])){case"permission.asked":case"question.asked":return(0,e.hY)((0,e.NZ)(b,["id"]));case"permission.replied":return(0,e.hY)(q(a));case"message.updated":return(0,e.hY)((0,e.NZ)(b,["info","id"]));case"message.part.updated":return(0,e.hY)(p(a));default:return null}}let s=["completed","error"],t=[(0,e.KR)("session.idle","stop"),(0,e.KR)("session.created","session_start"),(0,e.KR)("session.deleted","session_end"),(a,b)=>"message.updated"===a&&"user"===(0,e.NZ)(j(b),["info","role"])?{event:"user_prompt_submit"}:null,(a,b)=>"message.part.updated"===a&&n(b)&&"running"===m(b)?{event:"pre_tool_use",detail:(0,e.Wv)(o(b)),toolCallId:p(b)}:null,(a,b)=>"message.part.updated"===a&&n(b)&&s.includes(m(b)??"")?{event:"post_tool_use",detail:(0,e.Wv)(o(b)),toolCallId:p(b)}:null,(0,e.KR)("permission.asked","notification",f),(0,e.KR)("question.asked","notification",g),(0,e.KR)("session.error","notification",i),(0,e.KR)("permission.replied","notification",h)].map(function(a){return(b,c)=>{let d=a(b,c);return d?{...d,conversationId:d.conversationId??(0,e.NZ)(j(c),["sessionID"])}:null}})},86594:(a,b,c)=>{function d(a){return`oc-turn:${a}`}function e(a){return`claude-turn:${a}`}function f(a){return`claude-prompt:${a}`}function g(a){return`codex-turn:${a}`}function h(a){return`codex-prompt:${a}`}c.d(b,{Ac:()=>h,H_:()=>f,O1:()=>i,ZS:()=>g,jN:()=>j,jT:()=>d,qe:()=>e});function i(a,b){return`antigravity-turn:${a}#${b}`}function j(a,b){return`antigravity-prompt:${a}#${b}`}},90488:(a,b,c)=>{c.d(b,{BF:()=>j,Vo:()=>h,dJ:()=>i});let d=(0,c(72626).h)("lib/hooks/sources/opencode/push");async function e(a){try{let[{getDbInstance:b},{getWorktreeById:d}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]);return d(b(),a)?.name??a}catch{return a}}async function f(){return Promise.all([c.e(1356),c.e(1191)]).then(c.bind(c,61191))}async function g(a,b){return{worktreeId:a.worktreeId,worktreeName:await e(a.worktreeId),instanceId:b}}async function h(a,b,c,e){try{let{notifyPushSubscribers:h,buildExcerpt:i}=await f(),j=await g(a,b);await h({...j,kind:"prompt",agentName:b,waitingKind:"prompt",waitingSince:e,excerpt:i(c??void 0,80)},e),d.info("opencode-question-push-sent",{worktreeId:a.worktreeId,instanceId:b,hasQuestion:null!==c})}catch(c){d.warn("opencode-question-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}async function i(a,b,c,e,h,i){if("MessageAbortedError"===c)return void d.info("opencode-error-push-skipped-interrupt",{worktreeId:a.worktreeId,instanceId:b,errorName:c});try{let{notifyPushSubscribers:j,buildExcerpt:k}=await f(),l=await g(a,b);await j({...l,kind:"failure",agentName:b,excerpt:k(e??void 0,80),failure:{reason:"agent-session-error",signature:`opencode:session-error:${h??"unknown"}:${c??"unknown"}`}},i),d.info("opencode-error-push-sent",{worktreeId:a.worktreeId,instanceId:b,errorName:c,sessionId:h})}catch(c){d.warn("opencode-error-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}async function j(a,b,c,e){try{let{notifyPushSubscribers:h}=await f(),i=await g(a,b);await h({...i,kind:"completion",agentName:b,excerpt:c,updateAvailable:{agent:b,version:c}},e),d.info("opencode-update-push-sent",{worktreeId:a.worktreeId,instanceId:b,version:c})}catch(c){d.warn("opencode-update-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}},98211:(a,b,c)=>{c.d(b,{AB:()=>m,FZ:()=>i,LF:()=>l,Lu:()=>k,XL:()=>g,v1:()=>j});var d=c(2466),e=c(57510);let f=globalThis.__opencodeToolCallNames??=new Map;function g(a,b){for(f.delete(a),f.set(a,b);f.size>256;){let a=f.keys().next();if(a.done)break;f.delete(a.value)}}function h(a){return"string"==typeof a.type&&(0,e.Qd)(a.properties)?a.properties:a}function i(a){var b;let c=h(a),d=(0,e.O2)(c,"id"),g=(0,e.O2)(c,"sessionID");if(!d||!g||Array.isArray(c.questions))return null;let i=(0,e.O2)(c,"permission"),j=(0,e.Qd)(c.metadata)?c.metadata:{};return{toolName:((b=(0,e.NZ)(c,["tool","callID"]))?f.get(b)??null:null)??i??"permission",toolInput:{permission:i,patterns:Array.isArray(c.patterns)?c.patterns:[],...j},promptId:d,sessionId:g,permissionMode:null,permissionSuggestions:Array.isArray(c.always)?c.always:null}}function j(a){let b=h(a),c=(0,e.O2)(b,"id");if(!c)return null;let f=(0,d.u_)({questions:b.questions});return null===f?null:{questions:f,promptId:c}}function k(a,b){let c=i(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 l(a,b){let c=k(a,b);if(!c||"permission"!==c.subject.kind)return null;let d=c.subject.toolInput.patterns;return{toolName:c.subject.toolName,patterns:Array.isArray(d)?d:[]}}function m(a,b){let c=h(a),d=(0,e.O2)(c,"id"),f=j(a);return d&&f?{kind:"question",id:d,conversationId:(0,e.O2)(c,"sessionID"),subject:{kind:"question",spec:f},raw:a,askedAt:b}:null}}};
|
|
2
|
+
`,{mode:384})}catch(a){l.warn("opencode-launch-settings-write-failed",{path:b,error:a instanceof Error?a.message:String(a)})}}function r(a){let b=n(a),c=m.get(b);if(c)return c;let d=p()[b];return d?(m.set(b,d),d):{...k.gF}}function s(a,b){let c=n(a),d=(0,k.ZH)(b??{}),e=p();return(0,k.Mj)(d)?(m.set(c,d),e[c]=d,q(e)):(m.delete(c),c in e&&(delete e[c],q(e))),d}function t(a){let b=(0,k.ZH)(a??{}),c=[];b.agent&&c.push(`--agent ${(0,j.ZL)(b.agent)}`);let d=(0,k.sw)(b);return d&&c.push(`--model ${(0,j.ZL)(d)}`),c.length>0?` ${c.join(" ")}`:""}function u(a){let b=(0,k.ZH)(a??{}),c={};return b.agent&&(c.agent=b.agent),b.providerId&&b.modelId&&(c.model={providerID:b.providerId,modelID:b.modelId}),b.variant&&(c.variant=b.variant),Object.keys(c).length>0?c:null}},27128:(a,b,c)=>{function d(a){return a.split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n")}function e(a){let b=[],c=[],e=[];for(let d of a)0!==d.text.length&&("tool"===d.kind?e.push(d.text):"reasoning"===d.kind?c.push(d.text):b.push(d.text));let f=b.join("\n\n"),g=0===c.length?"":[`> **Thinking (${c.length})**`,">",c.map(d).join("\n>\n")].join("\n"),h=0===e.length?"":[`> **Tool calls (${e.length})**`,">",...e.map(d)].join("\n");return{body:[f,g,h].filter(a=>a.length>0).join("\n\n"),prose:f,reasoningLog:g,reasoningBlocks:c.length,toolLog:h,toolCalls:e.length}}c.d(b,{t3:()=>e})},53163:(a,b,c)=>{c.d(b,{FN:()=>_,lf:()=>T,ym:()=>X,hS:()=>V,f4:()=>W,wb:()=>S,bP:()=>Z,yn:()=>U,H1:()=>Y});var d=c(72626),e=c(24455),f=c(3161),g=c(48083),h=c(27939),i=c(62171),j=c(57510),k=c(49791),l=c(86594),m=c(27128);let n="parentID",o="\n\n_(truncated)_";function p(a,b,c){return{sessionId:a,userMessageId:b,parts:new Map,assistantMessageIds:new Set,startedAt:c,overflowed:!1}}function q(a,b){a.assistantMessageIds.add(b)}function r(a,b){return a.assistantMessageIds.has(b)}function s(a){if(!(0,j.Qd)(a))return null;let b=(0,j.O2)(a,"id"),c=(0,j.O2)(a,"messageID"),d=(0,j.O2)(a,"type");if(!b||!c||!d)return null;let e=(0,j.Qd)(a.state)?a.state:null;return{id:b,messageId:c,type:d,text:"string"==typeof a.text?a.text:null,tool:(0,j.O2)(a,"tool"),status:e?(0,j.O2)(e,"status"):null,title:e?(0,j.O2)(e,"title"):null,error:e?(0,j.O2)(e,"error")??(0,j.NZ)(e,["error","message"]):null}}function t(a,b){return!a.parts.has(b.id)&&a.parts.size>=512?(a.overflowed=!0,!1):(a.parts.set(b.id,b),!0)}let u=new Set(["step-start","step-finish","snapshot","patch"]);function v(a){return a.replace(/\s+/g," ").trim()}function w(a){let b=[],c=new Set,d=0,e=0;for(let f of a.parts.values()){if("text"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"prose",text:a}),d+=1;continue}if("reasoning"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"reasoning",text:a});continue}if("tool"===f.type){if("pending"===f.status)continue;b.push({kind:"tool",text:function(a){let b=a.tool??"tool",c=a.title??null,d="error"===a.status,e=`- \`${b}\`${c?` — ${v(c)}`:""}`;return d?a.error?`${e} _(error: ${v(a.error)})_`:`${e} _(error)_`:e}(f)}),e+=1;continue}u.has(f.type)||c.add(f.type)}let f=(0,m.t3)(b),g=f.body;return g.length>2e5&&(g=g.slice(0,2e5-o.length)+o),{sessionId:a.sessionId,userMessageId:a.userMessageId,body:g,textParts:d,toolParts:e,reasoningParts:f.reasoningBlocks,unknownPartTypes:[...c]}}let x=(0,d.h)("lib/hooks/sources/opencode/history"),y=globalThis.__opencodeTranscripts??=new Map;function z(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function A(a){let b=z(a),c=y.get(b);return c||(c=new Map,y.set(b,c)),c}async function B(a,b){try{let{emitChatTurnProgress:d}=await Promise.all([c.e(9130),c.e(4299),c.e(8800),c.e(7905),c.e(1886),c.e(1990),c.e(7187),c.e(7472),c.e(5017),c.e(1058)]).then(c.bind(c,1058));await d({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId},()=>{let a=w(b);return 0===a.body.length?null:{turnKey:(0,l.jT)(a.userMessageId),body:a.body,partial:!1}})}catch(b){x.debug("opencode-transcript-progress-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}function C(a){return"number"==typeof a&&Number.isFinite(a)?a:null}async function D(a,b,c=Date.now()){let d=y.get(z(a)),e=d?.get(b);return!!e&&!!d&&(d.delete(b),E(a,w(e),Math.max(e.startedAt,c),"stream"))}async function E(a,b,d,e){let f=a.instanceId??a.cliToolId;try{if(0===b.body.length)return x.info("opencode-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,origin:e}),!1;b.unknownPartTypes.length>0&&x.info("opencode-transcript-unknown-parts",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,partTypes:b.unknownPartTypes});let g=(0,l.jT)(b.userMessageId),[{getDbInstance:h},{createMessage:i,findMessageByRequestId:j},{broadcastMessage:k}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.all([c.e(1503),c.e(4299),c.e(1719),c.e(6894),c.e(5120)]).then(c.bind(c,79129))]),m=h();if(j(m,a.worktreeId,g))return x.debug("opencode-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:f,requestId:g,origin:e}),!1;let n=i(m,{worktreeId:a.worktreeId,role:"assistant",content:b.body,messageType:"normal",timestamp:new Date(d>0?d:Date.now()),cliToolId:a.cliToolId,instanceId:f,requestId:g});return k("message",{worktreeId:a.worktreeId,message:n}),x.info("opencode-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,requestId:g,origin:e,bodyLength:b.body.length,textParts:b.textParts,toolParts:b.toolParts}),!0}catch(c){return x.error("opencode-transcript-write-failed",{worktreeId:a.worktreeId,instanceId:f,sessionId:b.sessionId,origin:e,error:c instanceof Error?c.message:String(c)}),!1}}async function F(a,b,c){let d=a.instanceId??a.cliToolId;try{let e=await (0,k.EI)(b,c);if(null===e)return x.info("opencode-transcript-backfill-unavailable",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c}),0;let f=function(a,b){if(!Array.isArray(a))return[];let c=new Map;for(let d of a){if(!(0,j.Qd)(d))continue;let a=(0,j.Qd)(d.info)?d.info:null;if(!a||"assistant"!==a.role)continue;let e=(0,j.O2)(a,n);if(!e)continue;let f=function(a,b){let c=a;for(let a of b){if(!(0,j.Qd)(c))return null;c=c[a]}return"number"==typeof c&&Number.isFinite(c)?c:null}(a,["time","created"])??0,g=c.get(e);g||(g=p(b,e,f),c.set(e,g));let h=(0,j.O2)(a,"id");for(let a of(h&&q(g,h),Array.isArray(d.parts)?d.parts:[])){let b=s(a);b&&r(g,b.messageId)&&t(g,b)}}return[...c.values()]}(e,c),g=[...f].sort((a,b)=>b.startedAt-a.startedAt),h=g.slice(0,50);g.length>h.length&&x.warn("opencode-transcript-backfill-truncated",{worktreeId:a.worktreeId,instanceId:d,sessionId:c,examined:h.length,skipped:g.length-h.length,limit:50});let i=function(a){let b=new Map;if(!Array.isArray(a))return b;for(let c of a){if(!(0,j.Qd)(c))continue;let a=(0,j.Qd)(c.info)?c.info:null;if(!a||"assistant"!==a.role)continue;let d=(0,j.O2)(a,n);if(!d)continue;let e=(0,j.Qd)(a.time)?a.time:null,f=C(e?.completed)??C(e?.created)??null;null!==f&&f>(b.get(d)??0)&&b.set(d,f)}return b}(e),l=0;for(let b of[...h].reverse())await E(a,w(b),Math.max(b.startedAt,i.get(b.userMessageId)??0),"backfill")&&(l+=1);return x.info("opencode-transcript-backfill-done",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c,turns:f.length,written:l}),l}catch(e){return x.error("opencode-transcript-backfill-failed",{worktreeId:a.worktreeId,instanceId:d,port:b,sessionId:c,error:e instanceof Error?e.message:String(e)}),0}}var G=c(75356),H=c(98211),I=c(90488),J=c(84574);function K(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["sessionID"])}function L(a,b){for(;a.size>b;){let b=a.keys().next();if(b.done)break;a.delete(b.value)}}let M=(0,d.h)("lib/hooks/sources/opencode/subscription"),N=[1e3,2e3,4e3,8e3,15e3,3e4],O=globalThis.__opencodeSubscriptions??=new Map,P=globalThis.__opencodeDroppedLiveness??=new Map,Q=globalThis.__opencodeProbedActivity??=new Map;function R(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function S(a){return O.has(R(a))}function T(a){let b=R(a);return O.get(b)?.liveness??P.get(b)??{state:"unknown"}}function U(a,b,c){Q.set(R(a),{activity:b,at:c})}function V(a){return Q.get(R(a))??null}function W(a){return"live"===T(a).state}function X(a){return O.get(R(a))?.gate.primarySession()??null}function Y(a,b,c){let d=O.get(R(a));if(!d)return{seen:Promise.resolve(!1),cancel:()=>{}};let e=()=>{},f=new Promise(a=>{e=a}),g=d.idleWaiters.get(b)??new Set;d.idleWaiters.set(b,g);let h=null,i=a=>{g.delete(i)&&(0===g.size&&d.idleWaiters.delete(b),null!==h&&clearTimeout(h),e(a))};return g.add(i),h=setTimeout(()=>i(!1),c),h.unref?.(),{seen:f,cancel:()=>i(!1)}}async function Z(a,b,c,d={}){let e=R(a),f=O.get(e);if(f)return $(f);P.delete(e),Q.delete(e);let g=d.port??(0,J.hC)(a);if(null===g)return M.info("opencode-subscription-skipped-no-port",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId}),{close:async()=>{},liveness:{state:"unknown"}};let h={key:e,target:a,port:g,onEvent:b,normalize:c,gate:function(a=64,b=512,c=64){let d=new Map,e=new Set,f=new Set,g=null,h=(b,c)=>{d.delete(b),d.set(b,c),L(d,a)},i=()=>null!==g&&"busy"===d.get(g),k=a=>{var b;h(a,"busy"),b=a,!f.has(b)&&g!==b&&(i()||(g=b))};return{observe(a,l){let m=function(a){let b=(0,j.Qd)(a.properties)?a.properties:{},c=(0,j.Qd)(b.info)?b.info:null;return null!==c&&(0,j.NZ)(c,["parentID"])?(0,j.NZ)(c,["id"])??(0,j.NZ)(b,["sessionID"]):null}(l);if(null!==m&&(f.add(m),L(f,c),g===m&&(g=null)),"message.updated"===a){let{role:a,id:c}=function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return{role:(0,j.NZ)(b,["info","role"]),id:(0,j.NZ)(b,["info","id"])}}(l);if("user"!==a||null===c)return{kind:"ignored"};let d=K(l)??"";return e.has(c)?{kind:"suppressed",sessionId:d,reason:"already-announced"}:(e.add(c),L(e,b),{kind:"announced",sessionId:d,messageId:c})}if("session.status"===a){if("busy"!==function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["status","type"])}(l))return{kind:"ignored"};let a=K(l);return null===a?{kind:"ignored"}:(k(a),{kind:"armed",sessionId:a})}if("session.error"===a){let a=K(l);return null===a?{kind:"ignored"}:{kind:"failed",sessionId:a,errorName:function(a){let b=(0,j.Qd)(a.properties)?a.properties:{};return(0,j.NZ)(b,["error","name"])}(l)}}if("session.idle"!==a)return{kind:"ignored"};let n=K(l);if(null===n)return{kind:"ignored"};if(f.has(n)||null!==g&&n!==g&&i())return h(n,"idle"),{kind:"suppressed",sessionId:n,reason:"foreign-session"};let o=d.get(n);return void 0===o?{kind:"suppressed",sessionId:n,reason:"never-armed"}:"idle"===o?{kind:"suppressed",sessionId:n,reason:"already-completed"}:(h(n,"idle"),{kind:"completed",sessionId:n})},isArmed:a=>"busy"===d.get(a),arm(a){k(a)},armedSessions:()=>[...d.entries()].filter(([,a])=>"busy"===a).map(([a])=>a),primarySession:()=>g,reset(){d.clear(),g=null}}}(),resync:d.resync??"none",seenDecisions:new Set,idleWaiters:new Map,announcedUpdates:new Set,streamController:new AbortController,lifetimeController:new AbortController,serverVersion:null,liveness:{state:"unknown"},closed:!1,watchdog:null};return O.set(e,h),M.info("opencode-subscription-opened",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:g}),ac(h),$(h)}function $(a){return{close:async()=>{await _(a.target)},get liveness(){return a.liveness}}}async function _(a){let b=R(a);P.delete(b),Q.delete(b);let c=O.get(b);if(c){for(let a of(c.closed=!0,aa(c),[...c.idleWaiters.values()]))for(let b of[...a])b(!1);c.idleWaiters.clear(),c.streamController.abort(),c.lifetimeController.abort(),O.delete(b),(0,f.cI)(a),y.delete(z(a)),(0,i.WC)(a),M.info("opencode-subscription-closed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:c.port})}}function aa(a){null!==a.watchdog&&(clearTimeout(a.watchdog),a.watchdog=null)}function ab(a){aa(a);let b=setTimeout(()=>{a.closed||(M.warn("opencode-subscription-heartbeat-lost",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,afterMs:3e4}),a.streamController.abort())},3e4);b.unref?.(),a.watchdog=b}async function ac(a){let b=0;for(;!a.closed;){a.streamController=new AbortController;let c=a.gate.armedSessions();a.gate.reset();let d="stream-ended";try{let e=await ad(a);if(a.closed)break;if("changed"===e)return;if("unreachable"===e)d="health-unreachable";else{let d=await (0,k.mi)(a.port,a.streamController.signal);for await(let e of(a.liveness={state:"live",lastHeartbeatAt:Date.now()},ab(a),await ae(a),await af(a,c),await ag(a),b=0,d))b=0,ab(a),function(a,b){let c=(0,j.O2)(b,"type");("server.heartbeat"===c||"server.connected"===c)&&(a.liveness={state:"live",lastHeartbeatAt:Date.now()}),ah(a,b,Date.now())}(a,e)}}catch(a){d=a instanceof Error?a.message:String(a)}finally{aa(a)}if(a.closed)break;a.liveness={state:"lost",since:Date.now(),reason:d},M.warn("opencode-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?.()})}(function(a){let b=Math.min(a,N.length-1);return N[b]}(b),a.lifetimeController.signal),b+=1}}async function ad(a){var b,c;let d=await (0,k.sc)(a.port);if("healthy"!==d.kind)return M.info("opencode-subscription-health-unavailable",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,outcome:d.kind,status:"rejected"===d.kind?d.status:void 0}),"unreachable";let e=d.health.version;return null===a.serverVersion||null===e?(a.serverVersion??=e,"same"):e===a.serverVersion?"same":(b=a,c=e,M.warn("opencode-subscription-port-identity-changed",{worktreeId:b.target.worktreeId,instanceId:b.target.instanceId??b.target.cliToolId,port:b.port,reason:"port_identity_changed",expectedVersion:b.serverVersion,observedVersion:c}),b.closed=!0,aa(b),b.streamController.abort(),b.lifetimeController.abort(),b.liveness={state:"lost",since:Date.now(),reason:"port_identity_changed"},O.delete(b.key),P.set(b.key,b.liveness),"changed")}async function ae(a){let b=Date.now(),[c,d]=await Promise.all([(0,k.Li)(a.port),(0,k.er)(a.port)]),e=(c,d)=>{let e=c.slice(0,50);for(let f of(c.length>e.length&&M.warn("opencode-resync-truncated",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,type:d,examined:e.length,skipped:c.length-e.length,limit:50}),e)){let c=(0,j.O2)(f,"id");!c||a.seenDecisions.has(c)||ah(a,{id:`resync_${c}`,type:d,properties:f},b)}};e(c,"permission.asked"),e(d,"question.asked")}async function af(a,b){if("session-status-poll"!==a.resync)return;let c=await (0,k.mY)(a.port);if(null===c)return void M.info("opencode-resync-status-unavailable",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port});let d=[];for(let[b,e]of Object.entries(c))"busy"===e&&(a.gate.arm(b),d.push(b));let e=[];for(let d of b)"idle"===c[d]&&(a.gate.arm(d),e.push(d),ah(a,{id:`resync_idle_${d}`,type:"session.idle",properties:{sessionID:d}},Date.now()));(d.length>0||e.length>0)&&M.info("opencode-turn-state-recovered",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,rearmed:d,synthesized:e,primarySession:a.gate.primarySession()})}async function ag(a){try{let b=(0,h.KA)(a.target)?.sessionId??null,c=a.gate.primarySession()??b;if(!c)return;await F(a.target,a.port,c)}catch(b){M.warn("opencode-history-recovery-failed",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,port:a.port,error:b instanceof Error?b.message:String(b)})}}function ah(a,b,c){var d,e;let h=(0,j.O2)(b,"type");if("message.part.updated"===h){let a=(0,G.Zu)(b),c=(0,G.Dp)(b);a&&c&&(0,H.XL)(a,c)}if("session.updated"===h){let d=(0,f.Tv)(b,c);d&&(0,f.G1)(a.target,d)}if(("session.updated"===h||"message.updated"===h)&&(0,g.In)(a.target.worktreeId,a.target.cliToolId,a.target.instanceId,(0,G.Jd)(b)),("message.updated"===h||"message.part.updated"===h)&&function(a,b,c){try{let d=(0,j.O2)(b,"type"),e=(0,j.Qd)(b.properties)?b.properties:{},f=(0,j.O2)(e,"sessionID");if(!f)return;if("message.updated"===d){let b=(0,j.Qd)(e.info)?e.info:null;if(!b||"assistant"!==b.role)return;let d=(0,j.O2)(b,"parentID");if(!d)return;let g=A(a),h=g.get(f),i=h?.userMessageId===d?h:p(f,d,c);if(i!==h)for(h&&x.info("opencode-transcript-turn-superseded",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,abandoned:h.userMessageId}),g.set(f,i);g.size>16;){let b=g.keys().next();if(b.done)break;g.delete(b.value),x.info("opencode-transcript-turn-evicted",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:b.value,reason:"max-open-turns"})}let k=(0,j.O2)(b,"id");k&&q(i,k);return}if("message.part.updated"!==d)return;let g=s(e.part);if(!g)return;let h=A(a).get(f);if(!h||!r(h,g.messageId))return void x.debug("opencode-transcript-part-unattached",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,partType:g.type,reason:h?"foreign-message":"no-open-turn"});t(h,g)||x.warn("opencode-transcript-turn-overflow",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:f,partType:g.type}),B(a,h)}catch(b){x.error("opencode-transcript-record-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}(a.target,b,c),("session.diff"===h||"session.updated"===h||"message.updated"===h)&&(0,i.hf)(a.target,b,c),"installation.update-available"===h&&function(a,b,c){let d=(0,j.Qd)(b.properties)?b.properties:{},e=(0,j.O2)(d,"version");if(e){if(a.announcedUpdates.has(e))return M.info("opencode-update-available-repeat-dropped",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,version:e});a.announcedUpdates.add(e),M.info("opencode-update-available",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,version:e}),(0,I.BF)(a.target,a.target.instanceId??a.target.cliToolId,e,c)}}(a,b,c),"session.idle"===h){let c=(0,j.O2)((0,j.Qd)(b.properties)?b.properties:{},"sessionID");if(c){let b=a.idleWaiters.get(c);if(b)for(let a of[...b])a(!0);D(a.target,c)}}let k=a.gate.observe(h,b);"failed"===k.kind&&M.warn("opencode-session-error",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,sessionId:k.sessionId,errorName:k.errorName});let l=null;try{l=a.normalize({payload:b,receivedAt:c})}catch(a){M.error("opencode-normalize-threw",{type:h,error:a instanceof Error?a.message:String(a)});return}if(!l)return;let m=(d=l.event,e=k,"stop"===d&&"completed"!==e.kind?"suppressed"===e.kind?e.reason:"not-a-turn-end":"user_prompt_submit"===d&&"announced"!==e.kind?"suppressed"===e.kind?e.reason:"not-a-new-prompt":null);if(null!==m)return void M.info("opencode-repeat-suppressed",{worktreeId:a.target.worktreeId,instanceId:a.target.instanceId??a.target.cliToolId,sessionId:l.conversationId,event:l.event,reason:m});!function(a,b){let c=(0,j.O2)(b,"type");if("permission.asked"!==c&&"question.asked"!==c)return;let d=(0,j.Qd)(b.properties)?b.properties:{},e=(0,j.O2)(d,"id");if(e)for(a.seenDecisions.add(e);a.seenDecisions.size>256;){let b=a.seenDecisions.values().next();if(b.done)break;a.seenDecisions.delete(b.value)}}(a,b);try{a.onEvent(l)}catch(a){M.error("opencode-event-handler-failed",{type:h,error:a instanceof Error?a.message:String(a)})}}},57510:(a,b,c)=>{c.d(b,{KR:()=>e,NZ:()=>p,O2:()=>j,Qd:()=>o,Uq:()=>q,Wv:()=>l,ex:()=>i,hY:()=>n,mJ:()=>f,oJ:()=>k,qU:()=>g});var d=c(62887);function e(a,b,c){return d=>d===a?{event:b,detail:c??null}:null}function f(a){return Object.entries(a).map(([a,b])=>e(a,b))}function g(a,b,c){for(let d of a){let a=d(b,c);if(a)return a}return null}let h=globalThis.__agentSourceUnknownEvents??=new Map;function i(a,b){let c=h.get(a)??{count:0,names:[]};c.count+=1;let d=b??"(unnamed)";!c.names.includes(d)&&c.names.length<32&&c.names.push(d),h.set(a,c)}function j(a,b){let c=a[b];return"string"==typeof c&&""!==c?c:null}function k(a,b){for(let c of b){let b=j(a,c);if(null!==b)return b}return null}function l(a){return null===a||""===a?null:a.slice(0,d.h9)}let m=/^[A-Za-z0-9._:-]+$/;function n(a){return null===a||a.length>128?null:m.test(a)?a:null}function o(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function p(a,b){let c=a;for(let a of b){if(!o(c))return null;c=c[a]}return"string"==typeof c&&""!==c?c:null}function q(a,b,c,e={}){var f;let g=void 0!==a.detail&&null!==a.detail?l(a.detail):l(e.detail?.(a.event,b)??null);return{event:a.event,detail:g,conversationId:a.conversationId??(e.conversationId?k(b,e.conversationId):null),toolCallId:a.toolCallId??(e.toolCallId?k(b,e.toolCallId):null),model:null===(f=e.extractModel?.(b)??(e.modelFields?k(b,e.modelFields):null))||""===f?null:f.slice(0,d.h9),raw:b,receivedAt:c}}},62171:(a,b,c)=>{c.d(b,{HL:()=>q,WC:()=>r,hf:()=>p,ki:()=>u,pw:()=>v,rn:()=>s,t2:()=>t});var d=c(72626),e=c(24455),f=c(85322),g=c(84574),h=c(49791);let i=(0,d.h)("lib/hooks/sources/opencode/diff"),j=globalThis.__opencodeSessionDiff??(globalThis.__opencodeSessionDiff=new Map),k=globalThis.__opencodeSessionDiffRefreshes??(globalThis.__opencodeSessionDiffRefreshes=new Set);function l(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function m(a){return{sessionId:null,turnMessageId:null,files:[],filesAt:null,revertedFiles:[],revertedMessageId:null,at:a}}function n(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function o(a,b){let c=a[b];return"string"!=typeof c||0===c.length?null:c.slice(0,128)}function p(a,b,c){let d=l(a),e=j.get(d)??m(c),f=function(a){if("message.updated"!==a.type)return null;let b=n(a.properties)?a.properties:null,c=b&&n(b.info)?b.info:null;if(!c||"user"!==c.role)return null;let d=o(c,"id");return d?{sessionId:o(c,"sessionID"),messageId:d}:null}(b);if(f){if(f.messageId===e.turnMessageId)return;j.set(d,{...e,sessionId:f.sessionId??e.sessionId,turnMessageId:f.messageId,files:[],filesAt:null,at:c});return}let g=function(a){let b=a.type,c=n(a.properties)?a.properties:null;if(!c)return null;if("session.diff"===b)return{kind:"files",sessionId:o(c,"sessionID"),files:(0,h.M)(c.diff)};if("session.updated"===b){let a=n(c.info)?c.info:null;if(!a||"string"==typeof a.parentID&&a.parentID.length>0)return null;let b=n(a.revert)?a.revert:null;return{kind:"held",sessionId:o(a,"id"),messageId:b?o(b,"messageID"):null}}return null}(b);if(g){if("files"===g.kind)return void j.set(d,{...e,sessionId:g.sessionId??e.sessionId,revertedFiles:g.files,at:c});j.set(d,{...e,sessionId:g.sessionId??e.sessionId,revertedMessageId:g.messageId,revertedFiles:null===g.messageId?[]:e.revertedFiles,at:c})}}function q(a,b,c){return b!==f.k?null:j.get((0,e.v7)(a,b,c))??null}function r(a){let b=l(a);j.delete(b),k.delete(b)}function s(a){if(a.cliToolId!==f.k)return null;let b=l(a),c=j.get(b);if(!c)return null;if(null!==c.filesAt||null===c.sessionId||null===c.turnMessageId||k.has(b))return c;let d=(0,g.hC)(a);return null===d||(k.add(b),t(a,d,c.sessionId,c.turnMessageId).finally(()=>{k.delete(b)})),c}async function t(a,b,c,d){let e=await (0,h.iv)(b,c,d);if(null===e)return i.debug("opencode-turn-diff-unavailable",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,sessionId:c}),null;let f=l(a),g=j.get(f);return g&&g.turnMessageId===d&&j.set(f,{...g,files:e,filesAt:Date.now()}),e}function u(a,b,c){let d=l(a),e=Date.now(),f=j.get(d)??m(e);j.set(d,{...f,revertedMessageId:b,revertedFiles:c,at:e})}function v(a,b){let c=q(a,f.k,b);if(!c)return null;let d=new Set;for(let a of[...c.files,...c.revertedFiles])null!==a.file&&d.add(a.file);let e=[...c.files,...c.revertedFiles].filter(a=>null===a.file).length;return d.size+e}},75356:(a,b,c)=>{c.d(b,{C8:()=>h,Dp:()=>o,Jd:()=>l,Mn:()=>q,Tm:()=>g,Zu:()=>p,aF:()=>f,lu:()=>t,oG:()=>r,pV:()=>k,vE:()=>i});var d=c(62887),e=c(57510);let f="permission_prompt",g="question_prompt",h=d.KC,i="error";function j(a){return(0,e.Qd)(a.properties)?a.properties:{}}function k(a){let b=j(a).info;return(0,e.Qd)(b)?(0,e.NZ)(b,["model","modelID"])??(0,e.NZ)(b,["model","id"]):null}function l(a){let b=j(a).info;return(0,e.Qd)(b)?(0,e.NZ)(b,["model","variant"])??(0,e.NZ)(b,["variant"]):null}function m(a){return(0,e.NZ)(j(a),["part","state","status"])}function n(a){return"tool"===(0,e.NZ)(j(a),["part","type"])}function o(a){return(0,e.NZ)(j(a),["part","tool"])}function p(a){return(0,e.NZ)(j(a),["part","callID"])}function q(a){return(0,e.NZ)(j(a),["requestID"])}function r(a){let b=j(a);switch((0,e.NZ)(a,["type"])){case"permission.asked":case"question.asked":return(0,e.hY)((0,e.NZ)(b,["id"]));case"permission.replied":return(0,e.hY)(q(a));case"message.updated":return(0,e.hY)((0,e.NZ)(b,["info","id"]));case"message.part.updated":return(0,e.hY)(p(a));default:return null}}let s=["completed","error"],t=[(0,e.KR)("session.idle","stop"),(0,e.KR)("session.created","session_start"),(0,e.KR)("session.deleted","session_end"),(a,b)=>"message.updated"===a&&"user"===(0,e.NZ)(j(b),["info","role"])?{event:"user_prompt_submit"}:null,(a,b)=>"message.part.updated"===a&&n(b)&&"running"===m(b)?{event:"pre_tool_use",detail:(0,e.Wv)(o(b)),toolCallId:p(b)}:null,(a,b)=>"message.part.updated"===a&&n(b)&&s.includes(m(b)??"")?{event:"post_tool_use",detail:(0,e.Wv)(o(b)),toolCallId:p(b)}:null,(0,e.KR)("permission.asked","notification",f),(0,e.KR)("question.asked","notification",g),(0,e.KR)("session.error","notification",i),(0,e.KR)("permission.replied","notification",h)].map(function(a){return(b,c)=>{let d=a(b,c);return d?{...d,conversationId:d.conversationId??(0,e.NZ)(j(c),["sessionID"])}:null}})},86594:(a,b,c)=>{function d(a){return`oc-turn:${a}`}function e(a){return`claude-turn:${a}`}function f(a){return`claude-prompt:${a}`}function g(a){return`codex-turn:${a}`}function h(a){return`codex-prompt:${a}`}c.d(b,{Ac:()=>h,H_:()=>f,O1:()=>i,TW:()=>l,ZS:()=>g,jN:()=>j,jT:()=>d,qe:()=>e,sT:()=>k});function i(a,b){return`antigravity-turn:${a}#${b}`}function j(a,b){return`antigravity-prompt:${a}#${b}`}function k(a){return`command-code-turn:${a}`}function l(a){return`command-code-prompt:${a}`}},90488:(a,b,c)=>{c.d(b,{BF:()=>j,Vo:()=>h,dJ:()=>i});let d=(0,c(72626).h)("lib/hooks/sources/opencode/push");async function e(a){try{let[{getDbInstance:b},{getWorktreeById:d}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]);return d(b(),a)?.name??a}catch{return a}}async function f(){return Promise.all([c.e(1356),c.e(1191)]).then(c.bind(c,61191))}async function g(a,b){return{worktreeId:a.worktreeId,worktreeName:await e(a.worktreeId),instanceId:b}}async function h(a,b,c,e){try{let{notifyPushSubscribers:h,buildExcerpt:i}=await f(),j=await g(a,b);await h({...j,kind:"prompt",agentName:b,waitingKind:"prompt",waitingSince:e,excerpt:i(c??void 0,80)},e),d.info("opencode-question-push-sent",{worktreeId:a.worktreeId,instanceId:b,hasQuestion:null!==c})}catch(c){d.warn("opencode-question-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}async function i(a,b,c,e,h,i){if("MessageAbortedError"===c)return void d.info("opencode-error-push-skipped-interrupt",{worktreeId:a.worktreeId,instanceId:b,errorName:c});try{let{notifyPushSubscribers:j,buildExcerpt:k}=await f(),l=await g(a,b);await j({...l,kind:"failure",agentName:b,excerpt:k(e??void 0,80),failure:{reason:"agent-session-error",signature:`opencode:session-error:${h??"unknown"}:${c??"unknown"}`}},i),d.info("opencode-error-push-sent",{worktreeId:a.worktreeId,instanceId:b,errorName:c,sessionId:h})}catch(c){d.warn("opencode-error-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}async function j(a,b,c,e){try{let{notifyPushSubscribers:h}=await f(),i=await g(a,b);await h({...i,kind:"completion",agentName:b,excerpt:c,updateAvailable:{agent:b,version:c}},e),d.info("opencode-update-push-sent",{worktreeId:a.worktreeId,instanceId:b,version:c})}catch(c){d.warn("opencode-update-push-failed",{worktreeId:a.worktreeId,instanceId:b,error:c instanceof Error?c.message:String(c)})}}},98211:(a,b,c)=>{c.d(b,{AB:()=>m,FZ:()=>i,LF:()=>l,Lu:()=>k,XL:()=>g,v1:()=>j});var d=c(2466),e=c(57510);let f=globalThis.__opencodeToolCallNames??=new Map;function g(a,b){for(f.delete(a),f.set(a,b);f.size>256;){let a=f.keys().next();if(a.done)break;f.delete(a.value)}}function h(a){return"string"==typeof a.type&&(0,e.Qd)(a.properties)?a.properties:a}function i(a){var b;let c=h(a),d=(0,e.O2)(c,"id"),g=(0,e.O2)(c,"sessionID");if(!d||!g||Array.isArray(c.questions))return null;let i=(0,e.O2)(c,"permission"),j=(0,e.Qd)(c.metadata)?c.metadata:{};return{toolName:((b=(0,e.NZ)(c,["tool","callID"]))?f.get(b)??null:null)??i??"permission",toolInput:{permission:i,patterns:Array.isArray(c.patterns)?c.patterns:[],...j},promptId:d,sessionId:g,permissionMode:null,permissionSuggestions:Array.isArray(c.always)?c.always:null}}function j(a){let b=h(a),c=(0,e.O2)(b,"id");if(!c)return null;let f=(0,d.u_)({questions:b.questions});return null===f?null:{questions:f,promptId:c}}function k(a,b){let c=i(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 l(a,b){let c=k(a,b);if(!c||"permission"!==c.subject.kind)return null;let d=c.subject.toolInput.patterns;return{toolName:c.subject.toolName,patterns:Array.isArray(d)?d:[]}}function m(a,b){let c=h(a),d=(0,e.O2)(c,"id"),f=j(a);return d&&f?{kind:"question",id:d,conversationId:(0,e.O2)(c,"sessionID"),subject:{kind:"question",spec:f},raw:a,askedAt:b}:null}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=4802,exports.ids=[4802],exports.modules={9758:(a,b,c)=>{c.d(b,{Ck:()=>h});var d=c(21124),e=c(38301),f=c.n(e),g=c(62484);function h({children:a,as:b="div",className:c=""}){let e=function a(b){return null==b||"boolean"==typeof b?"":"string"==typeof b?b:"number"==typeof b?String(b):Array.isArray(b)?b.map(a).join(""):f().isValidElement(b)?a(b.props.children):""}(a);if(!e||0===e.trim().length)return(0,d.jsx)(b,{className:c||void 0,children:a});let h=`relative group ${"span"===b?"block ":""}${c}`.trim();return(0,d.jsxs)(b,{className:h,"data-testid":"code-block-with-copy",children:[a,(0,d.jsx)(g.i,{text:e,className:"absolute right-2 top-2 z-10 opacity-100 md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100 focus:opacity-100"})]})}},9815:(a,b,c)=>{c.d(b,{B:()=>B});var d=c(21124),e=c(38301),f=c(20481),g=c(15737),h=c(17252),i=c(90349),j=c(85389),k=c(3805);let l={status:"loading",options:[]};function m({selectedWorktreeId:a,onSelect:b,disabled:c=!1}){let h=(0,f.c)("skills"),[i,j]=(0,e.useState)(l),[m,o]=(0,e.useState)(0),p=(0,e.useCallback)(()=>o(a=>a+1),[]);return"loading"===i.status?(0,d.jsxs)("div",{className:"space-y-2","data-testid":"skill-target-loading",children:[(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:h("target.loading")}),(0,d.jsx)(g.EA,{className:"h-24 w-full rounded-lg"})]}):"error"===i.status?(0,d.jsxs)(g.Zp,{className:"space-y-3","data-testid":"skill-target-error",children:[(0,d.jsx)(k.u,{tone:"danger",children:h("target.errorNotice")}),(0,d.jsx)(g.$n,{variant:"secondary",size:"sm",onClick:p,"data-testid":"skill-target-retry",children:h("target.retry")})]}):0===i.options.length?(0,d.jsx)(g.Zp,{"data-testid":"skill-target-empty",children:(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:h("target.empty")})}):(0,d.jsxs)("div",{className:"space-y-3","data-testid":"skill-target-selector",children:[(0,d.jsx)("div",{role:"radiogroup","aria-label":h("target.heading"),className:"space-y-2",children:i.options.map(e=>(0,d.jsx)(n,{option:e,selected:e.id===a,disabled:c,onSelect:b},e.id))}),(0,d.jsx)(k.u,{tone:"neutral","data-testid":"skill-target-branch-notice",children:h("target.branchFreshnessNotice")})]})}function n({option:a,selected:b,disabled:c,onSelect:e}){let h=(0,f.c)("skills"),i=a.liveBranch??a.syncedBranch;return(0,d.jsxs)("button",{type:"button",role:"radio","aria-checked":b,disabled:c,onClick:()=>e(a.id),"data-testid":`skill-target-option-${a.id}`,className:`w-full rounded-lg border px-3 py-2.5 text-left transition-colors disabled:cursor-not-allowed disabled:opacity-60 ${b?"border-accent-500 bg-accent-50 dark:bg-accent-950/40":"border-border bg-card hover:bg-muted"}`,children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-sm font-semibold text-foreground break-all",children:a.name}),b&&(0,d.jsx)(g.Ex,{variant:"info",children:h("target.selected")})]}),(0,d.jsxs)("dl",{className:"mt-1.5 grid grid-cols-1 gap-x-4 gap-y-1 sm:grid-cols-2",children:[(0,d.jsx)(o,{label:h("target.repository"),children:a.repositoryName}),(0,d.jsx)(o,{label:h("target.branch"),children:i??h("target.branchUnknown")}),(0,d.jsx)(o,{label:h("target.agents"),children:a.agents.length>0?a.agents.join(", "):h("target.agentsNone")}),(0,d.jsx)(o,{label:h("target.workingTree"),children:h(null===a.dirty?"target.workingTreeUnknown":a.dirty?"target.workingTreeDirty":"target.workingTreeClean")})]}),a.sessionRunning&&(0,d.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground","data-testid":`skill-target-session-${a.id}`,children:h("target.sessionRunning")})]})}function o({label:a,children:b}){return(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("dt",{className:"text-xs font-medium text-muted-foreground",children:a}),(0,d.jsx)("dd",{className:"text-xs text-foreground break-words",children:b})]})}var p=c(27884);function q({label:a,children:b}){return(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("dt",{className:"text-xs font-medium text-muted-foreground",children:a}),(0,d.jsx)("dd",{className:"mt-0.5 break-words text-sm text-foreground",children:b})]})}function r({level:a,kind:b,label:c}){let e=(0,f.c)("skills");return(0,d.jsxs)(g.Ex,{variant:p.eK[a],"data-testid":`skill-plan-risk-${b}-${a}`,children:[c,": ",e(p.pP[a])]})}function s({entry:a}){let b=(0,f.c)("skills"),c=p.KL[a.reason];return(0,d.jsxs)("li",{className:"space-y-1.5 rounded-md border border-border px-3 py-2","data-testid":`skill-plan-file-${a.path}`,children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)(g.Ex,{variant:p.tC[a.change],children:b(p.AS[a.change])}),(0,d.jsx)("span",{className:"break-all font-mono text-xs text-foreground",children:a.path}),a.generated&&(0,d.jsx)(g.Ex,{variant:"gray",children:b("plan.fileGenerated")})]}),c&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b(c)}),a.gitIgnored&&(0,d.jsx)("p",{className:"text-xs text-warning-foreground",children:b("plan.gitIgnored")}),a.binary?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b("plan.diffBinary")}):a.diff?(0,d.jsxs)("details",{children:[(0,d.jsx)("summary",{className:"cursor-pointer text-xs text-accent-600 dark:text-accent-400",children:b("plan.diffToggle",{additions:a.additions,deletions:a.deletions})}),(0,d.jsx)("pre",{className:"mt-1 overflow-x-auto rounded bg-muted p-2 font-mono text-[11px] leading-snug text-foreground",children:a.diff}),a.diffTruncated&&(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:b("plan.diffTruncated")})]}):null]})}function t({plan:a}){let b=(0,f.c)("skills"),{target:c,skill:e}=a,h=e.compatibility.commandmate;return(0,d.jsxs)(g.Zp,{className:"space-y-4","data-testid":"skill-install-plan",children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:b("plan.heading")}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b("plan.expiresAt",{timestamp:a.expiresAt})})]}),(0,d.jsxs)("section",{className:"space-y-2",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:b("plan.targetHeading")}),(0,d.jsxs)("dl",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,d.jsx)(q,{label:b("target.repository"),children:c.repositoryName}),(0,d.jsx)(q,{label:b("target.heading"),children:c.worktreeName}),(0,d.jsx)(q,{label:b("target.branch"),children:c.branch??b("target.branchUnknown")}),(0,d.jsx)(q,{label:b("plan.headStateLabel"),children:b(p.kF[c.headState]??"plan.headState.unknown")}),(0,d.jsx)(q,{label:b("target.workingTree"),children:c.workingTreeDirty?b("target.workingTreeDirty"):b("target.workingTreeClean")}),(0,d.jsx)(q,{label:b("plan.installRoot"),children:(0,d.jsx)("span",{className:"break-all font-mono text-xs",children:(c.installRoots&&c.installRoots.length>0?c.installRoots:[c.installRoot]).map(a=>(0,d.jsx)("span",{className:"block",children:a},a))})}),(0,d.jsx)(q,{label:b("plan.existingInstall"),children:c.existingInstall?b("plan.existingInstallVersion",{version:c.existingInstall.version}):b("plan.existingInstallNone")}),(0,d.jsx)(q,{label:b("detail.recommendedVersion"),children:(0,d.jsx)("span",{className:"font-mono text-xs",children:e.version})})]})]}),(0,d.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-risk-section",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:b("plan.riskHeading")}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,d.jsx)(r,{level:e.declaredRisk,kind:"declared",label:b("plan.riskDeclared")}),(0,d.jsx)(r,{level:e.computedRisk,kind:"computed",label:b("plan.riskComputed")}),(0,d.jsx)(r,{level:e.effectiveRisk,kind:"effective",label:b("plan.riskEffective")})]}),(0,d.jsx)("p",{className:"break-words text-sm text-foreground",children:e.riskRationale}),(0,d.jsx)(k.u,{tone:"neutral",children:b("plan.riskNotice")})]}),(0,d.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-permissions",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:b("permissions.heading")}),e.declaredPermissions.length>0?(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.declaredPermissions.map(a=>(0,d.jsx)(g.Ex,{variant:"warning",children:p.z2[a]?b(p.z2[a]):a},a))}):(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:b("plan.permissionsNone")}),(0,d.jsx)(k.u,{tone:"warning",children:b("permissions.declarationOnlyNotice")})]}),(0,d.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-requirements",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:b("requirements.heading")}),0===e.requirements.commands.length&&0===e.requirements.networkHosts.length?(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:b("plan.requirementsNone")}):(0,d.jsxs)("dl",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[e.requirements.commands.length>0&&(0,d.jsx)(q,{label:b("plan.requirementsCommands"),children:e.requirements.commands.map(a=>`${a.name} ${a.versionRange??b("plan.commandAnyVersion")}`).join(", ")}),e.requirements.networkHosts.length>0&&(0,d.jsx)(q,{label:b("plan.requirementsHosts"),children:e.requirements.networkHosts.join(", ")})]})]}),(0,d.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-scripts",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:b("plan.scriptsHeading")}),0===e.executablePaths.length&&0===e.scriptPaths.length?(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:b("plan.scriptsNone")}):(0,d.jsx)("ul",{className:"space-y-1",children:[...new Set([...e.scriptPaths,...e.executablePaths])].map(a=>(0,d.jsx)("li",{className:"break-all font-mono text-xs text-foreground",children:a},a))})]}),"compatible"!==h.status&&(0,d.jsx)(k.u,{tone:"warning","data-testid":"skill-plan-compatibility-notice",children:b((0,p.e5)(h.messageKey),{range:h.requiredRange,currentVersion:h.currentVersion??""})}),a.warnings.length>0&&(0,d.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-warnings",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:b("plan.warningsHeading")}),(0,d.jsx)("ul",{className:"space-y-1",children:a.warnings.map(a=>(0,d.jsx)("li",{className:"text-xs text-warning-foreground",children:p.RO[a]?b(p.RO[a]):a},a))})]}),(0,d.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-files",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:b("plan.filesHeading")}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"skill-plan-stats",children:b("plan.stats",{added:a.stats.added,modified:a.stats.modified,unchanged:a.stats.unchanged,conflicted:a.stats.conflicted,unmanaged:a.stats.unmanaged})}),0===a.files.length?(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:b("plan.filesEmpty")}):(0,d.jsx)("ul",{className:"space-y-2",children:a.files.map(a=>(0,d.jsx)(s,{entry:a},a.path))})]}),a.blockers.length>0&&(0,d.jsxs)("section",{className:"space-y-2","data-testid":"skill-install-blockers",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-danger-foreground",children:b("plan.blockersHeading")}),(0,d.jsx)("ul",{className:"space-y-1",children:a.blockers.map(a=>(0,d.jsxs)("li",{className:"text-xs text-danger-foreground",children:[a.path&&(0,d.jsx)("span",{className:"mr-1 break-all font-mono",children:a.path}),a.code.startsWith("skills.")?b((0,p.e5)(a.code),{range:h.requiredRange,currentVersion:h.currentVersion??""}):p.KL[a.code]?b(p.KL[a.code]):a.code]},`${a.code}:${a.path??""}`))}),(0,d.jsx)(k.u,{tone:"danger",children:b("plan.blockedNotice")})]})]})}function u({entry:a}){let b=(0,f.c)("skills"),c=p.Mj[a.disposition],e=p.hJ[a.reason];return(0,d.jsxs)("li",{className:"flex flex-wrap items-center gap-2","data-testid":`skill-uninstall-file-${a.path}`,children:[(0,d.jsx)(g.Ex,{variant:"remove"===a.disposition?"info":"warning",children:c?b(c):a.disposition}),(0,d.jsx)("span",{className:"break-all font-mono text-xs text-foreground",children:a.path}),e&&(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:b(e)})]})}function v({plan:a}){let b=(0,f.c)("skills"),{target:c,skill:e}=a;return(0,d.jsxs)(g.Zp,{className:"space-y-4","data-testid":"skill-uninstall-plan",children:[(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:b("uninstall.heading")}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b("uninstall.expiresAt",{timestamp:a.expiresAt})})]}),(0,d.jsxs)("dl",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,d.jsx)(q,{label:b("target.repository"),children:c.repositoryName}),(0,d.jsx)(q,{label:b("target.heading"),children:c.worktreeName}),(0,d.jsx)(q,{label:b("target.branch"),children:c.branch??b("target.branchUnknown")}),(0,d.jsx)(q,{label:b("uninstall.installedVersion"),children:(0,d.jsx)("span",{className:"font-mono text-xs",children:e.version||b("uninstall.versionUnknown")})}),(0,d.jsx)(q,{label:b("plan.installRoot"),children:(0,d.jsx)("span",{className:"break-all font-mono text-xs",children:c.installRoot})}),(0,d.jsx)(q,{label:b("target.workingTree"),children:c.workingTreeDirty?b("target.workingTreeDirty"):b("target.workingTreeClean")})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"skill-uninstall-stats",children:b("uninstall.stats",{removable:a.stats.removable,modified:a.stats.modified,missing:a.stats.missing,unknown:a.stats.unknown,irregular:a.stats.irregular})}),(0,d.jsxs)("section",{className:"space-y-2",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:b("uninstall.removalsHeading")}),0===a.removals.length?(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:b("uninstall.removalsEmpty")}):(0,d.jsx)("ul",{className:"space-y-1.5",children:a.removals.map(a=>(0,d.jsx)(u,{entry:a},a.path))})]}),(0,d.jsxs)("section",{className:"space-y-2",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:b("uninstall.retainedHeading")}),0===a.retained.length?(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:b("uninstall.retainedEmpty")}):(0,d.jsx)("ul",{className:"space-y-1.5",children:a.retained.map(a=>(0,d.jsx)(u,{entry:a},a.path))})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[a.skill.agents.length>0&&(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5","data-testid":"skill-uninstall-agents",children:a.skill.agents.map(a=>(0,d.jsx)(g.Ex,{variant:"gray",children:(0,h.f_)(a.agent)},a.agent))}),(0,d.jsx)(k.u,{tone:"neutral",children:b((0,p.e5)(a.nextActionKey))})]}),a.blockers.length>0&&(0,d.jsxs)("section",{className:"space-y-2","data-testid":"skill-uninstall-blockers",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-danger-foreground",children:b("uninstall.blockersHeading")}),(0,d.jsx)("ul",{className:"space-y-1",children:a.blockers.map(a=>(0,d.jsxs)("li",{className:"text-xs text-danger-foreground",children:[a.path&&(0,d.jsx)("span",{className:"mr-1 break-all font-mono",children:a.path}),b((0,p.e5)(a.messageKey))]},`${a.code}:${a.path??""}`))})]})]})}var w=c(30156);let x={worktreeId:null,busy:null,installPlan:null,uninstallPlan:null,installResult:null,uninstallResult:null,riskAcknowledged:!1,failure:null};function y(a){return{...a,installPlan:null,uninstallPlan:null,installResult:null,uninstallResult:null,riskAcknowledged:!1,failure:null}}function z({failure:a}){let b=(0,f.c)("skills");return(0,d.jsxs)("div",{className:"space-y-2","data-testid":"skill-operation-error",children:[(0,d.jsxs)(k.u,{tone:"danger",children:[(0,d.jsx)("p",{className:"font-medium",children:b("operation.errorHeading")}),(0,d.jsx)("p",{className:"mt-1",children:b((0,p.FW)(a.code))}),(0,d.jsx)("p",{className:"mt-1 break-words",children:b("state.errorCode",{code:a.code})})]}),a.nextActionKey&&(0,d.jsx)(k.u,{tone:"warning",children:b((0,p.e5)(a.nextActionKey))}),a.blockers&&a.blockers.length>0&&(0,d.jsx)("ul",{className:"space-y-1","data-testid":"skill-operation-error-blockers",children:a.blockers.map(a=>(0,d.jsxs)("li",{className:"text-xs text-danger-foreground",children:[a.path&&(0,d.jsx)("span",{className:"mr-1 break-all font-mono",children:a.path}),b((0,p.e5)(a.messageKey))]},`${a.code}:${a.path??""}`))})]})}function A({agents:a,skillId:b,version:c}){let e=(0,f.c)("skills");return 0===a.length?null:(0,d.jsxs)("div",{className:"space-y-1","data-testid":"skill-operation-reload",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:e("operation.reloadHeading")}),(0,d.jsx)("ul",{className:"space-y-1",children:a.map(a=>(0,d.jsx)("li",{className:"text-xs text-muted-foreground",children:e((0,p.e5)(a.messageKey),{agent:(0,h.f_)(a.agent),skillId:b,version:c})},a.agent))})]})}function B({skillId:a,version:b,blockedReason:c,worktreeId:h,agents:l=[]}){let n=(0,f.c)("skills"),[o,q]=(0,e.useState)(()=>h?{...x,worktreeId:h}:x),r=(0,e.useCallback)(a=>{q(b=>b.worktreeId===a?b:y({...b,worktreeId:a,busy:null}))},[]),s=(0,e.useCallback)(async()=>{let c=o.worktreeId;if(!c)return;q(a=>({...y(a),busy:"install-plan"}));let d=await (0,w.Q6)(c,a,{version:b??void 0});q(a=>({...a,busy:null,installPlan:d.ok?d.data.plan:null,failure:d.ok?null:d.failure}))},[a,o.worktreeId,b]),u=(0,e.useCallback)(async()=>{var b;let c=o.worktreeId,d=o.installPlan;if(!c||!d||d.requiresRiskAcknowledgement&&!o.riskAcknowledged)return;q(a=>({...a,busy:"install-apply",failure:null}));let e=await (0,w.Xi)(c,a,{planToken:d.token,version:d.skill.version,acknowledgeRisk:!!d.requiresRiskAcknowledgement||void 0,idempotencyKey:(b=d.token,`skill-install-${b}`)});e.ok&&(0,i.k)(c),q(a=>({...a,busy:null,installPlan:e.ok?null:a.installPlan,installResult:e.ok?e.data:null,failure:e.ok?null:e.failure}))},[a,o.installPlan,o.riskAcknowledged,o.worktreeId]),B=(0,e.useCallback)(async()=>{let b=o.worktreeId;if(!b)return;q(a=>({...y(a),busy:"uninstall-plan"}));let c=await (0,w.hN)(b,a);q(a=>({...a,busy:null,uninstallPlan:c.ok?c.data.plan:null,failure:c.ok?null:c.failure}))},[a,o.worktreeId]),C=(0,e.useCallback)(async()=>{var b;let c=o.worktreeId,d=o.uninstallPlan;if(!c||!d)return;q(a=>({...a,busy:"uninstall-apply",failure:null}));let e=await (0,w.E)(c,a,{planToken:d.token,idempotencyKey:(b=d.token,`skill-uninstall-${b}`)});q(a=>({...a,busy:null,uninstallPlan:e.ok?null:a.uninstallPlan,uninstallResult:e.ok?e.data:null,failure:e.ok?null:e.failure}))},[a,o.uninstallPlan,o.worktreeId]),D=(0,e.useCallback)(()=>{q(a=>y(a))},[]),E=null!==o.busy,F=o.installPlan,G=o.uninstallPlan,H=c??n(o.worktreeId?"plan.ready":"plan.chooseTarget"),I=null!==F&&F.requiresRiskAcknowledgement&&!o.riskAcknowledged;return(0,d.jsxs)("div",{className:"space-y-3","data-testid":"skill-install-panel",children:[!h&&(0,d.jsx)(m,{selectedWorktreeId:o.worktreeId,onSelect:r,disabled:E}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)(g.$n,{variant:"primary",disabled:E||null!==c||!o.worktreeId,onClick:s,"data-testid":"skill-install-action","aria-describedby":"skill-install-reason",children:n("install-plan"===o.busy?"plan.building":"plan.build")}),(0,d.jsx)(g.$n,{variant:"secondary",disabled:E||!o.worktreeId,onClick:B,"data-testid":"skill-uninstall-action",children:n("uninstall-plan"===o.busy?"uninstall.building":"uninstall.build")})]}),(0,d.jsx)("p",{id:"skill-install-reason",className:"text-sm text-muted-foreground","data-testid":"skill-install-reason",children:H}),l.length>0&&(0,d.jsxs)("div",{className:"space-y-1","data-testid":"skill-install-reload-preview",children:[(0,d.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:n("operation.reloadHeading")}),(0,d.jsx)("ul",{className:"space-y-1",children:l.map(a=>(0,d.jsx)(j.m,{agent:a,variant:"reload"},a.agent))})]}),o.failure&&(0,d.jsx)(z,{failure:o.failure}),F&&(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(t,{plan:F}),F.requiresRiskAcknowledgement&&(0,d.jsxs)(g.Zp,{className:"space-y-3","data-testid":"skill-install-risk-acknowledgement",children:[(0,d.jsx)(k.u,{tone:"danger",children:n((0,p.e5)(F.riskAcknowledgementMessageKey??"skills.plan.highRiskAcknowledgement"))}),(0,d.jsxs)("label",{className:"flex items-start gap-2 text-sm text-foreground",children:[(0,d.jsx)(g.Sc,{checked:o.riskAcknowledged,onCheckedChange:a=>q(b=>({...b,riskAcknowledged:!0===a})),disabled:E,"data-testid":"skill-install-risk-checkbox",className:"mt-0.5"}),(0,d.jsx)("span",{children:n("plan.acknowledgeLabel")})]})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)(g.$n,{variant:F.requiresRiskAcknowledgement?"danger":"primary",disabled:E||!F.installable||I,onClick:u,"data-testid":"skill-install-confirm",children:n("install-apply"===o.busy?"plan.confirming":"plan.confirm")}),(0,d.jsx)(g.$n,{variant:"ghost",disabled:E,onClick:D,"data-testid":"skill-install-discard",children:n("plan.discard")})]})]}),G&&(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(v,{plan:G}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)(g.$n,{variant:"danger",disabled:E||!G.removable,onClick:C,"data-testid":"skill-uninstall-confirm",children:n("uninstall-apply"===o.busy?"uninstall.confirming":"uninstall.confirm")}),(0,d.jsx)(g.$n,{variant:"ghost",disabled:E,onClick:D,"data-testid":"skill-uninstall-discard",children:n("plan.discard")})]})]}),o.installResult&&(0,d.jsxs)(g.Zp,{className:"space-y-3","data-testid":"skill-install-result",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:n("operation.installedHeading")}),(0,d.jsx)(k.u,{tone:"info",children:n((0,p.e5)(o.installResult.operation.nextActionKey))}),o.installResult.operation.replayed&&(0,d.jsx)(k.u,{tone:"neutral","data-testid":"skill-operation-replayed",children:n("operation.replayNotice")}),o.installResult.install&&"files"in o.installResult.install&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:n("operation.filesWritten",{count:o.installResult.install.files.length})}),"reload"in o.installResult&&(0,d.jsx)(A,{agents:o.installResult.reload.agents,skillId:o.installResult.reload.skillId,version:o.installResult.reload.version}),(0,d.jsx)(g.$n,{variant:"secondary",size:"sm",onClick:D,"data-testid":"skill-operation-reset",children:n("operation.startOver")})]}),o.uninstallResult&&(0,d.jsxs)(g.Zp,{className:"space-y-3","data-testid":"skill-uninstall-result",children:[(0,d.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:n("operation.uninstalledHeading")}),(0,d.jsx)(k.u,{tone:"info",children:n((0,p.e5)(o.uninstallResult.operation.nextActionKey))}),o.uninstallResult.operation.replayed&&(0,d.jsx)(k.u,{tone:"neutral","data-testid":"skill-operation-replayed",children:n("operation.replayNotice")}),o.uninstallResult.uninstall&&"removedFiles"in o.uninstallResult.uninstall&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:n("operation.filesRemoved",{count:o.uninstallResult.uninstall.removedFiles.length})}),"reload"in o.uninstallResult&&(0,d.jsx)(A,{agents:o.uninstallResult.reload.agents,skillId:o.uninstallResult.reload.skillId,version:o.uninstallResult.reload.version}),(0,d.jsx)(g.$n,{variant:"secondary",size:"sm",onClick:D,"data-testid":"skill-operation-reset",children:n("operation.startOver")})]})]})}},12894:(a,b,c)=>{c.d(b,{o:()=>d});function d(a){return a?a.split("/").map(encodeURIComponent).join("/"):""}},28593:(a,b,c)=>{c.d(b,{Xz:()=>j,qW:()=>k,uE:()=>l});var d=c(21124);c(38301);var e=c(20481),f=c(93983),g=c(15737),h=c(17252),i=c(27884);function j({status:a,className:b}){let c=(0,e.c)("skills");return(0,d.jsx)(g.Ex,{variant:i.H$[a],className:b,"data-testid":`skill-compatibility-${a}`,children:c(i.OV[a])})}function k({risk:a,className:b}){let c=(0,e.c)("skills");return(0,d.jsxs)(g.Ex,{variant:i.eK[a],className:b,"data-testid":`skill-declared-risk-${a}`,children:["high"===a&&(0,d.jsx)(f.A,{size:12,"aria-hidden":"true",className:"mr-1 shrink-0"}),c("risk.declaredLabel",{level:c(i.pP[a])})]})}function l({agent:a}){let b=(0,e.c)("skills");return(0,d.jsxs)(g.Ex,{variant:i.Et[a.support],"data-testid":`skill-agent-${a.agent}-${a.support}`,children:[(0,h.f_)(a.agent),": ",b((0,i.e5)(a.labelKey))]})}},60741:(a,b,c)=>{c.d(b,{G8:()=>v});var d=c(21124),e=c(38301),f=c.n(e),g=c(20481),h=c(79206),i=c(18954),j=c(26295),k=c(29701),l=c(28752),m=c(37950);c(31230);var n=c(13973),o=c(17793);let p=(0,n.default)(async()=>{},{loadableGenerated:{modules:["components/worktree/MermaidCodeBlock.tsx -> ./MermaidDiagram"]},ssr:!1,loading:function(){let a=(0,g.c)("worktree");return(0,d.jsxs)("div",{className:"mermaid-loading flex items-center gap-2 text-muted-foreground p-4",children:[(0,d.jsx)(o.y,{size:"sm"}),(0,d.jsx)("span",{children:a("mermaid.loading")})]})}});function q({className:a,children:b}){if(a&&a.split(" ").includes("language-mermaid")){let a=null==b?"":"string"==typeof b?b:Array.isArray(b)?b.map(a=>"string"==typeof a?a:"").join(""):String(b);return(0,d.jsx)(p,{code:a})}return(0,d.jsx)("code",{className:a,children:b})}var r=c(9758),s=c(82620),t=c(12894);function u({apiUrl:a,alt:b,width:c,height:f}){let h=(0,g.c)("worktree"),[i,j]=(0,e.useState)(null);return i?(0,d.jsx)("img",{src:i,alt:b,width:c,height:f,style:{maxWidth:c||"100%"}}):(0,d.jsx)("span",{style:{color:"#999"},children:h("markdownPreview.loadingImage")})}let v=(0,e.memo)(function({content:a,onOpenFile:b,currentFilePath:c,worktreeId:g}){let n=(0,e.useRef)(b);n.current=b;let o=(0,e.useRef)(c);o.current=c;let p=(0,e.useRef)(g);p.current=g;let v=(0,e.useCallback)((a,b)=>{let c=(0,s.d3)(b);if(c)switch((0,s.dj)(c)){case"anchor":break;case"external":a.preventDefault(),window.open(c,"_blank","noopener,noreferrer");break;case"relative":{a.preventDefault();let b=o.current,d=n.current;if(b&&d){let a=(0,s.WU)(b,c);a&&d(a)}}}},[]),w=(0,e.useMemo)(()=>({code:q,pre:({children:a})=>!function(a){let b=f().Children.toArray(a)[0];if(!f().isValidElement(b))return!1;let c=b.props.className;return"string"==typeof c&&c.split(" ").includes("language-mermaid")}(a)?(0,d.jsx)(r.Ck,{children:(0,d.jsx)("pre",{className:"overflow-x-auto",children:a})}):(0,d.jsx)("pre",{children:a}),img:({src:a,alt:b,width:c,height:e,...f})=>{let g=c??f.node?.properties?.width,h=e??f.node?.properties?.height;if("string"==typeof a&&!a.startsWith("http://")&&!a.startsWith("https://")&&!a.startsWith("data:")){let c=o.current,e=p.current;if(c&&e){let f=(0,s.WU)(c,a);if(f){let a=`/api/worktrees/${e}/files/${(0,t.o)(f)}`;return(0,d.jsx)(u,{apiUrl:a,alt:b??"",width:g,height:h})}}}return(0,d.jsx)("img",{src:a,alt:b??"",width:g,height:h,style:{maxWidth:g||"100%"}})},a:({href:a,children:b,...c})=>a?(0,d.jsx)("a",{...c,href:a,onClick:b=>v(b,a),children:b}):(0,d.jsx)("a",{...c,children:b})}),[v]),x=(0,e.useMemo)(()=>[i.A],[]),y=(0,e.useMemo)(()=>[j.A,[k.A,s.uO],l.A,m.A],[]);return(0,d.jsx)(h.oz,{remarkPlugins:x,rehypePlugins:y,components:w,children:a})})},62484:(a,b,c)=>{c.d(b,{i:()=>j});var d=c(21124),e=c(38301),f=c(63156),g=c(58970);function h(){return(0,d.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})}function i(){return(0,d.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}function j({text:a,className:b="",label:c="Copy"}){let[j,k]=(0,e.useState)(!1),l=(0,e.useRef)(null),m=(0,e.useCallback)(async()=>{try{await (0,f.l)(a),k(!0),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>k(!1),g.s7)}catch{}},[a]);return(0,d.jsxs)("button",{type:"button",onClick:m,className:`inline-flex items-center gap-1 rounded border border-border bg-surface px-2 py-0.5 text-[11px] font-medium text-foreground transition-colors hover:bg-muted ${b}`,"aria-label":j?"Copied":c,title:j?"Copied!":c,children:[j?(0,d.jsx)(i,{}):(0,d.jsx)(h,{}),(0,d.jsx)("span",{children:j?"Copied":c})]})}},63156:(a,b,c)=>{c.d(b,{l:()=>e});let d=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\[[0-9;]*m/g;async function e(a){if(!a||0===a.trim().length)return;let b=a.replace(d,"");if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(b);return}catch{}let c=document.createElement("textarea");c.value=b,c.style.position="fixed",c.style.left="-9999px",c.style.top="-9999px",c.style.opacity="0",document.body.appendChild(c),c.focus(),c.select();try{document.execCommand("copy")}finally{document.body.removeChild(c)}}},81136:(a,b,c)=>{c.d(b,{Co:()=>d,Ms:()=>f,td:()=>e});let d=".agents/skills",e=".claude/skills",f="skills.permissions.declarationOnlyNotice"},82620:(a,b,c)=>{c.d(b,{WU:()=>f,d3:()=>g,dj:()=>e,uO:()=>h});var d=c(46831);function e(a){return a.startsWith("#")?"anchor":a.startsWith("http://")||a.startsWith("https://")||a.startsWith("mailto:")||a.startsWith("tel:")?"external":"relative"}function f(a,b){if(!b)return null;let c=a.substring(0,a.lastIndexOf("/")+1);try{let a=new URL(c,"file:///"),d=new URL(b,a),e=decodeURIComponent(d.pathname);if(e.startsWith("/")){let a=e.substring(1);if(a.length>0)return a}}catch{}return null}function g(a){return!a||0===a.length||a.length>2048||/[\x00-\x1f\x7f]/.test(a)?null:a}let h={...d.j,attributes:{...d.j.attributes,a:[...(d.j.attributes?.a??[]).filter(a=>"href"!==a),["href",/^(?:#|mailto:|tel:|https?:\/\/|(?![a-zA-Z][a-zA-Z0-9+.-]*:))/]],img:[...(d.j.attributes?.img??[]).filter(a=>"src"!==a),["src",/^(?:https?:\/\/|(?![a-zA-Z][a-zA-Z0-9+.-]*:))/],"alt","width","height"]}}},85389:(a,b,c)=>{c.d(b,{m:()=>j});var d=c(21124);c(38301);var e=c(20481),f=c(17252),g=c(3805),h=c(27884);function i({axis:a,agentName:b}){let c=(0,e.c)("skills");return(0,d.jsxs)("li",{className:"text-xs text-muted-foreground","data-testid":`skill-agent-axis-${a.axis}`,children:[(0,d.jsx)("span",{className:"font-medium text-foreground",children:c((0,h.e5)(a.axisKey))}),": ",(0,d.jsx)("span",{"data-testid":`skill-agent-axis-${a.axis}-${a.outcome}`,children:c((0,h.e5)(a.outcomeKey))})," — ",c((0,h.e5)(a.evidenceKindKey)),a.limitationKey&&(0,d.jsx)("span",{className:"mt-0.5 block","data-testid":`skill-agent-axis-${a.axis}-limitation`,children:c((0,h.e5)(a.limitationKey),{agent:b})})]})}function j({agent:a,variant:b="full"}){let c=(0,e.c)("skills"),j=(0,f.f_)(a.agent),k=a.measured;return"reload"===b?(0,d.jsx)("li",{className:"text-xs text-muted-foreground","data-testid":`skill-agent-reload-${a.agent}`,children:c((0,h.e5)(a.reloadKey),{agent:j})}):(0,d.jsxs)("div",{className:"space-y-1","data-testid":`skill-agent-evidence-${a.agent}`,children:[(0,d.jsx)("p",{className:"text-xs font-medium text-foreground",children:j}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground break-words",children:c("compatibility.declaredLabel",{support:c((0,h.e5)(a.declaredLabelKey))})}),(0,d.jsxs)("p",{className:"text-xs text-muted-foreground break-words",children:[c("compatibility.evidence"),": ",a.evidence]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground break-words","data-testid":`skill-agent-verification-${a.agent}`,children:c((0,h.e5)(a.verificationKey))}),k?(0,d.jsxs)("div",{className:"space-y-0.5 border-l-2 border-border pl-2",children:[(0,d.jsx)("p",{className:"text-xs font-medium text-foreground",children:c("compatibility.measuredHeading")}),(0,d.jsxs)("ul",{className:"space-y-0.5",children:[(0,d.jsx)(i,{axis:k.discovery,agentName:j}),(0,d.jsx)(i,{axis:k.invocation,agentName:j})]}),k.testedVersion&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:c("compatibility.testedVersion",{agent:j,version:k.testedVersion})}),k.testedDate&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:c("compatibility.testedDate",{date:k.testedDate})}),k.discoveryRoots.length>0&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground break-all",children:c("compatibility.discoveryRoots",{roots:k.discoveryRoots.join(", ")})}),k.evidenceSource&&(0,d.jsxs)("p",{className:"text-xs text-muted-foreground break-all",children:[c("compatibility.evidenceSource"),": ",k.evidenceSource]}),k.stale&&(0,d.jsx)(g.u,{tone:"warning","data-testid":`skill-agent-evidence-stale-${a.agent}`,children:c("compatibility.evidenceStale",{days:k.ageDays??0})})]}):a.skipReasonKey&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground break-words","data-testid":`skill-agent-skip-reason-${a.agent}`,children:c((0,h.e5)(a.skipReasonKey))}),(0,d.jsxs)("p",{className:"text-xs text-muted-foreground break-words",children:[(0,d.jsx)("span",{className:"font-medium text-foreground",children:c("compatibility.reloadHeading",{agent:j})}),": ",c((0,h.e5)(a.reloadKey),{agent:j})]})]})}},90349:(a,b,c)=>{c.d(b,{I:()=>d,k:()=>e});let d="skill:installed";function e(a){}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=5017,exports.ids=[5017],exports.modules={45017:(a,b,c)=>{c.d(b,{v7:()=>d.v7,LP:()=>d.LP,pL:()=>d.pL,GE:()=>d.GE,aq:()=>d.aq,kC:()=>d.kC,xU:()=>B,bZ:()=>C,W8:()=>d.W8,W5:()=>I,_i:()=>J,_C:()=>K});var d=c(24455),e=c(31766),f=c(26895),g=c(75498),h=c(91318),i=c(52277),j=c(74258),k=c(32759);let l=["enforce","legacy"],m={claude:"enforce",codex:"enforce",copilot:"enforce",opencode:"enforce",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy"};var n=c(52767),o=c(88807),p=c(52660),q=c(63869),r=c(83468),s=c(85164),t=c(77093),u=c(93997),v=c(68901),w=c(72626),x=c(66007);let y=(0,w.h)("auto-yes-poller"),z=globalThis.__autoYesPollerStates??(globalThis.__autoYesPollerStates=new Map);function A(a){return z.get(a)}function B(a){let b=A(a);return b?.lastServerResponseTimestamp??null}function C(a){return z.has(a)}function D(a){let b=A(a);if(b&&(b.consecutiveErrors++,b.currentInterval=(0,d.G)(b.consecutiveErrors),b.consecutiveErrors>=v.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),J(a)}}async function E(a,b,c,d){let f=c??v.FW,g=await (0,e.Wh)(a,b,f,d);return(0,s._A)((0,s.aJ)(g))}async function F(a,b,e,v,w,x){let z=(0,d.v7)(a,e,x);try{let D=(0,s.KO)(e),E=(0,f.gF)(v,{...D,...w&&{precomputedLines:w}});if(!E.isPrompt||!E.promptData)return b.lastAnsweredPromptKey=null,b.lastAnsweredAt=null,"no_prompt";let F=(B=E.promptData,`${B.type}:${B.question}`);if(b.lastAnsweredPromptKey===F&&null!==b.lastAnsweredAt&&Date.now()-b.lastAnsweredAt<d.UL)return"duplicate";let G="codex"===e?(0,s.E6)(v):null;if(G)return(0,i.ZS)(a,e,x,{reason:"agent-launch-dialog",mode:null,promptType:E.promptData.type}),y.warn("poller:auto-yes-skipped-launch-dialog",{worktreeId:a,cliToolId:e,instanceId:x,dialog:G,promptType:E.promptData.type}),"no_answer";let H=function(a,b,c,d=process.env){let e=(0,k.bN)(a),f=function(a,b=process.env){let c=b.CM_AUTOYES_DIALOG_GATE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();l.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??m[a]??"legacy"}(a,d);if("multiple_choice"!==b||!e.hasDialogRules||"legacy"===f)return{allowed:!0,dialog:null,mode:f,gated:!1};let g=e.detectDialog((0,j.z)(c));return{allowed:null!==g&&"numbered"===g.answerMode,dialog:g,mode:f,gated:!0}}(e,E.promptData.type,v);if(!H.allowed)return(0,i.ZS)(a,e,x,{reason:"unclassified-frame",mode:null,promptType:E.promptData.type}),y.warn("poller:auto-yes-skipped-unclassified-frame",{worktreeId:a,cliToolId:e,instanceId:x,promptType:E.promptData.type,dialogKind:H.dialog?.kind??null,answerMode:H.dialog?.answerMode??null,gateMode:H.mode}),"no_answer";let I=(0,h.n)(a,e,x),J=(0,g.sD)(E.promptData,I);J.suppressedBy&&((0,i.ZS)(a,e,x,{reason:J.suppressedBy,mode:I?.mode??null,promptType:E.promptData.type,pattern:J.pattern}),y.warn("poller:auto-yes-suppressed-by-policy",{worktreeId:a,cliToolId:e,instanceId:x,reason:J.suppressedBy,mode:I?.mode??null,pattern:J.pattern,promptType:E.promptData.type}));let K=J.answer;if(null===K)return"no_answer";let L=r.CLIToolManager.getInstance().getTool(e).getSessionName(a,x);try{await (0,q.tV)({sessionName:L,answer:K,cliToolId:e,promptData:E.promptData})}finally{(0,u.gm)(L)}var B,C=Date.now();let M=A(z);M&&(M.lastServerResponseTimestamp=C);let N=A(z);N&&(N.consecutiveErrors=0,N.currentInterval=d.ps),b.lastAnsweredPromptKey=F,b.lastAnsweredAt=Date.now(),y.info("poller:response-sent",{worktreeId:a,cliToolId:e,instanceId:x}),(0,n.r)((0,o.getDbInstance)(),a,e,x??e,"prompt_answered_auto",{promptType:E.promptData.type});let O=null;try{O=(0,p.recordAnsweredPrompt)((0,o.getDbInstance)(),{worktreeId:a,cliToolId:e,instanceId:x??e,promptData:E.promptData,answer:K,answeredBy:"auto",content:E.rawContent||E.cleanContent})}catch(b){y.warn("poller:prompt-audit-record-failed",{worktreeId:a,cliToolId:e,instanceId:x,error:(0,t.u1)(b)})}if(O){let b=O;Promise.all([c.e(1503),c.e(1719),c.e(6894),c.e(2739)]).then(c.bind(c,79129)).then(({broadcastMessage:c})=>{c(b.created?"message":"message_updated",{worktreeId:a,message:b.message})}).catch(()=>{})}let[{startPolling:P},{broadcastTerminalSnapshotAfterInteraction:Q}]=await Promise.all([Promise.all([c.e(1356),c.e(1503),c.e(1634),c.e(1719),c.e(1191),c.e(6894),c.e(6337),c.e(7472),c.e(1058),c.e(9696),c.e(3099),c.e(552),c.e(2839)]).then(c.bind(c,95220)),Promise.all([c.e(1503),c.e(1719),c.e(6894),c.e(7472),c.e(1058),c.e(261)]).then(c.bind(c,99508))]);return P(a,e,x),Q(a,e,x),"responded"}catch{return D(z),y.warn("poller:detect-respond-error",{worktreeId:a,cliToolId:e,instanceId:x}),"error"}}async function G(a,b,c){let e=(0,d.v7)(a,b,c),f=A(e);if("valid"===function(a,b){if(!b)return"stopped";let c=(0,d.Ue)(a),e=(0,d.pL)(a);if(!e)return J(a),"expired";let f=(0,d.GE)(a)??void 0,g=(0,d.aq)(c,e,f);return g?.enabled?"valid":(J(a),"expired")}(e,f)){try{let g=(0,d.aq)(a,b,c),h=g?.stopPattern?v.FW:v.Ke,i=await E(a,b,h,c),j=i.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,J)}return c.length<e&&(b.stopCheckBaselineLength=c.length),!1}(e,f,i))return;let k=await F(a,f,b,i,j,c);if("responded"===k)return void H(a,b,c,d.ZO);if("no_prompt"===k){let e=j.slice(-d.Re).join("\n");if((0,s.ut)(b,e))return void H(a,b,c,v.QN)}}catch(d){D(e),y.warn("poller:poll-error",{worktreeId:a,cliToolId:b,instanceId:c,error:(0,t.u1)(d)})}H(a,b,c)}}function H(a,b,c,e){let f=A((0,d.v7)(a,b,c));if(!f)return;let g=Math.max(e??f.currentInterval,d.ps);f.timerId=setTimeout(()=>{G(a,b,c)},g)}function I(a,b,c){if(!(0,x.h6)(a))return{started:!1,reason:"invalid worktree ID"};let e=c??b,f=(0,d.aq)(a,b,e);if(!f?.enabled)return{started:!1,reason:"auto-yes not enabled"};let g=(0,d.v7)(a,b,e),i=A(g);if(!i&&z.size>=d.fC)return{started:!1,reason:"max concurrent pollers reached"};if(i&&i.cliToolId===b)return{started:!0,reason:"already_running"};i&&J(g);let j={timerId:null,cliToolId:b,instanceId:e,consecutiveErrors:0,currentInterval:d.ps,lastServerResponseTimestamp:null,lastAnsweredPromptKey:null,lastAnsweredAt:null,stopCheckBaselineLength:-1};return z.set(g,j),(0,h.ie)(g),j.timerId=setTimeout(()=>{G(a,b,e)},d.ps),y.info("poller:started",{worktreeId:a,cliToolId:b,instanceId:e}),{started:!0}}function J(a){let b=A(a);b&&(b.timerId&&clearTimeout(b.timerId),z.delete(a),(0,h.ie)(a),y.info("poller:stopped",{compositeKey:a}))}function K(a){(0,d._9)(Array.from(z.keys()),a).forEach(a=>J(a))}},52277:(a,b,c)=>{c.d(b,{ZS:()=>f,gb:()=>g});var d=c(24455);let e=globalThis.__autoYesPolicySuppressions??(globalThis.__autoYesPolicySuppressions=new Map);function f(a,b,c,g,h=Date.now()){e.set((0,d.v7)(a,b,c),{...g,at:h})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??null}},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}}},63869:(a,b,c)=>{c.d(b,{Pw:()=>l,tV:()=>p});var d=c(79892),e=c(74258),f=c(32759),g=c(81254),h=c(93997),i=c(20610);let j=/^\[[ x]\] /,k="answer_mode_keys";class l 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 (${k}). The digit would be swallowed and the Enter after it would confirm whatever is highlighted. Nothing was sent.`),this.name="PromptAnswerRejectedError",this.reason=k,this.dialogKind=c.kind,this.answerMode=c.answerMode}}async function m(a){if(void 0!==a.frame)return a.frame;try{return await (0,d.Xg)(a.sessionName,200)}catch{return null}}async function n(a){if(!/^\d+$/.test(a.answer))return;let b=(0,f.bN)(a.cliToolId);if(!b.hasDialogRules)return;let c=await m(a);if(null===c)return;let d=b.detectDialog((0,e.z)(c));if(null!==d&&"numbered"!==d.answerMode)throw new l(a.cliToolId,a.answer,d)}function o(a){if(0===a)return[];let b=a>0?"Down":"Up";return Array.from({length:Math.abs(a)},()=>b)}async function p(a){let{sessionName:b,answer:c,cliToolId:e,promptData:f,fallbackPromptType:k,fallbackDefaultOptionNumber:l}=a;if(await n(a),("claude"===e||"antigravity"===e)&&(f?.type==="multiple_choice"||"multiple_choice"===k)&&/^\d+$/.test(c)){let a,e=parseInt(c,10),g=null;if(f?.type==="multiple_choice"){let b=(g=f.options).find(a=>a.isDefault);a=b?.number??1}else a=l??1;let h=e-a;if(null!==g&&g.some(a=>j.test(a.label))&&null!==g){let a=g.filter(a=>j.test(a.label)).length,c=[...o(h),"Space"];c.push(...o(a-e+1)),c.push("Enter"),await (0,d.KB)(b,c)}else{let a=o(h),c=f?.type==="multiple_choice"&&!0===f.isAskUserQuestion&&0===h?["Down","Up","Enter"]:[...a,"Enter"];await (0,d.KB)(b,c)}}else{await (0,d.V1)(b,c,!1);let e=function(a){let b=(a.promptData?.type==="multiple_choice"?a.promptData.submitMode:void 0)??a.fallbackSubmitMode??"answer_then_enter";return(0,g.MI)(b)?b:"answer_then_enter"}(a);"answer_only"===e&&(a.promptData?.type==="multiple_choice"||"multiple_choice"===a.fallbackPromptType)&&/^\d+$/.test(a.answer)||(await new Promise(a=>setTimeout(a,i.pL)),await (0,d.V1)(b,"",!0))}(0,h.gm)(b)}},75498:(a,b,c)=>{c.d(b,{Lj:()=>f,Tb:()=>e,sD:()=>g});var d=c(68901);let e=2e4;function f(a,b,c){if(!c)return null;if("off"===c.mode)return{reason:"mode-off"};let f=function(a,b){if(0===b.length)return{outcome:"no-match"};let c=a.map(a=>a.length>e?a.slice(0,e):a);for(let a of b){if(a.length>200||!(0,d.P0)(a).valid)return{outcome:"unusable",pattern:a};let b=new RegExp(a);for(let e of c){let c=(0,d.eJ)(b,e);if(null===c)return{outcome:"unusable",pattern:a};if(c)return{outcome:"match",pattern:a}}}return{outcome:"no-match"}}(b,c.denyPatterns);return"match"===f.outcome?{reason:"deny-pattern",pattern:f.pattern}:"unusable"===f.outcome?{reason:"deny-pattern-unusable",pattern:f.pattern}:"safe"===c.mode?"yes_no"===a?null:{reason:"type-not-allowed"}:"allow-listed"===c.mode?c.allowPromptTypes.includes(a)?null:{reason:"type-not-allowed"}:null}function g(a,b){let c=function(a){if("yes_no"===a.type)return"y";if("multiple_choice"===a.type){let b=a.options.find(a=>a.isDefault)??a.options[0];return!b||b.requiresTextInput?null:b.number.toString()}return null}(a);if(null===c)return{answer:null,suppressedBy:null};let d=f(a.type,function(a){let b=[a.question];if(a.approvalTarget&&b.push(a.approvalTarget),"multiple_choice"===a.type)for(let c of a.options)b.push(c.label);else b.push(...a.options);return b}(a),b);return d?{answer:null,suppressedBy:d.reason,pattern:d.pattern}:{answer:c,suppressedBy:null}}},91318:(a,b,c)=>{c.d(b,{ie:()=>j,n:()=>i});var d=c(56791),e=c(88807),f=c(24455);let g=(0,c(72626).h)("auto-yes-policy"),h=new Map;function i(a,b,c){let i=c??b,j=(0,f.v7)(a,b,i),k=Date.now(),l=h.get(j);if(l&&l.expiresAt>k)return l.policy;let m=function(a,b,c){try{let f=(0,d.getActiveTaskForInstance)((0,e.getDbInstance)(),a,b,c);if(!f)return null;return f.contract.autoYes}catch(d){return g.warn("policy-lookup-failed",{worktreeId:a,cliToolId:b,instanceId:c,error:d instanceof Error?d.message:String(d)}),null}}(a,b,i);return h.size>=200&&function(a){for(let[b,c]of h.entries())c.expiresAt<=a&&h.delete(b)}(k),h.set(j,{policy:m,expiresAt:k+5e3}),m}function j(a){h.delete(a)}}};
|
|
1
|
+
"use strict";exports.id=5017,exports.ids=[5017],exports.modules={45017:(a,b,c)=>{c.d(b,{v7:()=>d.v7,LP:()=>d.LP,pL:()=>d.pL,GE:()=>d.GE,aq:()=>d.aq,kC:()=>d.kC,xU:()=>B,bZ:()=>C,W8:()=>d.W8,W5:()=>I,_i:()=>J,_C:()=>K});var d=c(24455),e=c(31990),f=c(26895),g=c(75498),h=c(91318),i=c(52277),j=c(74258),k=c(7187);let l=["enforce","legacy"],m={claude:"enforce",codex:"enforce",copilot:"enforce",opencode:"enforce",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy"};var n=c(52767),o=c(88807),p=c(52660),q=c(63869),r=c(43234),s=c(85164),t=c(77093),u=c(93997),v=c(68901),w=c(72626),x=c(66007);let y=(0,w.h)("auto-yes-poller"),z=globalThis.__autoYesPollerStates??(globalThis.__autoYesPollerStates=new Map);function A(a){return z.get(a)}function B(a){let b=A(a);return b?.lastServerResponseTimestamp??null}function C(a){return z.has(a)}function D(a){let b=A(a);if(b&&(b.consecutiveErrors++,b.currentInterval=(0,d.G)(b.consecutiveErrors),b.consecutiveErrors>=v.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),J(a)}}async function E(a,b,c,d){let f=c??v.FW,g=await (0,e.Wh)(a,b,f,d);return(0,s._A)((0,s.aJ)(g))}async function F(a,b,e,v,w,x){let z=(0,d.v7)(a,e,x);try{let D=(0,s.KO)(e),E=(0,f.gF)(v,{...D,...w&&{precomputedLines:w}});if(!E.isPrompt||!E.promptData)return b.lastAnsweredPromptKey=null,b.lastAnsweredAt=null,"no_prompt";let F=(B=E.promptData,`${B.type}:${B.question}`);if(b.lastAnsweredPromptKey===F&&null!==b.lastAnsweredAt&&Date.now()-b.lastAnsweredAt<d.UL)return"duplicate";let G="codex"===e?(0,s.E6)(v):null;if(G)return(0,i.ZS)(a,e,x,{reason:"agent-launch-dialog",mode:null,promptType:E.promptData.type}),y.warn("poller:auto-yes-skipped-launch-dialog",{worktreeId:a,cliToolId:e,instanceId:x,dialog:G,promptType:E.promptData.type}),"no_answer";let H=function(a,b,c,d=process.env){let e=(0,k.bN)(a),f=function(a,b=process.env){let c=b.CM_AUTOYES_DIALOG_GATE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();l.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??m[a]??"legacy"}(a,d);if("multiple_choice"!==b||!e.hasDialogRules||"legacy"===f)return{allowed:!0,dialog:null,mode:f,gated:!1};let g=e.detectDialog((0,j.z)(c));return{allowed:null!==g&&"numbered"===g.answerMode,dialog:g,mode:f,gated:!0}}(e,E.promptData.type,v);if(!H.allowed)return(0,i.ZS)(a,e,x,{reason:"unclassified-frame",mode:null,promptType:E.promptData.type}),y.warn("poller:auto-yes-skipped-unclassified-frame",{worktreeId:a,cliToolId:e,instanceId:x,promptType:E.promptData.type,dialogKind:H.dialog?.kind??null,answerMode:H.dialog?.answerMode??null,gateMode:H.mode}),"no_answer";let I=(0,h.n)(a,e,x),J=(0,g.sD)(E.promptData,I);J.suppressedBy&&((0,i.ZS)(a,e,x,{reason:J.suppressedBy,mode:I?.mode??null,promptType:E.promptData.type,pattern:J.pattern}),y.warn("poller:auto-yes-suppressed-by-policy",{worktreeId:a,cliToolId:e,instanceId:x,reason:J.suppressedBy,mode:I?.mode??null,pattern:J.pattern,promptType:E.promptData.type}));let K=J.answer;if(null===K)return"no_answer";let L=r.CLIToolManager.getInstance().getTool(e).getSessionName(a,x);try{await (0,q.tV)({sessionName:L,answer:K,cliToolId:e,promptData:E.promptData})}finally{(0,u.gm)(L)}var B,C=Date.now();let M=A(z);M&&(M.lastServerResponseTimestamp=C);let N=A(z);N&&(N.consecutiveErrors=0,N.currentInterval=d.ps),b.lastAnsweredPromptKey=F,b.lastAnsweredAt=Date.now(),y.info("poller:response-sent",{worktreeId:a,cliToolId:e,instanceId:x}),(0,n.r)((0,o.getDbInstance)(),a,e,x??e,"prompt_answered_auto",{promptType:E.promptData.type});let O=null;try{O=(0,p.recordAnsweredPrompt)((0,o.getDbInstance)(),{worktreeId:a,cliToolId:e,instanceId:x??e,promptData:E.promptData,answer:K,answeredBy:"auto",content:E.rawContent||E.cleanContent})}catch(b){y.warn("poller:prompt-audit-record-failed",{worktreeId:a,cliToolId:e,instanceId:x,error:(0,t.u1)(b)})}if(O){let b=O;Promise.all([c.e(1503),c.e(1719),c.e(6894),c.e(2739)]).then(c.bind(c,79129)).then(({broadcastMessage:c})=>{c(b.created?"message":"message_updated",{worktreeId:a,message:b.message})}).catch(()=>{})}let[{startPolling:P},{broadcastTerminalSnapshotAfterInteraction:Q}]=await Promise.all([Promise.all([c.e(1356),c.e(1503),c.e(1634),c.e(1719),c.e(1191),c.e(6894),c.e(6337),c.e(7472),c.e(1058),c.e(9696),c.e(8918),c.e(552),c.e(2839)]).then(c.bind(c,95220)),Promise.all([c.e(1503),c.e(1719),c.e(6894),c.e(7472),c.e(1058),c.e(261)]).then(c.bind(c,99508))]);return P(a,e,x),Q(a,e,x),"responded"}catch{return D(z),y.warn("poller:detect-respond-error",{worktreeId:a,cliToolId:e,instanceId:x}),"error"}}async function G(a,b,c){let e=(0,d.v7)(a,b,c),f=A(e);if("valid"===function(a,b){if(!b)return"stopped";let c=(0,d.Ue)(a),e=(0,d.pL)(a);if(!e)return J(a),"expired";let f=(0,d.GE)(a)??void 0,g=(0,d.aq)(c,e,f);return g?.enabled?"valid":(J(a),"expired")}(e,f)){try{let g=(0,d.aq)(a,b,c),h=g?.stopPattern?v.FW:v.Ke,i=await E(a,b,h,c),j=i.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,J)}return c.length<e&&(b.stopCheckBaselineLength=c.length),!1}(e,f,i))return;let k=await F(a,f,b,i,j,c);if("responded"===k)return void H(a,b,c,d.ZO);if("no_prompt"===k){let e=j.slice(-d.Re).join("\n");if((0,s.ut)(b,e))return void H(a,b,c,v.QN)}}catch(d){D(e),y.warn("poller:poll-error",{worktreeId:a,cliToolId:b,instanceId:c,error:(0,t.u1)(d)})}H(a,b,c)}}function H(a,b,c,e){let f=A((0,d.v7)(a,b,c));if(!f)return;let g=Math.max(e??f.currentInterval,d.ps);f.timerId=setTimeout(()=>{G(a,b,c)},g)}function I(a,b,c){if(!(0,x.h6)(a))return{started:!1,reason:"invalid worktree ID"};let e=c??b,f=(0,d.aq)(a,b,e);if(!f?.enabled)return{started:!1,reason:"auto-yes not enabled"};let g=(0,d.v7)(a,b,e),i=A(g);if(!i&&z.size>=d.fC)return{started:!1,reason:"max concurrent pollers reached"};if(i&&i.cliToolId===b)return{started:!0,reason:"already_running"};i&&J(g);let j={timerId:null,cliToolId:b,instanceId:e,consecutiveErrors:0,currentInterval:d.ps,lastServerResponseTimestamp:null,lastAnsweredPromptKey:null,lastAnsweredAt:null,stopCheckBaselineLength:-1};return z.set(g,j),(0,h.ie)(g),j.timerId=setTimeout(()=>{G(a,b,e)},d.ps),y.info("poller:started",{worktreeId:a,cliToolId:b,instanceId:e}),{started:!0}}function J(a){let b=A(a);b&&(b.timerId&&clearTimeout(b.timerId),z.delete(a),(0,h.ie)(a),y.info("poller:stopped",{compositeKey:a}))}function K(a){(0,d._9)(Array.from(z.keys()),a).forEach(a=>J(a))}},52277:(a,b,c)=>{c.d(b,{ZS:()=>f,gb:()=>g});var d=c(24455);let e=globalThis.__autoYesPolicySuppressions??(globalThis.__autoYesPolicySuppressions=new Map);function f(a,b,c,g,h=Date.now()){e.set((0,d.v7)(a,b,c),{...g,at:h})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??null}},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}}},63869:(a,b,c)=>{c.d(b,{Pw:()=>l,tV:()=>p});var d=c(79892),e=c(74258),f=c(7187),g=c(81254),h=c(93997),i=c(20610);let j=/^\[[ x]\] /,k="answer_mode_keys";class l 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 (${k}). The digit would be swallowed and the Enter after it would confirm whatever is highlighted. Nothing was sent.`),this.name="PromptAnswerRejectedError",this.reason=k,this.dialogKind=c.kind,this.answerMode=c.answerMode}}async function m(a){if(void 0!==a.frame)return a.frame;try{return await (0,d.Xg)(a.sessionName,200)}catch{return null}}async function n(a){if(!/^\d+$/.test(a.answer))return;let b=(0,f.bN)(a.cliToolId);if(!b.hasDialogRules)return;let c=await m(a);if(null===c)return;let d=b.detectDialog((0,e.z)(c));if(null!==d&&"numbered"!==d.answerMode)throw new l(a.cliToolId,a.answer,d)}function o(a){if(0===a)return[];let b=a>0?"Down":"Up";return Array.from({length:Math.abs(a)},()=>b)}async function p(a){let{sessionName:b,answer:c,cliToolId:e,promptData:f,fallbackPromptType:k,fallbackDefaultOptionNumber:l}=a;if(await n(a),("claude"===e||"antigravity"===e)&&(f?.type==="multiple_choice"||"multiple_choice"===k)&&/^\d+$/.test(c)){let a,e=parseInt(c,10),g=null;if(f?.type==="multiple_choice"){let b=(g=f.options).find(a=>a.isDefault);a=b?.number??1}else a=l??1;let h=e-a;if(null!==g&&g.some(a=>j.test(a.label))&&null!==g){let a=g.filter(a=>j.test(a.label)).length,c=[...o(h),"Space"];c.push(...o(a-e+1)),c.push("Enter"),await (0,d.KB)(b,c)}else{let a=o(h),c=f?.type==="multiple_choice"&&!0===f.isAskUserQuestion&&0===h?["Down","Up","Enter"]:[...a,"Enter"];await (0,d.KB)(b,c)}}else{await (0,d.V1)(b,c,!1);let e=function(a){let b=(a.promptData?.type==="multiple_choice"?a.promptData.submitMode:void 0)??a.fallbackSubmitMode??"answer_then_enter";return(0,g.MI)(b)?b:"answer_then_enter"}(a);"answer_only"===e&&(a.promptData?.type==="multiple_choice"||"multiple_choice"===a.fallbackPromptType)&&/^\d+$/.test(a.answer)||(await new Promise(a=>setTimeout(a,i.pL)),await (0,d.V1)(b,"",!0))}(0,h.gm)(b)}},75498:(a,b,c)=>{c.d(b,{Lj:()=>f,Tb:()=>e,sD:()=>g});var d=c(68901);let e=2e4;function f(a,b,c){if(!c)return null;if("off"===c.mode)return{reason:"mode-off"};let f=function(a,b){if(0===b.length)return{outcome:"no-match"};let c=a.map(a=>a.length>e?a.slice(0,e):a);for(let a of b){if(a.length>200||!(0,d.P0)(a).valid)return{outcome:"unusable",pattern:a};let b=new RegExp(a);for(let e of c){let c=(0,d.eJ)(b,e);if(null===c)return{outcome:"unusable",pattern:a};if(c)return{outcome:"match",pattern:a}}}return{outcome:"no-match"}}(b,c.denyPatterns);return"match"===f.outcome?{reason:"deny-pattern",pattern:f.pattern}:"unusable"===f.outcome?{reason:"deny-pattern-unusable",pattern:f.pattern}:"safe"===c.mode?"yes_no"===a?null:{reason:"type-not-allowed"}:"allow-listed"===c.mode?c.allowPromptTypes.includes(a)?null:{reason:"type-not-allowed"}:null}function g(a,b){let c=function(a){if("yes_no"===a.type)return"y";if("multiple_choice"===a.type){let b=a.options.find(a=>a.isDefault)??a.options[0];return!b||b.requiresTextInput?null:b.number.toString()}return null}(a);if(null===c)return{answer:null,suppressedBy:null};let d=f(a.type,function(a){let b=[a.question];if(a.approvalTarget&&b.push(a.approvalTarget),"multiple_choice"===a.type)for(let c of a.options)b.push(c.label);else b.push(...a.options);return b}(a),b);return d?{answer:null,suppressedBy:d.reason,pattern:d.pattern}:{answer:c,suppressedBy:null}}},91318:(a,b,c)=>{c.d(b,{ie:()=>j,n:()=>i});var d=c(56791),e=c(88807),f=c(24455);let g=(0,c(72626).h)("auto-yes-policy"),h=new Map;function i(a,b,c){let i=c??b,j=(0,f.v7)(a,b,i),k=Date.now(),l=h.get(j);if(l&&l.expiresAt>k)return l.policy;let m=function(a,b,c){try{let f=(0,d.getActiveTaskForInstance)((0,e.getDbInstance)(),a,b,c);if(!f)return null;return f.contract.autoYes}catch(d){return g.warn("policy-lookup-failed",{worktreeId:a,cliToolId:b,instanceId:c,error:d instanceof Error?d.message:String(d)}),null}}(a,b,i);return h.size>=200&&function(a){for(let[b,c]of h.entries())c.expiresAt<=a&&h.delete(b)}(k),h.set(j,{policy:m,expiresAt:k+5e3}),m}function j(a){h.delete(a)}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=5043,exports.ids=[5043],exports.modules={35043:(a,b,c)=>{c.r(b),c.d(b,{AGENT_EVENT_TYPES:()=>o.b0,MAX_CWD_LENGTH:()=>q,applyAgentStopEvent:()=>v,isAgentEventType:()=>o.o0,resolveWorktreeByCwd:()=>t,validateHookCwd:()=>r});var d=c(29021),e=c(33873),f=c(56791),g=c(48524),h=c(66007),i=c(52767),j=c(23707),k=c(48083),l=c(72626);let m=(0,l.h)("lib/hooks/stop-history-capture");async function n(a,b,d,e={}){try{let{captureStructuredHistoryTurn:f,hasStructuredHistoryTranscript:g,isPullTranscriptHistory:h}=await Promise.all([c.e(9696),c.e(
|
|
1
|
+
"use strict";exports.id=5043,exports.ids=[5043],exports.modules={35043:(a,b,c)=>{c.r(b),c.d(b,{AGENT_EVENT_TYPES:()=>o.b0,MAX_CWD_LENGTH:()=>q,applyAgentStopEvent:()=>v,isAgentEventType:()=>o.o0,resolveWorktreeByCwd:()=>t,validateHookCwd:()=>r});var d=c(29021),e=c(33873),f=c(56791),g=c(48524),h=c(66007),i=c(52767),j=c(23707),k=c(48083),l=c(72626);let m=(0,l.h)("lib/hooks/stop-history-capture");async function n(a,b,d,e={}){try{let{captureStructuredHistoryTurn:f,hasStructuredHistoryTranscript:g,isPullTranscriptHistory:h}=await Promise.all([c.e(9696),c.e(8918)]).then(c.bind(c,28918));if(!h(b))return!1;let i={worktreePath:a.path,transcriptPathHint:null};if(await f(a.id,b,d,i))return!0;let j=e.retryDelayMs??500;if(j<=0||!await g(a.id,b,d,i))return!1;let k=Math.max(1,e.maxAttempts??3);for(let c=2;c<=k;c+=1){await function(a){return new Promise(b=>{setTimeout(b,a)})}(j);let e=await f(a.id,b,d,i);if(m.debug("stop-history-capture-retried",{worktreeId:a.id,cliToolId:b,instanceId:d,attempt:c,maxAttempts:k,captured:e}),e)return!0}return!1}catch(c){return m.warn("stop-history-capture-failed",{worktreeId:a.id,cliToolId:b,instanceId:d,error:c instanceof Error?c.message:String(c)}),!1}}var o=c(62887);let p=(0,l.h)("lib/hooks/agent-event-service"),q=4096;function r(a){if("string"!=typeof a||""===a.trim())return{ok:!1,reason:"empty"};if(a.length>q)return{ok:!1,reason:"too_long"};let b=a;try{b=decodeURIComponent(a)}catch{b=a}return a.includes("\0")||b.includes("\0")?{ok:!1,reason:"nul_byte"}:(0,e.isAbsolute)(a)?s(a)||s(b)?{ok:!1,reason:"traversal"}:{ok:!0,cwd:a}:{ok:!1,reason:"not_absolute"}}function s(a){return a.split("\\"===e.sep?/[\\/]/:"/").some(a=>".."===a)}function t(a,b){let c=u(b);if(null===c)return null;let d=null,e=-1;for(let b of(0,f.getWorktrees)(a)){let a=u(b.path);null!==a&&(0,h.Uc)(c,a)&&a.length>e&&(d=b,e=a.length)}return d}function u(a){try{return(0,d.realpathSync)(a)}catch{return null}}async function v(a,b,c,d){let e;(0,k.S9)(b.id,c,d);let f=await n(b,c,d);try{e=(0,g.MH)(a,b.id,c,d)}catch(a){return p.warn("agent-stop-task-lookup-failed",{worktreeId:b.id,error:a instanceof Error?a.message:String(a)}),{taskId:null,taskEventApplied:!1,verificationRunId:null,structuredHistoryCaptured:f}}if(!e)return{taskId:null,taskEventApplied:!1,verificationRunId:null,structuredHistoryCaptured:f};let h=!1;try{let b=(0,i.g)(a,e.id,"agent_idle",{source:"hook"});h=null!==b&&null!==b.toStatus}catch(a){p.warn("agent-stop-event-failed",{taskId:e.id,error:a instanceof Error?a.message:String(a)})}if(!e.contract.success.autoVerifyOnStop)return{taskId:e.id,taskEventApplied:h,verificationRunId:null,structuredHistoryCaptured:f};let l=null;try{let{runId:a}=await (0,j.AT)({worktreeId:b.id,worktreePath:b.path,instanceId:d,taskId:e.id,trigger:"task"});l=a}catch(a){a instanceof j.Wb||p.error("agent-stop-auto-verify-failed",{taskId:e.id,error:a instanceof Error?a.message:String(a)})}return{taskId:e.id,taskEventApplied:h,verificationRunId:l,structuredHistoryCaptured:f}}}};
|