agent-log-viewer 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.mjs +4 -0
- package/bin/server-runtime.test.ts +63 -12
- package/dist/mcp-server.mjs +31365 -26173
- package/dist/runtime-host.mjs +15618 -7081
- package/dist/standalone/.next/BUILD_ID +1 -1
- package/dist/standalone/.next/app-path-routes-manifest.json +21 -16
- package/dist/standalone/.next/build-manifest.json +3 -3
- package/dist/standalone/.next/prerender-manifest.json +4 -4
- package/dist/standalone/.next/react-loadable-manifest.json +1 -1
- package/dist/standalone/.next/required-server-files.json +1 -1
- package/dist/standalone/.next/routes-manifest.json +30 -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/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 -2
- 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 -2
- 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 +3 -2
- 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 +107 -1
- 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 -4
- 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 +3 -3
- 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 +25 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js +2 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/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 +2 -2
- 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 -2
- 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 +2 -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 +2 -2
- 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 -0
- package/dist/standalone/.next/server/app/api/runtime/inject/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/runtime/inject/route_client-reference-manifest.js +1 -0
- 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 -0
- package/dist/standalone/.next/server/app/api/runtime/queue/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/runtime/queue/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -2
- 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 +2 -2
- 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 +3 -3
- 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 -2
- 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 -0
- package/dist/standalone/.next/server/app/api/spawn/validate/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/spawn/validate/route_client-reference-manifest.js +1 -0
- 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 -2
- 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 -2
- 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 +3 -3
- 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 +1 -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 +59 -30
- 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 +21 -16
- package/dist/standalone/.next/server/chunks/107.js +1 -1
- package/dist/standalone/.next/server/chunks/1100.js +29 -10
- package/dist/standalone/.next/server/chunks/1406.js +399 -0
- package/dist/standalone/.next/server/chunks/1585.js +108 -0
- package/dist/standalone/.next/server/chunks/160.js +4 -4
- package/dist/standalone/.next/server/chunks/1617.js +2 -2
- package/dist/standalone/.next/server/chunks/1849.js +1 -0
- package/dist/standalone/.next/server/chunks/1888.js +1 -1
- package/dist/standalone/.next/server/chunks/193.js +1 -0
- package/dist/standalone/.next/server/chunks/1952.js +1 -0
- package/dist/standalone/.next/server/chunks/2549.js +1 -1
- package/dist/standalone/.next/server/chunks/2555.js +1 -0
- package/dist/standalone/.next/server/chunks/2647.js +1 -1
- package/dist/standalone/.next/server/chunks/2857.js +1 -0
- package/dist/standalone/.next/server/chunks/2914.js +24 -0
- package/dist/standalone/.next/server/chunks/3034.js +1 -0
- package/dist/standalone/.next/server/chunks/3086.js +1 -1
- package/dist/standalone/.next/server/chunks/3131.js +1 -0
- package/dist/standalone/.next/server/chunks/3214.js +1 -1
- package/dist/standalone/.next/server/chunks/3302.js +1 -2
- package/dist/standalone/.next/server/chunks/3407.js +1 -0
- package/dist/standalone/.next/server/chunks/3422.js +1 -0
- package/dist/standalone/.next/server/chunks/3558.js +1 -0
- package/dist/standalone/.next/server/chunks/3570.js +81 -0
- package/dist/standalone/.next/server/chunks/3587.js +1 -1
- package/dist/standalone/.next/server/chunks/3743.js +74 -24
- package/dist/standalone/.next/server/chunks/3830.js +1 -1
- package/dist/standalone/.next/server/chunks/3896.js +1 -0
- package/dist/standalone/.next/server/chunks/4127.js +1 -1
- package/dist/standalone/.next/server/chunks/4509.js +1 -1
- package/dist/standalone/.next/server/chunks/4637.js +62 -0
- package/dist/standalone/.next/server/chunks/4651.js +1 -1
- package/dist/standalone/.next/server/chunks/4783.js +1 -0
- package/dist/standalone/.next/server/chunks/480.js +126 -0
- package/dist/standalone/.next/server/chunks/4972.js +3 -3
- package/dist/standalone/.next/server/chunks/{4756.js → 4995.js} +3 -5
- package/dist/standalone/.next/server/chunks/5480.js +1 -1
- package/dist/standalone/.next/server/chunks/5545.js +1 -1
- package/dist/standalone/.next/server/chunks/568.js +1 -2
- package/dist/standalone/.next/server/chunks/5682.js +1 -0
- package/dist/standalone/.next/server/chunks/5771.js +1 -0
- package/dist/standalone/.next/server/chunks/5847.js +1 -0
- package/dist/standalone/.next/server/chunks/6023.js +1 -0
- package/dist/standalone/.next/server/chunks/6277.js +81 -0
- package/dist/standalone/.next/server/chunks/6289.js +2 -0
- package/dist/standalone/.next/server/chunks/644.js +81 -0
- package/dist/standalone/.next/server/chunks/6453.js +1 -0
- package/dist/standalone/.next/server/chunks/6522.js +1 -0
- package/dist/standalone/.next/server/chunks/6665.js +1 -1
- package/dist/standalone/.next/server/chunks/6809.js +3 -0
- package/dist/standalone/.next/server/chunks/6826.js +1 -1
- package/dist/standalone/.next/server/chunks/6926.js +1 -1
- package/dist/standalone/.next/server/chunks/{1920.js → 6942.js} +1 -1
- package/dist/standalone/.next/server/chunks/6978.js +1 -0
- package/dist/standalone/.next/server/chunks/7008.js +114 -9
- package/dist/standalone/.next/server/chunks/7192.js +1 -0
- package/dist/standalone/.next/server/chunks/7238.js +2 -0
- package/dist/standalone/.next/server/chunks/7361.js +22 -0
- package/dist/standalone/.next/server/chunks/7644.js +3 -3
- package/dist/standalone/.next/server/chunks/7722.js +1 -1
- package/dist/standalone/.next/server/chunks/781.js +55 -0
- package/dist/standalone/.next/server/chunks/7826.js +62 -0
- package/dist/standalone/.next/server/chunks/8027.js +11 -1
- package/dist/standalone/.next/server/chunks/8444.js +1 -1
- package/dist/standalone/.next/server/chunks/8512.js +1 -0
- package/dist/standalone/.next/server/chunks/8513.js +2 -0
- package/dist/standalone/.next/server/chunks/8617.js +1 -1
- package/dist/standalone/.next/server/chunks/8817.js +1 -1
- package/dist/standalone/.next/server/chunks/8991.js +1 -1
- package/dist/standalone/.next/server/chunks/8996.js +1 -1
- package/dist/standalone/.next/server/chunks/9296.js +104 -0
- package/dist/standalone/.next/server/chunks/{7139.js → 9298.js} +2 -2
- package/dist/standalone/.next/server/chunks/9307.js +1 -1
- package/dist/standalone/.next/server/chunks/9360.js +197 -0
- package/dist/standalone/.next/server/chunks/9403.js +1 -1
- package/dist/standalone/.next/server/chunks/9517.js +1 -1
- package/dist/standalone/.next/server/chunks/9554.js +47 -0
- package/dist/standalone/.next/server/chunks/9676.js +1 -62
- package/dist/standalone/.next/server/chunks/9822.js +11 -1
- package/dist/standalone/.next/server/chunks/9901.js +1 -62
- package/dist/standalone/.next/server/chunks/9940.js +3 -3
- package/dist/standalone/.next/server/chunks/9998.js +1 -1
- package/dist/standalone/.next/server/file-scanner-worker.js +3 -3
- package/dist/standalone/.next/server/files-response-worker.js +6 -6
- package/dist/standalone/.next/server/functions-config-manifest.json +5 -0
- package/dist/standalone/.next/server/instrumentation.js +1 -1
- package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/dist/standalone/.next/server/middleware.js +4 -4
- 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/wakatime-sync-worker.js +2 -2
- package/dist/standalone/.next/static/chunks/{3794-d1854fdd0e41dc44.js → 3794-0ef35fddac53cd9a.js} +1 -1
- package/dist/standalone/.next/static/chunks/6976-016b6947195a6ed2.js +1 -0
- package/dist/standalone/.next/static/chunks/app/_global-error/page-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/access/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/answer/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/board/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/files/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/image/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/proc/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/push/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/resources/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/roles/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/staging/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/page-16384e540b4c0a90.js +125 -0
- package/dist/standalone/.next/static/chunks/{main-8691b7dc3557ef3f.js → main-7e65147ff5ce0866.js} +1 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/css/496211a19557b7ee.css +1 -0
- package/dist/standalone/.next/static/e4qE_aCE0s0KQnnU6IWRw/_buildManifest.js +1 -0
- package/dist/standalone/AGENTS.md +20 -0
- package/dist/standalone/node_modules/@next/env/package.json +1 -1
- package/dist/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/dist/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +5 -5
- package/dist/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +5 -5
- package/dist/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/dist/standalone/node_modules/next/dist/server/config.js +1 -1
- package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/standalone/node_modules/next/dist/server/image-optimizer.js +2 -2
- package/dist/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/dist/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +17 -4
- package/dist/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/dist/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +1 -1
- package/dist/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/dist/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/dist/standalone/node_modules/next/package.json +10 -10
- package/dist/standalone/package.json +5 -5
- package/dist/standalone/server.bun.js +1 -1
- package/dist/standalone/src/lib/viewerInstrumentation.ts +809 -0
- package/package.json +5 -5
- package/dist/standalone/.next/server/chunks/112.js +0 -1
- package/dist/standalone/.next/server/chunks/2190.js +0 -1
- package/dist/standalone/.next/server/chunks/2318.js +0 -2
- package/dist/standalone/.next/server/chunks/2371.js +0 -1
- package/dist/standalone/.next/server/chunks/2500.js +0 -55
- package/dist/standalone/.next/server/chunks/2799.js +0 -1
- package/dist/standalone/.next/server/chunks/2870.js +0 -104
- package/dist/standalone/.next/server/chunks/3598.js +0 -81
- package/dist/standalone/.next/server/chunks/3740.js +0 -126
- package/dist/standalone/.next/server/chunks/3953.js +0 -1
- package/dist/standalone/.next/server/chunks/411.js +0 -1
- package/dist/standalone/.next/server/chunks/4191.js +0 -1
- package/dist/standalone/.next/server/chunks/461.js +0 -1
- package/dist/standalone/.next/server/chunks/4968.js +0 -2
- package/dist/standalone/.next/server/chunks/5408.js +0 -1
- package/dist/standalone/.next/server/chunks/6333.js +0 -47
- package/dist/standalone/.next/server/chunks/6839.js +0 -81
- package/dist/standalone/.next/server/chunks/7045.js +0 -319
- package/dist/standalone/.next/server/chunks/7159.js +0 -1
- package/dist/standalone/.next/server/chunks/8176.js +0 -1
- package/dist/standalone/.next/server/chunks/8263.js +0 -81
- package/dist/standalone/.next/server/chunks/8392.js +0 -126
- package/dist/standalone/.next/server/chunks/9120.js +0 -78
- package/dist/standalone/.next/server/chunks/9507.js +0 -1
- package/dist/standalone/.next/static/6jhPk8sOUI3wRf_j1l5vY/_buildManifest.js +0 -1
- package/dist/standalone/.next/static/chunks/3021-9ced2d55bf2cbf77.js +0 -1
- package/dist/standalone/.next/static/chunks/app/_global-error/page-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/access/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/answer/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/board/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/files/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/image/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/proc/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/push/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/resources/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/roles/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/staging/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/page-dbe7cb010b4941d6.js +0 -96
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/css/282596e2aaee1aa4.css +0 -1
- package/dist/standalone/src/lib/inboxFiles.ts +0 -203
- /package/dist/standalone/.next/static/{6jhPk8sOUI3wRf_j1l5vY → e4qE_aCE0s0KQnnU6IWRw}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3086,exports.ids=[3086],exports.modules={23086:(a,b,c)=>{c.d(b,{Ll:()=>Q,Nm:()=>P,TF:()=>w,vx:()=>R});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(50920),k=c(7058),l=c(94284),m=c(7343),n=c(78598),o=c(36552);function p(...a){return o.KZ(...a)}let q="files-scan-snapshot.json",r=-1/0,s=globalThis;function t(a){return"object"==typeof a&&null!==a}function u(a){if(!t(a)||!0!==a.complete||!Array.isArray(a.files)||!Array.isArray(a.projectCatalog))return!1;let b=a.files.every(a=>{var b;return!!t(a)&&"string"==typeof a.path&&("codex-sessions"===a.root||"claude-projects"===a.root||"claude-tasks"===a.root||"openclaw-sessions"===a.root)&&"string"==typeof a.name&&"string"==typeof a.project&&"string"==typeof a.title&&("codex"===a.engine||"claude"===a.engine||"shell"===a.engine||"openclaw"===a.engine)&&"string"==typeof a.kind&&("codex"===a.fmt||"claude"===a.fmt||"plain"===a.fmt||"openclaw"===a.fmt)&&(null===a.parent||"string"==typeof a.parent)&&"number"==typeof a.mtime&&Number.isFinite(a.mtime)&&"number"==typeof a.size&&Number.isFinite(a.size)&&(void 0===a.sessionStartedAt||null===a.sessionStartedAt||"string"==typeof a.sessionStartedAt)&&(void 0===a.nativeParentThreadId||null===a.nativeParentThreadId||"string"==typeof a.nativeParentThreadId)&&(void 0===a.nativeForkSourceThreadId||null===a.nativeForkSourceThreadId||"string"==typeof a.nativeForkSourceThreadId)&&("live"===a.activity||"recent"===a.activity||"stalled"===a.activity||"idle"===a.activity)&&(void 0===a.authoritativeTurn||!!t(b=a.authoritativeTurn)&&("busy"===b.state||"terminal"===b.state||"idle"===b.state||"unknown"===b.state)&&("lifecycle"===b.source||"tool"===b.source||"assistant"===b.source||"empty"===b.source)&&(null===b.terminalAt||"string"==typeof b.terminalAt))&&(null===a.proc||"running"===a.proc||"done"===a.proc||"killed"===a.proc)&&(null===a.pid||"number"==typeof a.pid)&&(null===a.model||"string"==typeof a.model)&&(null===a.pendingQuestion||t(a.pendingQuestion))&&(null===a.waitingInput||t(a.waitingInput))}),c=a.projectCatalog.every(a=>t(a)&&"string"==typeof a.project&&"number"==typeof a.smt&&Number.isFinite(a.smt)&&"number"==typeof a.conversations&&Number.isSafeInteger(a.conversations)&&(void 0===a.projectRoot||"string"==typeof a.projectRoot));return b&&c}function v(){try{let a=JSON.parse(g().readFileSync((0,j.BQ)(q),"utf8"));if(!t(a)||1!==a.version||10!==a.schemaVersion||!u(a.snapshot))return;return a.snapshot}catch{return}}function w(){return v()}function x(a){let b,c="create state directory",d=(0,j.BQ)(q);try{let f=(0,j.BQ)(q);d=f,g().mkdirSync(i().dirname(f),{recursive:!0,mode:448}),b=i().join(i().dirname(f),`.${i().basename(f)}.${process.pid}.${e().randomUUID()}.tmp`),c="write temporary snapshot",d=b,g().writeFileSync(b,JSON.stringify({version:1,schemaVersion:10,snapshot:a})+"\n",{encoding:"utf8",mode:384}),c="rename temporary snapshot",d=f,g().renameSync(b,f)}catch(e){if(void 0!==b)try{g().unlinkSync(b)}catch{}let a=Date.now();if(a-r>=6e4){r=a;let b=e instanceof Error?`${e.message}${"code"in e&&e.code?` (${String(e.code)})`:""}`:String(e);console.error(`[files scan cache] ${c} failed for ${d}: ${b}; a later refresh will retry`)}}}function y(a){return t(a)&&"promise"in a?y(a.promise):t(a)&&"function"==typeof a.then?Promise.resolve(a):void 0}function z(a,b,c,d=c,e=new AbortController){let f={generation:b,promise:c,resourcePromise:d,controller:e,subscribers:0,settled:!1};a.refresh=f;let g=()=>{f.settled=!0,a.refresh===f&&(a.refresh=void 0)};return c.then(g,g),f}function A(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function B(a,b){return b?.aborted?Promise.reject(A(b.reason)):(a.subscribers+=1,new Promise((c,d)=>{let e=!0,f=()=>{e&&(e=!1,b?.removeEventListener("abort",g),a.subscribers-=1,0!==a.subscribers||a.settled||a.controller.abort(A()))},g=()=>{f(),d(A(b?.reason))};b?.addEventListener("abort",g,{once:!0}),a.promise.then(a=>{e&&(f(),c(a))},a=>{e&&(f(),d(a))})}))}async function C(a,b,c,d){let e=performance.now();try{let f=await d();return a.lastScan={generation:b,reason:c,status:"complete",durationMs:performance.now()-e},f}catch(d){throw a.lastScan={generation:b,reason:c,status:"failed",durationMs:performance.now()-e},d}}function D(a,b,c,d,e){let f=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,g="ordinary"===c||"cold"===c;return C(a,b,c,async()=>{let c=await (0,o.uh)({fresh:f,join:g,signal:e},(b,c)=>p(b,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,...d?{onResourceSnapshot:d,resourceBaseline:a.snapshot}:{}},c));if(!c.complete)throw Error("filesystem scan incomplete");return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&x(c),a.snapshot=c,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,f&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),c})}function E(a,b,c){let d=new AbortController,e=D(a,b,c,void 0,d.signal);return z(a,b,e,e,d)}function F(a,b,c){var d;let e,f,g,h,i,j,k;return d=(d,e)=>D(a,b,c,d,e),g=new AbortController,h=!1,(i=new Promise((a,b)=>{e=a,f=b})).catch(()=>{}),(k=d(j=a=>{h||(h=!0,e(a))},g.signal)).then(j,a=>{h||f(a)}),z(a,b,k,i,g)}function G(a,b){let c=!1,d=!1,e=new AbortController,f=new Promise(a=>setImmediate(a)).then(()=>{if(c=!0,e.signal.aborted)throw A(e.signal.reason);if(d){if(!a.snapshot)throw Error("deferred file scan canceled without a completed snapshot");return a.snapshot}return D(a,b,"ordinary",void 0,e.signal)}),g=z(a,b,f,f,e);return g.cancelBeforeStart=()=>!c&&(d=!0,!0),g}async function H(a,b,c,d="generation",e){for(;!a.snapshot||a.snapshotGeneration<b||void 0!==c&&(a.pinnedSnapshots?.get(c)?.generation??-1)<b;){let f=a.refresh??(c?function(a,b,c,d){let e=new AbortController,f=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,g=C(a,b,d,async()=>{let d=await (0,o.uh)({fresh:f,join:!1,exclusive:!0,signal:e.signal},(a,b)=>p(a,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,pin:c},b));if(!d.complete)throw Error("filesystem scan incomplete");let g=d.pinOverlayPaths??[],h=new Set(g),i={files:d.files.filter(a=>!h.has(a.path)),projectCatalog:d.projectCatalog,complete:!0};for(a.pinnedSnapshots??=new Map,a.pinnedSnapshots.delete(c),a.pinnedSnapshots.set(c,{snapshot:{...i,files:d.files},...g.length?{pinOverlayPaths:g}:{},generation:b,refreshedAt:Date.now()});a.pinnedSnapshots.size>8;){let b=a.pinnedSnapshots.keys().next().value;if(void 0===b)break;a.pinnedSnapshots.delete(b),a.pinnedGenerations?.delete(b)}return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&x(i),a.snapshot=i,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,f&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),i});return z(a,b,g,g,e)}(a,b,c,d):E(a,b,d));await B(f,e)}return a.snapshot}function I(a,b){let c=a.pinnedSnapshots?.get(b);if(c)return a.pinnedSnapshots.delete(b),a.pinnedSnapshots.set(b,c),c}function J(a,b,c,d){let e=performance.now(),f=b?I(a,b):void 0;if(f){let b=structuredClone({snapshot:f.snapshot,pinOverlayPaths:f.pinOverlayPaths,generation:f.generation,targetGeneration:c});return{...b,cacheStatus:d??(b.generation<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:f.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}return{snapshot:structuredClone(a.snapshot),generation:a.snapshotGeneration,targetGeneration:c,cacheStatus:d??(a.snapshotGeneration<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:a.completedAt??a.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}function K(a){return a.requestedGeneration+=1,a.requestedGeneration}function L(a){a.catch(()=>void 0)}function M(a,b,c){a.pinnedGenerations??=new Map;let d=Math.max(a.pinnedGenerations.get(b)??-1,c);for(a.pinnedGenerations.delete(b),a.pinnedGenerations.set(b,d);a.pinnedGenerations.size>8;){let b=a.pinnedGenerations.keys().next().value;if(void 0===b)break;a.pinnedGenerations.delete(b)}return d}function N(){let a=(s.__llvFilesRouteScans??=new Map,s.__llvFilesRouteScans),b=a.get("");if(void 0===b){let b=v();b&&function(a){for(let c of((0,m.X$)(a.files),a.files)){var b;let a;if(!0!==c.derivationComplete)continue;try{a=g().statSync(c.path)}catch{continue}if(a.size!==c.size||a.mtimeMs/1e3!==c.mtime)continue;let d=1e3*c.mtime,e=function(a){if("jsonl_turn_open"===a.activityReason||"jsonl_turn_stalled"===a.activityReason||"pane_at_composer"===a.activityReason)return{state:"busy",source:"lifecycle",terminalAt:null};if("jsonl_turn_completed"===a.activityReason){let b=a.lastTurn?.endedAt;return{state:"terminal",source:"lifecycle",terminalAt:"number"==typeof b&&Number.isFinite(b)?new Date(b).toISOString():null}}if("mtime_fresh"===a.activityReason||"mtime_recent"===a.activityReason||"mtime_old"===a.activityReason)return{state:"unknown",source:"empty",terminalAt:null}}(c);if(void 0!==e&&c.path.endsWith(".jsonl")&&("claude"===(b=c.engine)||"codex"===b||"openclaw"===b)){let a=c.engine;(0,k.Ul)(c.path,c.size,d,a,e,{authoritative:!1,composerReleased:"pane_at_composer"===c.activityReason}),c.authoritativeTurn?(0,k.Ul)(c.path,c.size,d,a,c.authoritativeTurn,{composerReleased:"pane_at_composer"===c.activityReason}):("claude"!==a||"terminal"!==e.state)&&(0,k.Ul)(c.path,c.size,d,a,e,{composerReleased:"pane_at_composer"===c.activityReason})}"claude-projects"===c.root&&c.path.includes(`${i().sep}subagents${i().sep}`)||(0,l.E)("model").set(c.path,[c.size,d,{display:c.model,launch:c.launchModel??null}]),Object.hasOwn(c,"effort")&&("claude"!==c.engine||"running"!==c.proc)&&(0,l.E)("effort").set(c.path,[c.size,d,c.effort??null]),Object.hasOwn(c,"plan")&&(0,l.E)("plan-v2").set(c.path,[c.size,d,c.plan]),Object.hasOwn(c,"goal")&&(0,l.E)("goal-v2").set(c.path,[c.size,d,c.goal]),Object.hasOwn(c,"ctx")&&(0,l.E)("ctx-v2").set(c.path,[c.size,d,c.ctx]),Object.hasOwn(c,"lastTurn")&&(0,l.E)("last-turn-v5").set(c.path,[c.size,d,c.lastTurn]),Object.hasOwn(c,"pendingWakeup")&&(0,l.E)("wakeup-v2").set(c.path,[c.size,d,c.pendingWakeup]),"claude-projects"===c.root&&c.path.endsWith(".jsonl")&&(0,l.E)(n.oS).set(c.path,[c.size,d,function(a){if(!a.pendingQuestion)return null;let{pid:b,paneTarget:c,...d}=a.pendingQuestion;return d}(c)])}}(b);let c={schemaVersion:10,snapshot:b,snapshotGeneration:0,requestedGeneration:0,refreshedAt:0,completedAt:b?function(){try{return g().statSync((0,j.BQ)(q)).mtimeMs}catch{return 0}}():0};return a.set("",c),c}let c=function(a){if(t(a)&&10===a.schemaVersion&&Number.isSafeInteger(a.snapshotGeneration)&&Number.isSafeInteger(a.requestedGeneration)){let b=y(a.refresh);return!b||a.refresh?.controller&&Number.isSafeInteger(a.refresh.subscribers)||z(a,a.refresh?.generation??0,b),a}let b=t(a)?a:{},c={schemaVersion:10,snapshot:u(b.snapshot)?b.snapshot:void 0,snapshotGeneration:0,requestedGeneration:0,refreshedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0,completedAt:"number"==typeof b.completedAt&&Number.isFinite(b.completedAt)?b.completedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0},d=y(b.refresh);if(d){let a=d.then(a=>{if(!a.complete)throw Error("filesystem scan incomplete");return c.snapshot=a,c.refreshedAt=Date.now(),c.completedAt=c.refreshedAt,a});z(c,0,a)}return c}(b);return a.delete(""),a.set("",c),c}async function O(a,b,c=Date.now(),d,e){let f=N();f.requestCount=(f.requestCount??0)+1;let g=b&&!f.snapshot?.files.some(a=>a.path===b)?b:void 0,h=g?f.pinnedSnapshots?.get(g):void 0,i=void 0===g||void 0!==h,j=h?.refreshedAt??f.refreshedAt;if(void 0!==d&&f.snapshot&&i&&(void 0!==f.refresh&&f.refresh.generation>(h?.generation??f.snapshotGeneration)||f.lastScan?.reason==="revision"&&c-j<3e5)){let a=h?.generation??f.snapshotGeneration;return J(f,g,a,f.refresh?"stale":"hit")}let k=void 0!==e&&e<=f.requestedGeneration?e:void 0;if(void 0!==k)g&&(k=M(f,g,k));else if(void 0!==d){let a;f.forcedRevision===d&&void 0!==f.forcedGeneration?a=f.forcedGeneration:(a=K(f),f.forcedRevision=d,f.forcedGeneration=a),k=a,g&&(k=M(f,g,a));let b=H(f,k,g,"revision"),c=()=>{f.forcedGeneration===a&&(f.forcedRevision=void 0,f.forcedGeneration=void 0)};if(!f.snapshot)try{return await b,J(f,g,k,"miss")}finally{c()}b.then(c,c)}if(void 0!==k){let a=H(f,k,g,"generation"),b=!f.snapshot;return b?await a:L(a),J(f,g,k,b?"miss":void 0)}if(g){let a,b;f.pinnedSnapshots??=new Map;let d=I(f,g);if(d&&c-d.refreshedAt<1e3)return J(f,g,d.generation);a=f.pinnedGenerations?.get(g),b=f.pinnedSnapshots?.get(g)?.generation??-1;let e=H(f,k=void 0!==a&&a>b?a:M(f,g,K(f)),g,"pinned"),h=!f.snapshot;return h?await e:L(e),J(f,g,k,h?"miss":void 0)}if(!f.snapshot){k=f.refresh?.generation??K(f);let a=f.refresh??E(f,k,"cold");return await B(a),J(f,void 0,k,"miss")}return f.refresh?k=f.refresh.generation:c-Math.max(f.refreshedAt,f.ordinaryRefreshRequestedAt??0)>=3e5?(k=K(f),f.ordinaryRefreshRequestedAt=c,G(f,k)):k=f.snapshotGeneration,J(f,void 0,k)}async function P({revalidate:a=!0,signal:b}={}){let c=N();if(c.requestCount=(c.requestCount??0)+1,c.snapshot){let b=Date.now();if(a&&!c.refresh&&b-Math.max(c.refreshedAt,c.ordinaryRefreshRequestedAt??0)>=3e5){let a=K(c);c.ordinaryRefreshRequestedAt=b,G(c,a)}return J(c,void 0,c.snapshotGeneration)}let d=c.refresh?.generation??K(c),e=c.refresh??E(c,d,"cold");return await B(e,b),J(c,void 0,d,"miss")}async function Q({fresh:a=!1,now:b=Date.now()}={}){if(a){let a=N(),b=a.freshObservationGeneration??K(a);return a.freshObservationGeneration=b,await H(a,b,void 0,"fresh"),J(a,void 0,b)}let c=await O(void 0,void 0,b);if(c.generation>=c.targetGeneration)return c;let d=N();return await H(d,c.targetGeneration,void 0,"current"),J(d,void 0,c.targetGeneration)}async function R(){let a,b=N();b.requestCount=(b.requestCount??0)+1;let c=b.freshObservationGeneration;if(void 0===c){let d=b.refresh;d?.cancelBeforeStart?.()?(c=K(b),b.freshObservationGeneration=c,a=F(b,c,"fresh")):d?c=d.generation:(c=K(b),b.freshObservationGeneration=c)}for(;;){let d=a??b.refresh??F(b,c,"fresh");a=void 0;let e=await d.resourcePromise;if(d.generation>=c)return{snapshot:e,generation:d.generation,targetGeneration:c,cacheStatus:"miss",requestCount:b.requestCount??0,cloneDurationMs:0,refreshedAt:Date.now(),...b.lastScan?{lastScan:{...b.lastScan}}:{}};await B(d)}}},36552:(a,b,c)=>{c.d(b,{wj:()=>w,uh:()=>v,KZ:()=>r});var d=c(47381),e=c(31421),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j={setTimeout:(a,b)=>setTimeout(a,b),clearTimeout:a=>{clearTimeout(a)}};var k=c(54132),l=c(65377),m=c(20707);function n(){return new DOMException("file scan cancelled","AbortError")}function o(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function p(a=process.cwd()){let b=i().join(a,"src/lib/fileScanner.worker.ts"),c=i().join(a,".next/server/file-scanner-worker.js");return g().existsSync(b)&&g().existsSync("/usr/local/bin/bun-container")?{executable:"/usr/local/bin/bun-container",workerPath:b}:g().existsSync(c)?{executable:process.versions.bun?process.execPath:process.env.LLV_BUN_EXECUTABLE||"bun",workerPath:c}:g().existsSync(b)?{executable:process.execPath,workerPath:b}:null}let q=globalThis;function r(a,b={},c=new AbortController().signal){let f={...b,persist:a.persist,...a.fresh?{fresh:!0}:{}};if(c.aborted)return Promise.reject(t(c.reason));if(!function(a=process.env){return"test"!==a.NODE_ENV&&"1"!==a.LLV_FILE_SCANNER_WORKER&&"1"!==a.LLV_FILE_SCANNER_WORKER_DISABLED}()||null===p())return(0,d.SW)(void 0,{...f,signal:c}).then(a=>{if(c.aborted)throw t(c.reason);return a});let{onResourceSnapshot:h,...i}=f;return function(a,b,c={}){if(c.signal?.aborted)return Promise.reject(n());let d=c.launch??p(c.cwd);if(!d)return Promise.reject(Error("this process has no file scanner worker artifact"));let f=(0,m.FX)(!1),h=void 0===c.launch&&g().existsSync("/usr/bin/nice"),i=(0,e.spawn)(h?"/usr/bin/nice":d.executable,[...h?["-n","10",d.executable]:[],d.workerPath],{cwd:c.cwd??process.cwd(),stdio:["pipe","pipe","pipe"],env:{...(0,l.Fd)(c.env??process.env),LLV_FILE_SCANNER_WORKER:"1"}});return new Promise((d,e)=>{let g,h,l=c.scheduler??j,p=!1,q=!1,r="",s="",t=0,u=null,v=null,w=(a,b)=>{p||(p=!0,void 0!==h&&(l.clearTimeout(h),h=void 0),q&&(c.signal?.removeEventListener("abort",z),q=!1),a?e(a):d(b))},x=a=>{if(!p&&!v){v=a;try{i.kill("SIGKILL")}catch{}(null!==i.exitCode||null!==i.signalCode)&&w(a)}},y=a=>{x(Error(a))},z=()=>x(n()),A=()=>{for(;;){let a,c=r.indexOf("\n");if(c<0)return;let d=r.slice(0,c);if(r=r.slice(c+1),!d)continue;try{a=JSON.parse(d)}catch{y("file scanner worker emitted invalid JSON");return}let e=function(a){var b;return o(a)&&("resource"===a.type||"complete"===a.type)&&o(b=a.snapshot)&&Array.isArray(b.files)&&Array.isArray(b.projectCatalog)&&"boolean"==typeof b.complete&&(void 0===b.conversationCatalog||Array.isArray(b.conversationCatalog))&&(void 0===b.pinOverlayPaths||Array.isArray(b.pinOverlayPaths))?a:null}(a);if(!e)return void y("file scanner worker emitted an invalid message");if("resource"===e.type)b?.(e.snapshot);else{let{conversationCatalog:a,...b}=e.snapshot;g=a,u=b}}};h=l.setTimeout(()=>{h=void 0,y("file scanner worker timed out")},c.timeoutMs??3e5),i.once("error",a=>w(a)),i.stdout.setEncoding("utf8"),i.stdout.on("data",a=>{(t+=Buffer.byteLength(a))>0x2000000?y("file scanner worker exceeded output limit"):(r+=a,A())}),i.stderr.setEncoding("utf8"),i.stderr.on("data",a=>{s=`${s}${a}`,Buffer.byteLength(s)>4096&&(s=Buffer.from(s).subarray(-4096).toString("utf8"))}),i.once("close",(a,b)=>{if(!p){if(v)return void w(v);if(A(),0!==a||!u){let c=s.trim();w(Error(`file scanner worker exited before completion (${b??a??"unknown"})${c?`: ${c}`:""}`));return}if(g){let a=(0,m.pu)(f);(0,m.OQ)(g,f,u.complete),a&&(c.transcriptIndexScheduler??k.O)({complete:u.complete,sources:g.flatMap(a=>"openclaw"===a.engine?[]:[{path:a.path,project:a.project,engine:a.engine,size:a.size,mtimeMs:1e3*a.mtime}])})}w(void 0,u)}}),i.stdin.once("error",a=>{v||w(a)}),c.signal&&(c.signal.addEventListener("abort",z,{once:!0}),q=!0,c.signal.aborted&&z()),i.stdin.end(JSON.stringify({type:"scan",options:a}))})}(i,h,{signal:c})}let s=(a,b)=>r(a,{},b);function t(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function u(a,b){if(b.settled||b.subscribers>0||(b.controller.abort(t()),b.started))return;let c=a.queue.indexOf(b);c>=0&&a.queue.splice(c,1),b.settled=!0,b.reject(t())}async function v(a={},b=s){var c,d;let e=q.__llvFileScanCoordinator??={generation:0,queue:[],startScheduled:!1};if(a.signal?.aborted)throw t(a.signal.reason);let f={persist:!0===a.persist,fresh:!0===a.fresh},g=!0===a.exclusive,h=e.inflight,i=g||!h||h.controller.signal.aborted||h.exclusive||!1===a.join||(c=h.intent,!c.persist&&f.persist||!c.fresh&&f.fresh)?function(a,b,c,d){let e,f,g;if(!d){let c=a.queue.find(a=>!a.exclusive);if(c)return c.intent={persist:c.intent.persist||b.persist,fresh:c.intent.fresh||b.fresh},c}let h=((g=new Promise((a,b)=>{e=a,f=b})).catch(()=>void 0),{generation:0,intent:b,runner:c,exclusive:d,controller:new AbortController,subscribers:0,started:!1,settled:!1,promise:g,resolve:e,reject:f});return a.queue.push(h),function a(b){b.startScheduled||(b.startScheduled=!0,queueMicrotask(()=>{if(b.startScheduled=!1,b.inflight)return;let c=b.queue.shift();c&&function(b,c){let d;b.generation+=1,c.generation=b.generation,c.started=!0,b.inflight=c;try{d=Promise.resolve(c.runner(c.intent,c.controller.signal))}catch(a){d=Promise.reject(a)}d.then(a=>{c.settled=!0,c.resolve(a)},a=>{c.settled=!0,c.reject(a)}).finally(()=>{b.inflight===c&&(b.inflight=void 0),a(b)})}(b,c)}))}(a),h}(e,f,b,g):h;return d=a.signal,d?.aborted?(u(e,i),Promise.reject(t(d.reason))):(i.subscribers+=1,new Promise((a,b)=>{let c=!0,f=()=>{c&&(c=!1,d?.removeEventListener("abort",g),i.subscribers-=1,u(e,i))},g=()=>{f(),b(t(d?.reason))};d?.addEventListener("abort",g,{once:!0}),i.promise.then(b=>{c&&(f(),a(structuredClone(b)))},a=>{c&&(f(),b(a))})}))}function w(){return v({persist:!0})}}};
|
|
1
|
+
"use strict";exports.id=3086,exports.ids=[3086],exports.modules={4934:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{KZ:()=>h,uh:()=>k,wj:()=>l});var e=c(803),f=c(96458),g=a([e]);e=(g.then?(await g)():g)[0];let m=globalThis;function h(a,b={},c=new AbortController().signal){let d={...b,persist:a.persist,...a.fresh?{fresh:!0}:{}};if(c.aborted)return Promise.reject(i(c.reason));if(!(0,f.hq)()||null===(0,f.hn)())return(0,e.SW)(void 0,{...d,signal:c}).then(a=>{if(c.aborted)throw i(c.reason);return a});let{onResourceSnapshot:g,...j}=d;return(0,f.PC)(j,g,{signal:c})}let n=(a,b)=>h(a,{},b);function i(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function j(a,b){if(b.settled||b.subscribers>0||(b.controller.abort(i()),b.started))return;let c=a.queue.indexOf(b);c>=0&&a.queue.splice(c,1),b.settled=!0,b.reject(i())}async function k(a={},b=n){var c,d;let e=m.__llvFileScanCoordinator??={generation:0,queue:[],startScheduled:!1};if(a.signal?.aborted)throw i(a.signal.reason);let f={persist:!0===a.persist,fresh:!0===a.fresh},g=!0===a.exclusive,h=e.inflight,l=g||!h||h.controller.signal.aborted||h.exclusive||!1===a.join||(c=h.intent,!c.persist&&f.persist||!c.fresh&&f.fresh)?function(a,b,c,d){let e,f,g;if(!d){let c=a.queue.find(a=>!a.exclusive);if(c)return c.intent={persist:c.intent.persist||b.persist,fresh:c.intent.fresh||b.fresh},c}let h=((g=new Promise((a,b)=>{e=a,f=b})).catch(()=>void 0),{generation:0,intent:b,runner:c,exclusive:d,controller:new AbortController,subscribers:0,started:!1,settled:!1,promise:g,resolve:e,reject:f});return a.queue.push(h),function a(b){b.startScheduled||(b.startScheduled=!0,queueMicrotask(()=>{if(b.startScheduled=!1,b.inflight)return;let c=b.queue.shift();c&&function(b,c){let d;b.generation+=1,c.generation=b.generation,c.started=!0,b.inflight=c;try{d=Promise.resolve(c.runner(c.intent,c.controller.signal))}catch(a){d=Promise.reject(a)}d.then(a=>{c.settled=!0,c.resolve(a)},a=>{c.settled=!0,c.reject(a)}).finally(()=>{b.inflight===c&&(b.inflight=void 0),a(b)})}(b,c)}))}(a),h}(e,f,b,g):h;return d=a.signal,d?.aborted?(j(e,l),Promise.reject(i(d.reason))):(l.subscribers+=1,new Promise((a,b)=>{let c=!0,f=()=>{c&&(c=!1,d?.removeEventListener("abort",g),l.subscribers-=1,j(e,l))},g=()=>{f(),b(i(d?.reason))};d?.addEventListener("abort",g,{once:!0}),l.promise.then(b=>{c&&(f(),a(structuredClone(b)))},a=>{c&&(f(),b(a))})}))}function l(){return k({persist:!0})}d()}catch(a){d(a)}})},23086:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ll:()=>P,Nm:()=>O,TF:()=>v,vx:()=>Q});var e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(50920),l=c(7058),m=c(94284),n=c(7343),o=c(78598),p=c(4934),q=a([p]);function r(...a){return p.KZ(...a)}p=(q.then?(await q)():q)[0];let R="files-scan-snapshot.json",S=-1/0,T=globalThis;function s(a){return"object"==typeof a&&null!==a}function t(a){if(!s(a)||!0!==a.complete||!Array.isArray(a.files)||!Array.isArray(a.projectCatalog))return!1;let b=a.files.every(a=>{var b;return!!s(a)&&"string"==typeof a.path&&("codex-sessions"===a.root||"claude-projects"===a.root||"claude-tasks"===a.root||"openclaw-sessions"===a.root)&&"string"==typeof a.name&&"string"==typeof a.project&&"string"==typeof a.title&&("codex"===a.engine||"claude"===a.engine||"shell"===a.engine||"openclaw"===a.engine)&&"string"==typeof a.kind&&("codex"===a.fmt||"claude"===a.fmt||"plain"===a.fmt||"openclaw"===a.fmt)&&(null===a.parent||"string"==typeof a.parent)&&"number"==typeof a.mtime&&Number.isFinite(a.mtime)&&"number"==typeof a.size&&Number.isFinite(a.size)&&(void 0===a.sessionStartedAt||null===a.sessionStartedAt||"string"==typeof a.sessionStartedAt)&&(void 0===a.nativeParentThreadId||null===a.nativeParentThreadId||"string"==typeof a.nativeParentThreadId)&&(void 0===a.nativeForkSourceThreadId||null===a.nativeForkSourceThreadId||"string"==typeof a.nativeForkSourceThreadId)&&("live"===a.activity||"recent"===a.activity||"stalled"===a.activity||"idle"===a.activity)&&(void 0===a.authoritativeTurn||(b=a.authoritativeTurn,!!s(b)&&("busy"===b.state||"terminal"===b.state||"idle"===b.state||"unknown"===b.state)&&("lifecycle"===b.source||"tool"===b.source||"assistant"===b.source||"empty"===b.source)&&(null===b.terminalAt||"string"==typeof b.terminalAt)))&&(null===a.proc||"running"===a.proc||"done"===a.proc||"killed"===a.proc)&&(null===a.pid||"number"==typeof a.pid)&&(null===a.model||"string"==typeof a.model)&&(null===a.pendingQuestion||s(a.pendingQuestion))&&(null===a.waitingInput||s(a.waitingInput))}),c=a.projectCatalog.every(a=>s(a)&&"string"==typeof a.project&&"number"==typeof a.smt&&Number.isFinite(a.smt)&&"number"==typeof a.conversations&&Number.isSafeInteger(a.conversations)&&(void 0===a.projectRoot||"string"==typeof a.projectRoot));return b&&c}function u(){try{let a=JSON.parse(h().readFileSync((0,k.BQ)(R),"utf8"));if(!s(a)||1!==a.version||11!==a.schemaVersion||!t(a.snapshot))return;return a.snapshot}catch{return}}function v(){return u()}function w(a){let b,c="create state directory",d=(0,k.BQ)(R);try{let e=(0,k.BQ)(R);d=e,h().mkdirSync(j().dirname(e),{recursive:!0,mode:448}),b=j().join(j().dirname(e),`.${j().basename(e)}.${process.pid}.${f().randomUUID()}.tmp`),c="write temporary snapshot",d=b,h().writeFileSync(b,JSON.stringify({version:1,schemaVersion:11,snapshot:a})+"\n",{encoding:"utf8",mode:384}),c="rename temporary snapshot",d=e,h().renameSync(b,e)}catch(e){if(void 0!==b)try{h().unlinkSync(b)}catch{}let a=Date.now();if(a-S>=6e4){S=a;let b=e instanceof Error?`${e.message}${"code"in e&&e.code?` (${String(e.code)})`:""}`:String(e);console.error(`[files scan cache] ${c} failed for ${d}: ${b}; a later refresh will retry`)}}}function x(a){return s(a)&&"promise"in a?x(a.promise):s(a)&&"function"==typeof a.then?Promise.resolve(a):void 0}function y(a,b,c,d=c,e=new AbortController){let f={generation:b,promise:c,resourcePromise:d,controller:e,subscribers:0,settled:!1};a.refresh=f;let g=()=>{f.settled=!0,a.refresh===f&&(a.refresh=void 0)};return c.then(g,g),f}function z(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function A(a,b){return b?.aborted?Promise.reject(z(b.reason)):(a.subscribers+=1,new Promise((c,d)=>{let e=!0,f=()=>{e&&(e=!1,b?.removeEventListener("abort",g),a.subscribers-=1,0!==a.subscribers||a.settled||a.controller.abort(z()))},g=()=>{f(),d(z(b?.reason))};b?.addEventListener("abort",g,{once:!0}),a.promise.then(a=>{e&&(f(),c(a))},a=>{e&&(f(),d(a))})}))}async function B(a,b,c,d){let e=performance.now();try{let f=await d();return a.lastScan={generation:b,reason:c,status:"complete",durationMs:performance.now()-e},f}catch(d){throw a.lastScan={generation:b,reason:c,status:"failed",durationMs:performance.now()-e},d}}function C(a,b,c,d,e){let f=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,g="ordinary"===c||"cold"===c;return B(a,b,c,async()=>{let c=await (0,p.uh)({fresh:f,join:g,signal:e},(b,c)=>r(b,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,...d?{onResourceSnapshot:d,resourceBaseline:a.snapshot}:{}},c));if(!c.complete)throw Error("filesystem scan incomplete");return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&w(c),a.snapshot=c,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,f&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),c})}function D(a,b,c){let d=new AbortController,e=C(a,b,c,void 0,d.signal);return y(a,b,e,e,d)}function E(a,b,c){var d;let e,f,g,h,i,j,k;return d=(d,e)=>C(a,b,c,d,e),g=new AbortController,h=!1,(i=new Promise((a,b)=>{e=a,f=b})).catch(()=>{}),j=a=>{h||(h=!0,e(a))},(k=d(j,g.signal)).then(j,a=>{h||f(a)}),y(a,b,k,i,g)}function F(a,b){let c=!1,d=!1,e=new AbortController,f=new Promise(a=>setImmediate(a)).then(()=>{if(c=!0,e.signal.aborted)throw z(e.signal.reason);if(d){if(!a.snapshot)throw Error("deferred file scan canceled without a completed snapshot");return a.snapshot}return C(a,b,"ordinary",void 0,e.signal)}),g=y(a,b,f,f,e);return g.cancelBeforeStart=()=>!c&&(d=!0,!0),g}async function G(a,b,c,d="generation",e){for(;!a.snapshot||a.snapshotGeneration<b||void 0!==c&&(a.pinnedSnapshots?.get(c)?.generation??-1)<b;){let f=a.refresh??(c?function(a,b,c,d){let e=new AbortController,f=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,g=B(a,b,d,async()=>{let d=await (0,p.uh)({fresh:f,join:!1,exclusive:!0,signal:e.signal},(a,b)=>r(a,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,pin:c},b));if(!d.complete)throw Error("filesystem scan incomplete");let g=d.pinOverlayPaths??[],h=new Set(g),i={files:d.files.filter(a=>!h.has(a.path)),projectCatalog:d.projectCatalog,complete:!0};for(a.pinnedSnapshots??=new Map,a.pinnedSnapshots.delete(c),a.pinnedSnapshots.set(c,{snapshot:{...i,files:d.files},...g.length?{pinOverlayPaths:g}:{},generation:b,refreshedAt:Date.now()});a.pinnedSnapshots.size>8;){let b=a.pinnedSnapshots.keys().next().value;if(void 0===b)break;a.pinnedSnapshots.delete(b),a.pinnedGenerations?.delete(b)}return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&w(i),a.snapshot=i,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,f&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),i});return y(a,b,g,g,e)}(a,b,c,d):D(a,b,d));await A(f,e)}return a.snapshot}function H(a,b){let c=a.pinnedSnapshots?.get(b);if(c)return a.pinnedSnapshots.delete(b),a.pinnedSnapshots.set(b,c),c}function I(a,b,c,d){let e=performance.now(),f=b?H(a,b):void 0;if(f){let b=structuredClone({snapshot:f.snapshot,pinOverlayPaths:f.pinOverlayPaths,generation:f.generation,targetGeneration:c});return{...b,cacheStatus:d??(b.generation<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:f.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}return{snapshot:structuredClone(a.snapshot),generation:a.snapshotGeneration,targetGeneration:c,cacheStatus:d??(a.snapshotGeneration<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:a.completedAt??a.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}function J(a){return a.requestedGeneration+=1,a.requestedGeneration}function K(a){a.catch(()=>void 0)}function L(a,b,c){a.pinnedGenerations??=new Map;let d=Math.max(a.pinnedGenerations.get(b)??-1,c);for(a.pinnedGenerations.delete(b),a.pinnedGenerations.set(b,d);a.pinnedGenerations.size>8;){let b=a.pinnedGenerations.keys().next().value;if(void 0===b)break;a.pinnedGenerations.delete(b)}return d}function M(){let a=(T.__llvFilesRouteScans??=new Map,T.__llvFilesRouteScans),b=a.get("");if(void 0===b){let b=u();b&&function(a){for(let c of((0,n.X$)(a.files),a.files)){var b;let a;if(!0!==c.derivationComplete)continue;try{a=h().statSync(c.path)}catch{continue}if(a.size!==c.size||a.mtimeMs/1e3!==c.mtime)continue;let d=1e3*c.mtime,e=function(a){if("jsonl_turn_open"===a.activityReason||"jsonl_turn_stalled"===a.activityReason||"pane_at_composer"===a.activityReason)return{state:"busy",source:"lifecycle",terminalAt:null};if("jsonl_turn_completed"===a.activityReason){let b=a.lastTurn?.endedAt;return{state:"terminal",source:"lifecycle",terminalAt:"number"==typeof b&&Number.isFinite(b)?new Date(b).toISOString():null}}if("mtime_fresh"===a.activityReason||"mtime_recent"===a.activityReason||"mtime_old"===a.activityReason)return{state:"unknown",source:"empty",terminalAt:null}}(c);if(void 0!==e&&c.path.endsWith(".jsonl")&&(b=c.engine,"claude"===b||"codex"===b||"openclaw"===b)){let a=c.engine;(0,l.Ul)(c.path,c.size,d,a,e,{authoritative:!1,composerReleased:"pane_at_composer"===c.activityReason}),c.authoritativeTurn?(0,l.Ul)(c.path,c.size,d,a,c.authoritativeTurn,{composerReleased:"pane_at_composer"===c.activityReason}):("claude"!==a||"terminal"!==e.state)&&(0,l.Ul)(c.path,c.size,d,a,e,{composerReleased:"pane_at_composer"===c.activityReason})}"claude-projects"===c.root&&c.path.includes(`${j().sep}subagents${j().sep}`)||(0,m.E)("model").set(c.path,[c.size,d,{display:c.model,launch:c.launchModel??null}]),Object.hasOwn(c,"effort")&&("claude"!==c.engine||"running"!==c.proc)&&(0,m.E)("effort").set(c.path,[c.size,d,c.effort??null]),Object.hasOwn(c,"plan")&&(0,m.E)("plan-v2").set(c.path,[c.size,d,c.plan]),Object.hasOwn(c,"goal")&&(0,m.E)("goal-v2").set(c.path,[c.size,d,c.goal]),Object.hasOwn(c,"ctx")&&(0,m.E)("ctx-v2").set(c.path,[c.size,d,c.ctx]),Object.hasOwn(c,"lastTurn")&&(0,m.E)("last-turn-v5").set(c.path,[c.size,d,c.lastTurn]),Object.hasOwn(c,"pendingWakeup")&&(0,m.E)("wakeup-v2").set(c.path,[c.size,d,c.pendingWakeup]),"claude-projects"===c.root&&c.path.endsWith(".jsonl")&&(0,m.E)(o.oS).set(c.path,[c.size,d,function(a){if(!a.pendingQuestion)return null;let{pid:b,paneTarget:c,...d}=a.pendingQuestion;return d}(c)])}}(b);let c={schemaVersion:11,snapshot:b,snapshotGeneration:0,requestedGeneration:0,refreshedAt:0,completedAt:b?function(){try{return h().statSync((0,k.BQ)(R)).mtimeMs}catch{return 0}}():0};return a.set("",c),c}let c=function(a){if(s(a)&&11===a.schemaVersion&&Number.isSafeInteger(a.snapshotGeneration)&&Number.isSafeInteger(a.requestedGeneration)){let b=x(a.refresh);return!b||a.refresh?.controller&&Number.isSafeInteger(a.refresh.subscribers)||y(a,a.refresh?.generation??0,b),a}let b=s(a)?a:{},c={schemaVersion:11,snapshot:t(b.snapshot)?b.snapshot:void 0,snapshotGeneration:0,requestedGeneration:0,refreshedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0,completedAt:"number"==typeof b.completedAt&&Number.isFinite(b.completedAt)?b.completedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0},d=x(b.refresh);if(d){let a=d.then(a=>{if(!a.complete)throw Error("filesystem scan incomplete");return c.snapshot=a,c.refreshedAt=Date.now(),c.completedAt=c.refreshedAt,a});y(c,0,a)}return c}(b);return a.delete(""),a.set("",c),c}async function N(a,b,c=Date.now(),d,e){let f=M();f.requestCount=(f.requestCount??0)+1;let g=b&&!f.snapshot?.files.some(a=>a.path===b)?b:void 0,h=g?f.pinnedSnapshots?.get(g):void 0,i=void 0===g||void 0!==h,j=h?.refreshedAt??f.refreshedAt;if(void 0!==d&&f.snapshot&&i&&(void 0!==f.refresh&&f.refresh.generation>(h?.generation??f.snapshotGeneration)||f.lastScan?.reason==="revision"&&c-j<3e5)){let a=h?.generation??f.snapshotGeneration;return I(f,g,a,f.refresh?"stale":"hit")}let k=void 0!==e&&e<=f.requestedGeneration?e:void 0;if(void 0!==k)g&&(k=L(f,g,k));else if(void 0!==d){let a;f.forcedRevision===d&&void 0!==f.forcedGeneration?a=f.forcedGeneration:(a=J(f),f.forcedRevision=d,f.forcedGeneration=a),k=a,g&&(k=L(f,g,a));let b=G(f,k,g,"revision"),c=()=>{f.forcedGeneration===a&&(f.forcedRevision=void 0,f.forcedGeneration=void 0)};if(!f.snapshot)try{return await b,I(f,g,k,"miss")}finally{c()}b.then(c,c)}if(void 0!==k){let a=G(f,k,g,"generation"),b=!f.snapshot;return b?await a:K(a),I(f,g,k,b?"miss":void 0)}if(g){let a,b;f.pinnedSnapshots??=new Map;let d=H(f,g);if(d&&c-d.refreshedAt<1e3)return I(f,g,d.generation);a=f.pinnedGenerations?.get(g),b=f.pinnedSnapshots?.get(g)?.generation??-1,k=void 0!==a&&a>b?a:L(f,g,J(f));let e=G(f,k,g,"pinned"),h=!f.snapshot;return h?await e:K(e),I(f,g,k,h?"miss":void 0)}if(!f.snapshot){k=f.refresh?.generation??J(f);let a=f.refresh??D(f,k,"cold");return await A(a),I(f,void 0,k,"miss")}return f.refresh?k=f.refresh.generation:c-Math.max(f.refreshedAt,f.ordinaryRefreshRequestedAt??0)>=3e5?(k=J(f),f.ordinaryRefreshRequestedAt=c,F(f,k)):k=f.snapshotGeneration,I(f,void 0,k)}async function O({revalidate:a=!0,signal:b}={}){let c=M();if(c.requestCount=(c.requestCount??0)+1,c.snapshot){let b=Date.now();if(a&&!c.refresh&&b-Math.max(c.refreshedAt,c.ordinaryRefreshRequestedAt??0)>=3e5){let a=J(c);c.ordinaryRefreshRequestedAt=b,F(c,a)}return I(c,void 0,c.snapshotGeneration)}let d=c.refresh?.generation??J(c),e=c.refresh??D(c,d,"cold");return await A(e,b),I(c,void 0,d,"miss")}async function P({fresh:a=!1,now:b=Date.now()}={}){if(a){let a=M(),b=a.freshObservationGeneration??J(a);return a.freshObservationGeneration=b,await G(a,b,void 0,"fresh"),I(a,void 0,b)}let c=await N(void 0,void 0,b);if(c.generation>=c.targetGeneration)return c;let d=M();return await G(d,c.targetGeneration,void 0,"current"),I(d,void 0,c.targetGeneration)}async function Q(){let a,b=M();b.requestCount=(b.requestCount??0)+1;let c=b.freshObservationGeneration;if(void 0===c){let d=b.refresh;d?.cancelBeforeStart?.()?(c=J(b),b.freshObservationGeneration=c,a=E(b,c,"fresh")):d?c=d.generation:(c=J(b),b.freshObservationGeneration=c)}for(;;){let f=a??b.refresh??E(b,c,"fresh");a=void 0;let g=await f.resourcePromise;if(f.generation>=c){var d,e;return d=f.generation,e=c,{snapshot:g,generation:d,targetGeneration:e,cacheStatus:"miss",requestCount:b.requestCount??0,cloneDurationMs:0,refreshedAt:Date.now(),...b.lastScan?{lastScan:{...b.lastScan}}:{}}}await A(f)}}d()}catch(a){d(a)}})},96458:(a,b,c)=>{c.d(b,{PC:()=>q,hq:()=>p,hn:()=>o});var d=c(31421),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g);let i={setTimeout:(a,b)=>setTimeout(a,b),clearTimeout:a=>{clearTimeout(a)}};var j=c(31751),k=c(65377),l=c(20707);function m(){return new DOMException("file scan cancelled","AbortError")}function n(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function o(a=process.cwd()){let b=h().join(a,"src/lib/fileScanner.worker.ts"),c=h().join(a,".next/server/file-scanner-worker.js");return f().existsSync(b)&&f().existsSync("/usr/local/bin/bun-container")?{executable:"/usr/local/bin/bun-container",workerPath:b}:f().existsSync(c)?{executable:process.versions.bun?process.execPath:process.env.LLV_BUN_EXECUTABLE||"bun",workerPath:c}:f().existsSync(b)?{executable:process.execPath,workerPath:b}:null}function p(a=process.env){return"test"!==a.NODE_ENV&&"1"!==a.LLV_FILE_SCANNER_WORKER&&"1"!==a.LLV_FILE_SCANNER_WORKER_DISABLED}function q(a,b,c={}){if(c.signal?.aborted)return Promise.reject(m());let e=c.launch??o(c.cwd);if(!e)return Promise.reject(Error("this process has no file scanner worker artifact"));let g=(0,l.FX)(!1),h=void 0===c.launch&&f().existsSync("/usr/bin/nice"),p=(0,d.spawn)(h?"/usr/bin/nice":e.executable,[...h?["-n","10",e.executable]:[],e.workerPath],{cwd:c.cwd??process.cwd(),stdio:["pipe","pipe","pipe"],env:{...(0,k.Fd)(c.env??process.env),LLV_FILE_SCANNER_WORKER:"1"}});return new Promise((d,e)=>{let f,h,k=c.scheduler??i,o=!1,q=!1,r="",s="",t=0,u=null,v=null,w=(a,b)=>{o||(o=!0,void 0!==h&&(k.clearTimeout(h),h=void 0),q&&(c.signal?.removeEventListener("abort",z),q=!1),a?e(a):d(b))},x=a=>{if(!o&&!v){v=a;try{p.kill("SIGKILL")}catch{}(null!==p.exitCode||null!==p.signalCode)&&w(a)}},y=a=>{x(Error(a))},z=()=>x(m()),A=()=>{for(;;){let a,c=r.indexOf("\n");if(c<0)return;let d=r.slice(0,c);if(r=r.slice(c+1),!d)continue;try{a=JSON.parse(d)}catch{y("file scanner worker emitted invalid JSON");return}let e=function(a){var b;return n(a)&&("resource"===a.type||"complete"===a.type)&&n(b=a.snapshot)&&Array.isArray(b.files)&&Array.isArray(b.projectCatalog)&&"boolean"==typeof b.complete&&(void 0===b.conversationCatalog||Array.isArray(b.conversationCatalog))&&(void 0===b.pinOverlayPaths||Array.isArray(b.pinOverlayPaths))?a:null}(a);if(!e)return void y("file scanner worker emitted an invalid message");if("resource"===e.type)b?.(e.snapshot);else{let{conversationCatalog:a,...b}=e.snapshot;f=a,u=b}}};h=k.setTimeout(()=>{h=void 0,y("file scanner worker timed out")},c.timeoutMs??3e5),p.once("error",a=>w(a)),p.stdout.setEncoding("utf8"),p.stdout.on("data",a=>{(t+=Buffer.byteLength(a))>0x2000000?y("file scanner worker exceeded output limit"):(r+=a,A())}),p.stderr.setEncoding("utf8"),p.stderr.on("data",a=>{s=`${s}${a}`,Buffer.byteLength(s)>4096&&(s=Buffer.from(s).subarray(-4096).toString("utf8"))}),p.once("close",(a,b)=>{if(!o){if(v)return void w(v);if(A(),0!==a||!u){let c=s.trim();w(Error(`file scanner worker exited before completion (${b??a??"unknown"})${c?`: ${c}`:""}`));return}if(f){let a=(0,l.pu)(g);(0,l.OQ)(f,g,u.complete),a&&(c.transcriptIndexScheduler??j.O)({complete:u.complete,sources:f.flatMap(a=>"openclaw"===a.engine?[]:[{path:a.path,project:a.project,engine:a.engine,size:a.size,mtimeMs:1e3*a.mtime}])})}w(void 0,u)}}),p.stdin.once("error",a=>{v||w(a)}),c.signal&&(c.signal.addEventListener("abort",z,{once:!0}),q=!0,c.signal.aborted&&z()),p.stdin.end(JSON.stringify({type:"scan",options:a}))})}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=3131,exports.ids=[3131],exports.modules={23131:(a,b,c)=>{c.d(b,{runIdentityWaveMigrationAtStartup:()=>v});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(22962),i=c(78966),j=c(91724),k=c(15408),l=c(70107),m=c(30795),n=c(10781),o=c(80508),p=c(10230),q=c(90754);function r(a){let b=a&&"object"==typeof a?a.code:void 0;return"ENOENT"===b||"ENOTDIR"===b}function s(a){if("string"!=typeof a)return null;let b=a.split(/\r?\n/).find(a=>a.trim());return(0,m.St)(b,120)}function t(a,b){try{let c=e().statSync(a);if(!c.isFile())return null;let d=(0,l.fy)(a,c.size,b);return s(d.title)??s(d.firstPrompt)}catch(a){if(r(a))return null;throw a}}function u(a,b=g().join((0,i.Hy)(),"projects"),c=(0,i.o1)()){let d=g().relative(b,a);if(!d||".."===d||d.startsWith(`..${g().sep}`)||g().isAbsolute(d))return null;let f=g().join(c,d);if(f===a)return null;try{let d=e().statSync(f);if(!d.isFile())return null;let g=!1;try{g=e().realpathSync.native(b)===e().realpathSync.native(c)}catch(a){if(!r(a))throw a}let h=!1;try{let b=e().statSync(a);h=b.isFile()&&b.dev===d.dev&&b.ino===d.ino}catch(a){if(!r(a))throw a}return{sharedPath:f,identityEquivalent:g||h}}catch(a){if(r(a))return null;throw a}}function v(a={}){let b=a.env??process.env,c="1"===b.LLV_IDENTITY_WAVE_DRY_RUN,d={registry:a.registry??(c?function(a,b=process.env){return{runIdentityWaveMigration:c=>(0,q.Oy)(function(a=(0,j.BQ)("agent-registry.json"),b=process.env){let c,d=(0,o.Ej)(a,b),f="read"===d.mode||"sqlite"===d.mode,g=function(a){try{return e().readFileSync(a,"utf8")}catch(a){if("ENOENT"===a.code)return null;throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}}(a);if(null===g){if(f)throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror is absent; start the registry writer once so it refreshes the mirror`);return(0,n.l5)({version:2,entries:{},receipts:{}})}try{c=JSON.parse(g)}catch(a){throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}if(f){let a=c?._sqliteRevision;if(!Number.isInteger(a)||0>Number(a))throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror carries no SQLite revision stamp; start the registry writer once so it refreshes the mirror`)}return(0,p.$q)((0,n.l5)(c))}(a,b),{...c,dryRun:!0})}}(void 0,b):(0,n.agentRegistry)()),seats:a.seats??k.EK,now:a.now??(()=>new Date().toISOString()),transcriptTitle:a.transcriptTitle??t,sharedPath:a.sharedPath??u,commitExternalPathRekeys:a.commitExternalPathRekeys??k.co,log:a.log??((a,b)=>console.info(a,b)),env:b},f=()=>d.registry.runIdentityWaveMigration({dryRun:c,now:d.now(),transcriptTitle:d.transcriptTitle,sharedPathForLegacy:d.sharedPath,orchestratorSeats:d.seats(),commitExternalPathRekeys:d.commitExternalPathRekeys}),g=c?f():(0,h.oV)(f);return d.log("[identity-wave] registry migration",{dryRun:g.dryRun,alreadyCompleted:g.alreadyCompleted,retitled:g.retitled,rekeyed:g.rekeyed,quarantinedRekeys:g.quarantinedRekeys,edgesStamped:g.edgesStamped}),g}}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=3214,exports.ids=[3214],exports.modules={4837:(a,b,c)=>{c.d(b,{Gh:()=>l,JL:()=>i,OV:()=>n,RC:()=>k,Ze:()=>g,c7:()=>d,cC:()=>j,fC:()=>f,g9:()=>
|
|
1
|
+
"use strict";exports.id=3214,exports.ids=[3214],exports.modules={4837:(a,b,c)=>{c.d(b,{Gh:()=>l,JL:()=>i,OV:()=>n,RC:()=>k,Ze:()=>g,aE:()=>q,c7:()=>d,cC:()=>j,fC:()=>f,g9:()=>r,u$:()=>o,wi:()=>s});let d="gpt-6-astra",e="gpt-5.6-sol",f="gpt-5.6-terra",g="gpt-5.6-luna",h=new Set([d,e,f,g,"gpt-5.5","gpt-5.4","gpt-5.4-mini"]);function i(a){return!a?.trim()||h.has(a.trim())}let j={claude:[{id:"opus",label:"Opus 5",shortLabel:"Opus 5",use:"review"},{id:"fable",label:"Fable",shortLabel:"Fable",use:"general"},{id:"sonnet",label:"Sonnet",shortLabel:"Sonnet",use:"implement"},{id:"haiku",label:"Haiku",shortLabel:"Haiku",use:"general"}],codex:[{id:d,label:"GPT-6-Astra",shortLabel:"6-Astra",use:"review"},{id:e,label:"GPT-5.6-Sol",shortLabel:"5.6-Sol",use:"review"},{id:f,label:"GPT-5.6-Terra",shortLabel:"5.6-Terra",use:"implement"},{id:g,label:"GPT-5.6-Luna",shortLabel:"5.6-Luna",use:"general"}]};function k(a,b){let c=b.trim(),d=j[a].map(a=>a.id);return d.includes(c)?{model:c}:{error:`invalid ${a} model id ${JSON.stringify(c)}; valid ${a} model ids: ${d.join(", ")}`}}function l(a){return"codex"===a?d:"opus"}let m=["fable","opus","sonnet","haiku"];function n(a){if("string"!=typeof a)return null;let b=a.trim().toLowerCase();if(!b||b.length>128||/[\u0000-\u001f\u007f]/.test(b))return null;for(let a of m)if(b===a||RegExp(`(?:^|[-_.])${a}(?:[-_.]|$)`).test(b))return a;return null}function o(a){return a?.trim()?n(a):l("claude")}let p={fable:"Fable",mythos:"Mythos",opus:"Opus",sonnet:"Sonnet",haiku:"Haiku"};function q(a,b){let c=b?.trim();if(c)return c;let d=a.trim().toLowerCase();return p[d]?p[d]:d?d.split(/[-_\s]+/).filter(Boolean).map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" "):a}function r(a){if("string"!=typeof a)return!1;let b=a.trim();return b.startsWith("gpt-")&&b.length<=128&&!/[\u0000-\u001f\u007f]/.test(b)}function s(a){if(void 0===a.model||null===a.model||""===a.model)return{model:null};if("string"!=typeof a.model)return{model:null,error:"model must be a string"};let b=a.model.trim();return b?b.length>128||/[\u0000-\u001f\u007f]/.test(b)?{model:null,error:"model must be a printable id up to 128 characters"}:{model:b}:{model:null}}},21962:(a,b,c)=>{c.d(b,{S:()=>d});function d(a){if("number"==typeof a)return Number.isSafeInteger(a)&&a>0?String(a):null;if("string"!=typeof a)return null;let b=a.trim();return/^[1-9]\d{0,18}$/.test(b)?b:null}},24962:(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(91724),k=c(68032);let l=262144,m=String.raw`import fcntl
|
|
2
2
|
import io
|
|
3
3
|
import os
|
|
4
4
|
import stat
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3302,exports.ids=[3302
|
|
2
|
-
`,{encoding:"utf8",flag:"wx",mode:384}),g().chmodSync(d,384),g().renameSync(d,b)}catch(a){throw new l("write",b,a)}finally{if(d)try{g().rmSync(d,{force:!0})}catch(a){throw new l("write",b,a)}}return a}function p(){return n()??o()}function q(a){if(!k.test(a))return!1;let b=n();return!!b&&e().timingSafeEqual(Buffer.from(a),Buffer.from(b))}}};
|
|
1
|
+
"use strict";exports.id=3302,exports.ids=[3302],exports.modules={33302:(a,b,c)=>{c.d(b,{NZ:()=>r,OE:()=>m,Tj:()=>u,Yd:()=>t,kg:()=>s,mn:()=>n});var d=c(77598),e=c.n(d),f=c(10781),g=c(89937),h=c(4012);let i=/^[A-Za-z0-9_-]{43}$/,j="x-llv-internal-service",k=/^[a-f0-9]{64}$/,l=["monitor","mcp","orchestrator"];function m(a){let b,c=a.headers.get(h.VIEWER_SPAWN_CAPABILITY_HEADER)?.trim()??"";return c&&i.test(c)?(b=e().createHash("sha256").update(c).digest("hex"),(0,f.agentRegistry)().conversationIdForSpawnCapabilityDigest(b)):null}function n(a){return null===m(a)}let o={ok:!1,status:403,error:"this is an operator-only action; an agent may not perform it, whatever role it holds"},p={ok:!1,status:403,error:"background Viewer activity is outside direct operator activity"};function q(a){return e().createHmac("sha256",(0,g.ensureOperatorSpawnCapability)()).update(`llv-internal-service-v1\0${a}`).digest("hex")}function r(a){return{[j]:`${a}.${q(a)}`}}function s(a){return"valid"===function(a){let b=a.headers.get(j)?.trim()??"";if(!b)return"absent";let c=b.indexOf("."),d=b.slice(0,c),f=b.slice(c+1);if(!l.includes(d)||!k.test(f))return"invalid";try{let a=q(d);return e().timingSafeEqual(Buffer.from(f),Buffer.from(a))?"valid":"invalid"}catch{return"invalid"}}(a)?p:u(a)}function t(a){let b=m(a);return b?{kind:"agent",conversationId:b}:{kind:"operator",conversationId:null}}function u(a){return m(a)?o:{ok:!0}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=3407,exports.ids=[3407],exports.modules={93407:(a,b,c)=>{c.d(b,{q8:()=>ad,RU:()=>ac});var d=c(31421),e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(25617),l=c(10781),m=c(64487),n=c(3587),o=c(91724),p=c(12770),q=c(73367),r=c(98590),s=c(59371),t=c(88210),u=c(63657),v=c(3127),w=c(98223),x=c(45656),y=c(36917),z=c(66024),A=c(74127),B=c(3743);let C={"flow-worker":1800,"headless-reviewer":300,probe:3600,"duplicate-resume":0,"dead-transcript":1800};function D(a,b){return Object.values(a.conversations).find(a=>a.generations.some(a=>a.path===b)||a.continuityPaths.includes(b))??null}function E(a){let b=Number(a.slice(1));return Number.isInteger(b)?b:-1}function F(a){return`${a.paneId}:${a.agentPid}:${a.agentIdentity??"unknown"}`}function G(a,b){if(!b)return null;let c=Date.parse(b);return Number.isFinite(c)?Math.max(0,Math.floor((a-c)/1e3)):null}function H(a){let b=new Map(a.files.map(a=>[a.path,a])),c=function(a){let b=new Map;for(let c of a){if(!c.primaryPath)continue;let a=`${c.engine}:${c.primaryPath}`;b.set(a,[...b.get(a)??[],c])}return b}(a.hosts),d=[...a.hosts.map(d=>{var e,f,g,h;let i,j=d.primaryPath,k=j?b.get(j):void 0,l=j?D(a.registry,j):null,m=j?function(a,b){let c=Object.values(a.entries).find(a=>a.artifactPath===b)?.launchProfile;if(c)return c;let d=D(a,b);return d?.generations.find(a=>a.path===b)?.launchProfile??d?.generations.at(-1)?.launchProfile??null}(a.registry,j):null,n=j?function(a,b){let c=[];for(let[d,e]of a.entries()){e.implementerPath===b&&c.push({flow:e,round:null,role:"implementer",order:d});let a=e.rounds.find(a=>a.reviewerPath===b);a&&c.push({flow:e,round:a,role:"reviewer",order:d})}let d=a=>!["approved","done_comment","closed"].includes(a.state),e=a=>Date.parse(a.createdAt)||0,f=c.sort((a,b)=>Number(d(b.flow))-Number(d(a.flow))||e(b.flow)-e(a.flow)||b.order-a.order)[0];return f?{flow:f.flow,round:f.round,role:f.role}:null}(a.flows,j):null,o=j?c.get(`${d.engine}:${j}`)??[]:[],p=o.length>1?[...o].sort((a,b)=>E(b.paneId)-E(a.paneId))[0]:null,q=null,r=null,s=[];if(o.length>1)q="duplicate-resume",r=0,p?.paneId===d.paneId&&s.push("newest-duplicate");else if(n)q="flow-worker",r=G(a.now,(e=n.flow).closedAt??e.rounds.at(-1)?.reviewedAt??null),new Set(["approved","closed"]).has(n.flow.state)||s.push("flow-in-progress"),a.mergedFlowIds.has(n.flow.id)||s.push("flow-not-merged");else{let c;j&&a.viewerOwnedPaths.has(j)&&(c=[m?.title,m?.project,m?.goal?.objective,d.windowName,...d.agentArgv].filter(Boolean).join(" "),/\b(?:probe|soak)\b/i.test(c))?(q="probe",r=j?(f=a.now,(g=b.get(j))?Math.max(0,Math.floor(f/1e3-g.mtime)):null):null):j&&a.missingTranscriptPaths.has(j)&&(q="dead-transcript",r=G(a.now,a.firstObservedAt[F(d)]))}j&&a.userAuthoredPaths.has(j)&&s.unshift("user-authored-message"),j&&a.authorshipUnverifiedPaths.has(j)&&s.unshift("authorship-unverified"),(k?.activity==="live"||k?.activity==="stalled"||k?.pendingQuestion||k?.waitingInput||l&&("busy"===l.turn.state||"unknown"===l.turn.state||(h=a.registry,i=l.turn.observedAt?Date.parse(l.turn.observedAt):NaN,Object.values(h.heldDeliveries).some(a=>{if(a.conversationId!==l.id)return!1;if("held"===a.state||"assigned"===a.state||"delivery-uncertain"===a.state)return!0;if("delivered"!==a.state||!a.deliveredAt)return!1;let b=Date.parse(a.deliveredAt);return Number.isFinite(b)&&(!Number.isFinite(i)||b>=i)}))))&&s.unshift("mid-turn"),l?.migration&&!["committed","rolled-back"].includes(l.migration.phase)&&s.unshift("migration-in-progress"),j&&a.manualPaths.has(j)&&s.unshift("manual-board-placement");let t=q?C[q]:null;q?null===r?s.push("observation-pending"):null!==t&&r<t&&s.push("idle-ttl"):s.push("unclassified");let u=null!==q&&0===s.length;return{targetKind:"tmux",paneId:d.paneId,panePid:d.panePid,agentPid:d.agentPid,processIdentity:d.agentIdentity,tmuxEvidence:a.tmuxEvidenceByHost?.get(F(d))??null,flowId:n?.flow.id??null,round:n?.round?.n??null,path:j,conversationId:l?.id??null,class:q,idleSeconds:r,ttlSeconds:t,protectedReasons:s,eligible:u,action:u&&!a.enabled?"dry-run":"retained"}}),...a.reviewerProcesses.map(b=>{let c=a.flows.find(a=>a.id===b.flowId),d=c?.rounds.find(a=>a.n===b.round)??null,e=d?function(a,b){if(!b.error)return G(a,b.reviewedAt);let c=[b.reviewedAt,b.relayedAt,b.relayStartedAt,b.spawnStartedAt,b.startedAt].map(a=>a?Date.parse(a):NaN).filter(Number.isFinite).sort((a,b)=>b-a)[0];return G(a,b.terminalAt??(void 0===c?null:new Date(c).toISOString()))}(a.now,d):null,f=[];c&&d&&"headless"===c.reviewerMode?d.verdict||d.error||f.push("review-verdict-pending"):f.push("unclassified"),null===e?f.push("observation-pending"):e<C["headless-reviewer"]&&f.push("idle-ttl");let g=void 0!==c&&null!==d&&"headless"===c.reviewerMode&&0===f.length;return{targetKind:"process",paneId:null,panePid:null,agentPid:b.pid,processIdentity:b.identity,tmuxEvidence:null,flowId:b.flowId,round:b.round,path:b.path,conversationId:null,class:"headless-reviewer",idleSeconds:e,ttlSeconds:C["headless-reviewer"],protectedReasons:f,eligible:g,action:g&&!a.enabled?"dry-run":"retained"}})];return{generatedAt:new Date(a.now).toISOString(),mode:a.enabled?"active":"dry-run",configFlag:"LLV_REAPER_ENABLED",eligibleCount:d.filter(a=>a.eligible).length,agents:d}}async function I(a,b){if("dry-run"===a.mode)return a;for(let c of a.agents){if(!c.eligible||null===c.class)continue;let a=!1;try{a=await b.actuate(c)}catch{a=!1}c.action=a?"reaped":"kill-failed",b.journal({at:new Date().toISOString(),targetKind:c.targetKind,paneId:c.paneId,agentPid:c.agentPid,path:c.path,class:c.class,reason:"idle-ttl-exceeded",outcome:a?"reaped":"kill-failed"})}return a}let J=()=>(0,o.BQ)("reaper-report.json"),K=()=>(0,o.BQ)("reaper-state.json");function L(a){return`${a.paneId}:${a.agentPid}:${a.agentIdentity??"unknown"}`}function M(a,b){h().mkdirSync(j().dirname(a),{recursive:!0,mode:448});let c=`${a}.${process.pid}.${f().randomUUID()}.tmp`;h().writeFileSync(c,JSON.stringify(b,null,2)+"\n",{encoding:"utf8",mode:384}),h().renameSync(c,a)}function N(a){let b=(0,d.spawnSync)("git",["status","--porcelain=v1","--untracked-files=all"],{cwd:a.cwd,encoding:"utf8",timeout:2e3});return 0!==b.status?null:0===b.stdout.trim().length}async function O(a,b,c){return new Promise(d=>{let e=setTimeout(()=>d(c),b);a.then(a=>{clearTimeout(e),d(a)},()=>{clearTimeout(e),d(c)})})}async function P(a,b,c){let d=0,e=async()=>{for(;d<a.length;){let b=d;d+=1,await c(a[b])}};await Promise.all(Array.from({length:Math.min(b,a.length)},e))}function Q(a){return JSON.stringify(Object.fromEntries(Object.entries(a).filter(([a])=>"mergeEvidence"!==a)))}async function R(a,b={}){let c=(b.now??Date.now)(),e=new Set,f=new Map(a.map(a=>[a.id,Q(a)])),g=new Set,i=a=>{g.add(a.id)},j=b.mergeProbeTimeoutMs??5e3,k=Math.max(1,b.mergeProbeConcurrency??4);return await P(a,k,async a=>{var f;let g,k=a.mergeEvidence??null,l=(b.checkoutClean??N)(a);if(!1===l||null===l&&h().existsSync(a.cwd)){(k?.mergedAt||k?.source)&&(k.mergedAt=null,k.checkedAt=null,k.source=null,i(a));return}let m=(f=k,g=[...a.rounds].reverse().find(a=>"APPROVE"===a.verdict),g?.reviewHeadSha?g.reviewHeadSha:f?.source==="github-pr"&&f.mergedAt?f.headSha:null);if(!m)return;let n=(b.resolveMergeIdentity??q.NN)(a.cwd);if(!n&&h().existsSync(a.cwd)){(k?.mergedAt||k?.source)&&(k.mergedAt=null,k.checkedAt=null,k.source=null,i(a));return}if(n){if(n.headSha!==m){(k?.mergedAt||k?.source)&&(k.mergedAt=null,k.checkedAt=null,k.source=null,i(a));return}k&&k.repository===n.repository&&k.headRef===n.headRef&&k.headSha===m||(a.mergeEvidence=k={...n,headSha:m,prNumber:null,mergedAt:null,checkedAt:null,source:null},i(a))}else k?.headSha!==m&&(a.mergeEvidence=k=k?{...k,headSha:m,prNumber:null,mergedAt:null,checkedAt:null,source:null}:null,i(a));if(k?.mergedAt)return void e.add(a.id);let o=k?.checkedAt?Date.parse(k.checkedAt):NaN;if(Number.isFinite(o)&&c-o<3e5)return;let p=null;if(k?.repository&&k.headRef){let e=b.probePullRequest?Promise.resolve(b.probePullRequest(k)):function(a,b=5e3){if(!a.repository||!a.headRef)return Promise.resolve(null);let c=a.prNumber?["pr","view",String(a.prNumber),"--repo",a.repository,"--json","number,mergedAt,headRefOid"]:["pr","list","--repo",a.repository,"--head",a.headRef,"--state","all","--json","number,mergedAt,headRefOid","--limit","1"];return new Promise(e=>{let f=(0,d.spawn)("gh",c,{stdio:["ignore","pipe","ignore"]}),g="",h=!1,i=a=>{h||(h=!0,clearTimeout(j),e(a))},j=setTimeout(()=>{f.kill("SIGKILL"),i(null)},b);f.stdout.setEncoding("utf8"),f.stdout.on("data",a=>{g.length<=1048576&&(g+=a)}),f.on("error",()=>i(null)),f.on("close",b=>{if(0!==b||g.length>1048576)return i(null);try{let b=JSON.parse(g),c=Array.isArray(b)?b[0]:b;if(!c||!Number.isInteger(c.number))return i(null);let d="string"==typeof c.mergedAt&&c.mergedAt?c.mergedAt:null,e="string"==typeof c.headRefOid&&c.headRefOid?c.headRefOid:null;if(d&&(!a.headSha||e!==a.headSha))return i(null);i({number:c.number,mergedAt:d,headRefOid:e})}catch{i(null)}})})}(k,j),f=await O(e,j,null);f?.mergedAt&&f.headRefOid===k.headSha?p={...k,prNumber:f.number,mergedAt:f.mergedAt,headSha:f.headRefOid??k.headSha,checkedAt:new Date(c).toISOString(),source:"github-pr"}:(f&&(k.prNumber=f.number),k.checkedAt=new Date(c).toISOString(),i(a))}!p&&(b.localBranchMerged??function(a,b){if(!0!==N(a))return!1;let c=(0,d.spawnSync)("git",["rev-parse","HEAD"],{cwd:a.cwd,encoding:"utf8",timeout:2e3});if(0!==c.status||c.stdout.trim()!==b)return!1;for(let c of["origin/main","origin/master","main","master"])if(0===(0,d.spawnSync)("git",["merge-base","--is-ancestor",b,c],{cwd:a.cwd,stdio:"ignore",timeout:2e3}).status)return!0;return!1})(a,m)&&(p={repository:k?.repository??null,headRef:k?.headRef??null,headSha:m,prNumber:k?.prNumber??null,mergedAt:new Date(c).toISOString(),checkedAt:new Date(c).toISOString(),source:"git-ancestor"}),p&&(a.mergeEvidence=p,e.add(a.id),i(a))}),!function(a,b,c,d){if(0===b.size||d.loadFlows&&!d.saveFlows)return;let e=d.loadFlows?d.loadFlows():d.saveFlows?a:(0,r.loadFlows)(),f=!1;for(let d of a){if(!b.has(d.id))continue;let a=e.find(a=>a.id===d.id);if(a&&Q(a)===c.get(d.id)){var g;a.mergeEvidence=(g=d.mergeEvidence)?{...g}:null,f=!0}}f&&(d.saveFlows??r.saveFlows)(e)}(a,g,f,b),e}function S(a,b){return Object.values(a.receipts).some(a=>"launch"===a.purpose&&a.artifactPath===b&&"worker"===a.launchProfile.role&&"completed"===a.state)}async function T(a,b,c,d,e,f,g){let i=new Set(Object.keys(f)),k=new Set,l=new Map,m=new Map,n=new Map;await (0,p.pV)(d,a=>{m.set(a.path,a)}),await (0,p.pV)(b,a=>{a.primaryPath&&n.set(a.primaryPath,a.engine)}),await (0,p.pV)(d,a=>{if("claude"!==a.engine&&"codex"!==a.engine||"live"===a.activity||n.has(a.path))return;let b=g[a.path];void 0!==b&&b>=a.mtime||n.set(a.path,a.engine)});let o={remaining:0x2000000};return await (0,p.pV)([...n],async([b,d])=>{var f;if(i.has(b)||k.has(b)||e.has(b))return;let g=+!!S(a,b)+function(a,b){let c=0;for(let d of a)d.kickoffDelivery?.path===b&&(c+=1),c+=d.rounds.filter(a=>a.relayDelivery?.path===b).length;return c}(c,b)+function(a,b){for(let c of a)if("headless"===c.reviewerMode){for(let a of c.rounds)if(a.reviewerPath===b&&a.sessionId&&j().basename(b).includes(a.sessionId))return 1}return 0}(c,b)+((f=m.get(b))&&("claude-projects"===f.root&&"subagent"===f.kind||"codex-sessions"===f.root&&"codex"===f.engine&&(0,z.ET)(f.path,f.size))?1:0),n=null;try{n=h().statSync(b).mtimeMs/1e3}catch{k.add(b);return}let p=await (0,A.vK)(b,d,g+1,{resume:!0,maxBytes:4194304,budget:o});p.count>g?i.add(b):p.complete?l.set(b,n):k.add(b)}),{userAuthoredPaths:i,unverifiedPaths:k,verifiedCleanAt:l}}async function U(a){let b=await (0,y.CS)();return await (0,s.VB)(a,b),b}function V(a,b=a=>u.B.processIdentity(a)){return{kind:"tmux",endpoint:(0,B.WH)(),server:{pid:a.tmuxServerPid,startIdentity:b(a.tmuxServerPid)},paneId:a.paneId,panePid:{pid:a.panePid,startIdentity:b(a.panePid)},windowName:a.windowName??"",agent:{pid:a.agentPid,startIdentity:a.agentIdentity},argv:a.agentArgv}}function W(a){let b=(0,o.BQ)("reaper-journal.ndjson");h().mkdirSync(j().dirname(b),{recursive:!0,mode:448});try{h().statSync(b).size>4194304&&h().renameSync(b,`${b}.1`)}catch{}h().appendFileSync(b,JSON.stringify(a)+"\n",{encoding:"utf8",mode:384})}async function X(a,b,c,d,e,f={}){let g=(f.loadFlows??r.loadFlows)(),i=f.processIdentity??(a=>u.B.processIdentity(a)),j=await R(g,f),k=a.readOnlySnapshot(),l=new Set(b.flatMap(a=>a.primaryPath&&!h().existsSync(a.primaryPath)?[a.primaryPath]:[])),m=await T(k,b,g,c,l,d.userAuthoredPaths,d.scannedAt),o=!1;for(let a of m.userAuthoredPaths)d.userAuthoredPaths[a]||(d.userAuthoredPaths[a]=!0,o=!0);for(let[a,b]of m.verifiedCleanAt)d.scannedAt[a]!==b&&(d.scannedAt[a]=b,o=!0);o&&M(K(),d);let p=new Set([...m.userAuthoredPaths,...b.flatMap(a=>a.primaryPath&&d.userAuthoredPaths[a.primaryPath]?[a.primaryPath]:[])]);return{now:e,registry:k,hosts:b,tmuxEvidenceByHost:new Map(b.map(a=>[L(a),V(a,i)])),reviewerProcesses:function(a,b){let c=b.pidAlive??(a=>u.B.pidAlive(a)),d=b.processIdentity??(a=>u.B.processIdentity(a)),e=[];for(let b of a)if("headless"===b.reviewerMode)for(let a of b.rounds){let f=a.reviewerPid??null,g=a.reviewerIdentity??null;f&&g&&c(f)&&d(f)===g&&e.push({flowId:b.id,round:a.n,pid:f,identity:g,path:a.reviewerPath})}return e}(g,f),viewerOwnedPaths:new Set(b.flatMap(a=>a.primaryPath&&S(k,a.primaryPath)?[a.primaryPath]:[])),authorshipUnverifiedPaths:m.unverifiedPaths,files:c,flows:g,manualPaths:function(a,b,c){let d=new Map(c.map(a=>[a.path,a])),e=new Set,f=new Map;for(let c of b){let b=c.primaryPath;if(!b)continue;let g=d.get(b)?.project||function(a,b){return Object.values(a.entries).find(a=>a.artifactPath===b)?.launchProfile??Object.values(a.conversations).flatMap(a=>a.generations).find(a=>a.path===b)?.launchProfile??null}(a,b)?.project;if(g)try{let a=f.get(g);a||(a=new Set((0,n.C9)(g).explicitManual??[]),f.set(g,a)),a.has(b)&&e.add(b)}catch{e.add(b)}}return e}(k,b,c),userAuthoredPaths:p,missingTranscriptPaths:l,mergedFlowIds:j,firstObservedAt:d.firstObservedAt,enabled:"1"===process.env.LLV_REAPER_ENABLED}}function Y(a,b){try{process.kill(-a,b)}catch{process.kill(a,b)}}async function Z(a,b={}){let c={pidAlive:a=>u.B.pidAlive(a),processIdentity:a=>u.B.processIdentity(a),signal:Y,sleep:a=>new Promise(b=>setTimeout(b,a)),maxVerifyAttempts:20,...b},d=()=>!c.pidAlive(a.pid)||c.processIdentity(a.pid)!==a.identity;if(d())return!1;for(let b of["SIGTERM","SIGKILL"]){try{c.signal(a.pid,b)}catch{if(d())return!0;break}for(let a=0;a<c.maxVerifyAttempts;a+=1){if(d())return!0;a+1<c.maxVerifyAttempts&&await c.sleep(25)}}return!1}function $(a,b){return a.kind===b.kind&&a.endpoint===b.endpoint&&a.server.pid===b.server.pid&&a.server.startIdentity===b.server.startIdentity&&a.paneId===b.paneId&&a.panePid.pid===b.panePid.pid&&a.panePid.startIdentity===b.panePid.startIdentity&&a.windowName===b.windowName&&a.agent.pid===b.agent.pid&&a.agent.startIdentity===b.agent.startIdentity&&a.argv.length===b.argv.length&&a.argv.every((a,c)=>a===b.argv[c])}function _(a,b,c){return"tmux"===b.targetKind&&null!==b.tmuxEvidence&&$(V(a,c),b.tmuxEvidence)&&a.primaryPath===b.path}function aa(a,b){return b?JSON.stringify(Object.values(a.heldDeliveries).filter(a=>a.conversationId===b).sort((a,b)=>a.id.localeCompare(b.id))):""}async function ab(a,b,c,d,e={}){if("process"===d.targetKind){if(!d.flowId||null===d.round||!d.processIdentity)return!1;let f=H(await X(a,[],b,c,(e.now??Date.now)(),e)).agents.find(a=>"process"===a.targetKind&&a.flowId===d.flowId&&a.round===d.round&&a.agentPid===d.agentPid&&a.processIdentity===d.processIdentity);return!!f?.eligible&&(e.killProcess??Z)({pid:d.agentPid,identity:d.processIdentity})}let g=d.paneId,h=d.tmuxEvidence;if(null===g||!h||null===h.server.startIdentity||null===h.panePid.startIdentity||null===h.agent.startIdentity)return!1;let i=e.readHosts??m.oe,j=e.kill??B.B$,k=e.now??Date.now,l=e.processIdentity??(a=>u.B.processIdentity(a)),n=(await i(!0)).hosts.find(a=>_(a,d,l));if(!n?.primaryPath)return!1;let o=Object.values(a.readOnlySnapshot().entries).find(a=>a.artifactPath===d.path);if(!o)return!1;let p={pid:process.pid,startIdentity:u.B.processIdentity(process.pid)};return a.withOperationLock(o.key,p,async()=>{let b=`reaper:${f().randomUUID()}`;try{a.claim(o.key,b);let f=await i(!0);if(!f.hosts.find(a=>_(a,d,l)))return!1;let g=await (e.refreshLifecycle??U)(a),m=await X(a,f.hosts,g,c,k(),e),n=H(m).agents.find(a=>"tmux"===a.targetKind&&a.paneId===d.paneId&&a.panePid===d.panePid&&a.agentPid===d.agentPid&&a.processIdentity===d.processIdentity&&a.path===d.path&&null!==a.tmuxEvidence&&null!==d.tmuxEvidence&&$(a.tmuxEvidence,d.tmuxEvidence));if(!n?.eligible||aa(a.readOnlySnapshot(),n.conversationId)!==aa(m.registry,n.conversationId))return!1;let p=await j(h),q=a.readOnlySnapshot().entries[`${o.key.engine}:${o.key.sessionId}`]?.host;return p&&q&&$(q,h)&&a.markUnhosted(o.key),p}finally{a.releaseClaim(o.key,b)}})}async function ac(a){let b=a.registry??(0,l.agentRegistry)(),c=a.now??Date.now();try{!function(a,b=Date.now(),c={},d=[]){let e=a.readOnlySnapshot(),f=(0,k.AM)({...c,now:()=>b}),g=new Set(d.flatMap(a=>(a.primaryPath?[a.primaryPath,...a.claimedPaths]:a.claimedPaths).map(b=>`${a.engine}:${b}`))),h=new Set;for(let d of(0,k.vZ)(e,{...c,now:()=>b}))"failed"===a.recordDeliveryOutcome(d,"failed","delivery-uncertain abandoned: owning migration settled with no live host or receipt (#652)").state&&h.add(d);for(let c of Object.values(e.migrationIntents)){let d=Object.values(e.conversations).filter(a=>a.migration?.intentId===c.id),i=function(a,b){let c=new Set(Object.values(a.conversations).filter(a=>a.migration?.intentId===b).map(a=>a.id));return Object.values(a.heldDeliveries).filter(a=>c.has(a.conversationId)&&["held","assigned","delivery-uncertain"].includes(a.state)).map(a=>a.id)}(e,c.id),j=new Set;for(let a of d)a.migration?.phase==="rolled-back"&&j.add(a.id);let l=i.filter(b=>{let d=e.heldDeliveries[b];return!(d&&j.has(d.conversationId)&&a.terminalizeRolledBackMigrationDelivery(b,c.id,t.Mi))||(h.add(b),!1)});if("draining"!==c.state){for(let b of j)a.clearRolledBackConversationMigration(b,c.id);continue}let m=new Set(l.map(a=>e.heldDeliveries[a]?.conversationId).filter(a=>!!a)),n=(0,t.AY)(e,c,b);if(!n)for(let b of d){if(b.migration?.phase!=="requested"||!m.has(b.id)||function(a,b,c,d){let e=b.migration;if(!e)return!1;let f=b.generations.find(a=>a.id===e.sourceGenerationId);if(!f)return!1;let g=`${b.engine}:${f.path}`;return!!(d.has(g)||(0,k.eW)(f.host?.tmuxHost?.agent,c)||Object.values(a.entries).some(a=>a.key.engine===b.engine&&a.artifactPath===f.path&&(0,k.dw)(a,c)))||Object.values(a.receipts).some(d=>d.engine===b.engine&&d.conversationId===b.id&&(0,k.LB)(a,d,c))}(e,b,f,g))continue;let c=`delivery cancelled because source conversation ${b.id} has no live owner; send again to authorize a fresh delivery`;for(let d of l)e.heldDeliveries[d]?.conversationId===b.id&&"failed"===a.terminalizeHeldDelivery(d,c).state&&h.add(d);a.rollbackConversationMigration(b.id,b.migration.revision),l=l.filter(a=>e.heldDeliveries[a]?.conversationId!==b.id)}if(!n)continue;let o=`delivery cancelled because its owning account migration made no progress for ${t.fz}ms; send again to authorize a fresh delivery`;a.setMigrationIntentState(c.id,"stopped",c.revision,o);let p=a.readOnlySnapshot();for(let a of l)p.heldDeliveries[a]?.state==="failed"&&h.add(a)}[...h]}(b,c,{},a.hosts)}catch(a){console.error("[reaper] stale undeliverable held-delivery convergence failed",a)}try{b.terminalizeFailedSpawnDeliveries()}catch(a){console.error("[reaper] failed-spawn held-delivery convergence failed",a)}try{(0,w.cf)(b)}catch(a){console.error("[reaper] dead structured-host ownership convergence failed",a)}let d=(a.actuation?.runtimeClient??v.sS)();try{await (a.actuation?.terminalizeStaleSpawns??x.LH)(b,d)}catch(a){console.error("[reaper] stale structured spawn convergence failed",a)}let e=function(a,b){let c=function(){try{let a=JSON.parse(h().readFileSync(K(),"utf8"));if(1===a.version&&a.firstObservedAt&&"object"==typeof a.firstObservedAt)return{version:1,firstObservedAt:a.firstObservedAt,userAuthoredPaths:a.userAuthoredPaths&&"object"==typeof a.userAuthoredPaths?a.userAuthoredPaths:{},scannedAt:a.scannedAt&&"object"==typeof a.scannedAt&&!Array.isArray(a.scannedAt)?a.scannedAt:{}}}catch{}return{version:1,firstObservedAt:{},userAuthoredPaths:{},scannedAt:{}}}(),d={};for(let e of a){let a=L(e);d[a]=c.firstObservedAt[a]??new Date(b).toISOString()}let e={version:1,firstObservedAt:d,userAuthoredPaths:c.userAuthoredPaths,scannedAt:c.scannedAt};return M(K(),e),e}(a.hosts,c),f=H(await X(b,a.hosts,a.files,e,c,a.actuation)),g=await I(f,{actuate:c=>ab(b,a.files,e,c,a.actuation),journal:W});return M(J(),g),g}function ad(){try{let a=JSON.parse(h().readFileSync(J(),"utf8"));return a&&Array.isArray(a.agents)?a:null}catch{return null}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=3422,exports.ids=[3422],exports.modules={23422:(a,b,c)=>{c.r(b),c.d(b,{productionTelegramConnectorBootPorts:()=>f,provisionTelegramConnectorAtStartup:()=>g});var d=c(68032),e=c(79554);let f={hasCredentialedSession:()=>{try{return null!==(0,d.w0)()}catch{return!1}},reportsEnabled:()=>(0,e.rD)().settings.enabled,provision:async()=>{let{telegramService:a}=await Promise.all([c.e(3034),c.e(849)]).then(c.bind(c,70849));await a().checkHealth()},connected:()=>{try{return"connected"===(0,d.Kd)().status}catch{return!1}},log:a=>console.error(`[telegram connector] ${a}`)};async function g(a=f){if(!a.hasCredentialedSession())return"no_session";if(!a.reportsEnabled())return"reports_disabled";try{await a.provision()}catch{return a.log("provision_failed"),"provision_failed"}return a.connected()?"provisioned":(a.log("connector_unavailable"),"unavailable")}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=3558,exports.ids=[3558],exports.modules={53558:(a,b,c)=>{c.d(b,{W:()=>i,applyConversationAction:()=>m});var d=c(10781),e=c(70548),f=c(10167),g=c(50201),h=c(78181);let i=["interrupt","kill","resume","compact","dialog-key"],j={registry:d.agentRegistry,structuredEnabled:()=>(0,g.cM)(),dispatchStructuredControl:h.Z,interruptConversation:f.F5,killConversation:f.yv,resumeConversation:f.X$,compactConversation:f.LJ,answerDialogKey:f.m3};function k(a,b){return{status:b,body:{error:a}}}function l(a){if(a.ok)return{status:200,body:a};let{status:b,...c}=a;return{status:b,body:c}}async function m(a,b=j){if(!i.includes(a.action))return k("unsupported conversation action",400);if(a.conversationId&&!a.conversationId.startsWith("conversation_"))return k("invalid conversation id",400);let c=b.registry(),d=a.conversationId?c.conversation(a.conversationId):null,f=a.transcriptPath?c.conversationForPath(a.transcriptPath):null;if(a.conversationId&&!d)return k("viewer conversation is unknown",404);if(d&&a.transcriptPath&&(!new Set([...d.generations.map(a=>a.path),...d.continuityPaths]).has(a.transcriptPath)||f?.id!==d.id))return k("conversation identity does not own transcript path",409);let g=d??f,h=g?.generations.at(-1)?.path??a.transcriptPath;if("kill"===a.action&&(0,e.TY)(c,g))return{status:409,body:{ok:!1,outcome:"failed",code:e.yD,error:e.xR}};if(b.structuredEnabled()){let c=await b.dispatchStructuredControl({path:h,conversationId:g?.id??a.conversationId,action:a.action,operationId:a.operationId});if(c)return c}if(!h)return k("conversationId or transcriptPath is required",400);if("interrupt"===a.action)return l(await b.interruptConversation(h));if("kill"===a.action){let a=await b.killConversation(h);return a.ok&&!a.target?l({ok:!1,outcome:"failed",error:"kill resolved no registered pane",status:409}):l(a)}return"resume"===a.action?l(await b.resumeConversation(h)):"compact"===a.action?l(await b.compactConversation(h)):l(await b.answerDialogKey(h,a.key??"",a.label,a.question))}}};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";exports.id=3570,exports.ids=[3570,6277],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}},37868:(a,b,c)=>{c.r(b),c.d(b,{AccountMigrationController:()=>a1,accountControllerScan:()=>a$,createMigrationDeliveryPort:()=>aL,reconcileAccountMigrationCycle:()=>aW,startAccountMigrationController:()=>a3,syncCompatibilityRouting:()=>aX});var d=c(68465),e=c(82940),f=c(2952),g=c(63685),h=c(70160),i=c(44874),j=c(43237),k=c(31421),l=c(73024),m=c.n(l),n=c(76760),o=c.n(n),p=c(98817),q=c(59397),r=c(66324),s=c(58444),t=c(87323),u=c(89508),v=c(77598),w=c.n(v),x=c(65972),y=c(23317),z=c(27146),A=c(5082),B=c(29110),C=c(82093),D=c(55686),E=c(93994),F=c(62490),G=c(75211),H=c(227),I=c(34570),J=c(53740);let K={"flow-worker":1800,"headless-reviewer":300,probe:3600,"duplicate-resume":0,"dead-transcript":1800};function L(a,b){return Object.values(a.conversations).find(a=>a.generations.some(a=>a.path===b)||a.continuityPaths.includes(b))??null}function M(a){let b=Number(a.slice(1));return Number.isInteger(b)?b:-1}function N(a){return`${a.paneId}:${a.agentPid}:${a.agentIdentity??"unknown"}`}function O(a,b){if(!b)return null;let c=Date.parse(b);return Number.isFinite(c)?Math.max(0,Math.floor((a-c)/1e3)):null}function P(a){let b=new Map(a.files.map(a=>[a.path,a])),c=function(a){let b=new Map;for(let c of a){if(!c.primaryPath)continue;let a=`${c.engine}:${c.primaryPath}`;b.set(a,[...b.get(a)??[],c])}return b}(a.hosts),d=[...a.hosts.map(d=>{var e,f,g,h;let i,j=d.primaryPath,k=j?b.get(j):void 0,l=j?L(a.registry,j):null,m=j?function(a,b){let c=Object.values(a.entries).find(a=>a.artifactPath===b)?.launchProfile;if(c)return c;let d=L(a,b);return d?.generations.find(a=>a.path===b)?.launchProfile??d?.generations.at(-1)?.launchProfile??null}(a.registry,j):null,n=j?function(a,b){let c=[];for(let[d,e]of a.entries()){e.implementerPath===b&&c.push({flow:e,round:null,role:"implementer",order:d});let a=e.rounds.find(a=>a.reviewerPath===b);a&&c.push({flow:e,round:a,role:"reviewer",order:d})}let d=a=>!["approved","done_comment","closed"].includes(a.state),e=a=>Date.parse(a.createdAt)||0,f=c.sort((a,b)=>Number(d(b.flow))-Number(d(a.flow))||e(b.flow)-e(a.flow)||b.order-a.order)[0];return f?{flow:f.flow,round:f.round,role:f.role}:null}(a.flows,j):null,o=j?c.get(`${d.engine}:${j}`)??[]:[],p=o.length>1?[...o].sort((a,b)=>M(b.paneId)-M(a.paneId))[0]:null,q=null,r=null,s=[];if(o.length>1)q="duplicate-resume",r=0,p?.paneId===d.paneId&&s.push("newest-duplicate");else if(n)q="flow-worker",r=O(a.now,(e=n.flow).closedAt??e.rounds.at(-1)?.reviewedAt??null),new Set(["approved","closed"]).has(n.flow.state)||s.push("flow-in-progress"),a.mergedFlowIds.has(n.flow.id)||s.push("flow-not-merged");else{let c;j&&a.viewerOwnedPaths.has(j)&&(c=[m?.title,m?.project,m?.goal?.objective,d.windowName,...d.agentArgv].filter(Boolean).join(" "),/\b(?:probe|soak)\b/i.test(c))?(q="probe",r=j?(f=a.now,(g=b.get(j))?Math.max(0,Math.floor(f/1e3-g.mtime)):null):null):j&&a.missingTranscriptPaths.has(j)&&(q="dead-transcript",r=O(a.now,a.firstObservedAt[N(d)]))}j&&a.userAuthoredPaths.has(j)&&s.unshift("user-authored-message"),j&&a.authorshipUnverifiedPaths.has(j)&&s.unshift("authorship-unverified"),(k?.activity==="live"||k?.activity==="stalled"||k?.pendingQuestion||k?.waitingInput||l&&("busy"===l.turn.state||"unknown"===l.turn.state||(h=a.registry,i=l.turn.observedAt?Date.parse(l.turn.observedAt):NaN,Object.values(h.heldDeliveries).some(a=>{if(a.conversationId!==l.id)return!1;if("held"===a.state||"assigned"===a.state||"delivery-uncertain"===a.state)return!0;if("delivered"!==a.state||!a.deliveredAt)return!1;let b=Date.parse(a.deliveredAt);return Number.isFinite(b)&&(!Number.isFinite(i)||b>=i)}))))&&s.unshift("mid-turn"),l?.migration&&!["committed","rolled-back"].includes(l.migration.phase)&&s.unshift("migration-in-progress"),j&&a.manualPaths.has(j)&&s.unshift("manual-board-placement");let t=q?K[q]:null;q?null===r?s.push("observation-pending"):null!==t&&r<t&&s.push("idle-ttl"):s.push("unclassified");let u=null!==q&&0===s.length;return{targetKind:"tmux",paneId:d.paneId,panePid:d.panePid,agentPid:d.agentPid,processIdentity:d.agentIdentity,tmuxEvidence:a.tmuxEvidenceByHost?.get(N(d))??null,flowId:n?.flow.id??null,round:n?.round?.n??null,path:j,conversationId:l?.id??null,class:q,idleSeconds:r,ttlSeconds:t,protectedReasons:s,eligible:u,action:u&&!a.enabled?"dry-run":"retained"}}),...a.reviewerProcesses.map(b=>{let c=a.flows.find(a=>a.id===b.flowId),d=c?.rounds.find(a=>a.n===b.round)??null,e=d?function(a,b){if(!b.error)return O(a,b.reviewedAt);let c=[b.reviewedAt,b.relayedAt,b.relayStartedAt,b.spawnStartedAt,b.startedAt].map(a=>a?Date.parse(a):NaN).filter(Number.isFinite).sort((a,b)=>b-a)[0];return O(a,b.terminalAt??(void 0===c?null:new Date(c).toISOString()))}(a.now,d):null,f=[];c&&d&&"headless"===c.reviewerMode?d.verdict||d.error||f.push("review-verdict-pending"):f.push("unclassified"),null===e?f.push("observation-pending"):e<K["headless-reviewer"]&&f.push("idle-ttl");let g=void 0!==c&&null!==d&&"headless"===c.reviewerMode&&0===f.length;return{targetKind:"process",paneId:null,panePid:null,agentPid:b.pid,processIdentity:b.identity,tmuxEvidence:null,flowId:b.flowId,round:b.round,path:b.path,conversationId:null,class:"headless-reviewer",idleSeconds:e,ttlSeconds:K["headless-reviewer"],protectedReasons:f,eligible:g,action:g&&!a.enabled?"dry-run":"retained"}})];return{generatedAt:new Date(a.now).toISOString(),mode:a.enabled?"active":"dry-run",configFlag:"LLV_REAPER_ENABLED",eligibleCount:d.filter(a=>a.eligible).length,agents:d}}async function Q(a,b){if("dry-run"===a.mode)return a;for(let c of a.agents){if(!c.eligible||null===c.class)continue;let a=!1;try{a=await b.actuate(c)}catch{a=!1}c.action=a?"reaped":"kill-failed",b.journal({at:new Date().toISOString(),targetKind:c.targetKind,paneId:c.paneId,agentPid:c.agentPid,path:c.path,class:c.class,reason:"idle-ttl-exceeded",outcome:a?"reaped":"kill-failed"})}return a}let R=()=>(0,z.BQ)("reaper-state.json");function S(a){return`${a.paneId}:${a.agentPid}:${a.agentIdentity??"unknown"}`}function T(a,b){m().mkdirSync(o().dirname(a),{recursive:!0,mode:448});let c=`${a}.${process.pid}.${w().randomUUID()}.tmp`;m().writeFileSync(c,JSON.stringify(b,null,2)+"\n",{encoding:"utf8",mode:384}),m().renameSync(c,a)}function U(a){let b=(0,k.spawnSync)("git",["status","--porcelain=v1","--untracked-files=all"],{cwd:a.cwd,encoding:"utf8",timeout:2e3});return 0!==b.status?null:0===b.stdout.trim().length}async function V(a,b,c){return new Promise(d=>{let e=setTimeout(()=>d(c),b);a.then(a=>{clearTimeout(e),d(a)},()=>{clearTimeout(e),d(c)})})}async function W(a,b,c){let d=0,e=async()=>{for(;d<a.length;){let b=d;d+=1,await c(a[b])}};await Promise.all(Array.from({length:Math.min(b,a.length)},e))}function X(a){return JSON.stringify(Object.fromEntries(Object.entries(a).filter(([a])=>"mergeEvidence"!==a)))}async function Y(a,b={}){let c=(b.now??Date.now)(),d=new Set,e=new Map(a.map(a=>[a.id,X(a)])),f=new Set,g=a=>{f.add(a.id)},h=b.mergeProbeTimeoutMs??5e3,i=Math.max(1,b.mergeProbeConcurrency??4);return await W(a,i,async a=>{var e;let f,i=a.mergeEvidence??null,j=(b.checkoutClean??U)(a);if(!1===j||null===j&&m().existsSync(a.cwd)){(i?.mergedAt||i?.source)&&(i.mergedAt=null,i.checkedAt=null,i.source=null,g(a));return}let l=(e=i,f=[...a.rounds].reverse().find(a=>"APPROVE"===a.verdict),f?.reviewHeadSha?f.reviewHeadSha:e?.source==="github-pr"&&e.mergedAt?e.headSha:null);if(!l)return;let n=(b.resolveMergeIdentity??A.NN)(a.cwd);if(!n&&m().existsSync(a.cwd)){(i?.mergedAt||i?.source)&&(i.mergedAt=null,i.checkedAt=null,i.source=null,g(a));return}if(n){if(n.headSha!==l){(i?.mergedAt||i?.source)&&(i.mergedAt=null,i.checkedAt=null,i.source=null,g(a));return}i&&i.repository===n.repository&&i.headRef===n.headRef&&i.headSha===l||(a.mergeEvidence=i={...n,headSha:l,prNumber:null,mergedAt:null,checkedAt:null,source:null},g(a))}else i?.headSha!==l&&(a.mergeEvidence=i=i?{...i,headSha:l,prNumber:null,mergedAt:null,checkedAt:null,source:null}:null,g(a));if(i?.mergedAt)return void d.add(a.id);let o=i?.checkedAt?Date.parse(i.checkedAt):NaN;if(Number.isFinite(o)&&c-o<3e5)return;let p=null;if(i?.repository&&i.headRef){let d=b.probePullRequest?Promise.resolve(b.probePullRequest(i)):function(a,b=5e3){if(!a.repository||!a.headRef)return Promise.resolve(null);let c=a.prNumber?["pr","view",String(a.prNumber),"--repo",a.repository,"--json","number,mergedAt,headRefOid"]:["pr","list","--repo",a.repository,"--head",a.headRef,"--state","all","--json","number,mergedAt,headRefOid","--limit","1"];return new Promise(d=>{let e=(0,k.spawn)("gh",c,{stdio:["ignore","pipe","ignore"]}),f="",g=!1,h=a=>{g||(g=!0,clearTimeout(i),d(a))},i=setTimeout(()=>{e.kill("SIGKILL"),h(null)},b);e.stdout.setEncoding("utf8"),e.stdout.on("data",a=>{f.length<=1048576&&(f+=a)}),e.on("error",()=>h(null)),e.on("close",b=>{if(0!==b||f.length>1048576)return h(null);try{let b=JSON.parse(f),c=Array.isArray(b)?b[0]:b;if(!c||!Number.isInteger(c.number))return h(null);let d="string"==typeof c.mergedAt&&c.mergedAt?c.mergedAt:null,e="string"==typeof c.headRefOid&&c.headRefOid?c.headRefOid:null;if(d&&(!a.headSha||e!==a.headSha))return h(null);h({number:c.number,mergedAt:d,headRefOid:e})}catch{h(null)}})})}(i,h),e=await V(d,h,null);e?.mergedAt&&e.headRefOid===i.headSha?p={...i,prNumber:e.number,mergedAt:e.mergedAt,headSha:e.headRefOid??i.headSha,checkedAt:new Date(c).toISOString(),source:"github-pr"}:(e&&(i.prNumber=e.number),i.checkedAt=new Date(c).toISOString(),g(a))}!p&&(b.localBranchMerged??function(a,b){if(!0!==U(a))return!1;let c=(0,k.spawnSync)("git",["rev-parse","HEAD"],{cwd:a.cwd,encoding:"utf8",timeout:2e3});if(0!==c.status||c.stdout.trim()!==b)return!1;for(let c of["origin/main","origin/master","main","master"])if(0===(0,k.spawnSync)("git",["merge-base","--is-ancestor",b,c],{cwd:a.cwd,stdio:"ignore",timeout:2e3}).status)return!0;return!1})(a,l)&&(p={repository:i?.repository??null,headRef:i?.headRef??null,headSha:l,prNumber:i?.prNumber??null,mergedAt:new Date(c).toISOString(),checkedAt:new Date(c).toISOString(),source:"git-ancestor"}),p&&(a.mergeEvidence=p,d.add(a.id),g(a))}),!function(a,b,c,d){if(0===b.size||d.loadFlows&&!d.saveFlows)return;let e=d.loadFlows?d.loadFlows():d.saveFlows?a:(0,p.loadFlows)(),f=!1;for(let d of a){if(!b.has(d.id))continue;let a=e.find(a=>a.id===d.id);if(a&&X(a)===c.get(d.id)){var g;a.mergeEvidence=(g=d.mergeEvidence)?{...g}:null,f=!0}}f&&(d.saveFlows??p.saveFlows)(e)}(a,f,e,b),d}function Z(a,b){return Object.values(a.receipts).some(a=>"launch"===a.purpose&&a.artifactPath===b&&"worker"===a.launchProfile.role&&"completed"===a.state)}async function $(a,b,c,d,e,f,g){let h=new Set(Object.keys(f)),i=new Set,k=new Map,l=new Map,n=new Map;await (0,j.pV)(d,a=>{l.set(a.path,a)}),await (0,j.pV)(b,a=>{a.primaryPath&&n.set(a.primaryPath,a.engine)}),await (0,j.pV)(d,a=>{if("claude"!==a.engine&&"codex"!==a.engine||"live"===a.activity||n.has(a.path))return;let b=g[a.path];void 0!==b&&b>=a.mtime||n.set(a.path,a.engine)});let p={remaining:0x2000000};return await (0,j.pV)([...n],async([b,d])=>{var f;if(h.has(b)||i.has(b)||e.has(b))return;let g=+!!Z(a,b)+function(a,b){let c=0;for(let d of a)d.kickoffDelivery?.path===b&&(c+=1),c+=d.rounds.filter(a=>a.relayDelivery?.path===b).length;return c}(c,b)+function(a,b){for(let c of a)if("headless"===c.reviewerMode){for(let a of c.rounds)if(a.reviewerPath===b&&a.sessionId&&o().basename(b).includes(a.sessionId))return 1}return 0}(c,b)+((f=l.get(b))&&("claude-projects"===f.root&&"subagent"===f.kind||"codex-sessions"===f.root&&"codex"===f.engine&&(0,H.ET)(f.path,f.size))?1:0),j=null;try{j=m().statSync(b).mtimeMs/1e3}catch{i.add(b);return}let n=await (0,I.vK)(b,d,g+1,{resume:!0,maxBytes:4194304,budget:p});n.count>g?h.add(b):n.complete?k.set(b,j):i.add(b)}),{userAuthoredPaths:h,unverifiedPaths:i,verifiedCleanAt:k}}async function _(a){let b=await (0,r.CS)();return await (0,B.VB)(a,b),b}function aa(a,b=a=>D.B.processIdentity(a)){return{kind:"tmux",endpoint:(0,J.WH)(),server:{pid:a.tmuxServerPid,startIdentity:b(a.tmuxServerPid)},paneId:a.paneId,panePid:{pid:a.panePid,startIdentity:b(a.panePid)},windowName:a.windowName??"",agent:{pid:a.agentPid,startIdentity:a.agentIdentity},argv:a.agentArgv}}function ab(a){let b=(0,z.BQ)("reaper-journal.ndjson");m().mkdirSync(o().dirname(b),{recursive:!0,mode:448});try{m().statSync(b).size>4194304&&m().renameSync(b,`${b}.1`)}catch{}m().appendFileSync(b,JSON.stringify(a)+"\n",{encoding:"utf8",mode:384})}async function ac(a,b,c,d,e,f={}){let g=(f.loadFlows??p.loadFlows)(),h=f.processIdentity??(a=>D.B.processIdentity(a)),i=await Y(g,f),j=a.readOnlySnapshot(),k=new Set(b.flatMap(a=>a.primaryPath&&!m().existsSync(a.primaryPath)?[a.primaryPath]:[])),l=await $(j,b,g,c,k,d.userAuthoredPaths,d.scannedAt),n=!1;for(let a of l.userAuthoredPaths)d.userAuthoredPaths[a]||(d.userAuthoredPaths[a]=!0,n=!0);for(let[a,b]of l.verifiedCleanAt)d.scannedAt[a]!==b&&(d.scannedAt[a]=b,n=!0);n&&T(R(),d);let o=new Set([...l.userAuthoredPaths,...b.flatMap(a=>a.primaryPath&&d.userAuthoredPaths[a.primaryPath]?[a.primaryPath]:[])]);return{now:e,registry:j,hosts:b,tmuxEvidenceByHost:new Map(b.map(a=>[S(a),aa(a,h)])),reviewerProcesses:function(a,b){let c=b.pidAlive??(a=>D.B.pidAlive(a)),d=b.processIdentity??(a=>D.B.processIdentity(a)),e=[];for(let b of a)if("headless"===b.reviewerMode)for(let a of b.rounds){let f=a.reviewerPid??null,g=a.reviewerIdentity??null;f&&g&&c(f)&&d(f)===g&&e.push({flowId:b.id,round:a.n,pid:f,identity:g,path:a.reviewerPath})}return e}(g,f),viewerOwnedPaths:new Set(b.flatMap(a=>a.primaryPath&&Z(j,a.primaryPath)?[a.primaryPath]:[])),authorshipUnverifiedPaths:l.unverifiedPaths,files:c,flows:g,manualPaths:function(a,b,c){let d=new Map(c.map(a=>[a.path,a])),e=new Set,f=new Map;for(let c of b){let b=c.primaryPath;if(!b)continue;let g=d.get(b)?.project||function(a,b){return Object.values(a.entries).find(a=>a.artifactPath===b)?.launchProfile??Object.values(a.conversations).flatMap(a=>a.generations).find(a=>a.path===b)?.launchProfile??null}(a,b)?.project;if(g)try{let a=f.get(g);a||(a=new Set((0,y.C9)(g).explicitManual??[]),f.set(g,a)),a.has(b)&&e.add(b)}catch{e.add(b)}}return e}(j,b,c),userAuthoredPaths:o,missingTranscriptPaths:k,mergedFlowIds:i,firstObservedAt:d.firstObservedAt,enabled:"1"===process.env.LLV_REAPER_ENABLED}}function ad(a,b){try{process.kill(-a,b)}catch{process.kill(a,b)}}async function ae(a,b={}){let c={pidAlive:a=>D.B.pidAlive(a),processIdentity:a=>D.B.processIdentity(a),signal:ad,sleep:a=>new Promise(b=>setTimeout(b,a)),maxVerifyAttempts:20,...b},d=()=>!c.pidAlive(a.pid)||c.processIdentity(a.pid)!==a.identity;if(d())return!1;for(let b of["SIGTERM","SIGKILL"]){try{c.signal(a.pid,b)}catch{if(d())return!0;break}for(let a=0;a<c.maxVerifyAttempts;a+=1){if(d())return!0;a+1<c.maxVerifyAttempts&&await c.sleep(25)}}return!1}function af(a,b){return a.kind===b.kind&&a.endpoint===b.endpoint&&a.server.pid===b.server.pid&&a.server.startIdentity===b.server.startIdentity&&a.paneId===b.paneId&&a.panePid.pid===b.panePid.pid&&a.panePid.startIdentity===b.panePid.startIdentity&&a.windowName===b.windowName&&a.agent.pid===b.agent.pid&&a.agent.startIdentity===b.agent.startIdentity&&a.argv.length===b.argv.length&&a.argv.every((a,c)=>a===b.argv[c])}function ag(a,b,c){return"tmux"===b.targetKind&&null!==b.tmuxEvidence&&af(aa(a,c),b.tmuxEvidence)&&a.primaryPath===b.path}function ah(a,b){return b?JSON.stringify(Object.values(a.heldDeliveries).filter(a=>a.conversationId===b).sort((a,b)=>a.id.localeCompare(b.id))):""}async function ai(a,b,c,d,e={}){if("process"===d.targetKind){if(!d.flowId||null===d.round||!d.processIdentity)return!1;let f=P(await ac(a,[],b,c,(e.now??Date.now)(),e)).agents.find(a=>"process"===a.targetKind&&a.flowId===d.flowId&&a.round===d.round&&a.agentPid===d.agentPid&&a.processIdentity===d.processIdentity);return!!f?.eligible&&(e.killProcess??ae)({pid:d.agentPid,identity:d.processIdentity})}let f=d.paneId,g=d.tmuxEvidence;if(null===f||!g||null===g.server.startIdentity||null===g.panePid.startIdentity||null===g.agent.startIdentity)return!1;let h=e.readHosts??i.oe,j=e.kill??J.B$,k=e.now??Date.now,l=e.processIdentity??(a=>D.B.processIdentity(a)),m=(await h(!0)).hosts.find(a=>ag(a,d,l));if(!m?.primaryPath)return!1;let n=Object.values(a.readOnlySnapshot().entries).find(a=>a.artifactPath===d.path);if(!n)return!1;let o={pid:process.pid,startIdentity:D.B.processIdentity(process.pid)};return a.withOperationLock(n.key,o,async()=>{let b=`reaper:${w().randomUUID()}`;try{a.claim(n.key,b);let f=await h(!0);if(!f.hosts.find(a=>ag(a,d,l)))return!1;let i=await (e.refreshLifecycle??_)(a),m=await ac(a,f.hosts,i,c,k(),e),o=P(m).agents.find(a=>"tmux"===a.targetKind&&a.paneId===d.paneId&&a.panePid===d.panePid&&a.agentPid===d.agentPid&&a.processIdentity===d.processIdentity&&a.path===d.path&&null!==a.tmuxEvidence&&null!==d.tmuxEvidence&&af(a.tmuxEvidence,d.tmuxEvidence));if(!o?.eligible||ah(a.readOnlySnapshot(),o.conversationId)!==ah(m.registry,o.conversationId))return!1;let p=await j(g),q=a.readOnlySnapshot().entries[`${n.key.engine}:${n.key.sessionId}`]?.host;return p&&q&&af(q,g)&&a.markUnhosted(n.key),p}finally{a.releaseClaim(n.key,b)}})}async function aj(a){let b=a.registry??(0,h.agentRegistry)(),c=a.now??Date.now();try{!function(a,b=Date.now(),c={},d=[]){let e=a.readOnlySnapshot(),f=(0,x.AM)({...c,now:()=>b}),g=new Set(d.flatMap(a=>(a.primaryPath?[a.primaryPath,...a.claimedPaths]:a.claimedPaths).map(b=>`${a.engine}:${b}`))),h=new Set;for(let d of(0,x.vZ)(e,{...c,now:()=>b}))"failed"===a.recordDeliveryOutcome(d,"failed","delivery-uncertain abandoned: owning migration settled with no live host or receipt (#652)").state&&h.add(d);for(let c of Object.values(e.migrationIntents)){let d=Object.values(e.conversations).filter(a=>a.migration?.intentId===c.id),i=function(a,b){let c=new Set(Object.values(a.conversations).filter(a=>a.migration?.intentId===b).map(a=>a.id));return Object.values(a.heldDeliveries).filter(a=>c.has(a.conversationId)&&["held","assigned","delivery-uncertain"].includes(a.state)).map(a=>a.id)}(e,c.id),j=new Set;for(let a of d)a.migration?.phase==="rolled-back"&&j.add(a.id);let k=i.filter(b=>{let d=e.heldDeliveries[b];return!(d&&j.has(d.conversationId)&&a.terminalizeRolledBackMigrationDelivery(b,c.id,C.Mi))||(h.add(b),!1)});if("draining"!==c.state){for(let b of j)a.clearRolledBackConversationMigration(b,c.id);continue}let l=new Set(k.map(a=>e.heldDeliveries[a]?.conversationId).filter(a=>!!a)),m=(0,C.AY)(e,c,b);if(!m)for(let b of d){if(b.migration?.phase!=="requested"||!l.has(b.id)||function(a,b,c,d){let e=b.migration;if(!e)return!1;let f=b.generations.find(a=>a.id===e.sourceGenerationId);if(!f)return!1;let g=`${b.engine}:${f.path}`;return!!(d.has(g)||(0,x.eW)(f.host?.tmuxHost?.agent,c)||Object.values(a.entries).some(a=>a.key.engine===b.engine&&a.artifactPath===f.path&&(0,x.dw)(a,c)))||Object.values(a.receipts).some(d=>d.engine===b.engine&&d.conversationId===b.id&&(0,x.LB)(a,d,c))}(e,b,f,g))continue;let c=`delivery cancelled because source conversation ${b.id} has no live owner; send again to authorize a fresh delivery`;for(let d of k)e.heldDeliveries[d]?.conversationId===b.id&&"failed"===a.terminalizeHeldDelivery(d,c).state&&h.add(d);a.rollbackConversationMigration(b.id,b.migration.revision),k=k.filter(a=>e.heldDeliveries[a]?.conversationId!==b.id)}if(!m)continue;let n=`delivery cancelled because its owning account migration made no progress for ${C.fz}ms; send again to authorize a fresh delivery`;a.setMigrationIntentState(c.id,"stopped",c.revision,n);let o=a.readOnlySnapshot();for(let a of k)o.heldDeliveries[a]?.state==="failed"&&h.add(a)}[...h]}(b,c,{},a.hosts)}catch(a){console.error("[reaper] stale undeliverable held-delivery convergence failed",a)}try{b.terminalizeFailedSpawnDeliveries()}catch(a){console.error("[reaper] failed-spawn held-delivery convergence failed",a)}try{(0,F.cf)(b)}catch(a){console.error("[reaper] dead structured-host ownership convergence failed",a)}let d=(a.actuation?.runtimeClient??E.sS)();try{await (a.actuation?.terminalizeStaleSpawns??G.LH)(b,d)}catch(a){console.error("[reaper] stale structured spawn convergence failed",a)}let e=function(a,b){let c=function(){try{let a=JSON.parse(m().readFileSync(R(),"utf8"));if(1===a.version&&a.firstObservedAt&&"object"==typeof a.firstObservedAt)return{version:1,firstObservedAt:a.firstObservedAt,userAuthoredPaths:a.userAuthoredPaths&&"object"==typeof a.userAuthoredPaths?a.userAuthoredPaths:{},scannedAt:a.scannedAt&&"object"==typeof a.scannedAt&&!Array.isArray(a.scannedAt)?a.scannedAt:{}}}catch{}return{version:1,firstObservedAt:{},userAuthoredPaths:{},scannedAt:{}}}(),d={};for(let e of a){let a=S(e);d[a]=c.firstObservedAt[a]??new Date(b).toISOString()}let e={version:1,firstObservedAt:d,userAuthoredPaths:c.userAuthoredPaths,scannedAt:c.scannedAt};return T(R(),e),e}(a.hosts,c),f=P(await ac(b,a.hosts,a.files,e,c,a.actuation)),g=await Q(f,{actuate:c=>ai(b,a.files,e,c,a.actuation),journal:ab});return T((0,z.BQ)("reaper-report.json"),g),g}var ak=c(48161),al=c.n(ak),am=c(1198);function an(a,b){if(0!==a.tty)return null;let c=a.argv,d=c.indexOf("--output-last-message");return c.includes("exec")&&c.includes("--json")&&!(d<0)&&c.some(a=>/(^|[/\\])codex(?:-[^/\\]+)?$/i.test(a))?function(a,b){if(!a||!o().isAbsolute(a))return null;let c=o().relative(o().resolve(b),o().resolve(a));if(!c||o().isAbsolute(c)||".."===c||c.startsWith(`..${o().sep}`))return null;let d=c.split(o().sep);if(2!==d.length||!d[0])return null;let e=/^round-(\d+)-last-message\.md$/.exec(d[1]);return e?{flowId:d[0],round:Number(e[1])}:null}(c[d+1],b):null}function ao(a){return a.argv.some(a=>/(^|[/\\])codex(?:-[^/\\]+)?$/i.test(a))&&(a.argv.includes("exec")||a.argv.includes("app-server"))}function ap(a){return a.argv.some(a=>/(^|[/\\])claude(?:-[^/\\]+)?$/i.test(a))}let aq=/(?:^|[-_.])mcp(?:[-_.]|$)/i,ar=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*(?:@[^\s/]+)?$/i;function as(a){if(!a||!ar.test(a))return!1;let b=a.startsWith("@")?a.indexOf("@",a.indexOf("/")+1):a.indexOf("@"),c=b>0?a.slice(0,b):a;return aq.test(c.split("/").at(-1)??"")}function at(a,b){for(let c=b;c<a.length;c+=1){let b=a[c];if("--"===b)break;if("--package"===b||"-p"===b)return a[c+1];if(b.startsWith("--package="))return b.slice(10);if(!b.startsWith("-"))return b}}let au=new Set(["--cache-dir","--color","--config-file","--directory","--project","--python"]);function av(a){var b;if(0!==a.tty)return!1;let c=a.argv;if((b=c[0])&&aq.test(o().basename(b)))return!0;let d=o().basename(c[0]??"").toLowerCase();return"npx"===d||"bunx"===d||"uvx"===d?as(at(c,1)):"npm"===d&&("exec"===c[1]||"x"===c[1])||("pnpm"===d||"yarn"===d)&&("dlx"===c[1]||"exec"===c[1])||"bun"===d&&"x"===c[1]?as(at(c,2)):"uv"===d&&function(a){let b=1;for(;b<a.length;){let c=a[b];if("run"===c)return as(at(a,b+1));if("tool"===c&&"run"===a[b+1])return as(at(a,b+2));if(au.has(c)){b+=2;continue}if(c.startsWith("-")){b+=1;continue}break}return!1}(c)}function aw(a,b){let c=new Set;for(let b of a.hosts)c.add(b.panePid),c.add(b.agentPid);for(let b of a.panePids)c.add(b);for(let d of a.flows)if("headless"===d.reviewerMode)for(let a of d.rounds){if(!a.reviewerPid||a.verdict||a.error||a.terminalAt)continue;let d=b.get(a.reviewerPid);d&&(a.reviewerIdentity&&d.identity!==a.reviewerIdentity||c.add(a.reviewerPid))}let d=new Set,e=new Map(a.processes.map(a=>[a.pid,a.ppid]));for(let a of c)for(let b of(0,am.mO)(a,e))d.add(b);return d}function ax(a){let b=new Map(a.processes.map(a=>[a.pid,a])),c=aw(a,b),d=new Set(a.processes.filter(b=>b.ageMs>=a.thresholdMs&&function(a,b){let c=an(a,b.flowArtifactsRoot);if(!c||!a.identity)return!1;let d=b.flows.find(a=>a.id===c.flowId),e=d?.rounds.find(a=>a.n===c.round);return d?.reviewerMode==="headless"&&e?.reviewerPid===a.pid&&e.reviewerIdentity===a.identity}(b,a)&&!c.has(b.pid)).map(a=>a.pid)),e=[];for(let f of a.processes){if(!f.identity||f.ageMs<a.thresholdMs||c.has(f.pid))continue;if(d.has(f.pid)){e.push({pid:f.pid,identity:f.identity,kind:"codex-exec"});continue}if(ao(f)||ap(f)||!av(f))continue;let g=function(a,b){let c=[],d=new Set([a]),e=b.get(a)?.ppid??0;for(;e>0&&!d.has(e);)c.push(e),d.add(e),e=b.get(e)?.ppid??0;return c}(f.pid,b);!(g.some(a=>d.has(a)||av(b.get(a)??{argv:[],tty:0}))||g.some(a=>ao(b.get(a)??{argv:[]}))||g.some(a=>ap(b.get(a)??{argv:[]})))&&(g.some(a=>1!==a&&b.has(a))||e.push({pid:f.pid,identity:f.identity,kind:"orphan-mcp"}))}return e.sort((a,b)=>a.pid-b.pid)}let ay={listProcesses:()=>D.B.listProcesses(),ppidMap:()=>D.B.ppidMap(),processIdentity:a=>D.B.processIdentity(a),processAgeMs:function(a,b){if(!b)return null;let c=b.slice(b.indexOf(":")+1);if("linux"===D.B.name&&/^\d+$/.test(c))return Math.max(0,1e3*al().uptime()-10*Number(c));let d=Date.parse(c);return Number.isFinite(d)?Math.max(0,Date.now()-d):null},loadFlows:p.loadFlows,readHosts:async()=>(await (0,i.oe)(!0)).hosts,readPanePids:async()=>{let a=await (0,J.m7)(!0);return"failure"===a.kind?null:"available"===a.kind?[...a.panes.keys()]:[]},signalProcess:process.kill,setTimeout:(a,b)=>setTimeout(a,b)};function az(a){let b=new Set;for(let c of a)if("headless"===c.reviewerMode)for(let a of c.rounds)!a.reviewerPid||a.verdict||a.error||a.terminalAt||b.add(a.reviewerPid);return b}function aA(a,b){let c=b.loadFlows(),d=az(c),e=b.ppidMap(),f=b.listProcesses().map(a=>({...a,ppid:e.get(a.pid)??0,identity:d.has(a.pid)?b.processIdentity(a.pid):null,ageMs:0})),g=new Map(f.map(a=>[a.pid,a]));return{protectedPids:function(a,b){let c=aw(a,b),d=new Map(a.processes.map(a=>[a.pid,a.ppid]));for(let b of a.processes)if(ao(b)||ap(b))for(let a of(0,am.mO)(b.pid,d))c.add(a);return c}({...a,flows:c,processes:f},g),ppids:e}}function aB(a,b,c=new Set){let d=a.ppidMap();return a.listProcesses().map(e=>{let f=c.has(e.pid)||null!==an(e,b)||av(e),g=f?a.processIdentity(e.pid):null;return{...e,ppid:d.get(e.pid)??0,identity:g,ageMs:f?a.processAgeMs(e.pid,g)??0:0}})}async function aC(a){let b={...ay,...a.dependencies},c=a.thresholdMs??function(a=process.env){let b=Number(a.LLV_HEADLESS_REAPER_THRESHOLD_MS);return Number.isFinite(b)&&b>=6e4?b:72e5}(),d=a.flowArtifactsRoot??(0,z.BQ)("flows"),e=await b.readPanePids();if(null===e)return{candidates:0,signaled:0};let f=a.flows??b.loadFlows(),g=ax({processes:aB(b,d,az(f)),flows:f,hosts:a.hosts,panePids:e,flowArtifactsRoot:d,thresholdMs:c}),h=0;for(let e of g){let[f,g,i]=await Promise.all([b.readHosts(),Promise.resolve(b.loadFlows()),b.readPanePids()]);if(null===i)continue;let j={processes:aB(b,d,az(g)),flows:g,hosts:f,panePids:i,flowArtifactsRoot:d,thresholdMs:c},k=ax(j).find(a=>a.pid===e.pid&&a.identity===e.identity&&a.kind===e.kind);if(k){if("codex-exec"===k.kind){if(!function(a,b,c){if(b.processIdentity(a.pid)!==a.identity)return!1;try{b.signalProcess(-a.pid,"SIGTERM")}catch{if(b.processIdentity(a.pid)!==a.identity)return!1;try{b.signalProcess(a.pid,"SIGTERM")}catch{return!1}}let d=b.setTimeout(()=>{try{b.signalProcess(-a.pid,"SIGKILL")}catch{}},c);return d.unref?.(),!0}(k,b,a.shutdownGraceMs??3e3))continue}else if(!function(a,b,c,d){let e,f=new Map(b.processes.map(a=>[a.pid,a.identity]));try{e=aA(b,c)}catch{return!1}let{ppids:g,protectedPids:h}=e,i=(0,am.mO)(a.pid,g).reverse();if(i.some(a=>h.has(a)))return!1;let j=i.map(a=>{let b=f.get(a)??null,d=c.processIdentity(a);return{pid:a,observedIdentity:b,expectedIdentity:d,eligible:!!(d&&(!b||b===d))}}),k=j.find(b=>b.pid===a.pid);if(k?.observedIdentity!==a.identity||k.expectedIdentity!==a.identity)return!1;for(let a of j)if(a.eligible&&a.expectedIdentity&&c.processIdentity(a.pid)===a.expectedIdentity)try{c.signalProcess(a.pid,"SIGTERM")}catch{}let l=c.setTimeout(()=>{let a;try{a=aA(b,c).protectedPids}catch{return}for(let b of j)if(!a.has(b.pid)&&b.eligible&&b.expectedIdentity&&c.processIdentity(b.pid)===b.expectedIdentity)try{c.signalProcess(b.pid,"SIGKILL")}catch{}},d);return l.unref?.(),!0}(k,j,b,a.shutdownGraceMs??3e3))continue;h+=1}}return{candidates:g.length,signaled:h}}function aD(a){return!("claude-projects"!==a.root||!a.path.endsWith(".jsonl")||a.path.includes(o().sep+"subagents"+o().sep))&&2===a.name.split(o().sep).length}function aE(a,b){return aF(a,new Map(b.map(a=>[a.path,a])))}function aF(a,b){let c=b.get(a);if(!c?.parent||c.handoff)return null;let d=b.get(c.parent);return d&&aD(c)&&aD(d)?d.path:null}var aG=c(10988),aH=c(96796),aI=c(65281),aJ=c(67434),aK=c(66052);function aL(a={}){let b=a.structuredDelivery??aK.deliverHeldStructuredMessage,c=a.legacyDelivery??(async({delivery:a,path:b,clientMessageId:c})=>{if("runtime-images"===a.payloadKind)return"delivery-uncertain";let d=await (0,aJ.Ku)({pid:null,path:b,text:a.text,images:[],clientMessageId:c,reservedDeliveryId:a.id,...a.command.origin?{origin:a.command.origin}:{}});return(0,aJ.$n)(d)}),d=({delivery:a,path:c,clientMessageId:d})=>b({conversationId:a.conversationId,runtimeConversationId:a.runtimeConversationId,path:c,deliveryId:a.id,clientMessageId:d,text:a.text,command:a.command,...a.runtimeImages.length?{imageRefs:a.runtimeImages}:{}});return{deliver:async a=>await d(a)??c(a),reconcileUncertain:async a=>await d(a)??"delivery-uncertain"}}var aM=c(63608),aN=c(37495),aO=c(71307),aP=c(80323),aQ=c(57624);async function aR(a,b,c){let d=await (0,aQ.Ki)({account:a,liveReader:async()=>b.rateLimits,now:()=>c});return{engine:"codex",accountId:a.id,authenticated:b.authenticated,authCheckedAt:c,limits:d.data,provenance:{source:d.source,reason:b.authenticated?d.reason:"unsupported-account-type",staleSince:null},observedAt:c,envelope:b.envelope,resetCredits:function(a){if(!a)return null;let b=(a.credits??[]).filter(a=>"available"===a.status&&null!==a.expiresAt).map(a=>a.expiresAt);return{availableCount:a.availableCount,expiresAt:b.length?Math.min(...b):null}}(b.resetCredits)}}async function aS(a,b,c={}){let d=c.authStatus??aO.kR.status,e=await d(a.home).catch(()=>({loggedIn:!1,indeterminate:!0}));if(e.indeterminate)throw Error("quota-auth-indeterminate");if(!e.loggedIn)return{engine:"claude",accountId:a.id,authenticated:!1,authCheckedAt:b,limits:null,provenance:{source:"unavailable",reason:"live authentication check failed",staleSince:null},observedAt:b};let f=await (0,aQ.WB)(a,{now:()=>b,force:c.force});return{engine:"claude",accountId:a.id,authenticated:!0,authCheckedAt:b,limits:f.data,provenance:{source:f.provenance.source,reason:f.provenance.reason,staleSince:f.provenance.staleSince},observedAt:f.observedAt??b}}let aT={list:a=>"claude"===a?(0,d.Fn)():(0,e.Sq)(),active:a=>"claude"===a?(0,d.No)():(0,e.O)(),async probe(a,b,c,d){if("claude"===a)return await aS(b,c,d);try{let a=await (0,f.VD)().probeQuota(b);return await aR(b,a,c)}catch(e){let d=await (0,aQ.Ki)({account:b,liveReader:async()=>Promise.reject(e)});if(!d.data)throw e;return{engine:a,accountId:b.id,authenticated:!1,authCheckedAt:c,limits:d.data,provenance:{source:d.source,reason:d.reason,staleSince:null},observedAt:c,envelope:null}}}};class aU{constructor(a=(0,h.agentRegistry)(),b=aT,c=w().randomUUID(),d=()=>Date.now(),e=15e3){this.registry=a,this.probe=b,this.bootId=c,this.now=d,this.probeTimeoutMs=e}carryForward(a,b,c,d){let e=this.registry.readOnlySnapshot().quotaObservations[a][b];return e?.limits?{engine:a,accountId:b,authenticated:e.authenticated,authCheckedAt:Date.parse(e.authCheckedAt)||d,limits:e.limits,provenance:{source:"cache",reason:c,staleSince:e.provenance.staleSince??e.observedAt},observedAt:Date.parse(e.observedAt)||d,envelope:null,resetCredits:e.resetCredits??null}:{engine:a,accountId:b,authenticated:!1,authCheckedAt:d,limits:null,provenance:{source:"unavailable",reason:c,staleSince:null},observedAt:d,envelope:null}}async tick(a){await (0,g.Cu)(async()=>this.tickLocked(a))}async tickLocked(a){let b=this.now(),c=this.probe.list(a),d=await Promise.all(c.map(async c=>{try{var d;let e=await Promise.race([this.probe.probe(a,c,b),(d=this.probeTimeoutMs,new Promise((a,b)=>{let c=setTimeout(()=>b(Error("quota-probe-timeout")),d);c.unref?.()}))]);if(e.authenticated&&!e.limits)return this.carryForward(a,c.id,e.provenance.reason??"quota-probe-empty",b);let f=this.registry.readOnlySnapshot().quotaObservations[a][c.id];if(e.authenticated&&f?.limits&&Date.parse(f.observedAt)>e.observedAt)return this.carryForward(a,c.id,e.provenance.reason??"quota-probe-older",b);return e}catch(e){let d=e instanceof Error&&"quota-probe-timeout"===e.message?"quota-probe-timeout":"quota-probe-failed";return this.carryForward(a,c.id,d,b)}}));if(d.forEach((b,d)=>{let e=c[d];(0,aP.pq)({engine:a,accountId:b.accountId,accountKind:e.kind,envelope:b.envelope??null,probePhase:"account-rate-limits",provenance:b.provenance.source,reasonCode:b.provenance.reason})}),"claude"===a)for(let a of d)a.limits&&(0,aQ.Nj)(a.accountId,a.limits,a.observedAt,b);let e=d.map(b=>{var c,d;return c={...b,engine:a},d=this.bootId,{engine:c.engine,accountId:c.accountId,authenticated:c.authenticated,authCheckedAt:new Date(c.authCheckedAt??c.observedAt).toISOString(),limits:c.limits,provenance:c.provenance,observedAt:new Date(c.observedAt).toISOString(),bootId:d,resetCredits:c.resetCredits??null}});this.registry.recordQuotaEvaluation({engine:a,observations:e,signature:null,evidence:null,bootId:this.bootId,now:new Date(b).toISOString(),minimumGapMs:6e4})}}let aV=aL();async function aW(a,b,c=new aN.wh,d=aV){a.compactDeliveryReservations(),await (0,j.Lh)();let e=Promise.all([b.tick("claude"),b.tick("codex")]);try{await (0,B.c0)(c,d,a)}finally{await e}}function aX(a){let b=a.readOnlySnapshot().engineRouting,c=(()=>{try{return!!(b.claude.activeAccountId&&b.claude.activeAccountId!==(0,d.No)())}catch{return!0}})(),f=(()=>{try{return!!(b.codex.activeAccountId&&b.codex.activeAccountId!==(0,e.O)())}catch{return!0}})();(c||f)&&(0,g.oV)(()=>{let b=a.readOnlySnapshot(),c=b.engineRouting.claude.activeAccountId,f=b.engineRouting.codex.activeAccountId;try{c&&c!==(0,d.No)()&&(0,d.ss)(c)}catch{}try{f&&f!==(0,e.O)()&&(0,e.b0)(f)}catch{}})}async function aY(){let a=(0,e.J0)();await Promise.all((0,e.Sq)().map(async b=>{if("managed"===b.kind){b.loginPane&&!a&&(0,e.yG)(b.id,null),(0,f.VD)().peekLogin(b).attemptState&&await (0,f.VD)().loginSnapshot(b);return}if(!b.loginPane)return;let c=await (0,J.RZ)(b.loginPane.paneId);(0,e.hg)(b.authPresent,b.loginPane,c).clear&&!a&&(0,e.yG)(b.id,null)}))}let aZ={files:[],projectCatalog:[],complete:!1};function a$(a=process.env,b=s.TF,c=t.wj){return"1"!==a.LLV_ACCOUNT_CONTROLLER_INVENTORY_WORKER?c():Promise.resolve(b()??aZ)}async function a_(a,b){await aY();let c=await (0,i.oe)(!0,b);try{await aj({registry:a,hosts:c.hosts,files:b})}catch(a){console.error("[agent reaper] lifecycle reconciliation failed",a)}try{let a=await aC({hosts:c.hosts,flows:(0,p.loadFlows)()});a.signaled>0&&console.warn(`[headless process reaper] terminated ${a.signaled} stale process group(s)`)}catch(a){console.error("[headless process reaper] reconciliation failed",a)}}let a0={scan:()=>a$(),reconcileInventory:B.VB,reconcileFlowOwnership:p.reconcileFlowConversationOwnershipCooperatively,reconcileWorkflowOwnership:aH.reconcileWorkflowConversationOwnershipCooperatively,reconcileHandoffOwnership:q.d5,reconcileFiles:r.CR,reconcileRuntime:a_,reconcileTaskStore:function(a,b){let c=(0,h.oP)(a.readOnlySnapshot());(0,aG.z4)(a=>{let d=function(a,b,c={}){let d=!1,e=new Map(a.map(a=>[a.path,a])),f=c.successorForPath?c:{...c,successorForPath:a=>aF(a,e)},g=b.map(b=>{let c=!1,g=b.assignments.map(b=>{let d=function(a,b,c,d){let e=a,f=!1;if(e.conversationId){let a=d.canonicalConversationId?.(e.conversationId)??e.conversationId;a!==e.conversationId&&(e={...e,conversationId:a},f=!0)}if(e.path&&!e.conversationId){let a=d.conversationIdForPath?.(e.path)??c.get(e.path)?.conversationId??null;a&&(e={...e,conversationId:a},f=!0)}let g=d.now?.()??new Date().toISOString();if(e.path){let a=(e.conversationId?d.pathForConversationId?.(e.conversationId)??null:null)??function(a,b,c){let d=c??aE,e=new Set([a]),f=a,g=null;for(;;){let a=d(f,b);if(!a||e.has(a))return g;g=a,f=a,e.add(f)}}(e.path,b,d.successorForPath);if(a&&a!==e.path){let b="handoff"===e.state||"linked"===e.state?e.state:"delivered";return{assignment:{...e,path:a,state:b,error:null,at:g},dirty:!0}}return{assignment:e,dirty:f}}if(null!==e.panePid){let a=d.pathForPanePid?.(e.panePid,b)??null;if(a){let b=d.conversationIdForPath?.(a)??c.get(a)?.conversationId??null;return{assignment:{...e,path:a,...b?{conversationId:b}:{},state:"delivered",error:null,at:g},dirty:!0}}if(!(d.panePidAlive?.(e.panePid)??!0)&&"failed"!==e.state)return{assignment:{...e,state:"failed",error:"agent did not start",at:g},dirty:!0}}return{assignment:e,dirty:f}}(b,a,e,f);return d.dirty&&(c=!0),d.assignment});return c?(d=!0,{...b,assignments:g,updatedAt:f.now?.()??new Date().toISOString()}):b});return{tasks:d?g:b,dirty:d}}(b,a,{pathForPanePid:(a,b)=>(function(a,b,c){if(!Number.isInteger(b)||b<=0)return null;for(let d of a){if(null===d.pid)continue;let a=new Set;for(let e=d.pid;null!==e&&!a.has(e)&&(a.add(e),!(a.size>15));e=c(e))if(e===b)return d.path}return null})(b,a,u.Ib),panePidAlive:u.pl,conversationIdForPath:a=>c.conversationForPath(a)?.id??null,canonicalConversationId:a=>a.startsWith("conversation_")?c.canonicalConversationId(a):null,pathForConversationId:a=>a.startsWith("conversation_")?c.conversation(a)?.generations.at(-1)?.path??null:null});return{tasks:d.dirty?d.tasks:void 0,result:void 0}})},syncRouting:aX,reconcileMigrationCycle:aW};class a1{constructor(a=(0,h.agentRegistry)(),b=new aU(a),c=null,d={}){this.registry=a,this.quota=b,this.cycle=c,this.running=null,this.trailingCycleRequested=!1,this.ports={...a0,...d}}tick(){return this.running?this.trailingCycleRequested=!0:this.running=this.runRequestedCycles().finally(()=>{this.running=null}),this.running}poll(){return this.running?this.running:this.tick()}async runRequestedCycles(){let a=null;do{this.trailingCycleRequested=!1;try{await (this.cycle?.()??this.run())}catch(b){a??=b}}while(this.trailingCycleRequested);if(a)throw a}async run(){let{files:a,complete:b}=await this.ports.scan();if(!b)return;await (0,j.Lh)();let c=await this.ports.reconcileInventory(this.registry,a);await (0,j.Lh)();let d=(0,h.oP)(c);await this.ports.reconcileFlowOwnership(d),await this.ports.reconcileWorkflowOwnership(d),await this.ports.reconcileHandoffOwnership(d),await (0,j.Lh)(),await this.ports.reconcileFiles(a),await (0,j.Lh)(),await this.ports.reconcileRuntime(this.registry,a),await (0,j.Lh)(),await this.ports.reconcileTaskStore(this.registry,a),await (0,j.Lh)(),await this.ports.syncRouting(this.registry),await this.ports.reconcileMigrationCycle(this.registry,this.quota)}}let a2=globalThis;async function a3(){await (0,j.Lh)();let a=(0,h.agentRegistry)(),b=new aU(a);if("1"===process.env.LLV_ACCOUNT_CONTROLLER_INVENTORY_WORKER)return void function(a,b){let c=a2.__llvAccountMigrationController??=new a1(a,b);if(!a2.__llvAccountMigrationTimer){let a=setInterval(()=>void c.poll().catch(a=>{console.error("[account migration controller] durable reconciliation tick failed",a)}),6e4);a.unref?.(),a2.__llvAccountMigrationTimer=a}if(!a2.__llvAccountMigrationBootstrapStarted){a2.__llvAccountMigrationBootstrapStarted=!0;let a=setTimeout(()=>{a2.__llvAccountMigrationInitialTimer=void 0,c.poll().catch(a=>{console.error("[account migration controller] initial inventory reconciliation failed",a)})},1e3);a.unref?.(),a2.__llvAccountMigrationInitialTimer=a}}(a,b);let c=a2.__llvAccountMigrationFastController??=new a1(a,b,()=>aW(a,b));(0,aM.c)(()=>c.tick()),c.tick().catch(a=>{console.error("[account migration controller] initial durable reconciliation failed",a)}),function a(){if(a2.__llvAccountMigrationInventoryWorker)return;let b=function(a=process.cwd()){let b=o().join(a,"src/lib/accountMigrationController.worker.ts"),c=o().join(a,".next/server/account-migration-controller-worker.js");return m().existsSync(b)&&m().existsSync("/usr/local/bin/bun-container")?{executable:"/usr/local/bin/bun-container",workerPath:b}:m().existsSync(c)?{executable:process.versions.bun?process.execPath:process.env.LLV_BUN_EXECUTABLE||"bun",workerPath:c}:{executable:process.execPath,workerPath:b}}(),c=m().existsSync("/usr/bin/nice"),d=(0,k.spawn)(c?"/usr/bin/nice":b.executable,[...c?["-n","10",b.executable]:[],b.workerPath],{cwd:process.cwd(),stdio:["ignore","inherit","inherit"],env:{...(0,aI.Fd)(process.env),LLV_ACCOUNT_CONTROLLER_INVENTORY_WORKER:"1"}});a2.__llvAccountMigrationInventoryWorker=d,d.once("error",a=>{console.error("[account migration controller] inventory worker failed to start",a)}),d.once("exit",(b,c)=>{if(a2.__llvAccountMigrationInventoryWorker===d&&(a2.__llvAccountMigrationInventoryWorker=void 0),a2.__llvAccountMigrationInventoryWorkerRestart)return;console.error("[account migration controller] inventory worker exited",{code:b,signal:c});let e=setTimeout(()=>{a2.__llvAccountMigrationInventoryWorkerRestart=void 0,a()},1e3);e.unref?.(),a2.__llvAccountMigrationInventoryWorkerRestart=e})}()}},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
|
|
2
|
+
import io
|
|
3
|
+
import os
|
|
4
|
+
import stat
|
|
5
|
+
import sys
|
|
6
|
+
import threading
|
|
7
|
+
|
|
8
|
+
try:
|
|
9
|
+
_path = os.environ["LLV_TELEGRAM_CONNECTOR_LOG"]
|
|
10
|
+
_limit = int(os.environ["LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES"])
|
|
11
|
+
if _limit <= 0:
|
|
12
|
+
raise ValueError("invalid log limit")
|
|
13
|
+
_flags = os.O_RDWR | os.O_CREAT | os.O_APPEND
|
|
14
|
+
if hasattr(os, "O_NOFOLLOW"):
|
|
15
|
+
_flags |= os.O_NOFOLLOW
|
|
16
|
+
_fd = os.open(_path, _flags, 0o600)
|
|
17
|
+
_info = os.fstat(_fd)
|
|
18
|
+
if not stat.S_ISREG(_info.st_mode) or (_info.st_mode & 0o077):
|
|
19
|
+
raise PermissionError("unsafe connector log")
|
|
20
|
+
if hasattr(os, "getuid") and _info.st_uid != os.getuid():
|
|
21
|
+
raise PermissionError("connector log owner mismatch")
|
|
22
|
+
except Exception as _error:
|
|
23
|
+
raise SystemExit("connector log sink unavailable") from _error
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def _write_all(data):
|
|
27
|
+
view = memoryview(data)
|
|
28
|
+
while view:
|
|
29
|
+
written = os.write(_fd, view)
|
|
30
|
+
view = view[written:]
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class _BoundedConnectorLog(io.TextIOBase):
|
|
34
|
+
encoding = "utf-8"
|
|
35
|
+
errors = "backslashreplace"
|
|
36
|
+
|
|
37
|
+
def __init__(self):
|
|
38
|
+
self._lock = threading.Lock()
|
|
39
|
+
|
|
40
|
+
def writable(self):
|
|
41
|
+
return True
|
|
42
|
+
|
|
43
|
+
def isatty(self):
|
|
44
|
+
return False
|
|
45
|
+
|
|
46
|
+
def fileno(self):
|
|
47
|
+
return _fd
|
|
48
|
+
|
|
49
|
+
def flush(self):
|
|
50
|
+
return None
|
|
51
|
+
|
|
52
|
+
def write(self, value):
|
|
53
|
+
if not isinstance(value, str):
|
|
54
|
+
value = str(value)
|
|
55
|
+
data = value.encode(self.encoding, self.errors)
|
|
56
|
+
if not data:
|
|
57
|
+
return len(value)
|
|
58
|
+
with self._lock:
|
|
59
|
+
fcntl.flock(_fd, fcntl.LOCK_EX)
|
|
60
|
+
try:
|
|
61
|
+
size = os.fstat(_fd).st_size
|
|
62
|
+
if len(data) >= _limit:
|
|
63
|
+
tail = data[-_limit:]
|
|
64
|
+
os.ftruncate(_fd, 0)
|
|
65
|
+
_write_all(tail)
|
|
66
|
+
elif size + len(data) > _limit:
|
|
67
|
+
keep = _limit - len(data)
|
|
68
|
+
prior = os.pread(_fd, keep, max(0, size - keep))
|
|
69
|
+
os.ftruncate(_fd, 0)
|
|
70
|
+
_write_all(prior[-keep:] + data)
|
|
71
|
+
else:
|
|
72
|
+
_write_all(data)
|
|
73
|
+
finally:
|
|
74
|
+
fcntl.flock(_fd, fcntl.LOCK_UN)
|
|
75
|
+
return len(value)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
_sink = _BoundedConnectorLog()
|
|
79
|
+
sys.stdout = _sink
|
|
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)}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3587,exports.ids=[3587],exports.modules={3587:(a,b,c)=>{c.d(b,{WH:()=>H,C9:()=>S,aM:()=>Z,pA:()=>W,jk:()=>V,cw:()=>X,L5:()=>Y});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(63657),l=c(89940),m=c(33839);let n="viewMode",o="taskPanelOpen",p="idleCollapseMinutes",q="path:",r=a=>`${q}${a}`,s=a=>`favorite:${a}`,t=a=>`fold:${a}`,u=a=>`tray:${a}`;function v(a,b){let c=new Set,d=a;for(;void 0!==b[d]&&!c.has(d);)c.add(d),d=b[d];return d}function w(a,b){return a.startsWith(q)?r(v(a.slice(q.length),b)):a}let x={absent:0,manual:1,pinned:2,expanded:3,hidden:4};function y(a,b){let c=new Map,d=(a,d)=>{let e=v(a,b),f=c.get(e);(void 0===f||(x[d]??0)>(x[f]??0))&&c.set(e,d)};for(let b of a.prefs.hidden)d(b,"hidden");for(let b of a.prefs.expanded)d(b,"expanded");for(let b of a.prefs.manual)d(b,(a.explicitManual??[]).includes(b)?"pinned":"manual");return c}function z(a,b){let c=new Set(a??[]),d=new Set(b??[]);return[...new Set([...c,...d])].filter(a=>c.has(a)!==d.has(a))}function A(a){return[...new Set(a)]}function B(a){return a.pathAliases??{}}function C(a,b){let c=new Set,d=a;for(;void 0!==b[d];){if(c.has(d))throw Error("board path alias cycle");c.add(d),d=b[d]}return d}function D(a,b=B(a)){let c=function(a){let b={};for(let c of Object.keys(a)){let d=C(c,a);c!==d&&(b[c]=d)}return b}(b),d=A(a.prefs.hidden.map(a=>C(a,c))),e=new Set(d),f=a=>A(a.map(a=>C(a,c)).filter(a=>!e.has(a))),g=f(a.prefs.manual),h=new Set(g);return{...a,pathAliases:c,explicitManual:f(a.explicitManual??[]).filter(a=>h.has(a)),prefs:{...a.prefs,manual:g,hidden:d,expanded:f(a.prefs.expanded),favorites:A(a.prefs.favorites??[]),foldedEngineChildIds:A(a.prefs.foldedEngineChildIds??[]),expandedEngineTrayParentIds:A(a.prefs.expandedEngineTrayParentIds??[]),seenAt:Object.fromEntries(Object.entries(a.prefs.seenAt??{}).sort((a,b)=>b[1]-a[1]).slice(0,512)),idleCollapseMinutes:void 0===a.prefs.idleCollapseMinutes?m.i:a.prefs.idleCollapseMinutes}}}function E(a,b){var c;let d,e,f,g=D(a);for(let a of b){if("remap-paths"===a.kind){g=function(a,b,c=!1){let d=B(a),e=b.filter(({from:a,to:b})=>C(a,d)!==C(b,d));if(0===e.length)return D(a);let f=new Set(b.map(({from:a})=>C(a,d))),g=new Set(e.map(({to:a})=>C(a,d))),h=a=>{if(c)return!0;let b=C(a,d);return!g.has(b)||f.has(b)},i=a.prefs.manual.filter(h),j=(a.explicitManual??[]).filter(h),k={...d};for(let{from:a,to:b}of e)k[a]=b;return D({...a,explicitManual:j,prefs:{...a.prefs,manual:i}},k)}(g,a.pairs,a.targetPlacementAuthoritative);continue}if("reconcile-roots"===a.kind){g=function(a,b,c){let d=B(a),e=new Set(c.map(a=>C(a,d))),f=a.prefs.manual.filter(a=>!e.has(a)),g=(a.explicitManual??[]).filter(a=>!e.has(a)),h=new Set([...f,...a.prefs.hidden,...Object.values(d).map(a=>C(a,d))]);for(let a of b.map(a=>C(a,d)))h.has(a)||(f.push(a),h.add(a));return D({...a,explicitManual:g,prefs:{...a.prefs,manual:f}})}(g,a.roots,a.removeManual);continue}if("restore"===a.kind){g=function(a,b,c){let d={...a.prefs,hidden:a.prefs.hidden.filter(a=>a!==b)},e=(a.explicitManual??[]).filter(a=>a!==b);if("auto"===c)return D({...a,explicitManual:e,prefs:d});let f={...d,manual:d.manual.filter(a=>a!==b),expanded:d.expanded.filter(a=>a!==b)};return D({...a,explicitManual:"manual"===c?[...e,b]:e,prefs:"manual"===c?{...f,manual:[...f.manual,b]}:{...f,expanded:[...f.expanded,b]}})}(g,C(a.path,B(g)),a.placement);continue}if("set-favorite"===a.kind){let b=a.favorite?A([...g.prefs.favorites,a.id]):g.prefs.favorites.filter(b=>b!==a.id);g=D({...g,prefs:{...g.prefs,favorites:b}});continue}if("mark-seen"===a.kind){let b=g.prefs.seenAt??{},c=Math.max(b[a.id]??0,Math.floor(a.at));g=D({...g,prefs:{...g.prefs,seenAt:{...b,[a.id]:c}}});continue}if("set-engine-child-fold"===a.kind){let b=g.prefs.foldedEngineChildIds??[],c=a.folded?A([...b,a.id]):b.filter(b=>b!==a.id),d=C(a.path,B(g));g=D({...g,explicitManual:a.folded?(g.explicitManual??[]).filter(a=>a!==d):g.explicitManual,prefs:{...g.prefs,foldedEngineChildIds:c,manual:a.folded?g.prefs.manual.filter(a=>a!==d):g.prefs.manual,expanded:a.folded?g.prefs.expanded.filter(a=>a!==d):g.prefs.expanded}});continue}if("set-engine-tray-expanded"===a.kind){let b=g.prefs.expandedEngineTrayParentIds??[],c=a.expanded?A([...b,a.parentId]):b.filter(b=>b!==a.parentId);g=D({...g,prefs:{...g.prefs,expandedEngineTrayParentIds:c}});continue}if("set-presentation"===a.kind){g=D({...g,prefs:{...g.prefs,...void 0===a.viewMode?{}:{viewMode:a.viewMode},...void 0===a.taskPanelOpen?{}:{taskPanelOpen:a.taskPanelOpen},...void 0===a.idleCollapseMinutes?{}:{idleCollapseMinutes:a.idleCollapseMinutes}}});continue}let b=C(a.path,B(g));g=D({...g,explicitManual:(g.explicitManual??[]).filter(a=>a!==b),prefs:{...g.prefs,manual:g.prefs.manual.filter(a=>a!==b),expanded:g.prefs.expanded.filter(a=>a!==b),hidden:A([...g.prefs.hidden,b])}})}return d=B(c=g),e=new Set(c.prefs.hidden.map(a=>C(a,d))),f=a.prefs.hidden.filter(a=>e.has(C(a,d))),{...c,prefs:{...c.prefs,hidden:A([...f,...c.prefs.hidden])}}}let F=(0,j.BQ)("board.json"),G={manual:[],hidden:[],expanded:[],favorites:[],foldedEngineChildIds:[],expandedEngineTrayParentIds:[],seenAt:{},idleCollapseMinutes:m.i,viewMode:null,taskPanelOpen:!1};class H extends Error{constructor(a="board state unavailable"){super(a)}}function I(a){return Array.isArray(a)&&a.every(a=>"string"==typeof a)}function J(a){var b,c,d;if(!a||"object"!=typeof a||Array.isArray(a))return!1;let e=a.prefs;return 1===a.schemaVersion&&Number.isInteger(a.revision)&&a.revision>=0&&"string"==typeof a.updatedAt&&!!e&&I(e.manual)&&I(e.hidden)&&I(e.expanded)&&(void 0===e.favorites||I(e.favorites))&&(void 0===e.foldedEngineChildIds||I(e.foldedEngineChildIds))&&(void 0===e.expandedEngineTrayParentIds||I(e.expandedEngineTrayParentIds))&&(void 0===e.seenAt||!(!(b=e.seenAt)||"object"!=typeof b||Array.isArray(b))&&Object.values(b).every(a=>"number"==typeof a&&Number.isFinite(a)&&a>=0))&&(void 0===e.idleCollapseMinutes||null===e.idleCollapseMinutes||Number.isInteger(e.idleCollapseMinutes)&&e.idleCollapseMinutes>0&&e.idleCollapseMinutes<=m.d)&&(void 0===a.explicitManual||I(a.explicitManual))&&(void 0===a.pathAliases||!(!(c=a.pathAliases)||"object"!=typeof c||Array.isArray(c))&&Object.values(c).every(a=>"string"==typeof a))&&(void 0===a.keyRevisions||!(!(d=a.keyRevisions)||"object"!=typeof d||Array.isArray(d))&&Object.values(d).every(a=>Number.isInteger(a)&&a>=0))&&(void 0===a.keyRevisionFloor||Number.isInteger(a.keyRevisionFloor)&&a.keyRevisionFloor>=0)&&(null===e.viewMode||"scheme"===e.viewMode||"list"===e.viewMode)&&"boolean"==typeof e.taskPanelOpen}function K(){return{schemaVersion:1,revision:0,updatedAt:new Date(0).toISOString(),pathAliases:{},explicitManual:[],keyRevisions:{},keyRevisionFloor:0,prefs:{...G,manual:[],hidden:[],expanded:[]}}}function L(a,b,c,d=[]){return{...b,schemaVersion:1,revision:c,updatedAt:new Date().toISOString(),pathAliases:b.pathAliases??{},...function(a,b,c,d=[]){let e=b.pathAliases??{},f={};for(let b of[a,...d])for(let[a,c]of Object.entries(b.keyRevisions??{})){let b=w(a,e);f[b]=Math.max(f[b]??0,c)}for(let d of function(a,b){let c=new Set,d=b.pathAliases??{},e=y(a,d),f=y(b,d);for(let a of new Set([...e.keys(),...f.keys()]))(e.get(a)??"absent")!==(f.get(a)??"absent")&&c.add(r(a));for(let d of z(a.prefs.favorites,b.prefs.favorites))c.add(s(d));for(let d of z(a.prefs.foldedEngineChildIds,b.prefs.foldedEngineChildIds))c.add(t(d));for(let d of z(a.prefs.expandedEngineTrayParentIds,b.prefs.expandedEngineTrayParentIds))c.add(u(d));return a.prefs.viewMode!==b.prefs.viewMode&&c.add(n),a.prefs.taskPanelOpen!==b.prefs.taskPanelOpen&&c.add(o),(void 0===a.prefs.idleCollapseMinutes?m.i:a.prefs.idleCollapseMinutes)!==(void 0===b.prefs.idleCollapseMinutes?m.i:b.prefs.idleCollapseMinutes)&&c.add(p),c}(a,b))f[d]=c;let g=function(a){let b=a.pathAliases??{},c=new Set([n,o,p]);for(let d of y(a,b).keys())c.add(r(d));for(let b of a.prefs.favorites??[])c.add(s(b));for(let b of a.prefs.foldedEngineChildIds??[])c.add(t(b));for(let b of a.prefs.expandedEngineTrayParentIds??[])c.add(u(b));return c}(b),h={},i=[];for(let[a,b]of Object.entries(f))g.has(a)?h[a]=b:i.push([a,b]);i.sort((a,b)=>b[1]-a[1]||a[0].localeCompare(b[0]));let j=Math.max(a.keyRevisionFloor??0,...d.map(a=>a.keyRevisionFloor??0));for(let[a,b]of i.slice(0,512))h[a]=b;for(let[,a]of i.slice(512))j=Math.max(j,a);for(let[a,b]of Object.entries(h))!g.has(a)&&b<=j&&delete h[a];return{keyRevisions:h,keyRevisionFloor:j}}(a,b,c,d)}}function M(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if(!b||"object"!=typeof b.projects||null===b.projects||Array.isArray(b.projects))throw new H("invalid board state");if(!Object.values(b.projects).every(J))throw new H("invalid board project state");return{projects:Object.fromEntries(Object.entries(b.projects).map(([a,b])=>[a,{...b,pathAliases:b.pathAliases??{},explicitManual:b.explicitManual??b.prefs.manual,keyRevisions:function(a,b){let c={};for(let[d,e]of Object.entries(a)){let a=w(d,b);c[a]=Math.max(c[a]??0,e)}return c}(b.keyRevisions??{},b.pathAliases??{}),keyRevisionFloor:b.keyRevisionFloor??0,prefs:{...b.prefs,favorites:b.prefs.favorites??[],foldedEngineChildIds:b.prefs.foldedEngineChildIds??[],expandedEngineTrayParentIds:b.prefs.expandedEngineTrayParentIds??[],seenAt:b.prefs.seenAt??{},idleCollapseMinutes:void 0===b.prefs.idleCollapseMinutes?m.i:b.prefs.idleCollapseMinutes}}]))}}catch(a){if("ENOENT"===a.code)return{projects:{}};if(a instanceof H)throw a;throw new H}}function N(a,b){g().mkdirSync(i().dirname(b),{recursive:!0});let c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),d=null;try{d=g().openSync(c,"wx",384),g().writeFileSync(d,JSON.stringify(a,null,2)+"\n","utf8"),g().fsyncSync(d),g().closeSync(d),d=null,g().renameSync(c,b);let e=g().openSync(i().dirname(b),"r");try{g().fsyncSync(e)}finally{g().closeSync(e)}}finally{null!==d&&g().closeSync(d),g().rmSync(c,{force:!0})}}function O(a){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,a)}function P(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if("number"==typeof b.pid&&Number.isInteger(b.pid)&&b.pid>0){let c,d="string"==typeof b.startIdentity?b.startIdentity:null;return!k.B.pidAlive(b.pid)||(null!==d?(c=k.B.processIdentity(b.pid),null!==c&&c!==d):Date.now()-g().statSync(a).mtimeMs>3e4)}return Date.now()-g().statSync(a).mtimeMs>3e4}catch{try{return Date.now()-g().statSync(a).mtimeMs>3e4}catch{return!1}}}function Q(a,b){try{JSON.parse(g().readFileSync(a,"utf8")).token===b&&g().rmSync(a,{force:!0})}catch{}}function R(a,b){let c=`${a}.write-lock`,d=`${a}.write-locks`;g().mkdirSync(d,{recursive:!0,mode:448});let f={pid:process.pid,startIdentity:k.B.processIdentity(process.pid),token:e().randomUUID()},h=i().join(d,`${String(Date.now()).padStart(16,"0")}-${process.pid}-${e().randomUUID()}.json`);g().writeFileSync(h,JSON.stringify(f),{encoding:"utf8",flag:"wx",mode:384});try{for(let a=0;a<1e3;a+=1){let a,e=[];for(let a of g().readdirSync(d).filter(a=>a.endsWith(".json")).sort()){let b=i().join(d,a);if(P(b)){g().rmSync(b,{force:!0});continue}g().existsSync(b)&&e.push(b)}if(e[0]!==h){O(5);continue}try{a=g().openSync(c,"wx",384)}catch(a){if("EEXIST"!==a.code)throw a;P(c)&&g().rmSync(c,{force:!0}),O(5);continue}try{return g().writeFileSync(a,JSON.stringify(f),"utf8"),g().fsyncSync(a),b()}finally{g().closeSync(a),Q(c,f.token)}}throw new H("board state is busy")}finally{Q(h,f.token)}}function S(a,b=F){return M(b).projects[(0,l.G$)(a)]??K()}function T(a,b){return JSON.stringify({prefs:a.prefs,pathAliases:a.pathAliases??{},explicitManual:a.explicitManual??[]})===JSON.stringify({prefs:b.prefs,pathAliases:b.pathAliases??{},explicitManual:b.explicitManual??[]})}function U(a,b,c,d){return R(d,()=>{let e=M(d),f=e.projects[a]??K(),g=c(f);if(T(f,g))return{ok:!0,applied:!1,board:f};if(f.revision!==b)return{ok:!1,board:f};let h=L(f,g,f.revision+1);return e.projects[a]=h,N(e,d),{ok:!0,applied:!0,board:h}})}function V(a,b,c,d=F){return U((0,l.G$)(a),b,a=>{let b;return b=void 0===c.hidden?a.prefs.hidden:[...new Set([...a.prefs.hidden,...c.hidden])],E({...a,explicitManual:void 0===c.manual?a.explicitManual:c.manual,prefs:{...a.prefs,...c,hidden:b}},[])},d)}function W(a,b,c,d=F){return U((0,l.G$)(a),b,a=>E(a,c),d)}function X(a,b,c={}){var d,e;let f=c.filePath??null??F;return d=(0,l.G$)(a),e=a=>{if(0===b.length||b.every(({from:b,to:c})=>a.pathAliases?.[b]===c))return a;let d=c.provisionalManual?.filter(b=>a.pathAliases?.[b]===void 0&&a.prefs.manual.includes(b))??[],e=[];return d.length&&e.push({kind:"reconcile-roots",roots:[],removeManual:d}),e.push({kind:"remap-paths",pairs:b,targetPlacementAuthoritative:c.targetPlacementAuthoritative}),E(a,e)},R(f,()=>{let a=M(f),b=a.projects[d]??K(),c=e(b);if(T(b,c))return b;let g=L(b,c,b.revision+1);return a.projects[d]=g,N(a,f),g})}function Y(a,b=F){0!==a.length&&R(b,()=>{let c=M(b),d=!1;for(let b of a){if(b.fromProject===b.toProject)continue;let a=c.projects[b.fromProject];if(!a)continue;let e=E(a,[]),f=E(c.projects[b.toProject]??K(),[]);for(let a of[...new Set(b.paths)]){let b=Object.entries(e.pathAliases??{}).filter(([,b])=>b===a);if(b.length>0&&(f=E({...f,pathAliases:{...f.pathAliases??{},...Object.fromEntries(b)}},[])),!(e.prefs.hidden.includes(a)||e.prefs.expanded.includes(a)||e.prefs.manual.includes(a))&&0===b.length)continue;let c=e.prefs.hidden.includes(a)?"hidden":e.prefs.expanded.includes(a)?"expanded":e.prefs.manual.includes(a)?"manual":"auto",d=f.prefs.hidden.includes(a)?"hidden":f.prefs.expanded.includes(a)?"expanded":f.prefs.manual.includes(a)?"manual":"auto",g="hidden"===c||"hidden"===d?"hidden":"auto"!==d?d:c,h=(e.explicitManual??[]).includes(a)||(f.explicitManual??[]).includes(a);e={...e,explicitManual:(e.explicitManual??[]).filter(b=>b!==a),pathAliases:Object.fromEntries(Object.entries(e.pathAliases??{}).filter(([,b])=>b!==a)),prefs:{...e.prefs,manual:e.prefs.manual.filter(b=>b!==a),hidden:e.prefs.hidden.filter(b=>b!==a),expanded:e.prefs.expanded.filter(b=>b!==a)}};let i={...f.prefs,manual:f.prefs.manual.filter(b=>b!==a),hidden:f.prefs.hidden.filter(b=>b!==a),expanded:f.prefs.expanded.filter(b=>b!==a)};f={...f,explicitManual:"manual"===g&&h?[...(f.explicitManual??[]).filter(b=>b!==a),a]:(f.explicitManual??[]).filter(b=>b!==a),prefs:"hidden"===g?{...i,hidden:[...i.hidden,a]}:"expanded"===g?{...i,expanded:[...i.expanded,a]}:"manual"===g?{...i,manual:[...i.manual,a]}:i}}T(a,e)||(c.projects[b.fromProject]=L(a,e,a.revision+1),d=!0);let g=c.projects[b.toProject]??K();T(g,f)||(c.projects[b.toProject]=L(g,f,g.revision+1),d=!0)}d&&N(c,b)})}function Z(a,b=(0,j.BQ)("board.json")){return 0===a.size||R(b,()=>{let c=M(b),d=!1,e=!0,f=new Map;for(let[b,c]of a)b!==c&&f.set(c,[...f.get(c)??[],b]);for(let[a,b]of f){let f=b.flatMap(a=>c.projects[a]?[c.projects[a]]:[]);if(0===f.length)continue;let g=c.projects[a];if(!g&&1===f.length){for(let d of(c.projects[a]=f[0],b))delete c.projects[d];d=!0;continue}try{let e=g?[g,...f]:f,h=function(a){let b=a.map((a,b)=>({state:a,index:b,timestamp:Date.parse(a.updatedAt)})).sort((a,b)=>(Number.isFinite(a.timestamp)?a.timestamp:0)-(Number.isFinite(b.timestamp)?b.timestamp:0)||a.index-b.index).map(({state:a})=>a),c=b.reduce((a,b)=>({...a,...b.pathAliases??{}}),{}),d=new Map,e=null,f=!1,g=c;for(let a of b){let b=E({...a,pathAliases:c},[]);for(let a of(g=b.pathAliases??{},["manual","hidden","expanded"]))for(let c of b.prefs[a])d.delete(c),d.set(c,a);e=b.prefs.viewMode,f=b.prefs.taskPanelOpen}let h={manual:[],hidden:[],expanded:[],favorites:[...new Set(b.flatMap(a=>a.prefs.favorites??[]))],foldedEngineChildIds:[...new Set(b.flatMap(a=>a.prefs.foldedEngineChildIds??[]))],expandedEngineTrayParentIds:[...new Set(b.flatMap(a=>a.prefs.expandedEngineTrayParentIds??[]))],seenAt:function(a){let b={};for(let c of a)for(let[a,d]of Object.entries(c??{}))b[a]=Math.max(b[a]??0,d);return b}(b.map(a=>a.prefs.seenAt)),viewMode:e,taskPanelOpen:f};for(let[a,b]of d)h[b].push(a);let i=new Set(h.manual),j=[...new Set(b.flatMap(a=>a.explicitManual??[]))].map(a=>g[a]??a).filter(a=>i.has(a));return{...b.at(-1),pathAliases:g,explicitManual:j,prefs:h}}(e),i=L(g??K(),h,Math.max(...e.map(a=>a.revision))+1,f);for(let d of(c.projects[a]=g&&T(g,i)&&JSON.stringify({keys:g.keyRevisions??{},floor:g.keyRevisionFloor??0})===JSON.stringify({keys:i.keyRevisions??{},floor:i.keyRevisionFloor??0})?g:i,b))delete c.projects[d];d=!0}catch{e=!1;continue}}return d&&N(c,b),e})}},33839:(a,b,c)=>{c.d(b,{d:()=>e,i:()=>d});let d=120,e=43200}};
|
|
1
|
+
"use strict";exports.id=3587,exports.ids=[3587],exports.modules={3587:(a,b,c)=>{c.d(b,{WH:()=>H,C9:()=>S,aM:()=>Z,pA:()=>W,jk:()=>V,cw:()=>X,L5:()=>Y});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(63657),l=c(89940),m=c(33839);let n="viewMode",o="taskPanelOpen",p="idleCollapseMinutes",q="path:",r=a=>`${q}${a}`,s=a=>`favorite:${a}`,t=a=>`fold:${a}`,u=a=>`tray:${a}`;function v(a,b){let c=new Set,d=a;for(;void 0!==b[d]&&!c.has(d);)c.add(d),d=b[d];return d}function w(a,b){return a.startsWith(q)?r(v(a.slice(q.length),b)):a}let x={absent:0,manual:1,pinned:2,expanded:3,hidden:4};function y(a,b){let c=new Map,d=(a,d)=>{let e=v(a,b),f=c.get(e);(void 0===f||(x[d]??0)>(x[f]??0))&&c.set(e,d)};for(let b of a.prefs.hidden)d(b,"hidden");for(let b of a.prefs.expanded)d(b,"expanded");for(let b of a.prefs.manual)d(b,(a.explicitManual??[]).includes(b)?"pinned":"manual");return c}function z(a,b){let c=new Set(a??[]),d=new Set(b??[]);return[...new Set([...c,...d])].filter(a=>c.has(a)!==d.has(a))}function A(a){return[...new Set(a)]}function B(a){return a.pathAliases??{}}function C(a,b){let c=new Set,d=a;for(;void 0!==b[d];){if(c.has(d))throw Error("board path alias cycle");c.add(d),d=b[d]}return d}function D(a,b=B(a)){let c=function(a){let b={};for(let c of Object.keys(a)){let d=C(c,a);c!==d&&(b[c]=d)}return b}(b),d=A(a.prefs.hidden.map(a=>C(a,c))),e=new Set(d),f=a=>A(a.map(a=>C(a,c)).filter(a=>!e.has(a))),g=f(a.prefs.manual),h=new Set(g);return{...a,pathAliases:c,explicitManual:f(a.explicitManual??[]).filter(a=>h.has(a)),prefs:{...a.prefs,manual:g,hidden:d,expanded:f(a.prefs.expanded),favorites:A(a.prefs.favorites??[]),foldedEngineChildIds:A(a.prefs.foldedEngineChildIds??[]),expandedEngineTrayParentIds:A(a.prefs.expandedEngineTrayParentIds??[]),seenAt:Object.fromEntries(Object.entries(a.prefs.seenAt??{}).sort((a,b)=>b[1]-a[1]).slice(0,512)),idleCollapseMinutes:void 0===a.prefs.idleCollapseMinutes?m.i:a.prefs.idleCollapseMinutes}}}function E(a,b){var c;let d,e,f,g=D(a);for(let a of b){if("remap-paths"===a.kind){g=function(a,b,c=!1){let d=B(a),e=b.filter(({from:a,to:b})=>C(a,d)!==C(b,d));if(0===e.length)return D(a);let f=new Set(b.map(({from:a})=>C(a,d))),g=new Set(e.map(({to:a})=>C(a,d))),h=a=>{if(c)return!0;let b=C(a,d);return!g.has(b)||f.has(b)},i=a.prefs.manual.filter(h),j=(a.explicitManual??[]).filter(h),k={...d};for(let{from:a,to:b}of e)k[a]=b;return D({...a,explicitManual:j,prefs:{...a.prefs,manual:i}},k)}(g,a.pairs,a.targetPlacementAuthoritative);continue}if("reconcile-roots"===a.kind){g=function(a,b,c){let d=B(a),e=new Set(c.map(a=>C(a,d))),f=a.prefs.manual.filter(a=>!e.has(a)),g=(a.explicitManual??[]).filter(a=>!e.has(a)),h=new Set([...f,...a.prefs.hidden,...Object.values(d).map(a=>C(a,d))]);for(let a of b.map(a=>C(a,d)))h.has(a)||(f.push(a),h.add(a));return D({...a,explicitManual:g,prefs:{...a.prefs,manual:f}})}(g,a.roots,a.removeManual);continue}if("restore"===a.kind){g=function(a,b,c){let d={...a.prefs,hidden:a.prefs.hidden.filter(a=>a!==b)},e=(a.explicitManual??[]).filter(a=>a!==b);if("auto"===c)return D({...a,explicitManual:e,prefs:d});let f={...d,manual:d.manual.filter(a=>a!==b),expanded:d.expanded.filter(a=>a!==b)};return D({...a,explicitManual:"manual"===c?[...e,b]:e,prefs:"manual"===c?{...f,manual:[...f.manual,b]}:{...f,expanded:[...f.expanded,b]}})}(g,C(a.path,B(g)),a.placement);continue}if("set-favorite"===a.kind){let b=a.favorite?A([...g.prefs.favorites,a.id]):g.prefs.favorites.filter(b=>b!==a.id);g=D({...g,prefs:{...g.prefs,favorites:b}});continue}if("mark-seen"===a.kind){let b=g.prefs.seenAt??{},c=Math.max(b[a.id]??0,Math.floor(a.at));g=D({...g,prefs:{...g.prefs,seenAt:{...b,[a.id]:c}}});continue}if("set-engine-child-fold"===a.kind){let b=g.prefs.foldedEngineChildIds??[],c=a.folded?A([...b,a.id]):b.filter(b=>b!==a.id),d=C(a.path,B(g));g=D({...g,explicitManual:a.folded?(g.explicitManual??[]).filter(a=>a!==d):g.explicitManual,prefs:{...g.prefs,foldedEngineChildIds:c,manual:a.folded?g.prefs.manual.filter(a=>a!==d):g.prefs.manual,expanded:a.folded?g.prefs.expanded.filter(a=>a!==d):g.prefs.expanded}});continue}if("set-engine-tray-expanded"===a.kind){let b=g.prefs.expandedEngineTrayParentIds??[],c=a.expanded?A([...b,a.parentId]):b.filter(b=>b!==a.parentId);g=D({...g,prefs:{...g.prefs,expandedEngineTrayParentIds:c}});continue}if("set-presentation"===a.kind){g=D({...g,prefs:{...g.prefs,...void 0===a.viewMode?{}:{viewMode:a.viewMode},...void 0===a.desktopBoard?{}:{desktopBoard:a.desktopBoard},...void 0===a.taskPanelOpen?{}:{taskPanelOpen:a.taskPanelOpen},...void 0===a.idleCollapseMinutes?{}:{idleCollapseMinutes:a.idleCollapseMinutes}}});continue}let b=C(a.path,B(g));g=D({...g,explicitManual:(g.explicitManual??[]).filter(a=>a!==b),prefs:{...g.prefs,manual:g.prefs.manual.filter(a=>a!==b),expanded:g.prefs.expanded.filter(a=>a!==b),hidden:A([...g.prefs.hidden,b])}})}return d=B(c=g),e=new Set(c.prefs.hidden.map(a=>C(a,d))),f=a.prefs.hidden.filter(a=>e.has(C(a,d))),{...c,prefs:{...c.prefs,hidden:A([...f,...c.prefs.hidden])}}}let F=(0,j.BQ)("board.json"),G={manual:[],hidden:[],expanded:[],favorites:[],foldedEngineChildIds:[],expandedEngineTrayParentIds:[],seenAt:{},idleCollapseMinutes:m.i,viewMode:null,taskPanelOpen:!1};class H extends Error{constructor(a="board state unavailable"){super(a)}}function I(a){return Array.isArray(a)&&a.every(a=>"string"==typeof a)}function J(a){var b,c,d;if(!a||"object"!=typeof a||Array.isArray(a))return!1;let e=a.prefs;return 1===a.schemaVersion&&Number.isInteger(a.revision)&&a.revision>=0&&"string"==typeof a.updatedAt&&!!e&&I(e.manual)&&I(e.hidden)&&I(e.expanded)&&(void 0===e.favorites||I(e.favorites))&&(void 0===e.foldedEngineChildIds||I(e.foldedEngineChildIds))&&(void 0===e.expandedEngineTrayParentIds||I(e.expandedEngineTrayParentIds))&&(void 0===e.seenAt||!(!(b=e.seenAt)||"object"!=typeof b||Array.isArray(b))&&Object.values(b).every(a=>"number"==typeof a&&Number.isFinite(a)&&a>=0))&&(void 0===e.idleCollapseMinutes||null===e.idleCollapseMinutes||Number.isInteger(e.idleCollapseMinutes)&&e.idleCollapseMinutes>0&&e.idleCollapseMinutes<=m.d)&&(void 0===a.explicitManual||I(a.explicitManual))&&(void 0===a.pathAliases||!(!(c=a.pathAliases)||"object"!=typeof c||Array.isArray(c))&&Object.values(c).every(a=>"string"==typeof a))&&(void 0===a.keyRevisions||!(!(d=a.keyRevisions)||"object"!=typeof d||Array.isArray(d))&&Object.values(d).every(a=>Number.isInteger(a)&&a>=0))&&(void 0===a.keyRevisionFloor||Number.isInteger(a.keyRevisionFloor)&&a.keyRevisionFloor>=0)&&(null===e.viewMode||"scheme"===e.viewMode||"list"===e.viewMode)&&(void 0===e.desktopBoard||null===e.desktopBoard||"string"==typeof e.desktopBoard)&&"boolean"==typeof e.taskPanelOpen}function K(){return{schemaVersion:1,revision:0,updatedAt:new Date(0).toISOString(),pathAliases:{},explicitManual:[],keyRevisions:{},keyRevisionFloor:0,prefs:{...G,manual:[],hidden:[],expanded:[]}}}function L(a,b,c,d=[]){return{...b,schemaVersion:1,revision:c,updatedAt:new Date().toISOString(),pathAliases:b.pathAliases??{},...function(a,b,c,d=[]){let e=b.pathAliases??{},f={};for(let b of[a,...d])for(let[a,c]of Object.entries(b.keyRevisions??{})){let b=w(a,e);f[b]=Math.max(f[b]??0,c)}for(let d of function(a,b){let c=new Set,d=b.pathAliases??{},e=y(a,d),f=y(b,d);for(let a of new Set([...e.keys(),...f.keys()]))(e.get(a)??"absent")!==(f.get(a)??"absent")&&c.add(r(a));for(let d of z(a.prefs.favorites,b.prefs.favorites))c.add(s(d));for(let d of z(a.prefs.foldedEngineChildIds,b.prefs.foldedEngineChildIds))c.add(t(d));for(let d of z(a.prefs.expandedEngineTrayParentIds,b.prefs.expandedEngineTrayParentIds))c.add(u(d));return a.prefs.viewMode!==b.prefs.viewMode&&c.add(n),(a.prefs.desktopBoard??null)!==(b.prefs.desktopBoard??null)&&c.add("desktopBoard"),a.prefs.taskPanelOpen!==b.prefs.taskPanelOpen&&c.add(o),(void 0===a.prefs.idleCollapseMinutes?m.i:a.prefs.idleCollapseMinutes)!==(void 0===b.prefs.idleCollapseMinutes?m.i:b.prefs.idleCollapseMinutes)&&c.add(p),c}(a,b))f[d]=c;let g=function(a){let b=a.pathAliases??{},c=new Set([n,o,p]);for(let d of y(a,b).keys())c.add(r(d));for(let b of a.prefs.favorites??[])c.add(s(b));for(let b of a.prefs.foldedEngineChildIds??[])c.add(t(b));for(let b of a.prefs.expandedEngineTrayParentIds??[])c.add(u(b));return c}(b),h={},i=[];for(let[a,b]of Object.entries(f))g.has(a)?h[a]=b:i.push([a,b]);i.sort((a,b)=>b[1]-a[1]||a[0].localeCompare(b[0]));let j=Math.max(a.keyRevisionFloor??0,...d.map(a=>a.keyRevisionFloor??0));for(let[a,b]of i.slice(0,512))h[a]=b;for(let[,a]of i.slice(512))j=Math.max(j,a);for(let[a,b]of Object.entries(h))!g.has(a)&&b<=j&&delete h[a];return{keyRevisions:h,keyRevisionFloor:j}}(a,b,c,d)}}function M(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if(!b||"object"!=typeof b.projects||null===b.projects||Array.isArray(b.projects))throw new H("invalid board state");if(!Object.values(b.projects).every(J))throw new H("invalid board project state");return{projects:Object.fromEntries(Object.entries(b.projects).map(([a,b])=>[a,{...b,pathAliases:b.pathAliases??{},explicitManual:b.explicitManual??b.prefs.manual,keyRevisions:function(a,b){let c={};for(let[d,e]of Object.entries(a)){let a=w(d,b);c[a]=Math.max(c[a]??0,e)}return c}(b.keyRevisions??{},b.pathAliases??{}),keyRevisionFloor:b.keyRevisionFloor??0,prefs:{...b.prefs,favorites:b.prefs.favorites??[],foldedEngineChildIds:b.prefs.foldedEngineChildIds??[],expandedEngineTrayParentIds:b.prefs.expandedEngineTrayParentIds??[],seenAt:b.prefs.seenAt??{},idleCollapseMinutes:void 0===b.prefs.idleCollapseMinutes?m.i:b.prefs.idleCollapseMinutes}}]))}}catch(a){if("ENOENT"===a.code)return{projects:{}};if(a instanceof H)throw a;throw new H}}function N(a,b){g().mkdirSync(i().dirname(b),{recursive:!0});let c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),d=null;try{d=g().openSync(c,"wx",384),g().writeFileSync(d,JSON.stringify(a,null,2)+"\n","utf8"),g().fsyncSync(d),g().closeSync(d),d=null,g().renameSync(c,b);let e=g().openSync(i().dirname(b),"r");try{g().fsyncSync(e)}finally{g().closeSync(e)}}finally{null!==d&&g().closeSync(d),g().rmSync(c,{force:!0})}}function O(a){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,a)}function P(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if("number"==typeof b.pid&&Number.isInteger(b.pid)&&b.pid>0){let c,d="string"==typeof b.startIdentity?b.startIdentity:null;return!k.B.pidAlive(b.pid)||(null!==d?(c=k.B.processIdentity(b.pid),null!==c&&c!==d):Date.now()-g().statSync(a).mtimeMs>3e4)}return Date.now()-g().statSync(a).mtimeMs>3e4}catch{try{return Date.now()-g().statSync(a).mtimeMs>3e4}catch{return!1}}}function Q(a,b){try{JSON.parse(g().readFileSync(a,"utf8")).token===b&&g().rmSync(a,{force:!0})}catch{}}function R(a,b){let c=`${a}.write-lock`,d=`${a}.write-locks`;g().mkdirSync(d,{recursive:!0,mode:448});let f={pid:process.pid,startIdentity:k.B.processIdentity(process.pid),token:e().randomUUID()},h=i().join(d,`${String(Date.now()).padStart(16,"0")}-${process.pid}-${e().randomUUID()}.json`);g().writeFileSync(h,JSON.stringify(f),{encoding:"utf8",flag:"wx",mode:384});try{for(let a=0;a<1e3;a+=1){let a,e=[];for(let a of g().readdirSync(d).filter(a=>a.endsWith(".json")).sort()){let b=i().join(d,a);if(P(b)){g().rmSync(b,{force:!0});continue}g().existsSync(b)&&e.push(b)}if(e[0]!==h){O(5);continue}try{a=g().openSync(c,"wx",384)}catch(a){if("EEXIST"!==a.code)throw a;P(c)&&g().rmSync(c,{force:!0}),O(5);continue}try{return g().writeFileSync(a,JSON.stringify(f),"utf8"),g().fsyncSync(a),b()}finally{g().closeSync(a),Q(c,f.token)}}throw new H("board state is busy")}finally{Q(h,f.token)}}function S(a,b=F){return M(b).projects[(0,l.G$)(a)]??K()}function T(a,b){return JSON.stringify({prefs:a.prefs,pathAliases:a.pathAliases??{},explicitManual:a.explicitManual??[]})===JSON.stringify({prefs:b.prefs,pathAliases:b.pathAliases??{},explicitManual:b.explicitManual??[]})}function U(a,b,c,d){return R(d,()=>{let e=M(d),f=e.projects[a]??K(),g=c(f);if(T(f,g))return{ok:!0,applied:!1,board:f};if(f.revision!==b)return{ok:!1,board:f};let h=L(f,g,f.revision+1);return e.projects[a]=h,N(e,d),{ok:!0,applied:!0,board:h}})}function V(a,b,c,d=F){return U((0,l.G$)(a),b,a=>{let b;return b=void 0===c.hidden?a.prefs.hidden:[...new Set([...a.prefs.hidden,...c.hidden])],E({...a,explicitManual:void 0===c.manual?a.explicitManual:c.manual,prefs:{...a.prefs,...c,hidden:b}},[])},d)}function W(a,b,c,d=F){return U((0,l.G$)(a),b,a=>E(a,c),d)}function X(a,b,c={}){var d,e;let f=c.filePath??null??F;return d=(0,l.G$)(a),e=a=>{if(0===b.length||b.every(({from:b,to:c})=>a.pathAliases?.[b]===c))return a;let d=c.provisionalManual?.filter(b=>a.pathAliases?.[b]===void 0&&a.prefs.manual.includes(b))??[],e=[];return d.length&&e.push({kind:"reconcile-roots",roots:[],removeManual:d}),e.push({kind:"remap-paths",pairs:b,targetPlacementAuthoritative:c.targetPlacementAuthoritative}),E(a,e)},R(f,()=>{let a=M(f),b=a.projects[d]??K(),c=e(b);if(T(b,c))return b;let g=L(b,c,b.revision+1);return a.projects[d]=g,N(a,f),g})}function Y(a,b=F){0!==a.length&&R(b,()=>{let c=M(b),d=!1;for(let b of a){if(b.fromProject===b.toProject)continue;let a=c.projects[b.fromProject];if(!a)continue;let e=E(a,[]),f=E(c.projects[b.toProject]??K(),[]);for(let a of[...new Set(b.paths)]){let b=Object.entries(e.pathAliases??{}).filter(([,b])=>b===a);if(b.length>0&&(f=E({...f,pathAliases:{...f.pathAliases??{},...Object.fromEntries(b)}},[])),!(e.prefs.hidden.includes(a)||e.prefs.expanded.includes(a)||e.prefs.manual.includes(a))&&0===b.length)continue;let c=e.prefs.hidden.includes(a)?"hidden":e.prefs.expanded.includes(a)?"expanded":e.prefs.manual.includes(a)?"manual":"auto",d=f.prefs.hidden.includes(a)?"hidden":f.prefs.expanded.includes(a)?"expanded":f.prefs.manual.includes(a)?"manual":"auto",g="hidden"===c||"hidden"===d?"hidden":"auto"!==d?d:c,h=(e.explicitManual??[]).includes(a)||(f.explicitManual??[]).includes(a);e={...e,explicitManual:(e.explicitManual??[]).filter(b=>b!==a),pathAliases:Object.fromEntries(Object.entries(e.pathAliases??{}).filter(([,b])=>b!==a)),prefs:{...e.prefs,manual:e.prefs.manual.filter(b=>b!==a),hidden:e.prefs.hidden.filter(b=>b!==a),expanded:e.prefs.expanded.filter(b=>b!==a)}};let i={...f.prefs,manual:f.prefs.manual.filter(b=>b!==a),hidden:f.prefs.hidden.filter(b=>b!==a),expanded:f.prefs.expanded.filter(b=>b!==a)};f={...f,explicitManual:"manual"===g&&h?[...(f.explicitManual??[]).filter(b=>b!==a),a]:(f.explicitManual??[]).filter(b=>b!==a),prefs:"hidden"===g?{...i,hidden:[...i.hidden,a]}:"expanded"===g?{...i,expanded:[...i.expanded,a]}:"manual"===g?{...i,manual:[...i.manual,a]}:i}}T(a,e)||(c.projects[b.fromProject]=L(a,e,a.revision+1),d=!0);let g=c.projects[b.toProject]??K();T(g,f)||(c.projects[b.toProject]=L(g,f,g.revision+1),d=!0)}d&&N(c,b)})}function Z(a,b=(0,j.BQ)("board.json")){return 0===a.size||R(b,()=>{let c=M(b),d=!1,e=!0,f=new Map;for(let[b,c]of a)b!==c&&f.set(c,[...f.get(c)??[],b]);for(let[a,b]of f){let f=b.flatMap(a=>c.projects[a]?[c.projects[a]]:[]);if(0===f.length)continue;let g=c.projects[a];if(!g&&1===f.length){for(let d of(c.projects[a]=f[0],b))delete c.projects[d];d=!0;continue}try{let e=g?[g,...f]:f,h=function(a){let b=a.map((a,b)=>({state:a,index:b,timestamp:Date.parse(a.updatedAt)})).sort((a,b)=>(Number.isFinite(a.timestamp)?a.timestamp:0)-(Number.isFinite(b.timestamp)?b.timestamp:0)||a.index-b.index).map(({state:a})=>a),c=b.reduce((a,b)=>({...a,...b.pathAliases??{}}),{}),d=new Map,e=null,f=null,g=!1,h=c;for(let a of b){let b=E({...a,pathAliases:c},[]);for(let a of(h=b.pathAliases??{},["manual","hidden","expanded"]))for(let c of b.prefs[a])d.delete(c),d.set(c,a);e=b.prefs.viewMode,f=b.prefs.desktopBoard??null,g=b.prefs.taskPanelOpen}let i={manual:[],hidden:[],expanded:[],favorites:[...new Set(b.flatMap(a=>a.prefs.favorites??[]))],foldedEngineChildIds:[...new Set(b.flatMap(a=>a.prefs.foldedEngineChildIds??[]))],expandedEngineTrayParentIds:[...new Set(b.flatMap(a=>a.prefs.expandedEngineTrayParentIds??[]))],seenAt:function(a){let b={};for(let c of a)for(let[a,d]of Object.entries(c??{}))b[a]=Math.max(b[a]??0,d);return b}(b.map(a=>a.prefs.seenAt)),viewMode:e,...f?{desktopBoard:f}:{},taskPanelOpen:g};for(let[a,b]of d)i[b].push(a);let j=new Set(i.manual),k=[...new Set(b.flatMap(a=>a.explicitManual??[]))].map(a=>h[a]??a).filter(a=>j.has(a));return{...b.at(-1),pathAliases:h,explicitManual:k,prefs:i}}(e),i=L(g??K(),h,Math.max(...e.map(a=>a.revision))+1,f);for(let d of(c.projects[a]=g&&T(g,i)&&JSON.stringify({keys:g.keyRevisions??{},floor:g.keyRevisionFloor??0})===JSON.stringify({keys:i.keyRevisions??{},floor:i.keyRevisionFloor??0})?g:i,b))delete c.projects[d];d=!0}catch{e=!1;continue}}return d&&N(c,b),e})}},33839:(a,b,c)=>{c.d(b,{d:()=>e,i:()=>d});let d=120,e=43200}};
|