agent-log-viewer 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mcp-server.mjs +2225 -1385
- package/dist/runtime-host.mjs +1690 -972
- package/dist/standalone/.next/BUILD_ID +1 -1
- package/dist/standalone/.next/app-path-routes-manifest.json +26 -24
- package/dist/standalone/.next/build-manifest.json +2 -2
- package/dist/standalone/.next/prerender-manifest.json +4 -4
- package/dist/standalone/.next/required-server-files.json +1 -0
- package/dist/standalone/.next/routes-manifest.json +12 -0
- package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -1
- package/dist/standalone/.next/server/app/_global-error/page.js +2 -2
- package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_global-error.html +1 -1
- package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found/page.js +1 -1
- package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/standalone/.next/server/app/_not-found.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/api/access/route.js +1 -1
- package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/account-project-bindings/route.js +1 -1
- package/dist/standalone/.next/server/app/api/account-project-bindings/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/cli/route.js +1 -0
- package/dist/standalone/.next/server/app/api/accounts/cli/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/accounts/cli/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js +2 -2
- package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/agent/route.js +1 -1
- package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -1
- package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/answer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/artifact/route.js +1 -1
- package/dist/standalone/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/board/route.js +1 -1
- package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/bridge/route.js +1 -1
- package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversations/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/files/route.js +6 -3
- package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/image/route.js +1 -1
- package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/inbox/route.js +2 -2
- package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -1
- package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/limits/history/route.js +1 -1
- package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/provenance/route.js +14 -12
- package/dist/standalone/.next/server/app/api/log/provenance/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/suggestions/route.js +2 -2
- package/dist/standalone/.next/server/app/api/log/suggestions/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/logs/route.js +1 -1
- package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/logs/stream/route.js +2 -2
- package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/runs/route.js +1 -1
- package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js +6 -5
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js +2 -2
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/onboarding/route.js +1 -0
- package/dist/standalone/.next/server/app/api/onboarding/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/onboarding/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +1 -2
- package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
- package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/create/route.js +2 -2
- package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/crown/route.js +1 -1
- package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/directories/route.js +1 -1
- package/dist/standalone/.next/server/app/api/projects/directories/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/push/route.js +2 -2
- package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
- package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/roles/route.js +3 -3
- package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/hosts/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/hosts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/inject/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/inject/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/queue/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/queue/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/stream/route.js +2 -2
- package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/search/transcripts/route.js +1 -1
- package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/title/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/policy/route.js +2 -2
- package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/validate/route.js +1 -1
- package/dist/standalone/.next/server/app/api/spawn/validate/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/staging/route.js +2 -2
- package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -2
- package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/telegram/reports/route.js +1 -1
- package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/telegram/route.js +1 -1
- package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
- package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tts/route.js +2 -2
- package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/view/presence/route.js +2 -1
- package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
- package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
- package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/index.html +1 -1
- package/dist/standalone/.next/server/app/index.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/page.js +20 -20
- package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app-paths-manifest.json +26 -24
- package/dist/standalone/.next/server/chunks/107.js +1 -1
- package/dist/standalone/.next/server/chunks/1106.js +5 -0
- package/dist/standalone/.next/server/chunks/112.js +1 -0
- package/dist/standalone/.next/server/chunks/1406.js +35 -168
- package/dist/standalone/.next/server/chunks/1585.js +3 -3
- package/dist/standalone/.next/server/chunks/160.js +18 -18
- package/dist/standalone/.next/server/chunks/1617.js +1 -1
- package/dist/standalone/.next/server/chunks/1849.js +1 -1
- package/dist/standalone/.next/server/chunks/1952.js +1 -1
- package/dist/standalone/.next/server/chunks/2499.js +1 -0
- package/dist/standalone/.next/server/chunks/2555.js +1 -1
- package/dist/standalone/.next/server/chunks/2589.js +127 -0
- package/dist/standalone/.next/server/chunks/261.js +1 -0
- package/dist/standalone/.next/server/chunks/2744.js +1 -1
- package/dist/standalone/.next/server/chunks/286.js +2 -2
- package/dist/standalone/.next/server/chunks/2914.js +20 -21
- package/dist/standalone/.next/server/chunks/2916.js +1 -0
- package/dist/standalone/.next/server/chunks/3086.js +1 -1
- package/dist/standalone/.next/server/chunks/3407.js +1 -1
- package/dist/standalone/.next/server/chunks/3509.js +1 -0
- package/dist/standalone/.next/server/chunks/3570.js +1 -1
- package/dist/standalone/.next/server/chunks/3696.js +5 -0
- package/dist/standalone/.next/server/chunks/3743.js +9 -9
- package/dist/standalone/.next/server/chunks/3784.js +5 -0
- package/dist/standalone/.next/server/chunks/3830.js +1 -1
- package/dist/standalone/.next/server/chunks/3957.js +1 -0
- package/dist/standalone/.next/server/chunks/4037.js +1 -1
- package/dist/standalone/.next/server/chunks/4651.js +1 -1
- package/dist/standalone/.next/server/chunks/4972.js +38 -16
- package/dist/standalone/.next/server/chunks/53.js +1 -0
- package/dist/standalone/.next/server/chunks/5408.js +1 -1
- package/dist/standalone/.next/server/chunks/5465.js +156 -0
- package/dist/standalone/.next/server/chunks/5545.js +1 -1
- package/dist/standalone/.next/server/chunks/568.js +1 -1
- package/dist/standalone/.next/server/chunks/6023.js +1 -1
- package/dist/standalone/.next/server/chunks/6211.js +1 -0
- package/dist/standalone/.next/server/chunks/6289.js +1 -2
- package/dist/standalone/.next/server/chunks/6418.js +1 -0
- package/dist/standalone/.next/server/chunks/6453.js +1 -1
- package/dist/standalone/.next/server/chunks/6522.js +1 -1
- package/dist/standalone/.next/server/chunks/6796.js +1 -1
- package/dist/standalone/.next/server/chunks/6826.js +3 -3
- package/dist/standalone/.next/server/chunks/6942.js +3 -3
- package/dist/standalone/.next/server/chunks/6978.js +1 -1
- package/dist/standalone/.next/server/chunks/7008.js +21 -19
- package/dist/standalone/.next/server/chunks/7192.js +1 -1
- package/dist/standalone/.next/server/chunks/7238.js +2 -2
- package/dist/standalone/.next/server/chunks/7294.js +1 -0
- package/dist/standalone/.next/server/chunks/7722.js +1 -1
- package/dist/standalone/.next/server/chunks/781.js +17 -17
- package/dist/standalone/.next/server/chunks/8027.js +1 -1
- package/dist/standalone/.next/server/chunks/8330.js +1 -0
- package/dist/standalone/.next/server/chunks/8444.js +1 -1
- package/dist/standalone/.next/server/chunks/8512.js +1 -1
- package/dist/standalone/.next/server/chunks/8513.js +2 -2
- package/dist/standalone/.next/server/chunks/8617.js +1 -1
- package/dist/standalone/.next/server/chunks/8817.js +2 -2
- package/dist/standalone/.next/server/chunks/8966.js +1 -1
- package/dist/standalone/.next/server/chunks/8985.js +1 -1
- package/dist/standalone/.next/server/chunks/8996.js +1 -1
- package/dist/standalone/.next/server/chunks/9006.js +1 -0
- package/dist/standalone/.next/server/chunks/9060.js +4 -0
- package/dist/standalone/.next/server/chunks/9296.js +20 -21
- package/dist/standalone/.next/server/chunks/9298.js +1 -2
- package/dist/standalone/.next/server/chunks/9307.js +1 -1
- package/dist/standalone/.next/server/chunks/9360.js +12 -12
- package/dist/standalone/.next/server/chunks/9517.js +1 -1
- package/dist/standalone/.next/server/chunks/9611.js +1 -0
- package/dist/standalone/.next/server/chunks/9822.js +1 -1
- package/dist/standalone/.next/server/chunks/9839.js +5 -0
- package/dist/standalone/.next/server/chunks/9867.js +1 -0
- package/dist/standalone/.next/server/chunks/9940.js +37 -15
- package/dist/standalone/.next/server/chunks/9998.js +1 -1
- package/dist/standalone/.next/server/file-scanner-worker.js +1 -1
- package/dist/standalone/.next/server/files-response-worker.js +2 -2
- package/dist/standalone/.next/server/functions-config-manifest.json +2 -0
- package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/standalone/.next/server/middleware.js +3 -3
- package/dist/standalone/.next/server/pages/404.html +1 -1
- package/dist/standalone/.next/server/pages/500.html +1 -1
- package/dist/standalone/.next/server/resource-collector-worker.js +1 -1
- package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
- package/dist/standalone/.next/server/state-backup-worker.js +3 -0
- package/dist/standalone/.next/server/wakatime-sync-worker.js +1 -1
- package/dist/standalone/.next/static/chunks/9591-0fd6a5a4172de16d.js +1 -0
- package/dist/standalone/.next/static/chunks/app/_global-error/page-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/access/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/cli/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/answer/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/board/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/files/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/image/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/onboarding/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/proc/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/push/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/resources/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/roles/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/staging/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/page-a2e19d755e17b569.js +125 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/css/9b32c3f7f468cbcc.css +1 -0
- package/dist/standalone/.next/static/fQ2a5S10vvpyAqE0L_wUj/_buildManifest.js +1 -0
- package/dist/standalone/package.json +1 -1
- package/dist/standalone/server.bun.js +1 -1
- package/dist/standalone/src/lib/viewerInstrumentation.ts +44 -1
- package/package.json +1 -1
- package/dist/standalone/.next/server/chunks/1888.js +0 -1
- package/dist/standalone/.next/server/chunks/4127.js +0 -1
- package/dist/standalone/.next/server/chunks/606.js +0 -126
- package/dist/standalone/.next/static/836HTp-5V8cZC5YWFVOCk/_buildManifest.js +0 -1
- package/dist/standalone/.next/static/chunks/7333-cf17cea2a91e7b4b.js +0 -1
- package/dist/standalone/.next/static/chunks/app/_global-error/page-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/access/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/answer/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/board/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/files/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/image/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/proc/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/push/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/resources/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/roles/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/staging/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/page-1cde2db61f461960.js +0 -125
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/css/b25c03e915fd256b.css +0 -1
- /package/dist/standalone/.next/static/{836HTp-5V8cZC5YWFVOCk → fQ2a5S10vvpyAqE0L_wUj}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";exports.id=8966,exports.ids=[8966],exports.modules={63006:(a,b,c)=>{c.d(b,{Pb:()=>s,TK:()=>r,vt:()=>p});var d=c(31421),e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(48161),j=c.n(i),k=c(76760),l=c.n(k);let m={platform:process.platform,security:(a,b)=>{let c=(0,d.spawnSync)("/usr/bin/security",a,{input:b,encoding:"utf8",timeout:2e3,maxBuffer:1048576,stdio:[void 0===b?"ignore":"pipe","pipe","pipe"]});return{status:c.error?null:c.status,stdout:c.stdout??""}}};function n(a){let b=process.env.CLAUDE_CODE_CUSTOM_OAUTH_URL?"-custom-oauth":"",c=f().createHash("sha256").update(a.normalize("NFC")).digest("hex").slice(0,8);return`Claude Code${b}-credentials-${c}`}function o(){let a;try{a=process.env.USER||j().userInfo().username}catch{a="claude-code-user"}return/^[a-zA-Z0-9._-]+$/.test(a)?a:"claude-code-user"}function p(a){try{let b=h().lstatSync(l().join(a,".credentials.json"));return b.isFile()&&!b.isSymbolicLink()&&b.uid===(process.getuid?.()??b.uid)&&(63&b.mode)==0?"safe":"unsafe"}catch(a){return"ENOENT"===a.code?"absent":"unknown"}}function q(a,b){try{let c=JSON.parse(a);if(!c||"object"!=typeof c||Array.isArray(c)||"keychain"===b&&("string"!=typeof c.claudeAiOauth?.accessToken||!c.claudeAiOauth.accessToken))return{state:"unknown"};return{state:"present",source:b,document:c}}catch{return{state:"unknown"}}}function r(a,b=m){let c,d=p(a);if("unsafe"===d||"unknown"===d)return{state:d};if("darwin"===b.platform){let c=b.security(["find-generic-password","-a",o(),"-w","-s",n(a)]);if(0===c.status)return q(c.stdout.trim(),"keychain");if(44!==c.status)return{state:"unknown"}}if("absent"===d)return{state:"absent"};try{c=h().openSync(l().join(a,".credentials.json"),h().constants.O_RDONLY|h().constants.O_NOFOLLOW);let b=h().fstatSync(c);if(!b.isFile()||b.uid!==(process.getuid?.()??b.uid)||(63&b.mode)!=0)return{state:"unsafe"};return q(h().readFileSync(c,"utf8"),"file")}catch{return{state:"unknown"}}finally{void 0!==c&&h().closeSync(c)}}function s(a,b,c,d=m){let e=r(a,d);if("present"!==e.state||e.source!==b.source||JSON.stringify(e.document)!==JSON.stringify(b.document))return!1;let g=JSON.stringify(c);if("keychain"===b.source){let b=`add-generic-password -U -a "${o()}" -s "${n(a)}" -X "${Buffer.from(g).toString("hex")}"
|
|
2
2
|
`;if(Buffer.byteLength(b)>4032||0!==d.security(["-i"],b).status)return!1;let c=r(a,d);return"present"===c.state&&"keychain"===c.source&&JSON.stringify(c.document)===g}let i=l().join(a,".credentials.json"),j=l().join(a,`.credentials.${f().randomUUID()}.tmp`);try{let b=h().openSync(j,"wx",384);try{h().writeFileSync(b,g),h().fsyncSync(b)}finally{h().closeSync(b)}if("safe"!==p(a))return!1;h().renameSync(j,i);let c=h().openSync(a,"r");try{h().fsyncSync(c)}finally{h().closeSync(c)}return!0}catch{return!1}finally{h().rmSync(j,{force:!0})}}},78966:(a,b,c)=>{c.d(b,{F$:()=>af,Fn:()=>P,Hy:()=>y,No:()=>Q,OG:()=>X,OL:()=>w,UV:()=>u,Xx:()=>v,ZK:()=>Y,fM:()=>Z,fg:()=>aj,k8:()=>ag,kK:()=>R,o1:()=>C,o3:()=>x,ob:()=>S,pW:()=>U,qX:()=>V,ss:()=>T,x0:()=>ai,y3:()=>W});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(63006),l=c(92806),m=c(22962),n=c(81334);let o=/^[a-z0-9][a-z0-9-]{0,31}$/,p="default",q=["skills","commands","agents"],r=["settings.json"],s=new Set([".credentials.json",".claude.json","projects","history.jsonl","session-env","shell-snapshots","file-history","todos","cache","debug","backups","paste-cache","plugins","mcp.json","settings.local.json"]),t=null;class u extends Error{constructor(a){super(`unknown Claude account: ${a}`),this.name="UnknownClaudeAccountError"}}class v extends Error{constructor(){super("account label must contain visible text and be at most 80 characters"),this.name="InvalidClaudeAccountLabelError"}}class w extends Error{constructor(){super("Claude account registry is corrupt; repair or remove it before changing accounts"),this.name="CorruptClaudeAccountsError"}}class x extends Error{constructor(){super("managed Claude home failed safety checks"),this.name="UnsafeClaudeHomeError"}}function y(){return i().resolve(process.env.LLV_CLAUDE_HOME||i().join(g().homedir(),".claude"))}function z(){return i().join(i().dirname((0,j.Pn)()),"accounts","claude")}function A(){return(0,j.BQ)("claude-accounts.json")}function B(){return i().join(i().dirname((0,j.Pn)()),"shared","claude")}function C(){return i().join(B(),"projects")}function D(a){let b=i().join(a,"projects");try{if(!e().lstatSync(b).isSymbolicLink())return b;let a=C();if(e().realpathSync(b)===e().realpathSync(a))return a}catch{}return b}function E(a){return i().join(z(),a)}function F(){return{version:1,active:p,accounts:[],retired:[],removals:[]}}function G(a,b=!1){if(!o.test(a)||a===p)return!1;let c=i().resolve(z()),d=i().resolve(E(a));if(i().dirname(d)!==c)return!1;try{var f;let a=e().lstatSync(c),b=e().lstatSync(d);if(!a.isDirectory()||a.isSymbolicLink()||!b.isDirectory()||b.isSymbolicLink()||(f=b.mode,(63&f)!=0||(511&f)!=448))return!1;return i().dirname(e().realpathSync(d))===e().realpathSync(c)}catch{return!b}}function H(){let a,b=A(),c=`${b}:${function(a){try{let b=e().statSync(a);return`${b.mtimeMs}:${b.size}`}catch{return"missing"}}(b)}`;if(t?.key===c)return t.loaded;try{a=e().existsSync(b)?function(a){if(!a||"object"!=typeof a||1!==a.version||"string"!=typeof a.active||!Array.isArray(a.accounts)||void 0!==a.retired&&!Array.isArray(a.retired))return{registry:F(),corrupt:!0};let b=new Set,c=!1,d=[];for(let e of a.accounts){if(!(e&&"object"==typeof e&&"string"==typeof e.id&&"string"==typeof e.label&&"managed"===e.kind&&"number"==typeof e.createdAt&&G(e.id))||b.has(e.id)){c=!0;continue}b.add(e.id),d.push(e)}let e=[];for(let d of a.retired??[]){if(!(d&&"object"==typeof d&&"string"==typeof d.id&&"string"==typeof d.label&&"number"==typeof d.retiredAt&&(void 0===d.archived||!0===d.archived)&&G(d.id))||b.has(d.id)){c=!0;continue}b.add(d.id),e.push(d)}let f=(0,n.yK)(a.removals,a=>o.test(a)&&a!==p);return f?{registry:{version:1,active:a.active,accounts:d,retired:e,removals:f},corrupt:c}:{registry:F(),corrupt:!0}}(JSON.parse(e().readFileSync(b,"utf8"))):{registry:F(),corrupt:!1}}catch{a={registry:F(),corrupt:!0}}return t={key:c,loaded:a},a}function I(){let a=H();if(a.corrupt)throw new w;return a.registry}function J(){return`${A()}.lock`}function K(a){try{let b=Number.parseInt(e().readFileSync(a,"utf8"),10);if(!Number.isSafeInteger(b)||b<=0||b===process.pid)return!1;return process.kill(b,0),!1}catch(a){return"ESRCH"===a.code}}function L(a){return(0,m.oV)(()=>{let b=J(),c=Date.now();for(e().mkdirSync(i().dirname(b),{recursive:!0,mode:448});;)try{let c=e().openSync(b,"wx",384);try{return e().writeFileSync(c,`${process.pid}
|
|
3
|
-
`,"utf8"),a()}finally{e().closeSync(c),e().rmSync(b,{force:!0})}}catch(a){if("EEXIST"!==a.code)throw a;try{if(K(b)||Date.now()-e().statSync(b).mtimeMs>3e4){e().rmSync(b,{force:!0});continue}}catch{continue}if(Date.now()-c>=5e3)throw Error("Claude account registry is busy; retry shortly");Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,10)}})}function M(a){let b=A();e().mkdirSync(i().dirname(b),{recursive:!0,mode:448});let c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${Date.now()}.tmp`);try{e().writeFileSync(c,JSON.stringify(a,null,2)+"\n",{mode:384});let d=e().openSync(c,"r");try{e().fsyncSync(d)}finally{e().closeSync(d)}e().renameSync(c,b);let f=e().openSync(i().dirname(b),"r");try{e().fsyncSync(f)}finally{e().closeSync(f)}t=null}finally{e().rmSync(c,{force:!0})}}function N(a){let b=(0,k.TK)(a);return{authPresent:"present"===b.state,credentialState:b.state}}function O(a){let b=E(a.id);return{...a,home:b,projectsDir:D(b),...N(b)}}function P(){let a;return!function(){if(ae)return;let a=H();if(a.corrupt||0===a.registry.removals.length){ae=!0;return}if(!e().existsSync(J())||K(J()))try{L(()=>ad()),ae=!0}catch{}}(),[{id:p,label:"Main",kind:"legacy",home:a=y(),projectsDir:D(a),...N(a),createdAt:0},...H().registry.accounts.map(O)]}function Q(){let a=H().registry.active;return P().some(b=>b.id===a)?a:p}function R(){return H().corrupt}function S(a){let b=P().find(b=>b.id===(a??Q()));if(!b)throw new u(a??"");if("managed"===b.kind&&(!G(b.id,!0)||!function(a,b=!1){let c=(0,k.vt)(a);return"safe"===c||!b&&"absent"===c}(b.home)))throw new x;return{id:b.id,kind:b.kind,home:b.home,projectsDir:b.projectsDir}}function T(a){L(()=>{t=null;let b=I();if(!P().some(b=>b.id===a))throw new u(a);M({...b,active:a})})}function U(){return[...new Set([...P().map(a=>a.projectsDir),...H().registry.retired.map(a=>D(a.archived?(0,n.Zi)("claude",a.id):E(a.id)))])]}function V(a,b){let c;try{c=e().realpathSync(a)}catch{return{kind:"unreadable"}}let d=P(),f=null;try{f=e().realpathSync(C())}catch{}for(let a of d)try{let b=e().realpathSync(a.projectsDir);if(null!==f&&b===f)continue;if(c.startsWith(b+i().sep))return{kind:"owned",accountId:a.id,home:a.home,source:"path"}}catch{}let g=b?d.find(a=>a.id===b):void 0;if(g)return{kind:"owned",accountId:g.id,home:g.home,source:"recorded"};if(null!==f&&c.startsWith(f+i().sep)){let a=Q(),b=d.find(b=>b.id===a)??d[0];if(b)return{kind:"owned",accountId:b.id,home:b.home,source:"shared-store"}}return{kind:"foreign"}}function W(a){let b=V(a);return"owned"===b.kind&&"path"===b.source?b.home:null}function X(a){let b=C(),c=i().resolve(a);if(c===b||c.startsWith(b+i().sep))return null;for(let a of P().map(a=>a.home)){let d=i().join(a,"projects");if(!c.startsWith(d+i().sep))continue;let f=i().join(b,i().relative(d,c));try{if(e().statSync(f).isFile())return f}catch{}break}return null}function Y(){let a=i().join(B(),"settings.json");return e().existsSync(a)?a:null}function Z(a){let b=a.trim();if(!b||b.length>80||/[\u0000-\u001f\u007f]/.test(b))throw new v;return L(()=>{t=null;let a=I(),c=function(a,b){let c=a.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32)||"account";for(let a=0;;a+=1){let d=a?`-${a}`:"",f=`${c.slice(0,32-d.length)}${d}`;if(o.test(f)&&f!==p&&!b.has(f)&&!e().existsSync(E(f))&&!e().existsSync((0,n.Zi)("claude",f)))return f}}(b,new Set([...P().map(a=>a.id),...a.retired.map(a=>a.id)])),d=E(c),f=!1;if("absent"!==(0,k.TK)(d).state)throw new x;try{e().mkdirSync(i().dirname(d),{recursive:!0,mode:448}),e().chmodSync(i().dirname(d),448),e().mkdirSync(d,{mode:448}),e().chmodSync(d,448),f=!0;let g=function(){let a=B(),b=`${a}.tmp-${process.pid}-${Date.now()}`,c={files:0,bytes:0};e().rmSync(b,{recursive:!0,force:!0}),e().mkdirSync(b,{recursive:!0,mode:448});try{for(let a of[...q,...r]){let d=i().join(y(),a);e().existsSync(d)&&function a(b,c,d){let f=e().lstatSync(b);if(!f.isSymbolicLink()&&(f.isDirectory()||f.isFile())){if(f.isFile()){if(++d.files>2e3||(d.bytes+=f.size)>0x1000000)throw Error("Claude capability snapshot exceeds safety limit");e().mkdirSync(i().dirname(c),{recursive:!0,mode:448}),e().copyFileSync(b,c),e().chmodSync(c,384);return}for(let f of(e().mkdirSync(c,{recursive:!0,mode:448}),e().readdirSync(b,{withFileTypes:!0})))s.has(f.name)||a(i().join(b,f.name),i().join(c,f.name),d)}}(d,i().join(b,a),c)}for(let c of(e().mkdirSync(i().dirname(a),{recursive:!0,mode:448}),e().chmodSync(i().dirname(a),448),e().mkdirSync(a,{recursive:!0,mode:448}),e().chmodSync(a,448),[...q,...r])){let d=i().join(a,c);e().rmSync(d,{recursive:!0,force:!0}),e().existsSync(i().join(b,c))&&e().renameSync(i().join(b,c),d)}return a}finally{e().rmSync(b,{recursive:!0,force:!0})}}();for(let a of q){let b=i().join(g,a);e().existsSync(b)&&e().symlinkSync(b,i().join(d,a))}e().mkdirSync(i().join(d,"projects"),{mode:448});let h={id:c,label:b,kind:"managed",createdAt:Date.now()};return M({...a,accounts:[...a.accounts,h]}),O(h)}catch(a){if(f)try{(0,n.jK)("claude",c,d)||console.warn("[claude accounts] failed-account home cleanup is incomplete")}catch(a){if(console.warn("[claude accounts] preserving failed-account home after history cleanup refusal"),a instanceof n.s4)throw a}throw a}})}let $=[".lock"];function _(a){return(0,n.N5)(z(),a,$).unresolved.length>0}function aa(a,b){let c=[a];try{let b=e().realpathSync(a);b!==a&&c.push(b)}catch{}let d=C(),f=D(a)===d;return c.flatMap(a=>[...f?[{from:i().join(a,"projects"),to:d}]:[],{from:a,to:b}])}function ab(a,b,c){t=null;let d=I();M({...d,removals:(0,n.XU)(d.removals,a,b,c)})}function ac(a,b){let c=a.accounts.find(a=>a.id===b)?.label??b;return{...a,active:a.active===b?p:a.active,accounts:a.accounts.filter(a=>a.id!==b),retired:[...a.retired.filter(a=>a.id!==b),{id:b,label:c,retiredAt:Date.now(),archived:!0}],removals:(0,n.XU)(a.removals,b,"scrubbing")}}function ad(){t=null;let a=I(),b=[],c=[];for(let d of a.removals){if((0,n.nr)("claude",d.id))continue;let e=null;try{e=(0,n.nH)({engine:"claude",accountId:d.id,home:E(d.id),entry:d,listed:a.accounts.some(a=>a.id===d.id),commitRetired:()=>{t=null,M(ac(I(),d.id))},clearJournal:()=>ab(d.id,null)})}catch{}"retired"===e&&_(d.id),(e?b:c).push(d.id)}return{recovered:b,unresolved:c}}let ae=!1;function af(a){return L(()=>{ad(),t=null;let b=I();if(!b.accounts.find(b=>b.id===a))throw new u(a);let c={...b,removals:(0,n.XU)(b.removals,a,null)},d=(0,n.ne)({engine:"claude",accountId:a,home:E(a),homeIsSafe:()=>G(a,!0),unsafeHome:()=>new x,rewrites:aa,registry:{journal:(b,c)=>ab(a,b,c),commitRetired:()=>M(ac(c,a)),restore:()=>M(c)}});return{...d,cleanupPending:_(a)||d.cleanupPending}})}function ag(){return L(()=>{let a
|
|
3
|
+
`,"utf8"),a()}finally{e().closeSync(c),e().rmSync(b,{force:!0})}}catch(a){if("EEXIST"!==a.code)throw a;try{if(K(b)||Date.now()-e().statSync(b).mtimeMs>3e4){e().rmSync(b,{force:!0});continue}}catch{continue}if(Date.now()-c>=5e3)throw Error("Claude account registry is busy; retry shortly");Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,10)}})}function M(a){let b=A();e().mkdirSync(i().dirname(b),{recursive:!0,mode:448});let c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${Date.now()}.tmp`);try{e().writeFileSync(c,JSON.stringify(a,null,2)+"\n",{mode:384});let d=e().openSync(c,"r");try{e().fsyncSync(d)}finally{e().closeSync(d)}e().renameSync(c,b);let f=e().openSync(i().dirname(b),"r");try{e().fsyncSync(f)}finally{e().closeSync(f)}t=null}finally{e().rmSync(c,{force:!0})}}function N(a){let b=(0,k.TK)(a);return{authPresent:"present"===b.state,credentialState:b.state}}function O(a){let b=E(a.id);return{...a,home:b,projectsDir:D(b),...N(b)}}function P(){let a;return!function(){if(ae)return;let a=H();if(a.corrupt||0===a.registry.removals.length){ae=!0;return}if(!e().existsSync(J())||K(J()))try{L(()=>ad()),ae=!0}catch{}}(),[{id:p,label:"Main",kind:"legacy",home:a=y(),projectsDir:D(a),...N(a),createdAt:0},...H().registry.accounts.map(O)]}function Q(){let a=H().registry.active;return P().some(b=>b.id===a)?a:p}function R(){return H().corrupt}function S(a){let b=P().find(b=>b.id===(a??Q()));if(!b)throw new u(a??"");if("managed"===b.kind&&(!G(b.id,!0)||!function(a,b=!1){let c=(0,k.vt)(a);return"safe"===c||!b&&"absent"===c}(b.home)))throw new x;return{id:b.id,kind:b.kind,home:b.home,projectsDir:b.projectsDir}}function T(a){L(()=>{t=null;let b=I();if(!P().some(b=>b.id===a))throw new u(a);M({...b,active:a})})}function U(){return[...new Set([...P().map(a=>a.projectsDir),...H().registry.retired.map(a=>D(a.archived?(0,n.Zi)("claude",a.id):E(a.id)))])]}function V(a,b){let c;try{c=e().realpathSync(a)}catch{return{kind:"unreadable"}}let d=P(),f=null;try{f=e().realpathSync(C())}catch{}for(let a of d)try{let b=e().realpathSync(a.projectsDir);if(null!==f&&b===f)continue;if(c.startsWith(b+i().sep))return{kind:"owned",accountId:a.id,home:a.home,source:"path"}}catch{}let g=b?d.find(a=>a.id===b):void 0;if(g)return{kind:"owned",accountId:g.id,home:g.home,source:"recorded"};if(null!==f&&c.startsWith(f+i().sep)){let a=Q(),b=d.find(b=>b.id===a)??d[0];if(b)return{kind:"owned",accountId:b.id,home:b.home,source:"shared-store"}}return{kind:"foreign"}}function W(a){let b=V(a);return"owned"===b.kind&&"path"===b.source?b.home:null}function X(a){let b=C(),c=i().resolve(a);if(c===b||c.startsWith(b+i().sep))return null;for(let a of P().map(a=>a.home)){let d=i().join(a,"projects");if(!c.startsWith(d+i().sep))continue;let f=i().join(b,i().relative(d,c));try{if(e().statSync(f).isFile())return f}catch{}break}return null}function Y(){let a=i().join(B(),"settings.json");return e().existsSync(a)?a:null}function Z(a){let b=a.trim();if(!b||b.length>80||/[\u0000-\u001f\u007f]/.test(b))throw new v;return L(()=>{t=null;let a=I(),c=function(a,b){let c=a.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32)||"account";for(let a=0;;a+=1){let d=a?`-${a}`:"",f=`${c.slice(0,32-d.length)}${d}`;if(o.test(f)&&f!==p&&!b.has(f)&&!e().existsSync(E(f))&&!e().existsSync((0,n.Zi)("claude",f)))return f}}(b,new Set([...P().map(a=>a.id),...a.retired.map(a=>a.id)])),d=E(c),f=!1;if("absent"!==(0,k.TK)(d).state)throw new x;try{e().mkdirSync(i().dirname(d),{recursive:!0,mode:448}),e().chmodSync(i().dirname(d),448),e().mkdirSync(d,{mode:448}),e().chmodSync(d,448),f=!0;let g=function(){let a=B(),b=`${a}.tmp-${process.pid}-${Date.now()}`,c={files:0,bytes:0};e().rmSync(b,{recursive:!0,force:!0}),e().mkdirSync(b,{recursive:!0,mode:448});try{for(let a of[...q,...r]){let d=i().join(y(),a);e().existsSync(d)&&function a(b,c,d){let f=e().lstatSync(b);if(!f.isSymbolicLink()&&(f.isDirectory()||f.isFile())){if(f.isFile()){if(++d.files>2e3||(d.bytes+=f.size)>0x1000000)throw Error("Claude capability snapshot exceeds safety limit");e().mkdirSync(i().dirname(c),{recursive:!0,mode:448}),e().copyFileSync(b,c),e().chmodSync(c,384);return}for(let f of(e().mkdirSync(c,{recursive:!0,mode:448}),e().readdirSync(b,{withFileTypes:!0})))s.has(f.name)||a(i().join(b,f.name),i().join(c,f.name),d)}}(d,i().join(b,a),c)}for(let c of(e().mkdirSync(i().dirname(a),{recursive:!0,mode:448}),e().chmodSync(i().dirname(a),448),e().mkdirSync(a,{recursive:!0,mode:448}),e().chmodSync(a,448),[...q,...r])){let d=i().join(a,c);e().rmSync(d,{recursive:!0,force:!0}),e().existsSync(i().join(b,c))&&e().renameSync(i().join(b,c),d)}return a}finally{e().rmSync(b,{recursive:!0,force:!0})}}();for(let a of q){let b=i().join(g,a);e().existsSync(b)&&e().symlinkSync(b,i().join(d,a))}e().mkdirSync(i().join(d,"projects"),{mode:448});let h={id:c,label:b,kind:"managed",createdAt:Date.now()};return M({...a,accounts:[...a.accounts,h]}),O(h)}catch(a){if(f)try{(0,n.jK)("claude",c,d)||console.warn("[claude accounts] failed-account home cleanup is incomplete")}catch(a){if(console.warn("[claude accounts] preserving failed-account home after history cleanup refusal"),a instanceof n.s4)throw a}throw a}})}let $=[".lock"];function _(a){return(0,n.N5)(z(),a,$).unresolved.length>0}function aa(a,b){let c=[a];try{let b=e().realpathSync(a);b!==a&&c.push(b)}catch{}let d=C(),f=D(a)===d;return c.flatMap(a=>[...f?[{from:i().join(a,"projects"),to:d}]:[],{from:a,to:b}])}function ab(a,b,c){t=null;let d=I();M({...d,removals:(0,n.XU)(d.removals,a,b,c)})}function ac(a,b){let c=a.accounts.find(a=>a.id===b)?.label??b;return{...a,active:a.active===b?p:a.active,accounts:a.accounts.filter(a=>a.id!==b),retired:[...a.retired.filter(a=>a.id!==b),{id:b,label:c,retiredAt:Date.now(),archived:!0}],removals:(0,n.XU)(a.removals,b,"scrubbing")}}function ad(){t=null;let a=I(),b=[],c=[];for(let d of a.removals){if((0,n.nr)("claude",d.id))continue;let e=null;try{e=(0,n.nH)({engine:"claude",accountId:d.id,home:E(d.id),entry:d,listed:a.accounts.some(a=>a.id===d.id),commitRetired:()=>{t=null,M(ac(I(),d.id))},clearJournal:()=>ab(d.id,null)})}catch{}"retired"===e&&_(d.id),(e?b:c).push(d.id)}return{recovered:b,unresolved:c}}let ae=!1;function af(a){return L(()=>{ad(),t=null;let b=I();if(!b.accounts.find(b=>b.id===a))throw new u(a);let c={...b,removals:(0,n.XU)(b.removals,a,null)},d=(0,n.ne)({engine:"claude",accountId:a,home:E(a),homeIsSafe:()=>G(a,!0),unsafeHome:()=>new x,rewrites:aa,registry:{journal:(b,c)=>ab(a,b,c),commitRetired:()=>M(ac(c,a)),restore:()=>M(c)}});return{...d,cleanupPending:_(a)||d.cleanupPending}})}function ag(){return L(()=>{let a,b=ad();t=null;let c=I(),d=new Set(c.accounts.map(a=>a.id)),f=new Set(c.retired.map(a=>a.id));try{a=e().readdirSync(z(),{withFileTypes:!0})}catch(a){if("ENOENT"===a.code)return{removed:[],unresolved:[...b.unresolved].sort()};throw a}let g=[],h=[...b.unresolved],j={},k=a=>{let b=(0,n.N5)(z(),a,$);for(let a of b.removed)g.includes(a)||h.includes(a)||g.push(a);for(let a of b.unresolved){let b=g.indexOf(a);b>=0&&g.splice(b,1),h.includes(a)||h.push(a)}};for(let b of a){let a;if(b.name.endsWith(".lock")){let a=b.name.slice(0,-5);if(!o.test(a)||a===p){h.push(b.name);continue}if(d.has(a))continue;if((0,n.Du)("claude",a).length>0){h.push(b.name);continue}k(a);continue}if(!d.has(b.name)){if((0,n.Du)("claude",b.name).length>0||!b.isDirectory()||!G(b.name,!0)){h.push(b.name);continue}try{a=(0,n.Ck)("claude",b.name,E(b.name))}catch(a){a instanceof n.s4&&(j[b.name]=a.report),h.push(b.name);continue}if(f.has(b.name)){if(!a.artifacts.some(a=>a.history)){try{(0,n.jK)("claude",b.name,E(b.name))?g.push(b.name):h.push(b.name)}catch(a){a instanceof n.s4&&(j[b.name]=a.report),h.push(b.name)}continue}if(!a.artifacts.filter(a=>a.history).every(a=>a.path.startsWith(`projects${i().sep}`))){j[b.name]=a,h.push(b.name);continue}try{let a=(0,n.F1)("claude",b.name,E(b.name),"projects");a.complete?a.changed&&g.push(b.name):h.push(b.name)}catch(a){a instanceof n.s4&&(j[b.name]=a.report),h.push(b.name)}continue}if(a.artifacts.some(a=>a.history)){j[b.name]=a,h.push(b.name);continue}try{(0,n.jK)("claude",b.name,E(b.name))?g.push(b.name):h.push(b.name)}catch(a){a instanceof n.s4&&(j[b.name]=a.report),h.push(b.name)}}}for(let a of e().readdirSync(z(),{withFileTypes:!0})){if(!a.name.endsWith(".lock"))continue;let b=a.name.slice(0,-5);if(!o.test(b)||b===p){h.includes(a.name)||h.push(a.name);continue}d.has(b)||0!==(0,n.Du)("claude",b).length?d.has(b)||h.includes(a.name)||h.push(a.name):k(b)}return{removed:g.sort(),unresolved:h.sort(),...Object.keys(j).length>0?{history:j}:{}}})}let ah=["CLAUDE_SECURESTORAGE_CONFIG_DIR","ANTHROPIC_API_KEY","ANTHROPIC_AUTH_TOKEN","CLAUDE_CODE_OAUTH_TOKEN","ANTHROPIC_BASE_URL","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","GOOGLE_APPLICATION_CREDENTIALS","VERTEXAI_PROJECT","CLAUDE_CODE_USE_BEDROCK","CLAUDE_CODE_USE_VERTEX"];function ai(a,b=process.env){let c={...(0,l.Fd)(b),CLAUDE_CONFIG_DIR:a};for(let a of ah)delete c[a];return c}function aj(a){return P().some(b=>"managed"===b.kind&&b.home===a&&G(b.id,!0))}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=8985,exports.ids=[8985],exports.modules={17481:(a,b,c)=>{c.d(b,{R:()=>h});var d=c(48161),e=c.n(d),f=c(76760),g=c.n(f);function h(a=process.env,b=process.platform,c=e().homedir){if("win32"===b){var d;let b=a.USERPROFILE?.trim();return g().win32.resolve(b&&(d=b,/^[A-Za-z]:[\\/]/.test(d)||/^\\\\[^\\]/.test(d))?b:c())}return g().posix.resolve(a.HOME?.trim()||c())}},64321:(a,b,c)=>{c.d(b,{Ls:()=>r,UV:()=>s,ps:()=>p});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(69798),l=c(27832);let m=null;function n(){return(0,j.BQ)("project-curation.json")}function o(){let a,b=n();try{a=g().statSync(b)}catch{return(m={file:b,mtimeMs:-1,size:-1,snapshot:{crowned:[],manualProjects:[]}}).snapshot}if(m&&m.file===b&&m.mtimeMs===a.mtimeMs&&m.size===a.size)return m.snapshot;try{var c;let d=JSON.parse(g().readFileSync(b,"utf8")),e=1===d.schemaVersion?(c=d.crowned,Array.isArray(c)&&c.every(a=>"string"==typeof a&&!!a.trim())?[...new Set(c)]:null):null,f=1===d.schemaVersion?function(a){if(!Array.isArray(a))return null;let b=[];for(let c of a){if(!c||"object"!=typeof c||Array.isArray(c)||"string"!=typeof c.project||!c.project.trim()||"string"!=typeof c.displayName||!c.displayName.trim()||"string"!=typeof c.root||!c.root.trim()||"number"!=typeof c.createdAt||!Number.isFinite(c.createdAt))return null;b.push({project:c.project,displayName:c.displayName,root:c.root,createdAt:c.createdAt})}return b}(d.manualProjects):null,h=e&&f?{crowned:e,manualProjects:f}:{crowned:[],manualProjects:[]};return m={file:b,mtimeMs:a.mtimeMs,size:a.size,snapshot:h},h}catch{let c={crowned:[],manualProjects:[]};return m={file:b,mtimeMs:a.mtimeMs,size:a.size,snapshot:c},c}}function p(){let a=o();return{crowned:[...a.crowned],manualProjects:a.manualProjects.map(a=>({...a}))}}function q(a){let b=n(),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`);try{return g().mkdirSync(i().dirname(b),{recursive:!0,mode:448}),g().writeFileSync(c,JSON.stringify({schemaVersion:1,...a},null,2)+"\n",{encoding:"utf8",mode:384}),g().renameSync(c,b),m=null,o(),!0}catch{try{g().rmSync(c,{force:!0})}catch{}return!1}}function r(a,b){let c=a.trim();if(!c)return!1;let d=o();return d.crowned.includes(c)===b||q({crowned:b?[...d.crowned,c]:d.crowned.filter(a=>a!==c),manualProjects:d.manualProjects})}function s(a,b,c=new Set,d={}){let e=a.trim();if(!e||e.length>80)return{ok:!1,code:"INVALID_NAME",message:"project name must be 1-80 characters"};let f=b.trim();if(!f)return{ok:!1,code:"INVALID_ROOT",message:"root must be a directory path"};if(!i().isAbsolute(f))return{ok:!1,code:"RELATIVE_ROOT",message:"root must be an absolute directory path"};let h=(0,k.Bj)(f,d.allowedRoots);if(!h)return{ok:!1,code:"OUTSIDE_ROOTS",message:"root is outside the known project directories"};let j=null;try{j=g().statSync(h)}catch{if(!d.createMissingRoot)return{ok:!1,code:"MISSING_DIRECTORY",message:"directory does not exist"};try{g().mkdirSync(h,{recursive:!0})}catch(a){return{ok:!1,code:"MKDIR_FAILED",message:a instanceof Error?a.message:String(a)}}}if(j&&!j.isDirectory())return{ok:!1,code:"INVALID_ROOT",message:"path does not point at a directory"};let m=(0,l.
|
|
1
|
+
"use strict";exports.id=8985,exports.ids=[8985],exports.modules={17481:(a,b,c)=>{c.d(b,{R:()=>h});var d=c(48161),e=c.n(d),f=c(76760),g=c.n(f);function h(a=process.env,b=process.platform,c=e().homedir){if("win32"===b){var d;let b=a.USERPROFILE?.trim();return g().win32.resolve(b&&(d=b,/^[A-Za-z]:[\\/]/.test(d)||/^\\\\[^\\]/.test(d))?b:c())}return g().posix.resolve(a.HOME?.trim()||c())}},64321:(a,b,c)=>{c.d(b,{Ls:()=>r,UV:()=>s,ps:()=>p});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(69798),l=c(27832);let m=null;function n(){return(0,j.BQ)("project-curation.json")}function o(){let a,b=n();try{a=g().statSync(b)}catch{return(m={file:b,mtimeMs:-1,size:-1,snapshot:{crowned:[],manualProjects:[]}}).snapshot}if(m&&m.file===b&&m.mtimeMs===a.mtimeMs&&m.size===a.size)return m.snapshot;try{var c;let d=JSON.parse(g().readFileSync(b,"utf8")),e=1===d.schemaVersion?(c=d.crowned,Array.isArray(c)&&c.every(a=>"string"==typeof a&&!!a.trim())?[...new Set(c)]:null):null,f=1===d.schemaVersion?function(a){if(!Array.isArray(a))return null;let b=[];for(let c of a){if(!c||"object"!=typeof c||Array.isArray(c)||"string"!=typeof c.project||!c.project.trim()||"string"!=typeof c.displayName||!c.displayName.trim()||"string"!=typeof c.root||!c.root.trim()||"number"!=typeof c.createdAt||!Number.isFinite(c.createdAt))return null;b.push({project:c.project,displayName:c.displayName,root:c.root,createdAt:c.createdAt})}return b}(d.manualProjects):null,h=e&&f?{crowned:e,manualProjects:f}:{crowned:[],manualProjects:[]};return m={file:b,mtimeMs:a.mtimeMs,size:a.size,snapshot:h},h}catch{let c={crowned:[],manualProjects:[]};return m={file:b,mtimeMs:a.mtimeMs,size:a.size,snapshot:c},c}}function p(){let a=o();return{crowned:[...a.crowned],manualProjects:a.manualProjects.map(a=>({...a}))}}function q(a){let b=n(),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`);try{return g().mkdirSync(i().dirname(b),{recursive:!0,mode:448}),g().writeFileSync(c,JSON.stringify({schemaVersion:1,...a},null,2)+"\n",{encoding:"utf8",mode:384}),g().renameSync(c,b),m=null,o(),!0}catch{try{g().rmSync(c,{force:!0})}catch{}return!1}}function r(a,b){let c=a.trim();if(!c)return!1;let d=o();return d.crowned.includes(c)===b||q({crowned:b?[...d.crowned,c]:d.crowned.filter(a=>a!==c),manualProjects:d.manualProjects})}function s(a,b,c=new Set,d={}){let e=a.trim();if(!e||e.length>80)return{ok:!1,code:"INVALID_NAME",message:"project name must be 1-80 characters"};let f=b.trim();if(!f)return{ok:!1,code:"INVALID_ROOT",message:"root must be a directory path"};if(!i().isAbsolute(f))return{ok:!1,code:"RELATIVE_ROOT",message:"root must be an absolute directory path"};let h=(0,k.Bj)(f,d.allowedRoots);if(!h)return{ok:!1,code:"OUTSIDE_ROOTS",message:"root is outside the known project directories"};let j=null;try{j=g().statSync(h)}catch{if(!d.createMissingRoot)return{ok:!1,code:"MISSING_DIRECTORY",message:"directory does not exist"};try{g().mkdirSync(h,{recursive:!0})}catch(a){return{ok:!1,code:"MKDIR_FAILED",message:a instanceof Error?a.message:String(a)}}}if(j&&!j.isDirectory())return{ok:!1,code:"INVALID_ROOT",message:"path does not point at a directory"};let m=(0,l.repositoryRootForPath)(h),n=(m?(0,l.projectIdentityFromRepositoryRoot)(m):null)??(0,l.projectIdentityFromDirectory)(h);if(!n)return{ok:!1,code:"INVALID_ROOT",message:"directory does not resolve to a project identity"};let p=o();if(c.has(n.project)||p.manualProjects.some(a=>a.project===n.project))return{ok:!1,code:"DUPLICATE_PROJECT",message:"a project with this identity already exists"};let r={project:n.project,displayName:e,root:m??h,createdAt:Math.floor(Date.now()/1e3)};return q({crowned:p.crowned,manualProjects:[...p.manualProjects,r]})?{ok:!0,entry:r}:{ok:!1,code:"STORE_ERROR",message:"could not persist the project"}}},69798:(a,b,c)=>{c.d(b,{Bj:()=>m,n9:()=>i,sl:()=>q});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f);function h(a){let b=a.trim();return b&&g().isAbsolute(b)?g().normalize(b).replace(/(.)\/+$/,"$1"):null}function i(a){let b=[];for(let c of a){let a=h(c);a&&a!==g().parse(a).root&&(b.includes(a)||b.push(a))}return b}function j(a,b){let c=h(a);return!!c&&i(b).some(a=>c===a||c.startsWith(a+g().sep))}function k(a){try{return e().realpathSync.native(a)}catch{return null}}function l(a){let b=i(a);return{written:b,resolved:i(b.map(a=>k(a)??a))}}function m(a,b){if(!g().isAbsolute(a))return null;let c=g().parse(a),d=c.root;for(let b of a.slice(c.root.length).split(g().sep)){if(!b||"."===b)continue;if(".."===b){d=g().dirname(d);continue}let a=g().join(d,b);d=k(a)??a}return b?j(d,l(b).resolved)?d:null:d}function n(a,b,c=""){let d;if(!function(a,b){if(!j(a,b.written))return!1;let c=k(a);return null!==c&&j(c,b.resolved)}(a,b))return[];try{d=e().readdirSync(a,{withFileTypes:!0})}catch{return[]}let f=c.startsWith("."),h=c.toLowerCase(),i=[];for(let c of d){if(i.length>=200)break;(!c.name.startsWith(".")||f)&&(!h||c.name.toLowerCase().startsWith(h))&&function(a,b,c){if(b.isDirectory())return!0;if(!b.isSymbolicLink())return!1;let d=k(a);if(null===d||!j(d,c.resolved))return!1;try{return e().statSync(d).isDirectory()}catch{return!1}}(g().join(a,c.name),c,b)&&i.push(c.name)}return i.sort((a,b)=>a.localeCompare(b)),i.map(b=>g().join(a,b))}function o(a,b){return a.written.map(c=>[...b?[c]:[],...n(c,a)])}function p(a,b){let c=a.map(()=>0),d=0,e=!0;for(;d<b&&e;){e=!1;for(let f=0;f<a.length&&d<b;f+=1)c[f]>=a[f].length||(c[f]+=1,d+=1,e=!0)}return a.flatMap((a,b)=>a.slice(0,c[b]))}function q(a,b,c=40){let d=l(b),e=a.trim();if(g().isAbsolute(e)){let a=e.lastIndexOf("/"),b=h(e.slice(0,a+1)),f=e.slice(a+1);if(b&&j(b,d.written))return n(b,d,f).slice(0,c);let g=e.toLowerCase();return p(o(d,!0).map(a=>a.filter(a=>a.toLowerCase().startsWith(g))),c)}return p(o(d,!1).map(a=>e?a.filter(a=>{let b;return b=a.toLowerCase(),e.trim().toLowerCase().split(/\s+/).filter(Boolean).every(a=>b.includes(a))}):a),c)}},78985:(a,b,c)=>{c.d(b,{w8:()=>k});var d=c(76760),e=c.n(d),f=c(17481),g=c(64321),h=c(69798),i=c(92094);function j(a){let b=e().dirname(a);return b===e().parse(a).root?a:b}function k(){let a=[];for(let b of(0,i.AG)(60))a.push(j(b));for(let b of(0,g.ps)().manualProjects)a.push(j(b.root));return(0,h.n9)([...(0,h.n9)(a).slice(0,7),(0,f.R)()])}},92094:(a,b,c)=>{c.d(b,{AG:()=>q,Qf:()=>s,Xi:()=>r});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(91724),i=c(13117),j=c(52509),k=c(70107);let l=["project-catalog.json","worktree-map.json"],m=(0,j.E)("project-directories-v2");function n(a){try{let b=JSON.parse(e().readFileSync(a,"utf8"));return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}function o(a,b,c){if(!(!a||"object"!=typeof a||Array.isArray(a)))for(let d of b){let b=a[d];"string"==typeof b&&b.trim()&&c.add(b)}}function p(){let a=(0,h.Pn)(),b=function(a){let b=l.map(b=>{let c=g().join(a,b);try{let a=e().statSync(c);return`${b}:${a.dev}:${a.ino}:${a.size}:${a.mtimeMs}:${a.ctimeMs}`}catch{return`${b}:missing`}}),c=g().join(a,"state.sqlite");for(let[d,f]of[["flows","flows.json"],["pipelines","pipelines.json"],["workflows","workflows.json"]]){let h=(0,i.jY)(c,d);if(null!==h)b.push(`${d}:sqlite:${h}`);else{let c=g().join(a,f);try{let a=e().statSync(c);b.push(`${f}:${a.dev}:${a.ino}:${a.size}:${a.mtimeMs}:${a.ctimeMs}`)}catch{b.push(`${f}:missing`)}}}return b.join("|")}(a),c=m.get(a);if(c&&c.expiresAt>Date.now()&&c.stateIdentity===b)return c.directories;let d=[],f=new Set;for(let b of function(a){let b=new Set,c=n(g().join(a,"project-catalog.json"))?.files;if(c&&"object"==typeof c&&!Array.isArray(c))for(let a of Object.values(c))o(a,["cwd","projectRoot"],b);let d=g().join(a,"state.sqlite");for(let[c,e,f]of[["flows.json","flows",["cwd"]],["pipelines.json","pipelines",["repoDir","worktreeDir"]],["workflows.json","workflows",["repoDir","worktreeDir"]]]){let h=(0,i.Vx)(d,e)??n(g().join(a,c))?.[e];if(Array.isArray(h))for(let a of h)o(a,f,b)}let e=n(g().join(a,"worktree-map.json"));if(e)for(let[a,c]of Object.entries(e))b.add(a),o(c,["repo"],b);return[...b]}(a)){try{if(!e().statSync(b).isDirectory())continue}catch{continue}let a=(0,k.hY)(b),c=(0,k.D$)(b)??(a?.startsWith("dir-")?b:void 0),g=a?`${a}\0${b}`:"";!a||!c||f.has(g)||(f.add(g),d.push({cwd:b,project:a,projectRoot:c}))}return m.set(a,{directories:d,expiresAt:Date.now()+1e4,stateIdentity:b}),d}function q(a=40){let b=[];for(let c of p())if(!b.includes(c.projectRoot)&&(b.push(c.projectRoot),b.length>=a))break;return b}function r(a,b=10){return a?p().filter(b=>b.project===a).slice(0,b).map(a=>a.cwd):[]}function s(a){let b=new Set([...a].filter(Boolean)),c={};for(let a of p())b.has(a.project)&&!c[a.project]&&(c[a.project]=a.projectRoot);return c}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=8996,exports.ids=[8996],exports.modules={8960:(a,b,c)=>{c.d(b,{I1:()=>m,L1:()=>n,MJ:()=>p,Om:()=>q,ap:()=>o});var d=c(4837),e=c(9735),f=c(97609),g=c(41085),h=c(30096);function i(a,b,c){return j(a,a.limits?.[b]??null,c)}function j(a,b,c){if(!b)return null;let d=b.observedAt??a.observedAt;return{value:b,observedAt:d,stale:a.stale||null!==d&&c-d>1200,source:b.source??a.source}}function k(a,b,c,d){var e;let g;if(a.value.usedPercent<100)return!1;if(null!==a.value.resetsAt)return a.value.resetsAt>d;if(null===a.observedAt)return!0;let h="number"==typeof a.value.windowMinutes?a.value.windowMinutes:"weekly"===c?f.rX:f.Gn;return!(d-a.observedAt>=60*h)&&(e=a.observedAt,!(g=b?.value)||null===g.resetsAt||"number"!=typeof g.windowMinutes||!(g.resetsAt-60*g.windowMinutes>e))}function l(a,b,c,d){if(!a)return b;if(!b)return a;let e=k(a,b,c,d);return e!==k(b,a,c,d)?e?a:b:null===a.observedAt?null===b.observedAt?a:b:null===b.observedAt?a:b.observedAt>a.observedAt?b:a}function m(a,b,c){let e=l(a?i(a,"session",c):null,b?i(b,"session",c):null,"session",c),f=l(a?i(a,"weekly",c):null,b?i(b,"weekly",c):null,"weekly",c),g=[...new Set([a,b].flatMap(a=>(0,h.dZ)(a?.limits).map(a=>a.tier)))].sort().flatMap(d=>{let e=a=>{let b=(0,h.dZ)(a?.limits).find(a=>a.tier===d)??null;return a&&b?j(a,b,c):null},f=l(e(a),e(b),"weekly",c);return f&&"string"==typeof f.value.tier?[f]:[]}).sort((a,b)=>(0,d.aE)(a.value.tier,a.value.label).localeCompare((0,d.aE)(b.value.tier,b.value.label))),k=[a,b].filter(a=>!!a?.limits?.plan).sort((a,b)=>(b.observedAt??-1/0)-(a.observedAt??-1/0));return{session:e,weekly:f,tiers:g,plan:k[0]?.limits?.plan??null}}function n(a){if(!a.session&&!a.weekly&&!a.tiers.length)return null;let b=[a.session?.observedAt,a.weekly?.observedAt,...a.tiers.map(a=>a.observedAt)].filter(a=>null!=a);return{session:a.session?{...a.session.value,observedAt:a.session.observedAt,source:a.session.source}:null,weekly:a.weekly?{...a.weekly.value,observedAt:a.weekly.observedAt,source:a.weekly.source}:null,tiers:a.tiers.map(a=>({...a.value,observedAt:a.observedAt,source:a.source})),plan:a.plan,capturedAt:b.length?Math.min(...b):null}}function o(a,b){return a.session?.source===b||a.weekly?.source===b||a.tiers.some(a=>a.source===b)}function p(a,b=Date.now(),c){if(!a)return null;let d=Date.parse(a.observedAt),f=Date.parse(a.authCheckedAt),g=(0,e.Wz)({engine:a.engine,accountId:a.accountId,authenticated:a.authenticated,limits:a.limits,provenance:a.provenance,observedAt:d,authCheckedAt:f},b,{model:c});if(g?.percent!==0||!a.limits)return null;let h=(0,e.cQ)(a.engine,a.limits,c).flatMap(({window:a,value:b})=>b&&b.usedPercent>=100?[{window:"session"===a?"session":"weekly",resetAt:b.resetsAt}]:[]);if(!h.length)return null;let i=h.filter(a=>null===a.resetAt||1e3*a.resetAt>b);if(!i.length)return null;let j=i.find(a=>null===a.resetAt)??i.sort((a,b)=>b.resetAt-a.resetAt)[0];return{source:"account",accountId:a.accountId,window:j.window,resetAt:null!==j.resetAt&&1e3*j.resetAt>b?j.resetAt:null}}function q(a,b,c,d=Date.now(),e=()=>null,f=()=>!1){let h=new Map;for(let a of Object.values(c.conversations))for(let b of a.generations)h.set(b.path,{conversationId:a.id,engine:a.engine,accountId:b.accountId});let i=new Map;for(let a of Object.values(c.entries??{})){let b=h.get(a.artifactPath);b&&a.accountId&&["starting","live","idle","handoff"].includes(a.status)&&f(a)&&i.set(a.artifactPath,{engine:b.engine,accountId:a.accountId})}let j={claude:new Map,codex:new Map},k=a.map(a=>{var b,f,k;let l,m=h.get(a.path),n=i.get(a.path),o=n?.accountId??m?.accountId??null,q=n?.engine??m?.engine,r=q&&o?c.quotaObservations[q][o]:void 0,s=n&&a.authoritativeTurn?.state==="busy"?(b=n.engine,f=n.accountId,(l=j[b]).has(f)||l.set(f,(0,g.pG)(e(b,f),d)),l.get(f)??null):null,t=n||"running"===a.proc?p(r,d,a.model):null,u=(k=a.rateLimit,k?{source:"pane",accountId:o??k.accountId,window:t?.window??k.window,resetAt:t?.resetAt??k.resetAt}:t),v={...a};return delete v.providerThrottle,{...v,conversationId:a.conversationId??m?.conversationId,rateLimit:u,...s?{providerThrottle:s}:{}}}),l=new Map(k.map(a=>[a.path,a])),m=new Set(["waiting_ready","relaying","fixing"]);return{files:k,flows:b.map(a=>{let b=l.get(a.implementerPath),c=b?.conversationId??a.implementerConversationId??null,d="relaying"===a.state?a.rounds.at(-1)?.relayHold:null;if(d){let b=Date.parse(d.until),e=Number.isFinite(b)?Math.floor(b/1e3):null,f=!1!==d.resetKnown;return{...a,block:{reason:"rate_limited",conversationId:c,accountId:d.accountId,resetAt:f?e:null,...f?{}:{recheckAt:e}}}}let e=b?.rateLimit;return e&&m.has(a.state)?{...a,block:{reason:"rate_limited",conversationId:c,accountId:e.accountId,resetAt:e.resetAt}}:a.block?{...a,block:null}:a})}}},41085:(a,b,c)=>{c.d(b,{B4:()=>i,Lm:()=>e,p5:()=>g,pG:()=>h});var d=c(30096);let e=6e4;function f(a){if(a?.reason!==d.u1||!a.retryAt)return null;let b=Date.parse(a.retryAt);return Number.isFinite(b)?b:null}function g(a,b=Date.now(),c=e){let d=f(a);return null===d||b>d+(Number.isFinite(c)?Math.max(0,c):e)?null:new Date(d).toISOString()}function h(a,b=Date.now(),c=e){let d=g(a,b,c);return d?{reason:"provider_throttled",retryAt:d}:null}function i(a,b=Date.now()){let c=f(a);return null===c||b>=c?null:{reason:"provider_throttled",retryAt:new Date(c).toISOString()}}},58996:(a,b,c)=>{c.d(b,{Nj:()=>Q,io:()=>I,nn:()=>R,wW:()=>H,Ke:()=>ai,WB:()=>P,Ki:()=>$,BU:()=>N});var d=c(63006),e=c(4837),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(41617),k=c(78966),l=c(68797),m=c(3253),n=c(91724);let o={session:18e3,weekly:604800};function p(a){return Math.max(0,Math.min(100,a))}var q=c(97609);let r=["session","weekly"];function s(){return(0,n.BQ)("limits-history.json")}function t(a,b,c){return`${a}|${b}|${c}`}function u(){return{version:1,since:null,series:{}}}function v(a){return!!a&&"object"==typeof a&&"number"==typeof a.t&&Number.isFinite(a.t)&&"number"==typeof a.remaining&&Number.isFinite(a.remaining)}function w(){try{let a=JSON.parse(g().readFileSync(s(),"utf8"));if(1!==a.version||!a.series||"object"!=typeof a.series)return u();let b={};for(let[c,d]of Object.entries(a.series))Array.isArray(d)&&(b[c]=d.filter(v));return{version:1,since:"string"==typeof a.since?a.since:null,series:b}}catch{return u()}}var x=c(8960),y=c(30096);function z(){return(0,n.BQ)("limits-cache.json")}let A="app-server-initialize-timeout",B=globalThis;function C(){return{version:2,engines:{claude:{},codex:{}}}}function D(){try{return g().statSync(z()).mtimeMs}catch{return -1}}function E(){let a=B.__llvLimitsCache,b=B.__llvLimitsCacheDisk;if(a&&(b?.of!==a||b.mtimeMs===D()))return a;let c=function(){try{let a=JSON.parse(g().readFileSync(z(),"utf8"));if(2===a.version&&a.engines&&"object"==typeof a.engines){let b=C();for(let c of["claude","codex"]){let d=a.engines[c];if(d&&"object"==typeof d)for(let[a,e]of Object.entries(d)){let d=function(a){if(!a||"object"!=typeof a||"number"!=typeof a.at||void 0===a.data||!a.provenance)return null;let b=a.provenance;if("live"!==b.source&&"transcript"!==b.source&&"cache"!==b.source&&"unavailable"!==b.source||"string"!=typeof b.reason&&null!==b.reason||"string"!=typeof b.staleSince&&null!==b.staleSince||void 0!==b.retryAt&&"string"!=typeof b.retryAt&&null!==b.retryAt||void 0!==a.baseData&&null!==a.baseData&&"object"!=typeof a.baseData||void 0!==a.retryAt&&null!==a.retryAt&&"number"!=typeof a.retryAt||void 0!==a.consecutive429s&&(!Number.isInteger(a.consecutive429s)||a.consecutive429s<0)||void 0!==a.consecutiveInitializeTimeouts&&(!Number.isInteger(a.consecutiveInitializeTimeouts)||a.consecutiveInitializeTimeouts<0)||void 0!==a.parser&&!Number.isInteger(a.parser))return null;let c=a=>a?{...a,tiers:(0,y.dZ)(a)}:a;return{...a,data:c(a.data),...void 0===a.baseData?{}:{baseData:c(a.baseData)}}}(e);d&&(b.engines[c][a]="codex"===c?{...d,data:(0,q.Zc)(d.data),...void 0===d.baseData?{}:{baseData:(0,q.Zc)(d.baseData)}}:2===d.parser?d:{...d,at:0,retryAt:null,consecutive429s:0,parser:2})}}return b}if("number"==typeof a.at&&"string"==typeof a.accountId&&a.data?.codex){let b=!function(a){if(!a||"object"!=typeof a)return!1;let b=a=>!!a&&("live"===a.source||"transcript"===a.source||"cache"===a.source||"unavailable"===a.source)&&("string"==typeof a.reason||null===a.reason)&&("string"==typeof a.staleSince||null===a.staleSince)&&(void 0===a.retryAt||"string"==typeof a.retryAt||null===a.retryAt);return b(a.claude)&&b(a.codex)}(a.data.provenance)?{source:"cache",reason:"legacy cache provenance unavailable",staleSince:a.data.staleSince??null}:a.data.provenance.codex;return{version:2,engines:{claude:{},codex:{[a.accountId]:{at:a.at,data:(0,q.Zc)(a.data.codex),provenance:b}}}}}}catch{}return C()}();return B.__llvLimitsCache=c,B.__llvLimitsCacheDisk={of:c,mtimeMs:D()},c}function F(a){try{g().mkdirSync(i().dirname(z()),{recursive:!0});let b=b=>Object.entries(a.engines[b]).sort(([,a],[,b])=>b.at-a.at)[0]??null,c=b("claude"),d=b("codex"),e=d?{at:d[1].at,accountId:d[0],data:{claude:c?.[1].data??null,codex:d[1].data,claudeAccountId:c?.[0]??null,codexAccountId:d[0],provenance:{claude:c?.[1].provenance??{source:"unavailable",reason:"no cached Claude limits",staleSince:null},codex:d[1].provenance},staleSince:c?.[1].provenance.staleSince??d[1].provenance.staleSince}}:{},f=`${z()}.${process.pid}.tmp`;g().writeFileSync(f,JSON.stringify({...a,...e},null,2)+"\n","utf8"),g().renameSync(f,z()),(B.__llvLimitsCacheDisk?.of===a||B.__llvLimitsCache===a)&&(B.__llvLimitsCacheDisk={of:a,mtimeMs:D()})}catch(a){console.warn("[limits] failed to persist cache",a)}}function G(a,b){return E().engines[a][b]??null}function H(a,b){let c=E().engines[a];b in c&&(delete c[b],F(E()))}function I(a,b){let c=G(a,b)?.provenance;return c?{...c}:null}function J(a){if(!a.data)return null;if(void 0!==a.observedAt)return a.observedAt;let b=a.provenance.staleSince?Date.parse(a.provenance.staleSince):NaN;return"cache"===a.provenance.source&&Number.isFinite(b)?b:a.at}function K(a){return{data:a.data,observedAt:J(a),meta:a.provenance,retryAt:a.retryAt??null,consecutive429s:a.consecutive429s??0,consecutiveInitializeTimeouts:a.consecutiveInitializeTimeouts??0}}function L(a,b,c){return!!a&&(a.retryAt?b<a.retryAt:b-a.at<c)}function M(a,b,c,d,e,f={}){let h=f.windowMs??3e4,j=G(a,b);if(!f.force&&L(j,c,h))return Promise.resolve(K(j));let k=`${a}:${b}`,l=(B.__llvLimitsInflight||(B.__llvLimitsInflight=new Map),B.__llvLimitsInflight),n=l.get(k);if(n)return n;let o=(async()=>{var j;let k=G(a,b);if(!f.force&&L(k,c,h))return K(k);let l=await e(),n=d(),o=function(a,b,c,d){let e=a.backoffReason===A||a.reason===A,f=e?(b?.consecutiveInitializeTimeouts??0)+1:0,g=Math.min(6e4*2**Math.max(0,f-1),9e5);if(a.data){let b=e?d+g:null;return{data:a.data,observedAt:d,...a.baseData?{baseData:a.baseData}:{},meta:{source:a.source,reason:a.reason,staleSince:a.reason?c:null,retryAt:b?new Date(b).toISOString():null},retryAt:b,consecutive429s:0,consecutiveInitializeTimeouts:f}}let h=a.reason===y.u1?(b?.consecutive429s??0)+1:0,i=Math.max(d+(f>0?g:h>0?Math.min(6e4*2**(h-1),9e5):6e4),a.retryAt??0),j=b?.baseData!==void 0?b.baseData:b?.data??null,k=j?ad(j,a.rejectedAt):null;if(k&&ae(k,d/1e3))return{data:k,observedAt:b?J(b):null,meta:{source:"transcript",reason:a.reason,staleSince:null,retryAt:new Date(i).toISOString()},retryAt:i,consecutive429s:h,consecutiveInitializeTimeouts:f,baseData:j};let l={source:j?"cache":"unavailable",reason:a.reason,staleSince:b?.provenance.staleSince??c,retryAt:new Date(i).toISOString()};return{data:j,observedAt:j&&b?J(b):null,meta:l,retryAt:i,consecutive429s:h,consecutiveInitializeTimeouts:f}}(l,k,new Date(n).toISOString(),n);for(let[b,c]of[[a,o.meta]])c.reason&&console.warn(`[limits] ${b} fallback: ${(j=c.reason,(0,m.XR)(j))}`);if(E().engines[a][b]={at:c,data:o.data,baseData:void 0!==o.baseData?o.baseData:o.data,provenance:o.meta,retryAt:o.retryAt,consecutive429s:o.consecutive429s,consecutiveInitializeTimeouts:o.consecutiveInitializeTimeouts,..."claude"===a?{parser:2}:{},...null!==o.observedAt?{observedAt:o.observedAt}:{}},F(E()),o.data&&("live"===o.meta.source||"transcript"===o.meta.source))try{!function(a,b,c,d=Date.now()){let e=Math.round(d/1e3),f=w(),h=!1;for(let d of r){let g=c[d];if(!g||"number"!=typeof g.usedPercent)continue;let i=t(a,b,d),j=f.series[i]??(f.series[i]=[]),k=j[j.length-1];if(k&&e-k.t<300)continue;j.push({t:e,remaining:p(100-g.usedPercent)});let l=e-691200,m=j.filter(a=>a.t>=l);m.length>4e3&&(m=m.slice(m.length-4e3)),f.series[i]=m,h=!0}if(h){f.since||(f.since=new Date(d).toISOString());try{g().mkdirSync(i().dirname(s()),{recursive:!0});let a=`${s()}.${process.pid}.tmp`;g().writeFileSync(a,JSON.stringify(f,null,2)+"\n","utf8"),g().renameSync(a,s())}catch(a){console.warn("[limits] failed to persist history",a)}}}(a,b,o.data)}catch(a){console.warn("[limits] failed to record burndown sample",a)}return o})();l.set(k,o);let q=()=>{l.get(k)===o&&l.delete(k)};return o.then(q,q),o}async function N(a={}){let b=a.now??Date.now,c=b(),d=(0,k.ob)(),e=(0,j.O$)(),[f,g]=await Promise.all([O(d,c,b),M("codex",e.id,c,b,()=>$({account:e,liveReader:a.codexLiveReader,now:b}))]);return{claude:f.data,codex:g.data,claudeAccountId:d.id,codexAccountId:e.id,provenance:{claude:f.meta,codex:g.meta},staleSince:f.meta.staleSince??g.meta.staleSince}}function O(a,b,c,d=!1){return M("claude",a.id,b,c,()=>R(i().join(a.home,".credentials.json"),c),{windowMs:5e4,force:d})}async function P(a,b={}){let c=b.now??Date.now,d=await O(a,c(),c,b.force);return{data:d.data,provenance:d.meta,observedAt:d.observedAt}}function Q(a,b,c,d=Date.now()){let e=G("claude",a),f=e?J(e):null;if(!Number.isFinite(c)||null!==f&&f>=c)return!1;let g=!!(e?.retryAt&&d<e.retryAt);return E().engines.claude[a]={at:c,data:b,baseData:b,provenance:g?{source:"cache",reason:e.provenance.reason,staleSince:new Date(c).toISOString(),retryAt:e.provenance.retryAt??null}:{source:"live",reason:null,staleSince:null,retryAt:null},retryAt:g?e.retryAt:null,consecutive429s:g?e.consecutive429s??0:0,consecutiveInitializeTimeouts:0,parser:2,observedAt:c},F(E()),!0}async function R(a,b=Date.now,c=8e3){let f="",g=null,h=(0,d.TK)(i().dirname(a));if("present"!==h.state)return{data:null,reason:"absent"===h.state?"credentials absent":"credential store unavailable",source:"unavailable"};let j=h.document.claudeAiOauth;if("string"==typeof j?.accessToken&&(f=j.accessToken),"string"==typeof j?.subscriptionType&&(g=j.subscriptionType),!f)return{data:null,reason:"credentials missing access token",source:"unavailable"};try{let a=await fetch("https://api.anthropic.com/api/oauth/usage",{headers:{authorization:"Bearer "+f,"anthropic-beta":"oauth-2025-04-20"},signal:AbortSignal.timeout(c)});if(429===a.status)return{data:null,reason:y.u1,source:"unavailable",retryAt:function(a,b){if(!a)return;let c=Number(a);if(Number.isFinite(c)&&c>=0)return b+1e3*c;let d=Date.parse(a);if(Number.isFinite(d))return Math.max(b,d)}(a.headers.get("retry-after"),b())};if(401===a.status)return{data:null,reason:y.e4,source:"unavailable"};if(!a.ok)return{data:null,reason:`oauth usage status ${a.status}`,source:"unavailable"};let d=await a.json(),h={session:S(d.five_hour,q.Gn),weekly:S(d.seven_day,q.rX),tiers:function(a){let b=new Map,c=new Map;for(let d of Object.keys(a)){if(U.has(d)||W(d))continue;let e=a[d],f=S(e&&"object"==typeof e?e:void 0,q.rX);if(!f)continue;let g=d.startsWith(T)?d.slice(T.length):d;g&&(b.set(g,{...f,tier:g}),c.set(d,g))}let d=new Set([...c.keys(),...c.values()]),f=new Map;for(let g of Array.isArray(a.limits)?a.limits:[]){let a=function(a,b){let c=Z(a);if(!c)return null;let d=(function a(b,c=0){return"string"==typeof b?[b]:c>=3||!b||"object"!=typeof b?[]:(Array.isArray(b)?b:Object.values(b)).flatMap(b=>a(b,c+1))})(c).map(a=>a.trim()).filter(a=>Y.test(a));if(d.some(a=>U.has(a)||W(a)))return null;let f=[...new Set(d.filter(a=>b.has(a)))],g=Z(c.scope),h=Z(g?.model),i=function(a,b){for(let c of a)if(c)for(let a of X){let d=c[a];if("string"!=typeof d)continue;let e=d.trim();if(e&&!b.has(e)&&!Y.test(e))return e}return null}([h,c],b),j=[...[h?.id,h?.display_name,g?.model,c.model,c.model_id].filter(a=>"string"==typeof a),...i?i.split(/[\s,/|()\[\]]+/):[]].map(a=>(0,e.OV)(a)).find(a=>null!==a)??null;return f.length||j?{buckets:f,family:j,label:i,window:function(a){let b="number"==typeof a.percent?a.percent:"number"==typeof a.utilization?a.utilization:null;if(null===b||!Number.isFinite(b))return null;let c="string"==typeof a.resets_at?Date.parse(a.resets_at):NaN,d=[a.group,a.kind].some(a=>"string"==typeof a&&a.startsWith("session"));return{usedPercent:b,resetsAt:Number.isFinite(c)?Math.round(c/1e3):null,windowMinutes:d?q.Gn:q.rX}}(c)}:null}(g,d);if(!a)continue;let h=a.buckets.map(a=>c.get(a)??a).find(a=>b.has(a))??null,i=a.window??(h?b.get(h):null),j=a.family??h;if(!i||!j)continue;let k={usedPercent:i.usedPercent,resetsAt:i.resetsAt,windowMinutes:i.windowMinutes,tier:j,...a.label?{label:a.label}:{}},l=f.get(j);(!l||k.usedPercent>l.usedPercent)&&f.set(j,k)}return(f.size?[...f.values()]:[...b.values()]).sort((a,b)=>(0,e.aE)(a.tier,a.label).localeCompare((0,e.aE)(b.tier,b.label)))}(d),plan:g,capturedAt:null};if(!h.session&&!h.weekly)return{data:null,reason:"oauth usage response had no windows",source:"unavailable"};return{data:h,reason:null,source:"live"}}catch(a){return{data:null,reason:`oauth usage fetch failed: ${a instanceof Error?a.message:String(a)}`,source:"unavailable"}}}function S(a,b){if(!a||"number"!=typeof a.utilization)return null;let c="string"==typeof a.resets_at?Date.parse(a.resets_at):NaN;return{usedPercent:a.utilization,resetsAt:Number.isFinite(c)?Math.round(c/1e3):null,windowMinutes:b}}let T="seven_day_",U=new Set(["five_hour","seven_day"]),V=["overage","oauth_apps","cowork","omelette","extra_usage","spend","breakdown"];function W(a){return V.some(b=>a.includes(b))}let X=["display_name","displayName","label","title","name"],Y=/^[a-z0-9_.:-]+$/;function Z(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}async function $(a={}){let b=a.account??(0,j.O$)(),c=a.now??Date.now,d=function(a=(0,j.O$)().sessionsDir){let b=0,c=null,d=null;for(let e of function(a){let b=new Set(function(a){let b=aa(i().join(i().dirname(a),"history.jsonl"),196608);if(!b)return[];let c=[],d=new Set;for(let e of b.split("\n").reverse())if(e.includes('"session_id"'))try{let b=JSON.parse(e);if("string"!=typeof b.session_id||d.has(b.session_id))continue;d.add(b.session_id);let f=function(a,b){let c=/^([0-9a-f]{8})-([0-9a-f]{4})-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.exec(b);if(!c)return null;let d=Number.parseInt(c[1]+c[2],16);if(!Number.isFinite(d))return null;let e=new Date(d);return Number.isNaN(e.getTime())?null:i().join(a,String(e.getFullYear()),String(e.getMonth()+1).padStart(2,"0"),String(e.getDate()).padStart(2,"0"))}(a,b.session_id);if(!f)continue;let g=_(f).find(a=>a.endsWith(`${b.session_id}.jsonl`));if(g&&c.push(i().join(f,g)),d.size>=12)break}catch{}return c}(a));for(let c of function(a){let b=[];for(let c of _(a))for(let d of _(i().join(a,c)))for(let e of _(i().join(a,c,d)))if(b.push(i().join(a,c,d,e)),b.length>=8)return b;return b}(a))for(let a of _(c).filter(a=>a.endsWith(".jsonl")).slice(0,12))b.add(i().join(c,a));let c=[];for(let a of b)try{c.push({p:a,m:g().statSync(a).mtimeMs})}catch{}return c.sort((a,b)=>b.m-a.m||b.p.localeCompare(a.p)).slice(0,12).map(a=>a.p)}(a)){b+=1;let a=function(a){let b=aa(a,196608);if(!b)return{data:null,rejectedAt:null};let c=b.split("\n"),d=null,e=null;for(let a=c.length-1;a>=0;a--){let b=c[a];if(b.includes('"rate_limits"')||b.includes('"usage_limit'))try{let a=JSON.parse(b),c="string"==typeof a.timestamp?Date.parse(a.timestamp):NaN,f=Number.isFinite(c)?c/1e3:null;if(ab(a.payload?.codex_error_info)||ab(a.payload?.error?.codex_error_info)){null!==f&&(null===e||f>e)&&(e=f);continue}let g=a.payload?.rate_limits;if(!g)continue;let h=(0,q.v9)(af(g.primary,f),af(g.secondary,f),f);if(!h.session&&!h.weekly)continue;(!d||null===d.capturedAt||null!==f&&f>d.capturedAt)&&(d={session:h.session,weekly:h.weekly,plan:"string"==typeof g.plan_type?g.plan_type:null,capturedAt:f})}catch{}}return{data:d,rejectedAt:e}}(e);null!==a.rejectedAt&&(null===d||a.rejectedAt>d)&&(d=a.rejectedAt),a.data&&(!c||null===c.capturedAt||null!==a.data.capturedAt&&a.data.capturedAt>c.capturedAt)&&(c=a.data)}if(c){let a=null!==d&&(null===c.capturedAt||d>=c.capturedAt)?d:null;return{data:c,reason:null,source:"transcript",rejectedAt:a}}return null!==d?{data:null,reason:"usage-limit-exceeded",source:"transcript",rejectedAt:d}:{data:null,reason:0===b?"no codex session files":`no rate_limits event in newest ${b} session files`,source:"unavailable"}}(b.sessionsDir);try{let e=await (a.liveReader??(a=>(0,l.VD)().readRateLimits(a)))(b),f=c()/1e3,g=function(a,b=Math.round(Date.now()/1e3)){let c=a=>a?{usedPercent:a.usedPercent,resetsAt:a.resetsAt,windowMinutes:a.windowDurationMins}:null,d=(0,q.v9)(c(a.primary),c(a.secondary),b);return{session:d.session,weekly:d.weekly,plan:a.planType,capturedAt:b}}(e,f),h=d.data?ad(d.data,d.rejectedAt):null,i=h&&d.data?ac(d.data)?.value.resetsAt:null,j=ac(g)?.value.resetsAt,k="number"==typeof d.rejectedAt&&"number"==typeof i&&d.rejectedAt<i&&"number"==typeof j&&j>i?null:h??ad(g,d.rejectedAt),m=k??d.data;if(!m)return{data:g,reason:null,source:"live"};let n=a=>(0,x.I1)({limits:g,observedAt:g.capturedAt,stale:!1,source:"live"},{limits:a,observedAt:a.capturedAt,stale:!1,source:"transcript"},f),o=n(m),p=(0,x.ap)(o,"transcript"),r=k?d.data?(0,x.L1)(n(d.data)):g:null;return{data:(0,x.L1)(o),...r?{baseData:r}:{},reason:p?"transcript-reconciled":null,source:p?"transcript":"live"}}catch(f){let a=(0,m.XR)(f instanceof Error?f.message:String(f)),e=/request timed out:\s*initialize\b/i.test(a);if(console.warn(`[limits] Codex app-server probe for ${b.id} failed: ${a}`),d.data){let a=ad(d.data,d.rejectedAt),b=a&&ae(a,c()/1e3)?a:d.data;return{data:b,...b===a?{baseData:d.data}:{},reason:"transcript-fallback",source:"transcript",...e?{backoffReason:A}:{}}}if(null!==d.rejectedAt&&void 0!==d.rejectedAt)return{...d,...e?{backoffReason:A}:{}};return{data:null,reason:e?A:"app-server-unavailable",source:"unavailable"}}}function _(a){try{return g().readdirSync(a).sort().reverse()}catch{return[]}}function aa(a,b){let c;try{c=g().openSync(a,"r")}catch{return null}try{let a=g().fstatSync(c).size,d=Math.min(a,b),e=Buffer.alloc(d);return g().readSync(c,e,0,d,a-d),e.toString("utf8")}catch{return null}finally{g().closeSync(c)}}function ab(a){return"usage_limit"===a||"usage_limit_exceeded"===a}function ac(a){return["session","weekly"].flatMap(b=>a[b]?[{key:b,value:a[b]}]:[]).sort((a,b)=>b.value.usedPercent-a.value.usedPercent||a.key.localeCompare(b.key))[0]??null}function ad(a,b){return null==b||!function(a,b){let c=ac(a)?.value;if(!c)return!1;if(null===c.resetsAt)return!0;if("number"!=typeof c.windowMinutes)return b<=c.resetsAt;let d=60*c.windowMinutes;return b>=c.resetsAt-d&&b<c.resetsAt+d}(a,b)?null:function(a,b){let c=ac(a);if(!c)return a;let d=null!==c.value.resetsAt&&c.value.resetsAt<=b?null:c.value.resetsAt,e={...a,[c.key]:{...c.value,usedPercent:100,resetsAt:d,observedAt:b,source:"transcript"}},f=[e.session?.observedAt,e.weekly?.observedAt].filter(a=>null!=a);return{...e,capturedAt:f.length?Math.min(...f):b}}(a,b)}function ae(a,b){let c=ac(a);if(!c||c.value.usedPercent<100)return!1;let d=c.value;if(null!==d.resetsAt)return d.resetsAt>b;if(null===d.observedAt||void 0===d.observedAt)return!0;let e="number"==typeof d.windowMinutes?d.windowMinutes:"weekly"===c.key?q.rX:q.Gn;return b-d.observedAt<60*e}function af(a,b){if(!a||"number"!=typeof a.used_percent)return null;let c=null;return"number"==typeof a.resets_at?c=a.resets_at:"number"==typeof a.resets_in_seconds&&null!==b&&(c=b+a.resets_in_seconds),{usedPercent:a.used_percent,resetsAt:c,windowMinutes:"number"==typeof a.window_minutes?a.window_minutes:null,observedAt:b}}function ag(a){return a&&"number"==typeof a.windowMinutes&&a.windowMinutes>0?Math.round(60*a.windowMinutes):null}function ah(a,b,c,d,e){let f=!!(c?.session||c?.weekly),g=(e,g,h,i)=>{var j;let k,l,m,n,q=c?.[e]??null,r=ag(q)??h??o[e];return f&&!q&&0===g.length?{windowStart:null,resetsAt:null,windowSeconds:r,samples:[],windowUnreported:!0}:(j=function(a,b,c,d=Math.round(Date.now()/1e3)){let e=w().series[t(a,b,c)]??[],f=d-691200;return e.filter(a=>a.t>=f)}(a,b,e,d),l=null!==(k=q?.resetsAt??i??null)?k-r:null,m=function(...a){let b=new Map;for(let c of a)for(let a of c)Number.isFinite(a.t)&&Number.isFinite(a.remaining)&&b.set(a.t,p(a.remaining));return[...b.entries()].map(([a,b])=>({t:a,remaining:b})).sort((a,b)=>a.t-b.t)}(j,g,q&&"number"==typeof q.usedPercent?[{t:d,remaining:p(100-q.usedPercent)}]:[]),n=null!==l?m.filter(a=>a.t>=l):m,{windowStart:l,resetsAt:k,windowSeconds:r,samples:n})};return{session:g("session",e?.session??[],e?.sessionWindowSeconds??null,e?.sessionResetsAt??null),weekly:g("weekly",e?.weekly??[],e?.weeklyWindowSeconds??null,e?.weeklyResetsAt??null)}}async function ai(a={}){let b=await N(a),c=Math.round(Date.now()/1e3),d=b.claudeAccountId?ah("claude",b.claudeAccountId,b.claude,c,null):null,e=null;if(b.codexAccountId){let a=function(a,b){let c=[],d=[],e=new Set,f=-1/0,h=null,j=null,k=null,l=null;for(let{p:m,m:n}of function*(a){let b=0;for(let c of _(a))for(let d of _(i().join(a,c)))for(let e of _(i().join(a,c,d))){let f=i().join(a,c,d,e),h=[];for(let a of _(f)){if(!a.endsWith(".jsonl"))continue;let b=i().join(f,a);try{h.push({p:b,m:g().statSync(b).mtimeMs})}catch{}}for(let a of(h.sort((a,b)=>b.m-a.m),h))if(yield a,++b>=400)return}}(a)){if(n/1e3<b)continue;let a=function(a){try{if(g().statSync(a).size>8388608)return aa(a,8388608);return g().readFileSync(a,"utf8")}catch{return aa(a,8388608)}}(m);if(a){for(let g of a.split("\n"))if(g.includes('"rate_limits"'))try{let a=JSON.parse(g),i=a.payload?.rate_limits;if(!i)continue;let m="string"==typeof a.timestamp?Date.parse(a.timestamp):NaN;if(!Number.isFinite(m))continue;let n=Math.round(m/1e3);if(n<b||e.has(n))continue;let o=(0,q.v9)(af(i.primary,n),af(i.secondary,n),n);if(!o.session&&!o.weekly)continue;e.add(n),o.session&&c.push({t:n,remaining:p(100-o.session.usedPercent)}),o.weekly&&d.push({t:n,remaining:p(100-o.weekly.usedPercent)}),n>f&&(f=n,o.session&&(k=o.session.resetsAt,h=ag(o.session)),o.weekly&&(l=o.weekly.resetsAt,j=ag(o.weekly)))}catch{}}}return c.sort((a,b)=>a.t-b.t),d.sort((a,b)=>a.t-b.t),{session:c,weekly:d,sessionWindowSeconds:h,weeklyWindowSeconds:j,sessionResetsAt:k,weeklyResetsAt:l}}((0,j.O$)().sessionsDir,c-691200);e=ah("codex",b.codexAccountId,b.codex,c,a)}return{claude:d,codex:e,claudeAccountId:b.claudeAccountId,codexAccountId:b.codexAccountId,historySince:w().since}}},97609:(a,b,c)=>{c.d(b,{Gn:()=>d,Zc:()=>h,rX:()=>e,v9:()=>g});let d=300,e=10080;function f(a,b){return null==a.windowMinutes&&null!==b&&null!=a.resetsAt&&a.resetsAt-b>60*d+1800}function g(a,b,c=null){let d={session:null,weekly:null},e=[];for(let[c,f]of[["session",a],["weekly",b]]){var h;if(!f)continue;let a="number"!=typeof(h=f.windowMinutes)||!Number.isFinite(h)||h<=0?null:h<=1440?"session":"weekly";a&&!d[a]?d[a]=f:e.push({slot:c,window:f})}for(let{slot:a,window:b}of e){let e="session"===a&&f(b,c)?"weekly":a;d[e]||(d[e]=b)}return d}function h(a){return a?.session&&!a.weekly&&f(a.session,a.capturedAt)?{...a,session:null,weekly:a.session}:a}}};
|
|
1
|
+
"use strict";exports.id=8996,exports.ids=[8996],exports.modules={8960:(a,b,c)=>{c.d(b,{I1:()=>m,L1:()=>n,MJ:()=>p,Om:()=>q,ap:()=>o});var d=c(4837),e=c(9735),f=c(97609),g=c(41085),h=c(30096);function i(a,b,c){return j(a,a.limits?.[b]??null,c)}function j(a,b,c){if(!b)return null;let d=b.observedAt??a.observedAt;return{value:b,observedAt:d,stale:a.stale||null!==d&&c-d>1200,source:b.source??a.source}}function k(a,b,c,d){var e;let g;if(a.value.usedPercent<100)return!1;if(null!==a.value.resetsAt)return a.value.resetsAt>d;if(null===a.observedAt)return!0;let h="number"==typeof a.value.windowMinutes?a.value.windowMinutes:"weekly"===c?f.rX:f.Gn;return!(d-a.observedAt>=60*h)&&(e=a.observedAt,!(g=b?.value)||null===g.resetsAt||"number"!=typeof g.windowMinutes||!(g.resetsAt-60*g.windowMinutes>e))}function l(a,b,c,d){if(!a)return b;if(!b)return a;let e=k(a,b,c,d);return e!==k(b,a,c,d)?e?a:b:null===a.observedAt?null===b.observedAt?a:b:null===b.observedAt?a:b.observedAt>a.observedAt?b:a}function m(a,b,c){let e=l(a?i(a,"session",c):null,b?i(b,"session",c):null,"session",c),f=l(a?i(a,"weekly",c):null,b?i(b,"weekly",c):null,"weekly",c),g=[...new Set([a,b].flatMap(a=>(0,h.dZ)(a?.limits).map(a=>a.tier)))].sort().flatMap(d=>{let e=a=>{let b=(0,h.dZ)(a?.limits).find(a=>a.tier===d)??null;return a&&b?j(a,b,c):null},f=l(e(a),e(b),"weekly",c);return f&&"string"==typeof f.value.tier?[f]:[]}).sort((a,b)=>(0,d.aE)(a.value.tier,a.value.label).localeCompare((0,d.aE)(b.value.tier,b.value.label))),k=[a,b].filter(a=>!!a?.limits?.plan).sort((a,b)=>(b.observedAt??-1/0)-(a.observedAt??-1/0));return{session:e,weekly:f,tiers:g,plan:k[0]?.limits?.plan??null}}function n(a){if(!a.session&&!a.weekly&&!a.tiers.length)return null;let b=[a.session?.observedAt,a.weekly?.observedAt,...a.tiers.map(a=>a.observedAt)].filter(a=>null!=a);return{session:a.session?{...a.session.value,observedAt:a.session.observedAt,source:a.session.source}:null,weekly:a.weekly?{...a.weekly.value,observedAt:a.weekly.observedAt,source:a.weekly.source}:null,tiers:a.tiers.map(a=>({...a.value,observedAt:a.observedAt,source:a.source})),plan:a.plan,capturedAt:b.length?Math.min(...b):null}}function o(a,b){return a.session?.source===b||a.weekly?.source===b||a.tiers.some(a=>a.source===b)}function p(a,b=Date.now(),c){if(!a)return null;let d=Date.parse(a.observedAt),f=Date.parse(a.authCheckedAt),g=(0,e.Wz)({engine:a.engine,accountId:a.accountId,authenticated:a.authenticated,limits:a.limits,provenance:a.provenance,observedAt:d,authCheckedAt:f},b,{model:c});if(g?.percent!==0||!a.limits)return null;let h=(0,e.cQ)(a.engine,a.limits,c).flatMap(({window:a,value:b})=>b&&b.usedPercent>=100?[{window:"session"===a?"session":"weekly",resetAt:b.resetsAt}]:[]);if(!h.length)return null;let i=h.filter(a=>null===a.resetAt||1e3*a.resetAt>b);if(!i.length)return null;let j=i.find(a=>null===a.resetAt)??i.sort((a,b)=>b.resetAt-a.resetAt)[0];return{source:"account",accountId:a.accountId,window:j.window,resetAt:null!==j.resetAt&&1e3*j.resetAt>b?j.resetAt:null}}function q(a,b,c,d=Date.now(),e=()=>null,f=()=>!1){let h=new Map;for(let a of Object.values(c.conversations))for(let b of a.generations)h.set(b.path,{conversationId:a.id,engine:a.engine,accountId:b.accountId});let i=new Map;for(let a of Object.values(c.entries??{})){let b=h.get(a.artifactPath);b&&a.accountId&&["starting","live","idle","handoff"].includes(a.status)&&f(a)&&i.set(a.artifactPath,{engine:b.engine,accountId:a.accountId})}let j={claude:new Map,codex:new Map},k=a.map(a=>{var b,f,k;let l,m=h.get(a.path),n=i.get(a.path),o=n?.accountId??m?.accountId??null,q=n?.engine??m?.engine,r=q&&o?c.quotaObservations[q][o]:void 0,s=n&&a.authoritativeTurn?.state==="busy"?(b=n.engine,f=n.accountId,(l=j[b]).has(f)||l.set(f,(0,g.pG)(e(b,f),d)),l.get(f)??null):null,t=n||"running"===a.proc?p(r,d,a.model):null,u=(k=a.rateLimit,k?{source:"pane",accountId:o??k.accountId,window:t?.window??k.window,resetAt:t?.resetAt??k.resetAt}:t),v={...a};return delete v.providerThrottle,{...v,conversationId:a.conversationId??m?.conversationId,rateLimit:u,...s?{providerThrottle:s}:{}}}),l=new Map(k.map(a=>[a.path,a])),m=new Set(["waiting_ready","relaying","fixing"]);return{files:k,flows:b.map(a=>{let b=l.get(a.implementerPath),c=b?.conversationId??a.implementerConversationId??null,d="relaying"===a.state?a.rounds.at(-1)?.relayHold:null;if(d){let b=Date.parse(d.until),e=Number.isFinite(b)?Math.floor(b/1e3):null,f=!1!==d.resetKnown;return{...a,block:{reason:"rate_limited",conversationId:c,accountId:d.accountId,resetAt:f?e:null,...f?{}:{recheckAt:e}}}}let e=b?.rateLimit;return e&&m.has(a.state)?{...a,block:{reason:"rate_limited",conversationId:c,accountId:e.accountId,resetAt:e.resetAt}}:a.block?{...a,block:null}:a})}}},41085:(a,b,c)=>{c.d(b,{B4:()=>i,Lm:()=>e,p5:()=>g,pG:()=>h});var d=c(30096);let e=6e4;function f(a){if(a?.reason!==d.u1||!a.retryAt)return null;let b=Date.parse(a.retryAt);return Number.isFinite(b)?b:null}function g(a,b=Date.now(),c=e){let d=f(a);return null===d||b>d+(Number.isFinite(c)?Math.max(0,c):e)?null:new Date(d).toISOString()}function h(a,b=Date.now(),c=e){let d=g(a,b,c);return d?{reason:"provider_throttled",retryAt:d}:null}function i(a,b=Date.now()){let c=f(a);return null===c||b>=c?null:{reason:"provider_throttled",retryAt:new Date(c).toISOString()}}},58996:(a,b,c)=>{c.d(b,{Nj:()=>R,io:()=>J,nn:()=>S,wW:()=>I,Ke:()=>aj,WB:()=>Q,Ki:()=>_,BU:()=>O});var d=c(63006),e=c(4837),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(41617),k=c(78966),l=c(68797),m=c(3253),n=c(91724),o=c(65154);let p={session:18e3,weekly:604800};function q(a){return Math.max(0,Math.min(100,a))}var r=c(97609);let s=["session","weekly"];function t(){return(0,n.BQ)("limits-history.json")}function u(a,b,c){return`${a}|${b}|${c}`}function v(){return{version:1,since:null,series:{}}}function w(a){return!!a&&"object"==typeof a&&"number"==typeof a.t&&Number.isFinite(a.t)&&"number"==typeof a.remaining&&Number.isFinite(a.remaining)}function x(){try{let a=JSON.parse(g().readFileSync(t(),"utf8"));if(1!==a.version||!a.series||"object"!=typeof a.series)return v();let b={};for(let[c,d]of Object.entries(a.series))Array.isArray(d)&&(b[c]=d.filter(w));return{version:1,since:"string"==typeof a.since?a.since:null,series:b}}catch{return v()}}var y=c(8960),z=c(30096);function A(){return(0,n.BQ)("limits-cache.json")}let B="app-server-initialize-timeout",C=globalThis;function D(){return{version:2,engines:{claude:{},codex:{}}}}function E(){try{return g().statSync(A()).mtimeMs}catch{return -1}}function F(){let a=C.__llvLimitsCache,b=C.__llvLimitsCacheDisk;if(a&&(b?.of!==a||b.mtimeMs===E()))return a;let c=function(){try{let a=(0,o.dt)(A())??{};if(2===a.version&&a.engines&&"object"==typeof a.engines){let b=D();for(let c of["claude","codex"]){let d=a.engines[c];if(d&&"object"==typeof d)for(let[a,e]of Object.entries(d)){let d=function(a){if(!a||"object"!=typeof a||"number"!=typeof a.at||void 0===a.data||!a.provenance)return null;let b=a.provenance;if("live"!==b.source&&"transcript"!==b.source&&"cache"!==b.source&&"unavailable"!==b.source||"string"!=typeof b.reason&&null!==b.reason||"string"!=typeof b.staleSince&&null!==b.staleSince||void 0!==b.retryAt&&"string"!=typeof b.retryAt&&null!==b.retryAt||void 0!==a.baseData&&null!==a.baseData&&"object"!=typeof a.baseData||void 0!==a.retryAt&&null!==a.retryAt&&"number"!=typeof a.retryAt||void 0!==a.consecutive429s&&(!Number.isInteger(a.consecutive429s)||a.consecutive429s<0)||void 0!==a.consecutiveInitializeTimeouts&&(!Number.isInteger(a.consecutiveInitializeTimeouts)||a.consecutiveInitializeTimeouts<0)||void 0!==a.parser&&!Number.isInteger(a.parser))return null;let c=a=>a?{...a,tiers:(0,z.dZ)(a)}:a;return{...a,data:c(a.data),...void 0===a.baseData?{}:{baseData:c(a.baseData)}}}(e);d&&(b.engines[c][a]="codex"===c?{...d,data:(0,r.Zc)(d.data),...void 0===d.baseData?{}:{baseData:(0,r.Zc)(d.baseData)}}:2===d.parser?d:{...d,at:0,retryAt:null,consecutive429s:0,parser:2})}}return b}if("number"==typeof a.at&&"string"==typeof a.accountId&&a.data?.codex){let b=!function(a){if(!a||"object"!=typeof a)return!1;let b=a=>!!a&&("live"===a.source||"transcript"===a.source||"cache"===a.source||"unavailable"===a.source)&&("string"==typeof a.reason||null===a.reason)&&("string"==typeof a.staleSince||null===a.staleSince)&&(void 0===a.retryAt||"string"==typeof a.retryAt||null===a.retryAt);return b(a.claude)&&b(a.codex)}(a.data.provenance)?{source:"cache",reason:"legacy cache provenance unavailable",staleSince:a.data.staleSince??null}:a.data.provenance.codex;return{version:2,engines:{claude:{},codex:{[a.accountId]:{at:a.at,data:(0,r.Zc)(a.data.codex),provenance:b}}}}}}catch{}return D()}();return C.__llvLimitsCache=c,C.__llvLimitsCacheDisk={of:c,mtimeMs:E()},c}function G(a){try{g().mkdirSync(i().dirname(A()),{recursive:!0});let b=b=>Object.entries(a.engines[b]).sort(([,a],[,b])=>b.at-a.at)[0]??null,c=b("claude"),d=b("codex"),e=d?{at:d[1].at,accountId:d[0],data:{claude:c?.[1].data??null,codex:d[1].data,claudeAccountId:c?.[0]??null,codexAccountId:d[0],provenance:{claude:c?.[1].provenance??{source:"unavailable",reason:"no cached Claude limits",staleSince:null},codex:d[1].provenance},staleSince:c?.[1].provenance.staleSince??d[1].provenance.staleSince}}:{};(0,o.fZ)(A(),{...a,...e}),(C.__llvLimitsCacheDisk?.of===a||C.__llvLimitsCache===a)&&(C.__llvLimitsCacheDisk={of:a,mtimeMs:E()})}catch(a){console.warn("[limits] failed to persist cache",a)}}function H(a,b){return F().engines[a][b]??null}function I(a,b){let c=F().engines[a];b in c&&(delete c[b],G(F()))}function J(a,b){let c=H(a,b)?.provenance;return c?{...c}:null}function K(a){if(!a.data)return null;if(void 0!==a.observedAt)return a.observedAt;let b=a.provenance.staleSince?Date.parse(a.provenance.staleSince):NaN;return"cache"===a.provenance.source&&Number.isFinite(b)?b:a.at}function L(a){return{data:a.data,observedAt:K(a),meta:a.provenance,retryAt:a.retryAt??null,consecutive429s:a.consecutive429s??0,consecutiveInitializeTimeouts:a.consecutiveInitializeTimeouts??0}}function M(a,b,c){return!!a&&(a.retryAt?b<a.retryAt:b-a.at<c)}function N(a,b,c,d,e,f={}){let h=f.windowMs??3e4,j=H(a,b);if(!f.force&&M(j,c,h))return Promise.resolve(L(j));let k=`${a}:${b}`,l=(C.__llvLimitsInflight||(C.__llvLimitsInflight=new Map),C.__llvLimitsInflight),n=l.get(k);if(n)return n;let o=(async()=>{var j;let k=H(a,b);if(!f.force&&M(k,c,h))return L(k);let l=await e(),n=d(),o=function(a,b,c,d){let e=a.backoffReason===B||a.reason===B,f=e?(b?.consecutiveInitializeTimeouts??0)+1:0,g=Math.min(6e4*2**Math.max(0,f-1),9e5);if(a.data){let b=e?d+g:null;return{data:a.data,observedAt:d,...a.baseData?{baseData:a.baseData}:{},meta:{source:a.source,reason:a.reason,staleSince:a.reason?c:null,retryAt:b?new Date(b).toISOString():null},retryAt:b,consecutive429s:0,consecutiveInitializeTimeouts:f}}let h=a.reason===z.u1?(b?.consecutive429s??0)+1:0,i=Math.max(d+(f>0?g:h>0?Math.min(6e4*2**(h-1),9e5):6e4),a.retryAt??0),j=b?.baseData!==void 0?b.baseData:b?.data??null,k=j?ae(j,a.rejectedAt):null;if(k&&af(k,d/1e3))return{data:k,observedAt:b?K(b):null,meta:{source:"transcript",reason:a.reason,staleSince:null,retryAt:new Date(i).toISOString()},retryAt:i,consecutive429s:h,consecutiveInitializeTimeouts:f,baseData:j};let l={source:j?"cache":"unavailable",reason:a.reason,staleSince:b?.provenance.staleSince??c,retryAt:new Date(i).toISOString()};return{data:j,observedAt:j&&b?K(b):null,meta:l,retryAt:i,consecutive429s:h,consecutiveInitializeTimeouts:f}}(l,k,new Date(n).toISOString(),n);for(let[b,c]of[[a,o.meta]])c.reason&&console.warn(`[limits] ${b} fallback: ${(j=c.reason,(0,m.XR)(j))}`);if(F().engines[a][b]={at:c,data:o.data,baseData:void 0!==o.baseData?o.baseData:o.data,provenance:o.meta,retryAt:o.retryAt,consecutive429s:o.consecutive429s,consecutiveInitializeTimeouts:o.consecutiveInitializeTimeouts,..."claude"===a?{parser:2}:{},...null!==o.observedAt?{observedAt:o.observedAt}:{}},G(F()),o.data&&("live"===o.meta.source||"transcript"===o.meta.source))try{!function(a,b,c,d=Date.now()){let e=Math.round(d/1e3),f=x(),h=!1;for(let d of s){let g=c[d];if(!g||"number"!=typeof g.usedPercent)continue;let i=u(a,b,d),j=f.series[i]??(f.series[i]=[]),k=j[j.length-1];if(k&&e-k.t<300)continue;j.push({t:e,remaining:q(100-g.usedPercent)});let l=e-691200,m=j.filter(a=>a.t>=l);m.length>4e3&&(m=m.slice(m.length-4e3)),f.series[i]=m,h=!0}if(h){f.since||(f.since=new Date(d).toISOString());try{g().mkdirSync(i().dirname(t()),{recursive:!0});let a=`${t()}.${process.pid}.tmp`;g().writeFileSync(a,JSON.stringify(f,null,2)+"\n","utf8"),g().renameSync(a,t())}catch(a){console.warn("[limits] failed to persist history",a)}}}(a,b,o.data)}catch(a){console.warn("[limits] failed to record burndown sample",a)}return o})();l.set(k,o);let p=()=>{l.get(k)===o&&l.delete(k)};return o.then(p,p),o}async function O(a={}){let b=a.now??Date.now,c=b(),d=(0,k.ob)(),e=(0,j.O$)(),[f,g]=await Promise.all([P(d,c,b),N("codex",e.id,c,b,()=>_({account:e,liveReader:a.codexLiveReader,now:b}))]);return{claude:f.data,codex:g.data,claudeAccountId:d.id,codexAccountId:e.id,provenance:{claude:f.meta,codex:g.meta},staleSince:f.meta.staleSince??g.meta.staleSince}}function P(a,b,c,d=!1){return N("claude",a.id,b,c,()=>S(i().join(a.home,".credentials.json"),c),{windowMs:5e4,force:d})}async function Q(a,b={}){let c=b.now??Date.now,d=await P(a,c(),c,b.force);return{data:d.data,provenance:d.meta,observedAt:d.observedAt}}function R(a,b,c,d=Date.now()){let e=H("claude",a),f=e?K(e):null;if(!Number.isFinite(c)||null!==f&&f>=c)return!1;let g=!!(e?.retryAt&&d<e.retryAt);return F().engines.claude[a]={at:c,data:b,baseData:b,provenance:g?{source:"cache",reason:e.provenance.reason,staleSince:new Date(c).toISOString(),retryAt:e.provenance.retryAt??null}:{source:"live",reason:null,staleSince:null,retryAt:null},retryAt:g?e.retryAt:null,consecutive429s:g?e.consecutive429s??0:0,consecutiveInitializeTimeouts:0,parser:2,observedAt:c},G(F()),!0}async function S(a,b=Date.now,c=8e3){let f="",g=null,h=(0,d.TK)(i().dirname(a));if("present"!==h.state)return{data:null,reason:"absent"===h.state?"credentials absent":"credential store unavailable",source:"unavailable"};let j=h.document.claudeAiOauth;if("string"==typeof j?.accessToken&&(f=j.accessToken),"string"==typeof j?.subscriptionType&&(g=j.subscriptionType),!f)return{data:null,reason:"credentials missing access token",source:"unavailable"};try{let a=await fetch("https://api.anthropic.com/api/oauth/usage",{headers:{authorization:"Bearer "+f,"anthropic-beta":"oauth-2025-04-20"},signal:AbortSignal.timeout(c)});if(429===a.status)return{data:null,reason:z.u1,source:"unavailable",retryAt:function(a,b){if(!a)return;let c=Number(a);if(Number.isFinite(c)&&c>=0)return b+1e3*c;let d=Date.parse(a);if(Number.isFinite(d))return Math.max(b,d)}(a.headers.get("retry-after"),b())};if(401===a.status)return{data:null,reason:z.e4,source:"unavailable"};if(!a.ok)return{data:null,reason:`oauth usage status ${a.status}`,source:"unavailable"};let d=await a.json(),h={session:T(d.five_hour,r.Gn),weekly:T(d.seven_day,r.rX),tiers:function(a){let b=new Map,c=new Map;for(let d of Object.keys(a)){if(V.has(d)||X(d))continue;let e=a[d],f=T(e&&"object"==typeof e?e:void 0,r.rX);if(!f)continue;let g=d.startsWith(U)?d.slice(U.length):d;g&&(b.set(g,{...f,tier:g}),c.set(d,g))}let d=new Set([...c.keys(),...c.values()]),f=new Map;for(let g of Array.isArray(a.limits)?a.limits:[]){let a=function(a,b){let c=$(a);if(!c)return null;let d=(function a(b,c=0){return"string"==typeof b?[b]:c>=3||!b||"object"!=typeof b?[]:(Array.isArray(b)?b:Object.values(b)).flatMap(b=>a(b,c+1))})(c).map(a=>a.trim()).filter(a=>Z.test(a));if(d.some(a=>V.has(a)||X(a)))return null;let f=[...new Set(d.filter(a=>b.has(a)))],g=$(c.scope),h=$(g?.model),i=function(a,b){for(let c of a)if(c)for(let a of Y){let d=c[a];if("string"!=typeof d)continue;let e=d.trim();if(e&&!b.has(e)&&!Z.test(e))return e}return null}([h,c],b),j=[...[h?.id,h?.display_name,g?.model,c.model,c.model_id].filter(a=>"string"==typeof a),...i?i.split(/[\s,/|()\[\]]+/):[]].map(a=>(0,e.OV)(a)).find(a=>null!==a)??null;return f.length||j?{buckets:f,family:j,label:i,window:function(a){let b="number"==typeof a.percent?a.percent:"number"==typeof a.utilization?a.utilization:null;if(null===b||!Number.isFinite(b))return null;let c="string"==typeof a.resets_at?Date.parse(a.resets_at):NaN,d=[a.group,a.kind].some(a=>"string"==typeof a&&a.startsWith("session"));return{usedPercent:b,resetsAt:Number.isFinite(c)?Math.round(c/1e3):null,windowMinutes:d?r.Gn:r.rX}}(c)}:null}(g,d);if(!a)continue;let h=a.buckets.map(a=>c.get(a)??a).find(a=>b.has(a))??null,i=a.window??(h?b.get(h):null),j=a.family??h;if(!i||!j)continue;let k={usedPercent:i.usedPercent,resetsAt:i.resetsAt,windowMinutes:i.windowMinutes,tier:j,...a.label?{label:a.label}:{}},l=f.get(j);(!l||k.usedPercent>l.usedPercent)&&f.set(j,k)}return(f.size?[...f.values()]:[...b.values()]).sort((a,b)=>(0,e.aE)(a.tier,a.label).localeCompare((0,e.aE)(b.tier,b.label)))}(d),plan:g,capturedAt:null};if(!h.session&&!h.weekly)return{data:null,reason:"oauth usage response had no windows",source:"unavailable"};return{data:h,reason:null,source:"live"}}catch(a){return{data:null,reason:`oauth usage fetch failed: ${a instanceof Error?a.message:String(a)}`,source:"unavailable"}}}function T(a,b){if(!a||"number"!=typeof a.utilization)return null;let c="string"==typeof a.resets_at?Date.parse(a.resets_at):NaN;return{usedPercent:a.utilization,resetsAt:Number.isFinite(c)?Math.round(c/1e3):null,windowMinutes:b}}let U="seven_day_",V=new Set(["five_hour","seven_day"]),W=["overage","oauth_apps","cowork","omelette","extra_usage","spend","breakdown"];function X(a){return W.some(b=>a.includes(b))}let Y=["display_name","displayName","label","title","name"],Z=/^[a-z0-9_.:-]+$/;function $(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}async function _(a={}){let b=a.account??(0,j.O$)(),c=a.now??Date.now,d=function(a=(0,j.O$)().sessionsDir){let b=0,c=null,d=null;for(let e of function(a){let b=new Set(function(a){let b=ab(i().join(i().dirname(a),"history.jsonl"),196608);if(!b)return[];let c=[],d=new Set;for(let e of b.split("\n").reverse())if(e.includes('"session_id"'))try{let b=JSON.parse(e);if("string"!=typeof b.session_id||d.has(b.session_id))continue;d.add(b.session_id);let f=function(a,b){let c=/^([0-9a-f]{8})-([0-9a-f]{4})-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.exec(b);if(!c)return null;let d=Number.parseInt(c[1]+c[2],16);if(!Number.isFinite(d))return null;let e=new Date(d);return Number.isNaN(e.getTime())?null:i().join(a,String(e.getFullYear()),String(e.getMonth()+1).padStart(2,"0"),String(e.getDate()).padStart(2,"0"))}(a,b.session_id);if(!f)continue;let g=aa(f).find(a=>a.endsWith(`${b.session_id}.jsonl`));if(g&&c.push(i().join(f,g)),d.size>=12)break}catch{}return c}(a));for(let c of function(a){let b=[];for(let c of aa(a))for(let d of aa(i().join(a,c)))for(let e of aa(i().join(a,c,d)))if(b.push(i().join(a,c,d,e)),b.length>=8)return b;return b}(a))for(let a of aa(c).filter(a=>a.endsWith(".jsonl")).slice(0,12))b.add(i().join(c,a));let c=[];for(let a of b)try{c.push({p:a,m:g().statSync(a).mtimeMs})}catch{}return c.sort((a,b)=>b.m-a.m||b.p.localeCompare(a.p)).slice(0,12).map(a=>a.p)}(a)){b+=1;let a=function(a){let b=ab(a,196608);if(!b)return{data:null,rejectedAt:null};let c=b.split("\n"),d=null,e=null;for(let a=c.length-1;a>=0;a--){let b=c[a];if(b.includes('"rate_limits"')||b.includes('"usage_limit'))try{let a=JSON.parse(b),c="string"==typeof a.timestamp?Date.parse(a.timestamp):NaN,f=Number.isFinite(c)?c/1e3:null;if(ac(a.payload?.codex_error_info)||ac(a.payload?.error?.codex_error_info)){null!==f&&(null===e||f>e)&&(e=f);continue}let g=a.payload?.rate_limits;if(!g)continue;let h=(0,r.v9)(ag(g.primary,f),ag(g.secondary,f),f);if(!h.session&&!h.weekly)continue;(!d||null===d.capturedAt||null!==f&&f>d.capturedAt)&&(d={session:h.session,weekly:h.weekly,plan:"string"==typeof g.plan_type?g.plan_type:null,capturedAt:f})}catch{}}return{data:d,rejectedAt:e}}(e);null!==a.rejectedAt&&(null===d||a.rejectedAt>d)&&(d=a.rejectedAt),a.data&&(!c||null===c.capturedAt||null!==a.data.capturedAt&&a.data.capturedAt>c.capturedAt)&&(c=a.data)}if(c){let a=null!==d&&(null===c.capturedAt||d>=c.capturedAt)?d:null;return{data:c,reason:null,source:"transcript",rejectedAt:a}}return null!==d?{data:null,reason:"usage-limit-exceeded",source:"transcript",rejectedAt:d}:{data:null,reason:0===b?"no codex session files":`no rate_limits event in newest ${b} session files`,source:"unavailable"}}(b.sessionsDir);try{let e=await (a.liveReader??(a=>(0,l.VD)().readRateLimits(a)))(b),f=c()/1e3,g=function(a,b=Math.round(Date.now()/1e3)){let c=a=>a?{usedPercent:a.usedPercent,resetsAt:a.resetsAt,windowMinutes:a.windowDurationMins}:null,d=(0,r.v9)(c(a.primary),c(a.secondary),b);return{session:d.session,weekly:d.weekly,plan:a.planType,capturedAt:b}}(e,f),h=d.data?ae(d.data,d.rejectedAt):null,i=h&&d.data?ad(d.data)?.value.resetsAt:null,j=ad(g)?.value.resetsAt,k="number"==typeof d.rejectedAt&&"number"==typeof i&&d.rejectedAt<i&&"number"==typeof j&&j>i?null:h??ae(g,d.rejectedAt),m=k??d.data;if(!m)return{data:g,reason:null,source:"live"};let n=a=>(0,y.I1)({limits:g,observedAt:g.capturedAt,stale:!1,source:"live"},{limits:a,observedAt:a.capturedAt,stale:!1,source:"transcript"},f),o=n(m),p=(0,y.ap)(o,"transcript"),q=k?d.data?(0,y.L1)(n(d.data)):g:null;return{data:(0,y.L1)(o),...q?{baseData:q}:{},reason:p?"transcript-reconciled":null,source:p?"transcript":"live"}}catch(f){let a=(0,m.XR)(f instanceof Error?f.message:String(f)),e=/request timed out:\s*initialize\b/i.test(a);if(console.warn(`[limits] Codex app-server probe for ${b.id} failed: ${a}`),d.data){let a=ae(d.data,d.rejectedAt),b=a&&af(a,c()/1e3)?a:d.data;return{data:b,...b===a?{baseData:d.data}:{},reason:"transcript-fallback",source:"transcript",...e?{backoffReason:B}:{}}}if(null!==d.rejectedAt&&void 0!==d.rejectedAt)return{...d,...e?{backoffReason:B}:{}};return{data:null,reason:e?B:"app-server-unavailable",source:"unavailable"}}}function aa(a){try{return g().readdirSync(a).sort().reverse()}catch{return[]}}function ab(a,b){let c;try{c=g().openSync(a,"r")}catch{return null}try{let a=g().fstatSync(c).size,d=Math.min(a,b),e=Buffer.alloc(d);return g().readSync(c,e,0,d,a-d),e.toString("utf8")}catch{return null}finally{g().closeSync(c)}}function ac(a){return"usage_limit"===a||"usage_limit_exceeded"===a}function ad(a){return["session","weekly"].flatMap(b=>a[b]?[{key:b,value:a[b]}]:[]).sort((a,b)=>b.value.usedPercent-a.value.usedPercent||a.key.localeCompare(b.key))[0]??null}function ae(a,b){return null==b||!function(a,b){let c=ad(a)?.value;if(!c)return!1;if(null===c.resetsAt)return!0;if("number"!=typeof c.windowMinutes)return b<=c.resetsAt;let d=60*c.windowMinutes;return b>=c.resetsAt-d&&b<c.resetsAt+d}(a,b)?null:function(a,b){let c=ad(a);if(!c)return a;let d=null!==c.value.resetsAt&&c.value.resetsAt<=b?null:c.value.resetsAt,e={...a,[c.key]:{...c.value,usedPercent:100,resetsAt:d,observedAt:b,source:"transcript"}},f=[e.session?.observedAt,e.weekly?.observedAt].filter(a=>null!=a);return{...e,capturedAt:f.length?Math.min(...f):b}}(a,b)}function af(a,b){let c=ad(a);if(!c||c.value.usedPercent<100)return!1;let d=c.value;if(null!==d.resetsAt)return d.resetsAt>b;if(null===d.observedAt||void 0===d.observedAt)return!0;let e="number"==typeof d.windowMinutes?d.windowMinutes:"weekly"===c.key?r.rX:r.Gn;return b-d.observedAt<60*e}function ag(a,b){if(!a||"number"!=typeof a.used_percent)return null;let c=null;return"number"==typeof a.resets_at?c=a.resets_at:"number"==typeof a.resets_in_seconds&&null!==b&&(c=b+a.resets_in_seconds),{usedPercent:a.used_percent,resetsAt:c,windowMinutes:"number"==typeof a.window_minutes?a.window_minutes:null,observedAt:b}}function ah(a){return a&&"number"==typeof a.windowMinutes&&a.windowMinutes>0?Math.round(60*a.windowMinutes):null}function ai(a,b,c,d,e){let f=!!(c?.session||c?.weekly),g=(e,g,h,i)=>{var j;let k,l,m,n,o=c?.[e]??null,r=ah(o)??h??p[e];return f&&!o&&0===g.length?{windowStart:null,resetsAt:null,windowSeconds:r,samples:[],windowUnreported:!0}:(j=function(a,b,c,d=Math.round(Date.now()/1e3)){let e=x().series[u(a,b,c)]??[],f=d-691200;return e.filter(a=>a.t>=f)}(a,b,e,d),l=null!==(k=o?.resetsAt??i??null)?k-r:null,m=function(...a){let b=new Map;for(let c of a)for(let a of c)Number.isFinite(a.t)&&Number.isFinite(a.remaining)&&b.set(a.t,q(a.remaining));return[...b.entries()].map(([a,b])=>({t:a,remaining:b})).sort((a,b)=>a.t-b.t)}(j,g,o&&"number"==typeof o.usedPercent?[{t:d,remaining:q(100-o.usedPercent)}]:[]),n=null!==l?m.filter(a=>a.t>=l):m,{windowStart:l,resetsAt:k,windowSeconds:r,samples:n})};return{session:g("session",e?.session??[],e?.sessionWindowSeconds??null,e?.sessionResetsAt??null),weekly:g("weekly",e?.weekly??[],e?.weeklyWindowSeconds??null,e?.weeklyResetsAt??null)}}async function aj(a={}){let b=await O(a),c=Math.round(Date.now()/1e3),d=b.claudeAccountId?ai("claude",b.claudeAccountId,b.claude,c,null):null,e=null;if(b.codexAccountId){let a=function(a,b){let c=[],d=[],e=new Set,f=-1/0,h=null,j=null,k=null,l=null;for(let{p:m,m:n}of function*(a){let b=0;for(let c of aa(a))for(let d of aa(i().join(a,c)))for(let e of aa(i().join(a,c,d))){let f=i().join(a,c,d,e),h=[];for(let a of aa(f)){if(!a.endsWith(".jsonl"))continue;let b=i().join(f,a);try{h.push({p:b,m:g().statSync(b).mtimeMs})}catch{}}for(let a of(h.sort((a,b)=>b.m-a.m),h))if(yield a,++b>=400)return}}(a)){if(n/1e3<b)continue;let a=function(a){try{if(g().statSync(a).size>8388608)return ab(a,8388608);return g().readFileSync(a,"utf8")}catch{return ab(a,8388608)}}(m);if(a){for(let g of a.split("\n"))if(g.includes('"rate_limits"'))try{let a=JSON.parse(g),i=a.payload?.rate_limits;if(!i)continue;let m="string"==typeof a.timestamp?Date.parse(a.timestamp):NaN;if(!Number.isFinite(m))continue;let n=Math.round(m/1e3);if(n<b||e.has(n))continue;let o=(0,r.v9)(ag(i.primary,n),ag(i.secondary,n),n);if(!o.session&&!o.weekly)continue;e.add(n),o.session&&c.push({t:n,remaining:q(100-o.session.usedPercent)}),o.weekly&&d.push({t:n,remaining:q(100-o.weekly.usedPercent)}),n>f&&(f=n,o.session&&(k=o.session.resetsAt,h=ah(o.session)),o.weekly&&(l=o.weekly.resetsAt,j=ah(o.weekly)))}catch{}}}return c.sort((a,b)=>a.t-b.t),d.sort((a,b)=>a.t-b.t),{session:c,weekly:d,sessionWindowSeconds:h,weeklyWindowSeconds:j,sessionResetsAt:k,weeklyResetsAt:l}}((0,j.O$)().sessionsDir,c-691200);e=ai("codex",b.codexAccountId,b.codex,c,a)}return{claude:d,codex:e,claudeAccountId:b.claudeAccountId,codexAccountId:b.codexAccountId,historySince:x().since}}},97609:(a,b,c)=>{c.d(b,{Gn:()=>d,Zc:()=>h,rX:()=>e,v9:()=>g});let d=300,e=10080;function f(a,b){return null==a.windowMinutes&&null!==b&&null!=a.resetsAt&&a.resetsAt-b>60*d+1800}function g(a,b,c=null){let d={session:null,weekly:null},e=[];for(let[c,f]of[["session",a],["weekly",b]]){var h;if(!f)continue;let a="number"!=typeof(h=f.windowMinutes)||!Number.isFinite(h)||h<=0?null:h<=1440?"session":"weekly";a&&!d[a]?d[a]=f:e.push({slot:c,window:f})}for(let{slot:a,window:b}of e){let e="session"===a&&f(b,c)?"weekly":a;d[e]||(d[e]=b)}return d}function h(a){return a?.session&&!a.weekly&&f(a.session,a.capturedAt)?{...a,session:null,weekly:a.session}:a}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=9006,exports.ids=[9006],exports.modules={39006:a=>{a.exports=JSON.parse('{"name":"agent-log-viewer","version":"1.2.2","bin":{"agent-log-viewer":"bin/cli.mjs","agent-log-viewer-mcp":"bin/mcp-server.mjs"},"exports":{"./mcp-server":"./bin/mcp-server.mjs","./package.json":"./package.json"},"files":["bin","dist","vendor"],"engines":{"node":">=20.9.0","bun":">=1.4.0"},"os":["linux","darwin","win32"],"scripts":{"dev":"NODE_ENV=development bun --bun node_modules/.bin/next dev --webpack --hostname 127.0.0.1","build":"next build --webpack && bun run build:mcp","build:mcp":"bun scripts/build-mcp.ts","demo:capture":"bun scripts/demo-capture.ts","deploy:staging":"bun scripts/deploy-staging.ts","bootstrap:runtime-host":"bun scripts/bootstrap-runtime-host.ts","demo:motion":"bun scripts/demo-motion.ts","start":"bun --bun node_modules/.bin/next start","lint":"eslint","prepack":"node scripts/prepack.mjs","privacy:check":"LLV_PRIVACY_KNOWN_VALUE_FINGERPRINTS_FILE=scripts/privacy-known-value-fingerprints.json LLV_PRIVACY_OCR_LANGUAGES=eng+ukr bun scripts/privacy-publication-gate.ts --require-known-values --check-commits --base origin/main","privacy:fingerprints":"bun scripts/generate-privacy-known-value-fingerprints.ts","privacy:github-audit":"LLV_PRIVACY_KNOWN_VALUE_FINGERPRINTS_FILE=scripts/privacy-known-value-fingerprints.json bun scripts/privacy-github-audit.ts","privacy:placeholders":"bun scripts/generate-privacy-placeholders.ts","telegram:provision":"node bin/provision-telegram-connector.mjs","test":"bun test"},"dependencies":{"@modelcontextprotocol/sdk":"1.30.0","entities":"^8.0.0","highlight.js":"^11.11.1","lucide-react":"^1.23.0","next":"16.3.3","pdfjs-dist":"^6.2.108","qrcode":"^1.5.4","qrcode-terminal":"^0.12.0","react":"19.2.8","react-dom":"19.2.8","zod":"4.4.3"},"devDependencies":{"@tailwindcss/postcss":"^4","@types/bun":"^1.3.14","@types/node":"^26","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","eslint":"^10","eslint-config-next":"16.3.2","happy-dom":"^20.10.6","playwright-core":"1.62.1","tailwindcss":"^4","typescript":"^5"},"ignoreScripts":["sharp","unrs-resolver"],"trustedDependencies":["sharp","unrs-resolver"],"description":"Local web UI that renders Codex / Claude Code agent logs as a live chat-style feed with a session parentage tree","repository":{"type":"git","url":"git+https://github.com/Latand/live-log-viewer-next.git"},"license":"MIT","overrides":{"fast-uri":"^3.1.6"},"patchedDependencies":{"next@16.3.3":"patches/next-16.3.3.patch"}}')}};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";exports.id=9060,exports.ids=[9060],exports.modules={79060:(a,b,c)=>{c.d(b,{LH:()=>z,checkStateDatabasesAtActivation:()=>B,startStateDurability:()=>E});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(25087),i=c(65154);let j=g().join("backups","sqlite"),k="storage-incidents.json",l=6048e5;function m(a){let b=b=>g().join(a,b);return[{name:"state.sqlite",filename:b("state.sqlite"),check:"integrity_check",backup:{intervalMs:6e5,retention:{kind:"tiered"}},revisionSql:"SELECT (SELECT COUNT(*) FROM state_collections) || ':' || (SELECT COALESCE(SUM(revision), 0) FROM state_collections) AS revision"},{name:"agent-registry.sqlite",filename:b("agent-registry.sqlite"),check:"integrity_check",backup:{intervalMs:6e5,retention:{kind:"tiered"}},revisionSql:"SELECT value AS revision FROM registry_meta WHERE key = 'revision'"},{name:"mcp-receipts.sqlite",filename:b("mcp-receipts.sqlite"),check:"quick_check",backup:{intervalMs:864e5,retention:{kind:"newest",count:3}},revisionSql:null},{name:"handoff-queue.sqlite",filename:b("handoff-queue.sqlite"),check:"quick_check",backup:null,revisionSql:null}]}function n(){let a=process.getBuiltinModule?.("bun:sqlite");if(!a)throw Error("state database durability requires the Bun runtime");return a.Database}function o(a){if(!(a instanceof Error))return String(a);let b=a.code;return"string"==typeof b&&b?`${b}: ${a.message}`:a.message}function p(a){let b=a instanceof Error?a.code:void 0;if("string"==typeof b&&/^SQLITE_(CORRUPT|NOTADB)/.test(b))return!0;let c=a instanceof Error?a.message:String(a);return/database disk image is malformed|file is not a database/i.test(c)}function q(a,b,c){let d=null;try{let e=n();(d=c?new e(a,{readonly:!0}):new e(a,{readwrite:!0})).exec("PRAGMA busy_timeout = 5000");let f=d.query(`PRAGMA ${b}`).all().map(a=>String(Object.values(a)[0]));if(1===f.length&&"ok"===f[0])return{verdict:"ok"};return{verdict:"corrupt",detail:`${b}: ${f.slice(0,5).join("; ")||"no result"}`}}catch(a){return p(a)?{verdict:"corrupt",detail:o(a)}:{verdict:"unknown",detail:o(a)}}finally{d?.close()}}function r(a){for(let b of["","-wal","-shm","-journal"])e().rmSync(`${a}${b}`,{force:!0})}function s(a){try{return e().lstatSync(a),!0}catch{return!1}}function t(a){return a.toISOString().replace(/[:.]/g,"-")}let u=/^(\d{4}-\d{2}-\d{2})T(\d{2})-(\d{2})-(\d{2})-(\d{3})Z$/;function v(a,b){let c;try{c=e().readdirSync(a)}catch{return[]}let d=`${b.replace(/\.sqlite$/,"")}-`,f=[];for(let b of c){if(!b.startsWith(d)||!b.endsWith(".sqlite"))continue;let c=function(a){let b=u.exec(a);if(!b)return null;let c=Date.parse(`${b[1]}T${b[2]}:${b[3]}:${b[4]}.${b[5]}Z`);return Number.isFinite(c)?c:null}(b.slice(d.length,-7));if(null===c)continue;let h=g().join(a,b),i=0;try{i=e().statSync(h).size}catch{continue}f.push({name:b,file:h,at:c,bytes:i})}return f.sort((a,b)=>b.at-a.at)}function w(a){return g().join(a,k)}function x(a){let b,c,d=w(a);try{b=e().readFileSync(d,"utf8")}catch{return[]}try{c=JSON.parse(b)}catch(b){let a=`${d}.unreadable-${t(new Date)}`;try{e().renameSync(d,a),console.error(`[state durability] ${k} did not parse (${o(b)}); kept as ${g().basename(a)}`)}catch{}return[]}return c&&"object"==typeof c&&Array.isArray(c.incidents)?c.incidents.filter(a=>!!a&&"object"==typeof a&&"string"==typeof a.kind&&"string"==typeof a.database&&"string"==typeof a.at):[]}function y(a,b){let c=[...x(a),b].slice(-50);try{(0,i.fZ)(w(a),{version:1,incidents:c})}catch(a){console.error(`[state durability] could not record the incident: ${o(a)}`)}console.error(`[state durability] ${b.kind} ${b.database}: ${b.message}`)}function z(a,b={}){let c=(b.now??new Date).getTime();return x(a).filter(a=>{let b=Date.parse(a.at);return Number.isFinite(b)&&c-b<=l})}function A(a){return`${a}.restoring`}function B(a,b={}){let c=[];for(let d of m(a))try{let f=function(a,b){if(e().rmSync((0,h.h2)(a.filename),{force:!0}),!s(a.filename))return{state:"absent"};let c=q(a.filename,a.check,!0);if("ok"===c.verdict)return{state:"ok"};if("unknown"===c.verdict)return console.error(`[state durability] ${a.name} could not be checked, left as it is: ${c.detail}`),{state:"unchecked",detail:c.detail};let d=b.now??new Date,f=b.backupDirectory??g().join(b.stateDirectory,j),k={database:a.name,at:d.toISOString(),detail:c.detail},l=function(a,b){let c=A(a.filename);for(let d of v(b,a.name)){r(c);try{e().copyFileSync(d.file,c);let a=q(c,"integrity_check",!1);if("ok"!==a.verdict||s(`${c}-wal`))throw Error("ok"===a.verdict?"it left a WAL behind":a.detail);return e().rmSync(`${c}-shm`,{force:!0}),e().chmodSync(c,384),(0,i.Hr)(c),d}catch(a){console.error(`[state durability] backup ${d.name} refused: ${o(a)}`)}}return r(c),null}(a,f),m=function(a,b,c,d){let f=`${a}.corrupt-${t(b)}`,j=[],k=(0,h.h2)(a),l=null,m=null;try{e().writeFileSync(k,`${process.pid}
|
|
2
|
+
`,{mode:384}),l=function(a){let b=null;try{return(b=new(n())(a,{readwrite:!0})).exec("PRAGMA busy_timeout = 5000"),b.exec("BEGIN IMMEDIATE"),b}catch(c){try{b?.close()}catch{}return p(c)||console.error(`[state durability] ${g().basename(a)} write lock not taken: ${o(c)}`),null}}(a);let b=!1;if(c){d?.("set-aside-main");try{e().linkSync(a,f)}catch{e().renameSync(a,f)}b=!0,j.push(g().basename(f))}for(let b of["-wal","-shm"])s(`${a}${b}`)&&(d?.("-wal"===b?"set-aside-wal":"set-aside-shm"),e().renameSync(`${a}${b}`,`${f}${b}`),j.push(g().basename(`${f}${b}`)));c?(d?.("restore"),e().renameSync(c,a)):b||(d?.("set-aside-main"),e().renameSync(a,f),j.unshift(g().basename(f)))}catch(b){m=o(b);try{s(a)&&(0,h.mm)(a)===(0,h.mm)(f)?e().unlinkSync(a):s(a)&&!s(f)&&j.length&&(e().renameSync(a,f),j.unshift(g().basename(f)))}catch(a){m=`${m}; setting the damaged file aside also failed: ${o(a)}`}}finally{if(l){try{l.exec("ROLLBACK")}catch{}try{l.close()}catch{}}e().rmSync(k,{force:!0});try{(0,i.Hr)(g().dirname(a))}catch(a){console.error(`[state durability] the state directory could not be synced after the swap: ${o(a)}`)}}return{corruptFiles:j,error:m}}(a.filename,d,l?A(a.filename):null,b.beforeSwapStep);if(null!==m.error){r(A(a.filename));let d=s(a.filename),e={...k,kind:"database-fallback-failed",corruptFiles:m.corruptFiles,backup:null,backupAt:null,backupAgeMs:null,message:`${a.name} was damaged (${c.detail}) and the fallback failed (${m.error}). `+(d?"The damaged database is still in place and may keep failing.":"It starts empty.")+(m.corruptFiles.length?` The damaged files are kept as ${m.corruptFiles.join(", ")}.`:"")};return y(b.stateDirectory,e),{state:"failed",incident:e}}let u=m.corruptFiles;if(l){let e=new Date(l.at).toISOString(),f={...k,corruptFiles:u,kind:"database-restored",backup:l.name,backupAt:e,backupAgeMs:d.getTime()-l.at,message:`${a.name} was damaged (${c.detail}) and was restored from the backup taken at ${e}. Changes written after ${e} are lost. The damaged files are kept as ${u.join(", ")}.`};return y(b.stateDirectory,f),{state:"restored",incident:f}}let w={...k,corruptFiles:u,kind:"database-fresh",backup:null,backupAt:null,backupAgeMs:null,message:`${a.name} was damaged (${c.detail}) and no backup passed its check, so it starts empty. The damaged files are kept as ${u.join(", ")}.`};return y(b.stateDirectory,w),{state:"fresh",incident:w}}(d,{stateDirectory:a,...b});"incident"in f&&c.push(f.incident)}catch(a){console.error(`[state durability] ${d.name} check failed: ${o(a)}`)}return c}function C(a){try{return process.kill(a,0),!0}catch(a){return"EPERM"===a.code}}async function D(a,b,d={}){let f=d.launch??function(a=process.cwd()){let b=g().join(a,"src/lib/stateBackup.worker.ts"),c=g().join(a,".next/server/state-backup-worker.js"),d="/usr/local/bin/bun-container";return e().existsSync(b)&&e().existsSync(d)?{executable:d,workerPath:b}:e().existsSync(c)?{executable:process.versions.bun?process.execPath:process.env.LLV_BUN_EXECUTABLE||"bun",workerPath:c}:{executable:process.execPath,workerPath:b}}(),{spawn:h}=await Promise.resolve().then(c.t.bind(c,31421,23)),i=e().existsSync("/usr/bin/nice"),j=h(i?"/usr/bin/nice":f.executable,[...i?["-n","10",f.executable]:[],f.workerPath],{cwd:process.cwd(),stdio:["pipe","pipe","inherit"],env:process.env}),k={stateDirectory:a,lastRevisions:[...b]},l=new Map((await new Promise((a,b)=>{let c="",d=setTimeout(()=>{j.kill("SIGKILL"),b(Error("the backup worker ran past 900000 ms and was stopped"))},9e5);d.unref?.(),j.stdout.setEncoding("utf8"),j.stdout.on("data",a=>{c+=a}),j.stdin.on("error",()=>{}),j.once("error",a=>{clearTimeout(d),b(a)}),j.once("close",(e,f)=>{clearTimeout(d);try{if(0!==e)throw Error(`the backup worker exited with ${e??f}`);a(JSON.parse(c.trim().split("\n").at(-1)??""))}catch(a){b(a)}}),j.stdin.end(JSON.stringify(k))})).outcomes);for(let[a,c]of l)("taken"===c.state||"unchanged"===c.state)&&b.set(a,c.revision);return l}function E(a){let b=globalThis;b.__llvStateDurabilityTimer&&clearInterval(b.__llvStateDurabilityTimer);try{!function(a,b={}){let c,d=b.now??Date.now(),f=b.pidAlive??C,h=b.minAgeMs??36e5;try{c=e().readdirSync(a,{withFileTypes:!0})}catch{return[]}let i=[];for(let b of c){if(!b.isFile()||!b.name.endsWith(".tmp"))continue;let c=function(a){for(let b of a.slice(0,-4).split(".")){let a=/^(\d{1,7})(?:-\d+)?$/.exec(b);if(!a)continue;let c=Number(a[1]);if(c>0&&c<=4194304)return c}return null}(b.name);if(null===c)continue;let j=g().join(a,b.name);try{if(d-e().statSync(j).mtimeMs<h||f(c))continue;e().unlinkSync(j),i.push(b.name)}catch{}}}(a.stateDirectory),function(a){let b=[];for(let{name:c,onlyEmpty:d}of[{name:"orchestrator.json",onlyEmpty:!1},{name:"pipelines.sqlite",onlyEmpty:!0},{name:"registry.sqlite",onlyEmpty:!0}]){let f=g().join(a,c);try{let a=e().lstatSync(f);if(!a.isFile()||d&&0!==a.size)continue;e().unlinkSync(f),b.push(c)}catch{}}}(a.stateDirectory)}catch(a){console.error(`[state durability] cleanup failed: ${o(a)}`)}let c=a.raiseBoardCard??(b=>G(a.stateDirectory,b));for(let b of a.incidents)c(b).catch(a=>console.error(`[state durability] board card for ${b.database} failed: ${o(a)}`));let d=new Map,f=a.runPass??D,h=!1,i=setInterval(()=>{let c;if(!a.ownsTraffic()){clearInterval(i),b.__llvStateDurabilityTimer===i&&delete b.__llvStateDurabilityTimer;return}if(!h){try{c=function(a,b,c=new Date){let d=g().join(a,j);return m(a).filter(a=>{if(!a.backup||!s(a.filename))return!1;let f=v(d,a.name)[0];if(f&&c.getTime()-f.at<a.backup.intervalMs)return!1;let g=b.get(a.name);return!g||g!==function(a){if(a.revisionSql){let b=null;try{(b=new(n())(a.filename,{readonly:!0})).exec("PRAGMA busy_timeout = 5000");let c=b.query(a.revisionSql).get();if(c&&null!==c.revision&&void 0!==c.revision)return`rev:${String(c.revision)}`}catch{}finally{b?.close()}}return`sig:${function(a){let b=[];for(let c of[a,`${a}-wal`])try{let a=e().statSync(c,{bigint:!0});b.push(`${a.size}@${a.mtimeNs}`)}catch{b.push("missing")}return b.join("|")}(a.filename)}`}(a)}).map(a=>a.name)}(a.stateDirectory,d)}catch(a){console.error(`[state durability] backup schedule failed: ${o(a)}`);return}c.length&&(h=!0,f(a.stateDirectory,d).catch(a=>console.error(`[state durability] backup pass failed: ${o(a)}`)).finally(()=>{h=!1}))}},a.tickMs??6e4);return i.unref?.(),b.__llvStateDurabilityTimer=i,{stop(){clearInterval(i),b.__llvStateDurabilityTimer===i&&delete b.__llvStateDurabilityTimer}}}async function F(){let[{default:a},{projectIdentityFromRemote:b},{canonicalOrchestratorProject:d}]=await Promise.all([c.e(9006).then(c.t.bind(c,39006,19)),Promise.resolve().then(c.bind(c,27832)),c.e(5408).then(c.bind(c,15408))]),e=process.env.LLV_VIEWER_CANONICAL_REMOTE?.trim()||a.repository.url.trim(),f=b(e,process.cwd())?.project??null;return f?d(f):null}async function G(a,b,d){let e=void 0===d?await F():d;if(!e)return void console.error(`[state durability] no Viewer project to put the ${b.database} incident card on`);let[{mutateTasksFile:f},{createTask:h}]=await Promise.all([Promise.resolve().then(c.bind(c,23784)),Promise.resolve().then(c.bind(c,6978))]);f(a=>{let c,d=h(a.tasks,{project:e,text:(c="database-restored"===b.kind?`State database ${b.database} was restored from a backup`:"database-fallback-failed"===b.kind?`State database ${b.database} was damaged and could not be restored`:`State database ${b.database} was damaged and started empty`,`${c}
|
|
3
|
+
|
|
4
|
+
${b.message}`),placement:"unplaced",clientRequestId:`storage-incident:${b.database}:${b.at}`},a.recentCreates);return!d.ok||d.replay?{state:void 0,result:void 0}:{state:{...a,tasks:d.tasks,recentCreates:d.recentCreates},result:void 0}},g().join(a,"tasks.json"))}}};
|
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
"use strict";exports.id=9296,exports.ids=[6277,9296],exports.modules={26277:(a,b,c)=>{c.d(b,{Gs:()=>C,Kn:()=>w,gY:()=>x,h3:()=>q,jd:()=>v,kt:()=>E,ue:()=>D,vx:()=>y,w5:()=>z});var d=c(31421);c(77598);var e=c(73024),f=c.n(e),g=c(48161),h=c.n(g),i=c(76760),j=c.n(i),k=c(27146),l=c(89204),m=c(55541),n=c(19777);Object.freeze({repo:"https://github.com/chigwell/telegram-mcp",release:"v3.2.22",commit:"a61294362226bd93052f5a40b4a1b1269a99ce69",license:"Apache-2.0"});let o="127.0.0.1";function p(){let a=Number(process.env.LLV_TELEGRAM_MCP_PORT);return Number.isInteger(a)&&a>0&&a<65536?a:8809}function q(){return`http://${o}:${p()}/mcp`}function r(a,...b){if(a)return a;let c=j().join(process.cwd(),...b);if(f().existsSync(c))return c;let d=j().join(process.cwd(),"..","..",...b);return f().existsSync(d)?d:c}function s(){return r(process.env.LLV_TELEGRAM_VENDOR_DIR,"vendor","telegram-mcp")}function t(){return(0,k.BQ)("telegram","venv")}function u(){return(0,k.BQ)("telegram","vendor-src")}function v(){return process.env.LLV_TELEGRAM_PYTHON||j().join(t(),"bin","python")}function w(){return r(process.env.LLV_TELEGRAM_SERVER_BRIDGE,"bin","telegram-mcp-server.py")}function x(){return r(process.env.LLV_TELEGRAM_SESSION_READER,"bin","telegram-session-reader.mjs")}let y=Object.freeze(["wait_for_settled_message"]);function z(){let a=process.env.LLV_TELEGRAM_API_ID,b=process.env.LLV_TELEGRAM_API_HASH;if(a&&b)return{apiId:a,apiHash:b};try{let a=JSON.parse(f().readFileSync((0,k.ks)("telegram.json"),"utf8"));if("string"==typeof a.apiId&&a.apiId&&"string"==typeof a.apiHash&&a.apiHash)return{apiId:a.apiId,apiHash:a.apiHash}}catch{}return null}function A(){return f().existsSync(j().join(t(),".llv-provisioned"))&&f().existsSync(v())&&f().existsSync(j().join(u(),"pyproject.toml"))}let B=null;function C(){return A()?Promise.resolve(!0):B||(B=(async()=>((0,n._q)(!0),await (0,l.pM)((0,k.BQ)("telegram","connector-provision"),"Telegram connector provisioning is busy",async()=>{var a;return!!A()||await (a={command:process.execPath,args:[r(process.env.LLV_TELEGRAM_PROVISIONER,"bin","provision-telegram-connector.mjs")],cwd:s(),env:{...F(),LLV_STATE_DIR:(0,k.Pn)(),LLV_TELEGRAM_VENDOR_DIR:s(),LLV_TELEGRAM_PYTHON:v()}},new Promise(b=>{let c;try{c=(0,d.spawn)(a.command,a.args,{cwd:a.cwd,env:a.env,stdio:"ignore"})}catch{b(!1);return}c.once("error",()=>b(!1)),c.once("exit",a=>b(0===a))}))&&A()})))().catch(()=>!1).finally(()=>{B=null}))}function D(a){let b=u(),c=(0,m.WG)();return{command:v(),args:[w()],cwd:b,env:{...F(),...c,TELEGRAM_API_ID:a.credentials.apiId,TELEGRAM_API_HASH:a.credentials.apiHash,TELEGRAM_SESSION_STRING:a.sessionString,TELEGRAM_EXPOSED_TOOLS:"read-only",TELEGRAM_EVENT_FEED:"1",TELEGRAM_EVENT_FEED_FILE:(0,n.ZI)(a.credentialRef),LLV_TELEGRAM_EXCLUDED_TOOLS:y.join(","),LLV_TELEGRAM_MCP_TOKEN:a.connectorToken,LLV_TELEGRAM_VENDOR_DIR:b,MCP_TRANSPORT:"http",MCP_HOST:o,MCP_PORT:String(p())}}}function E(a,b){return{command:v(),args:[r(process.env.LLV_TELEGRAM_BRIDGE,"bin","telegram-login-bridge.py"),a],cwd:h().homedir(),env:{...F(),TELEGRAM_API_ID:b.apiId,TELEGRAM_API_HASH:b.apiHash}}}function F(){let a={};for(let b of["PATH","HOME","LANG","LC_ALL","TMPDIR"])void 0!==process.env[b]&&(a[b]=process.env[b]);return a}},50261:(a,b,c)=>{c.r(b),c.d(b,{STRUCTURED_HOST_RETIREMENT_CLAUSES:()=>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
"use strict";exports.id=9296,exports.ids=[6277,9296],exports.modules={26277:(a,b,c)=>{c.d(b,{Gs:()=>C,Kn:()=>w,gY:()=>x,h3:()=>q,jd:()=>v,kt:()=>E,ue:()=>D,vx:()=>y,w5:()=>z});var d=c(31421);c(77598);var e=c(73024),f=c.n(e),g=c(48161),h=c.n(g),i=c(76760),j=c.n(i),k=c(27146),l=c(89204),m=c(55541),n=c(19777);Object.freeze({repo:"https://github.com/chigwell/telegram-mcp",release:"v3.2.22",commit:"a61294362226bd93052f5a40b4a1b1269a99ce69",license:"Apache-2.0"});let o="127.0.0.1";function p(){let a=Number(process.env.LLV_TELEGRAM_MCP_PORT);return Number.isInteger(a)&&a>0&&a<65536?a:8809}function q(){return`http://${o}:${p()}/mcp`}function r(a,...b){if(a)return a;let c=j().join(process.cwd(),...b);if(f().existsSync(c))return c;let d=j().join(process.cwd(),"..","..",...b);return f().existsSync(d)?d:c}function s(){return r(process.env.LLV_TELEGRAM_VENDOR_DIR,"vendor","telegram-mcp")}function t(){return(0,k.BQ)("telegram","venv")}function u(){return(0,k.BQ)("telegram","vendor-src")}function v(){return process.env.LLV_TELEGRAM_PYTHON||j().join(t(),"bin","python")}function w(){return r(process.env.LLV_TELEGRAM_SERVER_BRIDGE,"bin","telegram-mcp-server.py")}function x(){return r(process.env.LLV_TELEGRAM_SESSION_READER,"bin","telegram-session-reader.mjs")}let y=Object.freeze(["wait_for_settled_message"]);function z(){let a=process.env.LLV_TELEGRAM_API_ID,b=process.env.LLV_TELEGRAM_API_HASH;if(a&&b)return{apiId:a,apiHash:b};try{let a=JSON.parse(f().readFileSync((0,k.ks)("telegram.json"),"utf8"));if("string"==typeof a.apiId&&a.apiId&&"string"==typeof a.apiHash&&a.apiHash)return{apiId:a.apiId,apiHash:a.apiHash}}catch{}return null}function A(){return f().existsSync(j().join(t(),".llv-provisioned"))&&f().existsSync(v())&&f().existsSync(j().join(u(),"pyproject.toml"))}let B=null;function C(){return A()?Promise.resolve(!0):B||(B=(async()=>((0,n._q)(!0),await (0,l.pM)((0,k.BQ)("telegram","connector-provision"),"Telegram connector provisioning is busy",async()=>{var a;return!!A()||await (a={command:process.execPath,args:[r(process.env.LLV_TELEGRAM_PROVISIONER,"bin","provision-telegram-connector.mjs")],cwd:s(),env:{...F(),LLV_STATE_DIR:(0,k.Pn)(),LLV_TELEGRAM_VENDOR_DIR:s(),LLV_TELEGRAM_PYTHON:v()}},new Promise(b=>{let c;try{c=(0,d.spawn)(a.command,a.args,{cwd:a.cwd,env:a.env,stdio:"ignore"})}catch{b(!1);return}c.once("error",()=>b(!1)),c.once("exit",a=>b(0===a))}))&&A()})))().catch(()=>!1).finally(()=>{B=null}))}function D(a){let b=u(),c=(0,m.WG)();return{command:v(),args:[w()],cwd:b,env:{...F(),...c,TELEGRAM_API_ID:a.credentials.apiId,TELEGRAM_API_HASH:a.credentials.apiHash,TELEGRAM_SESSION_STRING:a.sessionString,TELEGRAM_EXPOSED_TOOLS:"read-only",TELEGRAM_EVENT_FEED:"1",TELEGRAM_EVENT_FEED_FILE:(0,n.ZI)(a.credentialRef),LLV_TELEGRAM_EXCLUDED_TOOLS:y.join(","),LLV_TELEGRAM_MCP_TOKEN:a.connectorToken,LLV_TELEGRAM_VENDOR_DIR:b,MCP_TRANSPORT:"http",MCP_HOST:o,MCP_PORT:String(p())}}}function E(a,b){return{command:v(),args:[r(process.env.LLV_TELEGRAM_BRIDGE,"bin","telegram-login-bridge.py"),a],cwd:h().homedir(),env:{...F(),TELEGRAM_API_ID:b.apiId,TELEGRAM_API_HASH:b.apiHash}}}function F(){let a={};for(let b of["PATH","HOME","LANG","LC_ALL","TMPDIR"])void 0!==process.env[b]&&(a[b]=process.env[b]);return a}},50261:(a,b,c)=>{c.r(b),c.d(b,{STRUCTURED_HOST_RETIREMENT_CLAUSES:()=>H,STRUCTURED_HOST_RETIREMENT_INTERVAL_MS:()=>C,reconcileStructuredHostRetirement:()=>aa,runStructuredHostRetirementSweep:()=>_,startStructuredHostRetirement:()=>ac,stopStructuredHostRetirement:()=>ad,structuredHostRetirementBatch:()=>D,structuredHostRetirementGraceMs:()=>P,structuredHostRetirementIdleMs:()=>O,structuredHostRetirementJournalRecord:()=>W,structuredHostRetirementVerdict:()=>N});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(70160),i=c(88623),j=c(27146),k=c(44405),l=c(29307),m=c(55686),n=c(1198),o=c(76385),p=c(39584),q=c(89317),r=c(26296),s=c(34402);function t(a){return[...a].sort((a,b)=>a.seq-b.seq)}function u(a,b){return[...new Set(a.filter(a=>a.conversationId===b).flatMap(a=>a.replayedDeliveryIds))]}class v{constructor(a,b=()=>new Date().toISOString()){this.store=a,this.clock=b}loadState(){return{rows:this.store.load(),history:this.store.loadHistory?.()??[],drainingGenerations:this.store.loadDrainingGenerations?.()??[]}}mutate(a){let b=b=>{let c=new Map(b.rows.map(a=>[a.operationId,a])),d=a(c,b);return b.rows.splice(0,b.rows.length,...c.values()),d};if(this.store.transaction)return this.store.transaction(b);let c=this.loadState(),d=b(c);return this.store.save(c.rows),this.store.saveHistory?.(c.history),this.store.saveDrainingGenerations?.(c.drainingGenerations),d}rows(){return this.store.load().map(a=>structuredClone(a))}history(){return(this.store.loadHistory?.()??[]).map(a=>structuredClone(a))}row(a){let b=this.loadState(),c=[...b.rows,...b.history].find(b=>b.operationId===a);return c?structuredClone(c):null}enqueue(a){let b=this.clock();this.mutate((c,d)=>{for(let e of a){if(c.has(e.operationId)||d.history.some(a=>a.operationId===e.operationId))continue;let a=[...c.values()].find(a=>a.conversationId===e.conversationId);if(a){if("pending"===a.status||"draining"===a.status)continue;c.delete(a.operationId),d.history.push(structuredClone(a))}c.set(e.operationId,{...e,pendingDeliveries:a?function(a,b){let c=new Set(a.replayedDeliveryIds),d=t(b).filter(a=>!c.has(a.deliveryId)),e=new Set(d.map(a=>a.deliveryId));return[...t(a.pendingDeliveries).filter(a=>!c.has(a.deliveryId)).filter(a=>!e.has(a.deliveryId)),...d].map((a,b)=>({...a,seq:b+1}))}(a,e.pendingDeliveries):t(e.pendingDeliveries),status:"pending",predecessorGeneration:null,successorGeneration:null,replayedDeliveryIds:u(d.history,e.conversationId),interruptionOutcome:null,lastError:null,enqueuedAt:b,updatedAt:b})}})}beginDrain(a){let b=this.clock();this.mutate((c,d)=>{for(let e of(d.drainingGenerations.includes(a)||d.drainingGenerations.push(a),c.values()))e.hostGeneration===a&&("pending"===e.status||"claimed"===e.status)&&(e.status="draining",e.updatedAt=b)})}isAdmittingNewHosts(a){return!this.loadState().drainingGenerations.includes(a)}admitMessage(a,b){return this.mutate(c=>{let d=c.get(a);return!!d&&"terminal"!==d.status&&(!!d.pendingDeliveries.some(a=>a.deliveryId===b.deliveryId)||(d.pendingDeliveries=t([...d.pendingDeliveries,b]),d.updatedAt=this.clock(),!0))})}refreshTurnState(a,b,c){return this.mutate(d=>{let e=d.get(a);return!!e&&e.hostGeneration===b&&("pending"===e.status||"draining"===e.status)&&("terminal"!==e.turnState||"terminal"===c)&&(e.turnState=c,e.updatedAt=this.clock(),!0)})}claim(a,b){return this.mutate(c=>{var d;let e=c.get(a);if(!e)return{ok:!1,row:null,replay:[],reason:"not-found"};let f=t(e.pendingDeliveries).filter(a=>!e.replayedDeliveryIds.includes(a.deliveryId));return e.successorGeneration===b.toGeneration&&("claimed"===e.status||"terminal"===e.status)?{ok:!0,row:structuredClone(e),replay:f}:e.hostGeneration!==b.fromGeneration?{ok:!1,row:structuredClone(e),replay:[],reason:"generation-fence"}:(e.predecessorGeneration=b.fromGeneration,e.successorGeneration=b.toGeneration,e.hostGeneration=b.toGeneration,e.status="terminal"===e.turnState?"terminal":"claimed",e.interruptionOutcome="terminal"===(d=e.turnState)?"completed":"busy"===d?"interrupted":null,e.updatedAt=this.clock(),{ok:!0,row:structuredClone(e),replay:f})})}acknowledgeReplay(a,b,c){return this.mutate(d=>{let e=d.get(a);if(!e||e.successorGeneration!==b||"claimed"!==e.status&&"terminal"!==e.status)return!1;let f=new Set(e.pendingDeliveries.map(a=>a.deliveryId));return!c.some(a=>!f.has(a))&&(e.replayedDeliveryIds=[...new Set([...e.replayedDeliveryIds,...c])],e.updatedAt=this.clock(),!0)})}failCandidate(a){let b=this.clock();this.mutate((c,d)=>{let e=new Set(d.drainingGenerations);for(let f of c.values()){if(f.successorGeneration!==a)continue;let c=f.predecessorGeneration;f.hostGeneration=c??f.hostGeneration,f.status=c&&e.has(c)?"draining":"pending",f.predecessorGeneration=null,f.successorGeneration=null,f.replayedDeliveryIds=u(d.history,f.conversationId),f.interruptionOutcome=null,f.updatedAt=b}})}markRetryableFailure(a,b){this.mutate(c=>{let d=c.get(a);d&&(d.status="failed",d.lastError=b,d.updatedAt=this.clock())})}retirable(a){for(let b of this.store.load())if(b.hostGeneration===a&&("pending"===b.status||"draining"===b.status))return!1;return!0}}class w{constructor(a){this.filename=a,e().mkdirSync(g().dirname(a),{recursive:!0,mode:448});const b=process.getBuiltinModule?.("bun:sqlite");if(!b)throw Error("SQLite handoff queue requires the Bun runtime");this.db=(0,s.PK)(a,()=>{let c=new b.Database(a,{create:!0,strict:!0});return c.exec("PRAGMA busy_timeout = 5000; PRAGMA journal_mode = WAL; PRAGMA synchronous = FULL; PRAGMA journal_size_limit = 67108864;"),c.exec(`
|
|
2
|
+
CREATE TABLE IF NOT EXISTS handoff_rows (
|
|
3
|
+
operation_id TEXT PRIMARY KEY,
|
|
4
|
+
conversation_id TEXT,
|
|
5
|
+
row_order INTEGER NOT NULL,
|
|
6
|
+
value_json TEXT NOT NULL
|
|
7
|
+
);
|
|
8
|
+
CREATE TABLE IF NOT EXISTS handoff_history (
|
|
9
|
+
operation_id TEXT PRIMARY KEY,
|
|
10
|
+
conversation_id TEXT NOT NULL,
|
|
11
|
+
row_order INTEGER NOT NULL,
|
|
12
|
+
value_json TEXT NOT NULL
|
|
13
|
+
);
|
|
14
|
+
CREATE TABLE IF NOT EXISTS handoff_draining_generations (
|
|
15
|
+
generation TEXT PRIMARY KEY,
|
|
16
|
+
row_order INTEGER NOT NULL
|
|
17
|
+
);
|
|
18
|
+
`),c}),this.db.exec("BEGIN IMMEDIATE");try{this.db.query("PRAGMA table_info(handoff_rows)").all().some(a=>"conversation_id"===a.name)||this.db.exec("ALTER TABLE handoff_rows ADD COLUMN conversation_id TEXT"),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}this.migrateActiveRows(),this.db.exec(`
|
|
19
19
|
CREATE UNIQUE INDEX IF NOT EXISTS handoff_one_active_conversation
|
|
20
20
|
ON handoff_rows(conversation_id)
|
|
21
21
|
WHERE conversation_id IS NOT NULL;
|
|
22
|
-
`);try{e().chmodSync(a,384)}catch{}}load(){return this.db.query("SELECT value_json FROM handoff_rows ORDER BY row_order ASC").all().map(a=>JSON.parse(a.value_json))}loadHistory(){return this.db.query("SELECT value_json FROM handoff_history ORDER BY row_order ASC").all().map(a=>JSON.parse(a.value_json))}loadDrainingGenerations(){return this.db.query("SELECT generation FROM handoff_draining_generations ORDER BY row_order ASC").all().map(a=>a.generation)}writeRows(a){let b=this.db.query("INSERT INTO handoff_rows(operation_id, conversation_id, row_order, value_json) VALUES (?, ?, ?, ?)");this.db.exec("DELETE FROM handoff_rows"),a.forEach((a,c)=>b.run(a.operationId,a.conversationId,c,JSON.stringify(a)))}writeHistory(a){let b=this.db.query("INSERT INTO handoff_history(operation_id, conversation_id, row_order, value_json) VALUES (?, ?, ?, ?)");this.db.exec("DELETE FROM handoff_history"),a.forEach((a,c)=>b.run(a.operationId,a.conversationId,c,JSON.stringify(a)))}writeDrainingGenerations(a){let b=this.db.query("INSERT INTO handoff_draining_generations(generation, row_order) VALUES (?, ?)");this.db.exec("DELETE FROM handoff_draining_generations"),[...new Set(a)].forEach((a,c)=>b.run(a,c))}migrateActiveRows(){this.db.exec("BEGIN IMMEDIATE");try{let a=new Map,b=this.loadHistory(),c=new Map(b.map(a=>[a.operationId,a])),d=new Set(this.loadDrainingGenerations()),e=this.load();for(let a of[...b,...e])"draining"===a.status&&d.add(a.hostGeneration);for(let b of e){let d=a.get(b.conversationId);d&&c.set(d.operationId,d),a.set(b.conversationId,b)}this.writeRows([...a.values()]),this.writeHistory([...c.values()]),this.writeDrainingGenerations([...d]),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}save(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeRows(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}saveHistory(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeHistory(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}saveDrainingGenerations(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeDrainingGenerations(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}transaction(a){this.db.exec("BEGIN IMMEDIATE");try{let b={rows:this.load(),history:this.loadHistory(),drainingGenerations:this.loadDrainingGenerations()},c=a(b);return this.writeRows(b.rows),this.writeHistory(b.history),this.writeDrainingGenerations(b.drainingGenerations),this.db.exec("COMMIT"),c}catch(a){throw this.db.exec("ROLLBACK"),a}}}let
|
|
23
|
-
`,{encoding:"utf8",mode:384}),
|
|
24
|
-
`,{encoding:"utf8",mode:384})}catch(a){console.error("[host retirement] journal could not be appended",a)}for(let b of a.retired){let a=b.seatRevoked?", revoked seat":"";console.warn(`[host retirement] retired ${b.key} (${b.role??"no role"}, idle ${Math.round(b.idleMs/6e4)}m${a}) via ${b.via}: ${b.reclaimed.processes} process(es), ${Math.round(b.reclaimed.rssBytes/1048576)} MiB resident + ${Math.round(b.reclaimed.swapBytes/1048576)} MiB swapped reclaimed`)}for(let b of a.failed)console.warn(`[host retirement] left ${b.key} intact: ${b.error}`);let c=Object.entries(U(a).undeterminedByClause);if(c.length>0){let b=c.map(([a,b])=>`${a} (${b})`).join(", "),d=a.refused.find(a=>a.undetermined)?.reason??"";console.warn(`[host retirement] kept hosts whose clauses could not be determined: ${b} — ${d}`)}}class W{add(a){null!==a&&this.counts.set(a,(this.counts.get(a)??0)+1)}addKey(a){this.add(`key:${a}`)}addConversation(a){this.add(null===a?null:`conv:${a}`)}count(a,b){return(this.counts.get(`key:${a}`)??0)+(null===b?0:this.counts.get(`conv:${b}`)??0)}constructor(){this.counts=new Map}}function X(a){var b;let c=a.snapshot(),d=new Map;for(let a of Object.values(c.conversations))for(let b of a.generations)d.set(b.id,a);return{file:c,conversationsBySession:d,undelivered:(b=a.handoffRows(),(0,p.Le)(b,a=>{let b=new W;for(let c of a){let a=new Set(c.replayedDeliveryIds??[]);(c.pendingDeliveries??[]).some(b=>!a.has(b.deliveryId))&&("claude"===c.engine||"codex"===c.engine?b.addKey(`${c.engine}:${c.engineSessionId}`):b.addConversation(c.conversationId))}for(let a of Object.values(c.heldDeliveries??{}))D.has(a.state)&&b.addConversation(a.conversationId);return b})),openOperations:function(a){let b=new W;for(let c of Object.values(a.receipts??{}))C.has(c.state)||(null!==c.key?b.addKey((0,i.pp)(c.key)):b.addConversation(c.conversationId));return b}(c),seatConversations:a.seatConversations(),revokedConversations:a.revokedConversations()}}function Y(a,b,c){var d,e,f;let g,h=a.structuredHost,j=h.process,k=a.key,l=(0,i.pp)(k),m=b.conversationsBySession.get(k.sessionId)??null,n=m?.id??null,o=m?b.file.memberships[m.id]??[]:[],q=o.find(a=>"pipeline"===a.kind)??null,r=m?.generations.find(a=>a.id===k.sessionId)??null;return{key:k,keyId:l,conversationId:n,title:r?.launchProfile.title??null,role:m?.agentRole??q?.role??r?.launchProfile.role??null,stage:q?.stageId??q?.slot??null,cwd:a.cwd||r?.launchProfile.cwd||"",transcriptPath:a.artifactPath||"",process:j,status:a.status,activeTurnRef:h.activeTurnRef,turnBusy:null===m?(0,p.nZ)("no conversation record establishes this host's turn state"):"unknown"===m.turn.state?(0,p.nZ)("the conversation's turn state is unknown"):(0,p.yV)("busy"===m.turn.state),pendingAttention:h.pendingAttention,activeFlags:h.activeFlags,pendingAction:a.pendingAction,structuredHostOperationId:a.structuredHostOperationId??null,undeliveredHandoffEntries:(0,p.Le)(b.undelivered,a=>a.count(l,n)),openOperations:b.openOperations.count(l,n),eventCursor:h.eventCursor,durableEventTail:c.durableEventTail(k.sessionId),realtimeBound:null===n?(0,p.nZ)("the host names no conversation, so no realtime binding can be looked up"):c.realtimeBound(n),seat:null===m?(0,p.nZ)("no conversation record establishes whether this host holds a seat"):(d=m.id,e=b.seatConversations,f=b.revokedConversations,(g=o.some(a=>"orchestrator"===a.kind)?(0,p.yV)(!0):(0,p.Le)(e,a=>a.has(d))).determined?g.value?(0,p.Le)(f,a=>a.has(d)?"revoked":"live"):(0,p.yV)("none"):g),transcriptFile:a.artifactPath?c.transcriptStat(a.artifactPath):(0,p.yV)(null),observedStartIdentity:c.processIdentity(j.pid),observedBootEpoch:c.bootEpoch()}}async function Z(a={}){let b=a.now??Date.now,c=b(),d=a.idleMs??M()??216e5,e=a.graceMs??N(),f=a.batch??B(e),g={snapshot:a.snapshot??(()=>(0,h.agentRegistry)().readOnlySnapshot()),handoffRows:a.handoffRows??(()=>{try{return(0,p.yV)((v??=new t(new u((0,j.BQ)("handoff-queue.sqlite")))).rows())}catch(a){return(0,p.nZ)(`the handoff queue could not be read: ${T(a)}`)}}),seatConversations:a.orchestratorSeatConversations??Q,revokedConversations:a.revokedSeatConversations??S},i={durableEventTail:a.durableEventTail??(a=>(0,q.t2)(a)),realtimeBound:a.realtimeBound??P,transcriptStat:a.transcriptStat??O,processIdentity:a.processIdentity??(a=>{let b=l.B.processIdentity(a);return null===b?(0,p.nZ)(`no kernel identity can be observed for pid ${a}`):(0,p.yV)(b)}),bootEpoch:a.bootEpoch??(()=>{let a=(0,n.h_)();return null===a?(0,p.nZ)("the kernel boot epoch could not be read"):(0,p.yV)(a)})},k=a.processMemory??(a=>l.B.processMemory(a)),r=a.ppidMap??(()=>l.B.ppidMap()),s=a.owned??x.sy,w=a.terminate??(a=>(0,y.$X)(a,{graceMs:e,deadlineMs:e+1e4})),z=a.record??V,A=a.publicationState??x.du,C={version:1,startedAt:new Date(c).toISOString(),finishedAt:"",idleHours:d/36e5,evaluated:0,deferred:0,standDown:null,retired:[],refused:[],failed:[],reclaimed:{rssBytes:0,swapBytes:0,processes:0}},D=A();if("ready"!==D)return C.standDown=D,C.finishedAt=new Date(b()).toISOString(),z(C),C;let E=X(g),F=Object.values(E.file.entries).filter(a=>!!a.structuredHost?.process&&("claude"===a.key.engine||"codex"===a.key.engine)&&null===a.host).slice(0,o.sb);C.evaluated=F.length;let G=[];for(let a of F){let b=Y(a,E,i),e=L(b,{now:c,idleMs:d});if(!e.retire){C.refused.push({key:b.keyId,conversationId:b.conversationId,clause:e.clause,reason:e.reason,...e.undetermined?{undetermined:!0}:{}});continue}if(G.length>=f){C.deferred+=1;continue}G.push(b)}let H=null;for(let a of G){var J;let e,f=X(g),h=f.file.entries[a.keyId]??null;if(null===h||!h.structuredHost?.process){C.refused.push({key:a.keyId,conversationId:a.conversationId,clause:"process-identity",reason:"the registry no longer records this host",changed:!0});continue}let j=Y(h,f,i),l=L(j,{now:b(),idleMs:d});if(!l.retire){C.refused.push({key:j.keyId,conversationId:j.conversationId,clause:l.clause,reason:l.reason,...l.undetermined?{undetermined:!0}:{},changed:!0});continue}let n=j.process,o=j.transcriptFile.determined?j.transcriptFile.value?.mtimeMs??null:null;H??=r();let p=k((0,m.mO)(n.pid,H)),q={rssBytes:0,swapBytes:0,processes:p.size};for(let a of p.values())q.rssBytes+=a.rssBytes,q.swapBytes+=a.swapBytes;let t={kind:"structured",pid:n.pid,startIdentity:l.startIdentity,bootEpoch:n.bootEpoch??null,engine:j.key.engine,sessionId:j.key.sessionId,conversationId:j.conversationId,seat:j.seat.determined?"live"===j.seat.value:null,turnBusy:(J=j.turnBusy).determined?J.value:null,owned:s(j.key),lastActiveAt:null===o?null:new Date(o).toISOString()};try{e=await w(t)}catch(a){C.failed.push({key:j.keyId,conversationId:j.conversationId,error:String(a),remaining:[]});continue}if(!e.ok){C.failed.push({key:j.keyId,conversationId:j.conversationId,error:e.error,remaining:e.remaining});continue}C.retired.push({key:j.keyId,engine:j.key.engine,sessionId:j.key.sessionId,conversationId:j.conversationId,title:j.title,role:j.role,stage:j.stage,cwd:j.cwd,idleMs:null===o?0:c-o,passed:l.passed,...I(j)?{seatRevoked:!0}:{},via:e.via,pids:e.pids,reclaimed:q}),C.reclaimed.rssBytes+=q.rssBytes,C.reclaimed.swapBytes+=q.swapBytes,C.reclaimed.processes+=q.processes,H=null}return C.finishedAt=new Date(b()).toISOString(),z(C),C}async function $(a={}){let b=M(a.env??process.env);if(null===b)return null;let c=a.sweep??(a=>Z({idleMs:a}));try{return await c(b)}catch(a){return console.error("[host retirement] sweep failed",a),null}}let _=globalThis;function aa(a={}){if(_.__llvStructuredHostRetirementTimer)return;let b=a.scheduleInterval??((a,b)=>setInterval(a,b)),c=a.sweep??(()=>$()),d=b(()=>{c()},a.intervalMs??A);d.unref?.(),_.__llvStructuredHostRetirementTimer=d}function ab(){let a=_.__llvStructuredHostRetirementTimer;a&&clearInterval(a),_.__llvStructuredHostRetirementTimer=void 0}},55541:(a,b,c)=>{c.d(b,{WG:()=>o,cO:()=>n,yb:()=>l});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(27146),k=c(19777);let l=262144,m=String.raw`import fcntl
|
|
22
|
+
`);try{e().chmodSync(a,384)}catch{}}load(){return this.db.query("SELECT value_json FROM handoff_rows ORDER BY row_order ASC").all().map(a=>JSON.parse(a.value_json))}loadHistory(){return this.db.query("SELECT value_json FROM handoff_history ORDER BY row_order ASC").all().map(a=>JSON.parse(a.value_json))}loadDrainingGenerations(){return this.db.query("SELECT generation FROM handoff_draining_generations ORDER BY row_order ASC").all().map(a=>a.generation)}writeRows(a){let b=this.db.query("INSERT INTO handoff_rows(operation_id, conversation_id, row_order, value_json) VALUES (?, ?, ?, ?)");this.db.exec("DELETE FROM handoff_rows"),a.forEach((a,c)=>b.run(a.operationId,a.conversationId,c,JSON.stringify(a)))}writeHistory(a){let b=this.db.query("INSERT INTO handoff_history(operation_id, conversation_id, row_order, value_json) VALUES (?, ?, ?, ?)");this.db.exec("DELETE FROM handoff_history"),a.forEach((a,c)=>b.run(a.operationId,a.conversationId,c,JSON.stringify(a)))}writeDrainingGenerations(a){let b=this.db.query("INSERT INTO handoff_draining_generations(generation, row_order) VALUES (?, ?)");this.db.exec("DELETE FROM handoff_draining_generations"),[...new Set(a)].forEach((a,c)=>b.run(a,c))}migrateActiveRows(){this.db.exec("BEGIN IMMEDIATE");try{let a=new Map,b=this.loadHistory(),c=new Map(b.map(a=>[a.operationId,a])),d=new Set(this.loadDrainingGenerations()),e=this.load();for(let a of[...b,...e])"draining"===a.status&&d.add(a.hostGeneration);for(let b of e){let d=a.get(b.conversationId);d&&c.set(d.operationId,d),a.set(b.conversationId,b)}this.writeRows([...a.values()]),this.writeHistory([...c.values()]),this.writeDrainingGenerations([...d]),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}save(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeRows(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}saveHistory(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeHistory(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}saveDrainingGenerations(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeDrainingGenerations(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}transaction(a){this.db.exec("BEGIN IMMEDIATE");try{let b={rows:this.load(),history:this.loadHistory(),drainingGenerations:this.loadDrainingGenerations()},c=a(b);return this.writeRows(b.rows),this.writeHistory(b.history),this.writeDrainingGenerations(b.drainingGenerations),this.db.exec("COMMIT"),c}catch(a){throw this.db.exec("ROLLBACK"),a}}}let x=null;var y=c(41687),z=c(2749),A=c(81339),B=c(30131);let C=3e5;function D(a,b=C){return Math.max(1,Math.min(8,Math.floor(.5*b/Math.max(1,a+1e4))))}let E=new Set(["completed","failed","conflicted"]),F=new Set(["held","assigned","delivery-uncertain"]),G=new Set(["idle","dead"]),H=["seat-free","turn-settled","attention-settled","host-idle-or-dead","no-active-flags","handoff-queue-drained","no-open-operation","events-flushed","no-realtime-binding","resumable","transcript-idle","process-identity"],I=(0,q.yV)(null),J=a=>(0,q.yV)(a);function K(a){return a.seat.determined&&"revoked"===a.seat.value}function L(a){return null===a.process.startIdentity?(0,q.nZ)(`the registry stored no kernel identity for pid ${a.process.pid}`):(0,q.yV)(a.process.startIdentity)}let M={"seat-free":a=>(0,q.Le)(a.seat,a=>"live"===a?"the host holds a live orchestrator seat":null),"turn-settled":a=>null!==a.activeTurnRef?J(`turn ${a.activeTurnRef} is in flight`):(0,q.Le)(a.turnBusy,a=>a?"the conversation turn has not settled":null),"attention-settled":a=>a.pendingAttention.length>0?J(`${a.pendingAttention.length} question(s) await an operator answer`):I,"host-idle-or-dead":a=>G.has(a.status)?I:J(`the host status is ${a.status}`),"no-active-flags":a=>{let b=(0,y.S0)(a.activeFlags);return b.length>0?J(`the host is flagged ${b.join(", ")}`):I},"handoff-queue-drained":a=>(0,q.Le)(a.undeliveredHandoffEntries,a=>a>0?`${a} undelivered handoff entr(ies) name this key`:null),"no-open-operation":a=>null!==a.pendingAction?J(`a ${a.pendingAction} action is pending`):null!==a.structuredHostOperationId?J("a structured host operation is still in flight"):a.openOperations>0?J(`${a.openOperations} spawn receipt(s) are pending or non-terminal`):I,"events-flushed":a=>(0,q.Le)(a.durableEventTail,b=>a.eventCursor<b?`the flushed cursor ${a.eventCursor} is behind the session's ${b}`:null),"no-realtime-binding":a=>(0,q.Le)(a.realtimeBound,a=>a?"a realtime session is bound to this conversation":null),resumable:a=>""===a.transcriptPath?J("the host names no transcript to resume from"):(0,q.Le)(a.transcriptFile,a=>null===a?"the transcript is not present on disk":null),"transcript-idle":(a,b)=>(0,q.Le)(a.transcriptFile,c=>{if(null===c)return"the transcript is not present on disk";if(K(a))return null;let d=b.now-c.mtimeMs;return d<b.idleMs?`the transcript was written ${Math.max(0,Math.round(d/1e3))}s ago`:null}),"process-identity":a=>{let b=L(a);if(!b.determined)return b;let c="string"==typeof a.process.bootEpoch&&a.process.bootEpoch?(0,q.yV)(a.process.bootEpoch):(0,q.nZ)(`the registry stored no boot epoch for pid ${a.process.pid}`);if(!c.determined)return c;if(!a.observedStartIdentity.determined)return a.observedStartIdentity;if(!a.observedBootEpoch.determined)return a.observedBootEpoch;let d=a.observedStartIdentity.value,e=a.observedBootEpoch.value;return"alive"===(0,o.Ue)(a.process,{pidAlive:()=>!0,processIdentity:()=>d,bootEpoch:()=>e})?I:J(`pid ${a.process.pid} is no longer the recorded host`)}};function N(a,b){let c=[];for(let d of H){let e=M[d](a,b);if(!e.determined)return{retire:!1,clause:d,reason:e.why,undetermined:!0};if(null!==e.value)return{retire:!1,clause:d,reason:e.value};c.push(d)}let d=L(a);return d.determined?{retire:!0,passed:c,startIdentity:d.value}:{retire:!1,clause:"process-identity",reason:d.why,undetermined:!0}}function O(a=process.env){let b=a.LLV_HOST_RETIREMENT_IDLE_HOURS;if(void 0===b||""===b.trim())return 216e5;let c=Number(b);return!Number.isFinite(c)||c<0?(console.warn("[host retirement] LLV_HOST_RETIREMENT_IDLE_HOURS is not a duration; using 6h"),216e5):0===c?null:36e5*c}function P(a=process.env){let b=a.LLV_HOST_RETIREMENT_GRACE_MS;if(void 0===b||""===b.trim())return 5e3;let c=Number(b);return!Number.isFinite(c)||c<0?5e3:Math.min(c,6e4)}function Q(a){try{let b=e().statSync(a);return(0,q.yV)(b.isFile()?{mtimeMs:b.mtimeMs}:null)}catch(b){let a=b.code;return"ENOENT"===a||"ENOTDIR"===a?(0,q.yV)(null):(0,q.nZ)(`the transcript could not be read (${a??"unknown"})`)}}function R(a){try{if((0,B.VD)().has(a))return(0,q.yV)(!0);let b=(0,z.Aj)(a);return(0,q.yV)("function"==typeof b?.currentRealtimeSessionId&&null!==b.currentRealtimeSessionId())}catch(a){return(0,q.nZ)(`the realtime binding could not be read: ${V(a)}`)}}function S(){let a;try{let b=(0,l.activeOrchestratorSeatsOrUnknown)();if(null===b)return(0,q.nZ)("the orchestrator seat store could not be established");let c=T();a=new Set(b.flatMap(a=>a.conversationId?[c(a.conversationId)]:[]))}catch(a){return(0,q.nZ)(`the orchestrator seat store could not be read: ${V(a)}`)}return(0,q.yV)(a)}function T(){let a=(0,h.agentRegistry)();return b=>a.canonicalConversationId(b)}function U(){let a;try{a=(0,l.revokedOrchestratorSeatConversationsOrUnknown)(T())}catch(a){return(0,q.nZ)(`the orchestrator revocation record could not be read: ${V(a)}`)}return null===a?(0,q.nZ)("the orchestrator revocation record could not be established"):(0,q.yV)(a)}function V(a){return a instanceof Error?a.message:String(a)}function W(a){let{refused:b,...c}=a,d={},e={};for(let a of b)d[a.clause]=(d[a.clause]??0)+1,a.undetermined&&(e[a.clause]=(e[a.clause]??0)+1);return{...c,refusedByClause:d,undeterminedByClause:e}}function X(a){try{var b;b=(0,j.BQ)("host-retirement-report.json"),e().mkdirSync(g().dirname(b),{recursive:!0,mode:448}),(0,k.fZ)(b,a)}catch(a){console.error("[host retirement] report could not be written",a)}try{let b=(0,j.BQ)("host-retirement-journal.ndjson");e().mkdirSync(g().dirname(b),{recursive:!0,mode:448});try{e().statSync(b).size>4194304&&e().renameSync(b,`${b}.1`)}catch{}e().appendFileSync(b,`${JSON.stringify(W(a))}
|
|
23
|
+
`,{encoding:"utf8",mode:384})}catch(a){console.error("[host retirement] journal could not be appended",a)}for(let b of a.retired){let a=b.seatRevoked?", revoked seat":"";console.warn(`[host retirement] retired ${b.key} (${b.role??"no role"}, idle ${Math.round(b.idleMs/6e4)}m${a}) via ${b.via}: ${b.reclaimed.processes} process(es), ${Math.round(b.reclaimed.rssBytes/1048576)} MiB resident + ${Math.round(b.reclaimed.swapBytes/1048576)} MiB swapped reclaimed`)}for(let b of a.failed)console.warn(`[host retirement] left ${b.key} intact: ${b.error}`);let c=Object.entries(W(a).undeterminedByClause);if(c.length>0){let b=c.map(([a,b])=>`${a} (${b})`).join(", "),d=a.refused.find(a=>a.undetermined)?.reason??"";console.warn(`[host retirement] kept hosts whose clauses could not be determined: ${b} — ${d}`)}}class Y{add(a){null!==a&&this.counts.set(a,(this.counts.get(a)??0)+1)}addKey(a){this.add(`key:${a}`)}addConversation(a){this.add(null===a?null:`conv:${a}`)}count(a,b){return(this.counts.get(`key:${a}`)??0)+(null===b?0:this.counts.get(`conv:${b}`)??0)}constructor(){this.counts=new Map}}function Z(a){var b;let c=a.snapshot(),d=new Map;for(let a of Object.values(c.conversations))for(let b of a.generations)d.set(b.id,a);return{file:c,conversationsBySession:d,undelivered:(b=a.handoffRows(),(0,q.Le)(b,a=>{let b=new Y;for(let c of a){let a=new Set(c.replayedDeliveryIds??[]);(c.pendingDeliveries??[]).some(b=>!a.has(b.deliveryId))&&("claude"===c.engine||"codex"===c.engine?b.addKey(`${c.engine}:${c.engineSessionId}`):b.addConversation(c.conversationId))}for(let a of Object.values(c.heldDeliveries??{}))F.has(a.state)&&b.addConversation(a.conversationId);return b})),openOperations:function(a){let b=new Y;for(let c of Object.values(a.receipts??{}))E.has(c.state)||(null!==c.key?b.addKey((0,i.pp)(c.key)):b.addConversation(c.conversationId));return b}(c),seatConversations:a.seatConversations(),revokedConversations:a.revokedConversations()}}function $(a,b,c){var d,e,f;let g,h=a.structuredHost,j=h.process,k=a.key,l=(0,i.pp)(k),m=b.conversationsBySession.get(k.sessionId)??null,n=m?.id??null,o=m?b.file.memberships[m.id]??[]:[],p=o.find(a=>"pipeline"===a.kind)??null,r=m?.generations.find(a=>a.id===k.sessionId)??null;return{key:k,keyId:l,conversationId:n,title:r?.launchProfile.title??null,role:m?.agentRole??p?.role??r?.launchProfile.role??null,stage:p?.stageId??p?.slot??null,cwd:a.cwd||r?.launchProfile.cwd||"",transcriptPath:a.artifactPath||"",process:j,status:a.status,activeTurnRef:h.activeTurnRef,turnBusy:null===m?(0,q.nZ)("no conversation record establishes this host's turn state"):"unknown"===m.turn.state?(0,q.nZ)("the conversation's turn state is unknown"):(0,q.yV)("busy"===m.turn.state),pendingAttention:h.pendingAttention,activeFlags:h.activeFlags,pendingAction:a.pendingAction,structuredHostOperationId:a.structuredHostOperationId??null,undeliveredHandoffEntries:(0,q.Le)(b.undelivered,a=>a.count(l,n)),openOperations:b.openOperations.count(l,n),eventCursor:h.eventCursor,durableEventTail:c.durableEventTail(k.sessionId),realtimeBound:null===n?(0,q.nZ)("the host names no conversation, so no realtime binding can be looked up"):c.realtimeBound(n),seat:null===m?(0,q.nZ)("no conversation record establishes whether this host holds a seat"):(d=m.id,e=b.seatConversations,f=b.revokedConversations,(g=o.some(a=>"orchestrator"===a.kind)?(0,q.yV)(!0):(0,q.Le)(e,a=>a.has(d))).determined?g.value?(0,q.Le)(f,a=>a.has(d)?"revoked":"live"):(0,q.yV)("none"):g),transcriptFile:a.artifactPath?c.transcriptStat(a.artifactPath):(0,q.yV)(null),observedStartIdentity:c.processIdentity(j.pid),observedBootEpoch:c.bootEpoch()}}async function _(a={}){let b=a.now??Date.now,c=b(),d=a.idleMs??O()??216e5,e=a.graceMs??P(),f=a.batch??D(e),g={snapshot:a.snapshot??(()=>(0,h.agentRegistry)().readOnlySnapshot()),handoffRows:a.handoffRows??(()=>{try{return(0,q.yV)((x??=new v(new w((0,j.BQ)("handoff-queue.sqlite")))).rows())}catch(a){return(0,q.nZ)(`the handoff queue could not be read: ${V(a)}`)}}),seatConversations:a.orchestratorSeatConversations??S,revokedConversations:a.revokedSeatConversations??U},i={durableEventTail:a.durableEventTail??(a=>(0,r.t2)(a)),realtimeBound:a.realtimeBound??R,transcriptStat:a.transcriptStat??Q,processIdentity:a.processIdentity??(a=>{let b=m.B.processIdentity(a);return null===b?(0,q.nZ)(`no kernel identity can be observed for pid ${a}`):(0,q.yV)(b)}),bootEpoch:a.bootEpoch??(()=>{let a=(0,o.h_)();return null===a?(0,q.nZ)("the kernel boot epoch could not be read"):(0,q.yV)(a)})},k=a.processMemory??(a=>m.B.processMemory(a)),l=a.ppidMap??(()=>m.B.ppidMap()),s=a.owned??z.sy,t=a.terminate??(a=>(0,A.$X)(a,{graceMs:e,deadlineMs:e+1e4})),u=a.record??X,y=a.publicationState??z.du,B={version:1,startedAt:new Date(c).toISOString(),finishedAt:"",idleHours:d/36e5,evaluated:0,deferred:0,standDown:null,retired:[],refused:[],failed:[],reclaimed:{rssBytes:0,swapBytes:0,processes:0}},C=y();if("ready"!==C)return B.standDown=C,B.finishedAt=new Date(b()).toISOString(),u(B),B;let E=Z(g),F=Object.values(E.file.entries).filter(a=>!!a.structuredHost?.process&&("claude"===a.key.engine||"codex"===a.key.engine)&&null===a.host).slice(0,p.sb);B.evaluated=F.length;let G=[];for(let a of F){let b=$(a,E,i),e=N(b,{now:c,idleMs:d});if(!e.retire){B.refused.push({key:b.keyId,conversationId:b.conversationId,clause:e.clause,reason:e.reason,...e.undetermined?{undetermined:!0}:{}});continue}if(G.length>=f){B.deferred+=1;continue}G.push(b)}let H=null;for(let a of G){var I;let e,f=Z(g),h=f.file.entries[a.keyId]??null;if(null===h||!h.structuredHost?.process){B.refused.push({key:a.keyId,conversationId:a.conversationId,clause:"process-identity",reason:"the registry no longer records this host",changed:!0});continue}let j=$(h,f,i),m=N(j,{now:b(),idleMs:d});if(!m.retire){B.refused.push({key:j.keyId,conversationId:j.conversationId,clause:m.clause,reason:m.reason,...m.undetermined?{undetermined:!0}:{},changed:!0});continue}let o=j.process,p=j.transcriptFile.determined?j.transcriptFile.value?.mtimeMs??null:null;H??=l();let q=k((0,n.mO)(o.pid,H)),r={rssBytes:0,swapBytes:0,processes:q.size};for(let a of q.values())r.rssBytes+=a.rssBytes,r.swapBytes+=a.swapBytes;let u={kind:"structured",pid:o.pid,startIdentity:m.startIdentity,bootEpoch:o.bootEpoch??null,engine:j.key.engine,sessionId:j.key.sessionId,conversationId:j.conversationId,seat:j.seat.determined?"live"===j.seat.value:null,turnBusy:(I=j.turnBusy).determined?I.value:null,owned:s(j.key),lastActiveAt:null===p?null:new Date(p).toISOString()};try{e=await t(u)}catch(a){B.failed.push({key:j.keyId,conversationId:j.conversationId,error:String(a),remaining:[]});continue}if(!e.ok){B.failed.push({key:j.keyId,conversationId:j.conversationId,error:e.error,remaining:e.remaining});continue}B.retired.push({key:j.keyId,engine:j.key.engine,sessionId:j.key.sessionId,conversationId:j.conversationId,title:j.title,role:j.role,stage:j.stage,cwd:j.cwd,idleMs:null===p?0:c-p,passed:m.passed,...K(j)?{seatRevoked:!0}:{},via:e.via,pids:e.pids,reclaimed:r}),B.reclaimed.rssBytes+=r.rssBytes,B.reclaimed.swapBytes+=r.swapBytes,B.reclaimed.processes+=r.processes,H=null}return B.finishedAt=new Date(b()).toISOString(),u(B),B}async function aa(a={}){let b=O(a.env??process.env);if(null===b)return null;let c=a.sweep??(a=>_({idleMs:a}));try{return await c(b)}catch(a){return console.error("[host retirement] sweep failed",a),null}}let ab=globalThis;function ac(a={}){if(ab.__llvStructuredHostRetirementTimer)return;let b=a.scheduleInterval??((a,b)=>setInterval(a,b)),c=a.sweep??(()=>aa()),d=b(()=>{c()},a.intervalMs??C);d.unref?.(),ab.__llvStructuredHostRetirementTimer=d}function ad(){let a=ab.__llvStructuredHostRetirementTimer;a&&clearInterval(a),ab.__llvStructuredHostRetirementTimer=void 0}},55541:(a,b,c)=>{c.d(b,{WG:()=>o,cO:()=>n,yb:()=>l});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(27146),k=c(19777);let l=262144,m=String.raw`import fcntl
|
|
25
24
|
import io
|
|
26
25
|
import os
|
|
27
26
|
import stat
|
|
@@ -78,5 +78,4 @@ class _BoundedConnectorLog(io.TextIOBase):
|
|
|
78
78
|
_sink = _BoundedConnectorLog()
|
|
79
79
|
sys.stdout = _sink
|
|
80
80
|
sys.stderr = _sink
|
|
81
|
-
`;function n(){return(0,j.BQ)("telegram","connector.log")}function o(){(0,k._q)(!0);let a=(0,j.BQ)("telegram","connector-log-sink");g().mkdirSync(a,{recursive:!0,mode:448});let b=g().lstatSync(a);if(!b.isDirectory()||b.isSymbolicLink()||(63&b.mode)!=0||"function"==typeof process.getuid&&b.uid!==process.getuid())throw Error("unsafe connector log sink directory");let c=i().join(a,"sitecustomize.py"),d=`${c}.${process.pid}.${e().randomUUID()}.tmp`;try{g().writeFileSync(d,m,{flag:"wx",mode:384}),g().renameSync(d,c),g().chmodSync(c,384)}finally{g().rmSync(d,{force:!0})}return!function(){let a="O_NOFOLLOW"in g().constants?g().constants.O_NOFOLLOW:0,b=g().openSync(n(),g().constants.O_RDWR|g().constants.O_CREAT|a,384);try{let a=g().fstatSync(b);if(!a.isFile()||(63&a.mode)!=0||"function"==typeof process.getuid&&a.uid!==process.getuid())throw Error("unsafe connector log");if(a.size<=l)return;let c=Buffer.alloc(l);g().readSync(b,c,0,c.length,a.size-c.length),g().ftruncateSync(b,0),g().writeSync(b,c,0,c.length,0)}finally{g().closeSync(b)}}(),{PYTHONPATH:a,LLV_TELEGRAM_CONNECTOR_LOG:n(),LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES:String(l)}}},60156:(a,b,c)=>{c.r(b),c.d(b,{FLOW_PIPELINE_WATCHDOG_MS:()=>
|
|
82
|
-
`,{encoding:"utf8",mode:384}),g().renameSync(c,b)}async function r(){let a=await (0,l.Nm)();return{files:a.snapshot.files,complete:a.snapshot.complete}}class s{constructor(a,b={}){this.running=null,this.trailingCycleRequested=!1,this.trailingTrigger="signal",this.cycle=0,this.lastArchiveSweepAt=0,this.activePhases=new Map,this.ports={...a,scan:a.scan??(async()=>({files:[],complete:!0})),now:a.now??Date.now,scheduleTimeout:a.scheduleTimeout??((a,b)=>setTimeout(a,b)),clearTimeout:a.clearTimeout??(a=>clearTimeout(a)),publishHeartbeat:a.publishHeartbeat??(()=>void 0),log:a.log??((a,b)=>{void 0===b?console.error(a):console.error(a,b)})},this.phaseDeadlineMs=b.phaseDeadlineMs??15e3,this.maxPasses=b.maxPasses??8}tick(a="signal"){return this.running?(this.trailingCycleRequested=!0,this.trailingTrigger=a):this.running=this.runRequestedCycles(a).finally(()=>{if(this.running=null,this.trailingCycleRequested)return this.tick(this.trailingTrigger)}),this.running}poll(){return this.running??this.tick("watchdog")}recover(){return this.tick("startup")}async runRequestedCycles(a){let b=a;do this.trailingCycleRequested=!1,await this.runCycle(b),b=this.trailingTrigger;while(this.trailingCycleRequested)}async runCycle(a){let b=++this.cycle,c=0,d=[],e=!1;for(let f=1;f<=this.maxPasses;f+=1){c=f;let g=await this.runPhase("pipelines",b,f,a,()=>this.ports.tickPipelines(d)),h=1===f?await this.runPhase("scan",b,f,a,this.ports.scan):null;if(h?.state==="failed")throw h.error;h?.state==="completed"&&h.value.complete&&(d=h.value.files,e=!0);let i=e?await this.runPhase("flows",b,f,a,()=>this.ports.tickFlows(d)):null,j="failed"===g.state?g.error:i?.state==="failed"?i.error:null;if(null!==j)throw j;if(!("completed"===g.state&&g.value.changed||i?.state==="completed"&&i.value.changed||h?.state==="completed"&&h.value.complete))break}this.sweepSettledArchive();let f=[...this.activePhases.entries()].sort((a,b)=>a[1].startedAt-b[1].startedAt)[0];f?this.publish({cycle:b,pass:c,trigger:a,phase:f[0],state:"blocked",startedAt:f[1].startedAt}):this.publish({cycle:b,pass:c,trigger:a,phase:"idle",state:"idle",startedAt:this.ports.now()})}sweepSettledArchive(){let a=this.ports.now();a-this.lastArchiveSweepAt<36e5||(this.lastArchiveSweepAt=a,(0,o.archiveSettledPipelines)(a).then(a=>{a>0&&this.ports.log(`[flow pipeline controller] archived ${a} settled pipeline record(s)`)}).catch(a=>{this.ports.log("[flow pipeline controller] settled pipeline archive sweep failed",a)}))}async runPhase(a,b,c,d,e){let f=this.activePhases.get(a);if(f)return this.publish({cycle:b,pass:c,trigger:d,phase:a,state:"blocked",startedAt:f.startedAt}),{state:"blocked"};let g=this.ports.now();this.publish({cycle:b,pass:c,trigger:d,phase:a,state:"running",startedAt:g});let h=Promise.resolve().then(e),i={startedAt:g,promise:h};this.activePhases.set(a,i),h.then(()=>{this.activePhases.get(a)===i&&this.activePhases.delete(a)},()=>{this.activePhases.get(a)===i&&this.activePhases.delete(a)});let j=()=>{},k=new Promise(a=>{j=()=>a({state:"timed-out"})}),l=this.ports.scheduleTimeout(j,this.phaseDeadlineMs),m=await Promise.race([h.then(a=>({state:"completed",value:a}),a=>({state:"failed",error:a})),k]);return this.ports.clearTimeout(l),this.publish({cycle:b,pass:c,trigger:d,phase:a,state:m.state,startedAt:g}),"failed"===m.state?this.ports.log(`[flow pipeline controller] ${a} phase failed`,m.error):"timed-out"===m.state&&this.ports.log(`[flow pipeline controller] ${a} phase exceeded its deadline`),m}publish(a){let b=this.ports.now();try{this.ports.publishHeartbeat({schemaVersion:1,controller:"flow-pipeline",cycle:a.cycle,pass:a.pass,trigger:a.trigger,phase:a.phase,state:a.state,phaseStartedAt:new Date(a.startedAt).toISOString(),updatedAt:new Date(b).toISOString(),ageMs:Math.max(0,b-a.startedAt),deadlineMs:this.phaseDeadlineMs})}catch(a){this.ports.log("[flow pipeline controller] durable heartbeat publication failed",a)}}}function t(a,b,c){b.__llvFlowPipelineUnregister?.(),b.__llvFlowPipelineUnregister=c.registerTick(()=>a.tick("signal")),b.__llvFlowPipelineWatchdog||(b.__llvFlowPipelineWatchdog=c.scheduleInterval(()=>void a.poll().catch(a=>{c.log("[flow pipeline controller] watchdog reconciliation failed",a)}),p),b.__llvFlowPipelineWatchdog.unref?.()),a.recover().catch(a=>{c.log("[flow pipeline controller] startup reconciliation failed",a)})}let u=globalThis;function v(){return u.__llvFlowPipelineController??=new s({scan:r,tickPipelines:n.n6,tickFlows:k.zn,publishHeartbeat:q})}function w(){t(v(),u,{registerTick:m.n_,scheduleInterval:(a,b)=>setInterval(a,b),log:(a,b)=>console.error(a,b)})}}};
|
|
81
|
+
`;function n(){return(0,j.BQ)("telegram","connector.log")}function o(){(0,k._q)(!0);let a=(0,j.BQ)("telegram","connector-log-sink");g().mkdirSync(a,{recursive:!0,mode:448});let b=g().lstatSync(a);if(!b.isDirectory()||b.isSymbolicLink()||(63&b.mode)!=0||"function"==typeof process.getuid&&b.uid!==process.getuid())throw Error("unsafe connector log sink directory");let c=i().join(a,"sitecustomize.py"),d=`${c}.${process.pid}.${e().randomUUID()}.tmp`;try{g().writeFileSync(d,m,{flag:"wx",mode:384}),g().renameSync(d,c),g().chmodSync(c,384)}finally{g().rmSync(d,{force:!0})}return!function(){let a="O_NOFOLLOW"in g().constants?g().constants.O_NOFOLLOW:0,b=g().openSync(n(),g().constants.O_RDWR|g().constants.O_CREAT|a,384);try{let a=g().fstatSync(b);if(!a.isFile()||(63&a.mode)!=0||"function"==typeof process.getuid&&a.uid!==process.getuid())throw Error("unsafe connector log");if(a.size<=l)return;let c=Buffer.alloc(l);g().readSync(b,c,0,c.length,a.size-c.length),g().ftruncateSync(b,0),g().writeSync(b,c,0,c.length,0)}finally{g().closeSync(b)}}(),{PYTHONPATH:a,LLV_TELEGRAM_CONNECTOR_LOG:n(),LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES:String(l)}}},60156:(a,b,c)=>{c.r(b),c.d(b,{FLOW_PIPELINE_WATCHDOG_MS:()=>o,FlowPipelineController:()=>r,controllerFileScan:()=>q,flowPipelineController:()=>u,startFlowPipelineController:()=>v,startFlowPipelineControllerRuntime:()=>s,writeFlowPipelineControllerHeartbeat:()=>p});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(27146),i=c(44405),j=c(81970),k=c(58444),l=c(1690),m=c(88370),n=c(18027);let o=3e4;function p(a,b=(0,h.BQ)("flow-pipeline-controller-heartbeat.json")){e().mkdirSync(g().dirname(b),{recursive:!0,mode:448}),(0,i.fZ)(b,a)}async function q(){let a=await (0,k.Nm)();return{files:a.snapshot.files,complete:a.snapshot.complete}}class r{constructor(a,b={}){this.running=null,this.trailingCycleRequested=!1,this.trailingTrigger="signal",this.cycle=0,this.lastArchiveSweepAt=0,this.activePhases=new Map,this.ports={...a,scan:a.scan??(async()=>({files:[],complete:!0})),now:a.now??Date.now,scheduleTimeout:a.scheduleTimeout??((a,b)=>setTimeout(a,b)),clearTimeout:a.clearTimeout??(a=>clearTimeout(a)),publishHeartbeat:a.publishHeartbeat??(()=>void 0),log:a.log??((a,b)=>{void 0===b?console.error(a):console.error(a,b)})},this.phaseDeadlineMs=b.phaseDeadlineMs??15e3,this.maxPasses=b.maxPasses??8}tick(a="signal"){return this.running?(this.trailingCycleRequested=!0,this.trailingTrigger=a):this.running=this.runRequestedCycles(a).finally(()=>{if(this.running=null,this.trailingCycleRequested)return this.tick(this.trailingTrigger)}),this.running}poll(){return this.running??this.tick("watchdog")}recover(){return this.tick("startup")}async runRequestedCycles(a){let b=a;do this.trailingCycleRequested=!1,await this.runCycle(b),b=this.trailingTrigger;while(this.trailingCycleRequested)}async runCycle(a){let b=++this.cycle,c=0,d=[],e=!1;for(let f=1;f<=this.maxPasses;f+=1){c=f;let g=await this.runPhase("pipelines",b,f,a,()=>this.ports.tickPipelines(d)),h=1===f?await this.runPhase("scan",b,f,a,this.ports.scan):null;if(h?.state==="failed")throw h.error;h?.state==="completed"&&h.value.complete&&(d=h.value.files,e=!0);let i=e?await this.runPhase("flows",b,f,a,()=>this.ports.tickFlows(d)):null,j="failed"===g.state?g.error:i?.state==="failed"?i.error:null;if(null!==j)throw j;if(!("completed"===g.state&&g.value.changed||i?.state==="completed"&&i.value.changed||h?.state==="completed"&&h.value.complete))break}this.sweepSettledArchive();let f=[...this.activePhases.entries()].sort((a,b)=>a[1].startedAt-b[1].startedAt)[0];f?this.publish({cycle:b,pass:c,trigger:a,phase:f[0],state:"blocked",startedAt:f[1].startedAt}):this.publish({cycle:b,pass:c,trigger:a,phase:"idle",state:"idle",startedAt:this.ports.now()})}sweepSettledArchive(){let a=this.ports.now();a-this.lastArchiveSweepAt<36e5||(this.lastArchiveSweepAt=a,(0,n.archiveSettledPipelines)(a).then(a=>{a>0&&this.ports.log(`[flow pipeline controller] archived ${a} settled pipeline record(s)`)}).catch(a=>{this.ports.log("[flow pipeline controller] settled pipeline archive sweep failed",a)}))}async runPhase(a,b,c,d,e){let f=this.activePhases.get(a);if(f)return this.publish({cycle:b,pass:c,trigger:d,phase:a,state:"blocked",startedAt:f.startedAt}),{state:"blocked"};let g=this.ports.now();this.publish({cycle:b,pass:c,trigger:d,phase:a,state:"running",startedAt:g});let h=Promise.resolve().then(e),i={startedAt:g,promise:h};this.activePhases.set(a,i),h.then(()=>{this.activePhases.get(a)===i&&this.activePhases.delete(a)},()=>{this.activePhases.get(a)===i&&this.activePhases.delete(a)});let j=()=>{},k=new Promise(a=>{j=()=>a({state:"timed-out"})}),l=this.ports.scheduleTimeout(j,this.phaseDeadlineMs),m=await Promise.race([h.then(a=>({state:"completed",value:a}),a=>({state:"failed",error:a})),k]);return this.ports.clearTimeout(l),this.publish({cycle:b,pass:c,trigger:d,phase:a,state:m.state,startedAt:g}),"failed"===m.state?this.ports.log(`[flow pipeline controller] ${a} phase failed`,m.error):"timed-out"===m.state&&this.ports.log(`[flow pipeline controller] ${a} phase exceeded its deadline`),m}publish(a){let b=this.ports.now();try{this.ports.publishHeartbeat({schemaVersion:1,controller:"flow-pipeline",cycle:a.cycle,pass:a.pass,trigger:a.trigger,phase:a.phase,state:a.state,phaseStartedAt:new Date(a.startedAt).toISOString(),updatedAt:new Date(b).toISOString(),ageMs:Math.max(0,b-a.startedAt),deadlineMs:this.phaseDeadlineMs})}catch(a){this.ports.log("[flow pipeline controller] durable heartbeat publication failed",a)}}}function s(a,b,c){b.__llvFlowPipelineUnregister?.(),b.__llvFlowPipelineUnregister=c.registerTick(()=>a.tick("signal")),b.__llvFlowPipelineWatchdog||(b.__llvFlowPipelineWatchdog=c.scheduleInterval(()=>void a.poll().catch(a=>{c.log("[flow pipeline controller] watchdog reconciliation failed",a)}),o),b.__llvFlowPipelineWatchdog.unref?.()),a.recover().catch(a=>{c.log("[flow pipeline controller] startup reconciliation failed",a)})}let t=globalThis;function u(){return t.__llvFlowPipelineController??=new r({scan:q,tickPipelines:m.n6,tickFlows:j.zn,publishHeartbeat:p})}function v(){s(u(),t,{registerTick:l.n_,scheduleInterval:(a,b)=>setInterval(a,b),log:(a,b)=>console.error(a,b)})}}};
|