agent-log-viewer 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.mjs +4 -0
- package/bin/server-runtime.test.ts +63 -12
- package/dist/mcp-server.mjs +31365 -26173
- package/dist/runtime-host.mjs +15618 -7081
- package/dist/standalone/.next/BUILD_ID +1 -1
- package/dist/standalone/.next/app-path-routes-manifest.json +21 -16
- package/dist/standalone/.next/build-manifest.json +3 -3
- package/dist/standalone/.next/prerender-manifest.json +4 -4
- package/dist/standalone/.next/react-loadable-manifest.json +1 -1
- package/dist/standalone/.next/required-server-files.json +1 -1
- package/dist/standalone/.next/routes-manifest.json +30 -0
- package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -1
- package/dist/standalone/.next/server/app/_global-error/page.js +2 -2
- package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_global-error.html +1 -1
- package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found/page.js +1 -1
- package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/standalone/.next/server/app/_not-found.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/api/access/route.js +1 -1
- package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/account-project-bindings/route.js +1 -1
- package/dist/standalone/.next/server/app/api/account-project-bindings/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js +2 -2
- package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/agent/route.js +1 -1
- package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -1
- package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/answer/route.js +1 -2
- package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/artifact/route.js +1 -1
- package/dist/standalone/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/board/route.js +1 -1
- package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/bridge/route.js +1 -2
- package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversations/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/files/route.js +3 -2
- package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/image/route.js +1 -1
- package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/inbox/route.js +2 -2
- package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -1
- package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/limits/history/route.js +1 -1
- package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/provenance/route.js +107 -1
- package/dist/standalone/.next/server/app/api/log/provenance/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/suggestions/route.js +2 -4
- package/dist/standalone/.next/server/app/api/log/suggestions/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/logs/route.js +1 -1
- package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/logs/stream/route.js +2 -2
- package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/runs/route.js +3 -3
- package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js +25 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js +2 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +2 -2
- package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/route.js +1 -2
- package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +2 -2
- package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
- package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/create/route.js +2 -2
- package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/crown/route.js +1 -1
- package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/directories/route.js +1 -1
- package/dist/standalone/.next/server/app/api/projects/directories/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/push/route.js +2 -2
- package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
- package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/roles/route.js +2 -2
- package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/hosts/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/hosts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/inject/route.js +1 -0
- package/dist/standalone/.next/server/app/api/runtime/inject/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/runtime/inject/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/queue/route.js +1 -0
- package/dist/standalone/.next/server/app/api/runtime/queue/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/runtime/queue/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -2
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/stream/route.js +2 -2
- package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/search/transcripts/route.js +2 -2
- package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/title/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/policy/route.js +3 -3
- package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/route.js +1 -2
- package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/validate/route.js +1 -0
- package/dist/standalone/.next/server/app/api/spawn/validate/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/spawn/validate/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/staging/route.js +2 -2
- package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -2
- package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -2
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -2
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/telegram/reports/route.js +1 -1
- package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/telegram/route.js +1 -1
- package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
- package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tts/route.js +3 -3
- package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/view/presence/route.js +1 -1
- package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
- package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
- package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/index.html +1 -1
- package/dist/standalone/.next/server/app/index.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/page.js +59 -30
- package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app-paths-manifest.json +21 -16
- package/dist/standalone/.next/server/chunks/107.js +1 -1
- package/dist/standalone/.next/server/chunks/1100.js +29 -10
- package/dist/standalone/.next/server/chunks/1406.js +399 -0
- package/dist/standalone/.next/server/chunks/1585.js +108 -0
- package/dist/standalone/.next/server/chunks/160.js +4 -4
- package/dist/standalone/.next/server/chunks/1617.js +2 -2
- package/dist/standalone/.next/server/chunks/1849.js +1 -0
- package/dist/standalone/.next/server/chunks/1888.js +1 -1
- package/dist/standalone/.next/server/chunks/193.js +1 -0
- package/dist/standalone/.next/server/chunks/1952.js +1 -0
- package/dist/standalone/.next/server/chunks/2549.js +1 -1
- package/dist/standalone/.next/server/chunks/2555.js +1 -0
- package/dist/standalone/.next/server/chunks/2647.js +1 -1
- package/dist/standalone/.next/server/chunks/2857.js +1 -0
- package/dist/standalone/.next/server/chunks/2914.js +24 -0
- package/dist/standalone/.next/server/chunks/3034.js +1 -0
- package/dist/standalone/.next/server/chunks/3086.js +1 -1
- package/dist/standalone/.next/server/chunks/3131.js +1 -0
- package/dist/standalone/.next/server/chunks/3214.js +1 -1
- package/dist/standalone/.next/server/chunks/3302.js +1 -2
- package/dist/standalone/.next/server/chunks/3407.js +1 -0
- package/dist/standalone/.next/server/chunks/3422.js +1 -0
- package/dist/standalone/.next/server/chunks/3558.js +1 -0
- package/dist/standalone/.next/server/chunks/3570.js +81 -0
- package/dist/standalone/.next/server/chunks/3587.js +1 -1
- package/dist/standalone/.next/server/chunks/3743.js +74 -24
- package/dist/standalone/.next/server/chunks/3830.js +1 -1
- package/dist/standalone/.next/server/chunks/3896.js +1 -0
- package/dist/standalone/.next/server/chunks/4127.js +1 -1
- package/dist/standalone/.next/server/chunks/4509.js +1 -1
- package/dist/standalone/.next/server/chunks/4637.js +62 -0
- package/dist/standalone/.next/server/chunks/4651.js +1 -1
- package/dist/standalone/.next/server/chunks/4783.js +1 -0
- package/dist/standalone/.next/server/chunks/480.js +126 -0
- package/dist/standalone/.next/server/chunks/4972.js +3 -3
- package/dist/standalone/.next/server/chunks/{4756.js → 4995.js} +3 -5
- package/dist/standalone/.next/server/chunks/5480.js +1 -1
- package/dist/standalone/.next/server/chunks/5545.js +1 -1
- package/dist/standalone/.next/server/chunks/568.js +1 -2
- package/dist/standalone/.next/server/chunks/5682.js +1 -0
- package/dist/standalone/.next/server/chunks/5771.js +1 -0
- package/dist/standalone/.next/server/chunks/5847.js +1 -0
- package/dist/standalone/.next/server/chunks/6023.js +1 -0
- package/dist/standalone/.next/server/chunks/6277.js +81 -0
- package/dist/standalone/.next/server/chunks/6289.js +2 -0
- package/dist/standalone/.next/server/chunks/644.js +81 -0
- package/dist/standalone/.next/server/chunks/6453.js +1 -0
- package/dist/standalone/.next/server/chunks/6522.js +1 -0
- package/dist/standalone/.next/server/chunks/6665.js +1 -1
- package/dist/standalone/.next/server/chunks/6809.js +3 -0
- package/dist/standalone/.next/server/chunks/6826.js +1 -1
- package/dist/standalone/.next/server/chunks/6926.js +1 -1
- package/dist/standalone/.next/server/chunks/{1920.js → 6942.js} +1 -1
- package/dist/standalone/.next/server/chunks/6978.js +1 -0
- package/dist/standalone/.next/server/chunks/7008.js +114 -9
- package/dist/standalone/.next/server/chunks/7192.js +1 -0
- package/dist/standalone/.next/server/chunks/7238.js +2 -0
- package/dist/standalone/.next/server/chunks/7361.js +22 -0
- package/dist/standalone/.next/server/chunks/7644.js +3 -3
- package/dist/standalone/.next/server/chunks/7722.js +1 -1
- package/dist/standalone/.next/server/chunks/781.js +55 -0
- package/dist/standalone/.next/server/chunks/7826.js +62 -0
- package/dist/standalone/.next/server/chunks/8027.js +11 -1
- package/dist/standalone/.next/server/chunks/8444.js +1 -1
- package/dist/standalone/.next/server/chunks/8512.js +1 -0
- package/dist/standalone/.next/server/chunks/8513.js +2 -0
- package/dist/standalone/.next/server/chunks/8617.js +1 -1
- package/dist/standalone/.next/server/chunks/8817.js +1 -1
- package/dist/standalone/.next/server/chunks/8991.js +1 -1
- package/dist/standalone/.next/server/chunks/8996.js +1 -1
- package/dist/standalone/.next/server/chunks/9296.js +104 -0
- package/dist/standalone/.next/server/chunks/{7139.js → 9298.js} +2 -2
- package/dist/standalone/.next/server/chunks/9307.js +1 -1
- package/dist/standalone/.next/server/chunks/9360.js +197 -0
- package/dist/standalone/.next/server/chunks/9403.js +1 -1
- package/dist/standalone/.next/server/chunks/9517.js +1 -1
- package/dist/standalone/.next/server/chunks/9554.js +47 -0
- package/dist/standalone/.next/server/chunks/9676.js +1 -62
- package/dist/standalone/.next/server/chunks/9822.js +11 -1
- package/dist/standalone/.next/server/chunks/9901.js +1 -62
- package/dist/standalone/.next/server/chunks/9940.js +3 -3
- package/dist/standalone/.next/server/chunks/9998.js +1 -1
- package/dist/standalone/.next/server/file-scanner-worker.js +3 -3
- package/dist/standalone/.next/server/files-response-worker.js +6 -6
- package/dist/standalone/.next/server/functions-config-manifest.json +5 -0
- package/dist/standalone/.next/server/instrumentation.js +1 -1
- package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/dist/standalone/.next/server/middleware.js +4 -4
- package/dist/standalone/.next/server/pages/404.html +1 -1
- package/dist/standalone/.next/server/pages/500.html +1 -1
- package/dist/standalone/.next/server/resource-collector-worker.js +1 -1
- package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
- package/dist/standalone/.next/server/wakatime-sync-worker.js +2 -2
- package/dist/standalone/.next/static/chunks/{3794-d1854fdd0e41dc44.js → 3794-0ef35fddac53cd9a.js} +1 -1
- package/dist/standalone/.next/static/chunks/6976-016b6947195a6ed2.js +1 -0
- package/dist/standalone/.next/static/chunks/app/_global-error/page-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/access/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/answer/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/board/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/files/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/image/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/proc/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/push/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/resources/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/roles/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/staging/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/page-16384e540b4c0a90.js +125 -0
- package/dist/standalone/.next/static/chunks/{main-8691b7dc3557ef3f.js → main-7e65147ff5ce0866.js} +1 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/css/496211a19557b7ee.css +1 -0
- package/dist/standalone/.next/static/e4qE_aCE0s0KQnnU6IWRw/_buildManifest.js +1 -0
- package/dist/standalone/AGENTS.md +20 -0
- package/dist/standalone/node_modules/@next/env/package.json +1 -1
- package/dist/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/dist/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +5 -5
- package/dist/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +5 -5
- package/dist/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/dist/standalone/node_modules/next/dist/server/config.js +1 -1
- package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/standalone/node_modules/next/dist/server/image-optimizer.js +2 -2
- package/dist/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/dist/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +17 -4
- package/dist/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/dist/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +1 -1
- package/dist/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/dist/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/dist/standalone/node_modules/next/package.json +10 -10
- package/dist/standalone/package.json +5 -5
- package/dist/standalone/server.bun.js +1 -1
- package/dist/standalone/src/lib/viewerInstrumentation.ts +809 -0
- package/package.json +5 -5
- package/dist/standalone/.next/server/chunks/112.js +0 -1
- package/dist/standalone/.next/server/chunks/2190.js +0 -1
- package/dist/standalone/.next/server/chunks/2318.js +0 -2
- package/dist/standalone/.next/server/chunks/2371.js +0 -1
- package/dist/standalone/.next/server/chunks/2500.js +0 -55
- package/dist/standalone/.next/server/chunks/2799.js +0 -1
- package/dist/standalone/.next/server/chunks/2870.js +0 -104
- package/dist/standalone/.next/server/chunks/3598.js +0 -81
- package/dist/standalone/.next/server/chunks/3740.js +0 -126
- package/dist/standalone/.next/server/chunks/3953.js +0 -1
- package/dist/standalone/.next/server/chunks/411.js +0 -1
- package/dist/standalone/.next/server/chunks/4191.js +0 -1
- package/dist/standalone/.next/server/chunks/461.js +0 -1
- package/dist/standalone/.next/server/chunks/4968.js +0 -2
- package/dist/standalone/.next/server/chunks/5408.js +0 -1
- package/dist/standalone/.next/server/chunks/6333.js +0 -47
- package/dist/standalone/.next/server/chunks/6839.js +0 -81
- package/dist/standalone/.next/server/chunks/7045.js +0 -319
- package/dist/standalone/.next/server/chunks/7159.js +0 -1
- package/dist/standalone/.next/server/chunks/8176.js +0 -1
- package/dist/standalone/.next/server/chunks/8263.js +0 -81
- package/dist/standalone/.next/server/chunks/8392.js +0 -126
- package/dist/standalone/.next/server/chunks/9120.js +0 -78
- package/dist/standalone/.next/server/chunks/9507.js +0 -1
- package/dist/standalone/.next/static/6jhPk8sOUI3wRf_j1l5vY/_buildManifest.js +0 -1
- package/dist/standalone/.next/static/chunks/3021-9ced2d55bf2cbf77.js +0 -1
- package/dist/standalone/.next/static/chunks/app/_global-error/page-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/access/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/answer/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/board/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/files/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/image/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/proc/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/push/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/resources/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/roles/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/staging/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/page-dbe7cb010b4941d6.js +0 -96
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/css/282596e2aaee1aa4.css +0 -1
- package/dist/standalone/src/lib/inboxFiles.ts +0 -203
- /package/dist/standalone/.next/static/{6jhPk8sOUI3wRf_j1l5vY → e4qE_aCE0s0KQnnU6IWRw}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=7722,exports.ids=[7722],exports.modules={3359:(a,b,c)=>{c.d(b,{HJ:()=>h,QD:()=>k,X0:()=>l,qe:()=>i,s0:()=>j});var d=c(77598),e=c.n(d),f=c(89937),g=c(4012);let h=`Agent-initiated spawns require role; reviewer spawns also require reviews (the implementer conversation or transcript). The parent is inferred from the authenticated caller conversation; src stays optional verification. POST ${g.VIEWER_SPAWN_ENDPOINT} with {engine, model, cwd, prompt, role, src?, reviews?}.`;function i(a,b){return a?.kind==="agent"?{parentConversationId:a.conversationId,role:b.role,reviews:b.reviews}:a?.kind==="operator"?{src:b.src,role:b.role,reviews:b.reviews}:b}function j(a){if("same-origin"!==a.headers.get("sec-fetch-site"))return!0;let b=a.headers.get("origin"),c=a.headers.get("host");if(!b||!c)return!0;try{return new URL(b).host!==c}catch{return!0}}function k(a,b){return j(a)?(void 0===b.src||"string"==typeof b.src&&b.src.trim())&&"string"==typeof b.role&&b.role.trim()&&("reviewer"!==b.role.trim()||"string"==typeof b.reviews&&b.reviews.trim())?null:h:null}function l(a,b,c){let d=a.headers.get(g.VIEWER_SPAWN_CAPABILITY_HEADER)?.trim()??"",h=d&&/^[A-Za-z0-9_-]{43}$/.test(d)?e().createHash("sha256").update(d).digest("hex"):"",i=c.conversationIdForSpawnCapabilityDigest(h);if(i){if(null!=b){let a="string"==typeof b?c.conversationForPath(b.trim()):null;if(!a||a.id!==i)return{error:"src must identify the authenticated caller conversation"}}return{kind:"agent",conversationId:i,liveChildrenCap:20}}try{if((0,f.matchesOperatorSpawnCapability)(d))return{kind:"operator",conversationId:null,liveChildrenCap:void 0}}catch(a){if(a instanceof f.OperatorSpawnCapabilityError)return{error:a.message,status:503};throw a}return{error:`Agent spawn requests require ${g.VIEWER_SPAWN_CAPABILITY_HEADER}: $LLV_SPAWN_CAPABILITY from the caller launch.`}}},11831:(a,b,c)=>{c.d(b,{AU:()=>g,UH:()=>e,Xl:()=>f});var d=c(12500);function e(a){return{error:a.rejection.guidance,code:a.rejection.code,launchId:a.receipt.launchId,conversationId:a.receipt.conversationId,rejection:a.rejection}}function f(a,b){return"starting"===a.state||b&&"path-pending"===a.state?202:200}function g(a,b=a.artifactPath,c={}){let e="structured"===a.transport||null===a.transport&&!0===c.structured,f=(null!==a.verifiedHost||!0===c.structured&&"completed"===a.state)&&"failed"!==a.state&&"conflicted"!==a.state,h=(0,d.Vt)().allowsReceipt(a,{structured:e})?b:null;return{ok:!0,target:a.pane?.paneId??a.target??null,path:h,...e&&"claude"===a.engine?{effectivePermissionMode:a.launchProfile.permissionMode??"default"}:{},launchId:a.launchId,conversationId:a.conversationId,parent:a.parentConversationId?{conversationId:a.parentConversationId,source:a.parentSource}:null,launched:f,retrySafe:"failed"===a.state,initialMessage:c.initialMessage??("failed"===a.state||"conflicted"===a.state?"failed":"completed"===a.state||"prompt-delivered"===a.state?"delivered":e&&"path-pending"===a.state?"queued":"pending"),...a.error?{error:a.error}:{},state:"conflicted"===a.state?"conflict":"failed"===a.state?"failed":"starting"===a.state||"pane-bound"===a.state?"starting":"host-verified"===a.state||"prompt-delivered"===a.state||"path-pending"===a.state?"path-pending":"settled",transport:e?"structured":"tmux"}}},67722:(a,b,c)=>{c.r(b),c.d(b,{executeSpawnRequest:()=>am,productionSpawnCommandDependencies:()=>aj,spawnSuggestions:()=>al});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(23211),k=c(41617),l=c(78966),m=c(22962),n=c(26926),o=c(74382),p=c(14509),q=c(12500),r=c(58152),s=c(10230),t=c(61971),u=c(4837),v=c(33302),w=c(99411),x=c(21241),y=c(77598),z=c.n(y);function A(a){return z().createHash("sha256").update(JSON.stringify(a)).digest("hex")}function B(a){return"string"==typeof a.parentConversationId?{conversationId:a.parentConversationId}:"string"==typeof a.parent?{path:a.parent}:"string"==typeof a.src?{path:a.src}:null}var C=c(48892),D=c(94896),E=c(79511),F=c(11831),G=c(4012),H=c(42087),I=c(16089),J=c(26474),K=c(35961),L=c(3127),M=c(63629),N=c(68512),O=c(50201),P=c(32372),Q=c(41022),R=c(45656),S=c(43384),T=c(27812),U=c(67217),V=c(70107),W=c(60517),X=c(92094),Y=c(30795),Z=c(3743),$=c(57563),_=c(77308),aa=c(62318);let ab={transcriptAllowed:D.FK,readCwd:a=>(0,I.tX)(a),isDirectory:a=>{try{return e().statSync(a).isDirectory()}catch{return!1}}};var ac=c(3359),ad=c(5602);let ae=$.en["spawnCard.pinUnavailableFallback"],af=_.uk["spawnCard.pinUnavailableFallback"],ag="string"==typeof af?af:ae;function ah(a){let b=a.headers.get("accept-language")?.trim().toLowerCase()??"";return"uk"===b||b.startsWith("uk-")}class ai extends Error{}let aj={registry:q.agentRegistry,resolveHealthySpawnAccount:n.ax,resolveSpawnAccount:(a,b)=>n.accountManager.resolveSpawn(a,b),resolvePinnedSpawnAdmission:R.jJ,runtimeHostClient:L.sS,publishFilesRevision:N.G,spawnStructuredConversation:R.sh,assertStructuredRuntime:x.x_,defer:a=>(0,j.after)(a),storeImages:a=>(0,P.PF)().putMany(a),adoptPipelineAttemptFromSource:T.F_,pipelineAttemptTargetForSource:T.RO,recordOperatorActivity:aa.d};function ak(a,b,c){!b||a.includes(b)||c&&(0,V.hY)(b)!==c||a.push(b)}async function al(a){let b=a.nextUrl.searchParams.get("project")??"",{cwd:c,cwdExists:d}=function(a,b=ab){if(!a||!b.transcriptAllowed(a))return{cwd:null,cwdExists:!1};let c=b.readCwd(a);return{cwd:c,cwdExists:!!(c&&b.isDirectory(c))}}(a.nextUrl.searchParams.get("src")),e=(await (0,U.CS)()).filter(a=>a.path.endsWith(".jsonl")&&("claude-projects"===a.root||"codex-sessions"===a.root)).filter(a=>!a.path.includes(i().sep+"subagents"+i().sep)).sort((a,c)=>Number(c.project===b)-Number(a.project===b)||c.mtime-a.mtime).slice(0,80),f=c?[c]:[];if(!c)for(let a of(0,X.Xi)(b,10))ak(f,a,b);for(let a of e){if(f.length>=10)break;b&&a.project!==b||ak(f,(0,I.tX)(a.path,{requireDir:!0}),b)}f.length||f.push(g().homedir());let h=(0,S.l)();return j.NextResponse.json({dirs:f,cwd:c,cwdExists:d,spawnTransport:h,imageInput:{claude:(0,P.ki)("claude","structured"===h),codex:(0,P.ki)("codex","structured"===h&&(0,u.JL)(null))}})}async function am(a,b=aj){var c;let d,f,h,x=(0,K.W)(a);if(x)return x;try{d=await a.json()}catch{return j.NextResponse.json({error:"invalid JSON"},{status:400})}let y=(0,s.t3)(d.mcpServers);if(!y.ok)return j.NextResponse.json({error:y.error},{status:400});let z=void 0===d.mcpServers?null:y.value,I=(0,t.jh)(d.plugins);if(!I.ok)return j.NextResponse.json({error:I.error},{status:400});let N=(0,ac.QD)(a,d);if(N)return j.NextResponse.json({error:N},{status:400});let P=(0,ac.s0)(a);if(void 0!==d.allowSubagents&&"boolean"!=typeof d.allowSubagents)return j.NextResponse.json({error:"allowSubagents must be a boolean"},{status:400});let T=(0,w.s8)(d);if(!T.ok)return j.NextResponse.json({error:T.error},{status:400});if(T.value?.role==="reviewer"&&("string"!=typeof d.reviews||!d.reviews.trim()))return j.NextResponse.json({error:"reviewer requires reviews"},{status:400});if(T.value?.role!=="reviewer"&&void 0!==d.reviews)return j.NextResponse.json({error:"reviews requires role: reviewer"},{status:400});if(T.value&&(0,E.n4)(T.value.role)&&!0===d.allowSubagents)return j.NextResponse.json({error:`${T.value.role} launches cannot enable subagents: reviewer and verifier sessions run every check in-session`},{status:400});let U="claude"===d.engine||"codex"===d.engine?d.engine:T.value?.config.engine??null;if(!U)return j.NextResponse.json({error:"engine must be claude or codex"},{status:400});if(void 0!==d.accountId&&"string"!=typeof d.accountId)return j.NextResponse.json({error:"accountId must be a string"},{status:400});if(void 0!==d.clientAttemptId&&("string"!=typeof d.clientAttemptId||!/^[A-Za-z0-9_-]{8,128}$/.test(d.clientAttemptId)))return j.NextResponse.json({error:"clientAttemptId must be 8-128 URL-safe characters"},{status:400});let X=(0,r.BL)(U,{...d,model:d.model??T.value?.config.model??(0,u.Gh)(U),effort:void 0===d.effort?T.value?.config.effort:d.effort});if(X.error)return j.NextResponse.json({error:X.error},{status:400});let $=(0,u.wi)({model:void 0===d.model?T.value?.config.model:d.model});if($.error)return j.NextResponse.json({error:$.error},{status:400});if(void 0!==d.model&&null!==d.model&&$.model){let a=(0,u.RC)(U,$.model);if("error"in a)return j.NextResponse.json({error:a.error},{status:400})}let _="string"==typeof d.prompt?d.prompt.trim():"",aa=T.value?[T.value.scaffold,_].filter(Boolean).join("\n\n"):_,{images:ab,error:af}=(0,Z.Fu)(d);if(af)return j.NextResponse.json({error:af.error},{status:af.status});let ak=void 0===d.title?null:(0,Y.St)("string"==typeof d.title?d.title:null,120);if(void 0!==d.title&&!ak)return j.NextResponse.json({error:"title must be a semantic, non-placeholder string"},{status:400});let al=(0,Y.V0)(_,60)?(0,Y.bF)(T.value?.role??U,_):null;try{f=(0,S.l)()}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}if("structured"===f){try{b.assertStructuredRuntime()}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:503})}let a=(0,S.H)({engine:U,model:$.model,hasImages:ab.length>0,fast:X.fast});if(a)return j.NextResponse.json({error:a},{status:409});try{(0,Q.h1)(aa)}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:413})}}let an=b.registry(),ao="string"==typeof d.clientAttemptId?d.clientAttemptId:null,ap=ao?an.spawnReceiptForClientAttempt(ao):null;if(!ak&&!ap)return j.NextResponse.json({error:Y.QE},{status:400});let aq=ak??al??(0,Y.St)(ap?.launchProfile.title,120);if(!aq)return j.NextResponse.json({error:Y.QE},{status:400});let ar=null;if(P){let b=(0,ac.X0)(a,d.src,an);if("error"in b)return j.NextResponse.json({error:b.error},{status:b.status??403});ar=b}if(P&&!0===d.allowSubagents&&ar?.kind!=="operator")return j.NextResponse.json({error:"allowSubagents requires an authenticated Viewer operator spawn"},{status:403});let as=null;if(void 0!==d.project&&null!==d.project){if(!(as="string"==typeof d.project?(0,o.QK)(d.project):null))return j.NextResponse.json({error:"project must be a valid project key"},{status:400});if(P&&ar?.kind!=="operator")return j.NextResponse.json({error:"explicit project requires an authenticated Viewer operator spawn"},{status:403})}let at=null;if(void 0!==d.supersedes&&null!==d.supersedes){if("string"!=typeof d.supersedes||!d.supersedes.trim())return j.NextResponse.json({error:"supersedes must name a conversation id or transcript path"},{status:400});let a=d.supersedes.trim(),b=a.startsWith("conversation_")?an.conversation(a):an.conversationForPath(a);if(!b)return j.NextResponse.json({error:"supersedes does not resolve to a known conversation"},{status:404});let c=an.supersedenceConflict(b.id);if(c)return j.NextResponse.json({error:`supersedes conflicts with the live conversation ${c}`,successorConversationId:c},{status:409});at=b.id}let au="string"==typeof d.cwd?d.cwd.trim():"";if(!au)return j.NextResponse.json({error:"working directory is required"},{status:400});let av=i().resolve("~"===au||au.startsWith("~/")?i().join(g().homedir(),au.slice(1)):au);try{h=e().statSync(av)}catch{return j.NextResponse.json({error:`directory does not exist: ${av}`},{status:400})}if(!h.isDirectory())return j.NextResponse.json({error:`not a directory: ${av}`},{status:400});let aw=(0,v.kg)(a).ok;if(aw&&!ao)return j.NextResponse.json({error:"clientAttemptId is required for direct operator spawn"},{status:400});if(aw){let a=as??(0,V.hY)(av);if(!a)return j.NextResponse.json({error:"project could not be resolved for direct operator spawn"},{status:400});try{b.recordOperatorActivity?.({idempotencyKey:`spawn:${ao}`,resolvedAttribution:{engine:U,project:a}})}catch{return j.NextResponse.json({error:"direct operator activity could not be recorded"},{status:503})}}let ax=[],ay=null;try{let g,h,k,r=void 0===d.title||ak===al,u=ap?.identityWaveTitleBackfill===!0&&r,v=u?(0,Y.St)(ap.launchProfile.title,120)??aq:aq,w=(0,D.bs)((0,ac.qe)(ar,{...d,role:T.value?.role}),an),x=w.parent,y=w.reviewed?.conversationId??null;if(P&&ar?.kind==="agent"&&!x)return j.NextResponse.json({error:ac.HJ},{status:400});let E=ar?.kind==="agent"?"string"==typeof d.src&&!!d.src.trim():"string"==typeof d.src&&!!d.src.trim()||"string"==typeof d.parent&&!!d.parent.trim()||void 0!==d.parentConversationId||"string"==typeof d.reviews&&!!d.reviews.trim(),K=x?E?"explicit":"inferred-caller":null,N=x?.conversationId??null,Q="string"==typeof d.src&&d.src.trim()?N:null,S=x?.sessionKey??null,ad=x?.artifactPath??null,af=(0,t.GU)({origin:{kind:ar?.kind==="agent"?"agent":"operator"},parentConversationId:N,agentRole:T.value?.role??null}),aj=b.internalGrant?.()??null,am=aj?.sessionClass===s.Vv?aj:null,au=am?[...t.sN]:(0,t.wE)({engine:U,origin:af,requested:I.value}),aw=am?(0,s.c1)(am.mcpServers):(0,s.Mt)({origin:af,requested:z}),az=(a,b=!1)=>{var c;let e,f=(c={engine:U,cwd:av,model:$.model,effort:X.effort,fast:X.fast,accountId:a,role:T.value?.role??null,title:aq,mcpServers:aw,...au.length?{plugins:au}:{},...!0===d.allowSubagents?{allowSubagents:!0}:{},...as?{project:as}:{},parent:B({parentConversationId:N??void 0}),...y?{reviews:B({parentConversationId:y})}:{},...at?{supersedes:B({parentConversationId:at})}:{},prompt:aa,images:ab.map(a=>{var b;return{mime:a.mime,digest:(b={image:a.base64},A(b))}})},e=Object.fromEntries(Object.entries(c).filter(([a])=>"title"!==a)),{current:A(c),withoutTitle:A(e)});if(u||b&&ap)return ap.requestDigest===f.current?f.current:f.withoutTitle;let g=(0,Y.St)(ap?.launchProfile.title,120);return ap&&g&&g!==aq||ap?.requestDigest===f.current?f.current:f.withoutTitle},aA=Q&&b.pipelineAttemptTargetForSource?b.pipelineAttemptTargetForSource(Q):null,aB=!am&&(_.trim()||ab.length)?{prompt:_,images:ab.length,echo:aa}:null,aC=(a,b,c,e=void 0!==d.accountId)=>({engine:U,cwd:av,transport:f,accountId:a,accountPin:e,parentConversationId:N,parentSource:K,parentSessionKey:S,parentArtifactPath:ad,role:T.value?.role??null,reviewsConversationId:y,explicitProject:as,supersedes:at,supersedesReason:"recovery-spawn",liveChildrenCap:ar?.liveChildrenCap,origin:ar?.kind==="agent"?{kind:"agent",conversationId:ar.conversationId}:{kind:"operator"},launchProfile:b,clientAttemptId:ao,requestDigest:c,launchDisplay:aB,memberships:aA&&Q?[{kind:"pipeline",containerId:aA.pipelineId,role:aA.role,slot:`adopt:${aA.stageId}:${c.slice(0,24)}`,stageId:aA.stageId,stageOrder:aA.stageOrder,round:null,parentConversationId:Q,runtime:{engine:U,model:b.model,effort:b.effort}}]:[]}),aD=(0,o.Ui)({cwd:av,model:$.model,effort:X.effort,fast:X.fast,parentConversationId:N,allowSubagents:!0===d.allowSubagents,mcpServers:aw,plugins:au,title:v,...as?{project:as}:{}}),aE=a=>{let b=d.accountId,c=(a instanceof Error?a.message:String(a)).slice(0,240),e=an.beginSpawnRequest(aC(b,aD,az(b)));if("conflict"===e.kind)return j.NextResponse.json({error:"spawn attempt conflicts with its original request"},{status:409});"created"===e.kind&&("structured"===f?an.failStructuredSpawn(e.receipt.launchId,c):an.failSpawn(e.receipt.launchId,c));let g=an.readOnlySnapshot().receipts[e.receipt.launchId]??e.receipt;return j.NextResponse.json((0,F.AU)(g,g.artifactPath,{structured:"structured"===f}))};if(ap&&void 0!==d.accountId&&ap.accountPin&&("failed"===ap.state||"conflicted"===ap.state))return aE(Error(ap.error??"the requested account is not available for this launch"));let aF="string"==typeof d.accountId?d.accountId:null,aG=as??(0,V.hY)(av);try{g=ap&&null!==ap.accountId&&!(ap.accountPin&&aF)?b.resolveSpawnAccount(ap.engine,ap.accountId):await b.resolveHealthySpawnAccount(U,d.accountId,aG)}catch(a){if(a instanceof W.Uq||a instanceof n.fu)return j.NextResponse.json({error:a.message},{status:409});if(void 0===d.accountId)throw a;if("claude"!==U||!aF)return aE(a);try{let c=b.resolveSpawnAccount(U,aF),d=await (b.resolvePinnedSpawnAdmission??R.jJ)(U,c);if("retry-at"!==d.kind&&"admissible"!==d.kind)return aE(a);g={...c,admission:d,requestedAdmission:d}}catch{return aE(a)}}let aH=aF&&g.requestedAdmission?.kind==="retry-at"?g.requestedAdmission.retryAt:null,aI=aH?Date.parse(aH):NaN,aJ=Number.isFinite(aI)&&aI>Date.now()?new Date(aI).toISOString():null;aJ&&aF&&(g=b.resolveSpawnAccount(U,aF));let aK=!!(aF&&!aJ&&g.accountId!==aF),aL=az("string"==typeof d.accountId?d.accountId:g.accountId,aK||null!==aJ),aM=aJ?(0,R.X3)(ah(a)?"uk":"en",aJ):null,aN=aK?ah(a)?ag:ae:null,aO=(c=g,h=(0,p.lV)(U,av,{model:$.model,effort:X.effort,fast:X.fast,codexHome:"codex"===U?c.home:null,claudeConfigDir:"claude"===U?c.home:null,claudeProjectsDir:"claude"===U?c.transcriptRoot:null,allowSubagents:!0===d.allowSubagents,mcpServers:aw,deferClaudeSpawnPolicy:!0}),k="claude"===U&&"structured"===f?(0,R.eK)(h.launchProfile?.permissionMode,{agentInitiated:P,operatorAuthenticated:ar?.kind==="operator",roleSpawn:!!T.value}):h.launchProfile?.permissionMode,{...h,launchProfile:(0,o.Ui)({...h.launchProfile??{},cwd:av,parentConversationId:N,allowSubagents:!0===d.allowSubagents,mcpServers:aw,plugins:au,permissionMode:k,title:aN??v,...as?{project:as}:{}})}),aP=()=>{if("claude"!==U||"tmux"!==f)return;let a=i().basename(aO.transcript??"",".jsonl");(0,l.fg)(g.home)&&(0,G.prepareManagedClaudeSpawnHome)(g.home,av),(0,G.applyClaudeSpawnPolicy)(g.home,{allowSubagents:!0===d.allowSubagents,baseSettingsPath:(0,l.fg)(g.home)?(0,l.ZK)():null,profileId:a,cwd:av,mcpServers:aw,mcpStatePath:"managed"===g.kind?i().join(g.home,".claude.json"):i().join(i().dirname(g.home),".claude.json")})},aQ=aK&&"string"==typeof d.accountId?d.accountId:g.accountId,aR=await (0,m.Cu)(async()=>{if(!ap){let a=b.resolveSpawnAccount(U,g.accountId);if(a.accountId!==g.accountId||a.kind!==g.kind)throw Error("spawn account changed during admission")}return an.beginSpawnRequest(aC(aQ,aO.launchProfile,aL,ap?.accountPin??void 0!==d.accountId))});if("conflict"===aR.kind)return j.NextResponse.json({error:"spawn attempt conflicts with its original request"},{status:409});"created"===aR.kind&&(ay=aR.receipt.launchId);let aS=aR.receipt;if(aJ&&aM&&aF){let c,d=aR.receipt.queuedPinnedSpawn;if(d)c=d.imageRefs;else try{c=b.storeImages(ab)}catch(a){throw new ai(a instanceof Error?a.message:String(a))}aS=an.queuePinnedSpawn(aR.receipt.launchId,{version:1,retryAt:aJ,accountId:aF,locale:ah(a)?"uk":"en",spec:aO,prompt:aa,imageRefs:c,parentArtifactPath:ad,pipelineSourceConversationId:Q},aM)}let aT=(a,b,c)=>{if(!c||a.accountId===b)return;let d=an.readOnlySnapshot(),e=d.receipts[a.launchId];if(!e?.key||e.artifactPath!==c)return;let f=d.entries[(0,C.pp)(e.key)],g=d.conversations[e.conversationId];f&&g&&(an.reconcileConversations([{engine:e.engine,path:c,accountId:b,launchProfile:e.launchProfile,turn:{state:g.turn.state,source:g.turn.source,terminalAt:g.turn.terminalAt},expectedTurnObservedAt:g.turn.observedAt,observedAt:new Date().toISOString()}]),an.upsert({...f,accountId:b}))},aU=async(a,c)=>{if(!Q||!b.adoptPipelineAttemptFromSource)return;let d=an.readOnlySnapshot().receipts[a.launchId]??a;try{await b.adoptPipelineAttemptFromSource(Q,{launchId:d.launchId,conversationId:d.conversationId,sessionId:d.key?.sessionId??null,agentPath:c,paneId:d.verifiedHost?.paneId??d.pane?.paneId??null,startedAt:d.createdAt,runtime:{engine:d.engine,model:d.launchProfile.model,effort:d.launchProfile.effort}})}catch(a){console.error("[spawn] pipeline attempt adoption failed",{launchId:d.launchId,conversationId:d.conversationId,sourceConversationId:Q,error:a})}},aV=(a,c,d)=>{b.defer(async()=>{let f;try{f=await b.spawnStructuredConversation({engine:U,receipt:a,spec:aO,account:g,prompt:aa,imageRefs:d,registry:an,client:c}),aT(a,g.accountId,f.path)}catch(b){console.error("[spawn] structured launch failed",{launchId:a.launchId,conversationId:a.conversationId,error:b}),b instanceof L.Hr&&an.failStructuredSpawn(a.launchId,`structured spawn transport failed: ${b.message}`.slice(0,240));return}if(ad&&f.path)try{(0,J.A6)(f.path,ad),(0,J.OA)()}catch(b){console.error("[spawn] handoff lineage persistence failed",{launchId:a.launchId,conversationId:a.conversationId,childArtifactPath:f.path,parentArtifactPath:ad,error:b})}if(f.path&&await aU(a,f.path),f.path&&e().existsSync(f.path))try{await b.publishFilesRevision?.(c)}catch(b){console.error("[spawn] transcript materialization refresh failed",{launchId:a.launchId,conversationId:a.conversationId,artifactPath:f.path,error:b})}})};if("replay"===aR.kind){let a,c=(0,q.Vt)(an.readOnlySnapshot()).isStructured(aS),d=aS,e=c?b.runtimeHostClient():null;if(e&&!aJ){try{let b=await (0,R.reconcileStructuredSpawnReplay)(d.launchId,an,e);d=b,a=b.initialMessage}catch{}let c=an.claimStartingStructuredSpawn(d.launchId);if(d=c.receipt,c.claimed){let a;try{a=b.storeImages(ab)}catch(a){throw c.receipt.admissionOwner&&an.releaseStartingStructuredSpawn(d.launchId,c.receipt.admissionOwner),new ai(a instanceof Error?a.message:String(a))}aV(d,e,a)}}d.artifactPath&&(0,q.Vt)(an.readOnlySnapshot()).allowsReceipt(d,{structured:c})&&await aU(d,d.artifactPath);let f=(0,F.AU)(d,d.artifactPath,{structured:c,initialMessage:aJ?"queued":a});return j.NextResponse.json(f,{status:(0,F.Xl)(f,c)})}if(aJ){aP();let a=aS.admissionOwner?an.releaseSpawnActuation(aS.launchId,aS.admissionOwner).receipt:aS;return j.NextResponse.json((0,F.AU)(a,a.artifactPath,{structured:"structured"===f,initialMessage:"queued"}),{status:202})}if(aP(),"structured"===f){let a,c=b.runtimeHostClient();if(!c)throw Error("structured spawn runtime host is unavailable");try{a=b.storeImages(ab)}catch(a){throw new ai(a instanceof Error?a.message:String(a))}return aV(aR.receipt,c,a),j.NextResponse.json((0,F.AU)(aR.receipt,aR.receipt.artifactPath,{structured:!0}),{status:202})}let aW=(0,Z.Am)(aa,ab);ax=aW.imagePaths;let aX=(0,O.Zn)()?b.runtimeHostClient():null,aY=aX?aR.receipt.launchId:null;if(aX&&aY)try{await aX.operation({scope:(0,M.zV)("operation",aY),kind:"spawn.intent",operationId:aY,producerKey:`viewer-spawn:${aY}`,payload:{engine:U,cwd:av,accountId:g.accountId,parentConversationId:N}})}catch{console.warn("[runtime] spawn bookkeeping unavailable; continuing through the legacy spawn path"),aX=null}let aZ=Date.now(),a$=await (b.spawnTmuxAgent??Z.Tk)(aO,aW.payload,aR.receipt),a_=await (0,H.s)({engine:U,knownTranscript:aO.transcript??null,panePid:a$.panePid??null,cwd:av,startedAtMs:aZ,codexSessionsDir:"codex"===U?g.transcriptRoot:null}),a0=a_?(0,C.sz)(U,a_):null;if(!a$.host||!await (0,Z.PB)(a$.host)){(0,q.agentRegistry)().invalidateSpawnHost(aR.receipt.launchId,"spawn host disappeared before API confirmation");let a=(0,q.agentRegistry)().readOnlySnapshot().receipts[aR.receipt.launchId];return j.NextResponse.json((0,F.AU)(a,a_))}if(!a_||!a0||!a$.receipt){let a=(0,q.agentRegistry)().markSpawnPathPending(aR.receipt.launchId);return j.NextResponse.json((0,F.AU)(a,null))}let a1=(0,q.agentRegistry)().settleSpawn(a$.receipt.launchId,{key:a0,artifactPath:a_,cwd:av,accountId:g.accountId,status:"starting",host:a$.host,claimEpoch:0,claimOwner:null,pendingAction:"spawn"});if("conflict"===a1.kind)return j.NextResponse.json((0,F.AU)(a1.receipt));if(aT(a1.receipt,g.accountId,a_),await aU(a1.receipt,a_),aX&&aY)try{await aX.append({scope:(0,M.zV)("edge",aY),kind:"edge.created",producerKey:`viewer-spawn-edge:${aY}`,payload:{edge:"viewer_spawn",childConversationId:a1.conversation.id,parentConversationId:N,operationId:aY}})}catch{console.warn("[runtime] spawned agent is healthy; lineage bookkeeping will reconcile later")}if(ad&&(a_&&(0,J.A6)(a_,ad),(0,J.OA)()),!await (0,Z.PB)(a$.host)){(0,q.agentRegistry)().invalidateSpawnHost(aR.receipt.launchId,"spawn host disappeared before API response");let a=(0,q.agentRegistry)().readOnlySnapshot().receipts[aR.receipt.launchId];return j.NextResponse.json((0,F.AU)(a,a_))}return j.NextResponse.json((0,F.AU)(a1.receipt,a_))}catch(c){let a=ay?an.readOnlySnapshot().receipts[ay]:null;if(a&&null!==a.pane||(a&&an.failSpawn(a.launchId,"spawn failed before pane binding"),(0,Z.IJ)(ax)),c instanceof D.eX)return j.NextResponse.json({error:c.message},{status:c.status});if(c instanceof E.Jc)return j.NextResponse.json((0,F.UH)(c),{status:403});if(c instanceof q.fr)return j.NextResponse.json({error:c.message},{status:429});if(c instanceof ai)return j.NextResponse.json({error:c.message},{status:503});if(c instanceof k.m1||c instanceof l.UV)return j.NextResponse.json({error:c.message},{status:400});let b=c instanceof ad.KP?j.NextResponse.json({error:c.message,retrySafe:!0},{status:503}):null;if(b)return b;if(a?.pane){("prompt-delivered"===a.state||"host-verified"===a.state)&&an.markSpawnPathPending(a.launchId);let b=an.readOnlySnapshot().receipts[a.launchId];if(b)return j.NextResponse.json((0,F.AU)(b,b.artifactPath))}return j.NextResponse.json({error:c instanceof Error?c.message:String(c)},{status:500})}}},92094:(a,b,c)=>{c.d(b,{AG:()=>q,Qf:()=>s,Xi:()=>r});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(91724),i=c(13117),j=c(52509),k=c(70107);let l=["project-catalog.json","worktree-map.json"],m=(0,j.E)("project-directories-v2");function n(a){try{let b=JSON.parse(e().readFileSync(a,"utf8"));return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}function o(a,b,c){if(!(!a||"object"!=typeof a||Array.isArray(a)))for(let d of b){let b=a[d];"string"==typeof b&&b.trim()&&c.add(b)}}function p(){let a=(0,h.Pn)(),b=function(a){let b=l.map(b=>{let c=g().join(a,b);try{let a=e().statSync(c);return`${b}:${a.dev}:${a.ino}:${a.size}:${a.mtimeMs}:${a.ctimeMs}`}catch{return`${b}:missing`}}),c=g().join(a,"state.sqlite");for(let[d,f]of[["flows","flows.json"],["pipelines","pipelines.json"],["workflows","workflows.json"]]){let h=(0,i.jY)(c,d);if(null!==h)b.push(`${d}:sqlite:${h}`);else{let c=g().join(a,f);try{let a=e().statSync(c);b.push(`${f}:${a.dev}:${a.ino}:${a.size}:${a.mtimeMs}:${a.ctimeMs}`)}catch{b.push(`${f}:missing`)}}}return b.join("|")}(a),c=m.get(a);if(c&&c.expiresAt>Date.now()&&c.stateIdentity===b)return c.directories;let d=[],f=new Set;for(let b of function(a){let b=new Set,c=n(g().join(a,"project-catalog.json"))?.files;if(c&&"object"==typeof c&&!Array.isArray(c))for(let a of Object.values(c))o(a,["cwd","projectRoot"],b);let d=g().join(a,"state.sqlite");for(let[c,e,f]of[["flows.json","flows",["cwd"]],["pipelines.json","pipelines",["repoDir","worktreeDir"]],["workflows.json","workflows",["repoDir","worktreeDir"]]]){let h=(0,i.Vx)(d,e)??n(g().join(a,c))?.[e];if(Array.isArray(h))for(let a of h)o(a,f,b)}let e=n(g().join(a,"worktree-map.json"));if(e)for(let[a,c]of Object.entries(e))b.add(a),o(c,["repo"],b);return[...b]}(a)){try{if(!e().statSync(b).isDirectory())continue}catch{continue}let a=(0,k.hY)(b),c=(0,k.D$)(b)??(a?.startsWith("dir-")?b:void 0),g=a?`${a}\0${b}`:"";!a||!c||f.has(g)||(f.add(g),d.push({cwd:b,project:a,projectRoot:c}))}return m.set(a,{directories:d,expiresAt:Date.now()+1e4,stateIdentity:b}),d}function q(a=40){let b=[];for(let c of p())if(!b.includes(c.projectRoot)&&(b.push(c.projectRoot),b.length>=a))break;return b}function r(a,b=10){return a?p().filter(b=>b.project===a).slice(0,b).map(a=>a.cwd):[]}function s(a){let b=new Set([...a].filter(Boolean)),c={};for(let a of p())b.has(a.project)&&!c[a.project]&&(c[a.project]=a.projectRoot);return c}}};
|
|
1
|
+
"use strict";exports.id=7722,exports.ids=[7722],exports.modules={11831:(a,b,c)=>{c.d(b,{AU:()=>g,UH:()=>e,Xl:()=>f});var d=c(10781);function e(a){return{error:a.rejection.guidance,code:a.rejection.code,launchId:a.receipt.launchId,conversationId:a.receipt.conversationId,rejection:a.rejection}}function f(a,b){return"starting"===a.state||b&&"path-pending"===a.state?202:200}function g(a,b=a.artifactPath,c={}){let e="structured"===a.transport||null===a.transport&&!0===c.structured,f=(null!==a.verifiedHost||!0===c.structured&&"completed"===a.state)&&"failed"!==a.state&&"conflicted"!==a.state,h=(0,d.Vt)().allowsReceipt(a,{structured:e})?b:null;return{ok:!0,target:a.pane?.paneId??a.target??null,path:h,...e&&"claude"===a.engine?{effectivePermissionMode:a.launchProfile.permissionMode??"default"}:{},launchId:a.launchId,conversationId:a.conversationId,parent:a.parentConversationId?{conversationId:a.parentConversationId,source:a.parentSource}:null,launched:f,retrySafe:"failed"===a.state,initialMessage:c.initialMessage??("failed"===a.state||"conflicted"===a.state?"failed":"completed"===a.state||"prompt-delivered"===a.state?"delivered":e&&"path-pending"===a.state?"queued":"pending"),...a.error?{error:a.error}:{},state:"conflicted"===a.state?"conflict":"failed"===a.state?"failed":"starting"===a.state||"pane-bound"===a.state?"starting":"host-verified"===a.state||"prompt-delivered"===a.state||"path-pending"===a.state?"path-pending":"settled",transport:e?"structured":"tmux"}}},67722:(a,b,c)=>{c.r(b),c.d(b,{executeSpawnRequest:()=>ap,fenceSpawnAdmissionRejection:()=>am,productionSpawnCommandDependencies:()=>al,spawnSuggestions:()=>ao});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(23211),k=c(41617),l=c(78966),m=c(22962),n=c(26926),o=c(74382),p=c(14509),q=c(10781),r=c(58152),s=c(10230),t=c(61971),u=c(4837),v=c(33302),w=c(99411),x=c(21241),y=c(77598),z=c.n(y);function A(a){return z().createHash("sha256").update(JSON.stringify(a)).digest("hex")}function B(a){return"string"==typeof a.parentConversationId?{conversationId:a.parentConversationId}:"string"==typeof a.parent?{path:a.parent}:"string"==typeof a.src?{path:a.src}:null}var C=c(48892),D=c(94896),E=c(29857),F=c(79511),G=c(11831),H=c(4012),I=c(42087),J=c(16089),K=c(26474),L=c(35961),M=c(3127),N=c(63629),O=c(68512),P=c(50201),Q=c(32372),R=c(41022),S=c(45656),T=c(43384),U=c(48289),V=c(36917),W=c(70107),X=c(60517),Y=c(92094),Z=c(30795),$=c(3743),_=c(57563),aa=c(77308),ab=c(62318);let ac={transcriptAllowed:D.FK,readCwd:a=>(0,J.tX)(a),isDirectory:a=>{try{return e().statSync(a).isDirectory()}catch{return!1}}};var ad=c(3359),ae=c(5602),af=c(11064);let ag=_.en["spawnCard.pinUnavailableFallback"],ah=aa.uk["spawnCard.pinUnavailableFallback"],ai="string"==typeof ah?ah:ag;function aj(a){let b=a.headers.get("accept-language")?.trim().toLowerCase()??"";return"uk"===b||b.startsWith("uk-")}class ak extends Error{}let al={registry:q.agentRegistry,resolveHealthySpawnAccount:n.ax,resolveSpawnAccount:(a,b)=>n.accountManager.resolveSpawn(a,b),resolvePinnedSpawnAdmission:S.jJ,runtimeHostClient:M.sS,publishFilesRevision:O.G,spawnStructuredConversation:S.sh,assertStructuredRuntime:x.x_,defer:a=>(0,j.after)(a),storeImages:a=>(0,Q.PF)().putMany(a),adoptPipelineAttemptFromSource:U.F_,pipelineAttemptTargetForSource:U.RO,recordOperatorActivity:ab.d};function am(a,b,c,d){let e="string"==typeof a.clientAttemptId?a.clientAttemptId:null;if(!e||!/^[A-Za-z0-9_-]{8,128}$/.test(e))return null;try{return(0,F.L8)({clientAttemptId:e,requestDigest:A(a),status:b,error:c},()=>d.registry().spawnReceiptForClientAttempt(e))}catch{return null}}function an(a,b,c){!b||a.includes(b)||c&&(0,W.hY)(b)!==c||a.push(b)}async function ao(a){let b=a.nextUrl.searchParams.get("project")??"",{cwd:c,cwdExists:d}=function(a,b=ac){if(!a||!b.transcriptAllowed(a))return{cwd:null,cwdExists:!1};let c=b.readCwd(a);return{cwd:c,cwdExists:!!(c&&b.isDirectory(c))}}(a.nextUrl.searchParams.get("src")),e=(await (0,V.CS)()).filter(a=>a.path.endsWith(".jsonl")&&("claude-projects"===a.root||"codex-sessions"===a.root)).filter(a=>!a.path.includes(i().sep+"subagents"+i().sep)).sort((a,c)=>Number(c.project===b)-Number(a.project===b)||c.mtime-a.mtime).slice(0,80),f=c?[c]:[];if(!c)for(let a of(0,Y.Xi)(b,10))an(f,a,b);for(let a of e){if(f.length>=10)break;b&&a.project!==b||an(f,(0,J.tX)(a.path,{requireDir:!0}),b)}f.length||f.push(g().homedir());let h=(0,T.l)();return j.NextResponse.json({dirs:f,cwd:c,cwdExists:d,spawnTransport:h,imageInput:{claude:(0,Q.ki)("claude","structured"===h),codex:(0,Q.ki)("codex","structured"===h&&(0,u.JL)(null))}})}async function ap(a,b=al){var c;let d,f,h,x=(0,L.W)(a);if(x)return x;try{d=await a.json()}catch{return j.NextResponse.json({error:"invalid JSON"},{status:400})}let y=(0,s.t3)(d.mcpServers);if(!y.ok)return j.NextResponse.json({error:y.error},{status:400});let z=void 0===d.mcpServers?null:y.value,J=(0,t.jh)(d.plugins);if(!J.ok)return j.NextResponse.json({error:J.error},{status:400});let O=(0,ad.s0)(a),Q=null,U=null,V=null;if(O)try{Q=b.registry();let c=(0,ad.X0)(a,d.src,Q);"error"in c?V=c:U=c}catch(a){V={error:a instanceof Error?a.message:String(a),status:503}}let Y=a=>(V||am(d,400,a,b),j.NextResponse.json({error:a},{status:400})),_=(0,ad.QD)(a,d);if(_)return Y(_);if(void 0!==d.allowSubagents&&"boolean"!=typeof d.allowSubagents)return j.NextResponse.json({error:"allowSubagents must be a boolean"},{status:400});let aa=(0,w.s8)(d);if(!aa.ok)return Y(aa.error);let ab=(0,ad.Fk)(aa.value?.role??null,d);if(ab)return Y(ab);if(aa.value&&(0,F.n4)(aa.value.role)&&!0===d.allowSubagents)return j.NextResponse.json({error:`${aa.value.role} launches cannot enable subagents: reviewer and verifier sessions run every check in-session`},{status:400});let ac="claude"===d.engine||"codex"===d.engine?d.engine:aa.value?.config.engine??null;if(!ac)return j.NextResponse.json({error:"engine must be claude or codex"},{status:400});if(void 0!==d.accountId&&"string"!=typeof d.accountId)return j.NextResponse.json({error:"accountId must be a string"},{status:400});if(void 0!==d.clientAttemptId&&("string"!=typeof d.clientAttemptId||!/^[A-Za-z0-9_-]{8,128}$/.test(d.clientAttemptId)))return j.NextResponse.json({error:"clientAttemptId must be 8-128 URL-safe characters"},{status:400});let ah=(0,r.BL)(ac,{...d,model:d.model??aa.value?.config.model??(0,u.Gh)(ac),effort:void 0===d.effort?aa.value?.config.effort:d.effort});if(ah.error)return j.NextResponse.json({error:ah.error},{status:400});let an=(0,u.wi)({model:void 0===d.model?aa.value?.config.model:d.model});if(an.error)return j.NextResponse.json({error:an.error},{status:400});if(void 0!==d.model&&null!==d.model&&an.model){let a=(0,u.RC)(ac,an.model);if("error"in a)return j.NextResponse.json({error:a.error},{status:400})}let ao="string"==typeof d.prompt?d.prompt.trim():"",aq=aa.value?[aa.value.scaffold,ao].filter(Boolean).join("\n\n"):ao,{images:ar,error:as}=(0,$.Fu)(d);if(as)return j.NextResponse.json({error:as.error},{status:as.status});let at=void 0===d.title?null:(0,Z.St)("string"==typeof d.title?d.title:null,120);if(void 0!==d.title&&!at)return j.NextResponse.json({error:"title must be a semantic, non-placeholder string"},{status:400});let au=(0,Z.V0)(ao,60)?(0,Z.bF)(aa.value?.role??ac,ao):null;try{f=(0,T.l)()}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:500})}if("structured"===f){try{b.assertStructuredRuntime()}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:503})}let a=(0,T.H)({engine:ac,model:an.model,hasImages:ar.length>0,fast:ah.fast});if(a)return j.NextResponse.json({error:a},{status:409});try{(0,R.h1)(aq)}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:413})}}let av=Q??b.registry(),aw="string"==typeof d.clientAttemptId?d.clientAttemptId:null,ax=aw?av.spawnReceiptForClientAttempt(aw):null;if(!at&&!ax)return j.NextResponse.json({error:Z.QE},{status:400});let ay=at??au??(0,Z.St)(ax?.launchProfile.title,120);if(!ay)return j.NextResponse.json({error:Z.QE},{status:400});if(O&&V)return j.NextResponse.json({error:V.error},{status:V.status??403});if(O&&!0===d.allowSubagents&&U?.kind!=="operator")return j.NextResponse.json({error:"allowSubagents requires an authenticated Viewer operator spawn"},{status:403});let az=null;if(void 0!==d.project&&null!==d.project){if(!(az="string"==typeof d.project?(0,o.QK)(d.project):null))return j.NextResponse.json({error:"project must be a valid project key"},{status:400});if(O&&U?.kind!=="operator")return j.NextResponse.json({error:"explicit project requires an authenticated Viewer operator spawn"},{status:403})}let aA=null;if(void 0!==d.supersedes&&null!==d.supersedes){if("string"!=typeof d.supersedes||!d.supersedes.trim())return j.NextResponse.json({error:"supersedes must name a conversation id or transcript path"},{status:400});let a=d.supersedes.trim(),b=a.startsWith("conversation_")?av.conversation(a):av.conversationForPath(a);if(!b)return j.NextResponse.json({error:"supersedes does not resolve to a known conversation"},{status:404});let c=av.supersedenceConflict(b.id);if(c)return j.NextResponse.json({error:`supersedes conflicts with the live conversation ${c}`,successorConversationId:c},{status:409});aA=b.id}let aB="string"==typeof d.cwd?d.cwd.trim():"";if(!aB)return j.NextResponse.json({error:"working directory is required"},{status:400});let aC=i().resolve("~"===aB||aB.startsWith("~/")?i().join(g().homedir(),aB.slice(1)):aB);try{h=e().statSync(aC)}catch{return j.NextResponse.json({error:`directory does not exist: ${aC}`},{status:400})}if(!h.isDirectory())return j.NextResponse.json({error:`not a directory: ${aC}`},{status:400});let aD=(0,v.kg)(a).ok;if(aD&&!aw)return j.NextResponse.json({error:"clientAttemptId is required for direct operator spawn"},{status:400});if(aD){let a=az??(0,W.hY)(aC);if(!a)return j.NextResponse.json({error:"project could not be resolved for direct operator spawn"},{status:400});try{b.recordOperatorActivity?.({idempotencyKey:`spawn:${aw}`,resolvedAttribution:{engine:ac,project:a}})}catch{return j.NextResponse.json({error:"direct operator activity could not be recorded"},{status:503})}}let aE=[],aF=null;try{let g,h,k,r=void 0===d.title||at===au,u=ax?.identityWaveTitleBackfill===!0&&r,v=u?(0,Z.St)(ax.launchProfile.title,120)??ay:ay,w=(0,D.bs)((0,ad.qe)(U,{...d,role:aa.value?.role}),av),x=w.parent,y=w.reviewed?.conversationId??null;if(O&&U?.kind==="agent"&&!x)return j.NextResponse.json({error:ad.HJ},{status:400});let E=U?.kind==="agent"?"string"==typeof d.src&&!!d.src.trim():"string"==typeof d.src&&!!d.src.trim()||"string"==typeof d.parent&&!!d.parent.trim()||void 0!==d.parentConversationId||"string"==typeof d.reviews&&!!d.reviews.trim(),L=x?E?"explicit":"inferred-caller":null,Q=x?.conversationId??null,R="string"==typeof d.src&&d.src.trim()?Q:null,T=x?.sessionKey??null,V=x?.artifactPath??null,Y=(0,t.GU)({origin:{kind:U?.kind==="agent"?"agent":"operator"},parentConversationId:Q,agentRole:aa.value?.role??null}),_=b.internalGrant?.()??null,ab=_?.sessionClass===s.Vv?_:null,ae=ab?[...t.sN]:(0,t.wE)({engine:ac,origin:Y,requested:J.value}),al=ab?(0,s.c1)(ab.mcpServers):(0,s.Mt)({origin:Y,requested:z}),am=(a,b=!1)=>{var c;let e,f=(c={engine:ac,cwd:aC,model:an.model,effort:ah.effort,fast:ah.fast,accountId:a,role:aa.value?.role??null,title:ay,mcpServers:al,...ae.length?{plugins:ae}:{},...!0===d.allowSubagents?{allowSubagents:!0}:{},...az?{project:az}:{},parent:B({parentConversationId:Q??void 0}),...y?{reviews:B({parentConversationId:y})}:{},...aA?{supersedes:B({parentConversationId:aA})}:{},prompt:aq,images:ar.map(a=>{var b;return{mime:a.mime,digest:(b={image:a.base64},A(b))}})},e=Object.fromEntries(Object.entries(c).filter(([a])=>"title"!==a)),{current:A(c),withoutTitle:A(e)});if(u||b&&ax)return ax.requestDigest===f.current?f.current:f.withoutTitle;let g=(0,Z.St)(ax?.launchProfile.title,120);return ax&&g&&g!==ay||ax?.requestDigest===f.current?f.current:f.withoutTitle},ap=R&&b.pipelineAttemptTargetForSource?b.pipelineAttemptTargetForSource(R):null,as=!ab&&(ao.trim()||ar.length)?{prompt:ao,images:ar.length,echo:aq}:null,aB="string"==typeof d.taskId&&d.taskId.trim()?[d.taskId.trim()]:null,aD=(a,b,c,e=void 0!==d.accountId)=>({engine:ac,cwd:aC,transport:f,accountId:a,accountPin:e,parentConversationId:Q,parentSource:L,parentSessionKey:T,parentArtifactPath:V,role:aa.value?.role??null,reviewsConversationId:y,explicitProject:az,supersedes:aA,supersedesReason:"recovery-spawn",liveChildrenCap:U?.liveChildrenCap,origin:U?.kind==="agent"?{kind:"agent",conversationId:U.conversationId}:{kind:"operator"},launchProfile:b,clientAttemptId:aw,requestDigest:c,...aB?{taskIds:aB}:{},launchDisplay:as,memberships:ap&&R?[{kind:"pipeline",containerId:ap.pipelineId,role:ap.role,slot:`adopt:${ap.stageId}:${c.slice(0,24)}`,stageId:ap.stageId,stageOrder:ap.stageOrder,round:null,parentConversationId:R,runtime:{engine:ac,model:b.model,effort:b.effort}}]:[]}),aG=(0,o.Ui)({cwd:aC,model:an.model,effort:ah.effort,fast:ah.fast,parentConversationId:Q,allowSubagents:!0===d.allowSubagents,mcpServers:al,plugins:ae,title:v,...az?{project:az}:{}}),aH=a=>{let b=d.accountId,c=(a instanceof Error?a.message:String(a)).slice(0,240),e=av.beginSpawnRequest(aD(b,aG,am(b)));if("conflict"===e.kind)return j.NextResponse.json({error:"spawn attempt conflicts with its original request"},{status:409});"created"===e.kind&&("structured"===f?av.failStructuredSpawn(e.receipt.launchId,c):av.failSpawn(e.receipt.launchId,c));let g=av.readOnlySnapshot().receipts[e.receipt.launchId]??e.receipt;return j.NextResponse.json((0,G.AU)(g,g.artifactPath,{structured:"structured"===f}))};if(ax&&void 0!==d.accountId&&ax.accountPin&&("failed"===ax.state||"conflicted"===ax.state))return aH(Error(ax.error??"the requested account is not available for this launch"));let aI="string"==typeof d.accountId?d.accountId:null,aJ=az??(0,W.hY)(aC);try{g=ax&&null!==ax.accountId&&!(ax.accountPin&&aI)?b.resolveSpawnAccount(ax.engine,ax.accountId):await b.resolveHealthySpawnAccount(ac,d.accountId,aJ,an.model)}catch(a){if(a instanceof X.Uq||a instanceof n.fu)return j.NextResponse.json({error:a.message},{status:409});if(void 0===d.accountId)throw a;if("claude"!==ac||!aI)return aH(a);try{let c=b.resolveSpawnAccount(ac,aI),d=await (b.resolvePinnedSpawnAdmission??S.jJ)(ac,c,an.model);if("retry-at"!==d.kind&&"admissible"!==d.kind)return aH(a);g={...c,admission:d,requestedAdmission:d}}catch{return aH(a)}}let aK=aI&&g.requestedAdmission?.kind==="retry-at"?g.requestedAdmission.retryAt:null,aL=aK?Date.parse(aK):NaN,aM=Number.isFinite(aL)&&aL>Date.now()?new Date(aL).toISOString():null;aM&&aI&&(g=b.resolveSpawnAccount(ac,aI));let aN=!!(aI&&!aM&&g.accountId!==aI),aO=am("string"==typeof d.accountId?d.accountId:g.accountId,aN||null!==aM),aP=aM?(0,S.X3)(aj(a)?"uk":"en",aM):null,aQ=aN?aj(a)?ai:ag:null,aR=(c=g,h=(0,p.lV)(ac,aC,{model:an.model,effort:ah.effort,fast:ah.fast,codexHome:"codex"===ac?c.home:null,claudeConfigDir:"claude"===ac?c.home:null,claudeProjectsDir:"claude"===ac?c.transcriptRoot:null,allowSubagents:!0===d.allowSubagents,mcpServers:al,deferClaudeSpawnPolicy:!0}),k="claude"===ac&&"structured"===f?(0,S.eK)(h.launchProfile?.permissionMode,{agentInitiated:O,operatorAuthenticated:U?.kind==="operator",roleSpawn:!!aa.value}):h.launchProfile?.permissionMode,{...h,launchProfile:(0,o.Ui)({...h.launchProfile??{},cwd:aC,parentConversationId:Q,allowSubagents:!0===d.allowSubagents,mcpServers:al,plugins:ae,permissionMode:k,title:aQ??v,...az?{project:az}:{}})}),aS=()=>{if("claude"!==ac||"tmux"!==f)return;let a=i().basename(aR.transcript??"",".jsonl");(0,l.fg)(g.home)&&(0,H.prepareManagedClaudeSpawnHome)(g.home,aC),(0,H.applyClaudeSpawnPolicy)(g.home,{allowSubagents:!0===d.allowSubagents,baseSettingsPath:(0,l.fg)(g.home)?(0,l.ZK)():null,profileId:a,cwd:aC,mcpServers:al,mcpStatePath:"managed"===g.kind?i().join(g.home,".claude.json"):i().join(i().dirname(g.home),".claude.json")})},aT=aN&&"string"==typeof d.accountId?d.accountId:g.accountId,aU=await (0,m.Cu)(async()=>{if(!ax&&aw){let b=(0,F.o)(aw);if(b){var a;if(b.requestDigest===(a=d,A(a)))throw new F.eO(b);throw new F.AO}}if(!ax){let a=b.resolveSpawnAccount(ac,g.accountId);if(a.accountId!==g.accountId||a.kind!==g.kind)throw Error("spawn account changed during admission")}return av.beginSpawnRequest(aD(aT,aR.launchProfile,aO,ax?.accountPin??void 0!==d.accountId))});if("conflict"===aU.kind)return j.NextResponse.json({error:"spawn attempt conflicts with its original request"},{status:409});"created"===aU.kind&&(aF=aU.receipt.launchId);let aV="created"===aU.kind&&aI&&g.accountId===aI?(0,af.u)({engine:ac,project:aJ,accountId:aI,conversationId:aU.receipt.conversationId??null,actor:U?.kind==="agent"?{kind:"agent",conversationId:U.conversationId}:{kind:"operator"},via:"launch"})??void 0:void 0,aW=a=>aV?{...a,accountOverride:aV}:a,aX=aU.receipt;if(aM&&aP&&aI){let c,d=aU.receipt.queuedPinnedSpawn;if(d)c=d.imageRefs;else try{c=b.storeImages(ar)}catch(a){throw new ak(a instanceof Error?a.message:String(a))}aX=av.queuePinnedSpawn(aU.receipt.launchId,{version:1,retryAt:aM,accountId:aI,locale:aj(a)?"uk":"en",spec:aR,prompt:aq,imageRefs:c,parentArtifactPath:V,pipelineSourceConversationId:R},aP)}let aY=(a,b,c)=>{if(!c||a.accountId===b)return;let d=av.readOnlySnapshot(),e=d.receipts[a.launchId];if(!e?.key||e.artifactPath!==c)return;let f=d.entries[(0,C.pp)(e.key)],g=d.conversations[e.conversationId];f&&g&&(av.reconcileConversations([{engine:e.engine,path:c,accountId:b,launchProfile:e.launchProfile,turn:{state:g.turn.state,source:g.turn.source,terminalAt:g.turn.terminalAt},expectedTurnObservedAt:g.turn.observedAt,observedAt:new Date().toISOString()}]),av.upsert({...f,accountId:b}))},aZ=async(a,c)=>{if(!R||!b.adoptPipelineAttemptFromSource)return;let d=av.readOnlySnapshot().receipts[a.launchId]??a;try{await b.adoptPipelineAttemptFromSource(R,{launchId:d.launchId,conversationId:d.conversationId,sessionId:d.key?.sessionId??null,agentPath:c,paneId:d.verifiedHost?.paneId??d.pane?.paneId??null,startedAt:d.createdAt,runtime:{engine:d.engine,model:d.launchProfile.model,effort:d.launchProfile.effort}})}catch(a){console.error("[spawn] pipeline attempt adoption failed",{launchId:d.launchId,conversationId:d.conversationId,sourceConversationId:R,error:a})}},a$=(a,c,d)=>{b.defer(async()=>{let f;try{f=await b.spawnStructuredConversation({engine:ac,receipt:a,spec:aR,account:g,prompt:aq,imageRefs:d,registry:av,client:c}),aY(a,g.accountId,f.path)}catch(b){console.error("[spawn] structured launch failed",{launchId:a.launchId,conversationId:a.conversationId,error:b}),b instanceof M.Hr&&av.failStructuredSpawn(a.launchId,`structured spawn transport failed: ${b.message}`.slice(0,240));return}if(V&&f.path)try{(0,K.A6)(f.path,V),(0,K.OA)()}catch(b){console.error("[spawn] handoff lineage persistence failed",{launchId:a.launchId,conversationId:a.conversationId,childArtifactPath:f.path,parentArtifactPath:V,error:b})}if(f.path&&await aZ(a,f.path),f.path&&e().existsSync(f.path))try{await b.publishFilesRevision?.(c)}catch(b){console.error("[spawn] transcript materialization refresh failed",{launchId:a.launchId,conversationId:a.conversationId,artifactPath:f.path,error:b})}})};if("replay"===aU.kind){let a,c=(0,q.Vt)(av.readOnlySnapshot()).isStructured(aX),d=aX,e=c?b.runtimeHostClient():null;if(e&&!aM){try{let b=await (0,S.reconcileStructuredSpawnReplay)(d.launchId,av,e);d=b,a=b.initialMessage}catch{}let c=av.claimStartingStructuredSpawn(d.launchId);if(d=c.receipt,c.claimed){let a;try{a=b.storeImages(ar)}catch(a){throw c.receipt.admissionOwner&&av.releaseStartingStructuredSpawn(d.launchId,c.receipt.admissionOwner),new ak(a instanceof Error?a.message:String(a))}a$(d,e,a)}}d.artifactPath&&(0,q.Vt)(av.readOnlySnapshot()).allowsReceipt(d,{structured:c})&&await aZ(d,d.artifactPath);let f=aW((0,G.AU)(d,d.artifactPath,{structured:c,initialMessage:aM?"queued":a}));return j.NextResponse.json(f,{status:(0,G.Xl)(f,c)})}if(aM){aS();let a=aX.admissionOwner?av.releaseSpawnActuation(aX.launchId,aX.admissionOwner).receipt:aX;return j.NextResponse.json(aW((0,G.AU)(a,a.artifactPath,{structured:"structured"===f,initialMessage:"queued"})),{status:202})}if(aS(),"structured"===f){let a,c=b.runtimeHostClient();if(!c)throw Error("structured spawn runtime host is unavailable");try{a=b.storeImages(ar)}catch(a){throw new ak(a instanceof Error?a.message:String(a))}return a$(aU.receipt,c,a),j.NextResponse.json(aW((0,G.AU)(aU.receipt,aU.receipt.artifactPath,{structured:!0})),{status:202})}let a_=(0,$.Am)(aq,ar);aE=a_.imagePaths;let a0=(0,P.Zn)()?b.runtimeHostClient():null,a1=a0?aU.receipt.launchId:null;if(a0&&a1)try{await a0.operation({scope:(0,N.zV)("operation",a1),kind:"spawn.intent",operationId:a1,producerKey:`viewer-spawn:${a1}`,payload:{engine:ac,cwd:aC,accountId:g.accountId,parentConversationId:Q}})}catch{console.warn("[runtime] spawn bookkeeping unavailable; continuing through the legacy spawn path"),a0=null}let a2=Date.now(),a3=await (b.spawnTmuxAgent??$.Tk)(aR,a_.payload,aU.receipt),a4=await (0,I.s)({engine:ac,knownTranscript:aR.transcript??null,panePid:a3.panePid??null,cwd:aC,startedAtMs:a2,codexSessionsDir:"codex"===ac?g.transcriptRoot:null}),a5=a4?(0,C.sz)(ac,a4):null;if(!a3.host||!await (0,$.PB)(a3.host)){(0,q.agentRegistry)().invalidateSpawnHost(aU.receipt.launchId,"spawn host disappeared before API confirmation");let a=(0,q.agentRegistry)().readOnlySnapshot().receipts[aU.receipt.launchId];return j.NextResponse.json(aW((0,G.AU)(a,a4)))}if(!a4||!a5||!a3.receipt){let a=(0,q.agentRegistry)().markSpawnPathPending(aU.receipt.launchId);return j.NextResponse.json(aW((0,G.AU)(a,null)))}let a6=(0,q.agentRegistry)().settleSpawn(a3.receipt.launchId,{key:a5,artifactPath:a4,cwd:aC,accountId:g.accountId,status:"starting",host:a3.host,claimEpoch:0,claimOwner:null,pendingAction:"spawn"});if("conflict"===a6.kind)return j.NextResponse.json(aW((0,G.AU)(a6.receipt)));if(aY(a6.receipt,g.accountId,a4),await aZ(a6.receipt,a4),a0&&a1)try{await a0.append({scope:(0,N.zV)("edge",a1),kind:"edge.created",producerKey:`viewer-spawn-edge:${a1}`,payload:{edge:"viewer_spawn",childConversationId:a6.conversation.id,parentConversationId:Q,operationId:a1}})}catch{console.warn("[runtime] spawned agent is healthy; lineage bookkeeping will reconcile later")}if(V&&(a4&&(0,K.A6)(a4,V),(0,K.OA)()),!await (0,$.PB)(a3.host)){(0,q.agentRegistry)().invalidateSpawnHost(aU.receipt.launchId,"spawn host disappeared before API response");let a=(0,q.agentRegistry)().readOnlySnapshot().receipts[aU.receipt.launchId];return j.NextResponse.json(aW((0,G.AU)(a,a4)))}return j.NextResponse.json(aW((0,G.AU)(a6.receipt,a4)))}catch(c){let a=aF?av.readOnlySnapshot().receipts[aF]:null;if(a&&null!==a.pane||(a&&av.failSpawn(a.launchId,"spawn failed before pane binding"),(0,$.IJ)(aE)),c instanceof D.eX||c instanceof E.sd)return j.NextResponse.json({error:c.message},{status:c.status});if(c instanceof F.AO)return j.NextResponse.json({error:c.message},{status:409});if(c instanceof F.eO)return j.NextResponse.json({error:c.fence.error,code:"spawn_admission_refused"},{status:c.fence.status});if(c instanceof F.Jc)return j.NextResponse.json((0,G.UH)(c),{status:403});if(c instanceof q.fr)return j.NextResponse.json({error:c.message},{status:429});if(c instanceof ak)return j.NextResponse.json({error:c.message},{status:503});if(c instanceof k.m1||c instanceof l.UV)return j.NextResponse.json({error:c.message},{status:400});let b=c instanceof ae.KP?j.NextResponse.json({error:c.message,retrySafe:!0},{status:503}):null;if(b)return b;if(a?.pane){("prompt-delivered"===a.state||"host-verified"===a.state)&&av.markSpawnPathPending(a.launchId);let b=av.readOnlySnapshot().receipts[a.launchId];if(b)return j.NextResponse.json((0,G.AU)(b,b.artifactPath))}return j.NextResponse.json({error:c instanceof Error?c.message:String(c)},{status:500})}}},92094:(a,b,c)=>{c.d(b,{AG:()=>q,Qf:()=>s,Xi:()=>r});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(91724),i=c(13117),j=c(52509),k=c(70107);let l=["project-catalog.json","worktree-map.json"],m=(0,j.E)("project-directories-v2");function n(a){try{let b=JSON.parse(e().readFileSync(a,"utf8"));return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}function o(a,b,c){if(!(!a||"object"!=typeof a||Array.isArray(a)))for(let d of b){let b=a[d];"string"==typeof b&&b.trim()&&c.add(b)}}function p(){let a=(0,h.Pn)(),b=function(a){let b=l.map(b=>{let c=g().join(a,b);try{let a=e().statSync(c);return`${b}:${a.dev}:${a.ino}:${a.size}:${a.mtimeMs}:${a.ctimeMs}`}catch{return`${b}:missing`}}),c=g().join(a,"state.sqlite");for(let[d,f]of[["flows","flows.json"],["pipelines","pipelines.json"],["workflows","workflows.json"]]){let h=(0,i.jY)(c,d);if(null!==h)b.push(`${d}:sqlite:${h}`);else{let c=g().join(a,f);try{let a=e().statSync(c);b.push(`${f}:${a.dev}:${a.ino}:${a.size}:${a.mtimeMs}:${a.ctimeMs}`)}catch{b.push(`${f}:missing`)}}}return b.join("|")}(a),c=m.get(a);if(c&&c.expiresAt>Date.now()&&c.stateIdentity===b)return c.directories;let d=[],f=new Set;for(let b of function(a){let b=new Set,c=n(g().join(a,"project-catalog.json"))?.files;if(c&&"object"==typeof c&&!Array.isArray(c))for(let a of Object.values(c))o(a,["cwd","projectRoot"],b);let d=g().join(a,"state.sqlite");for(let[c,e,f]of[["flows.json","flows",["cwd"]],["pipelines.json","pipelines",["repoDir","worktreeDir"]],["workflows.json","workflows",["repoDir","worktreeDir"]]]){let h=(0,i.Vx)(d,e)??n(g().join(a,c))?.[e];if(Array.isArray(h))for(let a of h)o(a,f,b)}let e=n(g().join(a,"worktree-map.json"));if(e)for(let[a,c]of Object.entries(e))b.add(a),o(c,["repo"],b);return[...b]}(a)){try{if(!e().statSync(b).isDirectory())continue}catch{continue}let a=(0,k.hY)(b),c=(0,k.D$)(b)??(a?.startsWith("dir-")?b:void 0),g=a?`${a}\0${b}`:"";!a||!c||f.has(g)||(f.add(g),d.push({cwd:b,project:a,projectRoot:c}))}return m.set(a,{directories:d,expiresAt:Date.now()+1e4,stateIdentity:b}),d}function q(a=40){let b=[];for(let c of p())if(!b.includes(c.projectRoot)&&(b.push(c.projectRoot),b.length>=a))break;return b}function r(a,b=10){return a?p().filter(b=>b.project===a).slice(0,b).map(a=>a.cwd):[]}function s(a){let b=new Set([...a].filter(Boolean)),c={};for(let a of p())b.has(a.project)&&!c[a.project]&&(c[a.project]=a.projectRoot);return c}}};
|