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 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=3953,exports.ids=[3953],exports.modules={23953:(a,b,c)=>{c.d(b,{$q:()=>B,FE:()=>q,Mt:()=>p,VW:()=>s,Vv:()=>j,c1:()=>t,g8:()=>A,k8:()=>C,oN:()=>v,t3:()=>o});var d=c(72294),e=c(88623);let f=Object.freeze(["viewer"]),g=Object.freeze(["viewer","telegram"]),h=Object.freeze([...g]),i=Object.freeze([...f]),j="operator-scheduled-report",k=Object.freeze(["viewer","telegram"]),l=Object.freeze({grantable:g,operatorRoot:h,delegated:i}),m=/^[^\s\p{Cc}]{1,128}$/u;function n(a){return["viewer",...new Set(a.filter(a=>"viewer"!==a))]}function o(a,b=l){if(void 0===a)return{ok:!0,value:[...f]};if(!Array.isArray(a)||!a.every(a=>"string"==typeof a&&m.test(a)))return{ok:!1,error:"mcpServers must be an array of non-empty server names"};let c=a.filter(a=>!b.grantable.includes(a));return c.length>0?{ok:!1,error:`mcpServers may only contain ${b.grantable.join(", ")}; rejected: ${[...new Set(c)].join(", ")}`}:{ok:!0,value:n(a)}}function p(a,b=l){let c=function(a,b=l){return"operator-root"===a?b.operatorRoot:b.delegated}(a.origin,b);return n((null==a.requested?c:c.filter(b=>a.requested.includes(b))).filter(a=>b.grantable.includes(a)))}function q(a,b=l){return a.grantActive?n(k.filter(a=>b.grantable.includes(a))):[...f]}function r(a){return"delegated"===(0,d.GU)(a)?"delegated":a.origin?.kind==="operator"||0===a.delegationDepth?"operator-root":"delegated"}function s(a,b=l){return p({origin:r(a),requested:a.requested},b)}function t(a,b=l){return Array.isArray(a)?n(a.filter(a=>"string"==typeof a&&b.grantable.includes(a))):[...f]}function u(a){return 1===a.length&&"viewer"===a[0]}function v(a){let b=a=>Array.isArray(a)&&!u(a);return!!a&&"object"==typeof a&&(!!b(a.launchProfile?.mcpServers)||!!Array.isArray(a.generations)&&a.generations.some(a=>{let c=a?.launchProfile;return b(c?.mcpServers)}))}function w(a,b){return a.length===b.length&&a.every((a,c)=>a===b[c])}function x(a,b,c){let d=new Map,g=new Map,h=new Map,i=new Map;for(let[k,l]of Object.entries(a.conversations)){let m=a.lineageEdges?.[k],n=!!(m?.parentConversationId&&m.parentConversationId!==k);for(let a of(i.set(k,r({parentConversationId:l.generations.at(-1)?.launchProfile.parentConversationId??null,agentRole:l.agentRole,delegationDepth:l.delegationDepth})),l.generations)){var j;let i=(j=l.engine,(0,e.pp)({engine:j,sessionId:a.id})),k=function(a,b,c,d){let e=b.launchProfile.mcpServers;if(u(e))return e;let g=r({parentConversationId:b.launchProfile.parentConversationId,agentRole:a.agentRole,delegationDepth:a.delegationDepth});return d&&"delegated"!==g?[...f]:p({origin:g,requested:e},c)}(l,a,b,n);c&&!w(a.launchProfile.mcpServers,k)&&(a.launchProfile.mcpServers=k);let m=n?"delegated":r({parentConversationId:a.launchProfile.parentConversationId,agentRole:l.agentRole,delegationDepth:l.delegationDepth});if(h.has(i)?h.get(i)!==m&&h.set(i,null):h.set(i,m),d.has(i)){let a=d.get(i);null!==a&&w(a,k)||d.set(i,null)}else d.set(i,k);let o=a.path;o&&(g.has(o)?g.get(o)!==i&&g.set(o,null):g.set(o,i))}}return{grants:d,pathOwner:g,origins:h,conversationOrigins:i}}function y(a,b,c){if(b.key&&(0,e.pp)({engine:b.key.engine,sessionId:b.key.sessionId})!==a)return null;if(b.artifactPath){let d=c.pathOwner.get(b.artifactPath);if(void 0!==d&&d!==a)return null}if(c.grants.has(a))return c.grants.get(a)}function z(a,b,c){let d=x(a,b,!0);for(let[b,e]of Object.entries(a.entries)){let a=e.launchProfile?.mcpServers;if(!a||u(a))continue;let g=y(b,e,d);if(void 0===g&&!c)continue;let h=g??f;w(a,h)||(e.launchProfile.mcpServers=[...h])}let g=function(a,b){let c=new Map,d=(a,b)=>{let d=c.get(a)??new Set;d.add(b),c.set(a,d)};for(let[b,c]of Object.entries(a.lineageEdges??{})){if(!c.parentConversationId||c.parentConversationId===b)continue;let a=c.evidence?.launchId;"string"==typeof a&&a&&d(a,"delegated")}for(let[c,f]of Object.entries(a.receipts??{})){let g=f.conversationId;if(g){let e=a.lineageEdges?.[g];e?.parentConversationId&&e.parentConversationId!==g&&d(c,"delegated");let f=b.conversationOrigins.get(g);f&&d(c,f)}if(!f.key)continue;let h=(0,e.pp)({engine:f.key.engine,sessionId:f.key.sessionId});if(!b.origins.has(h))continue;let i=b.origins.get(h);if(i)d(c,i);else for(let a of["operator-root","delegated"])d(c,a)}return c}(a,d);for(let[c,d]of Object.entries(a.receipts??{})){let a=d.launchProfile?.mcpServers;if(!a||u(a))continue;let e=function(a,b,c,d){let e=r({agentRole:c.agentRole,delegationDepth:c.delegationDepth,parentConversationId:c.parentConversationId}),f=a.get(b);return f&&(f.size>1||!f.has(e))?null:p({origin:e,requested:c.launchProfile.mcpServers},d)}(g,c,d,b)??f;w(a,e)||(d.launchProfile.mcpServers=[...e])}return a}function A(a,b=l){return z(a,b,!1)}function B(a,b=l){return z(a,b,!0)}function C(a,b,c=l){let d=(0,e.pp)({engine:b.engine,sessionId:b.sessionId}),g=a.entries[d],h=g?.launchProfile?.mcpServers;if(!g||!h||u(h))return;let i=y(d,g,x(a,c,!1))??f;w(h,i)||(g.launchProfile.mcpServers=[...i])}},72294:(a,b,c)=>{c.d(b,{GU:()=>i,QN:()=>m,jh:()=>j,sJ:()=>l,sN:()=>g,wE:()=>k});let d=Object.freeze(["computer-use"]),e=Object.freeze(["computer-use"]),f=Object.freeze([]),g=Object.freeze([]),h=Object.freeze({"computer-use":Object.freeze(["computer-use"])});function i(a){let b=a.origin?.kind;if(void 0!==b&&"operator"!==b||a.parentConversationId||a.agentRole)return"delegated";let c=a.delegationDepth;return"number"==typeof c&&0!==c?"delegated":"operator-root"}function j(a){if(null==a)return{ok:!0,value:null};if(!Array.isArray(a)||a.some(a=>"string"!=typeof a))return{ok:!1,error:"plugins must be an array of plugin names"};let b=a.filter(a=>!d.includes(a));return b.length>0?{ok:!1,error:`plugins may only contain ${d.join(", ")}; rejected: ${[...new Set(b)].join(", ")}`}:{ok:!0,value:[...new Set(a)]}}function k(a){if(void 0!==a.engine&&"codex"!==a.engine)return[];let b="operator-root"===a.origin?e:f;return(null==a.requested?b:b.filter(b=>a.requested.includes(b))).filter(a=>d.includes(a))}function l(a){return Array.isArray(a)?[...new Set(a.filter(a=>d.includes(a)))]:[]}function m(a){return[...new Set(a.flatMap(a=>h[a]??[]))]}},88623:(a,b,c)=>{c.d(b,{ce:()=>g,pp:()=>h,sz:()=>i});var d=c(76760),e=c.n(d);let f=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;function g(a,b){let c,d=(c=b.match(f)?.[0])&&c.length===b.length?c.toLowerCase():null;return d?{engine:a,sessionId:d}:null}function h(a){return`${a.engine}:${a.sessionId}`}function i(a,b){let c=e().basename(b).match(f);return c?g(a,c[0]):null}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=411,exports.ids=[411],exports.modules={40411:(a,b,c)=>{c.d(b,{W:()=>h,applyConversationAction:()=>l});var d=c(12500),e=c(10167),f=c(50201),g=c(78181);let h=["interrupt","kill","resume","compact","dialog-key"],i={registry:d.agentRegistry,structuredEnabled:()=>(0,f.cM)(),dispatchStructuredControl:g.Z,interruptConversation:e.F5,killConversation:e.yv,resumeConversation:e.X$,compactConversation:e.LJ,answerDialogKey:e.m3};function j(a,b){return{status:b,body:{error:a}}}function k(a){if(a.ok)return{status:200,body:a};let{status:b,...c}=a;return{status:b,body:c}}async function l(a,b=i){if(!h.includes(a.action))return j("unsupported conversation action",400);if(a.conversationId&&!a.conversationId.startsWith("conversation_"))return j("invalid conversation id",400);let c=b.registry(),d=a.conversationId?c.conversation(a.conversationId):null,e=a.transcriptPath?c.conversationForPath(a.transcriptPath):null;if(a.conversationId&&!d)return j("viewer conversation is unknown",404);if(d&&a.transcriptPath&&(!new Set([...d.generations.map(a=>a.path),...d.continuityPaths]).has(a.transcriptPath)||e?.id!==d.id))return j("conversation identity does not own transcript path",409);let f=d??e,g=d?.generations.at(-1)?.path??a.transcriptPath;if("kill"===a.action&&function(a,b){let c=b?.generations.at(-1)?.launchProfile.parentConversationId??null;if(!b||!c||c===b.id)return!1;let d=a.canonicalConversationId(b.id),e=a.readOnlySnapshot().lineageEdges[d];return e?.source!=="viewer-spawn"}(c,f))return{status:409,body:{ok:!1,outcome:"failed",code:"branch-shares-root-host",error:"branch conversations share their root runtime host; dismiss the branch card or terminate the root conversation explicitly"}};if(b.structuredEnabled()){let c=await b.dispatchStructuredControl({path:g,conversationId:f?.id??a.conversationId,action:a.action,operationId:a.operationId});if(c)return c}if(!g)return j("conversationId or transcriptPath is required",400);if("interrupt"===a.action)return k(await b.interruptConversation(g));if("kill"===a.action){let a=await b.killConversation(g);return a.ok&&!a.target?k({ok:!1,outcome:"failed",error:"kill resolved no registered pane",status:409}):k(a)}return"resume"===a.action?k(await b.resumeConversation(g)):"compact"===a.action?k(await b.compactConversation(g)):k(await b.answerDialogKey(g,a.key??"",a.label,a.question))}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=4191,exports.ids=[4191],exports.modules={24191:(a,b,c)=>{c.d(b,{q:()=>$,Nm:()=>_,vx:()=>aa});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(23855),l=c(52509),m=c(45442),n=c(17341),o=c(67217),p=c(31421),q=c(71277),r=c(44502),s=c(92806),t=c(78082);function u(){return new DOMException("file scan cancelled","AbortError")}function v(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function w(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 x=globalThis;function y(a,b={},c=new AbortController().signal){let d={...b,persist:a.persist,...a.fresh?{fresh:!0}:{}};if(c.aborted)return Promise.reject(A(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===w())return(0,o.SW)(void 0,{...d,signal:c}).then(a=>{if(c.aborted)throw A(c.reason);return a});let{onResourceSnapshot:e,...f}=d;return function(a,b,c={}){if(c.signal?.aborted)return Promise.reject(u());let d=c.launch??w(c.cwd);if(!d)return Promise.reject(Error("this process has no file scanner worker artifact"));let e=(0,t.FX)(!1),f=void 0===c.launch&&g().existsSync("/usr/bin/nice"),h=(0,p.spawn)(f?"/usr/bin/nice":d.executable,[...f?["-n","10",d.executable]:[],d.workerPath],{cwd:c.cwd??process.cwd(),stdio:["pipe","pipe","pipe"],env:{...(0,s.Fd)(c.env??process.env),LLV_FILE_SCANNER_WORKER:"1"}});return new Promise((d,f)=>{let g,i,j=c.scheduler??q.Lr,k=!1,l=!1,m="",n="",o=0,p=null,s=null,w=(a,b)=>{k||(k=!0,void 0!==i&&(j.clearTimeout(i),i=void 0),l&&(c.signal?.removeEventListener("abort",z),l=!1),a?f(a):d(b))},x=a=>{if(!k&&!s){s=a;try{h.kill("SIGKILL")}catch{}(null!==h.exitCode||null!==h.signalCode)&&w(a)}},y=a=>{x(Error(a))},z=()=>x(u()),A=()=>{for(;;){let a,c=m.indexOf("\n");if(c<0)return;let d=m.slice(0,c);if(m=m.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 v(a)&&("resource"===a.type||"complete"===a.type)&&v(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,p=b}}};i=j.setTimeout(()=>{i=void 0,y("file scanner worker timed out")},c.timeoutMs??3e5),h.once("error",a=>w(a)),h.stdout.setEncoding("utf8"),h.stdout.on("data",a=>{(o+=Buffer.byteLength(a))>0x2000000?y("file scanner worker exceeded output limit"):(m+=a,A())}),h.stderr.setEncoding("utf8"),h.stderr.on("data",a=>{n=`${n}${a}`,Buffer.byteLength(n)>4096&&(n=Buffer.from(n).subarray(-4096).toString("utf8"))}),h.once("close",(a,b)=>{if(!k){if(s)return void w(s);if(A(),0!==a||!p){let c=n.trim();w(Error(`file scanner worker exited before completion (${b??a??"unknown"})${c?`: ${c}`:""}`));return}if(g){let a=(0,t.pu)(e);(0,t.OQ)(g,e,p.complete),a&&(c.transcriptIndexScheduler??r.O)({complete:p.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,p)}}),h.stdin.once("error",a=>{s||w(a)}),c.signal&&(c.signal.addEventListener("abort",z,{once:!0}),l=!0,c.signal.aborted&&z()),h.stdin.end(JSON.stringify({type:"scan",options:a}))})}(f,e,{signal:c})}let z=(a,b)=>y(a,{},b);function A(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function B(a,b){if(b.settled||b.subscribers>0||(b.controller.abort(A()),b.started))return;let c=a.queue.indexOf(b);c>=0&&a.queue.splice(c,1),b.settled=!0,b.reject(A())}async function C(a={},b=z){var c,d;let e=x.__llvFileScanCoordinator??={generation:0,queue:[],startScheduled:!1};if(a.signal?.aborted)throw A(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?(B(e,i),Promise.reject(A(d.reason))):(i.subscribers+=1,new Promise((a,b)=>{let c=!0,f=()=>{c&&(c=!1,d?.removeEventListener("abort",g),i.subscribers-=1,B(e,i))},g=()=>{f(),b(A(d?.reason))};d?.addEventListener("abort",g,{once:!0}),i.promise.then(b=>{c&&(f(),a(structuredClone(b)))},a=>{c&&(f(),b(a))})}))}function D(...a){return y(...a)}let E="files-scan-snapshot.json",F=-1/0,G=globalThis;function H(a){return"object"==typeof a&&null!==a}function I(a){if(!H(a)||!0!==a.complete||!Array.isArray(a.files)||!Array.isArray(a.projectCatalog))return!1;let b=a.files.every(a=>{var b;return!!H(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||!!H(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||H(a.pendingQuestion))&&(null===a.waitingInput||H(a.waitingInput))}),c=a.projectCatalog.every(a=>H(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 J(a){let b,c="create state directory",d=(0,j.BQ)(E);try{let f=(0,j.BQ)(E);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-F>=6e4){F=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 K(a){return H(a)&&"promise"in a?K(a.promise):H(a)&&"function"==typeof a.then?Promise.resolve(a):void 0}function L(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 M(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function N(a,b){return b?.aborted?Promise.reject(M(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(M()))},g=()=>{f(),d(M(b?.reason))};b?.addEventListener("abort",g,{once:!0}),a.promise.then(a=>{e&&(f(),c(a))},a=>{e&&(f(),d(a))})}))}async function O(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 P(a,b,c,d,e){let f=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,g="ordinary"===c||"cold"===c;return O(a,b,c,async()=>{let c=await C({fresh:f,join:g,signal:e},(b,c)=>D(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&&J(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 Q(a,b,c){let d=new AbortController,e=P(a,b,c,void 0,d.signal);return L(a,b,e,e,d)}function R(a,b,c){var d;let e,f,g,h,i,j,k;return d=(d,e)=>P(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)}),L(a,b,k,i,g)}function S(a,b){let c=!1,d=!1,e=new AbortController,f=new Promise(a=>setImmediate(a)).then(()=>{if(c=!0,e.signal.aborted)throw M(e.signal.reason);if(d){if(!a.snapshot)throw Error("deferred file scan canceled without a completed snapshot");return a.snapshot}return P(a,b,"ordinary",void 0,e.signal)}),g=L(a,b,f,f,e);return g.cancelBeforeStart=()=>!c&&(d=!0,!0),g}async function T(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=O(a,b,d,async()=>{let d=await C({fresh:f,join:!1,exclusive:!0,signal:e.signal},(a,b)=>D(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&&J(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 L(a,b,g,g,e)}(a,b,c,d):Q(a,b,d));await N(f,e)}return a.snapshot}function U(a,b){let c=a.pinnedSnapshots?.get(b);if(c)return a.pinnedSnapshots.delete(b),a.pinnedSnapshots.set(b,c),c}function V(a,b,c,d){let e=performance.now(),f=b?U(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 W(a){return a.requestedGeneration+=1,a.requestedGeneration}function X(a){a.catch(()=>void 0)}function Y(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 Z(){let a=(G.__llvFilesRouteScans??=new Map,G.__llvFilesRouteScans),b=a.get("");if(void 0===b){let b=function(){try{let a=JSON.parse(g().readFileSync((0,j.BQ)(E),"utf8"));if(!H(a)||1!==a.version||10!==a.schemaVersion||!I(a.snapshot))return;return a.snapshot}catch{return}}();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)(E)).mtimeMs}catch{return 0}}():0};return a.set("",c),c}let c=function(a){if(H(a)&&10===a.schemaVersion&&Number.isSafeInteger(a.snapshotGeneration)&&Number.isSafeInteger(a.requestedGeneration)){let b=K(a.refresh);return!b||a.refresh?.controller&&Number.isSafeInteger(a.refresh.subscribers)||L(a,a.refresh?.generation??0,b),a}let b=H(a)?a:{},c={schemaVersion:10,snapshot:I(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=K(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});L(c,0,a)}return c}(b);return a.delete(""),a.set("",c),c}async function $(a,b,c=Date.now(),d,e){let f=Z();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 V(f,g,a,f.refresh?"stale":"hit")}let k=void 0!==e&&e<=f.requestedGeneration?e:void 0;if(void 0!==k)g&&(k=Y(f,g,k));else if(void 0!==d){let a;f.forcedRevision===d&&void 0!==f.forcedGeneration?a=f.forcedGeneration:(a=W(f),f.forcedRevision=d,f.forcedGeneration=a),k=a,g&&(k=Y(f,g,a));let b=T(f,k,g,"revision"),c=()=>{f.forcedGeneration===a&&(f.forcedRevision=void 0,f.forcedGeneration=void 0)};if(!f.snapshot)try{return await b,V(f,g,k,"miss")}finally{c()}b.then(c,c)}if(void 0!==k){let a=T(f,k,g,"generation"),b=!f.snapshot;return b?await a:X(a),V(f,g,k,b?"miss":void 0)}if(g){let a,b;f.pinnedSnapshots??=new Map;let d=U(f,g);if(d&&c-d.refreshedAt<1e3)return V(f,g,d.generation);a=f.pinnedGenerations?.get(g),b=f.pinnedSnapshots?.get(g)?.generation??-1;let e=T(f,k=void 0!==a&&a>b?a:Y(f,g,W(f)),g,"pinned"),h=!f.snapshot;return h?await e:X(e),V(f,g,k,h?"miss":void 0)}if(!f.snapshot){k=f.refresh?.generation??W(f);let a=f.refresh??Q(f,k,"cold");return await N(a),V(f,void 0,k,"miss")}return f.refresh?k=f.refresh.generation:c-Math.max(f.refreshedAt,f.ordinaryRefreshRequestedAt??0)>=3e5?(k=W(f),f.ordinaryRefreshRequestedAt=c,S(f,k)):k=f.snapshotGeneration,V(f,void 0,k)}async function _({revalidate:a=!0,signal:b}={}){let c=Z();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=W(c);c.ordinaryRefreshRequestedAt=b,S(c,a)}return V(c,void 0,c.snapshotGeneration)}let d=c.refresh?.generation??W(c),e=c.refresh??Q(c,d,"cold");return await N(e,b),V(c,void 0,d,"miss")}async function aa(){let a,b=Z();b.requestCount=(b.requestCount??0)+1;let c=b.freshObservationGeneration;if(void 0===c){let d=b.refresh;d?.cancelBeforeStart?.()?(c=W(b),b.freshObservationGeneration=c,a=R(b,c,"fresh")):d?c=d.generation:(c=W(b),b.freshObservationGeneration=c)}for(;;){let d=a??b.refresh??R(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 N(d)}}},71277:(a,b,c)=>{c.d(b,{Lr:()=>d,R:()=>e,zf:()=>g});let d={setTimeout:(a,b)=>setTimeout(a,b),clearTimeout:a=>{clearTimeout(a)}};function e(a,b={}){let c,g=b.scheduler??d,h=new AbortController,i=b.signal??null,j=!1,k=()=>{void 0!==c&&(g.clearTimeout(c),c=void 0),j&&(i?.removeEventListener("abort",l),j=!1)};function l(){k(),h.signal.aborted||h.abort(i?.reason)}return i?.aborted?h.abort(i.reason):(i&&(i.addEventListener("abort",l,{once:!0}),j=!0),Number.isFinite(a)&&a>=0&&(c=g.setTimeout(()=>{c=void 0,k(),h.signal.aborted||h.abort(new f(b.reason??"deadline exceeded",a))},a))),{signal:h.signal,release:k}}class f extends Error{constructor(a,b){super(a),this.name="DeadlineExceededError",this.timeoutMs=b}}function g(a){return a instanceof f||"object"==typeof a&&null!==a&&"AbortError"===a.name}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=461,exports.ids=[461],exports.modules={90461:(a,b,c)=>{c.d(b,{applyConversationAction:()=>l});var d=c(3199),e=c(50887),f=c(29966),g=c(61140);let h=["interrupt","kill","resume","compact","dialog-key"],i={registry:d.tk,structuredEnabled:()=>(0,f.cM)(),dispatchStructuredControl:g.Z,interruptConversation:e.F5,killConversation:e.yv,resumeConversation:e.X$,compactConversation:e.LJ,answerDialogKey:e.m3};function j(a,b){return{status:b,body:{error:a}}}function k(a){if(a.ok)return{status:200,body:a};let{status:b,...c}=a;return{status:b,body:c}}async function l(a,b=i){if(!h.includes(a.action))return j("unsupported conversation action",400);if(a.conversationId&&!a.conversationId.startsWith("conversation_"))return j("invalid conversation id",400);let c=b.registry(),d=a.conversationId?c.conversation(a.conversationId):null,e=a.transcriptPath?c.conversationForPath(a.transcriptPath):null;if(a.conversationId&&!d)return j("viewer conversation is unknown",404);if(d&&a.transcriptPath&&(!new Set([...d.generations.map(a=>a.path),...d.continuityPaths]).has(a.transcriptPath)||e?.id!==d.id))return j("conversation identity does not own transcript path",409);let f=d??e,g=d?.generations.at(-1)?.path??a.transcriptPath;if("kill"===a.action&&function(a,b){let c=b?.generations.at(-1)?.launchProfile.parentConversationId??null;if(!b||!c||c===b.id)return!1;let d=a.canonicalConversationId(b.id),e=a.readOnlySnapshot().lineageEdges[d];return e?.source!=="viewer-spawn"}(c,f))return{status:409,body:{ok:!1,outcome:"failed",code:"branch-shares-root-host",error:"branch conversations share their root runtime host; dismiss the branch card or terminate the root conversation explicitly"}};if(b.structuredEnabled()){let c=await b.dispatchStructuredControl({path:g,conversationId:f?.id??a.conversationId,action:a.action,operationId:a.operationId});if(c)return c}if(!g)return j("conversationId or transcriptPath is required",400);if("interrupt"===a.action)return k(await b.interruptConversation(g));if("kill"===a.action){let a=await b.killConversation(g);return a.ok&&!a.target?k({ok:!1,outcome:"failed",error:"kill resolved no registered pane",status:409}):k(a)}return"resume"===a.action?k(await b.resumeConversation(g)):"compact"===a.action?k(await b.compactConversation(g)):k(await b.answerDialogKey(g,a.key??"",a.label,a.question))}}};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=4968,exports.ids=[3302,4968,9937],exports.modules={14968:(a,b,c)=>{c.d(b,{ud:()=>L,Lf:()=>O,Gn:()=>N,tC:()=>P});var d=c(77598),e=c.n(d),f=c(23211),g=c(12500),h=c(32584),i=c(33302),j=c(30402),k=c(35961),l=c(62318),m=c(3127),n=c(4837),o=c(44836),p=c(41022);function q(a,b){let c="string"==typeof a?a.trim():"";if(!c||c.includes(":")||/\s/.test(c)||c.length>200)throw Error(`${b} is invalid`);return c}function r(a,b){return void 0===a?void 0:q(a,b)}function s(a,b){return null==a?a:q(a,b)}function t(a){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("sessionKey is invalid");let b="codex"===a.engine||"claude"===a.engine?a.engine:null,c="string"==typeof a.sessionId?a.sessionId.trim():"";if(!b||!c||c.includes(":")||/\s/.test(c))throw Error("sessionKey is invalid");return{engine:b,sessionId:c}}var u=c(63629),v=c(50201),w=c(83169),x=c(39849),y=c(41778),z=c(19361),A=c(34083),B=c(38855),C=c(93012);let D={enabled:v.Zn,client:m.sS,structuredEnabled:()=>(0,v.cM)(),registry:g.agentRegistry,enqueue:A.enqueueStructuredMessage,recordOperatorActivity:l.d,retireReplySuggestions:j.rB,kick:B.l};async function E(a){if(!a.startsWith("conversation_"))return!1;let b=(0,g.agentRegistry)().conversation(a),c=b?.generations.at(-1);return!!b&&!!c&&(0,y.A)({engine:b.engine,sessionId:c.id})}let F={enabled:()=>(0,v.cM)(),client:m.sS,kick:B.l,republish:E};function G(a,b){return(0,g.agentRegistry)().recordDeliveryRetryAttempt(a,b)}let H="retry attempt could not be recorded durably",I=["pending","queued"];function J(a){return f.NextResponse.json({error:a.readable?H:a.reason,retryable:!0},{status:503})}async function K(a,b,d,l){let u,w,x=(0,k.W)(a);if(x)return x;if(!d.enabled())return f.NextResponse.json({error:"runtime events are disabled"},{status:503});if(!(d.structuredEnabled??(()=>(0,v.cM)()))())return f.NextResponse.json({error:"structured hosts are disabled"},{status:503});try{u=await a.json()}catch{return f.NextResponse.json({error:"invalid JSON"},{status:400})}let y=null;try{let a=u;if(("send"===b||"steer"===b)&&u&&"object"==typeof u&&!Array.isArray(u)){let b=u;if(Array.isArray(b.images)&&b.images.some(a=>a&&"object"==typeof a&&"base64"in a)){let c=(0,C.p)({images:b.images});if(c.error)return f.NextResponse.json({error:c.error.error},{status:c.error.status});let d=(y=c.images).map(a=>{let b=Buffer.from(a.base64,"base64");return{sha256:e().createHash("sha256").update(b).digest("hex"),mime:a.mime,bytes:b.byteLength}});a={...b,images:d}}if(void 0!==b.files&&null!==b.files){let{admitInboxFilePayload:d,buildFilePayload:e,inboxFileBatchToken:g}=await c.e(9403).then(c.bind(c,99403)),h=d({files:b.files});if(h.error)return f.NextResponse.json({error:h.error.error},{status:h.error.status});let i={...a};if(delete i.files,h.files.length){let a=e("string"==typeof i.text?i.text:"",h.files,g("string"==typeof b.idempotencyKey?b.idempotencyKey:null));l.filePaths=a.filePaths,i.text=a.payload}a=i}}w=function(a,b){let c=function(a){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("request body must be an object");return a}(b);if(Buffer.byteLength(JSON.stringify(c))>262144)throw Error("request body exceeds 256 KiB");let d=q(c.conversationId,"conversationId"),e=r(c.operationId,"operationId"),f=q(c.idempotencyKey??e,"idempotencyKey"),g=s(c.turnId,"turnId");if("send"===a||"steer"===a){let b="string"==typeof c.text?c.text.trim():"",h=void 0===c.images?void 0:c.images,i=void 0===h?[]:(0,p.kW)(h,16);if(!i)throw Error("images are invalid");let j=(0,p.rM)(b,i),k=void 0===c.policy?void 0:c.policy;if(void 0!==k&&"queue"!==k&&"steer-if-active"!==k&&"interrupt-active"!==k)throw Error("policy is invalid");let l=function(a){if(null==a)return;if("object"!=typeof a||Array.isArray(a))throw Error("runtime settings are invalid");let b={};if(void 0!==a.model&&null!==a.model&&""!==a.model){let c=(0,n.wi)({model:a.model});if(c.error)throw Error(c.error);c.model&&(b.model=c.model)}if(void 0!==a.effort&&null!==a.effort&&""!==a.effort){if("string"!=typeof a.effort)throw Error("runtime effort must be a string");let c=a.effort.trim().toLowerCase();if(!c||c.length>32||!/^[a-z]+$/.test(c))throw Error("runtime effort is invalid");b.effort=c}return"boolean"==typeof a.fast&&(b.fast=a.fast),Object.keys(b).length?b:void 0}(c.runtime),m=(0,o.po)(c.selectedContext);return{kind:a,conversationId:d,...e?{operationId:e}:{},idempotencyKey:f,text:j.content.text,...i.length?{images:i}:{},contentDigest:j.contentDigest,...k?{policy:k}:{},...void 0!==g?{turnId:g}:{},...l?{runtime:l}:{},...m?{selectedContext:m}:{}}}if("interrupt"===a)return{kind:a,conversationId:d,...e?{operationId:e}:{},idempotencyKey:f,...void 0!==g?{turnId:g}:{}};if("kill"===a||"compact"===a)return{kind:a,conversationId:d,...e?{operationId:e}:{},idempotencyKey:f,sessionKey:t(c.sessionKey)};if("answer"===a){if(!("resolution"in c))throw Error("resolution is required");return{kind:a,conversationId:d,...e?{operationId:e}:{},idempotencyKey:f,attentionId:q(c.attentionId,"attentionId"),resolution:c.resolution}}if("reconfigure"===a){let b="string"==typeof c.model?c.model.trim():"",g="string"==typeof c.effort?c.effort.trim():"";if(!b||b.length>128||/[\r\n\0]/.test(b))throw Error("reconfigure model is invalid");if(!g||g.length>32||!/^[a-z]+$/.test(g))throw Error("reconfigure effort is invalid");if(null!==c.fast&&"boolean"!=typeof c.fast)throw Error("reconfigure speed is invalid");let h=r(c.accountId,"accountId"),i=void 0===c.sessionKey?void 0:t(c.sessionKey),j=c.previousProfile;if(void 0!==j&&(!j||"object"!=typeof j||Array.isArray(j))||j&&(null!==j.model&&"string"!=typeof j.model||null!==j.effort&&"string"!=typeof j.effort||null!==j.fast&&"boolean"!=typeof j.fast))throw Error("reconfigure previous profile is invalid");return{kind:a,conversationId:d,...e?{operationId:e}:{},idempotencyKey:f,...i?{sessionKey:i}:{},model:b,effort:g,fast:c.fast,...h?{accountId:h}:{},...j?{previousProfile:j}:{}}}let h="codex"===c.engine||"claude"===c.engine?c.engine:null;if(!h)throw Error("engine is invalid");let i="string"==typeof c.cwd?c.cwd.trim():"";if(!i)throw Error("spawn cwd is required");if("string"!=typeof c.prompt)throw Error("prompt is required");let j=c.prompt.trim(),k=void 0===c.images?[]:(0,p.kW)(c.images,16);if(!k)throw Error("images are invalid");let l=j||k.length?(0,p.rM)(j,k):null,m=s(c.accountId,"accountId"),u=s(c.parentConversationId,"parentConversationId"),v=s(c.sessionId,"sessionId");return{kind:a,conversationId:d,...e?{operationId:e}:{},idempotencyKey:f,engine:h,cwd:i,prompt:j,...k.length?{images:k}:{},...l?{contentDigest:l.contentDigest}:{},...void 0!==m?{accountId:m}:{},...void 0!==u?{parentConversationId:u}:{},...void 0!==v?{sessionId:v}:{}}}(b,a)}catch(a){return f.NextResponse.json({error:a instanceof Error?a.message:"runtime command is invalid"},{status:400})}let z=d.client();try{let b=(0,i.kg)(a).ok;if(("send"===w.kind||"steer"===w.kind||"answer"===w.kind)&&b&&d.recordOperatorActivity)try{d.recordOperatorActivity({conversationId:w.conversationId,idempotencyKey:w.idempotencyKey})}catch{return f.NextResponse.json({error:"direct operator activity could not be recorded"},{status:503})}if(("send"===w.kind||"steer"===w.kind)&&b&&(d.retireReplySuggestions??j.rB)(w.conversationId,new Date,w.idempotencyKey),("send"===w.kind||"steer"===w.kind)&&d.enqueue){l.outcome="uncertain";let a=await d.enqueue({path:"",conversationId:w.conversationId,clientMessageId:w.idempotencyKey,...w.operationId?{operationId:w.operationId}:{},kind:w.kind,...w.policy?{policy:w.policy}:{},...void 0!==w.turnId?{turnId:w.turnId}:{},text:w.text,...y?{images:y}:w.images?.length?{imageRefs:w.images}:{},...w.runtime?{runtime:w.runtime}:{},...w.selectedContext?{selectedContext:w.selectedContext}:{},origin:{kind:"operator"}},{enabled:d.structuredEnabled??(()=>(0,v.cM)()),client:()=>z,registry:d.registry??g.agentRegistry,kick:d.kick??B.l});if(a){if(l.outcome=(0,h.N)(a),!a.ok)return f.NextResponse.json({error:a.error,...a.operationId?{operationId:a.operationId}:{},...a.receipt?{receipt:a.receipt}:{}},{status:a.status});if("held"===a.outcome)return f.NextResponse.json({held:!0,operationId:a.operationId},{status:202});let b="pending"===a.receipt.status||"queued"===a.receipt.status?202:200;return f.NextResponse.json({operationId:a.operationId,receipt:a.receipt},{status:b})}return l.outcome="refused",f.NextResponse.json({error:"structured delivery ownership is unavailable for this conversation"},{status:503})}if(!z)return f.NextResponse.json({error:"runtime host socket is unavailable"},{status:503});l.outcome="uncertain";let c=await z.command(w);l.outcome="accepted",("pending"===c.receipt.status||"queued"===c.receipt.status)&&d.kick?.();let e="pending"===c.receipt.status||"queued"===c.receipt.status?202:200;return f.NextResponse.json({operationId:c.operationId,receipt:c.receipt},{status:e})}catch(b){let a=b instanceof m.Hr&&"idempotency-conflict"===b.code?409:503;return f.NextResponse.json({error:b instanceof Error?b.message:"runtime command failed"},{status:a})}}async function L(a,b,d=D){let e={filePaths:[],outcome:"refused"},f=await K(a,b,d,e);return e.filePaths.length&&(0,h.A)(e.outcome)&&(await c.e(9403).then(c.bind(c,99403))).deleteInboxFiles(e.filePaths),f}let M={client:m.sS,rolledBack:()=>(0,v.ji)(),settle:(a,b)=>(0,x.V$)(a,{client:b})};async function N(a,b=M){if(b.rolledBack())return f.NextResponse.json({error:"runtime events are disabled",code:v._l},{status:503});if(!a||a.includes(":")||/\s/.test(a))return f.NextResponse.json({error:"operationId is invalid"},{status:400});let c=b.client(),d=await (0,w.At)(()=>b.settle(a,c),"delivery settlement is unavailable"),e=d.readable?d.value:null;if(e&&"in-flight"!==e.state)return f.NextResponse.json({operationId:a,receipt:(0,x.Oh)(e),send:e});let g=null;if(c)try{let b=await c.operationStatus(a);if(b&&(d.readable||(0,x.nb)(b.receipt.status,b.receipt.reason)))return f.NextResponse.json({operationId:b.operationId,receipt:b.receipt,...e?{send:e}:{}})}catch(a){g=a instanceof Error?a.message:"runtime host is unavailable"}return e?f.NextResponse.json({operationId:a,receipt:(0,x.Oh)(e),send:e}):d.readable?g?f.NextResponse.json({error:g},{status:503}):c?f.NextResponse.json({error:"operation not found"},{status:404}):f.NextResponse.json({error:"runtime host socket is unavailable",code:v._l},{status:503}):f.NextResponse.json({error:d.reason,retryable:!0},{status:503})}async function O(a,b,c=F){let d=(0,k.W)(a);if(d)return d;if(!c.enabled())return f.NextResponse.json({error:"structured hosts are disabled"},{status:503});if(!b||b.includes(":")||/\s/.test(b))return f.NextResponse.json({error:"operationId is invalid"},{status:400});let e=c.client();if(!e)return f.NextResponse.json({error:"runtime host socket is unavailable"},{status:503});try{let a=await (0,w.At)(()=>e.operationStatus(b,{currentRetryLeaf:!0}),"runtime operation status is unavailable");if(!a.readable)return f.NextResponse.json({error:a.reason,retryable:!0},{status:503});if(!a.value)return f.NextResponse.json({error:"operation not found"},{status:404});let d=a.value;if("send"!==d.receipt.kind&&"steer"!==d.receipt.kind)return f.NextResponse.json({error:"runtime operation does not support discard"},{status:409});if(!d.receipt.conversationId.startsWith("conversation_"))return f.NextResponse.json({error:"runtime operation has no delivery reservation"},{status:409});let h=(c.registry??g.agentRegistry)(),i=d.receipt.presentationOperationId??d.operationId,j=(0,x.ak)(h.readOnlySnapshot(),i),k=()=>(d.receipt.conversationId.startsWith("conversation_")&&h.recordDeliveryOutcomeForOperation(d.receipt.conversationId,d.receipt.presentationOperationId??d.operationId,"delivered"),f.NextResponse.json({operationId:d.operationId,receipt:(0,u.Vu)(d.receipt)}));if((0,x.nb)(d.receipt.status,d.receipt.reason)?.state==="delivered")return k();if("delivering"===d.receipt.status||"applying"===d.receipt.status)return f.NextResponse.json({error:"runtime delivery is being handed over to the agent",operationId:d.operationId,receipt:(0,u.Vu)(d.receipt)},{status:409});let l="unverified";if("pending"===d.receipt.status||"queued"===d.receipt.status)try{d=await e.transitionOperation(d.operationId,"failed",{reason:x.Ks},{fromStatuses:I}),j?.duplicateRisk!==!0&&(l="lost")}catch(b){if(b instanceof Error&&/runtime delivery (?:discard|retry) already won/.test(b.message))throw b;let a=await e.operationStatus(d.operationId);if(!a)throw b;if(d=a,(0,x.nb)(d.receipt.status,d.receipt.reason)?.state==="delivered")return k();if("delivering"===d.receipt.status||"applying"===d.receipt.status)return f.NextResponse.json({error:"runtime delivery is being handed over to the agent",operationId:d.operationId,receipt:(0,u.Vu)(d.receipt)},{status:409});if("uncertain"!==d.receipt.status&&("failed"!==d.receipt.status||d.receipt.reason!==x.Ks))throw b}else{if("uncertain"!==d.receipt.status&&("failed"!==d.receipt.status||d.receipt.reason!==x.Ks)&&!(j?.state==="failed"&&j.duplicateRisk))return f.NextResponse.json({error:"delivery outcome is already resolved"},{status:409});let a=await e.claimDeliveryAction(d.operationId,"discard");if("discard"!==a.winner)return f.NextResponse.json({error:`runtime delivery ${a.winner} already won; discard refused`},{status:409})}h.discardDeliveryForOperation(d.receipt.conversationId,i,x.Ks,l);let m=(0,x.ak)(h.readOnlySnapshot(),i);if(!m||"failed"!==m.state||m.reason!==x.Ks)return f.NextResponse.json({error:"delivery discard could not be recorded durably",retryable:!0},{status:503});let n=(0,x.Oh)(m);return f.NextResponse.json({operationId:i,receipt:{...n,...d.receipt.text?{text:d.receipt.text}:{}},send:m})}catch(c){let a=c instanceof Error?c.message:"runtime operation discard failed",b=/unknown/.test(a)?404:/runtime delivery (?:discard|retry) already won|cannot discard after|moved before its transition/.test(a)?409:503;return f.NextResponse.json({error:a},{status:b})}}async function P(a,b,c=F){let e=(0,k.W)(a);if(e)return e;if(!c.enabled())return f.NextResponse.json({error:"structured hosts are disabled"},{status:503});if(!b||b.includes(":")||/\s/.test(b))return f.NextResponse.json({error:"operationId is invalid"},{status:400});let h=c.client();if(!h)return f.NextResponse.json({error:"runtime host socket is unavailable"},{status:503});try{var i;let e,j,k,l=await a.text();if(l.trim()){let a;try{let b=JSON.parse(l);if(!b||"object"!=typeof b||Array.isArray(b))return f.NextResponse.json({error:"invalid JSON"},{status:400});a=b}catch{return f.NextResponse.json({error:"invalid JSON"},{status:400})}if(void 0!==a.idempotencyKey){if("string"!=typeof a.idempotencyKey||!a.idempotencyKey.trim()||a.idempotencyKey.length>200||/[\r\n]/.test(a.idempotencyKey))return f.NextResponse.json({error:"idempotencyKey is invalid"},{status:400});e=a.idempotencyKey}if(void 0!==a.action){if("retry-uncertain"!==a.action)return f.NextResponse.json({error:"runtime retry action is invalid"},{status:400});j=a.action}if(j&&e)return f.NextResponse.json({error:"uncertain retry keeps the original idempotency key"},{status:400})}let m=c.recordRetryAttempt??G,n=await (0,w.At)(()=>h.operationStatus(b,{currentRetryLeaf:!0}),"runtime operation status is unavailable");if(!n.readable)return f.NextResponse.json({error:n.reason,retryable:!0},{status:503});let o=n.value;if(!o)return f.NextResponse.json({error:"operation not found"},{status:404});if("send"!==o.receipt.kind&&"steer"!==o.receipt.kind)return f.NextResponse.json({error:"runtime operation does not support retry"},{status:409});if("failed"===o.receipt.status&&o.receipt.reason===x.Ks){let a=await h.claimDeliveryAction(o.operationId,"retry");return f.NextResponse.json({error:`runtime delivery ${a.winner} already won; retry refused`},{status:409})}let p=(c.registry??g.agentRegistry)(),q=p.readOnlySnapshot(),r=(0,x.ak)(q,o.operationId);if(o.operationId===b&&"failed"!==o.receipt.status&&"rejected"!==o.receipt.status&&r?.state==="failed"&&"safe"===r.resend&&(o=await h.transitionOperation(b,"failed",{reason:r.reason})),r?.reason===x.Ks)return f.NextResponse.json({error:"discarded runtime operations cannot retry"},{status:409});if("retry-uncertain"===j){if(o.operationId!==b)return f.NextResponse.json({error:"uncertain retry must target its original operation"},{status:409});if("delivering"===o.receipt.status||"applying"===o.receipt.status)return f.NextResponse.json({error:"runtime delivery is being handed over to the agent",operationId:b,receipt:(0,u.Vu)(o.receipt)},{status:409});if(!r)return f.NextResponse.json({error:"runtime operation has no delivery reservation"},{status:409});if("delivered"===r.state||"failed"===r.state&&"verify-first"!==r.resend)return f.NextResponse.json({operationId:b,receipt:(0,x.Oh)(r),send:r});let a=await h.claimDeliveryAction(b,"retry");if("retry"!==a.winner)return f.NextResponse.json({error:`runtime delivery ${a.winner} already won; retry refused`},{status:409});let d=p.retryUncertainDeliveryForOperation(b);if(!d)return f.NextResponse.json({error:"runtime operation has no delivery reservation"},{status:409});if("delivered"===d.state||"failed"===d.state){let a=(0,x.ak)(p.readOnlySnapshot(),b);if(a)return f.NextResponse.json({operationId:b,receipt:(0,x.Oh)(a),send:a});return f.NextResponse.json({error:"delivery outcome is already resolved"},{status:409})}if("assigned"===d.state&&d.generationId&&!p.beginDeliveryAttempt(d.id,d.generationId))return f.NextResponse.json({error:"delivery reservation ownership changed before retry admission",retryable:!0},{status:503});let e=o;return"pending"!==o.receipt.status&&"queued"!==o.receipt.status&&(e=await h.retryOperation(b)),c.kick(),f.NextResponse.json({operationId:b,receipt:(0,u.Vu)(e.receipt)},{status:202})}if("failed"!==o.receipt.status&&"rejected"!==o.receipt.status){if(o.operationId!==b){let a=await (0,w.At)(()=>m(o.receipt.presentationOperationId??b,o.operationId),H);if(!a.readable||!a.value)return J(a);let d="pending"===o.receipt.status||"queued"===o.receipt.status||"delivering"===o.receipt.status?202:200;return 202===d&&c.kick(),f.NextResponse.json({operationId:o.operationId,receipt:(0,u.Vu)(o.receipt)},{status:d})}return f.NextResponse.json({error:"only terminal failed runtime operations can start a new attempt"},{status:409})}e??=(i=o.operationId,`retry_${(0,d.createHash)("sha256").update(i).digest("hex")}`);let s=c.recover??z.recoverDeadStructuredConversation,t=await s({path:"",conversationId:o.receipt.conversationId},{client:h});if(!t||t.conversationId!==o.receipt.conversationId)return f.NextResponse.json({error:"structured recovery ownership is unavailable",retryable:!0},{status:503});await c.republish?.(o.receipt.conversationId);let v=()=>h.retryOperation(o.operationId,e,{requireHostedConversationId:o.receipt.conversationId});try{k=await v()}catch(b){if(!(b instanceof Error)||"structured recovery ownership changed before retry admission"!==b.message)throw b;let a=await s({path:"",conversationId:o.receipt.conversationId},{client:h});if(!a||a.conversationId!==o.receipt.conversationId)throw Error("structured recovery ownership is unavailable");await c.republish?.(o.receipt.conversationId),k=await v()}let y=await (0,w.At)(()=>m(o.receipt.presentationOperationId??o.operationId,k.operationId),H);if(!y.readable||!y.value)return J(y);return c.kick(),f.NextResponse.json({operationId:k.operationId,receipt:(0,u.Vu)(k.receipt)},{status:202})}catch(d){let a=d instanceof Error?d.message:"runtime operation retry failed",b=503;d instanceof m.Hr&&"idempotency-conflict"===d.code?b=409:/unknown/.test(a)?b=404:/only failed|terminal failed|fresh idempotency|does not support|runtime delivery (?:discard|retry) already won/.test(a)&&(b=409);let c="structured recovery ownership changed before retry admission"===a;return f.NextResponse.json({error:a,...c?{retryable:!0}:{}},{status:b})}}},30402:(a,b,c)=>{c.d(b,{ao:()=>p,rB:()=>s}),c(77598);var d=c(73024),e=c.n(d),f=c(91724),g=c(65154),h=c(2033);function i(){return(0,f.BQ)("reply-suggestions.json")}function j(a){return{schemaVersion:1,revision:0,updatedAt:a.toISOString(),sets:[],admissions:[]}}function k(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let{label:b,text:c}=a;return"string"==typeof b&&b.trim()&&"string"==typeof c&&c.trim()?{label:b,text:c}:null}function l(a){let b,c;if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.conversationId||!a.conversationId||"string"!=typeof a.setId||!a.setId||"string"!=typeof a.at||!Number.isFinite(Date.parse(a.at))||!Array.isArray(a.replies))return null;let d=a.replies.map(k).filter(a=>null!==a);return 0===d.length?null:{conversationId:a.conversationId,setId:a.setId,at:a.at,origin:{kind:"manager"===(c=(b=a.origin??{}).kind)||"gateway"===c||"agent"===c?c:"unidentified",conversationId:"string"==typeof b.conversationId?b.conversationId:null,role:"string"==typeof b.role?b.role:null},replies:d.slice(0,6)}}function m(a){return!a||"object"!=typeof a||Array.isArray(a)?null:"string"==typeof a.conversationId&&a.conversationId&&"string"==typeof a.key&&a.key&&"string"==typeof a.at&&Number.isFinite(Date.parse(a.at))?{conversationId:a.conversationId,key:a.key,at:a.at}:null}function n(a=i(),b=new Date){let c,d;try{c=e().readFileSync(a,"utf8")}catch{return j(b)}try{d=JSON.parse(c)}catch{return j(b)}return 1===d.schemaVersion&&Array.isArray(d.sets)?{schemaVersion:1,revision:Number.isInteger(d.revision)?d.revision:0,updatedAt:"string"==typeof d.updatedAt?d.updatedAt:b.toISOString(),sets:d.sets.map(l).filter(a=>null!==a),admissions:Array.isArray(d.admissions)?d.admissions.map(m).filter(a=>null!==a):[]}:j(b)}function o(a,b){let c=i();return(0,h.Ol)(c,"reply suggestions are busy",()=>{let d=n(c,b),e=a(d,b);return(e.sets||e.admissions)&&(0,g.f)(c,{schemaVersion:1,revision:d.revision+1,updatedAt:b.toISOString(),sets:(e.sets??d.sets).slice(-64),admissions:(e.admissions??d.admissions).slice(-128)}),e.result})}function p(a,b=i()){let c=r(a),d=n(b).sets.find(b=>b.conversationId===a)??null;if(!d||!c)return d;let e=Date.parse(d.at);return Number.isFinite(e)&&e>c.at?d:null}c(56809);let q=new Map;function r(a){let b=q.get(a);if(!b)return null;try{return!function(a,b={}){o(c=>{let d=c.sets.find(b=>b.conversationId===a)??null;if(!d)return{result:!1};if(void 0!==b.offeredAtOrBefore){let a=Date.parse(d.at);if(!Number.isFinite(a)||a>b.offeredAtOrBefore.getTime())return{result:!1}}return{sets:c.sets.filter(b=>b.conversationId!==a),result:!0}},b.now??new Date)}(a,{offeredAtOrBefore:new Date(b.at)}),q.delete(a),null}catch{return b}}function s(a,b,c=""){if(!a)return{cleared:!1,pending:!1};let d=c.trim().slice(0,128),e=r(a),f=e&&d&&e.key===d?new Date(e.at):b;try{return{cleared:o(b=>{let c=d?b.admissions.find(b=>b.conversationId===a&&b.key===d)??null:null,e=c?Date.parse(c.at):NaN,g=Number.isFinite(e)?e:f.getTime(),h=b.sets.find(b=>b.conversationId===a)??null,i=h?Date.parse(h.at):NaN,j=null!==h&&Number.isFinite(i)&&i<=g;return{...j?{sets:b.sets.filter(b=>b.conversationId!==a)}:{},...d&&!c?{admissions:[...b.admissions,{conversationId:a,key:d,at:new Date(g).toISOString()}]}:{},result:j}},new Date),pending:!1}}catch{for(let b of(q.set(a,{at:Math.max(f.getTime(),e?.at??-1/0),key:d}),q.keys())){if(q.size<=64)break;q.delete(b)}return{cleared:!1,pending:!0}}}},32584:(a,b,c)=>{function d(a){return"refused"===a}function e(a){return a.ok?"accepted":!0===a.transportUncertain||a.receipt?.status==="uncertain"?"uncertain":"refused"}c.d(b,{A:()=>d,N:()=>e})},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(12500),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}}},35961:(a,b,c)=>{c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"forbidden: cross-origin request"},{status:403})}},89937:(a,b,c)=>{c.r(b),c.d(b,{OperatorSpawnCapabilityError:()=>l,ensureOperatorSpawnCapability:()=>p,matchesOperatorSpawnCapability:()=>q,operatorSpawnCapabilityPath:()=>m,rotateOperatorSpawnCapability:()=>o});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);let k=/^[A-Za-z0-9_-]{43}$/;class l extends Error{constructor(a,b,c){const d="object"==typeof c&&null!==c&&"code"in c&&"string"==typeof c.code?` (${c.code})`:"";super(`Viewer operator spawn capability ${a} failed at ${b}${d}`),this.name="OperatorSpawnCapabilityError"}}function m(){return(0,j.BQ)("operator-spawn-capability")}function n(){let a=m();try{let b=g().lstatSync(a);if(!b.isFile()||b.isSymbolicLink())return null;let c=g().readFileSync(a,"utf8").trim();if(!k.test(c))return null;return(511&b.mode)!=384&&g().chmodSync(a,384),c}catch(b){if("object"==typeof b&&null!==b&&"code"in b&&"ENOENT"===b.code)return null;throw new l("read",a,b)}}function o(){let a=e().randomBytes(32).toString("base64url"),b=m(),c=i().dirname(b),d=null;try{g().mkdirSync(c,{recursive:!0,mode:448}),d=i().join(c,`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(d,`${a}
|
|
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 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=5408,exports.ids=[5408],exports.modules={15408:(a,b,c)=>{c.d(b,{$p:()=>v,Cp:()=>y,HS:()=>u,Kp:()=>A,T7:()=>x,ho:()=>w,js:()=>z,uV:()=>s,ut:()=>n});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(22962),k=c(91724),l=c(89940);let m=()=>(0,k.BQ)("orchestrator-seats.json");function n(a){return(0,l.G$)(a.trim())}function o(){return{schemaVersion:1,nextSeatEpoch:1,seats:{},pending:{},revocations:[],history:[]}}function p(a){if(!a||"object"!=typeof a||Array.isArray(a)||"operator"!==a.kind&&"agent"!==a.kind)return null;let b="string"==typeof a.conversationId&&a.conversationId?a.conversationId:null,c="number"==typeof a.seatEpoch&&Number.isInteger(a.seatEpoch)&&a.seatEpoch>=1?a.seatEpoch:null;return{kind:a.kind,conversationId:b,seatEpoch:c}}function q(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.project||!a.project||"number"!=typeof a.seatEpoch||!Number.isInteger(a.seatEpoch)||a.seatEpoch<1||null!==a.conversationId&&"string"!=typeof a.conversationId||null!==a.path&&"string"!=typeof a.path||"string"!=typeof a.mandate||"pending"!==a.state&&"active"!==a.state)return null;let b=a.intent;if(!b||"string"!=typeof b.clientRequestId||!b.clientRequestId||"spawn"!==b.mode&&"existing"!==b.mode||"string"!=typeof a.designatedAt||null!==a.activatedAt&&"string"!=typeof a.activatedAt)return null;let c="string"==typeof a.engine&&a.engine.trim()?a.engine:null,d="string"==typeof a.model&&a.model.trim()?a.model:null,e="boolean"==typeof a.runtimeIdentityFrozen?a.runtimeIdentityFrozen:!!(c||d);return{project:a.project,seatEpoch:a.seatEpoch,conversationId:a.conversationId??null,path:a.path??null,engine:c,model:d,runtimeIdentityFrozen:e,mandate:a.mandate,promptVersion:"number"==typeof a.promptVersion&&Number.isInteger(a.promptVersion)?a.promptVersion:null,predecessorConversationId:"string"==typeof a.predecessorConversationId?a.predecessorConversationId:null,triggeredBy:p(a.triggeredBy),state:a.state,intent:{clientRequestId:b.clientRequestId,mode:b.mode,launchId:"string"==typeof b.launchId?b.launchId:null,error:"string"==typeof b.error?b.error:null},designatedAt:a.designatedAt,activatedAt:a.activatedAt??null}}function r(a,b){let c=a[b.project];(!c||b.seatEpoch>c.seatEpoch)&&(a[b.project]=b)}function s(){return function(){let a;try{a=g().readFileSync(m(),"utf8")}catch(a){return a?.code==="ENOENT"?o():null}try{let b=JSON.parse(a);if(1!==b.schemaVersion)return null;let c=o();for(let[a,d]of(c.nextSeatEpoch="number"==typeof b.nextSeatEpoch&&Number.isInteger(b.nextSeatEpoch)&&b.nextSeatEpoch>=1?b.nextSeatEpoch:1,Object.entries(b.seats??{}))){let b=q(d);b&&b.project===a&&"active"===b.state&&b.conversationId&&r(c.seats,{...b,project:n(a)})}for(let[a,d]of Object.entries(b.pending??{})){let b=q(d);b&&b.project===a&&"pending"===b.state&&r(c.pending,{...b,project:n(a)})}for(let a of Array.isArray(b.revocations)?b.revocations:[])"string"==typeof a.project&&"string"==typeof a.conversationId&&"number"==typeof a.seatEpoch&&Number.isInteger(a.seatEpoch)&&"string"==typeof a.revokedAt&&c.revocations.push({project:n(a.project),conversationId:a.conversationId,seatEpoch:a.seatEpoch,revokedAt:a.revokedAt,successorConversationId:"string"==typeof a.successorConversationId?a.successorConversationId:null,triggeredBy:p(a.triggeredBy)});for(let a of Array.isArray(b.history)?b.history:[]){let b=q(a.seat);b&&("terminal_error"===a.reason||"superseded_epoch"===a.reason)&&"string"==typeof a.terminalizedAt&&c.history.push({seat:{...b,project:n(b.project)},reason:a.reason,terminalizedAt:a.terminalizedAt})}let d=Math.max(0,...Object.values(c.seats).map(a=>a.seatEpoch),...Object.values(c.pending).map(a=>a.seatEpoch),...c.revocations.map(a=>a.seatEpoch),...c.history.map(a=>a.seat.seatEpoch));return c.nextSeatEpoch<=d&&(c.nextSeatEpoch=d+1),c}catch{return null}}()??o()}function t(a){var b;let c;b=m(),g().mkdirSync(i().dirname(b),{recursive:!0}),c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),g().writeFileSync(c,JSON.stringify(a,null,2)+"\n","utf8"),g().renameSync(c,b)}function u(a){let b=s(),c=n(a);return{active:b.seats[c]??null,pending:b.pending[c]??null,history:b.history.filter(a=>a.seat.project===c)}}function v(a){return(0,j.oV)(()=>{let b,c=s(),d=n(a.project),e=c.seats[d];if(e&&e.intent.clientRequestId===a.clientRequestId)return{kind:"completed",seat:e};let f=c.pending[d];if(f&&null===f.intent.error&&f.intent.clientRequestId===a.clientRequestId)return{kind:"replay",seat:f};if(f){if(!(null!==f.intent.error||void 0!==e&&f.seatEpoch<e.seatEpoch))return{kind:"in_progress",seat:f};b={seat:f,reason:null!==f.intent.error?"terminal_error":"superseded_epoch",terminalizedAt:a.now??new Date().toISOString()},c.history.push(b),c.history.length>50&&c.history.splice(0,c.history.length-50),delete c.pending[d]}let g={project:d,seatEpoch:c.nextSeatEpoch,conversationId:a.conversationId??null,path:null,engine:a.engine?.trim()||null,model:a.model?.trim()||null,runtimeIdentityFrozen:!!(a.engine?.trim()&&a.model?.trim()),mandate:a.mandate,promptVersion:a.promptVersion??null,predecessorConversationId:null,triggeredBy:a.triggeredBy??null,state:"pending",intent:{clientRequestId:a.clientRequestId,mode:a.mode,launchId:null,error:null},designatedAt:a.now??new Date().toISOString(),activatedAt:null};return c.nextSeatEpoch+=1,c.pending[d]=g,t(c),{kind:"begun",seat:g,...b?{terminalized:b}:{}}})}function w(a){return(0,j.oV)(()=>{let b=s(),c=n(a.project),d=b.seats[c];if(d&&d.intent.clientRequestId===a.clientRequestId)return{kind:"replay",seat:d};let e=b.pending[c];if(!e||e.intent.clientRequestId!==a.clientRequestId)return{kind:"missing"};let f=a.now??new Date().toISOString(),g=null;d&&d.conversationId&&d.conversationId!==a.conversationId&&(g={project:c,conversationId:d.conversationId,seatEpoch:d.seatEpoch,revokedAt:f,successorConversationId:a.conversationId,triggeredBy:e.triggeredBy??null},b.revocations.push(g));let h={...e,conversationId:a.conversationId,path:a.path,engine:e.engine??(a.engine?.trim()||null),model:e.model??(a.model?.trim()||null),runtimeIdentityFrozen:!0===e.runtimeIdentityFrozen||!!(a.engine||a.model),predecessorConversationId:g?.conversationId??e.predecessorConversationId,state:"active",intent:{...e.intent,launchId:a.launchId??e.intent.launchId,error:null},activatedAt:f};return delete b.pending[c],b.seats[c]=h,t(b),{kind:"activated",seat:h,revoked:g}})}function x(a){return(0,j.oV)(()=>{let b=s(),c=n(a.project),d=b.seats[c];if(!d||d.conversationId!==a.conversationId)return null;let e=d.engine??(a.engine?.trim()||null),f=d.model??(a.model?.trim()||null);if(e===d.engine&&f===d.model)return d;let g={...d,engine:e,model:f};return b.seats[c]=g,t(b),g})}function y(a,b,c){(0,j.oV)(()=>{let d=s(),e=n(a),f=d.pending[e];f&&f.intent.clientRequestId===b&&(f.intent.error=c.slice(0,500),t(d))})}function z(){return Object.values(s().seats)}function A(){return s().revocations}}};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=6333,exports.ids=[6333],exports.modules={8668:(a,b,c)=>{c.d(b,{Wp:()=>g,cz:()=>d,mq:()=>h,oM:()=>f,zv:()=>e});let d="Europe/Kyiv",e={enabled:!1,time:"10:00",groups:[],promptIsDefault:!0},f=60;function g(a){return"string"==typeof a&&/^([01]\d|2[0-3]):[0-5]\d$/.test(a)}function h(a){return"string"==typeof a&&/^-?\d{1,20}$/.test(a)}},35961:(a,b,c)=>{c.d(b,{W:()=>g});var d=c(23211);let e=["localhost","127.0.0.1","::1"];function f(a){if(a.startsWith("[")){let b=a.indexOf("]");return -1===b?a:a.slice(1,b)}let b=a.lastIndexOf(":");return -1===b?a:a.slice(0,b)}function g(a){let b=new Set(e),c=process.env.LLV_TS_HOST;c&&b.add(f(c));let d=a.headers.get("host");if(null===d||!b.has(f(d)))return h();let g=a.headers.get("origin");if(null!==g){let a;try{a=new URL(g).host}catch{a=null}if(null===a||!b.has(f(a)))return h()}let i=a.headers.get("sec-fetch-site");return null!==i&&"same-origin"!==i&&"none"!==i?h():null}function h(){return d.NextResponse.json({error:"forbidden: cross-origin request"},{status:403})}},43034:(a,b,c)=>{c.d(b,{wZ:()=>s,tx:()=>t,$S:()=>l,Cl:()=>k});var d=c(68032),e=c(80338),f=c(88714),g=c(21962);function h(a){return"number"!=typeof a||!Number.isFinite(a)||a<=0?null:Math.round(1e3*a)}function i(a){return/^\d+$/.test(a)}async function j(a){let b=await a.listChats({kind:"user",limit:100}),c=new Set,d=[],e=!1;for(let a of b)!c.has(a.id)&&(c.add(a.id),(a.username??"").toLowerCase().endsWith("bot")||d.push({id:a.id,title:a.title}));for(let b=1;b<=3;b+=1){let f=await a.pageChats({page:b,pageSize:100});if(0===f.length)break;for(let a of f)!c.has(a.id)&&i(a.id)&&(c.add(a.id),d.push(a));if(f.length<100)break;3===b&&(e=!0)}return{candidates:d,truncated:e}}async function k(a,b){let c=Date.parse(b.windowStart),d=await a.feedDialogs({sinceMs:c}),e=[],f=new Set;for(let a of d.dialogs)f.has(a.id)||(f.add(a.id),e.push({id:a.id,title:a.title,lastMessageAt:a.lastMessageAt}));let g=await j(a),h=g.candidates.filter(a=>!f.has(a.id)),i=null!==d.coveredSinceMs&&d.coveredSinceMs<=c?300:150,k=0;for(let b of h){if(k>=i)break;let d=await a.lastMessageAt(b.id);k+=1;let f=d?Date.parse(d):NaN;Number.isFinite(f)&&!(f<c)&&e.push({id:b.id,title:b.title,lastMessageAt:new Date(f).toISOString()})}e.sort((a,b)=>Date.parse(b.lastMessageAt)-Date.parse(a.lastMessageAt));let l=k>=i&&h.length>k;if(l||g.truncated)throw Error("Telegram report sources cannot cover this window");return{version:1,promptVersion:b.promptVersion,windowStart:b.windowStart,windowEnd:b.windowEnd,privateDialogs:e.slice(0,25),groups:b.groups.map(a=>({...a})),probes:k,feedDialogs:f.size,truncated:e.length>25,probeBudgetExhausted:l}}async function l(a){let b=await a.listChats({kind:"group",limit:100}),c=new Set,d=[];for(let a of b)c.has(a.id)||(c.add(a.id),d.push({id:a.id,title:a.title}));for(let b=1;b<=3;b+=1){let e=await a.pageChats({page:b,pageSize:100});if(0===e.length)break;for(let a of e)c.has(a.id)||i(a.id)||(c.add(a.id),d.push(a));if(e.length<100)break}return d}function m(a){return(a?.content??[]).filter(a=>a?.type==="text").map(a=>a.text??"").join("\n")}function n(a){try{let b=JSON.parse(m(a));return Array.isArray(b?.results)?b.results:[]}catch{return[]}}async function o(a,b,d){let{Client:e}=await Promise.all([c.e(9901),c.e(9434)]).then(c.bind(c,79434)),{StreamableHTTPClientTransport:g}=await Promise.all([c.e(9901),c.e(5103)]).then(c.bind(c,27484)),h=new e({name:"agent-log-viewer",version:"1.0.0"}),i=new g(new URL((0,f.h3)()),{requestInit:{headers:{Authorization:`Bearer ${a.connectorToken}`}}});try{return await h.connect(i),await h.callTool({name:b,arguments:d})}finally{await h.close().catch(()=>void 0)}}let p={readSession:d.w0,callTool:o,ensureConnector:a=>(0,e.X8)(a),sleep:a=>new Promise(b=>setTimeout(b,a)),now:Date.now};function q(a,b){let c=b.readSession();if(!c)throw Error("Telegram is not connected");if(c.credentialRef!==a)throw Error("Telegram credential generation changed");return c}async function r(a,b,c,d=p){try{return await d.callTool(a,b,c)}catch{}let e=Math.max(1,d.readinessTimeoutMs??3e4),f=d.now()+e,g=250;for(;d.now()<f;){let e,h=q(a.credentialRef,d);try{e=await d.ensureConnector(h)}catch{e={ok:!1,code:"connector_failed"}}if(e.ok){let e=q(a.credentialRef,d);try{return await d.callTool(e,b,c)}catch{}}else if("connector_failed"!==e.code)break;let i=f-d.now();if(i<=0)break;await d.sleep(Math.min(g,i)),g=Math.min(2*g,2e3)}throw Error("Telegram connector is unavailable")}async function s(a,b=p){let c=Math.max(1,b.readinessTimeoutMs??9e4),d=b.now()+c,e=250;for(;b.now()<d;){let c,f;try{c=q(a,b)}catch{return{ready:!1,reason:"refused"}}try{f=await b.ensureConnector(c)}catch{f={ok:!1,code:"connector_failed"}}if(f.ok)return{ready:!0};if("connector_failed"!==f.code)return{ready:!1,reason:"refused"};let g=d-b.now();if(g<=0)break;await b.sleep(Math.min(e,g)),e=Math.min(2*e,2e3)}return{ready:!1,reason:"unavailable"}}function t(a=null,b=p){let c=a,f=async(a,d)=>{let e=b.readSession();if(!e)throw Error("Telegram is not connected");if(c??=e.credentialRef,e.credentialRef!==c)throw Error("Telegram credential generation changed");return await r(e,a,d,b)};return{async getMe(){let a=JSON.parse(m(await f("get_me",{}))),b="string"==typeof a?.name?a.name.trim():"",c=(0,g.S)(a?.id);return b||c?{name:b,username:"string"==typeof a.username&&a.username?a.username:null,id:c}:null},async feedDialogs(a){let b=null;try{let a=m(await f("incoming_feed_status",{}));b=function(a,b){if(!b)return null;let c=function(a){let b;try{b=JSON.parse(a)}catch{return null}let c=b?.enabled===!0||b?.autostart_pending===!0,d="string"==typeof b?.feed_file?b.feed_file.trim():"";return c&&d?d:null}(a);return null!==c&&c===(0,d.ZI)(b)?c:null}(a,c)}catch{}if(!b)throw Error("Telegram incoming feed is unavailable");return{dialogs:function(a,b){if(!a)return[];let c=(0,d.Cx)(a,{chunkBytes:524288,maxBytes:8388608},a=>(function(a,b){for(let c of a.split("\n")){let a;if(!c.trim())continue;try{a=JSON.parse(c)}catch{continue}let d=h(a.ts);if(null!==d&&d<b)return!0}return!1})(a,b));if(null===c)return[];if(!c.complete)throw Error("Telegram incoming feed is larger than one report read");return function(a,b){let c=new Map,d=new Map;for(let f of a.split("\n")){var e;let a;if(!f.trim())continue;try{a=JSON.parse(f)}catch{continue}let g="number"==typeof(e=a.chat_id)?Number.isSafeInteger(e)&&e>0?String(e):null:"string"!=typeof e?null:/^[1-9]\d{0,18}$/.test(e.trim())?e.trim():null;if(!g||"string"==typeof a.username&&a.username.toLowerCase().endsWith("bot"))continue;let i=h(a.ts);if(null===i||i<b)continue;let j=c.get(g);void 0!==j&&j>=i||(c.set(g,i),d.set(g,"string"==typeof a.name&&a.name?a.name.slice(0,120):g))}return[...c.entries()].sort((a,b)=>b[1]-a[1]).map(([a,b])=>({id:a,title:d.get(a)??a,lastMessageAt:new Date(b).toISOString()}))}(c.text,b)}(b,a.sinceMs),coveredSinceMs:null===c?null:(0,e.Yb)(c)}},listChats:async a=>n(await f("list_chats",{chat_type:a.kind,limit:Math.min(a.limit,100)})).map(b=>(function(a,b){let c=a.chat_id;if("number"!=typeof c&&"string"!=typeof c)return null;let d="string"==typeof a.title?a.title:"string"==typeof a.name?a.name:String(c);return{id:String(c),kind:b,title:d,username:"string"==typeof a.username?a.username:null,unread:"number"==typeof a.unread?a.unread:0}})(b,a.kind)).filter(a=>null!==a),pageChats:async a=>n(await f("get_chats",{page:a.page,page_size:Math.min(a.pageSize,100)})).map(a=>{let b=a.chat_id;return"number"!=typeof b&&"string"!=typeof b?null:{id:String(b),title:"string"==typeof a.title?a.title:String(b)}}).filter(a=>null!==a),async lastMessageAt(a){let b=n(await f("list_messages",{chat_id:Number(a),limit:1}))[0],c=b?.date;if("string"!=typeof c)return null;let d=Date.parse(c);return Number.isFinite(d)?new Date(d).toISOString():null}}}},46453:(a,b,c)=>{c.d(b,{VD:()=>w,M2:()=>v});var d=c(77598),e=c.n(d),f=c(4837),g=c(8668),h=c(96101),i=c(55862),j=c(52538),k=c(43034),l=c(10230);function m(a){a().catch(()=>void 0)}let n="127.0.0.1";async function o(a){var b;let[{executeSpawnRequest:d,productionSpawnCommandDependencies:e},{ensureOperatorSpawnCapability:f},{VIEWER_SPAWN_CAPABILITY_HEADER:g}]=await Promise.all([Promise.all([c.e(9940),c.e(107),c.e(2500),c.e(9517),c.e(8966),c.e(1617),c.e(4509),c.e(4565),c.e(8797),c.e(8996),c.e(9822),c.e(3587),c.e(6926),c.e(8176),c.e(1100),c.e(8617),c.e(8991),c.e(6826),c.e(2190),c.e(4127),c.e(3743),c.e(4191),c.e(2318),c.e(7722),c.e(3302)]).then(c.bind(c,67722)),c.e(9937).then(c.bind(c,89937)),c.e(4012).then(c.bind(c,4012))]),h={headers:new Headers({host:n,origin:`http://${n}`,"sec-fetch-site":"same-origin",[g]:f()}),json:async()=>a.body},i=await d(h,{...e,...(b=a.grantActive,{defer:m,internalGrant:()=>({sessionClass:l.Vv,mcpServers:(0,l.FE)({grantActive:b()})})})});return{status:i.status,body:await i.json()}}var p=c(79554),q=c(68032);let r={now:Date.now,connection:()=>{try{return(0,q.Kd)()}catch{return{version:1,status:"error",credentialRef:null,identity:null,lastHealthCheckAt:null,errorCode:"session_unsafe",identityIdUpgradedAt:null}}},readPort:a=>(0,k.tx)(a),beginReadPhase:async()=>{let{telegramService:a}=await Promise.all([c.e(9940),c.e(107),c.e(2500),c.e(9517),c.e(8966),c.e(849)]).then(c.bind(c,70849));return await a().beginReportReadPhase()},connectorReady:a=>(0,k.wZ)(a),migrateIdentity:async function(){try{let{telegramService:a}=await Promise.all([c.e(9940),c.e(107),c.e(2500),c.e(9517),c.e(8966),c.e(849)]).then(c.bind(c,70849));await a().checkHealth()}catch{}},spawn:o,reportRunConversation:async function(a){try{let{agentRegistry:b}=await Promise.all([c.e(9940),c.e(107),c.e(2500)]).then(c.bind(c,12500)),d=b(),e=d.spawnReceiptForClientAttempt((0,j.hS)(a));return e?d.canonicalConversationId(e.conversationId):null}catch{return null}},conversationLive:async function(a){try{let{agentRegistry:b}=await Promise.all([c.e(9940),c.e(107),c.e(2500)]).then(c.bind(c,12500)),d=b().conversation(a);if(!d)return!1;return d.turn?.state!=="terminal"}catch{return!0}},log:a=>console.error(`[telegram report] ${a}`)};function s(a){let b=a.identity?.id;return b&&a.credentialRef?{id:b,credentialRef:a.credentialRef}:null}class t{constructor(a=r){this.ports=a,this.running=!1,this.planning=new Set,this.pending=[]}grantActive(a=null){let b=this.ports.connection();return(null===a||b.credentialRef===a)&&(0,p.rD)().settings.enabled&&"connected"===b.status}payload(){var a;let b=(0,p.rD)(),c=b.active?[{id:(a=b.active).runId,trigger:a.trigger,startedAt:a.startedAt,finishedAt:null,windowStart:a.windowStart,windowEnd:a.windowEnd,status:"running",errorCode:null,conversationId:a.conversationId,hasReport:!1,promptVersion:a.promptVersion},...b.history]:b.history,d=(0,i.jF)({now:this.ports.now(),settings:b.settings,cursor:b.cursor});return{settings:{...b.settings,promptIsDefault:null===b.prompt},history:c,nextRunAt:null===d?null:new Date(d).toISOString()}}async tick(){if(!this.running){this.running=!0;try{this.reconcileDisconnected(),await this.finalizeActiveRun();let a=(0,p.rD)();if(a.active||await this.runOwedConnectorRetry(a)||!(0,i.z1)({now:this.ports.now(),settings:a.settings,cursor:a.cursor}))return;let b=(0,i.l)(this.ports.now(),g.cz);(0,p.k)(a=>{a.cursor.lastScheduledDay=b});let c=this.beginRun("scheduled");c.ok&&await this.execute(c.runId)}catch{this.ports.log("tick_failed")}finally{this.running=!1}}}async runNow(){let a;if(this.running)return{ok:!1,code:"run_in_progress"};this.running=!0;try{if(await this.finalizeActiveRun(),(0,p.rD)().active)return{ok:!1,code:"run_in_progress"};a=this.beginRun("manual")}finally{this.running=!1}if(!a.ok)return a;let b=this.execute(a.runId);return this.pending.push(b),b.finally(()=>{this.pending=this.pending.filter(a=>a!==b)}),a}async settled(){let a=this.pending;this.pending=[],await Promise.all(a)}async runOwedConnectorRetry(a){let b=a.retry;if(!b)return!1;let c=Date.parse(b.armedAt);if(!Number.isFinite(c)||this.ports.now()-c>18e5||!a.settings.enabled)return(0,p.k)(a=>{a.retry?.runId===b.runId&&(a.retry=null)}),!1;if("connected"!==this.ports.connection().status)return!1;(0,p.k)(a=>{a.retry?.runId===b.runId&&(a.retry=null)});let d=this.beginRun(b.trigger,{retry:!0});return d.ok&&await this.execute(d.runId),!0}reconcileDisconnected(){let a=this.ports.connection();if("disconnected"!==a.status||null!==a.credentialRef)return;let b=(0,p.rD)();(b.settings.enabled||0!==b.history.length||b.active)&&(0,p.mI)()}beginRun(a,b={}){let c=(0,p.rD)(),d=this.ports.connection();if(!c.settings.enabled)return this.recordFailure(a,"reports_disabled");if("connected"!==d.status)return this.recordFailure(a,"not_connected");let f=e().randomUUID(),g=(0,i.s)(this.ports.now(),c.cursor);return this.planning.add(f),(0,p.k)(c=>{c.retry=null,c.active={runId:f,trigger:a,startedAt:new Date(this.ports.now()).toISOString(),windowStart:g.startAt,windowEnd:g.endAt,conversationId:null,promptVersion:h.BL,...b.retry?{retry:!0}:{}}}),{ok:!0,runId:f}}async execute(a){try{await this.executeLocked(a)}catch{this.ports.log("run_failed"),this.settle(a,"failed","launch_failed",!1)}finally{this.planning.delete(a)}}async verifiedIdentity(){let a=this.ports.connection();if(a.identity?.id)return s(a);if(!a.identity||a.identityIdUpgradedAt)return null;await this.ports.migrateIdentity();let b=this.ports.connection();return"connected"!==b.status?null:s(b)}async executeLocked(a){let b,c,d,e=(0,p.rD)(),g=e.active;if(!g||g.runId!==a)return;let i={startAt:g.windowStart,endAt:g.windowEnd},l=await this.verifiedIdentity();if(!l){this.ports.log("account_check_failed"),this.settle(a,"failed","account_check_failed",!1);return}let m=this.ports.readPort(l.credentialRef);if(!this.ports.beginReadPhase)throw Error("Telegram report read lease is unavailable");let n=await this.ports.beginReadPhase();try{var o,q;let d=await this.ports.connectorReady(l.credentialRef);if(!d.ready){this.ports.log("connector_unavailable"),this.settle(a,"failed","connector_unavailable",!1,{requeue:"unavailable"===d.reason});return}try{b=await m.getMe()}catch{this.ports.log("account_check_failed"),this.settle(a,"failed","account_check_failed",!1);return}if(o=b,q=l,!(o?.id&&q?.id)||o.id!==q.id){this.ports.log("account_mismatch"),this.settle(a,"account-mismatch",null,!1);return}try{let b=await (0,k.Cl)(m,{windowStart:i.startAt,windowEnd:i.endAt,groups:e.settings.groups,promptVersion:h.BL});c=(0,p.uc)(a,b)}catch{this.ports.log("sources_failed"),this.settle(a,"failed","sources_failed",!1);return}}finally{n()}if((0,p.rD)().active?.runId!==a)return void(0,p.jc)(a);if(this.ports.connection().credentialRef!==l.credentialRef){this.ports.log("account_mismatch"),(0,p.jc)(a),this.settle(a,"account-mismatch",null,!1);return}let r=(0,h.Y_)({windowStart:i.startAt,windowEnd:i.endAt,sourcesPath:c,outputPath:(0,p.sk)(a),instructions:(0,p.kG)((0,p.rD)())});try{d=await this.ports.spawn({body:{engine:"codex",model:(0,f.Gh)("codex"),effort:"medium",cwd:(0,p.lN)(),title:(0,h.sg)({windowStart:i.startAt,windowEnd:i.endAt}),clientAttemptId:(0,j.hS)(a),project:j.zg,prompt:r},grantActive:()=>this.grantActive(l.credentialRef)})}catch{this.ports.log("launch_failed"),this.settle(a,"failed","launch_failed",!1);return}let s="string"==typeof d.body.conversationId?d.body.conversationId:null;if(!(d.status>=200&&d.status<300&&!1!==d.body.ok&&null!==s)){this.ports.log("launch_rejected"),this.settle(a,"failed","launch_failed",!1);return}(0,p.k)(b=>{b.active?.runId===a&&(b.active.conversationId=s)})}async relinkActiveRun(a){if(this.planning.has(a))return null;let b=await this.ports.reportRunConversation(a);return b?((0,p.k)(c=>{c.active?.runId!==a||c.active.conversationId||(c.active.conversationId=b)}),b):null}async finalizeActiveRun(){let a=(0,p.rD)().active;if(!a)return;let b=(0,p.H$)(a.runId),c=(0,h.U$)(b);if("ok"===c.kind){(0,p.$H)(a.runId,c.report),this.settle(a.runId,"ok",null,!0);return}if("quiet"===c.kind)return void this.settle(a.runId,"quiet",null,!1);if("invalid"===c.kind&&null!==b)return void this.settle(a.runId,"failed","invalid_report",!1);let d=Date.parse(a.startedAt),e=Number.isFinite(d)&&this.ports.now()-d>27e5,f=a.conversationId??await this.relinkActiveRun(a.runId);f?await this.ports.conversationLive(f)?e&&this.settle(a.runId,"failed","timed_out",!1):this.settle(a.runId,"failed","run_ended_without_report",!1):this.planning.has(a.runId)?e&&this.settle(a.runId,"failed","timed_out",!1):this.settle(a.runId,"failed","launch_failed",!1)}settle(a,b,c,d,e={}){(0,p.k)(f=>{let h=f.active;if(!h||h.runId!==a)return;if(f.active=null,f.retry=e.requeue&&!h.retry?{runId:h.runId,trigger:h.trigger,armedAt:new Date(this.ports.now()).toISOString()}:null,f.history=[{id:h.runId,trigger:h.trigger,startedAt:h.startedAt,finishedAt:new Date(this.ports.now()).toISOString(),windowStart:h.windowStart,windowEnd:h.windowEnd,status:b,errorCode:c,conversationId:h.conversationId,hasReport:d,promptVersion:h.promptVersion},...f.history],"ok"!==b&&"quiet"!==b){let a=f.cursor.unreportedSinceAt;(!a||Date.parse(h.windowStart)<Date.parse(a))&&(f.cursor.unreportedSinceAt=h.windowStart);return}f.cursor.lastSuccessfulWindowEndAt=h.windowEnd,f.cursor.unreportedSinceAt=null;let j=(0,i.l)(this.ports.now(),g.cz);this.ports.now()>=(0,i.wk)(j,f.settings.time,g.cz)&&(f.cursor.lastScheduledDay=j)}),d?(0,p.jc)(a):(0,p.FF)(a)}recordFailure(a,b,c=(0,i.s)(this.ports.now(),(0,p.rD)().cursor)){let d=new Date(this.ports.now()).toISOString();return(0,p.k)(f=>{if(f.history=[{id:e().randomUUID(),trigger:a,startedAt:d,finishedAt:d,windowStart:c.startAt,windowEnd:c.endAt,status:"failed",errorCode:b,conversationId:null,hasReport:!1,promptVersion:h.BL},...f.history],"reports_disabled"===b)return;let g=f.cursor.unreportedSinceAt;(!g||Date.parse(c.startAt)<Date.parse(g))&&(f.cursor.unreportedSinceAt=c.startAt)}),{ok:!1,code:b}}}let u=globalThis;function v(){return u.__llvTelegramReportRunner??=new t}function w(){u.__llvTelegramReportTimer||(u.__llvTelegramReportTimer=setInterval(()=>{v().tick()},6e4),u.__llvTelegramReportTimer.unref?.(),v().tick())}},52538:(a,b,c)=>{c.d(b,{hS:()=>f,jE:()=>g,zg:()=>d});let d="telegram-reports",e="telegram-report-";function f(a){return`${e}${a}`}function g(a){if("string"!=typeof a||!a.startsWith(e))return null;let b=a.slice(e.length);return/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(b)?b:null}},55862:(a,b,c)=>{c.d(b,{jF:()=>k,l:()=>g,s:()=>l,wk:()=>i,z1:()=>j});var d=c(8668);let e=new Map;function f(a,b){let c=e.get(b);c||(c=new Intl.DateTimeFormat("en-US",{timeZone:b,hour12:!1,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}),e.set(b,c));let d={};for(let b of c.formatToParts(new Date(a)))d[b.type]=b.value;return{year:Number(d.year),month:Number(d.month),day:Number(d.day),hour:Number(d.hour)%24,minute:Number(d.minute),second:Number(d.second)}}function g(a,b=d.cz){let c=f(a,b);return`${String(c.year).padStart(4,"0")}-${String(c.month).padStart(2,"0")}-${String(c.day).padStart(2,"0")}`}function h(a,b){let c=f(a,b);return Date.UTC(c.year,c.month-1,c.day,c.hour,c.minute,c.second)-1e3*Math.floor(a/1e3)}function i(a,b,c=d.cz){let[e,f]=b.split(":").map(Number),[g,j,k]=a.split("-").map(Number),l=Date.UTC(g,j-1,k,e,f,0),m=l-h(l,c);return l-h(m,c)}function j(a){let b=a.timeZone??d.cz;if(!a.settings.enabled)return!1;let c=g(a.now,b);return a.cursor.lastScheduledDay!==c&&a.now>=i(c,a.settings.time,b)}function k(a){let b=a.timeZone??d.cz;if(!a.settings.enabled)return null;if(j(a))return a.now;let c=i(g(a.now,b),"12:00",b);for(let d=0;d<=8;d+=1){let e=g(c+864e5*d,b),f=i(e,a.settings.time,b);if(!(f<=a.now)&&a.cursor.lastScheduledDay!==e)return f}return null}function l(a,b){let c=b.unreportedSinceAt?Date.parse(b.unreportedSinceAt):NaN,d=b.lastSuccessfulWindowEndAt?Date.parse(b.lastSuccessfulWindowEndAt):NaN,e=Number.isFinite(c)?c:d;return{startAt:new Date(Number.isFinite(e)&&e<a?Math.max(e,a-2592e5):a-864e5).toISOString(),endAt:new Date(a).toISOString()}}},79554:(a,b,c)=>{c.d(b,{$H:()=>w,FF:()=>B,H$:()=>z,Kq:()=>x,Zc:()=>q,iZ:()=>r,jc:()=>A,k:()=>v,kG:()=>s,lN:()=>n,mI:()=>C,rD:()=>u,sk:()=>m,uc:()=>y});var d=c(73024),e=c.n(d);c(76760);var f=c(91724),g=c(8668),h=c(96101),i=c(68032);function j(){return(0,f.BQ)("telegram","reports.json")}function k(a){return(0,f.BQ)("telegram",`report-${a}.md`)}function l(a){return(0,f.BQ)("telegram",`run-${a}.sources.json`)}function m(a){return(0,f.BQ)("telegram",`run-${a}.out.md`)}function n(){let a=process.env.LLV_TELEGRAM_REPORT_CWD?.trim()||(0,f.BQ)("telegram","report-workspace");return e().mkdirSync(a,{recursive:!0,mode:448}),a}let o={version:1,settings:{enabled:g.zv.enabled,time:g.zv.time,groups:[]},prompt:null,cursor:{lastSuccessfulWindowEndAt:null,unreportedSinceAt:null,lastScheduledDay:null},active:null,retry:null,history:[]};function p(a){return"string"==typeof a&&a?a:null}function q(a){let b=a&&"object"==typeof a?a:{};return{enabled:!0===b.enabled,time:(0,g.Wp)(b.time)?b.time:g.zv.time,groups:function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a.slice(0,50))(0,g.mq)(c.id)&&b.push({id:c.id,title:"string"==typeof c.title?c.title.slice(0,120):c.id,mode:"light"===c.mode?"light":"full"});return b}(b.groups)}}function r(a){if("string"!=typeof a)return;let b=a.trim();return b&&b!==h.U8.trim()?b.slice(0,h.gW):null}function s(a){return a.prompt??h.U8}function t(a){let b=a&&"object"==typeof a?a:{},c=p(b.id),d=p(b.startedAt);if(!c||!d)return null;let e=b.status;return{id:c,trigger:"manual"===b.trigger?"manual":"scheduled",startedAt:d,finishedAt:p(b.finishedAt),windowStart:p(b.windowStart)??d,windowEnd:p(b.windowEnd)??d,status:"ok"===e||"quiet"===e||"failed"===e||"account-mismatch"===e||"running"===e?e:"failed",errorCode:p(b.errorCode)??null,conversationId:p(b.conversationId),hasReport:!0===b.hasReport,promptVersion:p(b.promptVersion)??"unknown"}}function u(){var a,b;let c,d,e,f,g,k,l=null;try{l=(0,i.ck)(j())}catch{return{...o,settings:{...o.settings},cursor:{...o.cursor},retry:null,history:[]}}if(!l||"object"!=typeof l)return{...o,settings:{...o.settings},cursor:{...o.cursor},retry:null,history:[]};let m=l,n=m.cursor&&"object"==typeof m.cursor?m.cursor:{};return{version:1,settings:q(m.settings),prompt:"string"==typeof m.prompt&&m.prompt.trim()?m.prompt.slice(0,h.gW):null,cursor:{lastSuccessfulWindowEndAt:p(n.lastSuccessfulWindowEndAt),unreportedSinceAt:p(n.unreportedSinceAt),lastScheduledDay:p(n.lastScheduledDay)},active:(d=p((c=(a=m.active)&&"object"==typeof a?a:{}).runId),e=p(c.startedAt),d&&e?{runId:d,trigger:"manual"===c.trigger?"manual":"scheduled",startedAt:e,windowStart:p(c.windowStart)??e,windowEnd:p(c.windowEnd)??e,conversationId:p(c.conversationId),promptVersion:p(c.promptVersion)??"unknown",...!0===c.retry?{retry:!0}:{}}:null),retry:(g=p((f=(b=m.retry)&&"object"==typeof b?b:{}).runId),k=p(f.armedAt),g&&k&&Number.isFinite(Date.parse(k))?{runId:g,trigger:"manual"===f.trigger?"manual":"scheduled",armedAt:k}:null),history:Array.isArray(m.history)?m.history.map(t).filter(a=>null!==a):[]}}function v(a){let b=u();a(b);let c=b.history.slice(0,g.oM);for(let a of b.history.slice(g.oM))B(a.id);return b.history=c,(0,i.xh)(j(),JSON.stringify(b)),b}function w(a,b){(0,i.xh)(k(a),b)}function x(a){try{return(0,i.L0)(k(a))}catch{return null}}function y(a,b){let c=l(a);return(0,i.xh)(c,JSON.stringify(b,null,2)+"\n"),c}function z(a){let b=m(a);try{if(null===(0,i._q)(!1))return null;let a=e().lstatSync(b);if(a.isSymbolicLink()||!a.isFile()||"function"==typeof process.getuid&&a.uid!==process.getuid()||0===a.size||a.size>262144)return null;return e().readFileSync(b,"utf8")}catch{return null}finally{try{e().rmSync(b,{force:!0})}catch{}}}function A(a){try{(0,i.at)(l(a))}catch{}try{e().rmSync(m(a),{force:!0})}catch{}}function B(a){try{(0,i.at)(k(a))}catch{}A(a)}function C(){let a=u();for(let b of a.history)B(b.id);a.active&&B(a.active.runId);try{(0,i.at)(j())}catch{}try{let a=(0,f.BQ)("telegram","report-workspace");e().rmSync(a,{recursive:!0,force:!0})}catch{}}},80338:(a,b,c)=>{c.d(b,{TT:()=>I,UF:()=>J,X8:()=>H,Yb:()=>x,e4:()=>z});var d=c(31421),e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(91724),j=c(63657),k=c(2033),l=c(24962),m=c(88714),n=c(68032);let o=new Set([...new Set(["export_contacts","get_admins","get_banned_users","get_blocked_users","get_bot_info","get_chat","get_chats","get_common_chats","get_contact_chats","get_contact_ids","get_direct_chat_by_contact","get_drafts","get_folder","get_full_chat","get_full_user","get_gif_search","get_history","get_last_interaction","get_me","get_media_info","get_message_context","get_message_link","get_message_reactions","get_message_read_by","get_messages","get_participants","get_pinned_messages","get_privacy_settings","get_recent_actions","get_scheduled_messages","get_sticker_sets","get_user_photos","get_user_status","incoming_feed_status","list_accounts","list_chats","list_contact_aliases","list_contacts","list_folders","list_inline_buttons","list_messages","list_topics","resolve_username","search_contacts","search_global","search_messages","search_public_chats","wait_for_new_message","wait_for_settled_message"])].filter(a=>!m.vx.includes(a)));async function p(a,b,c){let d=f().randomBytes(32).toString("base64url"),e=new URL(a);e.pathname="/llv-telegram-proof",e.search="";try{let a=await fetch(e,{headers:{"x-llv-telegram-nonce":d},signal:c});if(!a.ok)return!1;let g=Buffer.from((await a.text()).trim(),"hex"),h=Buffer.from(f().createHmac("sha256",b).update(d).digest("hex"),"hex");return g.length===h.length&&f().timingSafeEqual(g,h)}catch{return!1}}let q={spawn(a){try{let b=(0,d.spawn)(a.command,a.args,{cwd:a.cwd,env:a.env,stdio:"ignore",detached:!0});return b.unref(),b}catch{return null}},probe:async function(a,b,d){try{if(!await p(a,b,d))return{ok:!1};let{Client:e}=await Promise.all([c.e(9901),c.e(9434)]).then(c.bind(c,79434)),{StreamableHTTPClientTransport:f}=await Promise.all([c.e(9901),c.e(5103)]).then(c.bind(c,27484)),g=new e({name:"agent-log-viewer",version:"1.0.0"}),h=new f(new URL(a),{requestInit:{headers:{Authorization:`Bearer ${b}`},signal:d}});try{await g.connect(h);let a=await g.listTools();return{ok:!0,serverName:g.getServerVersion()?.name??"",tools:a.tools.map(a=>({name:a.name,readOnly:a.annotations?.readOnlyHint===!0}))}}finally{await g.close().catch(()=>void 0)}}catch{return{ok:!1}}},sleep:a=>new Promise(b=>setTimeout(b,a)),now:()=>Date.now(),ownsProcess:y,recordProcess:B,stop:E,beginOperation:function(){let a=++t;return()=>a===t}};function r(){return(0,i.BQ)("telegram","connector.json")}let s=null,t=0;function u(a){return f().createHash("sha256").update(a).digest("hex")}function v(){try{if(null===(0,n._q)(!1))return null;let a=h().lstatSync(r());if(a.isSymbolicLink()||!a.isFile()||(63&a.mode)!=0||"function"==typeof process.getuid&&a.uid!==process.getuid())return null;let b=JSON.parse(h().readFileSync(r(),"utf8"));if(1!==b.version||"number"!=typeof b.pid||!Number.isInteger(b.pid)||b.pid<=1||"string"!=typeof b.identity||"string"!=typeof b.credentialRef||"string"!=typeof b.connectorTokenSha256||"string"!=typeof b.command||"string"!=typeof b.entrypoint||void 0!==b.feedFile&&"string"!=typeof b.feedFile||void 0!==b.feedSince&&"string"!=typeof b.feedSince||void 0!==b.logSinkVersion&&1!==b.logSinkVersion)return null;return b}catch{return null}}function w(a){let b=j.B.readArgv(a.pid);return b[0]===a.command&&b[1]===a.entrypoint&&a.command===(0,m.jd)()&&a.entrypoint===(0,m.Kn)()}function x(a){let b=v();if(!b||b.feedFile!==(0,n.ZI)(a)||!b.feedSince)return null;let c=Date.parse(b.feedSince);return Number.isFinite(c)?c:null}function y(a){let b=v();return!!(b&&b.credentialRef===a.credentialRef&&b.connectorTokenSha256===u(a.connectorToken)&&j.B.processIdentity(b.pid)===b.identity&&w(b))}function z(a){return y(a)}function A(a){try{a.kill("SIGKILL")}catch{}}function B(a,b,c){let d=a.pid,e=d?j.B.processIdentity(d):null;if(!d||!e||!b.args[0])return A(a),!1;s={child:a,pid:d,identity:e};let f={version:1,pid:d,identity:e,credentialRef:c.credentialRef,connectorTokenSha256:u(c.connectorToken),command:b.command,entrypoint:b.args[0],...b.env?.TELEGRAM_EVENT_FEED_FILE?{feedFile:b.env.TELEGRAM_EVENT_FEED_FILE,feedSince:new Date().toISOString()}:{},...b.env?.LLV_TELEGRAM_CONNECTOR_LOG===(0,l.cO)()&&b.env.LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES===String(l.yb)?{logSinkVersion:1}:{}},g=`${r()}.${process.pid}.tmp`;try{let a=(0,n._q)(!0);h().writeFileSync(g,JSON.stringify(f),{mode:384});let b=h().openSync(g,"r");try{h().fsyncSync(b)}finally{h().closeSync(b)}h().renameSync(g,r());let c=h().openSync(a,"r");try{h().fsyncSync(c)}finally{h().closeSync(c)}let d=h().lstatSync(r());if(!d.isFile()||d.isSymbolicLink()||(63&d.mode)!=0)throw Error("unsafe connector record");return!0}catch{h().rmSync(g,{force:!0});try{h().rmSync(r(),{force:!0})}catch{}return s=null,A(a),!1}}function C(a){return j.B.processIdentity(a.pid)===a.identity}async function D(a,b){let c=Date.now()+b;for(;a.some(C)&&Date.now()<c;)await new Promise(a=>setTimeout(a,25));return a.every(a=>!C(a))}async function E(){t+=1;let a=new Map,b=s;b&&C(b)&&a.set(b.pid,{pid:b.pid,identity:b.identity,term:()=>{try{b.child.kill("SIGTERM")}catch{}},kill:()=>A(b.child)});let c=v(),d=!1;c&&C(c)&&!a.has(c.pid)&&(w(c)?a.set(c.pid,{pid:c.pid,identity:c.identity,term:()=>{try{process.kill(c.pid,"SIGTERM")}catch{}},kill:()=>{try{process.kill(c.pid,"SIGKILL")}catch{}}}):d=!0);let e=[...a.values()];for(let a of e)a.term();if(!await D(e,2e3)){for(let a of e.filter(C))a.kill();if(!await D(e,2e3))throw Error("Telegram connector did not terminate")}if(d)throw Error("Telegram connector ownership could not be verified");s=null;try{null!==(0,n._q)(!1)&&h().rmSync(r(),{force:!0})}catch{}}async function F(a){return(0,n._q)(!0),await (0,k.pM)((0,i.BQ)("telegram","connector-supervisor"),"Telegram connector supervisor is busy",a)}async function G(a,b,c,d=1/0){let e=new AbortController,g=Math.max(1,Math.min(c.probeTimeoutMs??5e3,d)),h=c.probe(a,b,e.signal).catch(()=>({ok:!1})),i=null,j=new Promise(a=>{i=setTimeout(()=>{e.abort(),a("timeout")},g),i.unref?.()}),k=await Promise.race([h,j]);return(i&&clearTimeout(i),"timeout"===k)?"timeout":(e.abort(),k.ok)?k.serverName!==`telegram-${f().createHash("sha256").update(b).digest("hex")}`?{ok:!1,code:"connector_failed"}:function(a,b=o){let c=a.filter(a=>!a.readOnly||!b.has(a.name)).map(a=>a.name);return{ok:a.length>0&&0===c.length,offending:c}}(k.tools).ok?{ok:!0,url:a}:{ok:!1,code:"not_read_only"}:null}async function H(a,b=q){let c=(0,m.h3)(),d={credentialRef:a.credentialRef,connectorToken:a.connectorToken},e=b.stop??E,f=b.ownsProcess??y,g=b.beginOperation?.()??(()=>!0),h=await F(async()=>{let h;if(f(d)){let d=await G(c,a.connectorToken,b);if(!g())return{ok:!1,code:"connector_failed"};if(d&&"timeout"!==d)return d.ok||await e(),d}await e(),g=b.beginOperation?.()??(()=>!0);let i=(0,m.w5)();if(!i)return{ok:!1,code:"credentials_missing"};try{h=(0,m.ue)({credentialRef:a.credentialRef,sessionString:a.sessionString,connectorToken:a.connectorToken,credentials:i})}catch{return{ok:!1,code:"connector_failed"}}if(!g())return{ok:!1,code:"connector_failed"};let j=b.spawn(h);return j?(b.recordProcess??B)(j,h,d)?"spawned":(A(j),{ok:!1,code:"connector_failed"}):{ok:!1,code:"connector_failed"}});if("spawned"!==h)return h;let i=async()=>{await F(async()=>{f(d)&&await e()})},j=b.now()+3e4;for(;b.now()<j;){let d=await G(c,a.connectorToken,b,j-b.now());if(!g())return{ok:!1,code:"connector_failed"};if("timeout"===d)break;if(d)return d.ok||await i(),d;await b.sleep(500)}return await i(),{ok:!1,code:"connector_failed"}}async function I(){await F(E)}async function J(a,b={}){let c=b.ownsProcess??y,d=b.stop??E;return await F(async()=>!!c(a)&&(await d(),!0))}},96101:(a,b,c)=>{c.d(b,{BL:()=>d,U$:()=>k,U8:()=>f,Y_:()=>i,gW:()=>g,sg:()=>h});let d="v1",e="QUIET",f=`Write one report on the operator's Telegram for this window.
|
|
2
|
-
|
|
3
|
-
The first line of the report is exactly:
|
|
4
|
-
|
|
5
|
-
#daily_report
|
|
6
|
-
|
|
7
|
-
Then these sections, in this order, and only the ones that have content:
|
|
8
|
-
|
|
9
|
-
⏳ Awaiting your reply — someone asked the operator something and has had no answer: who, what they asked, and how long it has been waiting.
|
|
10
|
-
📌 You promised — commitments the operator made with no visible follow-through.
|
|
11
|
-
🐙 Proposed issues — anything that should become a tracked task in the operator's product repository: a ready title plus one or two sentences of body.
|
|
12
|
-
📅 Proposed calendar items — anything with a concrete date and time.
|
|
13
|
-
👀 Worth attention — urgent, important, or easy to miss.
|
|
14
|
-
|
|
15
|
-
Cover every important item in the window. There is no item cap: keep the report short by writing each item once and moving on, and keep every item that matters. Skip bots and service broadcasts unless one is genuinely urgent.
|
|
16
|
-
|
|
17
|
-
Number every proposal consecutively across the whole report, starting at [1] and counting up without gaps — [1], [2], [3] — so the operator can answer "do 2". Put the number at the start of the item's line.
|
|
18
|
-
|
|
19
|
-
Every item states its substance, the person or chat it came from, and a link https://t.me/c/<internal_id>/<message_id> when the chat is a supergroup (use get_message_link when unsure). Private chats have no message links; name the person instead.
|
|
20
|
-
|
|
21
|
-
Write the items in the language their conversation used, and keep the section titles exactly as written above. Full sentences: no abbreviations, no compressed jargon, no telegraphic style. Each item must be understandable without opening Telegram.
|
|
22
|
-
|
|
23
|
-
No methodology preamble, no closing summary, no "not X but Y" constructions, no praise of the operator.`,g=2e4;function h(a){return`Telegram daily report — window ${a.windowStart} → ${a.windowEnd} (UTC).`}function i(a){return`${`${h(a)}
|
|
24
|
-
|
|
25
|
-
You have the read-only \`telegram\` MCP connector for the operator's own account. Work through it only; do not install anything and do not write to Telegram — the connector exposes no write tools. The Viewer has already verified with \`get_me\` that the connector holds the account this report belongs to.
|
|
26
|
-
|
|
27
|
-
RUN RULES (these come from the Viewer and are not negotiable)
|
|
28
|
-
|
|
29
|
-
1. Your sources are listed in ${a.sourcesPath}: the private dialogs active in this window (already selected by last-message date — the connector's chat-list order is pinned/folder order and is NOT recency, so never re-derive sources from \`get_chats\`/\`list_chats\` yourself) and the groups the operator picked, each marked \`full\` or \`light\`. Start there. Follow a thread, a mentioned chat, or older context beyond that list when your instructions below call for it.
|
|
30
|
-
|
|
31
|
-
2. Read SEQUENTIALLY. One tool call at a time, never in parallel: the connector dies under concurrent large reads and the run is then lost. Use \`list_messages\` with \`limit\` of 40 or less per call, paging only while messages still fall inside the window. A \`full\` group is read like a private dialog; a \`light\` group yields only mentions of the operator, replies to them, and one or two notable threads.
|
|
32
|
-
|
|
33
|
-
3. If the connector stops answering, stop and write nothing. A missing report is a failed run the operator can retry; an invented one is worse than silence.
|
|
34
|
-
|
|
35
|
-
4. The report's FIRST line is the hashtag line your instructions below specify, and nothing else. The Viewer refuses a file that does not start with one.
|
|
36
|
-
|
|
37
|
-
5. Numbered items are numbered consecutively from [1] with no gaps and no repeats, each number at the start of its line. The Viewer refuses a file that numbers them any other way.
|
|
38
|
-
|
|
39
|
-
6. If nothing in the window is worth reporting, the whole file is that hashtag line and then:
|
|
40
|
-
|
|
41
|
-
${e}
|
|
42
|
-
|
|
43
|
-
7. Write the report to ${a.outputPath} — that exact path, plain UTF-8 text, nothing else in the file — and then stop. Do not print the report as your answer; the Viewer reads the file.
|
|
44
|
-
|
|
45
|
-
YOUR INSTRUCTIONS (from the operator)`}
|
|
46
|
-
|
|
47
|
-
${a.instructions.trim()}`}let j=/^(?:[-*•]\s*)?\[(\d{1,3})\]/;function k(a){let b=(a??"").trim();if(!b)return{kind:"invalid"};let c=b.split(/\r?\n/).map(a=>a.trim());if(!c[0].startsWith("#"))return{kind:"invalid"};let d=c.slice(1).filter(a=>""!==a);return 0===d.length?{kind:"invalid"}:1===d.length&&d[0].toUpperCase()===e?{kind:"quiet"}:d.map(a=>j.exec(a)).filter(a=>null!==a).map(a=>Number(a[1])).every((a,b)=>a===b+1)?{kind:"ok",report:b}:{kind:"invalid"}}}};
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=6839,exports.ids=[1888,3598,6839,9507],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:()=>a0,accountControllerScan:()=>aZ,createMigrationDeliveryPort:()=>aL,reconcileAccountMigrationCycle:()=>aV,startAccountMigrationController:()=>a2,syncCompatibilityRouting:()=>aW});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(25052),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)}}let aS={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){if("claude"===a){let d=await aO.kR.status(b.home).catch(()=>({loggedIn:!1,indeterminate:!0}));if(d.indeterminate)throw Error("quota-auth-indeterminate");let e=d.loggedIn?await (0,aQ.nn)(o().join(b.home,".credentials.json")):{data:null,source:"unavailable",reason:"live authentication check failed"};return{engine:a,accountId:b.id,authenticated:d.loggedIn,authCheckedAt:c,limits:e.data,provenance:{source:e.source,reason:e.reason,staleSince:null},observedAt:c}}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 aT{constructor(a=(0,h.agentRegistry)(),b=aS,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);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)}}));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})});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 aU=aL();async function aV(a,b,c=new aN.wh,d=aU){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 aW(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 aX(){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 aY={files:[],projectCatalog:[],complete:!1};function aZ(a=process.env,b=s.TF,c=t.wj){return"1"!==a.LLV_ACCOUNT_CONTROLLER_INVENTORY_WORKER?c():Promise.resolve(b()??aY)}async function a$(a,b){await aX();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 a_={scan:()=>aZ(),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?"handoff":"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:aW,reconcileMigrationCycle:aV};class a0{constructor(a=(0,h.agentRegistry)(),b=new aT(a),c=null,d={}){this.registry=a,this.quota=b,this.cycle=c,this.running=null,this.trailingCycleRequested=!1,this.ports={...a_,...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 a1=globalThis;async function a2(){await (0,j.Lh)();let a=(0,h.agentRegistry)(),b=new aT(a);if("1"===process.env.LLV_ACCOUNT_CONTROLLER_INVENTORY_WORKER)return void function(a,b){let c=a1.__llvAccountMigrationController??=new a0(a,b);if(!a1.__llvAccountMigrationTimer){let a=setInterval(()=>void c.poll().catch(a=>{console.error("[account migration controller] durable reconciliation tick failed",a)}),6e4);a.unref?.(),a1.__llvAccountMigrationTimer=a}if(!a1.__llvAccountMigrationBootstrapStarted){a1.__llvAccountMigrationBootstrapStarted=!0;let a=setTimeout(()=>{a1.__llvAccountMigrationInitialTimer=void 0,c.poll().catch(a=>{console.error("[account migration controller] initial inventory reconciliation failed",a)})},1e3);a.unref?.(),a1.__llvAccountMigrationInitialTimer=a}}(a,b);let c=a1.__llvAccountMigrationFastController??=new a0(a,b,()=>aV(a,b));(0,aM.c)(()=>c.tick()),c.tick().catch(a=>{console.error("[account migration controller] initial durable reconciliation failed",a)}),function a(){if(a1.__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"}});a1.__llvAccountMigrationInventoryWorker=d,d.once("error",a=>{console.error("[account migration controller] inventory worker failed to start",a)}),d.once("exit",(b,c)=>{if(a1.__llvAccountMigrationInventoryWorker===d&&(a1.__llvAccountMigrationInventoryWorker=void 0),a1.__llvAccountMigrationInventoryWorkerRestart)return;console.error("[account migration controller] inventory worker exited",{code:b,signal:c});let e=setTimeout(()=>{a1.__llvAccountMigrationInventoryWorkerRestart=void 0,a()},1e3);e.unref?.(),a1.__llvAccountMigrationInventoryWorkerRestart=e})}()}},51888:(a,b,c)=>{c.d(b,{Gh:()=>l,JL:()=>i,OV:()=>n,RC:()=>k,c7:()=>d,cC:()=>j,fC:()=>f,g9:()=>q,ll:()=>p,wi:()=>r});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}let o=new Set(["fable","opus"]);function p(a){let b=n(a);return null===b||o.has(b)}function q(a){if("string"!=typeof a)return!1;let b=a.trim();return b.startsWith("gpt-")&&b.length<=128&&!/[\u0000-\u001f\u007f]/.test(b)}function r(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}}},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)}}}};
|