agent-log-viewer 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mcp-server.mjs +2225 -1385
- package/dist/runtime-host.mjs +1690 -972
- package/dist/standalone/.next/BUILD_ID +1 -1
- package/dist/standalone/.next/app-path-routes-manifest.json +26 -24
- package/dist/standalone/.next/build-manifest.json +2 -2
- package/dist/standalone/.next/prerender-manifest.json +4 -4
- package/dist/standalone/.next/required-server-files.json +1 -0
- package/dist/standalone/.next/routes-manifest.json +12 -0
- package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -1
- package/dist/standalone/.next/server/app/_global-error/page.js +2 -2
- package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_global-error.html +1 -1
- package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found/page.js +1 -1
- package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/standalone/.next/server/app/_not-found.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/api/access/route.js +1 -1
- package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/account-project-bindings/route.js +1 -1
- package/dist/standalone/.next/server/app/api/account-project-bindings/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/cli/route.js +1 -0
- package/dist/standalone/.next/server/app/api/accounts/cli/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/accounts/cli/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js +2 -2
- package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/agent/route.js +1 -1
- package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -1
- package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/answer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/artifact/route.js +1 -1
- package/dist/standalone/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/board/route.js +1 -1
- package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/bridge/route.js +1 -1
- package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversations/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/files/route.js +6 -3
- package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/image/route.js +1 -1
- package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/inbox/route.js +2 -2
- package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -1
- package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/limits/history/route.js +1 -1
- package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/provenance/route.js +14 -12
- package/dist/standalone/.next/server/app/api/log/provenance/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/suggestions/route.js +2 -2
- package/dist/standalone/.next/server/app/api/log/suggestions/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/logs/route.js +1 -1
- package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/logs/stream/route.js +2 -2
- package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/runs/route.js +1 -1
- package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js +6 -5
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js +2 -2
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/onboarding/route.js +1 -0
- package/dist/standalone/.next/server/app/api/onboarding/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/onboarding/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +1 -2
- package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
- package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/create/route.js +2 -2
- package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/crown/route.js +1 -1
- package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/directories/route.js +1 -1
- package/dist/standalone/.next/server/app/api/projects/directories/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/push/route.js +2 -2
- package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
- package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/roles/route.js +3 -3
- package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/hosts/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/hosts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/inject/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/inject/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/queue/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/queue/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/stream/route.js +2 -2
- package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/search/transcripts/route.js +1 -1
- package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/title/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/policy/route.js +2 -2
- package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/validate/route.js +1 -1
- package/dist/standalone/.next/server/app/api/spawn/validate/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/staging/route.js +2 -2
- package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -2
- package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/telegram/reports/route.js +1 -1
- package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/telegram/route.js +1 -1
- package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
- package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tts/route.js +2 -2
- package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/view/presence/route.js +2 -1
- package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
- package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
- package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/index.html +1 -1
- package/dist/standalone/.next/server/app/index.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/page.js +20 -20
- package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app-paths-manifest.json +26 -24
- package/dist/standalone/.next/server/chunks/107.js +1 -1
- package/dist/standalone/.next/server/chunks/1106.js +5 -0
- package/dist/standalone/.next/server/chunks/112.js +1 -0
- package/dist/standalone/.next/server/chunks/1406.js +35 -168
- package/dist/standalone/.next/server/chunks/1585.js +3 -3
- package/dist/standalone/.next/server/chunks/160.js +18 -18
- package/dist/standalone/.next/server/chunks/1617.js +1 -1
- package/dist/standalone/.next/server/chunks/1849.js +1 -1
- package/dist/standalone/.next/server/chunks/1952.js +1 -1
- package/dist/standalone/.next/server/chunks/2499.js +1 -0
- package/dist/standalone/.next/server/chunks/2555.js +1 -1
- package/dist/standalone/.next/server/chunks/2589.js +127 -0
- package/dist/standalone/.next/server/chunks/261.js +1 -0
- package/dist/standalone/.next/server/chunks/2744.js +1 -1
- package/dist/standalone/.next/server/chunks/286.js +2 -2
- package/dist/standalone/.next/server/chunks/2914.js +20 -21
- package/dist/standalone/.next/server/chunks/2916.js +1 -0
- package/dist/standalone/.next/server/chunks/3086.js +1 -1
- package/dist/standalone/.next/server/chunks/3407.js +1 -1
- package/dist/standalone/.next/server/chunks/3509.js +1 -0
- package/dist/standalone/.next/server/chunks/3570.js +1 -1
- package/dist/standalone/.next/server/chunks/3696.js +5 -0
- package/dist/standalone/.next/server/chunks/3743.js +9 -9
- package/dist/standalone/.next/server/chunks/3784.js +5 -0
- package/dist/standalone/.next/server/chunks/3830.js +1 -1
- package/dist/standalone/.next/server/chunks/3957.js +1 -0
- package/dist/standalone/.next/server/chunks/4037.js +1 -1
- package/dist/standalone/.next/server/chunks/4651.js +1 -1
- package/dist/standalone/.next/server/chunks/4972.js +38 -16
- package/dist/standalone/.next/server/chunks/53.js +1 -0
- package/dist/standalone/.next/server/chunks/5408.js +1 -1
- package/dist/standalone/.next/server/chunks/5465.js +156 -0
- package/dist/standalone/.next/server/chunks/5545.js +1 -1
- package/dist/standalone/.next/server/chunks/568.js +1 -1
- package/dist/standalone/.next/server/chunks/6023.js +1 -1
- package/dist/standalone/.next/server/chunks/6211.js +1 -0
- package/dist/standalone/.next/server/chunks/6289.js +1 -2
- package/dist/standalone/.next/server/chunks/6418.js +1 -0
- package/dist/standalone/.next/server/chunks/6453.js +1 -1
- package/dist/standalone/.next/server/chunks/6522.js +1 -1
- package/dist/standalone/.next/server/chunks/6796.js +1 -1
- package/dist/standalone/.next/server/chunks/6826.js +3 -3
- package/dist/standalone/.next/server/chunks/6942.js +3 -3
- package/dist/standalone/.next/server/chunks/6978.js +1 -1
- package/dist/standalone/.next/server/chunks/7008.js +21 -19
- package/dist/standalone/.next/server/chunks/7192.js +1 -1
- package/dist/standalone/.next/server/chunks/7238.js +2 -2
- package/dist/standalone/.next/server/chunks/7294.js +1 -0
- package/dist/standalone/.next/server/chunks/7722.js +1 -1
- package/dist/standalone/.next/server/chunks/781.js +17 -17
- package/dist/standalone/.next/server/chunks/8027.js +1 -1
- package/dist/standalone/.next/server/chunks/8330.js +1 -0
- package/dist/standalone/.next/server/chunks/8444.js +1 -1
- package/dist/standalone/.next/server/chunks/8512.js +1 -1
- package/dist/standalone/.next/server/chunks/8513.js +2 -2
- package/dist/standalone/.next/server/chunks/8617.js +1 -1
- package/dist/standalone/.next/server/chunks/8817.js +2 -2
- package/dist/standalone/.next/server/chunks/8966.js +1 -1
- package/dist/standalone/.next/server/chunks/8985.js +1 -1
- package/dist/standalone/.next/server/chunks/8996.js +1 -1
- package/dist/standalone/.next/server/chunks/9006.js +1 -0
- package/dist/standalone/.next/server/chunks/9060.js +4 -0
- package/dist/standalone/.next/server/chunks/9296.js +20 -21
- package/dist/standalone/.next/server/chunks/9298.js +1 -2
- package/dist/standalone/.next/server/chunks/9307.js +1 -1
- package/dist/standalone/.next/server/chunks/9360.js +12 -12
- package/dist/standalone/.next/server/chunks/9517.js +1 -1
- package/dist/standalone/.next/server/chunks/9611.js +1 -0
- package/dist/standalone/.next/server/chunks/9822.js +1 -1
- package/dist/standalone/.next/server/chunks/9839.js +5 -0
- package/dist/standalone/.next/server/chunks/9867.js +1 -0
- package/dist/standalone/.next/server/chunks/9940.js +37 -15
- package/dist/standalone/.next/server/chunks/9998.js +1 -1
- package/dist/standalone/.next/server/file-scanner-worker.js +1 -1
- package/dist/standalone/.next/server/files-response-worker.js +2 -2
- package/dist/standalone/.next/server/functions-config-manifest.json +2 -0
- package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/standalone/.next/server/middleware.js +3 -3
- package/dist/standalone/.next/server/pages/404.html +1 -1
- package/dist/standalone/.next/server/pages/500.html +1 -1
- package/dist/standalone/.next/server/resource-collector-worker.js +1 -1
- package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
- package/dist/standalone/.next/server/state-backup-worker.js +3 -0
- package/dist/standalone/.next/server/wakatime-sync-worker.js +1 -1
- package/dist/standalone/.next/static/chunks/9591-0fd6a5a4172de16d.js +1 -0
- package/dist/standalone/.next/static/chunks/app/_global-error/page-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/access/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/cli/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/answer/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/board/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/files/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/image/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/onboarding/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/proc/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/push/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/resources/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/roles/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/staging/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/app/page-a2e19d755e17b569.js +125 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-151390fbd8c93c25.js +1 -0
- package/dist/standalone/.next/static/css/9b32c3f7f468cbcc.css +1 -0
- package/dist/standalone/.next/static/fQ2a5S10vvpyAqE0L_wUj/_buildManifest.js +1 -0
- package/dist/standalone/package.json +1 -1
- package/dist/standalone/server.bun.js +1 -1
- package/dist/standalone/src/lib/viewerInstrumentation.ts +44 -1
- package/package.json +1 -1
- package/dist/standalone/.next/server/chunks/1888.js +0 -1
- package/dist/standalone/.next/server/chunks/4127.js +0 -1
- package/dist/standalone/.next/server/chunks/606.js +0 -126
- package/dist/standalone/.next/static/836HTp-5V8cZC5YWFVOCk/_buildManifest.js +0 -1
- package/dist/standalone/.next/static/chunks/7333-cf17cea2a91e7b4b.js +0 -1
- package/dist/standalone/.next/static/chunks/app/_global-error/page-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/access/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/answer/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/board/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/files/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/image/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/proc/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/push/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/resources/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/roles/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/staging/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/app/page-1cde2db61f461960.js +0 -125
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60a25d1c4cbf0128.js +0 -1
- package/dist/standalone/.next/static/css/b25c03e915fd256b.css +0 -1
- /package/dist/standalone/.next/static/{836HTp-5V8cZC5YWFVOCk → fQ2a5S10vvpyAqE0L_wUj}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";exports.id=3784,exports.ids=[3784],exports.modules={23784:(a,b,c)=>{c.r(b),c.d(b,{TASKS_FILE:()=>E,checkpointTaskRollbackMirrorForDemotion:()=>_,importLegacyTasks:()=>$,isTask:()=>M,isTaskAssignment:()=>I,isTaskSource:()=>J,loadTasks:()=>O,loadTasksFile:()=>ab,mutateTasks:()=>af,mutateTasksFile:()=>ag,saveTasks:()=>ad,saveTasksFile:()=>ae,taskLegacyCollection:()=>Z});var d=c(73024),e=c.n(d),f=c(91724),g=c(89940),h=c(2033),i=c(77598),j=c.n(i),k=c(76760),l=c.n(k),m=c(43734),n=c(13117);let o=[];function p(a){let b={...a,at:new Date().toISOString()};return o.push(b),o.length>100&&o.splice(0,o.length-100),console.error(`[state import] ${b.kind} ${b.collection}: ${b.message}`),b}function q(a){return l().join(l().dirname(a),"state.sqlite")}function r(a){return j().createHash("sha256").update(a).digest("hex")}function s(a){let b=e().openSync(a,"r");try{e().fsyncSync(b)}finally{e().closeSync(b)}}function t(){return new Date().toISOString().replace(/[:.]/g,"-")}function u(a){try{return(0,m.jU)(l().dirname(a))?.slice(0,12)??null}catch{return null}}function v(a){return e().existsSync(a)?`${a}-${t()}`:a}function w(a){let b;try{b=e().lstatSync(a)}catch(a){if("ENOENT"===a.code)return{kind:"missing"};throw new h.Qm(`legacy state is unreadable for now: ${a.message}`)}if(b.isDirectory())return{kind:"tombstone"};try{return{kind:"file",bytes:e().readFileSync(a)}}catch(a){throw new h.Qm(`legacy state is unreadable for now: ${a.message}`)}}function x(a){try{return{ok:!0,value:JSON.parse(a.toString("utf8"))}}catch{return{ok:!1}}}function y(a){let b=l().dirname(a.legacyPath);e().mkdirSync(a.legacyPath,{recursive:!0,mode:448});let c=l().join(a.legacyPath,"README");e().existsSync(c)||e().writeFileSync(c,`${l().basename(a.legacyPath)} moved into SQLite.
|
|
2
|
+
It now lives in the "${a.collection}" collection of ${l().basename(q(a.legacyPath))} in this directory.
|
|
3
|
+
This directory stands in its place so that an older release fails visibly instead of writing a file nothing reads.
|
|
4
|
+
`,{mode:384}),s(b)}function z(a,b,c){let d=null;return e().existsSync(a.legacyPath)&&!e().lstatSync(a.legacyPath).isDirectory()&&("delete"===b?e().rmSync(a.legacyPath,{force:!0}):(d=v(`${a.legacyPath}.imported-${u(a.legacyPath)??t()}`),e().renameSync(a.legacyPath,d)),s(l().dirname(a.legacyPath))),c.afterRename?.(),y(a),d}function A(a){let b=v(`${a.legacyPath}.unreadable-${t()}`);return e().renameSync(a.legacyPath,b),s(l().dirname(a.legacyPath)),b}function B(a,b,c,d,e){let f=x(c);if(!f.ok){let b=A(a);return p({kind:"legacy-unreadable",collection:a.collection,preservedAs:b,message:`${l().basename(a.legacyPath)} reappeared unreadable after the import; kept as ${l().basename(b)}, SQLite unchanged`})}let g=a.parse(f.value),h=a.reconcile(g,b,d),i=a.repairs?.(g)??null,j=z(a,"keep",e);return p({kind:"legacy-reconciled",collection:a.collection,summary:h,...j?{preservedAs:j}:{},message:`${l().basename(a.legacyPath)} changed after the import (a rollback release or an older writer); merged ${h.added} added, ${h.replaced} replaced and ${h.removed} removed rows, kept ${h.kept} SQLite rows changed since the mirror`+(h.spared.length?`; the file does not carry the recorded mirror's marker, so no row was deleted (${h.spared.length} rows it lacks were kept)`:"")+(i?`; ${i}`:"")})}var C=c(64859),D=c(49729);let E=(0,f.BQ)("tasks.json"),F=new WeakMap;function G(a,b,c){for(let b of a)b.project=(0,g.G$)(b.project);return(0,C.lw)(a,b,c),a.map(a=>{let c=b.get(a.id);return c&&(0,C.d4)(a)===c.revision&&F.has(c.ref)?F.get(c.ref):a})}function H(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"number"==typeof a.x&&Number.isFinite(a.x)&&"number"==typeof a.y&&Number.isFinite(a.y)}function I(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&("string"==typeof a.path||null===a.path)&&(void 0===a.launchId||"string"==typeof a.launchId||null===a.launchId)&&(void 0===a.clientAttemptId||"string"==typeof a.clientAttemptId||null===a.clientAttemptId)&&(void 0===a.conversationId||"string"==typeof a.conversationId||null===a.conversationId)&&("number"==typeof a.panePid||null===a.panePid)&&(null===a.panePid||Number.isInteger(a.panePid)&&a.panePid>0)&&("delivered"===(b=a.state)||"failed"===b||"spawning"===b||"handoff"===b||"linked"===b)&&("string"==typeof a.error||null===a.error)&&"string"==typeof a.at}function J(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.path&&("string"==typeof a.ts||null===a.ts)&&"string"==typeof a.text&&"string"==typeof a.fingerprint&&("claude"===a.engine||"codex"===a.engine)}function K(a){return"pinned"===a||"unplaced"===a||"auto"===a}function L(a){var b,c,d,e;let f,h;if(!a||"object"!=typeof a||Array.isArray(a)||!("string"==typeof a.id&&"string"==typeof a.project&&("inbox"===(b=a.status)||"assigned"===b||"blocked"===b||"done"===b)&&"string"==typeof a.text&&(void 0===a.details||"string"==typeof a.details)&&(void 0===a.placement||K(a.placement))&&(void 0===a.pos||H(a.pos))&&(f=void 0!==a.dueAt,h=void 0!==a.dueTz,!f&&!h||"string"==typeof a.dueAt&&"string"==typeof a.dueTz)&&(void 0===(c=a.attachments)||Array.isArray(c)&&c.every(D.tK))&&Array.isArray(a.assignments)&&a.assignments.every(I)&&(void 0===a.source||J(a.source))&&(void 0===a.origin||!(!(d=a.origin)||"object"!=typeof d||Array.isArray(d))&&("conversation"===d.kind||"launch"===d.kind||"pipeline"===d.kind||"flow"===d.kind)&&"string"==typeof d.key&&d.key.length>0&&("pending"===d.refinement||"titled"===d.refinement)&&(void 0===d.refinedBy||"string"==typeof d.refinedBy)&&(void 0===d.refinedText||"string"==typeof d.refinedText))&&(void 0===a.board||"shown"===(e=a.board)||"hidden"===e)&&"string"==typeof a.createdAt&&"string"==typeof a.updatedAt))return null;let i=H(a.pos),j=K(a.placement)?a.placement:i?"pinned":"unplaced",k="pinned"===j&&i,l={...a,id:a.id,project:(0,g.G$)(a.project),status:a.status,text:a.text,...void 0!==a.details?{details:a.details}:{},placement:"pinned"!==j||i?j:"unplaced",...k?{pos:a.pos}:{},...void 0!==a.dueAt?{dueAt:a.dueAt,dueTz:a.dueTz}:{},...void 0!==a.attachments?{attachments:a.attachments}:{},assignments:a.assignments,...void 0!==a.source?{source:a.source}:{},...void 0!==a.origin?{origin:a.origin}:{},...void 0!==a.board?{board:a.board}:{},createdAt:a.createdAt,updatedAt:a.updatedAt};k||delete l.pos;try{Object.assign(l,{revision:(0,C.d4)(l)})}catch{return null}return l}function M(a){return null!==L(a)}function N(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.clientRequestId&&"string"==typeof a.taskId}function O(a=E){return ab(a).tasks}let P="tasks";function Q(a){return"string"==typeof a.status&&"string"==typeof a.id?a.id?`t:${a.id}`:"":"string"==typeof a.clientRequestId&&"string"==typeof a.taskId?a.clientRequestId?`r:${a.clientRequestId}`:"":"string"==typeof a.name&&"string"==typeof a.appliedAt&&a.name?`m:${a.name}`:""}function R(a){let b=new Map;return a.forEach((a,c)=>b.set(a.clientRequestId,c)),b.size===a.length?a:a.filter((a,c)=>b.get(a.clientRequestId)===c)}function S(a,b,c){return[...a,...R(b).map(a=>({...a})),...Object.entries(c).map(([a,b])=>({name:a,appliedAt:b}))]}function T(a){var b;if(void 0===a)return{tasks:[],recentCreates:[],migrations:{}};if(!a||!Array.isArray(a.tasks))throw Error("invalid persisted task state");let c=a.tasks.map(a=>{let b=L(a);if(!b)throw Error("invalid persisted task row");return F.set(b,a),b});if(new Set(c.map(a=>a.id)).size!==c.length)throw Error("duplicate persisted task id");if(void 0!==a.recentCreates&&(!Array.isArray(a.recentCreates)||!a.recentCreates.every(N)))throw Error("invalid persisted task receipts");let d=R(a.recentCreates??[]);if(void 0!==a.migrations&&!(!(!(b=a.migrations)||"object"!=typeof b||Array.isArray(b))&&Object.values(b).every(a=>"string"==typeof a)))throw Error("invalid persisted task migrations");return{tasks:c,recentCreates:d,migrations:{...a.migrations??{}}}}function U(a){let b=[],c=[],d={};for(let e of a){let a=Q(e);if(a.startsWith("t:"))b.push(e);else if(a.startsWith("r:"))c.push(e);else if(a.startsWith("m:"))d[e.name]=e.appliedAt;else throw Error("invalid persisted task row")}return{tasks:b,recentCreates:c,migrations:d}}let V=new Map;function W(a){let b=V.get(a);if(b)return b;let c=new n.UY(a,{collection:P,schemaVersion:1,busyMessage:"task state is busy",key:Q,decode:a=>a&&"object"==typeof a&&!Array.isArray(a)?a:null,clone:a=>structuredClone(a),controllerActive:a=>"done"!==a.status,strictDecode:!0,decodeError:a=>Error("invalid persisted task row",{cause:a})});return V.set(a,c),c}let X="sqlite-mirror-revision";function Y(a){if(T(a),!a.migrations||!Object.hasOwn(a.migrations,X))return{...a,mirrorOf:null};let{[X]:b,...c}=a.migrations,d=/^\d+$/.test(b)?Number(b):null;return{...a,migrations:c,mirrorOf:d}}function Z(a=E){return{collection:P,schemaVersion:1,migrationId:"tasks-json-v1",legacyPath:a,parse:Y,toRows:a=>S(a.tasks,a.recentCreates??[],a.migrations??{}).map(a=>({key:Q(a),value:a,controllerActive:"done"!==a.status})),repairs:a=>{let b=a.recentCreates??[],c=b.length-R(b).length;return c?`dropped ${c} older duplicate create receipt${1===c?"":"s"}, keeping the newest per clientRequestId`:null},reconcile:(b,c,d)=>{let e,f,g,h;return e=W(q(a)),f=c.mirrorRevision??+(c.rowCount>0),g=null!==c.mirrorRevision&&b.mirrorOf===c.mirrorRevision,h={added:0,replaced:0,removed:0,kept:0,keys:[],conflicts:[],spared:[]},e.patchSync(()=>{let a=new Map(e.snapshot().map(a=>[Q(a),a])),c=e.rowRevisions(),d=S(b.tasks,b.recentCreates??[],b.migrations??{}),i=new Set(d.map(Q)),j=[];for(let b of d){let d=Q(b),e=a.get(d);if(!e){j.push(b),h.added+=1,h.keys.push(d);continue}if(JSON.stringify(e)!==JSON.stringify(b)){if((c.get(d)??0)>f){h.conflicts.push(d);let a=d.startsWith("t:")?L(b):null,c=d.startsWith("t:")?L(e):null;if(!a||!c||a.updatedAt<=c.updatedAt){h.kept+=1;continue}}j.push(b),h.replaced+=1,h.keys.push(d)}}let k=[];for(let b of a.keys())if(!i.has(b)&&b.startsWith("t:")){if(!g){h.spared.push(b);continue}if((c.get(b)??0)>f){h.conflicts.push(b),h.kept+=1;continue}k.push(b),h.removed+=1,h.keys.push(b)}return{records:j,deleteKeys:k}},{fenceOwner:d.fenceOwner}),h},mirrorBody:()=>{let b=W(q(a)),c=null;return b.checkpointMirror((a,b)=>{let d=U(a),e={...d.migrations,[X]:String(b)};c={body:function(a,b,c={}){return{tasks:a,...b.length?{recentCreates:b}:{},...Object.keys(c).length?{migrations:c}:{}}}(d.tasks,d.recentCreates,e),revision:b}}),c}}}function $(a=E,b={reconcile:!0}){var c;let d,f;return c=Z(a),d=b.hooks??{},f=q(c.legacyPath),(0,h.Ol)(c.legacyPath,`${c.collection} import is busy`,()=>{let a=(0,n.tD)(f,c.collection),g=w(c.legacyPath);if(a){var h=c,i=a,j=g,k=b.reconcile,m=d;if("tombstone"===j.kind)return{state:"already-imported",record:i,incident:null};if("missing"===j.kind)return y(h),{state:"already-imported",record:i,incident:null};if(!k)return{state:"reconcile-deferred",record:i,incident:null};let e=r(j.bytes);if(e===i.mirrorSha256)return z(h,"delete",m),{state:"already-imported",record:i,incident:null};if(e===i.sourceSha256)return"legacy-unreadable"===i.gap&&A(h),z(h,"keep",m),{state:"already-imported",record:i,incident:null};let f=B(h,i,j.bytes,{fenceOwner:!1},m);return y(h),{state:"already-imported",record:i,incident:f}}let o=[],q=null,s=null,t=!1,v=null;if("tombstone"===g.kind){q="tombstone-without-import";let a=function(a){let b=`${l().basename(a)}.imported-`,c=l().dirname(a),d=null;for(let a of e().readdirSync(c)){if(!a.startsWith(b))continue;let f=l().join(c,a);try{let{mtimeMs:a}=e().statSync(f);(!d||a>d.mtimeMs)&&(d={file:f,mtimeMs:a})}catch{continue}}return d?.file??null}(c.legacyPath);s=p({kind:"tombstone-without-import",collection:c.collection,...a?{preservedAs:a}:{},message:`${c.legacyPath} is a tombstone but ${f} has no import record; starting empty`+(a?`. The newest kept copy of the legacy file is ${l().basename(a)}; restore the newest backup or re-import that copy.`:"")})}else if("file"===g.kind){let a=x(g.bytes);if(a.ok){let b=c.parse(a.value);o=c.toRows(b),v=c.repairs?.(b)??null}else q="legacy-unreadable",t=!0}let{record:C}=(0,n.nF)(f,{collection:c.collection,schemaVersion:c.schemaVersion,migrationId:c.migrationId,rows:o,sourceName:l().basename(c.legacyPath),sourceSha256:"file"===g.kind?r(g.bytes):null,sourceBytes:"file"===g.kind?g.bytes.length:0,gap:q,release:u(c.legacyPath),...d.beforeVerify?{beforeVerify:d.beforeVerify}:{}});if(d.afterCommit?.(),t){let a=A(c);s=p({kind:"legacy-unreadable",collection:c.collection,preservedAs:a,message:`${l().basename(c.legacyPath)} could not be parsed (${"file"===g.kind?g.bytes.length:0} bytes); the collection starts empty and the file is kept as ${l().basename(a)}. Restore from the newest backup to recover it.`})}return v&&(s=p({kind:"legacy-repaired",collection:c.collection,message:`${l().basename(c.legacyPath)} imported after a repair: ${v}`})),z(c,"keep",d),{state:"imported",record:C,incident:s}})}function _(a=E){var b;let c;c=q((b=Z(a)).legacyPath),(0,n.tD)(c,b.collection)&&(0,h.Ol)(b.legacyPath,`${b.collection} import is busy`,()=>{let a=(0,n.tD)(c,b.collection),d=w(b.legacyPath);if("file"===d.kind){let c=r(d.bytes);c!==a.mirrorSha256&&c!==a.sourceSha256&&B(b,a,d.bytes,{fenceOwner:!0},{})}let{body:f,revision:g}=b.mirrorBody(),h=`${JSON.stringify(f,null,2)}
|
|
5
|
+
`,i=l().dirname(b.legacyPath),k=l().join(i,`.${l().basename(b.legacyPath)}.${process.pid}.${j().randomUUID()}.tmp`),m=e().openSync(k,"wx",384);try{e().writeFileSync(m,h,"utf8"),e().fsyncSync(m)}finally{e().closeSync(m)}try{e().existsSync(b.legacyPath)&&e().lstatSync(b.legacyPath).isDirectory()&&e().rmSync(b.legacyPath,{recursive:!0,force:!0}),e().renameSync(k,b.legacyPath),s(i)}finally{e().rmSync(k,{force:!0})}(0,n.N$)(c,b.collection,r(Buffer.from(h,"utf8")),g)})}function aa(a,b){let c=q(a);if(V.has(c))return V.get(c);if(!(0,n.tD)(c,P)){if(!(0,m.Ny)(l().dirname(a))){if("read"===b)return null;throw new h.Qm("task state is waiting for release promotion")}$(a,{reconcile:null===(0,m.X4)(l().dirname(a))})}return W(c)}function ab(a=E){let b=aa(a,"read");if(!b){let b;try{b=JSON.parse(e().readFileSync(a,"utf8"))}catch(a){if("ENOENT"===a.code)b=void 0;else throw a}return T(b)}return T(U(b.snapshot()))}function ac(a,b){let c,d=aa(a,"write");return d.patchSync(()=>{let a=d.snapshot(),e=b(T(U(a)));if(c=e.result,!e.next)return{records:[]};let f=S(e.next.rows,e.next.recentCreates,e.next.migrations),g=new Set(f.map(Q)),h=a.map(Q).filter(a=>!g.has(a)),i=new Set(a),j=new Map(a.map(a=>[Q(a),a])),k=f.filter(a=>{if(i.has(a))return!1;let b=j.get(Q(a));return!b||JSON.stringify(b)!==JSON.stringify(a)}),l=k.map(Q).filter(a=>a.startsWith("r:")&&j.has(a));return{records:k,deleteKeys:h,appendKeys:l}}),c}function ad(a,b=E){ac(b,({tasks:b,recentCreates:c,migrations:d})=>({next:{rows:G(a,(0,C.lU)(b),!1),recentCreates:c,migrations:d??{}},result:void 0}))}function ae(a,b=E){ac(b,b=>({next:{rows:G(a.tasks,(0,C.lU)(b.tasks),!1),recentCreates:a.recentCreates,migrations:a.migrations??b.migrations??{}},result:void 0}))}function af(a,b=E){return ac(b,b=>{let c=(0,C.lU)(b.tasks),d=a(b.tasks);return d.tasks?{next:{rows:G(d.tasks,c,!0),recentCreates:b.recentCreates,migrations:b.migrations??{}},result:d.result}:{next:void 0,result:d.result}})}function ag(a,b=E){return ac(b,b=>{let c=(0,C.lU)(b.tasks),d=a(b);return d.state?{next:{rows:G(d.state.tasks,c,!0),recentCreates:d.state.recentCreates,migrations:d.state.migrations??b.migrations??{}},result:d.result}:{next:void 0,result:d.result}})}},49729:(a,b,c)=>{c.d(b,{L0:()=>p,tK:()=>n,Gm:()=>q,nw:()=>r,Bx:()=>s});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(99410);let l=new Set(["png","jpg","gif","webp"]),m={png:"image/png",jpg:"image/jpeg",gif:"image/gif",webp:"image/webp"};function n(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&a.id.length>0&&"string"==typeof a.sha256&&/^[0-9a-f]{64}$/.test(a.sha256)&&"string"==typeof a.ext&&l.has(a.ext)&&"string"==typeof a.mime&&null!==(0,k.PG)(a.mime)&&"number"==typeof a.bytes&&Number.isFinite(a.bytes)&&a.bytes>0&&"string"==typeof a.createdAt}function o(){return(0,j.BQ)("attachments","tasks")}function p(a){return i().join(o(),`${a.sha256}.${a.ext}`)}function q(a,b){if(!/^[0-9a-f]{64}$/.test(a)||!l.has(b))return null;let c=p({sha256:a,ext:b});try{return{data:g().readFileSync(c),mime:m[b]}}catch{return null}}function r(a,b,c,d=e().randomUUID()){let f=(0,k.PG)(b);if(null===f||!l.has(f))return{ok:!1,error:"unsupported image type",status:400};if(0===a.length)return{ok:!1,error:"empty image",status:400};if(a.length>k.YP)return{ok:!1,error:"image is too large",status:413};let h={id:d,sha256:e().createHash("sha256").update(a).digest("hex"),ext:f,mime:b,bytes:a.length,createdAt:c},j=p(h);if(!g().existsSync(j)){g().mkdirSync(i().dirname(j),{recursive:!0});let b=`${j}.${process.pid}.${e().randomUUID()}.tmp`;g().writeFileSync(b,a),g().renameSync(b,j)}return{ok:!0,attachment:h}}function s(a,b,c=o()){try{let d=function(a){let b=new Set;for(let c of a)for(let a of c.attachments??[])b.add(a.sha256);return b}(a);for(let a of g().readdirSync(c)){let e=a.replace(/\.[^.]+$/,"");if(d.has(e))continue;let f=i().join(c,a);try{let a=g().statSync(f);if(b-a.mtimeMs<6048e5)continue;g().unlinkSync(f)}catch{}}}catch{}}},64859:(a,b,c)=>{c.d(b,{d4:()=>f,lU:()=>g,lw:()=>h});var d=c(77598);function e(a){let{revision:b,...c}=a;return(0,d.createHash)("sha256").update(JSON.stringify(function a(b){return Array.isArray(b)?b.map(a):b&&"object"==typeof b?Object.fromEntries(Object.entries(b).sort(([a],[b])=>a.localeCompare(b)).map(([b,c])=>[b,a(c)])):b}(c))).digest("hex")}function f(a){let b=a.revision;if(void 0===b)return`task-legacy:${e(a)}`;if("string"!=typeof b||!/^(task-v1:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|task-legacy:[0-9a-f]{64})$/.test(b))throw Error("invalid persisted task revision");return b}function g(a){return new Map(a.map(a=>[a.id,{ref:a,fingerprint:e(a),revision:f(a)}]))}function h(a,b,c){for(let f of a){let a=b.get(f.id),g=!a||a.fingerprint!==e(f)||c&&a.ref!==f;f.revision=g?`task-v1:${(0,d.randomUUID)()}`:a.revision}}},99410:(a,b,c)=>{c.d(b,{PG:()=>f,YP:()=>e});let d={"image/png":"png","image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/webp":"webp"},e=0xa00000;function f(a){return d[a]??null}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3830,exports.ids=[3830],exports.modules={83830:(a,b,c)=>{c.r(b),c.d(b,{CONNECTOR_RETRY_WINDOW_MS:()=>y,RUN_TIMEOUT_MS:()=>x,TelegramReportRunner:()=>B,ensureTelegramReportScheduler:()=>F,productionReportRunnerPorts:()=>z,sameTelegramAccount:()=>C,setTelegramReportRunnerForTests:()=>G,telegramReportRunner:()=>E});var d=c(77598),e=c.n(d),f=c(51888),g=c(5159),h=c(78560);let i=new Map;function j(a,b){let c=i.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"}),i.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 k(a,b=g.cz){let c=j(a,b);return`${String(c.year).padStart(4,"0")}-${String(c.month).padStart(2,"0")}-${String(c.day).padStart(2,"0")}`}function l(a,b){let c=j(a,b);return Date.UTC(c.year,c.month-1,c.day,c.hour,c.minute,c.second)-1e3*Math.floor(a/1e3)}function m(a,b,c=g.cz){let[d,e]=b.split(":").map(Number),[f,h,i]=a.split("-").map(Number),j=Date.UTC(f,h-1,i,d,e,0),k=j-l(j,c);return j-l(k,c)}function n(a){let b=a.timeZone??g.cz;if(!a.settings.enabled)return!1;let c=k(a.now,b);return a.cursor.lastScheduledDay!==c&&a.now>=m(c,a.settings.time,b)}function o(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()}}function p(a){return`telegram-report-${a}`}var q=c(52549),r=c(23953);function s(a){a().catch(()=>void 0)}let t="127.0.0.1";async function u(a){var b;let[{executeSpawnRequest:d,productionSpawnCommandDependencies:e},{ensureOperatorSpawnCapability:f},{VIEWER_SPAWN_CAPABILITY_HEADER:g}]=await Promise.all([Promise.all([c.e(7826),c.e(4995),c.e(8027),c.e(160),c.e(8465),c.e(8817),c.e(6796),c.e(9360),c.e(8444),c.e(8513),c.e(193)]).then(c.bind(c,48513)),c.e(4260).then(c.bind(c,74260)),c.e(7733).then(c.bind(c,7733))]),h={headers:new Headers({host:t,origin:`http://${t}`,"sec-fetch-site":"same-origin",[g]:f()}),json:async()=>a.body},i=await d(h,{...e,...(b=a.grantActive,{defer:s,internalGrant:()=>({sessionClass:r.Vv,mcpServers:(0,r.FE)({grantActive:b()})})})});return{status:i.status,body:await i.json()}}var v=c(773),w=c(19777);let x=27e5,y=18e5,z={now:Date.now,connection:()=>{try{return(0,w.Kd)()}catch{return{version:1,status:"error",credentialRef:null,identity:null,lastHealthCheckAt:null,errorCode:"session_unsafe",identityIdUpgradedAt:null}}},readPort:a=>(0,q.tx)(a),beginReadPhase:async()=>{let{telegramService:a}=await Promise.all([c.e(8027),c.e(160),c.e(8465),c.e(9085)]).then(c.bind(c,99085));return await a().beginReportReadPhase()},connectorReady:a=>(0,q.wZ)(a),migrateIdentity:async function(){try{let{telegramService:a}=await Promise.all([c.e(8027),c.e(160),c.e(8465),c.e(9085)]).then(c.bind(c,99085));await a().checkHealth()}catch{}},spawn:u,reportRunConversation:async function(a){try{let{agentRegistry:b}=await Promise.all([c.e(8027),c.e(160)]).then(c.bind(c,70160)),d=b(),e=d.spawnReceiptForClientAttempt(p(a));return e?d.canonicalConversationId(e.conversationId):null}catch{return null}},conversationLive:async function(a){try{let{agentRegistry:b}=await Promise.all([c.e(8027),c.e(160)]).then(c.bind(c,70160)),d=b().conversation(a);if(!d)return!1;return d.turn?.state!=="terminal"}catch{return!0}},log:a=>console.error(`[telegram report] ${a}`)};function A(a){let b=a.identity?.id;return b&&a.credentialRef?{id:b,credentialRef:a.credentialRef}:null}class B{constructor(a=z){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,v.rD)().settings.enabled&&"connected"===b.status}payload(){var a;let b=(0,v.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=function(a){let b=a.timeZone??g.cz;if(!a.settings.enabled)return null;if(n(a))return a.now;let c=m(k(a.now,b),"12:00",b);for(let d=0;d<=8;d+=1){let e=k(c+864e5*d,b),f=m(e,a.settings.time,b);if(!(f<=a.now)&&a.cursor.lastScheduledDay!==e)return f}return null}({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,v.rD)();if(a.active||await this.runOwedConnectorRetry(a)||!n({now:this.ports.now(),settings:a.settings,cursor:a.cursor}))return;let b=k(this.ports.now(),g.cz);(0,v.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,v.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>y||!a.settings.enabled)return(0,v.k)(a=>{a.retry?.runId===b.runId&&(a.retry=null)}),!1;if("connected"!==this.ports.connection().status)return!1;(0,v.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,v.rD)();(b.settings.enabled||0!==b.history.length||b.active)&&(0,v.mI)()}beginRun(a,b={}){let c=(0,v.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=o(this.ports.now(),c.cursor);return this.planning.add(f),(0,v.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 A(a);if(!a.identity||a.identityIdUpgradedAt)return null;await this.ports.migrateIdentity();let b=this.ports.connection();return"connected"!==b.status?null:A(b)}async executeLocked(a){let b,c,d,e=(0,v.rD)(),g=e.active;if(!g||g.runId!==a)return;let i={startAt:g.windowStart,endAt:g.windowEnd},j=await this.verifiedIdentity();if(!j){this.ports.log("account_check_failed"),this.settle(a,"failed","account_check_failed",!1);return}let k=this.ports.readPort(j.credentialRef);if(!this.ports.beginReadPhase)throw Error("Telegram report read lease is unavailable");let l=await this.ports.beginReadPhase();try{let d=await this.ports.connectorReady(j.credentialRef);if(!d.ready){this.ports.log("connector_unavailable"),this.settle(a,"failed","connector_unavailable",!1,{requeue:"unavailable"===d.reason});return}try{b=await k.getMe()}catch{this.ports.log("account_check_failed"),this.settle(a,"failed","account_check_failed",!1);return}if(!C(b,j)){this.ports.log("account_mismatch"),this.settle(a,"account-mismatch",null,!1);return}try{let b=await (0,q.Cl)(k,{windowStart:i.startAt,windowEnd:i.endAt,groups:e.settings.groups,promptVersion:h.BL});c=(0,v.uc)(a,b)}catch{this.ports.log("sources_failed"),this.settle(a,"failed","sources_failed",!1);return}}finally{l()}if((0,v.rD)().active?.runId!==a)return void(0,v.jc)(a);if(this.ports.connection().credentialRef!==j.credentialRef){this.ports.log("account_mismatch"),(0,v.jc)(a),this.settle(a,"account-mismatch",null,!1);return}let m=(0,h.Y_)({windowStart:i.startAt,windowEnd:i.endAt,sourcesPath:c,outputPath:(0,v.sk)(a),instructions:(0,v.kG)((0,v.rD)())});try{d=await this.ports.spawn({body:{engine:"codex",model:(0,f.Gh)("codex"),effort:"medium",cwd:(0,v.lN)(),title:(0,h.sg)({windowStart:i.startAt,windowEnd:i.endAt}),clientAttemptId:p(a),project:"telegram-reports",prompt:m},grantActive:()=>this.grantActive(j.credentialRef)})}catch{this.ports.log("launch_failed"),this.settle(a,"failed","launch_failed",!1);return}let n="string"==typeof d.body.conversationId?d.body.conversationId:null;if(!(d.status>=200&&d.status<300&&!1!==d.body.ok&&null!==n)){this.ports.log("launch_rejected"),this.settle(a,"failed","launch_failed",!1);return}(0,v.k)(b=>{b.active?.runId===a&&(b.active.conversationId=n)})}async relinkActiveRun(a){if(this.planning.has(a))return null;let b=await this.ports.reportRunConversation(a);return b?((0,v.k)(c=>{c.active?.runId!==a||c.active.conversationId||(c.active.conversationId=b)}),b):null}async finalizeActiveRun(){let a=(0,v.rD)().active;if(!a)return;let b=(0,v.H$)(a.runId),c=(0,h.U$)(b);if("ok"===c.kind){(0,v.$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>x,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,v.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 i=k(this.ports.now(),g.cz);this.ports.now()>=m(i,f.settings.time,g.cz)&&(f.cursor.lastScheduledDay=i)}),d?(0,v.jc)(a):(0,v.FF)(a)}recordFailure(a,b,c=o(this.ports.now(),(0,v.rD)().cursor)){let d=new Date(this.ports.now()).toISOString();return(0,v.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}}}function C(a,b){return!!(a?.id&&b?.id&&a.id===b.id)}let D=globalThis;function E(){return D.__llvTelegramReportRunner??=new B}function F(){D.__llvTelegramReportTimer||(D.__llvTelegramReportTimer=setInterval(()=>{E().tick()},6e4),D.__llvTelegramReportTimer.unref?.(),E().tick())}function G(a){a?D.__llvTelegramReportRunner=a:delete D.__llvTelegramReportRunner}}};
|
|
1
|
+
"use strict";exports.id=3830,exports.ids=[3830],exports.modules={83830:(a,b,c)=>{c.r(b),c.d(b,{CONNECTOR_RETRY_WINDOW_MS:()=>y,RUN_TIMEOUT_MS:()=>x,TelegramReportRunner:()=>B,ensureTelegramReportScheduler:()=>F,productionReportRunnerPorts:()=>z,sameTelegramAccount:()=>C,setTelegramReportRunnerForTests:()=>G,telegramReportRunner:()=>E});var d=c(77598),e=c.n(d),f=c(51888),g=c(5159),h=c(78560);let i=new Map;function j(a,b){let c=i.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"}),i.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 k(a,b=g.cz){let c=j(a,b);return`${String(c.year).padStart(4,"0")}-${String(c.month).padStart(2,"0")}-${String(c.day).padStart(2,"0")}`}function l(a,b){let c=j(a,b);return Date.UTC(c.year,c.month-1,c.day,c.hour,c.minute,c.second)-1e3*Math.floor(a/1e3)}function m(a,b,c=g.cz){let[d,e]=b.split(":").map(Number),[f,h,i]=a.split("-").map(Number),j=Date.UTC(f,h-1,i,d,e,0),k=j-l(j,c);return j-l(k,c)}function n(a){let b=a.timeZone??g.cz;if(!a.settings.enabled)return!1;let c=k(a.now,b);return a.cursor.lastScheduledDay!==c&&a.now>=m(c,a.settings.time,b)}function o(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()}}function p(a){return`telegram-report-${a}`}var q=c(52549),r=c(23953);function s(a){a().catch(()=>void 0)}let t="127.0.0.1";async function u(a){var b;let[{executeSpawnRequest:d,productionSpawnCommandDependencies:e},{ensureOperatorSpawnCapability:f},{VIEWER_SPAWN_CAPABILITY_HEADER:g}]=await Promise.all([Promise.all([c.e(7826),c.e(4995),c.e(3696),c.e(8027),c.e(261),c.e(160),c.e(8465),c.e(8817),c.e(6796),c.e(3509),c.e(9360),c.e(8444),c.e(8513),c.e(193)]).then(c.bind(c,48513)),c.e(4260).then(c.bind(c,74260)),c.e(7733).then(c.bind(c,7733))]),h={headers:new Headers({host:t,origin:`http://${t}`,"sec-fetch-site":"same-origin",[g]:f()}),json:async()=>a.body},i=await d(h,{...e,...(b=a.grantActive,{defer:s,internalGrant:()=>({sessionClass:r.Vv,mcpServers:(0,r.FE)({grantActive:b()})})})});return{status:i.status,body:await i.json()}}var v=c(773),w=c(19777);let x=27e5,y=18e5,z={now:Date.now,connection:()=>{try{return(0,w.Kd)()}catch{return{version:1,status:"error",credentialRef:null,identity:null,lastHealthCheckAt:null,errorCode:"session_unsafe",identityIdUpgradedAt:null}}},readPort:a=>(0,q.tx)(a),beginReadPhase:async()=>{let{telegramService:a}=await Promise.all([c.e(3696),c.e(8027),c.e(261),c.e(160),c.e(8465),c.e(9085)]).then(c.bind(c,99085));return await a().beginReportReadPhase()},connectorReady:a=>(0,q.wZ)(a),migrateIdentity:async function(){try{let{telegramService:a}=await Promise.all([c.e(3696),c.e(8027),c.e(261),c.e(160),c.e(8465),c.e(9085)]).then(c.bind(c,99085));await a().checkHealth()}catch{}},spawn:u,reportRunConversation:async function(a){try{let{agentRegistry:b}=await Promise.all([c.e(3696),c.e(8027),c.e(261),c.e(160)]).then(c.bind(c,70160)),d=b(),e=d.spawnReceiptForClientAttempt(p(a));return e?d.canonicalConversationId(e.conversationId):null}catch{return null}},conversationLive:async function(a){try{let{agentRegistry:b}=await Promise.all([c.e(3696),c.e(8027),c.e(261),c.e(160)]).then(c.bind(c,70160)),d=b().conversation(a);if(!d)return!1;return d.turn?.state!=="terminal"}catch{return!0}},log:a=>console.error(`[telegram report] ${a}`)};function A(a){let b=a.identity?.id;return b&&a.credentialRef?{id:b,credentialRef:a.credentialRef}:null}class B{constructor(a=z){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,v.rD)().settings.enabled&&"connected"===b.status}payload(){var a;let b=(0,v.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=function(a){let b=a.timeZone??g.cz;if(!a.settings.enabled)return null;if(n(a))return a.now;let c=m(k(a.now,b),"12:00",b);for(let d=0;d<=8;d+=1){let e=k(c+864e5*d,b),f=m(e,a.settings.time,b);if(!(f<=a.now)&&a.cursor.lastScheduledDay!==e)return f}return null}({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,v.rD)();if(a.active||await this.runOwedConnectorRetry(a)||!n({now:this.ports.now(),settings:a.settings,cursor:a.cursor}))return;let b=k(this.ports.now(),g.cz);(0,v.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,v.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>y||!a.settings.enabled)return(0,v.k)(a=>{a.retry?.runId===b.runId&&(a.retry=null)}),!1;if("connected"!==this.ports.connection().status)return!1;(0,v.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,v.rD)();(b.settings.enabled||0!==b.history.length||b.active)&&(0,v.mI)()}beginRun(a,b={}){let c=(0,v.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=o(this.ports.now(),c.cursor);return this.planning.add(f),(0,v.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 A(a);if(!a.identity||a.identityIdUpgradedAt)return null;await this.ports.migrateIdentity();let b=this.ports.connection();return"connected"!==b.status?null:A(b)}async executeLocked(a){let b,c,d,e=(0,v.rD)(),g=e.active;if(!g||g.runId!==a)return;let i={startAt:g.windowStart,endAt:g.windowEnd},j=await this.verifiedIdentity();if(!j){this.ports.log("account_check_failed"),this.settle(a,"failed","account_check_failed",!1);return}let k=this.ports.readPort(j.credentialRef);if(!this.ports.beginReadPhase)throw Error("Telegram report read lease is unavailable");let l=await this.ports.beginReadPhase();try{let d=await this.ports.connectorReady(j.credentialRef);if(!d.ready){this.ports.log("connector_unavailable"),this.settle(a,"failed","connector_unavailable",!1,{requeue:"unavailable"===d.reason});return}try{b=await k.getMe()}catch{this.ports.log("account_check_failed"),this.settle(a,"failed","account_check_failed",!1);return}if(!C(b,j)){this.ports.log("account_mismatch"),this.settle(a,"account-mismatch",null,!1);return}try{let b=await (0,q.Cl)(k,{windowStart:i.startAt,windowEnd:i.endAt,groups:e.settings.groups,promptVersion:h.BL});c=(0,v.uc)(a,b)}catch{this.ports.log("sources_failed"),this.settle(a,"failed","sources_failed",!1);return}}finally{l()}if((0,v.rD)().active?.runId!==a)return void(0,v.jc)(a);if(this.ports.connection().credentialRef!==j.credentialRef){this.ports.log("account_mismatch"),(0,v.jc)(a),this.settle(a,"account-mismatch",null,!1);return}let m=(0,h.Y_)({windowStart:i.startAt,windowEnd:i.endAt,sourcesPath:c,outputPath:(0,v.sk)(a),instructions:(0,v.kG)((0,v.rD)())});try{d=await this.ports.spawn({body:{engine:"codex",model:(0,f.Gh)("codex"),effort:"medium",cwd:(0,v.lN)(),title:(0,h.sg)({windowStart:i.startAt,windowEnd:i.endAt}),clientAttemptId:p(a),project:"telegram-reports",prompt:m},grantActive:()=>this.grantActive(j.credentialRef)})}catch{this.ports.log("launch_failed"),this.settle(a,"failed","launch_failed",!1);return}let n="string"==typeof d.body.conversationId?d.body.conversationId:null;if(!(d.status>=200&&d.status<300&&!1!==d.body.ok&&null!==n)){this.ports.log("launch_rejected"),this.settle(a,"failed","launch_failed",!1);return}(0,v.k)(b=>{b.active?.runId===a&&(b.active.conversationId=n)})}async relinkActiveRun(a){if(this.planning.has(a))return null;let b=await this.ports.reportRunConversation(a);return b?((0,v.k)(c=>{c.active?.runId!==a||c.active.conversationId||(c.active.conversationId=b)}),b):null}async finalizeActiveRun(){let a=(0,v.rD)().active;if(!a)return;let b=(0,v.H$)(a.runId),c=(0,h.U$)(b);if("ok"===c.kind){(0,v.$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>x,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,v.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 i=k(this.ports.now(),g.cz);this.ports.now()>=m(i,f.settings.time,g.cz)&&(f.cursor.lastScheduledDay=i)}),d?(0,v.jc)(a):(0,v.FF)(a)}recordFailure(a,b,c=o(this.ports.now(),(0,v.rD)().cursor)){let d=new Date(this.ports.now()).toISOString();return(0,v.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}}}function C(a,b){return!!(a?.id&&b?.id&&a.id===b.id)}let D=globalThis;function E(){return D.__llvTelegramReportRunner??=new B}function F(){D.__llvTelegramReportTimer||(D.__llvTelegramReportTimer=setInterval(()=>{E().tick()},6e4),D.__llvTelegramReportTimer.unref?.(),E().tick())}function G(a){a?D.__llvTelegramReportRunner=a:delete D.__llvTelegramReportRunner}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=3957,exports.ids=[3957],exports.modules={13957:(a,b,c)=>{c.d(b,{LH:()=>u,yi:()=>w});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f);c(48059);var h=c(24661);let i=g().join("backups","sqlite"),j="storage-incidents.json",k=6048e5;function l(){let a=process.getBuiltinModule?.("bun:sqlite");if(!a)throw Error("state database durability requires the Bun runtime");return a.Database}function m(a){if(!(a instanceof Error))return String(a);let b=a.code;return"string"==typeof b&&b?`${b}: ${a.message}`:a.message}function n(a){for(let b of["","-wal","-shm","-journal"])e().rmSync(`${a}${b}`,{force:!0})}function o(a){return a.toISOString().replace(/[:.]/g,"-")}let p=/^(\d{4}-\d{2}-\d{2})T(\d{2})-(\d{2})-(\d{2})-(\d{3})Z$/;function q(a){return`${a.replace(/\.sqlite$/,"")}-`}function r(a,b){let c;try{c=e().readdirSync(a)}catch{return[]}let d=q(b),f=[];for(let b of c){if(!b.startsWith(d)||!b.endsWith(".sqlite"))continue;let c=function(a){let b=p.exec(a);if(!b)return null;let c=Date.parse(`${b[1]}T${b[2]}:${b[3]}:${b[4]}.${b[5]}Z`);return Number.isFinite(c)?c:null}(b.slice(d.length,-7));if(null===c)continue;let h=g().join(a,b),i=0;try{i=e().statSync(h).size}catch{continue}f.push({name:b,file:h,at:c,bytes:i})}return f.sort((a,b)=>b.at-a.at)}function s(a){return g().join(a,j)}function t(a){let b,c,d=s(a);try{b=e().readFileSync(d,"utf8")}catch{return[]}try{c=JSON.parse(b)}catch(b){let a=`${d}.unreadable-${o(new Date)}`;try{e().renameSync(d,a),console.error(`[state durability] ${j} did not parse (${m(b)}); kept as ${g().basename(a)}`)}catch{}return[]}return c&&"object"==typeof c&&Array.isArray(c.incidents)?c.incidents.filter(a=>!!a&&"object"==typeof a&&"string"==typeof a.kind&&"string"==typeof a.database&&"string"==typeof a.at):[]}function u(a,b={}){let c=(b.now??new Date).getTime();return t(a).filter(a=>{let b=Date.parse(a.at);return Number.isFinite(b)&&c-b<=k})}function v(a,b,c){let d=t(a).findLast(a=>a.kind===b.kind&&a.database===b.database);(!d||c.getTime()-Date.parse(d.at)>=864e5)&&function(a,b){let c=[...t(a),b].slice(-50);try{(0,h.fZ)(s(a),{version:1,incidents:c})}catch(a){console.error(`[state durability] could not record the incident: ${m(a)}`)}console.error(`[state durability] ${b.kind} ${b.database}: ${b.message}`)}(a,b)}function w(a){return{outcomes:[...function(a,b,c={}){let d,f=[{name:"state.sqlite",filename:(d=b=>g().join(a,b))("state.sqlite"),check:"integrity_check",backup:{intervalMs:6e5,retention:{kind:"tiered"}},revisionSql:"SELECT (SELECT COUNT(*) FROM state_collections) || ':' || (SELECT COALESCE(SUM(revision), 0) FROM state_collections) AS revision"},{name:"agent-registry.sqlite",filename:d("agent-registry.sqlite"),check:"integrity_check",backup:{intervalMs:6e5,retention:{kind:"tiered"}},revisionSql:"SELECT value AS revision FROM registry_meta WHERE key = 'revision'"},{name:"mcp-receipts.sqlite",filename:d("mcp-receipts.sqlite"),check:"quick_check",backup:{intervalMs:864e5,retention:{kind:"newest",count:3}},revisionSql:null},{name:"handoff-queue.sqlite",filename:d("handoff-queue.sqlite"),check:"quick_check",backup:null,revisionSql:null}],j=g().join(a,i),k=new Map;for(let d of f){let f;try{f=function(a,b){if(!a.backup)return{state:"disabled"};if(!function(a){try{return e().lstatSync(a),!0}catch{return!1}}(a.filename))return{state:"absent"};let c=b.now??new Date,d=r(b.backupDirectory,a.name)[0];if(d&&c.getTime()-d.at<a.backup.intervalMs)return{state:"not-due"};let f=function(a){if(a.revisionSql){let b=null;try{(b=new(l())(a.filename,{readonly:!0})).exec("PRAGMA busy_timeout = 5000");let c=b.query(a.revisionSql).get();if(c&&null!==c.revision&&void 0!==c.revision)return`rev:${String(c.revision)}`}catch{}finally{b?.close()}}return`sig:${function(a){let b=[];for(let c of[a,`${a}-wal`])try{let a=e().statSync(c,{bigint:!0});b.push(`${a.size}@${a.mtimeNs}`)}catch{b.push("missing")}return b.join("|")}(a.filename)}`}(a);if(b.lastRevision&&b.lastRevision===f)return{state:"unchanged",revision:f};e().mkdirSync(b.backupDirectory,{recursive:!0,mode:448});let i=0;for(let b of["","-wal"])try{i+=e().statSync(`${a.filename}${b}`).size}catch{}let j=(b.freeBytes??function(a){try{let b=e().statfsSync(a);return Number(b.bavail)*Number(b.bsize)}catch{return null}})(b.backupDirectory);if(null!==j&&j<2*i){let b={kind:"backup-skipped-low-space",database:a.name,at:c.toISOString(),message:`The backup of ${a.name} was skipped: ${j} bytes are free and it needs twice the database (${2*i} bytes).`+(d?` The newest backup is from ${new Date(d.at).toISOString()}.`:" There is no backup yet."),corruptFiles:[],backup:d?.name??null,backupAt:d?new Date(d.at).toISOString():null,backupAgeMs:d?c.getTime()-d.at:null,detail:null};return v(g().dirname(a.filename),b,c),{state:"skipped-low-space",incident:b}}let k=`${q(a.name)}${o(c)}.sqlite`,p=g().join(b.backupDirectory,k),s=`${p}.partial`;n(s);let t=null;try{(t=new(l())(a.filename,{readonly:!0})).exec("PRAGMA busy_timeout = 5000"),t.query("VACUUM INTO ?").run(s)}catch(a){return n(s),{state:"failed",detail:m(a)}}finally{t?.close()}try{let a=new(l())(s,{readwrite:!0});try{a.exec("PRAGMA journal_mode = DELETE")}finally{a.close()}let c=function(a,b,c){let d=null;try{let e=l();(d=c?new e(a,{readonly:!0}):new e(a,{readwrite:!0})).exec("PRAGMA busy_timeout = 5000");let f=d.query(`PRAGMA ${b}`).all().map(a=>String(Object.values(a)[0]));if(1===f.length&&"ok"===f[0])return{verdict:"ok"};return{verdict:"corrupt",detail:`${b}: ${f.slice(0,5).join("; ")||"no result"}`}}catch(a){return!function(a){let b=a instanceof Error?a.code:void 0;if("string"==typeof b&&/^SQLITE_(CORRUPT|NOTADB)/.test(b))return!0;let c=a instanceof Error?a.message:String(a);return/database disk image is malformed|file is not a database/i.test(c)}(a)?{verdict:"unknown",detail:m(a)}:{verdict:"corrupt",detail:m(a)}}finally{d?.close()}}(s,"integrity_check",!1);if("ok"!==c.verdict)throw Error(`the copy failed its check: ${(c.verdict,c.detail)}`);e().rmSync(`${s}-shm`,{force:!0}),e().chmodSync(s,384),(0,h.Hr)(s),e().renameSync(s,p),(0,h.Hr)(b.backupDirectory)}catch(a){return n(s),{state:"failed",detail:m(a)}}return{state:"taken",file:p,revision:f,bytes:e().statSync(p).size}}(d,{backupDirectory:j,...c.now?{now:c.now}:{},...c.freeBytes?{freeBytes:c.freeBytes}:{},lastRevision:b.get(d.name)??null})}catch(a){f={state:"failed",detail:m(a)}}if(("taken"===f.state||"unchanged"===f.state)&&b.set(d.name,f.revision),"failed"===f.state){let b=c.now??new Date,e=r(j,d.name)[0];v(a,{kind:"backup-failed",database:d.name,at:b.toISOString(),message:`The backup of ${d.name} failed: ${f.detail}.`+(e?` The newest good backup is from ${new Date(e.at).toISOString()}.`:" There is no backup yet."),corruptFiles:[],backup:e?.name??null,backupAt:e?new Date(e.at).toISOString():null,backupAgeMs:e?b.getTime()-e.at:null,detail:f.detail},b)}k.set(d.name,f)}try{!function(a,b,c={}){let d=(c.now??new Date).getTime(),f=c.budgetBytes??0x80000000,g=[],h=a=>{try{e().rmSync(a.file,{force:!0}),g.push(a.name)}catch(b){console.error(`[state durability] could not evict ${a.name}: ${m(b)}`)}},i=[];for(let c of b){if(!c.backup)continue;let b=r(a,c.name),e=function(a,b,c){if("newest"===b.kind)return new Set(a.slice(0,b.count));let d=new Set(a.slice(0,6)),e=new Set,f=new Set;for(let b of a.slice(6)){let a=c-b.at;if(a<=864e5){let a=Math.floor(b.at/144e5);e.size<6&&!e.has(a)&&(e.add(a),d.add(b))}else if(a<=3456e5){let a=Math.floor(b.at/864e5);f.size<3&&!f.has(a)&&(f.add(a),d.add(b))}}return d}(b,c.backup.retention,d);b.forEach((a,b)=>{e.has(a)?i.push({backup:a,evictable:b>=3}):h(a)})}let j=i.reduce((a,b)=>a+b.backup.bytes,0);for(let a of i.filter(a=>a.evictable).sort((a,b)=>a.backup.at-b.backup.at)){if(j<=f)break;h(a.backup),j-=a.backup.bytes}}(j,f,{...c.now?{now:c.now}:{},...void 0!==c.budgetBytes?{budgetBytes:c.budgetBytes}:{}}),function(a,b){let c;try{c=e().readdirSync(a)}catch{return}for(let d of c){if(!/\.sqlite\.partial(-wal|-shm|-journal)?$/.test(d))continue;let c=g().join(a,d);try{b-e().statSync(c).mtimeMs>=36e5&&e().rmSync(c,{force:!0})}catch{}}}(j,(c.now??new Date).getTime())}catch(a){console.error(`[state durability] backup retention failed: ${m(a)}`)}return k}(a.stateDirectory,new Map(a.lastRevisions))]}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=4037,exports.ids=[4037],exports.modules={64037:(a,b,c)=>{c.r(b),c.d(b,{ORCHESTRATOR_SEATS_SCHEMA_VERSION:()=>m,ORCHESTRATOR_SEAT_HISTORY_CAP:()=>n,abandonStillbornOrchestratorSeat:()=>I,activeOrchestratorSeats:()=>K,activeOrchestratorSeatsForMigration:()=>N,activeOrchestratorSeatsOrUnknown:()=>L,beginOrchestratorSeatIntent:()=>E,canonicalOrchestratorProject:()=>p,completeOrchestratorSeatIntent:()=>F,confirmOrchestratorSeatMaterialization:()=>J,failOrchestratorSeatIntent:()=>H,orchestratorRevocations:()=>P,orchestratorSeatFor:()=>D,orchestratorSeatForOrUnknown:()=>M,readOrchestratorSeatFile:()=>x,rekeyOrchestratorSeatPaths:()=>O,repairOrchestratorSeatRuntimeIdentity:()=>G,revokedOrchestratorSeatConversationsOrUnknown:()=>Q});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(14071),k=c(50920),l=c(65465);let m=1,n=50,o=()=>(0,k.BQ)("orchestrator-seats.json");function p(a){return(0,l.G$)(a.trim())}function q(){return{schemaVersion:m,nextSeatEpoch:1,seats:{},pending:{},revocations:[],history:[],rollbacks:{}}}function r(a,b){g().mkdirSync(i().dirname(a),{recursive:!0});let c=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`);g().writeFileSync(c,JSON.stringify(b,null,2)+"\n","utf8"),g().renameSync(c,a)}function s(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 t(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:s(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 u(a,b){return a.history.push(b),a.history.length>n&&a.history.splice(0,a.history.length-n),b}function v(a,b){let c=a[b.project];(!c||b.seatEpoch>c.seatEpoch)&&(a[b.project]=b)}function w(){let a;try{a=g().readFileSync(o(),"utf8")}catch(a){return a?.code==="ENOENT"?q():null}try{let b=JSON.parse(a);if(b.schemaVersion!==m)return null;let c=q();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=t(d);b&&b.project===a&&"active"===b.state&&b.conversationId&&v(c.seats,{...b,project:p(a)})}for(let[a,d]of Object.entries(b.pending??{})){let b=t(d);b&&b.project===a&&"pending"===b.state&&v(c.pending,{...b,project:p(a)})}for(let[a,d]of Object.entries(b.rollbacks??{})){let b=t(d);b&&b.conversationId&&(c.rollbacks[p(a)]=b)}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:p(a.project),conversationId:a.conversationId,seatEpoch:a.seatEpoch,revokedAt:a.revokedAt,successorConversationId:"string"==typeof a.successorConversationId?a.successorConversationId:null,triggeredBy:s(a.triggeredBy)});for(let a of Array.isArray(b.history)?b.history:[]){let b=t(a.seat);b&&("terminal_error"===a.reason||"superseded_epoch"===a.reason)&&"string"==typeof a.terminalizedAt&&c.history.push({seat:{...b,project:p(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),...Object.values(c.rollbacks).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}}function x(){return w()??q()}function y(a){return void 0===a?Error("orchestrator seat evidence is malformed"):Error("orchestrator seat evidence is malformed",{cause:a})}function z(a,b){if(void 0===a)return{};if(!a||"object"!=typeof a||Array.isArray(a))throw y(Error(`${b} is invalid`));return a}function A(a,b){if(void 0===a)return[];if(!Array.isArray(a))throw y(Error(`${b} is invalid`));return a}function B(){let a,b;try{a=g().readFileSync(o(),"utf8")}catch(a){if(a&&"object"==typeof a&&"ENOENT"===a.code)return{raw:null,normalized:q()};throw a}try{b=JSON.parse(a)}catch(a){throw y(a)}if(!b||"object"!=typeof b||Array.isArray(b))throw y();let c=b;if(c.schemaVersion!==m||"number"!=typeof c.nextSeatEpoch||!Number.isInteger(c.nextSeatEpoch)||c.nextSeatEpoch<1)throw y();let d=q();for(let[a,b]of(d.nextSeatEpoch=c.nextSeatEpoch,Object.entries(z(c.seats,"seats")))){let c=t(b);if(!c||c.project!==a||"active"!==c.state||!c.conversationId)throw y();let e=p(a);if(d.seats[e])throw y();d.seats[e]={...c,project:e}}for(let[a,b]of Object.entries(z(c.pending,"pending"))){let c=t(b);if(!c||c.project!==a||"pending"!==c.state)throw y();let e=p(a);if(d.pending[e])throw y();d.pending[e]={...c,project:e}}for(let a of A(c.revocations,"revocations")){if(!a||"object"!=typeof a||"string"!=typeof a.project||!a.project||"string"!=typeof a.conversationId||!a.conversationId||"number"!=typeof a.seatEpoch||!Number.isInteger(a.seatEpoch)||a.seatEpoch<1||"string"!=typeof a.revokedAt||void 0!==a.successorConversationId&&null!==a.successorConversationId&&"string"!=typeof a.successorConversationId)throw y();d.revocations.push({project:p(a.project),conversationId:a.conversationId,seatEpoch:a.seatEpoch,revokedAt:a.revokedAt,successorConversationId:a.successorConversationId??null,triggeredBy:s(a.triggeredBy)})}for(let a of A(c.history,"history")){let b=t(a?.seat);if(!a||!b||"terminal_error"!==a.reason&&"superseded_epoch"!==a.reason||"string"!=typeof a.terminalizedAt)throw y();d.history.push({seat:{...b,project:p(b.project)},reason:a.reason,terminalizedAt:a.terminalizedAt})}return{raw:c,normalized:d}}function C(a){r(o(),a)}function D(a){let b=x(),c=p(a);return{active:b.seats[c]??null,pending:b.pending[c]??null,history:b.history.filter(a=>a.seat.project===c)}}function E(a){return(0,j.oV)(()=>{let b,c=x(),d=p(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=u(c,{seat:f,reason:null!==f.intent.error?"terminal_error":"superseded_epoch",terminalizedAt:a.now??new Date().toISOString()}),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,C(c),{kind:"begun",seat:g,...b?{terminalized:b}:{}}})}function F(a){return(0,j.oV)(()=>{let b=x(),c=p(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)),"spawn"===e.intent.mode&&null===a.path&&d?.conversationId&&d.conversationId!==a.conversationId?b.rollbacks[c]=d:delete b.rollbacks[c];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,C(b),{kind:"activated",seat:h,revoked:g}})}function G(a){return(0,j.oV)(()=>{let b=x(),c=p(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,C(b),g})}function H(a,b,c,d){return(0,j.oV)(()=>{let e=x(),f=p(a),g=e.pending[f];if(!g||g.intent.clientRequestId!==b)return null;g.intent.error=c.slice(0,500);let h=u(e,{seat:g,reason:"terminal_error",terminalizedAt:d??new Date().toISOString()});return delete e.pending[f],C(e),h})}function I(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.intent.clientRequestId!==a.clientRequestId||"active"!==d.state||"spawn"!==d.intent.mode||null!==d.path||!d.conversationId)return null;let e=a.now??new Date().toISOString(),f=b.rollbacks[c]??null,g=f?null:[...b.revocations].reverse().find(a=>a.project===c&&a.successorConversationId===d.conversationId)?.conversationId??null,h=f??(g?a.restorableSeat?.({conversationId:g,stillborn:d})??null:null),i=!!(h?.conversationId&&a.resolvable&&!a.resolvable(h.conversationId)),j=i?null:h,k=null;j?.conversationId?(k={...j,project:c,seatEpoch:b.nextSeatEpoch,state:"active",activatedAt:e},b.nextSeatEpoch+=1,b.seats[c]=k):delete b.seats[c],b.revocations.push({project:c,conversationId:d.conversationId,seatEpoch:d.seatEpoch,revokedAt:e,successorConversationId:k?.conversationId??null,triggeredBy:d.triggeredBy??null}),delete b.rollbacks[c];let l=i?`${a.error}; the predecessor ${h.conversationId} it would have been rolled back to is no longer resolvable either, so the project is left undesignated`:a.error,m=u(b,{seat:{...d,intent:{...d.intent,error:l.slice(0,500)}},reason:"terminal_error",terminalizedAt:e});return C(b),{terminalized:m,restored:k}})}function J(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.intent.clientRequestId!==a.clientRequestId||d.conversationId!==a.conversationId)return null;if(d.path===a.path&&!b.rollbacks[c])return d;let e={...d,path:a.path};return b.seats[c]=e,delete b.rollbacks[c],C(b),e})}function K(){return Object.values(x().seats)}function L(){let a=w();return null===a?null:Object.values(a.seats)}function M(a){let b=w();if(null===b)return null;let c=p(a);return{active:b.seats[c]??null,pending:b.pending[c]??null}}function N(){return Object.values(B().normalized.seats)}function O(a){0!==a.length&&(0,j.oV)(()=>{let b=B();if(!b.raw||0===Object.keys(b.normalized.seats).length)return;let c=new Map(a.map(a=>[a.legacyPath,a.sharedPath])),d=z(b.raw.seats,"seats"),e=!1;for(let a of Object.values(d)){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.path)continue;let b=c.get(a.path);b&&(a.path=b,e=!0)}e&&r(o(),b.raw)})}function P(){return x().revocations}function Q(a=a=>a){let b=w();if(null===b)return null;let c=new Map,d=b=>{if(!b.conversationId)return;let d=a(b.conversationId);c.set(d,Math.max(c.get(d)??0,b.seatEpoch))};for(let a of Object.values(b.seats))d(a);for(let a of Object.values(b.pending))null===a.intent.error&&d(a);let e=new Set;for(let d of b.revocations){let b=a(d.conversationId);d.seatEpoch>=(c.get(b)??0)&&e.add(b)}return e}}};
|
|
1
|
+
"use strict";exports.id=4037,exports.ids=[4037,6418],exports.modules={14071:(a,b,c)=>{c.d(b,{Cu:()=>E,gB:()=>p,oV:()=>D});var d=c(16698),e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(50920),l=c(51826);let m=globalThis.__llvAccountMutationRuntime??={transactionContext:new d.AsyncLocalStorage,localWaiters:[],localHeld:!1},n=m.transactionContext,o=m.localWaiters;class p extends Error{constructor(a="account mutation is busy; retry shortly"){super(a),this.name="AccountMutationBusyError"}}function q(){let a=o.shift();a?a():m.localHeld=!1}async function r(){return m.localHeld?await new Promise(a=>o.push(a)):m.localHeld=!0,q}let s=function(){try{return h().readlinkSync("/proc/self/ns/pid")}catch{return null}}();function t(a,b){try{return Date.now()-h().statSync(a).mtimeMs>b}catch{return!1}}function u(a,b=null){if(null!==b&&t(a,b))return!0;try{let b=JSON.parse(h().readFileSync(a,"utf8"));if("number"==typeof b.pid&&Number.isInteger(b.pid)&&b.pid>0){if(("string"==typeof b.ns?b.ns:null)!==s)return t(a,3e4);if(!l.B.pidAlive(b.pid))return!0;if("string"!=typeof b.startIdentity)return!1;let c=l.B.processIdentity(b.pid);return null!==c&&c!==b.startIdentity}return t(a,3e4)}catch{return t(a,3e4)}}function v(a,b){try{JSON.parse(h().readFileSync(a,"utf8")).token===b&&h().rmSync(a,{force:!0})}catch{}}function w(){try{let a=JSON.parse(h().readFileSync((0,k.BQ)("account-mutation-revision.json"),"utf8"));return 1===a.version&&Number.isSafeInteger(a.revision)&&a.revision>=0?a.revision:0}catch{return 0}}function x(){let a=(0,k.BQ)("account-selection.lock"),b=`${a}.queue`;h().mkdirSync(b,{recursive:!0,mode:448});let c={pid:process.pid,startIdentity:l.B.processIdentity(process.pid),ns:s,token:f().randomUUID()},d=j().join(b,`${String(Date.now()).padStart(16,"0")}-${process.pid}-${f().randomUUID()}.json`);return h().writeFileSync(d,JSON.stringify(c),{encoding:"utf8",flag:"wx",mode:384}),{lock:a,queue:b,owner:c,ticket:d}}function y(a){let b=new Date;try{return h().utimesSync(a,b,b),!0}catch{return!1}}function z(a){let b,c=[];for(let b of h().readdirSync(a.queue).filter(a=>a.endsWith(".json")).sort()){let d=j().join(a.queue,b);if(d!==a.ticket&&u(d,6e5)){h().rmSync(d,{force:!0});continue}h().existsSync(d)&&c.push(d)}if(c[0]!==a.ticket)return null;try{b=h().openSync(a.lock,"wx",384)}catch(b){if("EEXIST"!==b.code)throw b;return u(a.lock)&&h().rmSync(a.lock,{force:!0}),null}try{h().writeFileSync(b,JSON.stringify(a.owner),"utf8"),h().fsyncSync(b)}catch(c){throw h().closeSync(b),h().rmSync(a.lock,{force:!0}),c}let d={active:!0,revision:w()},e=setInterval(()=>y(a.lock),1e4);return e.unref?.(),{context:d,release(){clearInterval(e),d.active=!1,h().closeSync(b),v(a.lock,a.owner.token),v(a.ticket,a.owner.token)}}}function A(a,b){return{context:a.context,release(){try{a.release()}finally{b()}}}}async function B(){let a=await r(),b=null;try{b=x();let d=Date.now();for(let e=0;e<2e3;e+=1){let e=z(b);if(e)return A(e,a);if(Date.now()-d>=1e4){d=Date.now();var c=b;if(!y(c.ticket))try{h().writeFileSync(c.ticket,JSON.stringify(c.owner),{encoding:"utf8",mode:384})}catch{}}await new Promise(a=>setTimeout(a,5))}throw Error("account mutation is busy; retry shortly")}catch(c){throw b&&v(b.ticket,b.owner.token),a(),c}}function C(a){!function(a){let b=(0,k.BQ)("account-mutation-revision.json");if(w()!==a)throw Error("account mutation revision fence changed while locked");let c=`${b}.${process.pid}.${f().randomUUID()}.tmp`;h().mkdirSync(j().dirname(b),{recursive:!0,mode:448});try{h().writeFileSync(c,JSON.stringify({version:1,revision:a+1})+"\n",{mode:384});let d=h().openSync(c,"r");try{h().fsyncSync(d)}finally{h().closeSync(d)}h().renameSync(c,b)}finally{h().rmSync(c,{force:!0})}}(a.revision),a.revision+=1}function D(a){let b=n.getStore();if(b?.active)return a();let c=function(){let a=function(){if(m.localHeld)throw new p("account mutation is busy in this process; retry shortly");return m.localHeld=!0,q}(),b=null;try{b=x();for(let c=0;c<2;c+=1){let c=z(b);if(c)return A(c,a)}throw new p}catch(c){throw b&&v(b.ticket,b.owner.token),a(),c}}();try{return C(c.context),n.run(c.context,a)}finally{c.release()}}async function E(a){let b=n.getStore();if(b?.active)return a();let c=await B();try{return C(c.context),await n.run(c.context,a)}finally{c.release()}}},64037:(a,b,c)=>{c.r(b),c.d(b,{ORCHESTRATOR_SEATS_SCHEMA_VERSION:()=>m,ORCHESTRATOR_SEAT_HISTORY_CAP:()=>n,abandonStillbornOrchestratorSeat:()=>I,activeOrchestratorSeats:()=>K,activeOrchestratorSeatsForMigration:()=>N,activeOrchestratorSeatsOrUnknown:()=>L,beginOrchestratorSeatIntent:()=>E,canonicalOrchestratorProject:()=>p,completeOrchestratorSeatIntent:()=>F,confirmOrchestratorSeatMaterialization:()=>J,failOrchestratorSeatIntent:()=>H,orchestratorRevocations:()=>P,orchestratorSeatFor:()=>D,orchestratorSeatForOrUnknown:()=>M,readOrchestratorSeatFile:()=>x,rekeyOrchestratorSeatPaths:()=>O,repairOrchestratorSeatRuntimeIdentity:()=>G,revokedOrchestratorSeatConversationsOrUnknown:()=>Q});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(14071),k=c(50920),l=c(65465);let m=1,n=50,o=()=>(0,k.BQ)("orchestrator-seats.json");function p(a){return(0,l.G$)(a.trim())}function q(){return{schemaVersion:m,nextSeatEpoch:1,seats:{},pending:{},revocations:[],history:[],rollbacks:{}}}function r(a,b){g().mkdirSync(i().dirname(a),{recursive:!0});let c=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`);g().writeFileSync(c,JSON.stringify(b,null,2)+"\n","utf8"),g().renameSync(c,a)}function s(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 t(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,..."string"==typeof a.roleTable?{roleTable:a.roleTable}:{},promptVersion:"number"==typeof a.promptVersion&&Number.isInteger(a.promptVersion)?a.promptVersion:null,predecessorConversationId:"string"==typeof a.predecessorConversationId?a.predecessorConversationId:null,triggeredBy:s(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 u(a,b){return a.history.push(b),a.history.length>n&&a.history.splice(0,a.history.length-n),b}function v(a,b){let c=a[b.project];(!c||b.seatEpoch>c.seatEpoch)&&(a[b.project]=b)}function w(){let a;try{a=g().readFileSync(o(),"utf8")}catch(a){return a?.code==="ENOENT"?q():null}try{let b=JSON.parse(a);if(b.schemaVersion!==m)return null;let c=q();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=t(d);b&&b.project===a&&"active"===b.state&&b.conversationId&&v(c.seats,{...b,project:p(a)})}for(let[a,d]of Object.entries(b.pending??{})){let b=t(d);b&&b.project===a&&"pending"===b.state&&v(c.pending,{...b,project:p(a)})}for(let[a,d]of Object.entries(b.rollbacks??{})){let b=t(d);b&&b.conversationId&&(c.rollbacks[p(a)]=b)}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:p(a.project),conversationId:a.conversationId,seatEpoch:a.seatEpoch,revokedAt:a.revokedAt,successorConversationId:"string"==typeof a.successorConversationId?a.successorConversationId:null,triggeredBy:s(a.triggeredBy)});for(let a of Array.isArray(b.history)?b.history:[]){let b=t(a.seat);b&&("terminal_error"===a.reason||"superseded_epoch"===a.reason)&&"string"==typeof a.terminalizedAt&&c.history.push({seat:{...b,project:p(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),...Object.values(c.rollbacks).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}}function x(){return w()??q()}function y(a){return void 0===a?Error("orchestrator seat evidence is malformed"):Error("orchestrator seat evidence is malformed",{cause:a})}function z(a,b){if(void 0===a)return{};if(!a||"object"!=typeof a||Array.isArray(a))throw y(Error(`${b} is invalid`));return a}function A(a,b){if(void 0===a)return[];if(!Array.isArray(a))throw y(Error(`${b} is invalid`));return a}function B(){let a,b;try{a=g().readFileSync(o(),"utf8")}catch(a){if(a&&"object"==typeof a&&"ENOENT"===a.code)return{raw:null,normalized:q()};throw a}try{b=JSON.parse(a)}catch(a){throw y(a)}if(!b||"object"!=typeof b||Array.isArray(b))throw y();let c=b;if(c.schemaVersion!==m||"number"!=typeof c.nextSeatEpoch||!Number.isInteger(c.nextSeatEpoch)||c.nextSeatEpoch<1)throw y();let d=q();for(let[a,b]of(d.nextSeatEpoch=c.nextSeatEpoch,Object.entries(z(c.seats,"seats")))){let c=t(b);if(!c||c.project!==a||"active"!==c.state||!c.conversationId)throw y();let e=p(a);if(d.seats[e])throw y();d.seats[e]={...c,project:e}}for(let[a,b]of Object.entries(z(c.pending,"pending"))){let c=t(b);if(!c||c.project!==a||"pending"!==c.state)throw y();let e=p(a);if(d.pending[e])throw y();d.pending[e]={...c,project:e}}for(let a of A(c.revocations,"revocations")){if(!a||"object"!=typeof a||"string"!=typeof a.project||!a.project||"string"!=typeof a.conversationId||!a.conversationId||"number"!=typeof a.seatEpoch||!Number.isInteger(a.seatEpoch)||a.seatEpoch<1||"string"!=typeof a.revokedAt||void 0!==a.successorConversationId&&null!==a.successorConversationId&&"string"!=typeof a.successorConversationId)throw y();d.revocations.push({project:p(a.project),conversationId:a.conversationId,seatEpoch:a.seatEpoch,revokedAt:a.revokedAt,successorConversationId:a.successorConversationId??null,triggeredBy:s(a.triggeredBy)})}for(let a of A(c.history,"history")){let b=t(a?.seat);if(!a||!b||"terminal_error"!==a.reason&&"superseded_epoch"!==a.reason||"string"!=typeof a.terminalizedAt)throw y();d.history.push({seat:{...b,project:p(b.project)},reason:a.reason,terminalizedAt:a.terminalizedAt})}return{raw:c,normalized:d}}function C(a){r(o(),a)}function D(a){let b=x(),c=p(a);return{active:b.seats[c]??null,pending:b.pending[c]??null,history:b.history.filter(a=>a.seat.project===c)}}function E(a){return(0,j.oV)(()=>{let b,c=x(),d=p(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=u(c,{seat:f,reason:null!==f.intent.error?"terminal_error":"superseded_epoch",terminalizedAt:a.now??new Date().toISOString()}),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,..."string"==typeof a.roleTable?{roleTable:a.roleTable}:{},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,C(c),{kind:"begun",seat:g,...b?{terminalized:b}:{}}})}function F(a){return(0,j.oV)(()=>{let b=x(),c=p(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)),"spawn"===e.intent.mode&&null===a.path&&d?.conversationId&&d.conversationId!==a.conversationId?b.rollbacks[c]=d:delete b.rollbacks[c];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,C(b),{kind:"activated",seat:h,revoked:g}})}function G(a){return(0,j.oV)(()=>{let b=x(),c=p(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,C(b),g})}function H(a,b,c,d){return(0,j.oV)(()=>{let e=x(),f=p(a),g=e.pending[f];if(!g||g.intent.clientRequestId!==b)return null;g.intent.error=c.slice(0,500);let h=u(e,{seat:g,reason:"terminal_error",terminalizedAt:d??new Date().toISOString()});return delete e.pending[f],C(e),h})}function I(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.intent.clientRequestId!==a.clientRequestId||"active"!==d.state||"spawn"!==d.intent.mode||null!==d.path||!d.conversationId)return null;let e=a.now??new Date().toISOString(),f=b.rollbacks[c]??null,g=f?null:[...b.revocations].reverse().find(a=>a.project===c&&a.successorConversationId===d.conversationId)?.conversationId??null,h=f??(g?a.restorableSeat?.({conversationId:g,stillborn:d})??null:null),i=!!(h?.conversationId&&a.resolvable&&!a.resolvable(h.conversationId)),j=i?null:h,k=null;j?.conversationId?(k={...j,project:c,seatEpoch:b.nextSeatEpoch,state:"active",activatedAt:e},b.nextSeatEpoch+=1,b.seats[c]=k):delete b.seats[c],b.revocations.push({project:c,conversationId:d.conversationId,seatEpoch:d.seatEpoch,revokedAt:e,successorConversationId:k?.conversationId??null,triggeredBy:d.triggeredBy??null}),delete b.rollbacks[c];let l=i?`${a.error}; the predecessor ${h.conversationId} it would have been rolled back to is no longer resolvable either, so the project is left undesignated`:a.error,m=u(b,{seat:{...d,intent:{...d.intent,error:l.slice(0,500)}},reason:"terminal_error",terminalizedAt:e});return C(b),{terminalized:m,restored:k}})}function J(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.intent.clientRequestId!==a.clientRequestId||d.conversationId!==a.conversationId)return null;if(d.path===a.path&&!b.rollbacks[c])return d;let e={...d,path:a.path};return b.seats[c]=e,delete b.rollbacks[c],C(b),e})}function K(){return Object.values(x().seats)}function L(){let a=w();return null===a?null:Object.values(a.seats)}function M(a){let b=w();if(null===b)return null;let c=p(a);return{active:b.seats[c]??null,pending:b.pending[c]??null}}function N(){return Object.values(B().normalized.seats)}function O(a){0!==a.length&&(0,j.oV)(()=>{let b=B();if(!b.raw||0===Object.keys(b.normalized.seats).length)return;let c=new Map(a.map(a=>[a.legacyPath,a.sharedPath])),d=z(b.raw.seats,"seats"),e=!1;for(let a of Object.values(d)){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.path)continue;let b=c.get(a.path);b&&(a.path=b,e=!0)}e&&r(o(),b.raw)})}function P(){return x().revocations}function Q(a=a=>a){let b=w();if(null===b)return null;let c=new Map,d=b=>{if(!b.conversationId)return;let d=a(b.conversationId);c.set(d,Math.max(c.get(d)??0,b.seatEpoch))};for(let a of Object.values(b.seats))d(a);for(let a of Object.values(b.pending))null===a.intent.error&&d(a);let e=new Set;for(let d of b.revocations){let b=a(d.conversationId);d.seatEpoch>=(c.get(b)??0)&&e.add(b)}return e}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=4651,exports.ids=[4651],exports.modules={1553:(a,b,c)=>{c.d(b,{Q:()=>f,Y:()=>e});var d=c(33330);function e(a,b){let c=b.canonicalConversationId??(a=>a),e=(b.ttlSeconds??d.jk)*1e3,f=new Set(a.answeredRefs??[]),g=b.deliveredOperation;if(g)for(let b of a.pendingAnswers??[])g(b.operationId)&&f.add(b.ref);let h=new Map;for(let b of a.reports){if(null!==(0,d.Wf)(b.origin)||!b.project||!b.targetSeatConversationId)continue;let a=h.get(b.project);(!a||b.seq>a.seq)&&h.set(b.project,b)}let i=new Map;for(let a of h.values()){var j;let g=a.targetSeatConversationId;if(!g||!(0,d.FC)(a.class)||f.has(a.seq))continue;let h=Date.parse(a.at);if(!Number.isFinite(h)||b.now.getTime()-h>e)continue;let k=(j=a,j.key?.trim()||null);null!==k&&i.set(c(g),{id:k,at:a.at})}return i}function f(a,b){if(0!==b.size)for(let c of a){if(c.supersededBy||c.migratedTo)continue;let a=c.conversationId?b.get(c.conversationId):void 0;a&&(c.bridgeAsk=a)}}},33017:(a,b,c)=>{c.d(b,{ng:()=>p});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(2033);function l(){return(0,j.BQ)("root-lineage.json")}class m extends Error{constructor(a,b){super(a,b),this.name="RootLineageStoreError"}}function n(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.conversationId&&a.conversationId.length>0&&(null===a.path||"string"==typeof a.path)&&"string"==typeof a.startedAt&&(void 0===a.endedAt||"string"==typeof a.endedAt)&&(void 0===a.seededFrom||"string"==typeof a.seededFrom)&&(void 0===a.reason||"crash"===(b=a.reason)||"reboot"===b||"rollover"===b||"fresh"===b)}function o(a=l()){var b;let c,d;try{c=g().readFileSync(a,"utf8")}catch(a){if("ENOENT"===a.code)return null;throw new m("could not read the root lineage",{cause:a})}try{d=JSON.parse(c)}catch(a){throw new m("root lineage contains malformed JSON",{cause:a})}if(!(!(!(b=d)||"object"!=typeof b||Array.isArray(b))&&1===b.schemaVersion&&"string"==typeof b.rootId&&b.rootId.length>0&&Number.isInteger(b.revision)&&b.revision>=0&&"string"==typeof b.updatedAt&&Array.isArray(b.sessions)&&b.sessions.every(n)))throw new m("root lineage is not a valid record");return d}function p(a=l()){let b=o(a);return b?b.rootId:(0,k.Ol)(a,"root lineage is busy",()=>{let b=o(a);if(b)return b.rootId;let c={schemaVersion:1,rootId:`root_${crypto.randomUUID()}`,revision:0,updatedAt:new Date().toISOString(),sessions:[]};g().mkdirSync(i().dirname(a),{recursive:!0});let d=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`),f=null;try{f=g().openSync(d,"wx",384),g().writeFileSync(f,JSON.stringify(c,null,2)+"\n","utf8"),g().fsyncSync(f),g().closeSync(f),f=null,g().renameSync(d,a)}finally{null!==f&&g().closeSync(f),g().rmSync(d,{force:!0})}return c.rootId})}},54651:(a,b,c)=>{c.d(b,{zl:()=>C,er:()=>G,QF:()=>F,RS:()=>D,Yb:()=>E});var d=c(10781),e=c(33330),f=c(77276);let g=/"report:(\d+)"/g;var h=c(83169),i=c(56695),j=c(33017),k=c(1553),l=c(77598),m=c.n(l),n=c(73024),o=c.n(n),p=c(91724),q=c(65154),r=c(2033);c(56809);let s="bridge channel is busy";function t(a){return m().createHash("sha256").update(`${a.project}\0${a.seatConversationId}`).digest("hex").slice(0,32)}function u(a){return a?(0,p.BQ)("bridge-channels",`${t(a)}.json`):(0,p.BQ)("bridge.json")}class v extends Error{constructor(a,b){super(`the bridge state at ${a} is unreadable (${b}); move it aside to start a new one`),this.name="BridgeStateCorruptError",this.statePath=a}}function w(a){let b;try{b=o().readFileSync(a,"utf8")}catch(b){if("ENOENT"===b.code)return null;throw new v(a,`it could not be read: ${b.message}`)}try{return JSON.parse(b)}catch{throw new v(a,"it is not valid JSON — the last write was truncated")}}function x(){let a=(0,p.BQ)("bridge-reports.json");return function(a,b){if(null===a)return{schemaVersion:e.$_,lastSeq:0,trimmedThroughSeq:0,trimmedThroughByChannel:{},reports:[],retired:[],answeredRefs:[],pendingAnswers:[]};if("object"!=typeof a||Array.isArray(a))throw new v(b,"its contents are not a report log object");if(void 0!==a.reports&&!Array.isArray(a.reports))throw new v(b,"its reports field is not an array");let c=a.reports??[],d=[];for(let[a,f]of c.entries()){let g=function(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.id||!a.id||!Number.isInteger(a.seq)||a.seq<1||"string"!=typeof a.at||!a.at||!(0,e.J5)(a.class))return null;let b=function(a){if(!(!a||"object"!=typeof a||Array.isArray(a))&&("manager"===a.kind||"agent"===a.kind||"gateway"===a.kind||"unidentified"===a.kind))return"unidentified"===a.kind?{kind:"unidentified",conversationId:null,role:null}:{kind:a.kind,conversationId:"string"==typeof a.conversationId?a.conversationId:null,role:"string"==typeof a.role?a.role:null}}(a.origin),c="string"==typeof a.project?a.project:null===a.project?null:void 0,d="string"==typeof a.targetSeatConversationId?a.targetSeatConversationId:null===a.targetSeatConversationId?null:void 0;return{id:a.id,seq:a.seq,at:a.at,class:a.class,..."string"==typeof a.key&&a.key?{key:a.key}:{},body:"string"==typeof a.body?a.body:"",...b?{origin:b}:{},...void 0!==c?{project:c}:{},...void 0!==d?{targetSeatConversationId:d}:{},..."string"==typeof a.correlatesDirective?{correlatesDirective:a.correlatesDirective}:{}}}(f);if(!g)throw new v(b,`recorded report ${a+1} of ${c.length} is malformed`);d.push(g)}d.sort((a,b)=>a.seq-b.seq);let f=d.at(-1)?.seq??0,g=d[0]?.seq??0,h=Number.isInteger(a.trimmedThroughSeq)?a.trimmedThroughSeq:0,i=function(a){if(!Array.isArray(a))return[];let b=new Set;for(let c of a)Number.isInteger(c)&&c>0&&b.add(c);return[...b].sort((a,b)=>a-b).slice(-e.np)}(a.answeredRefs);return{schemaVersion:e.$_,lastSeq:Math.max(Number.isInteger(a.lastSeq)?a.lastSeq:0,f),trimmedThroughSeq:Math.max(h,g>0?g-1:0),trimmedThroughByChannel:a.trimmedThroughByChannel&&"object"==typeof a.trimmedThroughByChannel&&!Array.isArray(a.trimmedThroughByChannel)?Object.fromEntries(Object.entries(a.trimmedThroughByChannel).filter(a=>Number.isInteger(a[1])&&a[1]>0)):{},reports:d,retired:Array.isArray(a.retired)?a.retired.filter(a=>"string"==typeof a):[],answeredRefs:i,pendingAnswers:function(a,b){if(!Array.isArray(a))return[];let c=new Set(b),d=new Map;for(let b of a){if(!(!b||"object"!=typeof b||Array.isArray(b)))Number.isInteger(b.ref)&&!(b.ref<1)&&"string"==typeof b.operationId&&b.operationId&&"string"==typeof b.project&&b.project&&"string"==typeof b.seatConversationId&&b.seatConversationId&&(c.has(b.ref)||d.set(b.ref,{ref:b.ref,operationId:b.operationId,project:b.project,seatConversationId:b.seatConversationId}))}return[...d.values()].sort((a,b)=>a.ref-b.ref).slice(-e.np)}(a.pendingAnswers,i)}}(w(a),a)}function y(a,b,c){if(null===a)return null;if("object"!=typeof a||Array.isArray(a))throw new v(b,"its contents are not a channel object");if("string"!=typeof a.rootId||!a.rootId)return null;if(c&&(a.project!==c.project||a.seatConversationId!==c.seatConversationId))throw new v(b,"its project or seat does not match the scoped channel path");let d=a.outstanding;return{schemaVersion:e.pw,rootId:a.rootId,...c?{project:c.project,seatConversationId:c.seatConversationId}:{..."string"==typeof a.project?{project:a.project}:{},..."string"==typeof a.seatConversationId?{seatConversationId:a.seatConversationId}:{}},managerRecordRef:e.Io,managerReportCursor:Number.isInteger(a.managerReportCursor)&&a.managerReportCursor>0?a.managerReportCursor:0,updatedAt:"string"==typeof a.updatedAt?a.updatedAt:new Date(0).toISOString(),...d&&"object"==typeof d&&"string"==typeof d.token&&Number.isInteger(d.throughSeq)?{outstanding:d}:{}}}function z(a){let b=u(a);return y(w(b),b,a)}function A(a,b=new Date,c){if(!a.trim())throw Error("bridge channel requires a root identity");let d=u(c);return(0,r.Ol)(d,s,()=>{let f=z(c);if(f)return f;let g={schemaVersion:e.pw,rootId:a,...c?{project:c.project,seatConversationId:c.seatConversationId}:{},managerRecordRef:e.Io,managerReportCursor:0,updatedAt:b.toISOString()};return(0,q.f)(d,g),g})}function B(a={}){var b,c;let d=a.scope,f=Math.max(1,Math.min(e.TI,a.limit??e.TI)),g=z(d)?.managerReportCursor??0,h=x(),i=h.reports.filter(a=>a.seq>g&&a.class!==e.pW&&(!d||a.project===d.project&&a.targetSeatConversationId===d.seatConversationId)),j=z()?.managerReportCursor??0,k=d?h.reports.filter(a=>null==a.project&&a.seq>j).length:0,l=d?h.reports.filter(a=>a.project===d.project&&!a.targetSeatConversationId).length:0,m=d?h.trimmedThroughByChannel?.[t(d)]??0:h.trimmedThroughSeq,n=g<m?{resumedAtSeq:m+1,missedThroughSeq:m}:null,o=n?[(b=n.resumedAtSeq,c=n.missedThroughSeq,{id:`rpt_gap_${c}`,seq:c,at:(a.now??new Date).toISOString(),class:"status",body:`The bridge report log was trimmed past this conversation's position: ${c-g} earlier report(s) are no longer available. Resuming at report ${b}.`,synthetic:!0})]:[],p=[...o,...i].slice(0,f),q=p.reduce((a,b)=>Math.max(a,b.seq),g);return{reports:p,throughSeq:q,remaining:o.length+i.length-p.length,gap:n,...d?{unrouted:{count:k+l,legacy:k,forProject:l}}:{}}}function C(a={}){let b=null;try{return(0,k.Y)(x(),{deliveredOperation:a=>(b??=(0,h.PY)(()=>(0,d.agentRegistry)().readOnlySnapshot(),"the durable delivery record is unavailable")).readable&&(0,i.ak)(b.value,a)?.state==="delivered",...a,now:a.now??new Date})}catch{return new Map}}function D(a){return A((a.rootIdentity??j.ng)(),a.now,a.scope),function(a){var b;let{reports:c}=a.batch;if(0===c.length)return{kind:"idle"};if(a.lastBatchAt&&a.now.getTime()-a.lastBatchAt.getTime()<e.vb)return{kind:"hold"};let d=function(a){let b=0;for(let c of(0,f.yK)(a))for(let a of c.matchAll(g)){let c=Number.parseInt(a[1],10);Number.isInteger(c)&&c>b&&(b=c)}return b}(a.acknowledgedDeliveryIds),h=c.filter(a=>a.seq>d);if(0===h.length)return{kind:"already-acknowledged",throughSeq:c.reduce((a,b)=>Math.max(a,b.seq),d)};let i=h.reduce((a,b)=>Math.max(a,b.seq),0),j=`bridge:${i}`,k=[];for(let a of h)k=(0,f._5)(k,j,{responseId:(b=a.seq,`report:${b}`),text:function(a){let b=a.body.trim(),c=(0,e.Wf)(a.origin);return`[${a.class}]${c?` (from ${c} — NOT the manager)`:""}${b?` ${b}`:""}`}(a)});let l=k[0];return l?(0,f.yK)(a.acknowledgedDeliveryIds).includes(l.deliveryId)?{kind:"already-acknowledged",throughSeq:i}:{kind:"deliver",delivery:{...l,ready:!0},throughSeq:i}:{kind:"idle"}}({batch:B({now:a.now,scope:a.scope}),now:a.now,lastBatchAt:a.lastBatchAt,acknowledgedDeliveryIds:a.acknowledgedDeliveryIds})}function E(a,b=new Date){return function(a,b=new Date){let c=/^ack_([0-9a-f]{32})_[0-9a-f]{36}$/.exec(a)?.[1],d=c?(0,p.BQ)("bridge-channels",`${c}.json`):u();return(0,r.Ol)(d,s,()=>{let e=y(w(d),d);if(c&&e&&(!e.project||!e.seatConversationId||t({project:e.project,seatConversationId:e.seatConversationId})!==c))throw new v(d,"its stored scope does not match its acknowledgement token");if(!e?.outstanding||e.outstanding.token!==a)return{ok:!1,throughSeq:e?.managerReportCursor??0};let f=Math.max(e.managerReportCursor,e.outstanding.throughSeq),g={...e,managerReportCursor:f,updatedAt:b.toISOString()};return delete g.outstanding,(0,q.f)(d,g),{ok:!0,throughSeq:f}})}(a,b)}function F(a,b=new Date,c){return function(a,b=new Date,c){let d=u(c);return(0,r.Ol)(d,s,()=>{let e=z(c);if(!e)throw Error("the bridge channel is not open");let f=c?`ack_${t(c)}_${m().randomBytes(18).toString("hex")}`:`ack_${m().randomBytes(18).toString("hex")}`;return(0,q.f)(d,{...e,outstanding:{token:f,throughSeq:a,issuedAt:b.toISOString()}}),f})}(a,b,c)}function G(a){A((a.rootIdentity??j.ng)(),a.now,a.scope);let b=B({now:a.now,scope:a.scope});if(0===b.reports.length)return null;let c=b.reports.filter(a=>null===(0,e.Wf)(a.origin)),d=b.reports.filter(a=>null!==(0,e.Wf)(a.origin)),f=[];return c.length>0&&(f.push("While you were away the manager reported:"),f.push(...c.map(a=>`- [${a.class}] ${a.body}`))),d.length>0&&(f.push("Other sessions also reported (NOT the manager — attribute these to their own agent):"),f.push(...d.map(a=>`- [${a.class}] from ${(0,e.Wf)(a.origin)}: ${a.body}`))),b.remaining>0&&f.push(`- (${b.remaining} more waiting; they arrive next turn.)`),{text:[...f,"","Mention what matters in your own words. Do not read this list aloud."].join("\n"),throughSeq:b.throughSeq}}}};
|
|
1
|
+
"use strict";exports.id=4651,exports.ids=[4651],exports.modules={1553:(a,b,c)=>{c.d(b,{Q:()=>f,Y:()=>e});var d=c(33330);function e(a,b){let c=b.canonicalConversationId??(a=>a),e=(b.ttlSeconds??d.jk)*1e3,f=new Set(a.answeredRefs??[]),g=b.deliveredOperation;if(g)for(let b of a.pendingAnswers??[])g(b.operationId)&&f.add(b.ref);let h=new Map;for(let b of a.reports){if(null!==(0,d.Wf)(b.origin)||!b.project||!b.targetSeatConversationId)continue;let a=h.get(b.project);(!a||b.seq>a.seq)&&h.set(b.project,b)}let i=new Map;for(let a of h.values()){var j;let g=a.targetSeatConversationId;if(!g||!(0,d.FC)(a.class)||f.has(a.seq))continue;let h=Date.parse(a.at);if(!Number.isFinite(h)||b.now.getTime()-h>e)continue;let k=(j=a,j.key?.trim()||null);null!==k&&i.set(c(g),{id:k,at:a.at})}return i}function f(a,b){if(0!==b.size)for(let c of a){if(c.supersededBy||c.migratedTo)continue;let a=c.conversationId?b.get(c.conversationId):void 0;a&&(c.bridgeAsk=a)}}},33017:(a,b,c)=>{c.d(b,{ng:()=>p});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(2033);function l(){return(0,j.BQ)("root-lineage.json")}class m extends Error{constructor(a,b){super(a,b),this.name="RootLineageStoreError"}}function n(a){var b;return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.conversationId&&a.conversationId.length>0&&(null===a.path||"string"==typeof a.path)&&"string"==typeof a.startedAt&&(void 0===a.endedAt||"string"==typeof a.endedAt)&&(void 0===a.seededFrom||"string"==typeof a.seededFrom)&&(void 0===a.reason||"crash"===(b=a.reason)||"reboot"===b||"rollover"===b||"fresh"===b)}function o(a=l()){var b;let c,d;try{c=g().readFileSync(a,"utf8")}catch(a){if("ENOENT"===a.code)return null;throw new m("could not read the root lineage",{cause:a})}try{d=JSON.parse(c)}catch(a){throw new m("root lineage contains malformed JSON",{cause:a})}if(!(!(!(b=d)||"object"!=typeof b||Array.isArray(b))&&1===b.schemaVersion&&"string"==typeof b.rootId&&b.rootId.length>0&&Number.isInteger(b.revision)&&b.revision>=0&&"string"==typeof b.updatedAt&&Array.isArray(b.sessions)&&b.sessions.every(n)))throw new m("root lineage is not a valid record");return d}function p(a=l()){let b=o(a);return b?b.rootId:(0,k.Ol)(a,"root lineage is busy",()=>{let b=o(a);if(b)return b.rootId;let c={schemaVersion:1,rootId:`root_${crypto.randomUUID()}`,revision:0,updatedAt:new Date().toISOString(),sessions:[]};g().mkdirSync(i().dirname(a),{recursive:!0});let d=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`),f=null;try{f=g().openSync(d,"wx",384),g().writeFileSync(f,JSON.stringify(c,null,2)+"\n","utf8"),g().fsyncSync(f),g().closeSync(f),f=null,g().renameSync(d,a)}finally{null!==f&&g().closeSync(f),g().rmSync(d,{force:!0})}return c.rootId})}},54651:(a,b,c)=>{c.d(b,{zl:()=>C,er:()=>G,QF:()=>F,RS:()=>D,Yb:()=>E});var d=c(10781),e=c(33330),f=c(77276);let g=/"report:(\d+)"/g;var h=c(83169),i=c(56695),j=c(33017),k=c(1553),l=c(77598),m=c.n(l),n=c(73024),o=c.n(n),p=c(91724),q=c(65154),r=c(2033);c(56809);let s="bridge channel is busy";function t(a){return m().createHash("sha256").update(`${a.project}\0${a.seatConversationId}`).digest("hex").slice(0,32)}function u(a){return a?(0,p.BQ)("bridge-channels",`${t(a)}.json`):(0,p.BQ)("bridge.json")}class v extends Error{constructor(a,b){super(`the bridge state at ${a} is unreadable (${b}); move it aside to start a new one`),this.name="BridgeStateCorruptError",this.statePath=a}}function w(a){let b;try{b=o().readFileSync(a,"utf8")}catch(b){if("ENOENT"===b.code)return null;throw new v(a,`it could not be read: ${b.message}`)}try{return JSON.parse(b)}catch{throw new v(a,"it is not valid JSON — the last write was truncated")}}function x(){let a=(0,p.BQ)("bridge-reports.json");return function(a,b){if(null===a)return{schemaVersion:e.$_,lastSeq:0,trimmedThroughSeq:0,trimmedThroughByChannel:{},reports:[],retired:[],answeredRefs:[],pendingAnswers:[]};if("object"!=typeof a||Array.isArray(a))throw new v(b,"its contents are not a report log object");if(void 0!==a.reports&&!Array.isArray(a.reports))throw new v(b,"its reports field is not an array");let c=a.reports??[],d=[];for(let[a,f]of c.entries()){let g=function(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.id||!a.id||!Number.isInteger(a.seq)||a.seq<1||"string"!=typeof a.at||!a.at||!(0,e.J5)(a.class))return null;let b=function(a){if(!(!a||"object"!=typeof a||Array.isArray(a))&&("manager"===a.kind||"agent"===a.kind||"gateway"===a.kind||"unidentified"===a.kind))return"unidentified"===a.kind?{kind:"unidentified",conversationId:null,role:null}:{kind:a.kind,conversationId:"string"==typeof a.conversationId?a.conversationId:null,role:"string"==typeof a.role?a.role:null}}(a.origin),c="string"==typeof a.project?a.project:null===a.project?null:void 0,d="string"==typeof a.targetSeatConversationId?a.targetSeatConversationId:null===a.targetSeatConversationId?null:void 0;return{id:a.id,seq:a.seq,at:a.at,class:a.class,..."string"==typeof a.key&&a.key?{key:a.key}:{},body:"string"==typeof a.body?a.body:"",...b?{origin:b}:{},...void 0!==c?{project:c}:{},...void 0!==d?{targetSeatConversationId:d}:{},..."string"==typeof a.correlatesDirective?{correlatesDirective:a.correlatesDirective}:{}}}(f);if(!g)throw new v(b,`recorded report ${a+1} of ${c.length} is malformed`);d.push(g)}d.sort((a,b)=>a.seq-b.seq);let f=d.at(-1)?.seq??0,g=d[0]?.seq??0,h=Number.isInteger(a.trimmedThroughSeq)?a.trimmedThroughSeq:0,i=function(a){if(!Array.isArray(a))return[];let b=new Set;for(let c of a)Number.isInteger(c)&&c>0&&b.add(c);return[...b].sort((a,b)=>a-b).slice(-e.np)}(a.answeredRefs);return{schemaVersion:e.$_,lastSeq:Math.max(Number.isInteger(a.lastSeq)?a.lastSeq:0,f),trimmedThroughSeq:Math.max(h,g>0?g-1:0),trimmedThroughByChannel:a.trimmedThroughByChannel&&"object"==typeof a.trimmedThroughByChannel&&!Array.isArray(a.trimmedThroughByChannel)?Object.fromEntries(Object.entries(a.trimmedThroughByChannel).filter(a=>Number.isInteger(a[1])&&a[1]>0)):{},reports:d,retired:Array.isArray(a.retired)?a.retired.filter(a=>"string"==typeof a):[],answeredRefs:i,pendingAnswers:function(a,b){if(!Array.isArray(a))return[];let c=new Set(b),d=new Map;for(let b of a){if(!(!b||"object"!=typeof b||Array.isArray(b)))Number.isInteger(b.ref)&&!(b.ref<1)&&"string"==typeof b.operationId&&b.operationId&&"string"==typeof b.project&&b.project&&"string"==typeof b.seatConversationId&&b.seatConversationId&&(c.has(b.ref)||d.set(b.ref,{ref:b.ref,operationId:b.operationId,project:b.project,seatConversationId:b.seatConversationId}))}return[...d.values()].sort((a,b)=>a.ref-b.ref).slice(-e.np)}(a.pendingAnswers,i)}}(w(a),a)}function y(a,b,c){if(null===a)return null;if("object"!=typeof a||Array.isArray(a))throw new v(b,"its contents are not a channel object");if("string"!=typeof a.rootId||!a.rootId)return null;if(c&&(a.project!==c.project||a.seatConversationId!==c.seatConversationId))throw new v(b,"its project or seat does not match the scoped channel path");let d=a.outstanding;return{schemaVersion:e.pw,rootId:a.rootId,...c?{project:c.project,seatConversationId:c.seatConversationId}:{..."string"==typeof a.project?{project:a.project}:{},..."string"==typeof a.seatConversationId?{seatConversationId:a.seatConversationId}:{}},managerRecordRef:e.Io,managerReportCursor:Number.isInteger(a.managerReportCursor)&&a.managerReportCursor>0?a.managerReportCursor:0,updatedAt:"string"==typeof a.updatedAt?a.updatedAt:new Date(0).toISOString(),...d&&"object"==typeof d&&"string"==typeof d.token&&Number.isInteger(d.throughSeq)?{outstanding:d}:{}}}function z(a){let b=u(a);return y(w(b),b,a)}function A(a,b=new Date,c){if(!a.trim())throw Error("bridge channel requires a root identity");let d=u(c);return(0,r.Ol)(d,s,()=>{let f=z(c);if(f)return f;let g={schemaVersion:e.pw,rootId:a,...c?{project:c.project,seatConversationId:c.seatConversationId}:{},managerRecordRef:e.Io,managerReportCursor:0,updatedAt:b.toISOString()};return(0,q.fZ)(d,g),g})}function B(a={}){var b,c;let d=a.scope,f=Math.max(1,Math.min(e.TI,a.limit??e.TI)),g=z(d)?.managerReportCursor??0,h=x(),i=h.reports.filter(a=>a.seq>g&&a.class!==e.pW&&(!d||a.project===d.project&&a.targetSeatConversationId===d.seatConversationId)),j=z()?.managerReportCursor??0,k=d?h.reports.filter(a=>null==a.project&&a.seq>j).length:0,l=d?h.reports.filter(a=>a.project===d.project&&!a.targetSeatConversationId).length:0,m=d?h.trimmedThroughByChannel?.[t(d)]??0:h.trimmedThroughSeq,n=g<m?{resumedAtSeq:m+1,missedThroughSeq:m}:null,o=n?[(b=n.resumedAtSeq,c=n.missedThroughSeq,{id:`rpt_gap_${c}`,seq:c,at:(a.now??new Date).toISOString(),class:"status",body:`The bridge report log was trimmed past this conversation's position: ${c-g} earlier report(s) are no longer available. Resuming at report ${b}.`,synthetic:!0})]:[],p=[...o,...i].slice(0,f),q=p.reduce((a,b)=>Math.max(a,b.seq),g);return{reports:p,throughSeq:q,remaining:o.length+i.length-p.length,gap:n,...d?{unrouted:{count:k+l,legacy:k,forProject:l}}:{}}}function C(a={}){let b=null;try{return(0,k.Y)(x(),{deliveredOperation:a=>(b??=(0,h.PY)(()=>(0,d.agentRegistry)().readOnlySnapshot(),"the durable delivery record is unavailable")).readable&&(0,i.ak)(b.value,a)?.state==="delivered",...a,now:a.now??new Date})}catch{return new Map}}function D(a){return A((a.rootIdentity??j.ng)(),a.now,a.scope),function(a){var b;let{reports:c}=a.batch;if(0===c.length)return{kind:"idle"};if(a.lastBatchAt&&a.now.getTime()-a.lastBatchAt.getTime()<e.vb)return{kind:"hold"};let d=function(a){let b=0;for(let c of(0,f.yK)(a))for(let a of c.matchAll(g)){let c=Number.parseInt(a[1],10);Number.isInteger(c)&&c>b&&(b=c)}return b}(a.acknowledgedDeliveryIds),h=c.filter(a=>a.seq>d);if(0===h.length)return{kind:"already-acknowledged",throughSeq:c.reduce((a,b)=>Math.max(a,b.seq),d)};let i=h.reduce((a,b)=>Math.max(a,b.seq),0),j=`bridge:${i}`,k=[];for(let a of h)k=(0,f._5)(k,j,{responseId:(b=a.seq,`report:${b}`),text:function(a){let b=a.body.trim(),c=(0,e.Wf)(a.origin);return`[${a.class}]${c?` (from ${c} — NOT the manager)`:""}${b?` ${b}`:""}`}(a)});let l=k[0];return l?(0,f.yK)(a.acknowledgedDeliveryIds).includes(l.deliveryId)?{kind:"already-acknowledged",throughSeq:i}:{kind:"deliver",delivery:{...l,ready:!0},throughSeq:i}:{kind:"idle"}}({batch:B({now:a.now,scope:a.scope}),now:a.now,lastBatchAt:a.lastBatchAt,acknowledgedDeliveryIds:a.acknowledgedDeliveryIds})}function E(a,b=new Date){return function(a,b=new Date){let c=/^ack_([0-9a-f]{32})_[0-9a-f]{36}$/.exec(a)?.[1],d=c?(0,p.BQ)("bridge-channels",`${c}.json`):u();return(0,r.Ol)(d,s,()=>{let e=y(w(d),d);if(c&&e&&(!e.project||!e.seatConversationId||t({project:e.project,seatConversationId:e.seatConversationId})!==c))throw new v(d,"its stored scope does not match its acknowledgement token");if(!e?.outstanding||e.outstanding.token!==a)return{ok:!1,throughSeq:e?.managerReportCursor??0};let f=Math.max(e.managerReportCursor,e.outstanding.throughSeq),g={...e,managerReportCursor:f,updatedAt:b.toISOString()};return delete g.outstanding,(0,q.fZ)(d,g),{ok:!0,throughSeq:f}})}(a,b)}function F(a,b=new Date,c){return function(a,b=new Date,c){let d=u(c);return(0,r.Ol)(d,s,()=>{let e=z(c);if(!e)throw Error("the bridge channel is not open");let f=c?`ack_${t(c)}_${m().randomBytes(18).toString("hex")}`:`ack_${m().randomBytes(18).toString("hex")}`;return(0,q.fZ)(d,{...e,outstanding:{token:f,throughSeq:a,issuedAt:b.toISOString()}}),f})}(a,b,c)}function G(a){A((a.rootIdentity??j.ng)(),a.now,a.scope);let b=B({now:a.now,scope:a.scope});if(0===b.reports.length)return null;let c=b.reports.filter(a=>null===(0,e.Wf)(a.origin)),d=b.reports.filter(a=>null!==(0,e.Wf)(a.origin)),f=[];return c.length>0&&(f.push("While you were away the manager reported:"),f.push(...c.map(a=>`- [${a.class}] ${a.body}`))),d.length>0&&(f.push("Other sessions also reported (NOT the manager — attribute these to their own agent):"),f.push(...d.map(a=>`- [${a.class}] from ${(0,e.Wf)(a.origin)}: ${a.body}`))),b.remaining>0&&f.push(`- (${b.remaining} more waiting; they arrive next turn.)`),{text:[...f,"","Mention what matters in your own words. Do not read this list aloud."].join("\n"),throughSeq:b.throughSeq}}}};
|