commandmate 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +286 -216
- package/.next/app-path-routes-manifest.json +37 -27
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +9 -9
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +57 -0
- package/.next/server/app/_not-found/page_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 +1 -1
- 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 +3 -3
- 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/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.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 -0
- package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -0
- package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -0
- 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/metrics/vibe/route.js +37 -0
- package/.next/server/app/api/metrics/vibe/route.js.nft.json +1 -0
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_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/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.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.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/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route.js +4 -0
- package/.next/server/app/api/tasks/[taskId]/cancel/route.js.nft.json +1 -0
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tasks/[taskId]/route.js +4 -0
- package/.next/server/app/api/tasks/[taskId]/route.js.nft.json +1 -0
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/templates/[id]/route.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route.js +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/todos/route.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.js +1 -0
- package/.next/server/app/api/verification/runs/[runId]/route.js.nft.json +1 -0
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/verification/runs/route.js +1 -0
- package/.next/server/app/api/verification/runs/route.js.nft.json +1 -0
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -0
- 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]/cli-tool/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +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]/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.js +2 -2
- 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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route.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.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.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.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]/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]/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 +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_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 +1 -1
- 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/route.js +2 -2
- 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]/start-polling/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route.js +6 -0
- package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -0
- 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.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.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.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.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.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.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/route.js +4 -0
- package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -0
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -0
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/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_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +2 -2
- 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 +37 -27
- package/.next/server/chunks/1068.js +1 -1
- package/.next/server/chunks/1117.js +1 -1
- package/.next/server/chunks/1503.js +2 -0
- package/.next/server/chunks/2366.js +1 -0
- package/.next/server/chunks/3042.js +1 -1
- package/.next/server/chunks/3736.js +1 -1
- package/.next/server/chunks/4444.js +1 -1
- package/.next/server/chunks/4689.js +25 -0
- package/.next/server/chunks/5381.js +50 -10
- package/.next/server/chunks/5959.js +3 -3
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6274.js +13 -0
- package/.next/server/chunks/646.js +1 -1
- package/.next/server/chunks/8681.js +1 -1
- package/.next/server/chunks/8807.js +192 -51
- package/.next/server/chunks/8856.js +4 -0
- package/.next/server/chunks/9687.js +2 -2
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{4560-8ffb0bb19f2ba998.js → 4560-0917ae2e6a0e5400.js} +1 -1
- package/.next/static/chunks/{6488-c2a968ec806975c2.js → 6488-f4e447464c9e0e22.js} +1 -1
- package/.next/static/chunks/app/api/app/update/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/app/update-check/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/assistant/conversation/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/assistant/current-output/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/assistant/messages/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/assistant/session/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/assistant/start/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/assistant/terminal/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/assistant/tools/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/status/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/external-apps/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/fs/browse/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/fs/recent-paths/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/hooks/agent-event/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/hooks/claude-done/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/metrics/vibe/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/ollama/models/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/push/subscriptions/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/push/vapid/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/repositories/excluded/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/repositories/restore/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/repositories/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/repositories/scan/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/repositories/sync/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/repositories/validate-path/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/sidebar/group-order/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/skills/[id]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/skills/installations/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/skills/operations/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/skills/reindex/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/skills/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/slash-commands/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/templates/[id]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/templates/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/todos/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/proxy/[...path]/route-8440b6c72bed83a1.js +1 -0
- package/.next/static/chunks/app/repositories/page-1ed1e5a542ecc168.js +1 -0
- package/.next/static/chunks/app/review/{page-f431d630097c2e85.js → page-b559bfb11c46931b.js} +1 -1
- package/.next/static/chunks/app/sessions/{page-20f07a99db64d2ca.js → page-3fa7e767d0ab3889.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/page-5ffc84094830babb.js +1 -0
- package/.next/static/gR8Sh86RrTynJON8SWkWK/_buildManifest.js +1 -0
- package/.next/trace +12 -11
- package/.next/types/app/api/hooks/agent-event/route.ts +347 -0
- package/.next/types/app/api/metrics/vibe/route.ts +347 -0
- package/.next/types/app/api/tasks/[taskId]/cancel/route.ts +347 -0
- package/.next/types/app/api/tasks/[taskId]/route.ts +347 -0
- package/.next/types/app/api/verification/runs/[runId]/route.ts +347 -0
- package/.next/types/app/api/verification/runs/route.ts +347 -0
- package/.next/types/app/api/worktrees/[id]/tasks/route.ts +347 -0
- package/.next/types/app/api/worktrees/[id]/verify/route.ts +347 -0
- package/.next/types/app/api/worktrees/[id]/verify/runs/[runId]/route.ts +347 -0
- package/.next/types/app/api/worktrees/[id]/verify/runs/route.ts +347 -0
- package/.next/types/routes.d.ts +11 -1
- package/.next/types/validator.ts +90 -0
- package/dist/cli/commands/report.d.ts +1 -0
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +54 -0
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +86 -3
- package/dist/cli/commands/task.d.ts +11 -0
- package/dist/cli/commands/task.d.ts.map +1 -0
- package/dist/cli/commands/task.js +126 -0
- package/dist/cli/commands/verify.d.ts +19 -0
- package/dist/cli/commands/verify.d.ts.map +1 -0
- package/dist/cli/commands/verify.js +229 -0
- package/dist/cli/commands/wait.d.ts +2 -0
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +78 -13
- package/dist/cli/docs/agent-operations.d.ts +2 -2
- package/dist/cli/docs/agent-operations.d.ts.map +1 -1
- package/dist/cli/docs/agent-operations.js +92 -3
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +6 -0
- package/dist/cli/types/api-responses.d.ts +170 -0
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/cli/types/index.d.ts +82 -0
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/types/index.js +30 -1
- package/dist/cli/utils/api-client.d.ts +8 -0
- package/dist/cli/utils/api-client.d.ts.map +1 -1
- package/dist/cli/utils/verify-runner.d.ts +57 -0
- package/dist/cli/utils/verify-runner.d.ts.map +1 -0
- package/dist/cli/utils/verify-runner.js +174 -0
- package/dist/server/server.js +15 -0
- package/dist/server/src/config/auto-yes-config.js +22 -0
- package/dist/server/src/lib/auto-yes-poller.js +34 -2
- package/dist/server/src/lib/auto-yes-state.js +6 -19
- package/dist/server/src/lib/db/db.js +34 -1
- package/dist/server/src/lib/db/migrations/index.js +6 -0
- package/dist/server/src/lib/db/migrations/runner.js +1 -1
- package/dist/server/src/lib/db/migrations/v49-verification-runs.js +86 -0
- package/dist/server/src/lib/db/migrations/v50-tasks.js +68 -0
- package/dist/server/src/lib/db/migrations/v51-task-events.js +58 -0
- package/dist/server/src/lib/db/task-events-db.js +59 -0
- package/dist/server/src/lib/db/tasks-db.js +218 -0
- package/dist/server/src/lib/db/verification-db.js +272 -0
- package/dist/server/src/lib/polling/auto-yes-policy.js +117 -0
- package/dist/server/src/lib/polling/auto-yes-resolver.js +144 -4
- package/dist/server/src/lib/polling/response-checker.js +8 -0
- package/dist/server/src/lib/session/agent-event-state.js +46 -0
- package/dist/server/src/lib/session/current-output-builder.js +4 -0
- package/dist/server/src/lib/session/status-mapping.js +146 -0
- package/dist/server/src/lib/tasks/contract-parser.js +385 -0
- package/dist/server/src/lib/tasks/task-state-machine.js +183 -0
- package/dist/server/src/lib/tasks/task-transition-service.js +106 -0
- package/dist/server/src/lib/verification/verification-reconciler.js +49 -0
- package/dist/server/src/types/sidebar.js +7 -20
- package/package.json +5 -2
- package/scripts/hooks/cmate-agent-event.sh +175 -0
- package/.next/server/chunks/2064.js +0 -2
- package/.next/static/AKqbAyuzbFfg05qpbCI_K/_buildManifest.js +0 -1
- package/.next/static/chunks/app/api/app/update/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/app/update-check/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/assistant/conversation/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/assistant/current-output/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/assistant/messages/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/assistant/session/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/assistant/start/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/assistant/terminal/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/assistant/tools/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/status/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/external-apps/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/fs/browse/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/fs/recent-paths/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/hooks/claude-done/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/ollama/models/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/push/subscriptions/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/push/vapid/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/repositories/excluded/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/repositories/restore/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/repositories/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/repositories/scan/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/repositories/sync/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/repositories/validate-path/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/sidebar/group-order/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/skills/[id]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/skills/installations/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/skills/operations/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/skills/reindex/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/skills/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/slash-commands/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/templates/[id]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/templates/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/todos/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/proxy/[...path]/route-55e398bd20e2d7a9.js +0 -1
- package/.next/static/chunks/app/repositories/page-3c4fb889da48ce24.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-59a63a2c013ec1eb.js +0 -1
- /package/.next/static/{AKqbAyuzbFfg05qpbCI_K → gR8Sh86RrTynJON8SWkWK}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Startup recovery for verification runs orphaned by a restart (Issue #1543).
|
|
4
|
+
*
|
|
5
|
+
* `verification_runs` is opened in `running` state and closed when the gates
|
|
6
|
+
* finish, so a run in flight when the process dies leaves a `running` row that
|
|
7
|
+
* nothing will ever close. Those rows are not merely stale: the per-worktree
|
|
8
|
+
* conflict check treats an open run as "verification in progress", so a single
|
|
9
|
+
* crash would lock that worktree out of verification permanently.
|
|
10
|
+
*
|
|
11
|
+
* Every run this finds is an orphan by construction — gate execution lives in
|
|
12
|
+
* process memory, so after a restart none of them is actually running. They are
|
|
13
|
+
* closed as `error` rather than `failed`: no gate reached a verdict about the
|
|
14
|
+
* work, which is exactly the distinction `error` encodes.
|
|
15
|
+
*
|
|
16
|
+
* Follows the shape of {@link reconcileAllAssistantExecutions}
|
|
17
|
+
* (`src/lib/assistant/non-interactive-execution-reconciler.ts`).
|
|
18
|
+
*
|
|
19
|
+
* @module lib/verification/verification-reconciler
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.reconcileOrphanVerificationRuns = reconcileOrphanVerificationRuns;
|
|
23
|
+
const db_1 = require("../../lib/db");
|
|
24
|
+
const RECONCILE_NOTE = '[reconciled after server restart: the runner process is gone]';
|
|
25
|
+
/**
|
|
26
|
+
* Close every `running` verification run and its open gate results.
|
|
27
|
+
*
|
|
28
|
+
* @returns counts of what was closed, so startup can log a non-zero recovery
|
|
29
|
+
*/
|
|
30
|
+
function reconcileOrphanVerificationRuns(db) {
|
|
31
|
+
const report = { runs: 0, gates: 0 };
|
|
32
|
+
for (const run of (0, db_1.listRunningVerificationRuns)(db)) {
|
|
33
|
+
const detail = (0, db_1.getVerificationRun)(db, run.id);
|
|
34
|
+
for (const gate of detail?.gates ?? []) {
|
|
35
|
+
if (gate.status !== 'running')
|
|
36
|
+
continue;
|
|
37
|
+
(0, db_1.finishGateResult)(db, gate.id, {
|
|
38
|
+
status: 'error',
|
|
39
|
+
exitCode: null,
|
|
40
|
+
durationMs: null,
|
|
41
|
+
logTail: [gate.logTail, RECONCILE_NOTE].filter(Boolean).join('\n'),
|
|
42
|
+
});
|
|
43
|
+
report.gates += 1;
|
|
44
|
+
}
|
|
45
|
+
(0, db_1.finishVerificationRun)(db, run.id, 'error');
|
|
46
|
+
report.runs += 1;
|
|
47
|
+
}
|
|
48
|
+
return report;
|
|
49
|
+
}
|
|
@@ -5,28 +5,15 @@
|
|
|
5
5
|
* Types for sidebar components and branch status display
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.deriveCliStatus =
|
|
8
|
+
exports.deriveCliStatus = void 0;
|
|
9
9
|
exports.aggregateCliStatus = aggregateCliStatus;
|
|
10
10
|
exports.formatCliStatusBreakdown = formatCliStatusBreakdown;
|
|
11
11
|
exports.calculateHasUnread = calculateHasUnread;
|
|
12
12
|
exports.toBranchItem = toBranchItem;
|
|
13
13
|
const types_1 = require("../lib/cli-tools/types");
|
|
14
14
|
const selected_agents_validator_1 = require("../lib/selected-agents-validator");
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* Shared by sidebar (toBranchItem) and WorktreeDetailRefactored tab dots.
|
|
18
|
-
*/
|
|
19
|
-
function deriveCliStatus(toolStatus) {
|
|
20
|
-
if (!toolStatus)
|
|
21
|
-
return 'idle';
|
|
22
|
-
if (toolStatus.isWaitingForResponse)
|
|
23
|
-
return 'waiting';
|
|
24
|
-
if (toolStatus.isProcessing)
|
|
25
|
-
return 'running';
|
|
26
|
-
if (toolStatus.isRunning)
|
|
27
|
-
return 'ready';
|
|
28
|
-
return 'idle';
|
|
29
|
-
}
|
|
15
|
+
const status_mapping_1 = require("../lib/session/status-mapping");
|
|
16
|
+
Object.defineProperty(exports, "deriveCliStatus", { enumerable: true, get: function () { return status_mapping_1.deriveCliStatus; } });
|
|
30
17
|
/**
|
|
31
18
|
* Aggregate per-agent CLI statuses into a single representative BranchStatus
|
|
32
19
|
* for the sidebar's single status indicator (Issue #867).
|
|
@@ -140,7 +127,7 @@ function deriveSidebarCliStatus(worktree) {
|
|
|
140
127
|
if (!byInstance) {
|
|
141
128
|
const agents = worktree.selectedAgents ?? selected_agents_validator_1.DEFAULT_SELECTED_AGENTS;
|
|
142
129
|
for (const agent of agents) {
|
|
143
|
-
cliStatus[agent] = deriveCliStatus(worktree.sessionStatusByCli?.[agent]);
|
|
130
|
+
cliStatus[agent] = (0, status_mapping_1.deriveCliStatus)(worktree.sessionStatusByCli?.[agent]);
|
|
144
131
|
cliStatusLabels[agent] = (0, types_1.getCliToolDisplayName)(agent);
|
|
145
132
|
}
|
|
146
133
|
return { cliStatus, cliStatusLabels };
|
|
@@ -152,7 +139,7 @@ function deriveSidebarCliStatus(worktree) {
|
|
|
152
139
|
const rosterIds = new Set();
|
|
153
140
|
for (const instance of roster) {
|
|
154
141
|
rosterIds.add(instance.id);
|
|
155
|
-
cliStatus[instance.id] = deriveCliStatus(byInstance[instance.id]);
|
|
142
|
+
cliStatus[instance.id] = (0, status_mapping_1.deriveCliStatus)(byInstance[instance.id]);
|
|
156
143
|
cliStatusLabels[instance.id] = (0, types_1.getInstanceLabel)(instance);
|
|
157
144
|
}
|
|
158
145
|
// Surface any RUNNING instance missing from the roster (e.g. a `claude`
|
|
@@ -161,7 +148,7 @@ function deriveSidebarCliStatus(worktree) {
|
|
|
161
148
|
for (const [instanceId, status] of Object.entries(byInstance)) {
|
|
162
149
|
if (rosterIds.has(instanceId))
|
|
163
150
|
continue;
|
|
164
|
-
const derived = deriveCliStatus(status);
|
|
151
|
+
const derived = (0, status_mapping_1.deriveCliStatus)(status);
|
|
165
152
|
if (derived === 'idle')
|
|
166
153
|
continue;
|
|
167
154
|
cliStatus[instanceId] = derived;
|
|
@@ -177,7 +164,7 @@ function deriveSidebarCliStatus(worktree) {
|
|
|
177
164
|
*/
|
|
178
165
|
function toBranchItem(worktree) {
|
|
179
166
|
// Issue #608: Derive top-level status from worktree session flags
|
|
180
|
-
const status = deriveCliStatus(worktree.isSessionRunning !== undefined
|
|
167
|
+
const status = (0, status_mapping_1.deriveCliStatus)(worktree.isSessionRunning !== undefined
|
|
181
168
|
? {
|
|
182
169
|
isRunning: worktree.isSessionRunning ?? false,
|
|
183
170
|
isWaitingForResponse: worktree.isWaitingForResponse ?? false,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "commandmate",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "A local control plane for agent CLIs — orchestration and visibility for Claude Code, Codex, Gemini CLI, and more across Git worktrees",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
".next/",
|
|
33
33
|
"!.next/cache",
|
|
34
34
|
"public/",
|
|
35
|
+
"scripts/hooks/",
|
|
35
36
|
".env.example"
|
|
36
37
|
],
|
|
37
38
|
"scripts": {
|
|
@@ -43,6 +44,7 @@
|
|
|
43
44
|
"prepublishOnly": "npm run build:all",
|
|
44
45
|
"start": "NODE_ENV=production node dist/server/server.js",
|
|
45
46
|
"lint": "eslint src --ext .js,.jsx,.ts,.tsx",
|
|
47
|
+
"check:tracking": "./scripts/check-commandmate-tracking.sh",
|
|
46
48
|
"test": "NODE_ENV=test vitest",
|
|
47
49
|
"test:ui": "NODE_ENV=test vitest --ui",
|
|
48
50
|
"test:coverage": "NODE_ENV=test vitest --coverage",
|
|
@@ -104,7 +106,8 @@
|
|
|
104
106
|
"ws": "^8.18.3",
|
|
105
107
|
"xterm": "^5.3.0",
|
|
106
108
|
"xterm-addon-fit": "^0.8.0",
|
|
107
|
-
"xterm-addon-web-links": "^0.9.0"
|
|
109
|
+
"xterm-addon-web-links": "^0.9.0",
|
|
110
|
+
"yaml": "^2.9.0"
|
|
108
111
|
},
|
|
109
112
|
"devDependencies": {
|
|
110
113
|
"@playwright/test": "^1.56.1",
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#
|
|
3
|
+
# cmate-agent-event.sh — post a structured agent lifecycle event to CommandMate.
|
|
4
|
+
#
|
|
5
|
+
# Wired into an agent CLI's own completion hook (Claude Code `Stop`, Codex
|
|
6
|
+
# `notify`) so the server learns that a turn ended from the agent itself rather
|
|
7
|
+
# than by reading the terminal. See docs/user-guide/agent-event-hooks.md.
|
|
8
|
+
#
|
|
9
|
+
# Written for bash 3.2 — the version macOS still ships — so no associative
|
|
10
|
+
# arrays, `mapfile`, or `${var^^}`.
|
|
11
|
+
#
|
|
12
|
+
# Exits 0 even when the POST fails: a hook that breaks the agent's session
|
|
13
|
+
# because the CommandMate server happens to be down is worse than a missed
|
|
14
|
+
# event. Pass --strict to propagate the failure instead.
|
|
15
|
+
|
|
16
|
+
set -u
|
|
17
|
+
|
|
18
|
+
PROGRAM_NAME="cmate-agent-event.sh"
|
|
19
|
+
|
|
20
|
+
usage() {
|
|
21
|
+
cat <<'USAGE'
|
|
22
|
+
Usage: cmate-agent-event.sh [options] [JSON]
|
|
23
|
+
|
|
24
|
+
Options:
|
|
25
|
+
--tool ID Agent CLI id (default: $CM_AGENT_TOOL, else "claude")
|
|
26
|
+
--event EVENT stop | notification | session_start (default: "stop")
|
|
27
|
+
--cwd PATH Agent working directory (default: $CLAUDE_PROJECT_DIR, else $PWD)
|
|
28
|
+
--session-id ID Opaque agent session id
|
|
29
|
+
--json JSON Hook payload to read cwd/session/event from
|
|
30
|
+
--stdin-json Read that payload from stdin instead
|
|
31
|
+
--url URL Endpoint (default: http://$CM_HOST:$CM_PORT/api/hooks/agent-event)
|
|
32
|
+
--strict Exit non-zero when the POST fails
|
|
33
|
+
-h, --help Show this help
|
|
34
|
+
|
|
35
|
+
Environment:
|
|
36
|
+
CM_HOST Server host (default: 127.0.0.1)
|
|
37
|
+
CM_PORT Server port (default: 3000)
|
|
38
|
+
CM_HOOK_URL Full endpoint URL; overrides CM_HOST/CM_PORT
|
|
39
|
+
CM_AUTH_TOKEN Sent as "Authorization: Bearer <token>" when set
|
|
40
|
+
USAGE
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
die() {
|
|
44
|
+
printf '%s: %s\n' "$PROGRAM_NAME" "$1" >&2
|
|
45
|
+
exit 2
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
# Extract a flat JSON string field. Good enough for the small, machine-generated
|
|
49
|
+
# payloads agent CLIs pass; anything richer belongs in the --cwd flag.
|
|
50
|
+
json_string_field() {
|
|
51
|
+
printf '%s' "$1" | tr -d '\n' |
|
|
52
|
+
sed -n 's/.*"'"$2"'"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p'
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
# Escape a value for embedding in a JSON string literal.
|
|
56
|
+
json_escape() {
|
|
57
|
+
printf '%s' "$1" | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g'
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
# Map an agent's own event name onto the API vocabulary.
|
|
61
|
+
map_event_name() {
|
|
62
|
+
case "$1" in
|
|
63
|
+
Stop|SubagentStop|agent-turn-complete) printf 'stop' ;;
|
|
64
|
+
Notification) printf 'notification' ;;
|
|
65
|
+
SessionStart) printf 'session_start' ;;
|
|
66
|
+
*) printf '' ;;
|
|
67
|
+
esac
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
TOOL="${CM_AGENT_TOOL:-claude}"
|
|
71
|
+
EVENT=""
|
|
72
|
+
CWD=""
|
|
73
|
+
SESSION_ID=""
|
|
74
|
+
HOOK_JSON=""
|
|
75
|
+
READ_STDIN=0
|
|
76
|
+
URL="${CM_HOOK_URL:-}"
|
|
77
|
+
STRICT=0
|
|
78
|
+
|
|
79
|
+
while [ $# -gt 0 ]; do
|
|
80
|
+
case "$1" in
|
|
81
|
+
--tool) [ $# -ge 2 ] || die "--tool requires a value"; TOOL="$2"; shift 2 ;;
|
|
82
|
+
--event) [ $# -ge 2 ] || die "--event requires a value"; EVENT="$2"; shift 2 ;;
|
|
83
|
+
--cwd) [ $# -ge 2 ] || die "--cwd requires a value"; CWD="$2"; shift 2 ;;
|
|
84
|
+
--session-id) [ $# -ge 2 ] || die "--session-id requires a value"; SESSION_ID="$2"; shift 2 ;;
|
|
85
|
+
--json) [ $# -ge 2 ] || die "--json requires a value"; HOOK_JSON="$2"; shift 2 ;;
|
|
86
|
+
--url) [ $# -ge 2 ] || die "--url requires a value"; URL="$2"; shift 2 ;;
|
|
87
|
+
--stdin-json) READ_STDIN=1; shift ;;
|
|
88
|
+
--strict) STRICT=1; shift ;;
|
|
89
|
+
-h|--help) usage; exit 0 ;;
|
|
90
|
+
--) shift; break ;;
|
|
91
|
+
-*) die "unknown option: $1" ;;
|
|
92
|
+
# Codex passes its notify payload as a bare positional argument.
|
|
93
|
+
*) HOOK_JSON="$1"; shift ;;
|
|
94
|
+
esac
|
|
95
|
+
done
|
|
96
|
+
|
|
97
|
+
if [ "$READ_STDIN" -eq 1 ]; then
|
|
98
|
+
HOOK_JSON="$(cat)"
|
|
99
|
+
fi
|
|
100
|
+
|
|
101
|
+
if [ -n "$HOOK_JSON" ]; then
|
|
102
|
+
if [ -z "$EVENT" ]; then
|
|
103
|
+
JSON_EVENT="$(json_string_field "$HOOK_JSON" 'hook_event_name')"
|
|
104
|
+
if [ -z "$JSON_EVENT" ]; then
|
|
105
|
+
JSON_EVENT="$(json_string_field "$HOOK_JSON" 'type')"
|
|
106
|
+
fi
|
|
107
|
+
if [ -n "$JSON_EVENT" ]; then
|
|
108
|
+
EVENT="$(map_event_name "$JSON_EVENT")"
|
|
109
|
+
[ -n "$EVENT" ] || die "unrecognized hook event name: $JSON_EVENT"
|
|
110
|
+
fi
|
|
111
|
+
fi
|
|
112
|
+
if [ -z "$SESSION_ID" ]; then
|
|
113
|
+
SESSION_ID="$(json_string_field "$HOOK_JSON" 'session_id')"
|
|
114
|
+
fi
|
|
115
|
+
if [ -z "$SESSION_ID" ]; then
|
|
116
|
+
SESSION_ID="$(json_string_field "$HOOK_JSON" 'turn-id')"
|
|
117
|
+
fi
|
|
118
|
+
fi
|
|
119
|
+
|
|
120
|
+
[ -n "$EVENT" ] || EVENT="stop"
|
|
121
|
+
|
|
122
|
+
case "$EVENT" in
|
|
123
|
+
stop|notification|session_start) ;;
|
|
124
|
+
*) die "--event must be one of: stop, notification, session_start (got \"$EVENT\")" ;;
|
|
125
|
+
esac
|
|
126
|
+
|
|
127
|
+
[ -n "$TOOL" ] || die "--tool must not be empty"
|
|
128
|
+
|
|
129
|
+
if [ -z "$CWD" ]; then
|
|
130
|
+
CWD="${CM_AGENT_CWD:-}"
|
|
131
|
+
fi
|
|
132
|
+
if [ -z "$CWD" ]; then
|
|
133
|
+
CWD="${CLAUDE_PROJECT_DIR:-}"
|
|
134
|
+
fi
|
|
135
|
+
if [ -z "$CWD" ] && [ -n "$HOOK_JSON" ]; then
|
|
136
|
+
CWD="$(json_string_field "$HOOK_JSON" 'cwd')"
|
|
137
|
+
fi
|
|
138
|
+
if [ -z "$CWD" ]; then
|
|
139
|
+
CWD="$PWD"
|
|
140
|
+
fi
|
|
141
|
+
|
|
142
|
+
case "$CWD" in
|
|
143
|
+
/*) ;;
|
|
144
|
+
*) die "--cwd must be an absolute path (got \"$CWD\")" ;;
|
|
145
|
+
esac
|
|
146
|
+
|
|
147
|
+
if [ -z "$URL" ]; then
|
|
148
|
+
URL="http://${CM_HOST:-127.0.0.1}:${CM_PORT:-3000}/api/hooks/agent-event"
|
|
149
|
+
fi
|
|
150
|
+
|
|
151
|
+
BODY="{\"tool\":\"$(json_escape "$TOOL")\""
|
|
152
|
+
BODY="$BODY,\"event\":\"$(json_escape "$EVENT")\""
|
|
153
|
+
BODY="$BODY,\"cwd\":\"$(json_escape "$CWD")\""
|
|
154
|
+
if [ -n "$SESSION_ID" ]; then
|
|
155
|
+
BODY="$BODY,\"sessionId\":\"$(json_escape "$SESSION_ID")\""
|
|
156
|
+
fi
|
|
157
|
+
BODY="$BODY}"
|
|
158
|
+
|
|
159
|
+
# Token via --header rather than the command line of a subprocess: argv is world
|
|
160
|
+
# readable in `ps` on most systems.
|
|
161
|
+
set -- -fsS -X POST -H 'Content-Type: application/json' --max-time "${CM_HOOK_TIMEOUT:-5}"
|
|
162
|
+
if [ -n "${CM_AUTH_TOKEN:-}" ]; then
|
|
163
|
+
set -- "$@" -H "Authorization: Bearer ${CM_AUTH_TOKEN}"
|
|
164
|
+
fi
|
|
165
|
+
set -- "$@" --data-binary "$BODY" "$URL"
|
|
166
|
+
|
|
167
|
+
if curl "$@" >/dev/null; then
|
|
168
|
+
exit 0
|
|
169
|
+
fi
|
|
170
|
+
|
|
171
|
+
printf '%s: failed to POST %s to %s\n' "$PROGRAM_NAME" "$EVENT" "$URL" >&2
|
|
172
|
+
if [ "$STRICT" -eq 1 ]; then
|
|
173
|
+
exit 1
|
|
174
|
+
fi
|
|
175
|
+
exit 0
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=2064,exports.ids=[2064],exports.modules={2400:(a,b,c)=>{let{tokenChars:d}=c(11998);function e(a,b,c){void 0===a[b]?a[b]=[c]:a[b].push(c)}a.exports={format:function(a){return Object.keys(a).map(b=>{let c=a[b];return Array.isArray(c)||(c=[c]),c.map(a=>[b].concat(Object.keys(a).map(b=>{let c=a[b];return Array.isArray(c)||(c=[c]),c.map(a=>!0===a?b:`${b}=${a}`).join("; ")})).join("; ")).join(", ")}).join(", ")},parse:function(a){let b,c,f=Object.create(null),g=Object.create(null),h=!1,i=!1,j=!1,k=-1,l=-1,m=-1,n=0;for(;n<a.length;n++)if(l=a.charCodeAt(n),void 0===b)if(-1===m&&1===d[l])-1===k&&(k=n);else if(0!==n&&(32===l||9===l))-1===m&&-1!==k&&(m=n);else if(59===l||44===l){if(-1===k)throw SyntaxError(`Unexpected character at index ${n}`);-1===m&&(m=n);let c=a.slice(k,m);44===l?(e(f,c,g),g=Object.create(null)):b=c,k=m=-1}else throw SyntaxError(`Unexpected character at index ${n}`);else if(void 0===c)if(-1===m&&1===d[l])-1===k&&(k=n);else if(32===l||9===l)-1===m&&-1!==k&&(m=n);else if(59===l||44===l){if(-1===k)throw SyntaxError(`Unexpected character at index ${n}`);-1===m&&(m=n),e(g,a.slice(k,m),!0),44===l&&(e(f,b,g),g=Object.create(null),b=void 0),k=m=-1}else if(61===l&&-1!==k&&-1===m)c=a.slice(k,n),k=m=-1;else throw SyntaxError(`Unexpected character at index ${n}`);else if(i){if(1!==d[l])throw SyntaxError(`Unexpected character at index ${n}`);-1===k?k=n:h||(h=!0),i=!1}else if(j)if(1===d[l])-1===k&&(k=n);else if(34===l&&-1!==k)j=!1,m=n;else if(92===l)i=!0;else throw SyntaxError(`Unexpected character at index ${n}`);else if(34===l&&61===a.charCodeAt(n-1))j=!0;else if(-1===m&&1===d[l])-1===k&&(k=n);else if(-1!==k&&(32===l||9===l))-1===m&&(m=n);else if(59===l||44===l){if(-1===k)throw SyntaxError(`Unexpected character at index ${n}`);-1===m&&(m=n);let d=a.slice(k,m);h&&(d=d.replace(/\\/g,""),h=!1),e(g,c,d),44===l&&(e(f,b,g),g=Object.create(null),b=void 0),c=void 0,k=m=-1}else throw SyntaxError(`Unexpected character at index ${n}`);if(-1===k||j||32===l||9===l)throw SyntaxError("Unexpected end of input");-1===m&&(m=n);let o=a.slice(k,m);return void 0===b?e(f,o,g):(void 0===c?e(g,o,!0):h?e(g,c,o.replace(/\\/g,"")):e(g,c,o),e(f,b,g)),f}}},3266:(a,b,c)=>{let d=c(94735),e=c(55591),f=c(81630),g=c(91645),h=c(34631),{randomBytes:i,createHash:j}=c(55511),{Duplex:k,Readable:l}=c(27910),{URL:m}=c(79551),n=c(6597),o=c(94740),p=c(64188),{isBlob:q}=c(11998),{BINARY_TYPES:r,CLOSE_TIMEOUT:s,EMPTY_BUFFER:t,GUID:u,kForOnEventAttribute:v,kListener:w,kStatusCode:x,kWebSocket:y,NOOP:z}=c(27768),{EventTarget:{addEventListener:A,removeEventListener:B}}=c(92095),{format:C,parse:D}=c(2400),{toBuffer:E}=c(94100),F=Symbol("kAborted"),G=[8,13],H=["CONNECTING","OPEN","CLOSING","CLOSED"],I=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class J extends d{constructor(a,b,c){super(),this._binaryType=r[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=t,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=J.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==a?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===b?b=[]:Array.isArray(b)||("object"==typeof b&&null!==b?(c=b,b=[]):b=[b]),function a(b,c,d,g){let h,k,l,o,p={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:s,protocolVersion:G[1],maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...g,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(b._autoPong=p.autoPong,b._closeTimeout=p.closeTimeout,!G.includes(p.protocolVersion))throw RangeError(`Unsupported protocol version: ${p.protocolVersion} (supported versions: ${G.join(", ")})`);if(c instanceof m)h=c;else try{h=new m(c)}catch(a){throw SyntaxError(`Invalid URL: ${c}`)}"http:"===h.protocol?h.protocol="ws:":"https:"===h.protocol&&(h.protocol="wss:"),b._url=h.href;let q="wss:"===h.protocol,r="ws+unix:"===h.protocol;if("ws:"===h.protocol||q||r?r&&!h.pathname?k="The URL's pathname is empty":h.hash&&(k="The URL contains a fragment identifier"):k='The URL\'s protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"',k){let a=SyntaxError(k);if(0!==b._redirects)return void K(b,a);throw a}let t=q?443:80,v=i(16).toString("base64"),w=q?e.request:f.request,x=new Set;if(p.createConnection=p.createConnection||(q?M:L),p.defaultPort=p.defaultPort||t,p.port=h.port||t,p.host=h.hostname.startsWith("[")?h.hostname.slice(1,-1):h.hostname,p.headers={...p.headers,"Sec-WebSocket-Version":p.protocolVersion,"Sec-WebSocket-Key":v,Connection:"Upgrade",Upgrade:"websocket"},p.path=h.pathname+h.search,p.timeout=p.handshakeTimeout,p.perMessageDeflate&&(l=new n(!0!==p.perMessageDeflate?p.perMessageDeflate:{},!1,p.maxPayload),p.headers["Sec-WebSocket-Extensions"]=C({[n.extensionName]:l.offer()})),d.length){for(let a of d){if("string"!=typeof a||!I.test(a)||x.has(a))throw SyntaxError("An invalid or duplicated subprotocol was specified");x.add(a)}p.headers["Sec-WebSocket-Protocol"]=d.join(",")}if(p.origin&&(p.protocolVersion<13?p.headers["Sec-WebSocket-Origin"]=p.origin:p.headers.Origin=p.origin),(h.username||h.password)&&(p.auth=`${h.username}:${h.password}`),r){let a=p.path.split(":");p.socketPath=a[0],p.path=a[1]}if(p.followRedirects){if(0===b._redirects){b._originalIpc=r,b._originalSecure=q,b._originalHostOrSocketPath=r?p.socketPath:h.host;let a=g&&g.headers;if(g={...g,headers:{}},a)for(let[b,c]of Object.entries(a))g.headers[b.toLowerCase()]=c}else if(0===b.listenerCount("redirect")){let a=r?!!b._originalIpc&&p.socketPath===b._originalHostOrSocketPath:!b._originalIpc&&h.host===b._originalHostOrSocketPath;a&&(!b._originalSecure||q)||(delete p.headers.authorization,delete p.headers.cookie,a||delete p.headers.host,p.auth=void 0)}p.auth&&!g.headers.authorization&&(g.headers.authorization="Basic "+Buffer.from(p.auth).toString("base64")),o=b._req=w(p),b._redirects&&b.emit("redirect",b.url,o)}else o=b._req=w(p);p.timeout&&o.on("timeout",()=>{N(b,o,"Opening handshake has timed out")}),o.on("error",a=>{null===o||o[F]||(o=b._req=null,K(b,a))}),o.on("response",e=>{let f=e.headers.location,h=e.statusCode;if(f&&p.followRedirects&&h>=300&&h<400){let e;if(++b._redirects>p.maxRedirects)return void N(b,o,"Maximum redirects exceeded");o.abort();try{e=new m(f,c)}catch(a){K(b,SyntaxError(`Invalid URL: ${f}`));return}a(b,e,d,g)}else b.emit("unexpected-response",o,e)||N(b,o,`Unexpected server response: ${e.statusCode}`)}),o.on("upgrade",(a,c,d)=>{let e;if(b.emit("upgrade",a),b.readyState!==J.CONNECTING)return;o=b._req=null;let f=a.headers.upgrade;if(void 0===f||"websocket"!==f.toLowerCase())return void N(b,c,"Invalid Upgrade header");let g=j("sha1").update(v+u).digest("base64");if(a.headers["sec-websocket-accept"]!==g)return void N(b,c,"Invalid Sec-WebSocket-Accept header");let h=a.headers["sec-websocket-protocol"];if(void 0!==h?x.size?x.has(h)||(e="Server sent an invalid subprotocol"):e="Server sent a subprotocol but none was requested":x.size&&(e="Server sent no subprotocol"),e)return void N(b,c,e);h&&(b._protocol=h);let i=a.headers["sec-websocket-extensions"];if(void 0!==i){let a;if(!l)return void N(b,c,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");try{a=D(i)}catch(a){N(b,c,"Invalid Sec-WebSocket-Extensions header");return}let d=Object.keys(a);if(1!==d.length||d[0]!==n.extensionName)return void N(b,c,"Server indicated an extension that was not requested");try{l.accept(a[n.extensionName])}catch(a){N(b,c,"Invalid Sec-WebSocket-Extensions header");return}b._extensions[n.extensionName]=l}b.setSocket(c,d,{allowSynchronousEvents:p.allowSynchronousEvents,generateMask:p.generateMask,maxPayload:p.maxPayload,skipUTF8Validation:p.skipUTF8Validation})}),p.finishRequest?p.finishRequest(o,b):o.end()}(this,a,b,c)):(this._autoPong=c.autoPong,this._closeTimeout=c.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(a){r.includes(a)&&(this._binaryType=a,this._receiver&&(this._receiver._binaryType=a))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(a,b,c){let d=new o({allowSynchronousEvents:c.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:c.maxPayload,skipUTF8Validation:c.skipUTF8Validation}),e=new p(a,this._extensions,c.generateMask);this._receiver=d,this._sender=e,this._socket=a,d[y]=this,e[y]=this,a[y]=this,d.on("conclude",P),d.on("drain",Q),d.on("error",R),d.on("message",T),d.on("ping",U),d.on("pong",V),e.onerror=X,a.setTimeout&&a.setTimeout(0),a.setNoDelay&&a.setNoDelay(),b.length>0&&a.unshift(b),a.on("close",Z),a.on("data",$),a.on("end",_),a.on("error",aa),this._readyState=J.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=J.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[n.extensionName]&&this._extensions[n.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=J.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(a,b){if(this.readyState!==J.CLOSED){if(this.readyState===J.CONNECTING)return void N(this,this._req,"WebSocket was closed before the connection was established");if(this.readyState===J.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=J.CLOSING,this._sender.close(a,b,!this._isServer,a=>{!a&&(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Y(this)}}pause(){this.readyState!==J.CONNECTING&&this.readyState!==J.CLOSED&&(this._paused=!0,this._socket.pause())}ping(a,b,c){if(this.readyState===J.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof a?(c=a,a=b=void 0):"function"==typeof b&&(c=b,b=void 0),"number"==typeof a&&(a=a.toString()),this.readyState!==J.OPEN)return void O(this,a,c);void 0===b&&(b=!this._isServer),this._sender.ping(a||t,b,c)}pong(a,b,c){if(this.readyState===J.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof a?(c=a,a=b=void 0):"function"==typeof b&&(c=b,b=void 0),"number"==typeof a&&(a=a.toString()),this.readyState!==J.OPEN)return void O(this,a,c);void 0===b&&(b=!this._isServer),this._sender.pong(a||t,b,c)}resume(){this.readyState!==J.CONNECTING&&this.readyState!==J.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(a,b,c){if(this.readyState===J.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof b&&(c=b,b={}),"number"==typeof a&&(a=a.toString()),this.readyState!==J.OPEN)return void O(this,a,c);let d={binary:"string"!=typeof a,mask:!this._isServer,compress:!0,fin:!0,...b};this._extensions[n.extensionName]||(d.compress=!1),this._sender.send(a||t,d,c)}terminate(){if(this.readyState!==J.CLOSED){if(this.readyState===J.CONNECTING)return void N(this,this._req,"WebSocket was closed before the connection was established");this._socket&&(this._readyState=J.CLOSING,this._socket.destroy())}}}function K(a,b){a._readyState=J.CLOSING,a._errorEmitted=!0,a.emit("error",b),a.emitClose()}function L(a){return a.path=a.socketPath,g.connect(a)}function M(a){return a.path=void 0,a.servername||""===a.servername||(a.servername=g.isIP(a.host)?"":a.host),h.connect(a)}function N(a,b,c){a._readyState=J.CLOSING;let d=Error(c);Error.captureStackTrace(d,N),b.setHeader?(b[F]=!0,b.abort(),b.socket&&!b.socket.destroyed&&b.socket.destroy(),process.nextTick(K,a,d)):(b.destroy(d),b.once("error",a.emit.bind(a,"error")),b.once("close",a.emitClose.bind(a)))}function O(a,b,c){if(b){let c=q(b)?b.size:E(b).length;a._socket?a._sender._bufferedBytes+=c:a._bufferedAmount+=c}if(c){let b=Error(`WebSocket is not open: readyState ${a.readyState} (${H[a.readyState]})`);process.nextTick(c,b)}}function P(a,b){let c=this[y];c._closeFrameReceived=!0,c._closeMessage=b,c._closeCode=a,void 0!==c._socket[y]&&(c._socket.removeListener("data",$),process.nextTick(W,c._socket),1005===a?c.close():c.close(a,b))}function Q(){let a=this[y];a.isPaused||a._socket.resume()}function R(a){let b=this[y];void 0!==b._socket[y]&&(b._socket.removeListener("data",$),process.nextTick(W,b._socket),b.close(a[x])),b._errorEmitted||(b._errorEmitted=!0,b.emit("error",a))}function S(){this[y].emitClose()}function T(a,b){this[y].emit("message",a,b)}function U(a){let b=this[y];b._autoPong&&b.pong(a,!this._isServer,z),b.emit("ping",a)}function V(a){this[y].emit("pong",a)}function W(a){a.resume()}function X(a){let b=this[y];b.readyState!==J.CLOSED&&(b.readyState===J.OPEN&&(b._readyState=J.CLOSING,Y(b)),this._socket.end(),b._errorEmitted||(b._errorEmitted=!0,b.emit("error",a)))}function Y(a){a._closeTimer=setTimeout(a._socket.destroy.bind(a._socket),a._closeTimeout)}function Z(){let a=this[y];if(this.removeListener("close",Z),this.removeListener("data",$),this.removeListener("end",_),a._readyState=J.CLOSING,!this._readableState.endEmitted&&!a._closeFrameReceived&&!a._receiver._writableState.errorEmitted&&0!==this._readableState.length){let b=this.read(this._readableState.length);a._receiver.write(b)}a._receiver.end(),this[y]=void 0,clearTimeout(a._closeTimer),a._receiver._writableState.finished||a._receiver._writableState.errorEmitted?a.emitClose():(a._receiver.on("error",S),a._receiver.on("finish",S))}function $(a){this[y]._receiver.write(a)||this.pause()}function _(){let a=this[y];a._readyState=J.CLOSING,a._receiver.end(),this.end()}function aa(){let a=this[y];this.removeListener("error",aa),this.on("error",z),a&&(a._readyState=J.CLOSING,this.destroy())}Object.defineProperty(J,"CONNECTING",{enumerable:!0,value:H.indexOf("CONNECTING")}),Object.defineProperty(J.prototype,"CONNECTING",{enumerable:!0,value:H.indexOf("CONNECTING")}),Object.defineProperty(J,"OPEN",{enumerable:!0,value:H.indexOf("OPEN")}),Object.defineProperty(J.prototype,"OPEN",{enumerable:!0,value:H.indexOf("OPEN")}),Object.defineProperty(J,"CLOSING",{enumerable:!0,value:H.indexOf("CLOSING")}),Object.defineProperty(J.prototype,"CLOSING",{enumerable:!0,value:H.indexOf("CLOSING")}),Object.defineProperty(J,"CLOSED",{enumerable:!0,value:H.indexOf("CLOSED")}),Object.defineProperty(J.prototype,"CLOSED",{enumerable:!0,value:H.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(a=>{Object.defineProperty(J.prototype,a,{enumerable:!0})}),["open","error","close","message"].forEach(a=>{Object.defineProperty(J.prototype,`on${a}`,{enumerable:!0,get(){for(let b of this.listeners(a))if(b[v])return b[w];return null},set(b){for(let b of this.listeners(a))if(b[v]){this.removeListener(a,b);break}"function"==typeof b&&this.addEventListener(a,b,{[v]:!0})}})}),J.prototype.addEventListener=A,J.prototype.removeEventListener=B,a.exports=J},3979:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__setModuleDefault||(Object.create?function(a,b){Object.defineProperty(a,"default",{enumerable:!0,value:b})}:function(a,b){a.default=b}),f=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)"default"!==c&&Object.prototype.hasOwnProperty.call(a,c)&&d(b,a,c);return e(b,a),b};Object.defineProperty(b,"__esModule",{value:!0}),b.tokenizeClass=b.strToChars=void 0;let g=c(8765),h=f(c(80738));b.strToChars=a=>a.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(a,b,c,d,e,f,g)=>{if(c)return a;let h=String.fromCharCode(b?8:d?parseInt(d,16):e?parseInt(e,16):f?"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(f):({0:0,t:9,n:10,v:11,f:12,r:13})[g]);return/[[\]{}^$.|?*+()]/.test(h)?`\\${h}`:h}),b.tokenizeClass=(a,b)=>{var c,d,e,f,i,j,k;let l=[],m,n,o=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;null!==(m=o.exec(a));){let a=null!=(k=null!=(j=null!=(i=null!=(f=null!=(e=null!=(d=null!=(c=m[1]&&h.words())?c:m[2]&&h.ints())?d:m[3]&&h.whitespace())?e:m[4]&&h.notWords())?f:m[5]&&h.notInts())?i:m[6]&&h.notWhitespace())?j:m[7]&&{type:g.types.RANGE,from:(m[8]||m[9]).charCodeAt(0),to:(n=m[10]).charCodeAt(n.length-1)})?k:(n=m[16])&&{type:g.types.CHAR,value:n.charCodeAt(0)};if(!a)return[l,o.lastIndex];l.push(a)}throw SyntaxError(`Invalid regular expression: /${b}/: Unterminated character class`)}},6597:(a,b,c)=>{let d,e=c(74075),f=c(94100),g=c(47109),{kStatusCode:h}=c(27768),i=Buffer[Symbol.species],j=Buffer.from([0,0,255,255]),k=Symbol("permessage-deflate"),l=Symbol("total-length"),m=Symbol("callback"),n=Symbol("buffers"),o=Symbol("error");class p{constructor(a,b,c){this._maxPayload=0|c,this._options=a||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!b,this._deflate=null,this._inflate=null,this.params=null,d||(d=new g(void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10))}static get extensionName(){return"permessage-deflate"}offer(){let a={};return this._options.serverNoContextTakeover&&(a.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(a.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(a.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?a.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(a.client_max_window_bits=!0),a}accept(a){return a=this.normalizeParams(a),this.params=this._isServer?this.acceptAsServer(a):this.acceptAsClient(a),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let a=this._deflate[m];this._deflate.close(),this._deflate=null,a&&a(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(a){let b=this._options,c=a.find(a=>(!1!==b.serverNoContextTakeover||!a.server_no_context_takeover)&&(!a.server_max_window_bits||!1!==b.serverMaxWindowBits&&("number"!=typeof b.serverMaxWindowBits||!(b.serverMaxWindowBits>a.server_max_window_bits)))&&("number"!=typeof b.clientMaxWindowBits||!!a.client_max_window_bits));if(!c)throw Error("None of the extension offers can be accepted");return b.serverNoContextTakeover&&(c.server_no_context_takeover=!0),b.clientNoContextTakeover&&(c.client_no_context_takeover=!0),"number"==typeof b.serverMaxWindowBits&&(c.server_max_window_bits=b.serverMaxWindowBits),"number"==typeof b.clientMaxWindowBits?c.client_max_window_bits=b.clientMaxWindowBits:(!0===c.client_max_window_bits||!1===b.clientMaxWindowBits)&&delete c.client_max_window_bits,c}acceptAsClient(a){let b=a[0];if(!1===this._options.clientNoContextTakeover&&b.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(b.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&b.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(b.client_max_window_bits=this._options.clientMaxWindowBits);return b}normalizeParams(a){return a.forEach(a=>{Object.keys(a).forEach(b=>{let c=a[b];if(c.length>1)throw Error(`Parameter "${b}" must have only a single value`);if(c=c[0],"client_max_window_bits"===b){if(!0!==c){let a=+c;if(!Number.isInteger(a)||a<8||a>15)throw TypeError(`Invalid value for parameter "${b}": ${c}`);c=a}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${b}": ${c}`)}else if("server_max_window_bits"===b){let a=+c;if(!Number.isInteger(a)||a<8||a>15)throw TypeError(`Invalid value for parameter "${b}": ${c}`);c=a}else if("client_no_context_takeover"===b||"server_no_context_takeover"===b){if(!0!==c)throw TypeError(`Invalid value for parameter "${b}": ${c}`)}else throw Error(`Unknown parameter "${b}"`);a[b]=c})}),a}decompress(a,b,c){d.add(d=>{this._decompress(a,b,(a,b)=>{d(),c(a,b)})})}compress(a,b,c){d.add(d=>{this._compress(a,b,(a,b)=>{d(),c(a,b)})})}_decompress(a,b,c){let d=this._isServer?"client":"server";if(!this._inflate){let a=`${d}_max_window_bits`,b="number"!=typeof this.params[a]?e.Z_DEFAULT_WINDOWBITS:this.params[a];this._inflate=e.createInflateRaw({...this._options.zlibInflateOptions,windowBits:b}),this._inflate[k]=this,this._inflate[l]=0,this._inflate[n]=[],this._inflate.on("error",s),this._inflate.on("data",r)}this._inflate[m]=c,this._inflate.write(a),b&&this._inflate.write(j),this._inflate.flush(()=>{let a=this._inflate[o];if(a){this._inflate.close(),this._inflate=null,c(a);return}let e=f.concat(this._inflate[n],this._inflate[l]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[l]=0,this._inflate[n]=[],b&&this.params[`${d}_no_context_takeover`]&&this._inflate.reset()),c(null,e)})}_compress(a,b,c){let d=this._isServer?"server":"client";if(!this._deflate){let a=`${d}_max_window_bits`,b="number"!=typeof this.params[a]?e.Z_DEFAULT_WINDOWBITS:this.params[a];this._deflate=e.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:b}),this._deflate[l]=0,this._deflate[n]=[],this._deflate.on("data",q)}this._deflate[m]=c,this._deflate.write(a),this._deflate.flush(e.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let a=f.concat(this._deflate[n],this._deflate[l]);b&&(a=new i(a.buffer,a.byteOffset,a.length-4)),this._deflate[m]=null,this._deflate[l]=0,this._deflate[n]=[],b&&this.params[`${d}_no_context_takeover`]&&this._deflate.reset(),c(null,a)})}}function q(a){this[n].push(a),this[l]+=a.length}function r(a){if(this[l]+=a.length,this[k]._maxPayload<1||this[l]<=this[k]._maxPayload)return void this[n].push(a);this[o]=RangeError("Max payload size exceeded"),this[o].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[o][h]=1009,this.removeListener("data",r),this.reset()}function s(a){if(this[k]._inflate=null,this[o])return void this[m](this[o]);a[h]=1007,this[m](a)}a.exports=p},8765:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(54803),b),e(c(59756),b),e(c(33004),b)},11998:(a,b,c)=>{let{isUtf8:d}=c(79428),{hasBlob:e}=c(27768);function f(a){let b=a.length,c=0;for(;c<b;)if((128&a[c])==0)c++;else if((224&a[c])==192){if(c+1===b||(192&a[c+1])!=128||(254&a[c])==192)return!1;c+=2}else if((240&a[c])==224){if(c+2>=b||(192&a[c+1])!=128||(192&a[c+2])!=128||224===a[c]&&(224&a[c+1])==128||237===a[c]&&(224&a[c+1])==160)return!1;c+=3}else{if((248&a[c])!=240||c+3>=b||(192&a[c+1])!=128||(192&a[c+2])!=128||(192&a[c+3])!=128||240===a[c]&&(240&a[c+1])==128||244===a[c]&&a[c+1]>143||a[c]>244)return!1;c+=4}return!0}if(a.exports={isBlob:function(a){return e&&"object"==typeof a&&"function"==typeof a.arrayBuffer&&"string"==typeof a.type&&"function"==typeof a.stream&&("Blob"===a[Symbol.toStringTag]||"File"===a[Symbol.toStringTag])},isValidStatusCode:function(a){return a>=1e3&&a<=1014&&1004!==a&&1005!==a&&1006!==a||a>=3e3&&a<=4999},isValidUTF8:f,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},d)a.exports.isValidUTF8=function(a){return a.length<24?f(a):d(a)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let b=c(47990);a.exports.isValidUTF8=function(a){return a.length<32?f(a):b(a)}}catch(a){}},25967:(a,b,c)=>{let{tokenChars:d}=c(11998);a.exports={parse:function(a){let b=new Set,c=-1,e=-1,f=0;for(;f<a.length;f++){let g=a.charCodeAt(f);if(-1===e&&1===d[g])-1===c&&(c=f);else if(0!==f&&(32===g||9===g))-1===e&&-1!==c&&(e=f);else if(44===g){if(-1===c)throw SyntaxError(`Unexpected character at index ${f}`);-1===e&&(e=f);let d=a.slice(c,e);if(b.has(d))throw SyntaxError(`The "${d}" subprotocol is duplicated`);b.add(d),c=e=-1}else throw SyntaxError(`Unexpected character at index ${f}`)}if(-1===c||-1!==e)throw SyntaxError("Unexpected end of input");let g=a.slice(c,f);if(b.has(g))throw SyntaxError(`The "${g}" subprotocol is duplicated`);return b.add(g),b}}},27768:a=>{let b=["nodebuffer","arraybuffer","fragments"],c="undefined"!=typeof Blob;c&&b.push("blob"),a.exports={BINARY_TYPES:b,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:c,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},33004:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0})},47109:a=>{let b=Symbol("kDone"),c=Symbol("kRun");class d{constructor(a){this[b]=()=>{this.pending--,this[c]()},this.concurrency=a||1/0,this.jobs=[],this.pending=0}add(a){this.jobs.push(a),this[c]()}[c](){if(this.pending!==this.concurrency&&this.jobs.length){let a=this.jobs.shift();this.pending++,a(this[b])}}}a.exports=d},49320:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__setModuleDefault||(Object.create?function(a,b){Object.defineProperty(a,"default",{enumerable:!0,value:b})}:function(a,b){a.default=b}),f=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)"default"!==c&&Object.prototype.hasOwnProperty.call(a,c)&&d(b,a,c);return e(b,a),b};Object.defineProperty(b,"__esModule",{value:!0}),b.writeSetTokens=b.setChar=void 0;let g=c(8765),h=f(c(97537));function i(a){return 94===a?"\\^":92===a?"\\\\":93===a?"\\]":45===a?"\\-":String.fromCharCode(a)}function j(a,{lookup:b,len:c}){if(c!==a.length)return!1;let d=b();for(let b of a){if(b.type===g.types.SET)return!1;let a=b.type===g.types.CHAR?b.value:`${b.from}-${b.to}`;if(!d[a])return!1;d[a]=!1}return!0}b.setChar=i,b.writeSetTokens=function a(b,c=!1){if(j(b.set,h.INTS))return b.not?"\\D":"\\d";if(j(b.set,h.WORDS))return b.not?"\\W":"\\w";if(b.not&&j(b.set,h.NOTANYCHAR))return".";if(j(b.set,h.WHITESPACE))return b.not?"\\S":"\\s";let d="";for(let c=0;c<b.set.length;c++){var e;d+=(e=b.set[c]).type===g.types.CHAR?i(e.value):e.type===g.types.RANGE?`${i(e.from)}-${i(e.to)}`:a(e,!0)}let f=`${b.not?"^":""}${d}`;return c?f:`[${f}]`}},54803:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0})},59756:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.types=void 0,function(a){a[a.ROOT=0]="ROOT",a[a.GROUP=1]="GROUP",a[a.POSITION=2]="POSITION",a[a.SET=3]="SET",a[a.RANGE=4]="RANGE",a[a.REPETITION=5]="REPETITION",a[a.REFERENCE=6]="REFERENCE",a[a.CHAR=7]="CHAR"}(b.types||(b.types={}))},63989:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.reconstruct=void 0;let d=c(8765),e=c(49320),f=a=>a.map(b.reconstruct).join(""),g=a=>{if("options"in a)return a.options.map(f).join("|");if("stack"in a)return f(a.stack);throw Error("options or stack must be Root or Group token")};b.reconstruct=a=>{switch(a.type){case d.types.ROOT:return g(a);case d.types.CHAR:{let b=String.fromCharCode(a.value);return(/[[\\{}$^.|?*+()]/.test(b)?"\\":"")+b}case d.types.POSITION:if("^"===a.value||"$"===a.value)return a.value;return`\\${a.value}`;case d.types.REFERENCE:return`\\${a.value}`;case d.types.SET:return e.writeSetTokens(a);case d.types.GROUP:{let b=a.name?`?<${a.name}>`:a.remember?"":a.followedBy?"?=":a.notFollowedBy?"?!":"?:";return`(${b}${g(a)})`}case d.types.REPETITION:{let c,{min:d,max:e}=a;return c=0===d&&1===e?"?":1===d&&e===1/0?"+":0===d&&e===1/0?"*":e===1/0?`{${d},}`:d===e?`{${d}}`:`{${d},${e}}`,`${b.reconstruct(a.value)}${c}`}case d.types.RANGE:return`${e.setChar(a.from)}-${e.setChar(a.to)}`;default:throw Error(`Invalid token type ${a}`)}}},64188:(a,b,c)=>{let d,{Duplex:e}=c(27910),{randomFillSync:f}=c(55511),g=c(6597),{EMPTY_BUFFER:h,kWebSocket:i,NOOP:j}=c(27768),{isBlob:k,isValidStatusCode:l}=c(11998),{mask:m,toBuffer:n}=c(94100),o=Symbol("kByteLength"),p=Buffer.alloc(4),q=8192;class r{constructor(a,b,c){this._extensions=b||{},c&&(this._generateMask=c,this._maskBuffer=Buffer.alloc(4)),this._socket=a,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=j,this[i]=void 0}static frame(a,b){let c,e,g=!1,h=2,i=!1;b.mask&&(c=b.maskBuffer||p,b.generateMask?b.generateMask(c):(8192===q&&(void 0===d&&(d=Buffer.alloc(8192)),f(d,0,8192),q=0),c[0]=d[q++],c[1]=d[q++],c[2]=d[q++],c[3]=d[q++]),i=(c[0]|c[1]|c[2]|c[3])==0,h=6),"string"==typeof a?e=(!b.mask||i)&&void 0!==b[o]?b[o]:(a=Buffer.from(a)).length:(e=a.length,g=b.mask&&b.readOnly&&!i);let j=e;e>=65536?(h+=8,j=127):e>125&&(h+=2,j=126);let k=Buffer.allocUnsafe(g?e+h:h);return(k[0]=b.fin?128|b.opcode:b.opcode,b.rsv1&&(k[0]|=64),k[1]=j,126===j?k.writeUInt16BE(e,2):127===j&&(k[2]=k[3]=0,k.writeUIntBE(e,4,6)),b.mask)?(k[1]|=128,k[h-4]=c[0],k[h-3]=c[1],k[h-2]=c[2],k[h-1]=c[3],i)?[k,a]:g?(m(a,c,k,h,e),[k]):(m(a,c,a,0,e),[k,a]):[k,a]}close(a,b,c,d){let e;if(void 0===a)e=h;else if("number"==typeof a&&l(a))if(void 0!==b&&b.length){let c=Buffer.byteLength(b);if(c>123)throw RangeError("The message must not be greater than 123 bytes");(e=Buffer.allocUnsafe(2+c)).writeUInt16BE(a,0),"string"==typeof b?e.write(b,2):e.set(b,2)}else(e=Buffer.allocUnsafe(2)).writeUInt16BE(a,0);else throw TypeError("First argument must be a valid error code number");let f={[o]:e.length,fin:!0,generateMask:this._generateMask,mask:c,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,e,!1,f,d]):this.sendFrame(r.frame(e,f),d)}ping(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):k(a)?(d=a.size,e=!1):(d=(a=n(a)).length,e=n.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[o]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:9,readOnly:e,rsv1:!1};k(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(r.frame(a,f),c)}pong(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):k(a)?(d=a.size,e=!1):(d=(a=n(a)).length,e=n.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[o]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:10,readOnly:e,rsv1:!1};k(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(r.frame(a,f),c)}send(a,b,c){let d,e,f=this._extensions[g.extensionName],h=b.binary?2:1,i=b.compress;"string"==typeof a?(d=Buffer.byteLength(a),e=!1):k(a)?(d=a.size,e=!1):(d=(a=n(a)).length,e=n.readOnly),this._firstFragment?(this._firstFragment=!1,i&&f&&f.params[f._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(i=d>=f._threshold),this._compress=i):(i=!1,h=0),b.fin&&(this._firstFragment=!0);let j={[o]:d,fin:b.fin,generateMask:this._generateMask,mask:b.mask,maskBuffer:this._maskBuffer,opcode:h,readOnly:e,rsv1:i};k(a)?0!==this._state?this.enqueue([this.getBlobData,a,this._compress,j,c]):this.getBlobData(a,this._compress,j,c):0!==this._state?this.enqueue([this.dispatch,a,this._compress,j,c]):this.dispatch(a,this._compress,j,c)}getBlobData(a,b,c,d){this._bufferedBytes+=c[o],this._state=2,a.arrayBuffer().then(a=>{if(this._socket.destroyed){let a=Error("The socket was closed while the blob was being read");process.nextTick(s,this,a,d);return}this._bufferedBytes-=c[o];let e=n(a);b?this.dispatch(e,b,c,d):(this._state=0,this.sendFrame(r.frame(e,c),d),this.dequeue())}).catch(a=>{process.nextTick(t,this,a,d)})}dispatch(a,b,c,d){if(!b)return void this.sendFrame(r.frame(a,c),d);let e=this._extensions[g.extensionName];this._bufferedBytes+=c[o],this._state=1,e.compress(a,c.fin,(a,b)=>{if(this._socket.destroyed)return void s(this,Error("The socket was closed while data was being compressed"),d);this._bufferedBytes-=c[o],this._state=0,c.readOnly=!1,this.sendFrame(r.frame(b,c),d),this.dequeue()})}dequeue(){for(;0===this._state&&this._queue.length;){let a=this._queue.shift();this._bufferedBytes-=a[3][o],Reflect.apply(a[0],this,a.slice(1))}}enqueue(a){this._bufferedBytes+=a[3][o],this._queue.push(a)}sendFrame(a,b){2===a.length?(this._socket.cork(),this._socket.write(a[0]),this._socket.write(a[1],b),this._socket.uncork()):this._socket.write(a[0],b)}}function s(a,b,c){"function"==typeof c&&c(b);for(let c=0;c<a._queue.length;c++){let d=a._queue[c],e=d[d.length-1];"function"==typeof e&&e(b)}}function t(a,b,c){s(a,b,c),a.onerror(b)}a.exports=r},67851:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),b.types=void 0;let f=c(8765);Object.defineProperty(b,"types",{enumerable:!0,get:function(){return f.types}}),e(c(91446),b),e(c(63989),b);let g=c(91446),h=c(63989);e(c(8765),b),b.default=g.tokenizer,a.exports=g.tokenizer,a.exports.types=f.types,a.exports.reconstruct=h.reconstruct},77536:(a,b,c)=>{let d=c(94735),e=c(81630),{Duplex:f}=c(27910),{createHash:g}=c(55511),h=c(2400),i=c(6597),j=c(25967),k=c(3266),{CLOSE_TIMEOUT:l,GUID:m,kWebSocket:n}=c(27768),o=/^[+/0-9A-Za-z]{22}==$/;class p extends d{constructor(a,b){if(super(),null==(a={allowSynchronousEvents:!0,autoPong:!0,maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:l,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:k,...a}).port&&!a.server&&!a.noServer||null!=a.port&&(a.server||a.noServer)||a.server&&a.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=a.port?(this._server=e.createServer((a,b)=>{let c=e.STATUS_CODES[426];b.writeHead(426,{"Content-Length":c.length,"Content-Type":"text/plain"}),b.end(c)}),this._server.listen(a.port,a.host,a.backlog,b)):a.server&&(this._server=a.server),this._server){let a=this.emit.bind(this,"connection");this._removeListeners=function(a,b){for(let c of Object.keys(b))a.on(c,b[c]);return function(){for(let c of Object.keys(b))a.removeListener(c,b[c])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(b,c,d)=>{this.handleUpgrade(b,c,d,a)}})}!0===a.perMessageDeflate&&(a.perMessageDeflate={}),a.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=a,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(a){if(2===this._state){a&&this.once("close",()=>{a(Error("The server is not running"))}),process.nextTick(q,this);return}if(a&&this.once("close",a),1!==this._state)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(q,this);else{let a=this._server;this._removeListeners(),this._removeListeners=this._server=null,a.close(()=>{q(this)})}}shouldHandle(a){if(this.options.path){let b=a.url.indexOf("?");if((-1!==b?a.url.slice(0,b):a.url)!==this.options.path)return!1}return!0}handleUpgrade(a,b,c,d){b.on("error",r);let e=a.headers["sec-websocket-key"],f=a.headers.upgrade,g=+a.headers["sec-websocket-version"];if("GET"!==a.method)return void t(this,a,b,405,"Invalid HTTP method");if(void 0===f||"websocket"!==f.toLowerCase())return void t(this,a,b,400,"Invalid Upgrade header");if(void 0===e||!o.test(e))return void t(this,a,b,400,"Missing or invalid Sec-WebSocket-Key header");if(13!==g&&8!==g)return void t(this,a,b,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});if(!this.shouldHandle(a))return void s(b,400);let k=a.headers["sec-websocket-protocol"],l=new Set;if(void 0!==k)try{l=j.parse(k)}catch(c){t(this,a,b,400,"Invalid Sec-WebSocket-Protocol header");return}let m=a.headers["sec-websocket-extensions"],n={};if(this.options.perMessageDeflate&&void 0!==m){let c=new i(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let a=h.parse(m);a[i.extensionName]&&(c.accept(a[i.extensionName]),n[i.extensionName]=c)}catch(c){t(this,a,b,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let f={origin:a.headers[`${8===g?"sec-websocket-origin":"origin"}`],secure:!!(a.socket.authorized||a.socket.encrypted),req:a};if(2===this.options.verifyClient.length)return void this.options.verifyClient(f,(f,g,h,i)=>{if(!f)return s(b,g||401,h,i);this.completeUpgrade(n,e,l,a,b,c,d)});if(!this.options.verifyClient(f))return s(b,401)}this.completeUpgrade(n,e,l,a,b,c,d)}completeUpgrade(a,b,c,d,e,f,j){if(!e.readable||!e.writable)return e.destroy();if(e[n])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return s(e,503);let k=g("sha1").update(b+m).digest("base64"),l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${k}`],o=new this.options.WebSocket(null,void 0,this.options);if(c.size){let a=this.options.handleProtocols?this.options.handleProtocols(c,d):c.values().next().value;a&&(l.push(`Sec-WebSocket-Protocol: ${a}`),o._protocol=a)}if(a[i.extensionName]){let b=a[i.extensionName].params,c=h.format({[i.extensionName]:[b]});l.push(`Sec-WebSocket-Extensions: ${c}`),o._extensions=a}this.emit("headers",l,d),e.write(l.concat("\r\n").join("\r\n")),e.removeListener("error",r),o.setSocket(e,f,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(o),o.on("close",()=>{this.clients.delete(o),this._shouldEmitClose&&!this.clients.size&&process.nextTick(q,this)})),j(o,d)}}function q(a){a._state=2,a.emit("close")}function r(){this.destroy()}function s(a,b,c,d){c=c||e.STATUS_CODES[b],d={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(c),...d},a.once("finish",a.destroy),a.end(`HTTP/1.1 ${b} ${e.STATUS_CODES[b]}\r
|
|
2
|
-
`+Object.keys(d).map(a=>`${a}: ${d[a]}`).join("\r\n")+"\r\n\r\n"+c)}function t(a,b,c,d,e,f){if(a.listenerCount("wsClientError")){let d=Error(e);Error.captureStackTrace(d,t),a.emit("wsClientError",d,c,b)}else s(c,d,e,f)}a.exports=p},80738:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.anyChar=b.notWhitespace=b.whitespace=b.notInts=b.ints=b.notWords=b.words=void 0;let d=c(8765),e=()=>[{type:d.types.RANGE,from:48,to:57}],f=()=>[{type:d.types.CHAR,value:95},{type:d.types.RANGE,from:97,to:122},{type:d.types.RANGE,from:65,to:90},{type:d.types.RANGE,from:48,to:57}],g=()=>[{type:d.types.CHAR,value:9},{type:d.types.CHAR,value:10},{type:d.types.CHAR,value:11},{type:d.types.CHAR,value:12},{type:d.types.CHAR,value:13},{type:d.types.CHAR,value:32},{type:d.types.CHAR,value:160},{type:d.types.CHAR,value:5760},{type:d.types.RANGE,from:8192,to:8202},{type:d.types.CHAR,value:8232},{type:d.types.CHAR,value:8233},{type:d.types.CHAR,value:8239},{type:d.types.CHAR,value:8287},{type:d.types.CHAR,value:12288},{type:d.types.CHAR,value:65279}];b.words=()=>({type:d.types.SET,set:f(),not:!1}),b.notWords=()=>({type:d.types.SET,set:f(),not:!0}),b.ints=()=>({type:d.types.SET,set:e(),not:!1}),b.notInts=()=>({type:d.types.SET,set:e(),not:!0}),b.whitespace=()=>({type:d.types.SET,set:g(),not:!1}),b.notWhitespace=()=>({type:d.types.SET,set:g(),not:!0}),b.anyChar=()=>({type:d.types.SET,set:[{type:d.types.CHAR,value:10},{type:d.types.CHAR,value:13},{type:d.types.CHAR,value:8232},{type:d.types.CHAR,value:8233}],not:!0})},81503:(a,b,c)=>{c.d(b,{kb:()=>d}),c(91909),c(94740),c(64188);var d=c(3266);c(77536)},82366:(a,b,c)=>{let d=c(67851),{types:e}=c(67851);function f(a,b){var c;let f={reps:0,limit:b?.limit??25};(c=a,"[object RegExp]"===Object.prototype.toString.call(c))?a=a.source:"string"!=typeof a&&(a=String(a));try{return function a(b,c,d){let f,g;if(b.type===e.REPETITION&&(d++,c.reps++,d>1||c.reps>c.limit))return!1;if(b.options){for(f=0,g=b.options.length;f<g;f++)if(!a({stack:b.options[f]},c,d))return!1}let h=b.stack||b.value?.stack;if(!h)return!0;for(f=0,g=h.length;f<g;f++)if(!a(h[f],c,d))return!1;return!0}(d(a),f,0)}catch{return!1}}a.exports=f,a.exports.default=f,a.exports.safeRegex=f},91446:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__setModuleDefault||(Object.create?function(a,b){Object.defineProperty(a,"default",{enumerable:!0,value:b})}:function(a,b){a.default=b}),f=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)"default"!==c&&Object.prototype.hasOwnProperty.call(a,c)&&d(b,a,c);return e(b,a),b};Object.defineProperty(b,"__esModule",{value:!0}),b.tokenizer=void 0;let g=f(c(3979)),h=c(8765),i=f(c(80738)),j=/^[a-zA-Z_$]$/i,k=/^[a-zA-Z0-9_$]$/i,l=/\d/;b.tokenizer=a=>{let b=0,c,d={type:h.types.ROOT,stack:[]},e=d,f=d.stack,m=[],n=[],o=0,p=b=>{throw SyntaxError(`Invalid regular expression: /${a}/: Nothing to repeat at column ${b-1}`)},q=g.strToChars(a);for(;b<q.length;)switch(c=q[b++]){case"\\":if(b===q.length)throw SyntaxError(`Invalid regular expression: /${a}/: \\ at end of pattern`);switch(c=q[b++]){case"b":f.push({type:h.types.POSITION,value:"b"});break;case"B":f.push({type:h.types.POSITION,value:"B"});break;case"w":f.push(i.words());break;case"W":f.push(i.notWords());break;case"d":f.push(i.ints());break;case"D":f.push(i.notInts());break;case"s":f.push(i.whitespace());break;case"S":f.push(i.notWhitespace());break;default:if(l.test(c)){let a=c;for(;b<q.length&&l.test(q[b]);)a+=q[b++];let d=parseInt(a,10),e={type:h.types.REFERENCE,value:d};f.push(e),n.push({reference:e,stack:f,index:f.length-1})}else f.push({type:h.types.CHAR,value:c.charCodeAt(0)})}break;case"^":f.push({type:h.types.POSITION,value:"^"});break;case"$":f.push({type:h.types.POSITION,value:"$"});break;case"[":{let c;"^"===q[b]?(c=!0,b++):c=!1;let d=g.tokenizeClass(q.slice(b),a);b+=d[1],f.push({type:h.types.SET,set:d[0],not:c});break}case".":f.push(i.anyChar());break;case"(":{let d={type:h.types.GROUP,stack:[],remember:!0};if("?"===q[b])if(c=q[b+1],b+=2,"="===c)d.followedBy=!0,d.remember=!1;else if("!"===c)d.notFollowedBy=!0,d.remember=!1;else if("<"===c){let c="";if(j.test(q[b]))c+=q[b],b++;else throw SyntaxError(`Invalid regular expression: /${a}/: Invalid capture group name, character '${q[b]}' after '<' at column ${b+1}`);for(;b<q.length&&k.test(q[b]);)c+=q[b],b++;if(!c)throw SyntaxError(`Invalid regular expression: /${a}/: Invalid capture group name, character '${q[b]}' after '<' at column ${b+1}`);if(">"!==q[b])throw SyntaxError(`Invalid regular expression: /${a}/: Unclosed capture group name, expected '>', found '${q[b]}' at column ${b+1}`);d.name=c,b++}else if(":"===c)d.remember=!1;else throw SyntaxError(`Invalid regular expression: /${a}/: Invalid group, character '${c}' after '?' at column ${b-1}`);else o+=1;f.push(d),m.push(e),e=d,f=d.stack;break}case")":if(0===m.length)throw SyntaxError(`Invalid regular expression: /${a}/: Unmatched ) at column ${b-1}`);f=(e=m.pop()).options?e.options[e.options.length-1]:e.stack;break;case"|":{e.options||(e.options=[e.stack],delete e.stack);let a=[];e.options.push(a),f=a;break}case"{":{let a=/^(\d+)(,(\d+)?)?\}/.exec(q.slice(b)),c,d;null!==a?(0===f.length&&p(b),c=parseInt(a[1],10),d=a[2]?a[3]?parseInt(a[3],10):1/0:c,b+=a[0].length,f.push({type:h.types.REPETITION,min:c,max:d,value:f.pop()})):f.push({type:h.types.CHAR,value:123});break}case"?":0===f.length&&p(b),f.push({type:h.types.REPETITION,min:0,max:1,value:f.pop()});break;case"+":0===f.length&&p(b),f.push({type:h.types.REPETITION,min:1,max:1/0,value:f.pop()});break;case"*":0===f.length&&p(b),f.push({type:h.types.REPETITION,min:0,max:1/0,value:f.pop()});break;default:f.push({type:h.types.CHAR,value:c.charCodeAt(0)})}if(0!==m.length)throw SyntaxError(`Invalid regular expression: /${a}/: Unterminated group`);return function(a,b){for(let c of a.reverse())if(b<c.reference.value){c.reference.type=h.types.CHAR;let a=c.reference.value.toString();if(c.reference.value=parseInt(a,8),!/^[0-7]+$/.test(a)){let b=0;for(;"8"!==a[b]&&"9"!==a[b];)b+=1;if(0===b?(c.reference.value=a.charCodeAt(0),b+=1):c.reference.value=parseInt(a.slice(0,b),8),a.length>b){let d=c.stack.splice(c.index+1);for(let d of a.slice(b))c.stack.push({type:h.types.CHAR,value:d.charCodeAt(0)});c.stack.push(...d)}}}}(n,o),d}},91909:(a,b,c)=>{c(3266);let{Duplex:d}=c(27910);function e(a){a.emit("close")}function f(){!this.destroyed&&this._writableState.finished&&this.destroy()}function g(a){this.removeListener("error",g),this.destroy(),0===this.listenerCount("error")&&this.emit("error",a)}a.exports=function(a,b){let c=!0,h=new d({...b,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return a.on("message",function(b,c){let d=!c&&h._readableState.objectMode?b.toString():b;h.push(d)||a.pause()}),a.once("error",function(a){h.destroyed||(c=!1,h.destroy(a))}),a.once("close",function(){h.destroyed||h.push(null)}),h._destroy=function(b,d){if(a.readyState===a.CLOSED){d(b),process.nextTick(e,h);return}let f=!1;a.once("error",function(a){f=!0,d(a)}),a.once("close",function(){f||d(b),process.nextTick(e,h)}),c&&a.terminate()},h._final=function(b){if(a.readyState===a.CONNECTING)return void a.once("open",function(){h._final(b)});null!==a._socket&&(a._socket._writableState.finished?(b(),h._readableState.endEmitted&&h.destroy()):(a._socket.once("finish",function(){b()}),a.close()))},h._read=function(){a.isPaused&&a.resume()},h._write=function(b,c,d){if(a.readyState===a.CONNECTING)return void a.once("open",function(){h._write(b,c,d)});a.send(b,d)},h.on("end",f),h.on("error",g),h}},92095:(a,b,c)=>{let{kForOnEventAttribute:d,kListener:e}=c(27768),f=Symbol("kCode"),g=Symbol("kData"),h=Symbol("kError"),i=Symbol("kMessage"),j=Symbol("kReason"),k=Symbol("kTarget"),l=Symbol("kType"),m=Symbol("kWasClean");class n{constructor(a){this[k]=null,this[l]=a}get target(){return this[k]}get type(){return this[l]}}Object.defineProperty(n.prototype,"target",{enumerable:!0}),Object.defineProperty(n.prototype,"type",{enumerable:!0});class o extends n{constructor(a,b={}){super(a),this[f]=void 0===b.code?0:b.code,this[j]=void 0===b.reason?"":b.reason,this[m]=void 0!==b.wasClean&&b.wasClean}get code(){return this[f]}get reason(){return this[j]}get wasClean(){return this[m]}}Object.defineProperty(o.prototype,"code",{enumerable:!0}),Object.defineProperty(o.prototype,"reason",{enumerable:!0}),Object.defineProperty(o.prototype,"wasClean",{enumerable:!0});class p extends n{constructor(a,b={}){super(a),this[h]=void 0===b.error?null:b.error,this[i]=void 0===b.message?"":b.message}get error(){return this[h]}get message(){return this[i]}}Object.defineProperty(p.prototype,"error",{enumerable:!0}),Object.defineProperty(p.prototype,"message",{enumerable:!0});class q extends n{constructor(a,b={}){super(a),this[g]=void 0===b.data?null:b.data}get data(){return this[g]}}function r(a,b,c){"object"==typeof a&&a.handleEvent?a.handleEvent.call(a,c):a.call(b,c)}Object.defineProperty(q.prototype,"data",{enumerable:!0}),a.exports={CloseEvent:o,ErrorEvent:p,Event:n,EventTarget:{addEventListener(a,b,c={}){let f;for(let f of this.listeners(a))if(!c[d]&&f[e]===b&&!f[d])return;if("message"===a)f=function(a,c){let d=new q("message",{data:c?a:a.toString()});d[k]=this,r(b,this,d)};else if("close"===a)f=function(a,c){let d=new o("close",{code:a,reason:c.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});d[k]=this,r(b,this,d)};else if("error"===a)f=function(a){let c=new p("error",{error:a,message:a.message});c[k]=this,r(b,this,c)};else{if("open"!==a)return;f=function(){let a=new n("open");a[k]=this,r(b,this,a)}}f[d]=!!c[d],f[e]=b,c.once?this.once(a,f):this.on(a,f)},removeEventListener(a,b){for(let c of this.listeners(a))if(c[e]===b&&!c[d]){this.removeListener(a,c);break}}},MessageEvent:q}},94100:(a,b,c)=>{let{EMPTY_BUFFER:d}=c(27768),e=Buffer[Symbol.species];function f(a,b,c,d,e){for(let f=0;f<e;f++)c[d+f]=a[f]^b[3&f]}function g(a,b){for(let c=0;c<a.length;c++)a[c]^=b[3&c]}function h(a){let b;return(h.readOnly=!0,Buffer.isBuffer(a))?a:(a instanceof ArrayBuffer?b=new e(a):ArrayBuffer.isView(a)?b=new e(a.buffer,a.byteOffset,a.byteLength):(b=Buffer.from(a),h.readOnly=!1),b)}if(a.exports={concat:function(a,b){if(0===a.length)return d;if(1===a.length)return a[0];let c=Buffer.allocUnsafe(b),f=0;for(let b=0;b<a.length;b++){let d=a[b];c.set(d,f),f+=d.length}return f<b?new e(c.buffer,c.byteOffset,f):c},mask:f,toArrayBuffer:function(a){return a.length===a.buffer.byteLength?a.buffer:a.buffer.slice(a.byteOffset,a.byteOffset+a.length)},toBuffer:h,unmask:g},!process.env.WS_NO_BUFFER_UTIL)try{let b=c(39727);a.exports.mask=function(a,c,d,e,g){g<48?f(a,c,d,e,g):b.mask(a,c,d,e,g)},a.exports.unmask=function(a,c){a.length<32?g(a,c):b.unmask(a,c)}}catch(a){}},94740:(a,b,c)=>{let{Writable:d}=c(27910),e=c(6597),{BINARY_TYPES:f,EMPTY_BUFFER:g,kStatusCode:h,kWebSocket:i}=c(27768),{concat:j,toArrayBuffer:k,unmask:l}=c(94100),{isValidStatusCode:m,isValidUTF8:n}=c(11998),o=Buffer[Symbol.species];class p extends d{constructor(a={}){super(),this._allowSynchronousEvents=void 0===a.allowSynchronousEvents||a.allowSynchronousEvents,this._binaryType=a.binaryType||f[0],this._extensions=a.extensions||{},this._isServer=!!a.isServer,this._maxPayload=0|a.maxPayload,this._skipUTF8Validation=!!a.skipUTF8Validation,this[i]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(a,b,c){if(8===this._opcode&&0==this._state)return c();this._bufferedBytes+=a.length,this._buffers.push(a),this.startLoop(c)}consume(a){if(this._bufferedBytes-=a,a===this._buffers[0].length)return this._buffers.shift();if(a<this._buffers[0].length){let b=this._buffers[0];return this._buffers[0]=new o(b.buffer,b.byteOffset+a,b.length-a),new o(b.buffer,b.byteOffset,a)}let b=Buffer.allocUnsafe(a);do{let c=this._buffers[0],d=b.length-a;a>=c.length?b.set(this._buffers.shift(),d):(b.set(new Uint8Array(c.buffer,c.byteOffset,a),d),this._buffers[0]=new o(c.buffer,c.byteOffset+a,c.length-a)),a-=c.length}while(a>0);return b}startLoop(a){this._loop=!0;do switch(this._state){case 0:this.getInfo(a);break;case 1:this.getPayloadLength16(a);break;case 2:this.getPayloadLength64(a);break;case 3:this.getMask();break;case 4:this.getData(a);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||a()}getInfo(a){if(this._bufferedBytes<2){this._loop=!1;return}let b=this.consume(2);if((48&b[0])!=0)return void a(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));let c=(64&b[0])==64;if(c&&!this._extensions[e.extensionName])return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._fin=(128&b[0])==128,this._opcode=15&b[0],this._payloadLength=127&b[1],0===this._opcode){if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(!this._fragmented)return void a(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));this._compressed=c}else{if(!(this._opcode>7)||!(this._opcode<11))return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));if(!this._fin)return void a(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength)return void a(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"))}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&b[1])==128,this._isServer){if(!this._masked)return void a(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"))}else if(this._masked)return void a(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(a)}getPayloadLength16(a){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(a)}getPayloadLength64(a){if(this._bufferedBytes<8){this._loop=!1;return}let b=this.consume(8),c=b.readUInt32BE(0);if(c>2097151)return void a(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"));this._payloadLength=0x100000000*c+b.readUInt32BE(4),this.haveLength(a)}haveLength(a){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return void a(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(a){let b=g;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}b=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&l(b,this._mask)}if(this._opcode>7)return void this.controlMessage(b,a);if(this._compressed){this._state=5,this.decompress(b,a);return}b.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(b)),this.dataMessage(a)}decompress(a,b){this._extensions[e.extensionName].decompress(a,this._fin,(a,c)=>{if(a)return b(a);if(c.length){if(this._messageLength+=c.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return void b(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(c)}this.dataMessage(b),0===this._state&&this.startLoop(b)})}dataMessage(a){if(!this._fin){this._state=0;return}let b=this._messageLength,c=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let d;d="nodebuffer"===this._binaryType?j(c,b):"arraybuffer"===this._binaryType?k(j(c,b)):"blob"===this._binaryType?new Blob(c):c,this._allowSynchronousEvents?(this.emit("message",d,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!0),this._state=0,this.startLoop(a)}))}else{let d=j(c,b);if(!this._skipUTF8Validation&&!n(d))return void a(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));5===this._state||this._allowSynchronousEvents?(this.emit("message",d,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!1),this._state=0,this.startLoop(a)}))}}controlMessage(a,b){if(8===this._opcode){if(0===a.length)this._loop=!1,this.emit("conclude",1005,g),this.end();else{let c=a.readUInt16BE(0);if(!m(c))return void b(this.createError(RangeError,`invalid status code ${c}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));let d=new o(a.buffer,a.byteOffset+2,a.length-2);if(!this._skipUTF8Validation&&!n(d))return void b(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));this._loop=!1,this.emit("conclude",c,d),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",a),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",a),this._state=0,this.startLoop(b)}))}createError(a,b,c,d,e){this._loop=!1,this._errored=!0;let f=new a(c?`Invalid WebSocket frame: ${b}`:b);return Error.captureStackTrace(f,this.createError),f.code=e,f[h]=d,f}}a.exports=p},97537:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__setModuleDefault||(Object.create?function(a,b){Object.defineProperty(a,"default",{enumerable:!0,value:b})}:function(a,b){a.default=b}),f=this&&this.__importStar||function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)"default"!==c&&Object.prototype.hasOwnProperty.call(a,c)&&d(b,a,c);return e(b,a),b};Object.defineProperty(b,"__esModule",{value:!0}),b.NOTANYCHAR=b.WHITESPACE=b.WORDS=b.INTS=void 0;let g=f(c(80738)),h=c(8765);function i(a){let b={},c=0;for(let d of a)d.type===h.types.CHAR&&(b[d.value]=!0),d.type===h.types.RANGE&&(b[`${d.from}-${d.to}`]=!0),c+=1;return{lookup:()=>Object.assign({},b),len:c}}b.INTS=i(g.ints().set),b.WORDS=i(g.words().set),b.WHITESPACE=i(g.whitespace().set),b.NOTANYCHAR=i(g.anyChar().set)}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:53,errorRate:1e-4,numBits:1017,numHashes:14,bitArray:[0,0,1,1,r,r,e,e,e,e,e,e,e,e,r,r,r,e,e,r,e,e,r,e,e,e,e,r,r,r,e,e,e,e,e,r,r,e,e,r,e,e,e,e,r,r,r,e,e,r,r,e,e,r,r,e,r,r,r,e,r,e,r,e,r,e,e,e,r,e,e,r,r,r,e,e,e,r,e,e,r,r,e,r,r,e,e,e,r,r,r,r,e,r,e,r,e,e,e,r,r,e,r,r,r,e,e,e,e,e,e,r,r,e,e,r,e,r,e,r,e,r,r,e,r,e,e,e,e,r,e,e,e,e,r,r,e,e,r,r,r,r,r,e,e,e,e,e,r,r,e,e,e,e,e,e,e,r,r,r,e,r,e,r,e,e,e,r,e,r,e,e,e,r,r,e,e,r,r,r,r,r,e,r,r,e,e,r,r,e,r,e,r,e,e,r,e,r,r,e,r,e,e,e,r,r,r,e,e,e,e,e,r,r,e,r,e,r,r,r,e,r,e,e,e,e,e,r,e,r,r,r,r,e,e,e,e,r,r,r,e,e,e,r,e,e,e,e,r,e,e,r,e,r,r,r,e,r,e,r,e,e,e,e,r,r,r,e,r,e,r,r,r,e,r,r,e,e,r,r,e,r,r,e,e,e,r,e,e,r,r,e,r,r,r,r,e,r,e,e,e,r,e,r,r,r,e,r,r,r,r,e,r,r,r,r,e,e,e,e,r,e,r,e,r,e,r,r,e,e,r,r,r,r,r,r,e,r,r,r,e,r,e,r,r,r,r,r,r,r,e,r,r,e,r,r,r,r,r,e,e,r,r,r,e,r,e,e,e,e,r,e,e,e,e,r,r,e,r,r,r,r,e,e,e,r,e,e,e,r,r,r,r,r,e,r,r,e,r,e,e,r,r,e,r,e,r,e,e,e,e,e,r,e,r,e,r,r,e,e,r,e,e,e,r,r,r,r,r,r,e,e,e,e,e,r,r,e,e,r,r,r,r,e,e,r,r,e,r,e,e,e,r,r,r,e,r,r,e,r,r,e,r,e,r,r,r,r,e,r,e,r,r,r,e,e,r,e,r,r,r,r,r,r,r,r,e,e,r,r,r,r,r,r,r,e,r,e,e,e,e,r,r,r,e,r,e,r,e,e,e,r,e,r,e,r,e,r,e,e,e,e,r,e,e,r,e,e,r,e,e,r,e,e,r,r,r,e,r,e,e,r,r,r,r,r,r,r,e,r,e,r,e,e,e,r,e,e,e,e,e,e,e,e,e,r,e,r,r,r,e,e,r,r,r,r,e,e,r,r,e,r,r,e,r,r,e,e,e,e,r,e,r,e,e,r,e,e,r,r,e,e,r,e,r,e,r,r,e,e,e,e,r,r,r,r,r,r,e,e,r,e,r,r,e,e,r,e,e,r,e,e,e,e,r,e,e,e,r,r,r,r,e,e,e,e,r,e,e,r,e,e,r,r,r,r,r,r,r,e,r,e,e,e,r,r,e,e,r,r,r,e,e,e,e,e,e,e,r,e,r,e,e,e,r,e,e,e,e,r,r,e,e,e,e,r,e,r,e,e,e,e,e,e,r,e,e,r,e,r,e,e,r,r,r,e,r,e,r,r,e,e,r,e,e,e,e,e,e,e,e,r,e,e,r,e,e,r,e,e,r,e,e,r,r,r,r,r,e,r,r,r,e,r,e,r,r,r,e,r,r,r,e,r,r,e,r,r,e,e,r,r,e,e,e,r,r,e,e,r,r,r,e,e,e,e,r,r,e,r,r,r,r,r,e,r,r,e,r,e,r,r,r,r,e,e,e,e,r,r,r,e,r,e,r,r,e,r,e,r,e,r,e,r,e,e,e,e,e,e,e,r,e,r,e,r,r,e,r,e,r,e,r,e,e,e,r,r,r,e,r,r,e,e,r,r,r,e,r,r,r,e,e,e,r,e,r,e,r,r,r,r,e,e,e,r,r,e,r,e,e,e,e,e,e,r,e,e,r,e,r,e,e,r,e,e,e,e,r,e,r,r,r,r,e,r,e,e,r,r,r,e,r,r,e,e,r,r,r,r,r,e,r,e,r,e,e,e,r,r,e,r,e,r,r,e,e,r,e,r,r,r,r,e,e,r,e,r,r,e,e,e,r,r,e,e,e,r,r,r,e,r,e,r,e,e,r,r,e,e,e,r,r,e,r,r,r,r,e,e,e,r,e,e,e,e,e,r,r,r,r,r,r,e,e,e,r,r,e,r,e,e,e,e,r,r,r,r,r,e,e,e,e,r,e,e,e]},__routerFilterDynamic:{numItems:9,errorRate:1e-4,numBits:173,numHashes:14,bitArray:[e,r,e,e,r,r,e,e,e,r,r,e,e,e,e,r,e,e,e,e,e,r,e,r,r,e,r,e,e,e,r,e,e,e,r,e,e,e,r,r,r,e,e,e,e,r,e,e,e,e,e,e,e,r,r,e,r,r,r,r,e,r,e,r,e,e,r,r,e,e,r,e,e,e,r,e,r,r,r,r,r,e,r,r,r,e,e,e,e,r,e,e,r,e,r,r,e,e,e,r,e,r,r,e,e,r,e,r,e,r,r,r,r,r,r,e,r,r,e,r,e,e,e,e,r,r,e,r,r,r,r,r,r,e,r,r,r,r,r,e,r,e,r,e,e,e,e,r,e,r,e,e,r,r,e,e,e,e,e,e,e,r,r,e,r,e,e,r,r,e,r,e,e]},"/_error":["static/chunks/pages/_error-c970d8b55ace1b48.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-55e398bd20e2d7a9.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,865,890,960,1099,1123,1164,1274,1295,1310,1317,1337,1360,1421,1437,1490,1517,1523,1652,1745,2046,2117,2149,2360,2786,2852,2893,3002,3175,3298,3350,3657,3685,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4476,4594,4614,4748,4767,4779,4907,4961,4985,5286,5580,5657,5683,6140,6194,6248,6393,6680,6734,6824,6839,7e3,7345,7435,7473,7509,7560,7670,7758,7760,7870,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9457,9549,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|