agent-log-viewer 1.0.2 → 1.0.3
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/README.md +18 -0
- package/dist/mcp-server.mjs +2458 -392
- package/dist/runtime-host.mjs +1613 -244
- package/dist/standalone/.next/BUILD_ID +1 -1
- package/dist/standalone/.next/app-path-routes-manifest.json +28 -25
- package/dist/standalone/.next/build-manifest.json +2 -2
- package/dist/standalone/.next/prerender-manifest.json +3 -3
- package/dist/standalone/.next/routes-manifest.json +18 -0
- package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -1
- package/dist/standalone/.next/server/app/_global-error/page.js +3 -3
- 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/_global-error.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_index.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 +2 -2
- 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/_head.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- 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/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/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/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/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 +2 -1
- package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/artifact/route.js +1 -1
- package/dist/standalone/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/board/route.js +1 -1
- package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/bridge/route.js +2 -2
- package/dist/standalone/.next/server/app/api/bridge/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 +2 -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 +67 -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 +3 -0
- package/dist/standalone/.next/server/app/api/log/suggestions/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/log/suggestions/route_client-reference-manifest.js +1 -0
- 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/lock/route.js +1 -3
- package/dist/standalone/.next/server/app/api/monitor/lock/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/runs/route.js +1 -3
- package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -1
- 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 +2 -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 -0
- package/dist/standalone/.next/server/app/api/projects/directories/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/projects/directories/route_client-reference-manifest.js +1 -0
- 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 +2 -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 -0
- package/dist/standalone/.next/server/app/api/runtime/hosts/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/runtime/hosts/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +2 -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 +2 -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/realtime/route.js +2 -1
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/send/route.js +2 -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 +2 -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 +2 -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 +2 -2
- package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/staging/route.js +2 -2
- package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -2
- package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +2 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +2 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/route.js +2 -2
- 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 +2 -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 +1 -1
- 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 +2 -2
- package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/page.js +17 -13
- 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 +28 -25
- package/dist/standalone/.next/server/chunks/107.js +1 -0
- package/dist/standalone/.next/server/chunks/{1858.js → 1100.js} +2 -2
- package/dist/standalone/.next/server/chunks/1872.js +42 -0
- package/dist/standalone/.next/server/chunks/1952.js +3 -0
- package/dist/standalone/.next/server/chunks/2243.js +1 -0
- package/dist/standalone/.next/server/chunks/2260.js +104 -0
- package/dist/standalone/.next/server/chunks/2318.js +2 -2
- package/dist/standalone/.next/server/chunks/2324.js +1 -1
- package/dist/standalone/.next/server/chunks/2549.js +81 -0
- package/dist/standalone/.next/server/chunks/2682.js +85 -0
- package/dist/standalone/.next/server/chunks/3086.js +1 -1
- package/dist/standalone/.next/server/chunks/3214.js +1 -1
- package/dist/standalone/.next/server/chunks/3302.js +2 -0
- package/dist/standalone/.next/server/chunks/3336.js +1 -1
- package/dist/standalone/.next/server/chunks/3386.js +2 -0
- package/dist/standalone/.next/server/chunks/3558.js +1 -1
- package/dist/standalone/.next/server/chunks/3587.js +1 -1
- package/dist/standalone/.next/server/chunks/3740.js +20 -20
- package/dist/standalone/.next/server/chunks/3830.js +1 -0
- package/dist/standalone/.next/server/chunks/4191.js +1 -1
- package/dist/standalone/.next/server/chunks/4310.js +1 -0
- package/dist/standalone/.next/server/chunks/4509.js +1 -1
- package/dist/standalone/.next/server/chunks/4565.js +1 -0
- package/dist/standalone/.next/server/chunks/4651.js +2 -0
- package/dist/standalone/.next/server/chunks/4756.js +13 -0
- package/dist/standalone/.next/server/chunks/4972.js +1 -1
- package/dist/standalone/.next/server/chunks/5103.js +10 -0
- package/dist/standalone/.next/server/chunks/5408.js +1 -0
- package/dist/standalone/.next/server/chunks/5545.js +1 -0
- package/dist/standalone/.next/server/chunks/5689.js +1 -1
- package/dist/standalone/.next/server/chunks/6333.js +3 -3
- package/dist/standalone/.next/server/chunks/6487.js +10 -0
- package/dist/standalone/.next/server/chunks/6796.js +1 -1
- package/dist/standalone/.next/server/chunks/6820.js +99 -0
- package/dist/standalone/.next/server/chunks/6826.js +1 -1
- package/dist/standalone/.next/server/chunks/6839.js +81 -0
- package/dist/standalone/.next/server/chunks/6850.js +1 -1
- package/dist/standalone/.next/server/chunks/6909.js +1 -1
- package/dist/standalone/.next/server/chunks/6942.js +27 -0
- package/dist/standalone/.next/server/chunks/7139.js +82 -0
- package/dist/standalone/.next/server/chunks/7471.js +13 -13
- package/dist/standalone/.next/server/chunks/7644.js +2 -2
- package/dist/standalone/.next/server/chunks/7722.js +1 -1
- package/dist/standalone/.next/server/chunks/773.js +47 -0
- package/dist/standalone/.next/server/chunks/8263.js +81 -0
- package/dist/standalone/.next/server/chunks/8326.js +1 -0
- package/dist/standalone/.next/server/chunks/8444.js +1 -1
- 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/8996.js +1 -1
- package/dist/standalone/.next/server/chunks/9307.js +1 -0
- package/dist/standalone/.next/server/chunks/9364.js +58 -58
- package/dist/standalone/.next/server/chunks/9381.js +42 -0
- package/dist/standalone/.next/server/chunks/9403.js +1 -0
- package/dist/standalone/.next/server/chunks/9434.js +3 -3
- package/dist/standalone/.next/server/chunks/9488.js +1 -0
- package/dist/standalone/.next/server/chunks/9750.js +1 -0
- package/dist/standalone/.next/server/chunks/9777.js +1 -0
- package/dist/standalone/.next/server/chunks/9937.js +1 -1
- package/dist/standalone/.next/server/chunks/9940.js +1 -1
- package/dist/standalone/.next/server/chunks/9998.js +1 -1
- package/dist/standalone/.next/server/files-response-worker.js +3 -3
- package/dist/standalone/.next/server/functions-config-manifest.json +3 -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/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/94yAMfjyhUPRgarycP9y4/_buildManifest.js +1 -0
- package/dist/standalone/.next/static/chunks/app/_global-error/page-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/access/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/answer/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/board/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/files/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/image/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/lock/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/proc/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/push/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/resources/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/roles/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/staging/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/app/page-1a141ae4aa9d31a9.js +85 -0
- package/dist/standalone/.next/static/chunks/{framework-d1de002210ddaaef.js → framework-04bc8c1a646a0097.js} +1 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-ae02882983617748.js +1 -0
- package/dist/standalone/.next/static/css/dc96fb2edbd8742e.css +1 -0
- package/dist/standalone/node_modules/{nanoid → next/node_modules/postcss/node_modules/nanoid}/non-secure/index.cjs +2 -2
- package/dist/standalone/node_modules/{nanoid → next/node_modules/postcss/node_modules/nanoid}/package.json +1 -1
- package/dist/standalone/node_modules/react/cjs/react.development.js +1 -1
- package/dist/standalone/node_modules/react/cjs/react.production.js +1 -1
- package/dist/standalone/node_modules/react/package.json +3 -3
- package/dist/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
- package/dist/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
- package/dist/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
- package/dist/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
- package/dist/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
- package/dist/standalone/node_modules/react-dom/cjs/react-dom.production.js +1 -1
- package/dist/standalone/node_modules/react-dom/package.json +4 -4
- package/dist/standalone/package.json +9 -8
- package/dist/standalone/src/lib/inboxFiles.ts +203 -0
- package/package.json +9 -8
- package/dist/standalone/.next/server/chunks/156.js +0 -2
- package/dist/standalone/.next/server/chunks/1920.js +0 -27
- package/dist/standalone/.next/server/chunks/2338.js +0 -12
- package/dist/standalone/.next/server/chunks/2904.js +0 -42
- package/dist/standalone/.next/server/chunks/2977.js +0 -1
- package/dist/standalone/.next/server/chunks/3139.js +0 -10
- package/dist/standalone/.next/server/chunks/3598.js +0 -81
- package/dist/standalone/.next/server/chunks/4968.js +0 -1
- package/dist/standalone/.next/server/chunks/6977.js +0 -1
- package/dist/standalone/.next/server/chunks/7295.js +0 -10
- package/dist/standalone/.next/server/chunks/7868.js +0 -1
- package/dist/standalone/.next/server/chunks/8026.js +0 -1
- package/dist/standalone/.next/server/chunks/8600.js +0 -12
- package/dist/standalone/.next/server/chunks/9246.js +0 -47
- package/dist/standalone/.next/server/chunks/9733.js +0 -42
- package/dist/standalone/.next/static/2ybXlxpylgBaGz43zp2fM/_buildManifest.js +0 -1
- package/dist/standalone/.next/static/chunks/app/_global-error/page-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/access/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/answer/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/board/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/files/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/image/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/monitor/lock/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/proc/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/push/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/resources/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/roles/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/staging/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/page-7ba2538fa87e3d62.js +0 -80
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-c132c5ba005ff29e.js +0 -1
- package/dist/standalone/.next/static/css/498f12ddef7ecb0e.css +0 -1
- /package/dist/standalone/.next/static/{2ybXlxpylgBaGz43zp2fM → 94yAMfjyhUPRgarycP9y4}/_ssgManifest.js +0 -0
- /package/dist/standalone/node_modules/{nanoid → next/node_modules/postcss/node_modules/nanoid}/non-secure/package.json +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)=>{function d(a){return{error:a.rejection.guidance,code:a.rejection.code,launchId:a.receipt.launchId,conversationId:a.receipt.conversationId,rejection:a.rejection}}function e(a,b){return"starting"===a.state||b&&"path-pending"===a.state?202:200}function f(a,b=a.artifactPath,c={}){let d="structured"===a.transport||null===a.transport&&!0===c.structured,e=(null!==a.verifiedHost||!0===c.structured&&"completed"===a.state)&&"failed"!==a.state&&"conflicted"!==a.state;return{ok:!0,target:a.pane?.paneId??a.target??null,path:b,...d&&"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:e,retrySafe:"failed"===a.state,initialMessage:c.initialMessage??("failed"===a.state||"conflicted"===a.state?"failed":"completed"===a.state||"prompt-delivered"===a.state?"delivered":d&&"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:d?"structured":"tmux"}}c.d(b,{AU:()=>f,UH:()=>d,Xl:()=>e})},67722:(a,b,c)=>{c.r(b),c.d(b,{executeSpawnRequest:()=>ah,productionSpawnCommandDependencies:()=>ae,spawnSuggestions:()=>ag});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(86850),n=c(74382),o=c(14509),p=c(29733),q=c(58152),r=c(10230),s=c(61971),t=c(4837),u=c(99411),v=c(21241),w=c(77598),x=c.n(w);function y(a){return x().createHash("sha256").update(JSON.stringify(a)).digest("hex")}function z(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 A=c(48892),B=c(94896),C=c(79511),D=c(11831),E=c(4012),F=c(42087),G=c(16089),H=c(26474),I=c(35961),J=c(3127),K=c(63629),L=c(68512),M=c(50201),N=c(32372),O=c(41022),P=c(45656),Q=c(43384),R=c(99463),S=c(5626),T=c(70107),U=c(92094),V=c(27471),W=c(57563),X=c(77308);let Y={transcriptAllowed:B.FK,readCwd:a=>(0,G.tX)(a),isDirectory:a=>{try{return e().statSync(a).isDirectory()}catch{return!1}}};var Z=c(3359),$=c(5602);let _=W.en["spawnCard.pinUnavailableFallback"],aa=X.uk["spawnCard.pinUnavailableFallback"],ab="string"==typeof aa?aa:_;function ac(a){let b=a.headers.get("accept-language")?.trim().toLowerCase()??"";return"uk"===b||b.startsWith("uk-")}class ad extends Error{}let ae={registry:p.agentRegistry,resolveHealthySpawnAccount:m.ax,resolveSpawnAccount:(a,b)=>m.lD.resolveSpawn(a,b),resolvePinnedSpawnAdmission:P.jJ,runtimeHostClient:J.sS,publishFilesRevision:L.G,spawnStructuredConversation:P.sh,assertStructuredRuntime:v.x_,defer:a=>(0,j.after)(a),storeImages:a=>(0,N.PF)().putMany(a),adoptPipelineAttemptFromSource:R.F_,pipelineAttemptTargetForSource:R.RO};function af(a,b,c){!b||a.includes(b)||c&&(0,T.hY)(b)!==c||a.push(b)}async function ag(a){let b=a.nextUrl.searchParams.get("project")??"",{cwd:c,cwdExists:d}=function(a,b=Y){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,S.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,U.Xi)(b,10))af(f,a,b);for(let a of e){if(f.length>=10)break;b&&a.project!==b||af(f,(0,G.tX)(a.path,{requireDir:!0}),b)}f.length||f.push(g().homedir());let h=(0,Q.l)();return j.NextResponse.json({dirs:f,cwd:c,cwdExists:d,spawnTransport:h,imageInput:{claude:(0,N.ki)("claude","structured"===h),codex:(0,N.ki)("codex","structured"===h&&(0,t.JL)(null))}})}async function ah(a,b=ae){var c;let d,f,h,m=(0,I.W)(a);if(m)return m;try{d=await a.json()}catch{return j.NextResponse.json({error:"invalid JSON"},{status:400})}let v=(0,r.t3)(d.mcpServers);if(!v.ok)return j.NextResponse.json({error:v.error},{status:400});let w=void 0===d.mcpServers?null:v.value,x=(0,s.jh)(d.plugins);if(!x.ok)return j.NextResponse.json({error:x.error},{status:400});let G=(0,Z.QD)(a,d);if(G)return j.NextResponse.json({error:G},{status:400});let L=(0,Z.s0)(a);if(void 0!==d.allowSubagents&&"boolean"!=typeof d.allowSubagents)return j.NextResponse.json({error:"allowSubagents must be a boolean"},{status:400});let N=(0,u.s8)(d);if(!N.ok)return j.NextResponse.json({error:N.error},{status:400});if(N.value?.role==="reviewer"&&("string"!=typeof d.reviews||!d.reviews.trim()))return j.NextResponse.json({error:"reviewer requires reviews"},{status:400});if(N.value?.role!=="reviewer"&&void 0!==d.reviews)return j.NextResponse.json({error:"reviews requires role: reviewer"},{status:400});if(N.value&&(0,C.n4)(N.value.role)&&!0===d.allowSubagents)return j.NextResponse.json({error:`${N.value.role} launches cannot enable subagents: reviewer and verifier sessions run every check in-session`},{status:400});let R="claude"===d.engine||"codex"===d.engine?d.engine:N.value?.config.engine??null;if(!R)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 S=(0,q.BL)(R,{...d,effort:void 0===d.effort?N.value?.config.effort:d.effort});if(S.error)return j.NextResponse.json({error:S.error},{status:400});let T=(0,t.wi)({model:void 0===d.model?N.value?.config.model:d.model});if(T.error)return j.NextResponse.json({error:T.error},{status:400});if(void 0!==d.model&&null!==d.model&&T.model){let a=(0,t.RC)(R,T.model);if("error"in a)return j.NextResponse.json({error:a.error},{status:400})}let U="string"==typeof d.prompt?d.prompt.trim():"",W=N.value?[N.value.scaffold,U].filter(Boolean).join("\n\n"):U,{images:X,error:Y}=(0,V.Fu)(d);if(Y)return j.NextResponse.json({error:Y.error},{status:Y.status});try{f=(0,Q.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,Q.H)({engine:R,model:T.model,hasImages:X.length>0,fast:S.fast});if(a)return j.NextResponse.json({error:a},{status:409});try{(0,O.h1)(W)}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:413})}}let aa=b.registry(),af=null;if(L){let b=(0,Z.X0)(a,d.src,aa);if("error"in b)return j.NextResponse.json({error:b.error},{status:b.status??403});af=b}if(L&&!0===d.allowSubagents&&af?.kind!=="operator")return j.NextResponse.json({error:"allowSubagents requires an authenticated Viewer operator spawn"},{status:403});let ag=null;if(void 0!==d.project&&null!==d.project){if(!(ag="string"==typeof d.project?(0,n.QK)(d.project):null))return j.NextResponse.json({error:"project must be a valid project key"},{status:400});if(L&&af?.kind!=="operator")return j.NextResponse.json({error:"explicit project requires an authenticated Viewer operator spawn"},{status:403})}let ai=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_")?aa.conversation(a):aa.conversationForPath(a);if(!b)return j.NextResponse.json({error:"supersedes does not resolve to a known conversation"},{status:404});let c=aa.supersedenceConflict(b.id);if(c)return j.NextResponse.json({error:`supersedes conflicts with the live conversation ${c}`,successorConversationId:c},{status:409});ai=b.id}let aj="string"==typeof d.cwd?d.cwd.trim():"";if(!aj)return j.NextResponse.json({error:"working directory is required"},{status:400});let ak=i().resolve("~"===aj||aj.startsWith("~/")?i().join(g().homedir(),aj.slice(1)):aj);try{h=e().statSync(ak)}catch{return j.NextResponse.json({error:`directory does not exist: ${ak}`},{status:400})}if(!h.isDirectory())return j.NextResponse.json({error:`not a directory: ${ak}`},{status:400});let al=[],am=null;try{let g,h,k,m="string"==typeof d.clientAttemptId?d.clientAttemptId:null,q=m?aa.spawnReceiptForClientAttempt(m):null,t=(0,B.bs)((0,Z.qe)(af,{...d,role:N.value?.role}),aa),u=t.parent,v=t.reviewed?.conversationId??null;if(L&&af?.kind==="agent"&&!u)return j.NextResponse.json({error:Z.HJ},{status:400});let C=af?.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(),G=u?C?"explicit":"inferred-caller":null,I=u?.conversationId??null,O="string"==typeof d.src&&d.src.trim()?I:null,Q=u?.sessionKey??null,Y=u?.artifactPath??null,$=(0,s.GU)({origin:{kind:af?.kind==="agent"?"agent":"operator"},parentConversationId:I,agentRole:N.value?.role??null}),ae=b.internalGrant?.()??null,ah=ae?.sessionClass===r.Vv?ae:null,aj=ah?[...s.sN]:(0,s.wE)({engine:R,origin:$,requested:x.value}),an=ah?(0,r.c1)(ah.mcpServers):(0,r.Mt)({origin:$,requested:w}),ao=a=>{var b;return b={engine:R,cwd:ak,model:T.model,effort:S.effort,fast:S.fast,accountId:a,role:N.value?.role??null,mcpServers:an,...aj.length?{plugins:aj}:{},...!0===d.allowSubagents?{allowSubagents:!0}:{},...ag?{project:ag}:{},parent:z({parentConversationId:I??void 0}),...v?{reviews:z({parentConversationId:v})}:{},...ai?{supersedes:z({parentConversationId:ai})}:{},prompt:W,images:X.map(a=>{var b;return{mime:a.mime,digest:(b={image:a.base64},y(b))}})},y(b)},ap=O&&b.pipelineAttemptTargetForSource?b.pipelineAttemptTargetForSource(O):null,aq=!ah&&(U.trim()||X.length)?{prompt:U,images:X.length,echo:W}:null,ar=(a,b,c,e=void 0!==d.accountId)=>({engine:R,cwd:ak,transport:f,accountId:a,accountPin:e,parentConversationId:I,parentSource:G,parentSessionKey:Q,parentArtifactPath:Y,role:N.value?.role??null,reviewsConversationId:v,explicitProject:ag,supersedes:ai,supersedesReason:"recovery-spawn",liveChildrenCap:af?.liveChildrenCap,origin:af?.kind==="agent"?{kind:"agent",conversationId:af.conversationId}:{kind:"operator"},launchProfile:b,clientAttemptId:m,requestDigest:c,launchDisplay:aq,memberships:ap&&O?[{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:O,runtime:{engine:R,model:b.model,effort:b.effort}}]:[]}),as=(0,n.Ui)({cwd:ak,model:T.model,effort:S.effort,fast:S.fast,parentConversationId:I,allowSubagents:!0===d.allowSubagents,mcpServers:an,plugins:aj,...ag?{project:ag}:{}}),at=a=>{let b=d.accountId,c=(a instanceof Error?a.message:String(a)).slice(0,240),e=aa.beginSpawnRequest(ar(b,as,ao(b)));if("conflict"===e.kind)return j.NextResponse.json({error:"spawn attempt conflicts with its original request"},{status:409});"created"===e.kind&&("structured"===f?aa.failStructuredSpawn(e.receipt.launchId,c):aa.failSpawn(e.receipt.launchId,c));let g=aa.readOnlySnapshot().receipts[e.receipt.launchId]??e.receipt;return j.NextResponse.json((0,D.AU)(g,g.artifactPath,{structured:"structured"===f}))};if(q&&void 0!==d.accountId&&q.accountPin&&("failed"===q.state||"conflicted"===q.state))return at(Error(q.error??"the requested account is not available for this launch"));let au="string"==typeof d.accountId?d.accountId:null;try{g=q&&null!==q.accountId&&!(q.accountPin&&au)?b.resolveSpawnAccount(q.engine,q.accountId):await b.resolveHealthySpawnAccount(R,d.accountId)}catch(a){if(void 0===d.accountId)throw a;if("claude"!==R||!au)return at(a);try{let c=b.resolveSpawnAccount(R,au),d=await (b.resolvePinnedSpawnAdmission??P.jJ)(R,c);if("retry-at"!==d.kind&&"admissible"!==d.kind)return at(a);g={...c,admission:d,requestedAdmission:d}}catch{return at(a)}}let av=au&&g.requestedAdmission?.kind==="retry-at"?g.requestedAdmission.retryAt:null,aw=av?Date.parse(av):NaN,ax=Number.isFinite(aw)&&aw>Date.now()?new Date(aw).toISOString():null;ax&&au&&(g=b.resolveSpawnAccount(R,au));let ay=!!(au&&!ax&&g.accountId!==au),az=ao("string"==typeof d.accountId?d.accountId:g.accountId),aA=ax?(0,P.X3)(ac(a)?"uk":"en",ax):null,aB=ay?ac(a)?ab:_:null,aC=(c=g,h=(0,o.lV)(R,ak,{model:T.model,effort:S.effort,fast:S.fast,codexHome:"codex"===R?c.home:null,claudeConfigDir:"claude"===R?c.home:null,claudeProjectsDir:"claude"===R?c.transcriptRoot:null,allowSubagents:!0===d.allowSubagents,mcpServers:an,deferClaudeSpawnPolicy:!0}),k="claude"===R&&"structured"===f?(0,P.eK)(h.launchProfile?.permissionMode,{agentInitiated:L,operatorAuthenticated:af?.kind==="operator",roleSpawn:!!N.value}):h.launchProfile?.permissionMode,{...h,launchProfile:(0,n.Ui)({...h.launchProfile??{},cwd:ak,parentConversationId:I,allowSubagents:!0===d.allowSubagents,mcpServers:an,plugins:aj,permissionMode:k,...aB?{title:aB}:{},...ag?{project:ag}:{}})}),aD=()=>{if("claude"!==R||"tmux"!==f)return;let a=i().basename(aC.transcript??"",".jsonl");(0,l.fg)(g.home)&&(0,E.prepareManagedClaudeSpawnHome)(g.home,ak),(0,E.applyClaudeSpawnPolicy)(g.home,{allowSubagents:!0===d.allowSubagents,baseSettingsPath:(0,l.fg)(g.home)?(0,l.ZK)():null,profileId:a,cwd:ak,mcpServers:an,mcpStatePath:"managed"===g.kind?i().join(g.home,".claude.json"):i().join(i().dirname(g.home),".claude.json")})},aE=ay&&"string"==typeof d.accountId?d.accountId:g.accountId,aF=aa.beginSpawnRequest(ar(aE,aC.launchProfile,az,q?.accountPin??void 0!==d.accountId));if("conflict"===aF.kind)return j.NextResponse.json({error:"spawn attempt conflicts with its original request"},{status:409});"created"===aF.kind&&(am=aF.receipt.launchId);let aG=aF.receipt;if(ax&&aA&&au){let c,d=aF.receipt.queuedPinnedSpawn;if(d)c=d.imageRefs;else try{c=b.storeImages(X)}catch(a){throw new ad(a instanceof Error?a.message:String(a))}aG=aa.queuePinnedSpawn(aF.receipt.launchId,{version:1,retryAt:ax,accountId:au,locale:ac(a)?"uk":"en",spec:aC,prompt:W,imageRefs:c,parentArtifactPath:Y,pipelineSourceConversationId:O},aA)}let aH=(a,b,c)=>{if(!c||a.accountId===b)return;let d=aa.readOnlySnapshot(),e=d.receipts[a.launchId];if(!e?.key||e.artifactPath!==c)return;let f=d.entries[(0,A.pp)(e.key)],g=d.conversations[e.conversationId];f&&g&&(aa.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()}]),aa.upsert({...f,accountId:b}))},aI=async(a,c)=>{if(!O||!b.adoptPipelineAttemptFromSource)return;let d=aa.readOnlySnapshot().receipts[a.launchId]??a;try{await b.adoptPipelineAttemptFromSource(O,{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:O,error:a})}},aJ=(a,c,d)=>{b.defer(async()=>{let f;try{f=await b.spawnStructuredConversation({engine:R,receipt:a,spec:aC,account:g,prompt:W,imageRefs:d,registry:aa,client:c}),aH(a,g.accountId,f.path)}catch(b){console.error("[spawn] structured launch failed",{launchId:a.launchId,conversationId:a.conversationId,error:b}),b instanceof J.Hr&&aa.failStructuredSpawn(a.launchId,`structured spawn transport failed: ${b.message}`.slice(0,240));return}if(Y&&f.path)try{(0,H.A6)(f.path,Y),(0,H.OA)()}catch(b){console.error("[spawn] handoff lineage persistence failed",{launchId:a.launchId,conversationId:a.conversationId,childArtifactPath:f.path,parentArtifactPath:Y,error:b})}if(f.path&&await aI(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"===aF.kind){let a,c="structured"===aG.transport||null===aG.transport&&!!(aG.key&&aa.readOnlySnapshot().entries[(0,A.pp)(aG.key)]?.structuredHost),d=aG,e=c?b.runtimeHostClient():null;if(e&&!ax){try{let b=await (0,P.reconcileStructuredSpawnReplay)(d.launchId,aa,e);d=b,a=b.initialMessage}catch{}let c=aa.claimStartingStructuredSpawn(d.launchId);if(d=c.receipt,c.claimed){let a;try{a=b.storeImages(X)}catch(a){throw c.receipt.admissionOwner&&aa.releaseStartingStructuredSpawn(d.launchId,c.receipt.admissionOwner),new ad(a instanceof Error?a.message:String(a))}aJ(d,e,a)}}d.artifactPath&&await aI(d,d.artifactPath);let f=(0,D.AU)(d,d.artifactPath,{structured:c,initialMessage:ax?"queued":a});return j.NextResponse.json(f,{status:(0,D.Xl)(f,c)})}if(ax){aD();let a=aG.admissionOwner?aa.releaseSpawnActuation(aG.launchId,aG.admissionOwner).receipt:aG;return j.NextResponse.json((0,D.AU)(a,a.artifactPath,{structured:"structured"===f,initialMessage:"queued"}),{status:202})}if(aD(),"structured"===f){let a,c=b.runtimeHostClient();if(!c)throw Error("structured spawn runtime host is unavailable");try{a=b.storeImages(X)}catch(a){throw new ad(a instanceof Error?a.message:String(a))}return aJ(aF.receipt,c,a),j.NextResponse.json((0,D.AU)(aF.receipt,aF.receipt.artifactPath,{structured:!0}),{status:202})}let aK=(0,V.Am)(W,X);al=aK.imagePaths;let aL=(0,M.Zn)()?b.runtimeHostClient():null,aM=aL?aF.receipt.launchId:null;if(aL&&aM)try{await aL.operation({scope:(0,K.zV)("operation",aM),kind:"spawn.intent",operationId:aM,producerKey:`viewer-spawn:${aM}`,payload:{engine:R,cwd:ak,accountId:g.accountId,parentConversationId:I}})}catch{console.warn("[runtime] spawn bookkeeping unavailable; continuing through the legacy spawn path"),aL=null}let aN=Date.now(),aO=await (b.spawnTmuxAgent??V.Tk)(aC,aK.payload,aF.receipt),aP=await (0,F.s)({engine:R,knownTranscript:aC.transcript??null,panePid:aO.panePid??null,cwd:ak,startedAtMs:aN,codexSessionsDir:"codex"===R?g.transcriptRoot:null}),aQ=aP?(0,A.sz)(R,aP):null;if(!aO.host||!await (0,V.PB)(aO.host)){(0,p.agentRegistry)().invalidateSpawnHost(aF.receipt.launchId,"spawn host disappeared before API confirmation");let a=(0,p.agentRegistry)().readOnlySnapshot().receipts[aF.receipt.launchId];return j.NextResponse.json((0,D.AU)(a,aP))}if(!aP||!aQ||!aO.receipt){let a=(0,p.agentRegistry)().markSpawnPathPending(aF.receipt.launchId);return j.NextResponse.json((0,D.AU)(a,null))}let aR=(0,p.agentRegistry)().settleSpawn(aO.receipt.launchId,{key:aQ,artifactPath:aP,cwd:ak,accountId:g.accountId,status:"starting",host:aO.host,claimEpoch:0,claimOwner:null,pendingAction:"spawn"});if("conflict"===aR.kind)return j.NextResponse.json((0,D.AU)(aR.receipt));if(aH(aR.receipt,g.accountId,aP),await aI(aR.receipt,aP),aL&&aM)try{await aL.append({scope:(0,K.zV)("edge",aM),kind:"edge.created",producerKey:`viewer-spawn-edge:${aM}`,payload:{edge:"viewer_spawn",childConversationId:aR.conversation.id,parentConversationId:I,operationId:aM}})}catch{console.warn("[runtime] spawned agent is healthy; lineage bookkeeping will reconcile later")}if(Y&&(aP&&(0,H.A6)(aP,Y),(0,H.OA)()),!await (0,V.PB)(aO.host)){(0,p.agentRegistry)().invalidateSpawnHost(aF.receipt.launchId,"spawn host disappeared before API response");let a=(0,p.agentRegistry)().readOnlySnapshot().receipts[aF.receipt.launchId];return j.NextResponse.json((0,D.AU)(a,aP))}return j.NextResponse.json((0,D.AU)(aR.receipt,aP))}catch(c){let a=am?aa.readOnlySnapshot().receipts[am]:null;if(a&&null!==a.pane||(a&&aa.failSpawn(a.launchId,"spawn failed before pane binding"),(0,V.IJ)(al)),c instanceof B.eX)return j.NextResponse.json({error:c.message},{status:c.status});if(c instanceof C.Jc)return j.NextResponse.json((0,D.UH)(c),{status:403});if(c instanceof p.fr)return j.NextResponse.json({error:c.message},{status:429});if(c instanceof ad)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 $.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)&&aa.markSpawnPathPending(a.launchId);let b=aa.readOnlySnapshot().receipts[a.launchId];if(b)return j.NextResponse.json((0,D.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,{Qf:()=>r,Xi:()=>q});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,b=10){return a?p().filter(b=>b.project===a).slice(0,b).map(a=>a.cwd):[]}function r(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={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)=>{function d(a){return{error:a.rejection.guidance,code:a.rejection.code,launchId:a.receipt.launchId,conversationId:a.receipt.conversationId,rejection:a.rejection}}function e(a,b){return"starting"===a.state||b&&"path-pending"===a.state?202:200}function f(a,b=a.artifactPath,c={}){let d="structured"===a.transport||null===a.transport&&!0===c.structured,e=(null!==a.verifiedHost||!0===c.structured&&"completed"===a.state)&&"failed"!==a.state&&"conflicted"!==a.state;return{ok:!0,target:a.pane?.paneId??a.target??null,path:b,...d&&"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:e,retrySafe:"failed"===a.state,initialMessage:c.initialMessage??("failed"===a.state||"conflicted"===a.state?"failed":"completed"===a.state||"prompt-delivered"===a.state?"delivered":d&&"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:d?"structured":"tmux"}}c.d(b,{AU:()=>f,UH:()=>d,Xl:()=>e})},67722:(a,b,c)=>{c.r(b),c.d(b,{executeSpawnRequest:()=>ak,productionSpawnCommandDependencies:()=>ah,spawnSuggestions:()=>aj});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(86850),n=c(74382),o=c(14509),p=c(21872),q=c(58152),r=c(10230),s=c(61971),t=c(4837),u=c(33302),v=c(99411),w=c(21241),x=c(77598),y=c.n(x);function z(a){return y().createHash("sha256").update(JSON.stringify(a)).digest("hex")}function A(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 B=c(48892),C=c(94896),D=c(79511),E=c(11831),F=c(4012),G=c(42087),H=c(16089),I=c(26474),J=c(35961),K=c(3127),L=c(63629),M=c(68512),N=c(50201),O=c(32372),P=c(41022),Q=c(45656),R=c(43384),S=c(99463),T=c(67217),U=c(70107),V=c(92094),W=c(30795),X=c(27471),Y=c(57563),Z=c(77308),$=c(62318);let _={transcriptAllowed:C.FK,readCwd:a=>(0,H.tX)(a),isDirectory:a=>{try{return e().statSync(a).isDirectory()}catch{return!1}}};var aa=c(3359),ab=c(5602);let ac=Y.en["spawnCard.pinUnavailableFallback"],ad=Z.uk["spawnCard.pinUnavailableFallback"],ae="string"==typeof ad?ad:ac;function af(a){let b=a.headers.get("accept-language")?.trim().toLowerCase()??"";return"uk"===b||b.startsWith("uk-")}class ag extends Error{}let ah={registry:p.agentRegistry,resolveHealthySpawnAccount:m.ax,resolveSpawnAccount:(a,b)=>m.accountManager.resolveSpawn(a,b),resolvePinnedSpawnAdmission:Q.jJ,runtimeHostClient:K.sS,publishFilesRevision:M.G,spawnStructuredConversation:Q.sh,assertStructuredRuntime:w.x_,defer:a=>(0,j.after)(a),storeImages:a=>(0,O.PF)().putMany(a),adoptPipelineAttemptFromSource:S.F_,pipelineAttemptTargetForSource:S.RO,recordOperatorActivity:$.d};function ai(a,b,c){!b||a.includes(b)||c&&(0,U.hY)(b)!==c||a.push(b)}async function aj(a){let b=a.nextUrl.searchParams.get("project")??"",{cwd:c,cwdExists:d}=function(a,b=_){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,T.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,V.Xi)(b,10))ai(f,a,b);for(let a of e){if(f.length>=10)break;b&&a.project!==b||ai(f,(0,H.tX)(a.path,{requireDir:!0}),b)}f.length||f.push(g().homedir());let h=(0,R.l)();return j.NextResponse.json({dirs:f,cwd:c,cwdExists:d,spawnTransport:h,imageInput:{claude:(0,O.ki)("claude","structured"===h),codex:(0,O.ki)("codex","structured"===h&&(0,t.JL)(null))}})}async function ak(a,b=ah){var c;let d,f,h,m=(0,J.W)(a);if(m)return m;try{d=await a.json()}catch{return j.NextResponse.json({error:"invalid JSON"},{status:400})}let w=(0,r.t3)(d.mcpServers);if(!w.ok)return j.NextResponse.json({error:w.error},{status:400});let x=void 0===d.mcpServers?null:w.value,y=(0,s.jh)(d.plugins);if(!y.ok)return j.NextResponse.json({error:y.error},{status:400});let H=(0,aa.QD)(a,d);if(H)return j.NextResponse.json({error:H},{status:400});let M=(0,aa.s0)(a);if(void 0!==d.allowSubagents&&"boolean"!=typeof d.allowSubagents)return j.NextResponse.json({error:"allowSubagents must be a boolean"},{status:400});let O=(0,v.s8)(d);if(!O.ok)return j.NextResponse.json({error:O.error},{status:400});if(O.value?.role==="reviewer"&&("string"!=typeof d.reviews||!d.reviews.trim()))return j.NextResponse.json({error:"reviewer requires reviews"},{status:400});if(O.value?.role!=="reviewer"&&void 0!==d.reviews)return j.NextResponse.json({error:"reviews requires role: reviewer"},{status:400});if(O.value&&(0,D.n4)(O.value.role)&&!0===d.allowSubagents)return j.NextResponse.json({error:`${O.value.role} launches cannot enable subagents: reviewer and verifier sessions run every check in-session`},{status:400});let S="claude"===d.engine||"codex"===d.engine?d.engine:O.value?.config.engine??null;if(!S)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 T=(0,q.BL)(S,{...d,effort:void 0===d.effort?O.value?.config.effort:d.effort});if(T.error)return j.NextResponse.json({error:T.error},{status:400});let V=(0,t.wi)({model:void 0===d.model?O.value?.config.model:d.model});if(V.error)return j.NextResponse.json({error:V.error},{status:400});if(void 0!==d.model&&null!==d.model&&V.model){let a=(0,t.RC)(S,V.model);if("error"in a)return j.NextResponse.json({error:a.error},{status:400})}let Y="string"==typeof d.prompt?d.prompt.trim():"",Z=O.value?[O.value.scaffold,Y].filter(Boolean).join("\n\n"):Y,{images:$,error:_}=(0,X.Fu)(d);if(_)return j.NextResponse.json({error:_.error},{status:_.status});let ad=void 0===d.title?null:(0,W.St)("string"==typeof d.title?d.title:null,120);if(void 0!==d.title&&!ad)return j.NextResponse.json({error:"title must be a semantic, non-placeholder string"},{status:400});let ai=(0,W.V0)(Y,60)?(0,W.bF)(O.value?.role??S,Y):null;try{f=(0,R.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,R.H)({engine:S,model:V.model,hasImages:$.length>0,fast:T.fast});if(a)return j.NextResponse.json({error:a},{status:409});try{(0,P.h1)(Z)}catch(a){return j.NextResponse.json({error:a instanceof Error?a.message:String(a)},{status:413})}}let aj=b.registry(),al="string"==typeof d.clientAttemptId?d.clientAttemptId:null,am=al?aj.spawnReceiptForClientAttempt(al):null;if(!ad&&!am)return j.NextResponse.json({error:W.QE},{status:400});let an=ad??ai??(0,W.St)(am?.launchProfile.title,120);if(!an)return j.NextResponse.json({error:W.QE},{status:400});let ao=null;if(M){let b=(0,aa.X0)(a,d.src,aj);if("error"in b)return j.NextResponse.json({error:b.error},{status:b.status??403});ao=b}if(M&&!0===d.allowSubagents&&ao?.kind!=="operator")return j.NextResponse.json({error:"allowSubagents requires an authenticated Viewer operator spawn"},{status:403});let ap=null;if(void 0!==d.project&&null!==d.project){if(!(ap="string"==typeof d.project?(0,n.QK)(d.project):null))return j.NextResponse.json({error:"project must be a valid project key"},{status:400});if(M&&ao?.kind!=="operator")return j.NextResponse.json({error:"explicit project requires an authenticated Viewer operator spawn"},{status:403})}let aq=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_")?aj.conversation(a):aj.conversationForPath(a);if(!b)return j.NextResponse.json({error:"supersedes does not resolve to a known conversation"},{status:404});let c=aj.supersedenceConflict(b.id);if(c)return j.NextResponse.json({error:`supersedes conflicts with the live conversation ${c}`,successorConversationId:c},{status:409});aq=b.id}let ar="string"==typeof d.cwd?d.cwd.trim():"";if(!ar)return j.NextResponse.json({error:"working directory is required"},{status:400});let as=i().resolve("~"===ar||ar.startsWith("~/")?i().join(g().homedir(),ar.slice(1)):ar);try{h=e().statSync(as)}catch{return j.NextResponse.json({error:`directory does not exist: ${as}`},{status:400})}if(!h.isDirectory())return j.NextResponse.json({error:`not a directory: ${as}`},{status:400});let at=(0,u.kg)(a).ok;if(at&&!al)return j.NextResponse.json({error:"clientAttemptId is required for direct operator spawn"},{status:400});if(at){let a=ap??(0,U.hY)(as);if(!a)return j.NextResponse.json({error:"project could not be resolved for direct operator spawn"},{status:400});try{b.recordOperatorActivity?.({idempotencyKey:`spawn:${al}`,resolvedAttribution:{engine:S,project:a}})}catch{return j.NextResponse.json({error:"direct operator activity could not be recorded"},{status:503})}}let au=[],av=null;try{let g,h,k,m=void 0===d.title||ad===ai,q=am?.identityWaveTitleBackfill===!0&&m,t=q?(0,W.St)(am.launchProfile.title,120)??an:an,u=(0,C.bs)((0,aa.qe)(ao,{...d,role:O.value?.role}),aj),v=u.parent,w=u.reviewed?.conversationId??null;if(M&&ao?.kind==="agent"&&!v)return j.NextResponse.json({error:aa.HJ},{status:400});let D=ao?.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(),H=v?D?"explicit":"inferred-caller":null,J=v?.conversationId??null,P="string"==typeof d.src&&d.src.trim()?J:null,R=v?.sessionKey??null,U=v?.artifactPath??null,_=(0,s.GU)({origin:{kind:ao?.kind==="agent"?"agent":"operator"},parentConversationId:J,agentRole:O.value?.role??null}),ab=b.internalGrant?.()??null,ah=ab?.sessionClass===r.Vv?ab:null,ak=ah?[...s.sN]:(0,s.wE)({engine:S,origin:_,requested:y.value}),ar=ah?(0,r.c1)(ah.mcpServers):(0,r.Mt)({origin:_,requested:x}),at=(a,b=!1)=>{var c;let e,f=(c={engine:S,cwd:as,model:V.model,effort:T.effort,fast:T.fast,accountId:a,role:O.value?.role??null,title:an,mcpServers:ar,...ak.length?{plugins:ak}:{},...!0===d.allowSubagents?{allowSubagents:!0}:{},...ap?{project:ap}:{},parent:A({parentConversationId:J??void 0}),...w?{reviews:A({parentConversationId:w})}:{},...aq?{supersedes:A({parentConversationId:aq})}:{},prompt:Z,images:$.map(a=>{var b;return{mime:a.mime,digest:(b={image:a.base64},z(b))}})},e=Object.fromEntries(Object.entries(c).filter(([a])=>"title"!==a)),{current:z(c),withoutTitle:z(e)});if(q||b&&am)return am.requestDigest===f.current?f.current:f.withoutTitle;let g=(0,W.St)(am?.launchProfile.title,120);return am&&g&&g!==an||am?.requestDigest===f.current?f.current:f.withoutTitle},aw=P&&b.pipelineAttemptTargetForSource?b.pipelineAttemptTargetForSource(P):null,ax=!ah&&(Y.trim()||$.length)?{prompt:Y,images:$.length,echo:Z}:null,ay=(a,b,c,e=void 0!==d.accountId)=>({engine:S,cwd:as,transport:f,accountId:a,accountPin:e,parentConversationId:J,parentSource:H,parentSessionKey:R,parentArtifactPath:U,role:O.value?.role??null,reviewsConversationId:w,explicitProject:ap,supersedes:aq,supersedesReason:"recovery-spawn",liveChildrenCap:ao?.liveChildrenCap,origin:ao?.kind==="agent"?{kind:"agent",conversationId:ao.conversationId}:{kind:"operator"},launchProfile:b,clientAttemptId:al,requestDigest:c,launchDisplay:ax,memberships:aw&&P?[{kind:"pipeline",containerId:aw.pipelineId,role:aw.role,slot:`adopt:${aw.stageId}:${c.slice(0,24)}`,stageId:aw.stageId,stageOrder:aw.stageOrder,round:null,parentConversationId:P,runtime:{engine:S,model:b.model,effort:b.effort}}]:[]}),az=(0,n.Ui)({cwd:as,model:V.model,effort:T.effort,fast:T.fast,parentConversationId:J,allowSubagents:!0===d.allowSubagents,mcpServers:ar,plugins:ak,title:t,...ap?{project:ap}:{}}),aA=a=>{let b=d.accountId,c=(a instanceof Error?a.message:String(a)).slice(0,240),e=aj.beginSpawnRequest(ay(b,az,at(b)));if("conflict"===e.kind)return j.NextResponse.json({error:"spawn attempt conflicts with its original request"},{status:409});"created"===e.kind&&("structured"===f?aj.failStructuredSpawn(e.receipt.launchId,c):aj.failSpawn(e.receipt.launchId,c));let g=aj.readOnlySnapshot().receipts[e.receipt.launchId]??e.receipt;return j.NextResponse.json((0,E.AU)(g,g.artifactPath,{structured:"structured"===f}))};if(am&&void 0!==d.accountId&&am.accountPin&&("failed"===am.state||"conflicted"===am.state))return aA(Error(am.error??"the requested account is not available for this launch"));let aB="string"==typeof d.accountId?d.accountId:null;try{g=am&&null!==am.accountId&&!(am.accountPin&&aB)?b.resolveSpawnAccount(am.engine,am.accountId):await b.resolveHealthySpawnAccount(S,d.accountId)}catch(a){if(void 0===d.accountId)throw a;if("claude"!==S||!aB)return aA(a);try{let c=b.resolveSpawnAccount(S,aB),d=await (b.resolvePinnedSpawnAdmission??Q.jJ)(S,c);if("retry-at"!==d.kind&&"admissible"!==d.kind)return aA(a);g={...c,admission:d,requestedAdmission:d}}catch{return aA(a)}}let aC=aB&&g.requestedAdmission?.kind==="retry-at"?g.requestedAdmission.retryAt:null,aD=aC?Date.parse(aC):NaN,aE=Number.isFinite(aD)&&aD>Date.now()?new Date(aD).toISOString():null;aE&&aB&&(g=b.resolveSpawnAccount(S,aB));let aF=!!(aB&&!aE&&g.accountId!==aB),aG=at("string"==typeof d.accountId?d.accountId:g.accountId,aF||null!==aE),aH=aE?(0,Q.X3)(af(a)?"uk":"en",aE):null,aI=aF?af(a)?ae:ac:null,aJ=(c=g,h=(0,o.lV)(S,as,{model:V.model,effort:T.effort,fast:T.fast,codexHome:"codex"===S?c.home:null,claudeConfigDir:"claude"===S?c.home:null,claudeProjectsDir:"claude"===S?c.transcriptRoot:null,allowSubagents:!0===d.allowSubagents,mcpServers:ar,deferClaudeSpawnPolicy:!0}),k="claude"===S&&"structured"===f?(0,Q.eK)(h.launchProfile?.permissionMode,{agentInitiated:M,operatorAuthenticated:ao?.kind==="operator",roleSpawn:!!O.value}):h.launchProfile?.permissionMode,{...h,launchProfile:(0,n.Ui)({...h.launchProfile??{},cwd:as,parentConversationId:J,allowSubagents:!0===d.allowSubagents,mcpServers:ar,plugins:ak,permissionMode:k,title:aI??t,...ap?{project:ap}:{}})}),aK=()=>{if("claude"!==S||"tmux"!==f)return;let a=i().basename(aJ.transcript??"",".jsonl");(0,l.fg)(g.home)&&(0,F.prepareManagedClaudeSpawnHome)(g.home,as),(0,F.applyClaudeSpawnPolicy)(g.home,{allowSubagents:!0===d.allowSubagents,baseSettingsPath:(0,l.fg)(g.home)?(0,l.ZK)():null,profileId:a,cwd:as,mcpServers:ar,mcpStatePath:"managed"===g.kind?i().join(g.home,".claude.json"):i().join(i().dirname(g.home),".claude.json")})},aL=aF&&"string"==typeof d.accountId?d.accountId:g.accountId,aM=aj.beginSpawnRequest(ay(aL,aJ.launchProfile,aG,am?.accountPin??void 0!==d.accountId));if("conflict"===aM.kind)return j.NextResponse.json({error:"spawn attempt conflicts with its original request"},{status:409});"created"===aM.kind&&(av=aM.receipt.launchId);let aN=aM.receipt;if(aE&&aH&&aB){let c,d=aM.receipt.queuedPinnedSpawn;if(d)c=d.imageRefs;else try{c=b.storeImages($)}catch(a){throw new ag(a instanceof Error?a.message:String(a))}aN=aj.queuePinnedSpawn(aM.receipt.launchId,{version:1,retryAt:aE,accountId:aB,locale:af(a)?"uk":"en",spec:aJ,prompt:Z,imageRefs:c,parentArtifactPath:U,pipelineSourceConversationId:P},aH)}let aO=(a,b,c)=>{if(!c||a.accountId===b)return;let d=aj.readOnlySnapshot(),e=d.receipts[a.launchId];if(!e?.key||e.artifactPath!==c)return;let f=d.entries[(0,B.pp)(e.key)],g=d.conversations[e.conversationId];f&&g&&(aj.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()}]),aj.upsert({...f,accountId:b}))},aP=async(a,c)=>{if(!P||!b.adoptPipelineAttemptFromSource)return;let d=aj.readOnlySnapshot().receipts[a.launchId]??a;try{await b.adoptPipelineAttemptFromSource(P,{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:P,error:a})}},aQ=(a,c,d)=>{b.defer(async()=>{let f;try{f=await b.spawnStructuredConversation({engine:S,receipt:a,spec:aJ,account:g,prompt:Z,imageRefs:d,registry:aj,client:c}),aO(a,g.accountId,f.path)}catch(b){console.error("[spawn] structured launch failed",{launchId:a.launchId,conversationId:a.conversationId,error:b}),b instanceof K.Hr&&aj.failStructuredSpawn(a.launchId,`structured spawn transport failed: ${b.message}`.slice(0,240));return}if(U&&f.path)try{(0,I.A6)(f.path,U),(0,I.OA)()}catch(b){console.error("[spawn] handoff lineage persistence failed",{launchId:a.launchId,conversationId:a.conversationId,childArtifactPath:f.path,parentArtifactPath:U,error:b})}if(f.path&&await aP(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"===aM.kind){let a,c="structured"===aN.transport||null===aN.transport&&!!(aN.key&&aj.readOnlySnapshot().entries[(0,B.pp)(aN.key)]?.structuredHost),d=aN,e=c?b.runtimeHostClient():null;if(e&&!aE){try{let b=await (0,Q.reconcileStructuredSpawnReplay)(d.launchId,aj,e);d=b,a=b.initialMessage}catch{}let c=aj.claimStartingStructuredSpawn(d.launchId);if(d=c.receipt,c.claimed){let a;try{a=b.storeImages($)}catch(a){throw c.receipt.admissionOwner&&aj.releaseStartingStructuredSpawn(d.launchId,c.receipt.admissionOwner),new ag(a instanceof Error?a.message:String(a))}aQ(d,e,a)}}d.artifactPath&&await aP(d,d.artifactPath);let f=(0,E.AU)(d,d.artifactPath,{structured:c,initialMessage:aE?"queued":a});return j.NextResponse.json(f,{status:(0,E.Xl)(f,c)})}if(aE){aK();let a=aN.admissionOwner?aj.releaseSpawnActuation(aN.launchId,aN.admissionOwner).receipt:aN;return j.NextResponse.json((0,E.AU)(a,a.artifactPath,{structured:"structured"===f,initialMessage:"queued"}),{status:202})}if(aK(),"structured"===f){let a,c=b.runtimeHostClient();if(!c)throw Error("structured spawn runtime host is unavailable");try{a=b.storeImages($)}catch(a){throw new ag(a instanceof Error?a.message:String(a))}return aQ(aM.receipt,c,a),j.NextResponse.json((0,E.AU)(aM.receipt,aM.receipt.artifactPath,{structured:!0}),{status:202})}let aR=(0,X.Am)(Z,$);au=aR.imagePaths;let aS=(0,N.Zn)()?b.runtimeHostClient():null,aT=aS?aM.receipt.launchId:null;if(aS&&aT)try{await aS.operation({scope:(0,L.zV)("operation",aT),kind:"spawn.intent",operationId:aT,producerKey:`viewer-spawn:${aT}`,payload:{engine:S,cwd:as,accountId:g.accountId,parentConversationId:J}})}catch{console.warn("[runtime] spawn bookkeeping unavailable; continuing through the legacy spawn path"),aS=null}let aU=Date.now(),aV=await (b.spawnTmuxAgent??X.Tk)(aJ,aR.payload,aM.receipt),aW=await (0,G.s)({engine:S,knownTranscript:aJ.transcript??null,panePid:aV.panePid??null,cwd:as,startedAtMs:aU,codexSessionsDir:"codex"===S?g.transcriptRoot:null}),aX=aW?(0,B.sz)(S,aW):null;if(!aV.host||!await (0,X.PB)(aV.host)){(0,p.agentRegistry)().invalidateSpawnHost(aM.receipt.launchId,"spawn host disappeared before API confirmation");let a=(0,p.agentRegistry)().readOnlySnapshot().receipts[aM.receipt.launchId];return j.NextResponse.json((0,E.AU)(a,aW))}if(!aW||!aX||!aV.receipt){let a=(0,p.agentRegistry)().markSpawnPathPending(aM.receipt.launchId);return j.NextResponse.json((0,E.AU)(a,null))}let aY=(0,p.agentRegistry)().settleSpawn(aV.receipt.launchId,{key:aX,artifactPath:aW,cwd:as,accountId:g.accountId,status:"starting",host:aV.host,claimEpoch:0,claimOwner:null,pendingAction:"spawn"});if("conflict"===aY.kind)return j.NextResponse.json((0,E.AU)(aY.receipt));if(aO(aY.receipt,g.accountId,aW),await aP(aY.receipt,aW),aS&&aT)try{await aS.append({scope:(0,L.zV)("edge",aT),kind:"edge.created",producerKey:`viewer-spawn-edge:${aT}`,payload:{edge:"viewer_spawn",childConversationId:aY.conversation.id,parentConversationId:J,operationId:aT}})}catch{console.warn("[runtime] spawned agent is healthy; lineage bookkeeping will reconcile later")}if(U&&(aW&&(0,I.A6)(aW,U),(0,I.OA)()),!await (0,X.PB)(aV.host)){(0,p.agentRegistry)().invalidateSpawnHost(aM.receipt.launchId,"spawn host disappeared before API response");let a=(0,p.agentRegistry)().readOnlySnapshot().receipts[aM.receipt.launchId];return j.NextResponse.json((0,E.AU)(a,aW))}return j.NextResponse.json((0,E.AU)(aY.receipt,aW))}catch(c){let a=av?aj.readOnlySnapshot().receipts[av]:null;if(a&&null!==a.pane||(a&&aj.failSpawn(a.launchId,"spawn failed before pane binding"),(0,X.IJ)(au)),c instanceof C.eX)return j.NextResponse.json({error:c.message},{status:c.status});if(c instanceof D.Jc)return j.NextResponse.json((0,E.UH)(c),{status:403});if(c instanceof p.fr)return j.NextResponse.json({error:c.message},{status:429});if(c instanceof ag)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 ab.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)&&aj.markSpawnPathPending(a.launchId);let b=aj.readOnlySnapshot().receipts[a.launchId];if(b)return j.NextResponse.json((0,E.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}}};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";exports.id=773,exports.ids=[773],exports.modules={773:(a,b,c)=>{c.d(b,{$H:()=>u,FF:()=>y,H$:()=>w,jc:()=>x,k:()=>t,kG:()=>q,lN:()=>n,mI:()=>z,rD:()=>s,sk:()=>m,uc:()=>v});var d=c(73024),e=c.n(d);c(76760);var f=c(27146),g=c(5159),h=c(78560),i=c(19777);function j(){return(0,f.BQ)("telegram","reports.json")}function k(a){return(0,f.BQ)("telegram",`report-${a}.md`)}function l(a){return(0,f.BQ)("telegram",`run-${a}.sources.json`)}function m(a){return(0,f.BQ)("telegram",`run-${a}.out.md`)}function n(){let a=process.env.LLV_TELEGRAM_REPORT_CWD?.trim()||(0,f.BQ)("telegram","report-workspace");return e().mkdirSync(a,{recursive:!0,mode:448}),a}let o={version:1,settings:{enabled:g.zv.enabled,time:g.zv.time,groups:[]},prompt:null,cursor:{lastSuccessfulWindowEndAt:null,unreportedSinceAt:null,lastScheduledDay:null},active:null,retry:null,history:[]};function p(a){return"string"==typeof a&&a?a:null}function q(a){return a.prompt??h.U8}function r(a){let b=a&&"object"==typeof a?a:{},c=p(b.id),d=p(b.startedAt);if(!c||!d)return null;let e=b.status;return{id:c,trigger:"manual"===b.trigger?"manual":"scheduled",startedAt:d,finishedAt:p(b.finishedAt),windowStart:p(b.windowStart)??d,windowEnd:p(b.windowEnd)??d,status:"ok"===e||"quiet"===e||"failed"===e||"account-mismatch"===e||"running"===e?e:"failed",errorCode:p(b.errorCode)??null,conversationId:p(b.conversationId),hasReport:!0===b.hasReport,promptVersion:p(b.promptVersion)??"unknown"}}function s(){var a,b,c;let d,e,f,k,l,m,n,q=null;try{q=(0,i.ck)(j())}catch{return{...o,settings:{...o.settings},cursor:{...o.cursor},retry:null,history:[]}}if(!q||"object"!=typeof q)return{...o,settings:{...o.settings},cursor:{...o.cursor},retry:null,history:[]};let s=q,t=s.cursor&&"object"==typeof s.cursor?s.cursor:{};return{version:1,settings:{enabled:!0===(d=(a=s.settings)&&"object"==typeof a?a:{}).enabled,time:(0,g.Wp)(d.time)?d.time:g.zv.time,groups:function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a.slice(0,50))(0,g.mq)(c.id)&&b.push({id:c.id,title:"string"==typeof c.title?c.title.slice(0,120):c.id,mode:"light"===c.mode?"light":"full"});return b}(d.groups)},prompt:"string"==typeof s.prompt&&s.prompt.trim()?s.prompt.slice(0,h.gW):null,cursor:{lastSuccessfulWindowEndAt:p(t.lastSuccessfulWindowEndAt),unreportedSinceAt:p(t.unreportedSinceAt),lastScheduledDay:p(t.lastScheduledDay)},active:(f=p((e=(b=s.active)&&"object"==typeof b?b:{}).runId),k=p(e.startedAt),f&&k?{runId:f,trigger:"manual"===e.trigger?"manual":"scheduled",startedAt:k,windowStart:p(e.windowStart)??k,windowEnd:p(e.windowEnd)??k,conversationId:p(e.conversationId),promptVersion:p(e.promptVersion)??"unknown",...!0===e.retry?{retry:!0}:{}}:null),retry:(m=p((l=(c=s.retry)&&"object"==typeof c?c:{}).runId),n=p(l.armedAt),m&&n&&Number.isFinite(Date.parse(n))?{runId:m,trigger:"manual"===l.trigger?"manual":"scheduled",armedAt:n}:null),history:Array.isArray(s.history)?s.history.map(r).filter(a=>null!==a):[]}}function t(a){let b=s();a(b);let c=b.history.slice(0,g.oM);for(let a of b.history.slice(g.oM))y(a.id);return b.history=c,(0,i.xh)(j(),JSON.stringify(b)),b}function u(a,b){(0,i.xh)(k(a),b)}function v(a,b){let c=l(a);return(0,i.xh)(c,JSON.stringify(b,null,2)+"\n"),c}function w(a){let b=m(a);try{if(null===(0,i._q)(!1))return null;let a=e().lstatSync(b);if(a.isSymbolicLink()||!a.isFile()||"function"==typeof process.getuid&&a.uid!==process.getuid()||0===a.size||a.size>262144)return null;return e().readFileSync(b,"utf8")}catch{return null}finally{try{e().rmSync(b,{force:!0})}catch{}}}function x(a){try{(0,i.at)(l(a))}catch{}try{e().rmSync(m(a),{force:!0})}catch{}}function y(a){try{(0,i.at)(k(a))}catch{}x(a)}function z(){let a=s();for(let b of a.history)y(b.id);a.active&&y(a.active.runId);try{(0,i.at)(j())}catch{}try{let a=(0,f.BQ)("telegram","report-workspace");e().rmSync(a,{recursive:!0,force:!0})}catch{}}},5159:(a,b,c)=>{c.d(b,{Wp:()=>g,cz:()=>d,mq:()=>h,oM:()=>f,zv:()=>e});let d="Europe/Kyiv",e={enabled:!1,time:"10:00",groups:[],promptIsDefault:!0},f=60;function g(a){return"string"==typeof a&&/^([01]\d|2[0-3]):[0-5]\d$/.test(a)}function h(a){return"string"==typeof a&&/^-?\d{1,20}$/.test(a)}},78560:(a,b,c)=>{c.d(b,{BL:()=>d,U$:()=>k,U8:()=>f,Y_:()=>i,gW:()=>g,sg:()=>h});let d="v1",e="QUIET",f=`Write one report on the operator's Telegram for this window.
|
|
2
|
+
|
|
3
|
+
The first line of the report is exactly:
|
|
4
|
+
|
|
5
|
+
#daily_report
|
|
6
|
+
|
|
7
|
+
Then these sections, in this order, and only the ones that have content:
|
|
8
|
+
|
|
9
|
+
⏳ Awaiting your reply — someone asked the operator something and has had no answer: who, what they asked, and how long it has been waiting.
|
|
10
|
+
📌 You promised — commitments the operator made with no visible follow-through.
|
|
11
|
+
🐙 Proposed issues — anything that should become a tracked task in the operator's product repository: a ready title plus one or two sentences of body.
|
|
12
|
+
📅 Proposed calendar items — anything with a concrete date and time.
|
|
13
|
+
👀 Worth attention — urgent, important, or easy to miss.
|
|
14
|
+
|
|
15
|
+
Cover every important item in the window. There is no item cap: keep the report short by writing each item once and moving on, and keep every item that matters. Skip bots and service broadcasts unless one is genuinely urgent.
|
|
16
|
+
|
|
17
|
+
Number every proposal consecutively across the whole report, starting at [1] and counting up without gaps — [1], [2], [3] — so the operator can answer "do 2". Put the number at the start of the item's line.
|
|
18
|
+
|
|
19
|
+
Every item states its substance, the person or chat it came from, and a link https://t.me/c/<internal_id>/<message_id> when the chat is a supergroup (use get_message_link when unsure). Private chats have no message links; name the person instead.
|
|
20
|
+
|
|
21
|
+
Write the items in the language their conversation used, and keep the section titles exactly as written above. Full sentences: no abbreviations, no compressed jargon, no telegraphic style. Each item must be understandable without opening Telegram.
|
|
22
|
+
|
|
23
|
+
No methodology preamble, no closing summary, no "not X but Y" constructions, no praise of the operator.`,g=2e4;function h(a){return`Telegram daily report — window ${a.windowStart} → ${a.windowEnd} (UTC).`}function i(a){return`${`${h(a)}
|
|
24
|
+
|
|
25
|
+
You have the read-only \`telegram\` MCP connector for the operator's own account. Work through it only; do not install anything and do not write to Telegram — the connector exposes no write tools. The Viewer has already verified with \`get_me\` that the connector holds the account this report belongs to.
|
|
26
|
+
|
|
27
|
+
RUN RULES (these come from the Viewer and are not negotiable)
|
|
28
|
+
|
|
29
|
+
1. Your sources are listed in ${a.sourcesPath}: the private dialogs active in this window (already selected by last-message date — the connector's chat-list order is pinned/folder order and is NOT recency, so never re-derive sources from \`get_chats\`/\`list_chats\` yourself) and the groups the operator picked, each marked \`full\` or \`light\`. Start there. Follow a thread, a mentioned chat, or older context beyond that list when your instructions below call for it.
|
|
30
|
+
|
|
31
|
+
2. Read SEQUENTIALLY. One tool call at a time, never in parallel: the connector dies under concurrent large reads and the run is then lost. Use \`list_messages\` with \`limit\` of 40 or less per call, paging only while messages still fall inside the window. A \`full\` group is read like a private dialog; a \`light\` group yields only mentions of the operator, replies to them, and one or two notable threads.
|
|
32
|
+
|
|
33
|
+
3. If the connector stops answering, stop and write nothing. A missing report is a failed run the operator can retry; an invented one is worse than silence.
|
|
34
|
+
|
|
35
|
+
4. The report's FIRST line is the hashtag line your instructions below specify, and nothing else. The Viewer refuses a file that does not start with one.
|
|
36
|
+
|
|
37
|
+
5. Numbered items are numbered consecutively from [1] with no gaps and no repeats, each number at the start of its line. The Viewer refuses a file that numbers them any other way.
|
|
38
|
+
|
|
39
|
+
6. If nothing in the window is worth reporting, the whole file is that hashtag line and then:
|
|
40
|
+
|
|
41
|
+
${e}
|
|
42
|
+
|
|
43
|
+
7. Write the report to ${a.outputPath} — that exact path, plain UTF-8 text, nothing else in the file — and then stop. Do not print the report as your answer; the Viewer reads the file.
|
|
44
|
+
|
|
45
|
+
YOUR INSTRUCTIONS (from the operator)`}
|
|
46
|
+
|
|
47
|
+
${a.instructions.trim()}`}let j=/^(?:[-*•]\s*)?\[(\d{1,3})\]/;function k(a){let b=(a??"").trim();if(!b)return{kind:"invalid"};let c=b.split(/\r?\n/).map(a=>a.trim());if(!c[0].startsWith("#"))return{kind:"invalid"};let d=c.slice(1).filter(a=>""!==a);return 0===d.length?{kind:"invalid"}:1===d.length&&d[0].toUpperCase()===e?{kind:"quiet"}:d.map(a=>j.exec(a)).filter(a=>null!==a).map(a=>Number(a[1])).every((a,b)=>a===b+1)?{kind:"ok",report:b}:{kind:"invalid"}}}};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";exports.id=8263,exports.ids=[1888,7126,8263,9507],exports.modules={23886:(a,b,c)=>{c.d(b,{adoptStructuredHostsAtStartup:()=>Q});var d=c(77598),e=c.n(d),f=c(76760),g=c.n(f),h=c(20695),i=c(68465),j=c(66812),k=c(29381),l=c(38992),m=c(88623),n=c(29307),o=c(21420),p=c(842),q=c(65281),r=c(62490),s=c(93994),t=c(96755),u=c(5242),v=c(42427),w=c(75211),x=c(61532);let y=[];function z(a,b){let c=new Map(a.map(a=>[(0,m.pp)(a.key),a]));for(let a of b){let b=(0,m.pp)(a.key);c.has(b)||c.set(b,a)}return[...c.values()]}async function A(a,b,c=a.readOnlySnapshot(),d=new Set){let e=[];for(let a of b)!function(a,b,c=new Set){let d=(0,m.pp)(b.key),e=a.entries[d];if(!e?.structuredHost||"dead"===e.status||"unhosted"===e.status)return!1;let f=Object.values(a.conversations).find(a=>a.engine===b.key.engine&&a.generations.at(-1)?.id===b.key.sessionId);return!!(f&&!f.supersededBy&&("terminal"!==f.turn.state||c.has(d)))}(c,a,d)?await a.host.release():e.push(a);return e}let B=["runtime.send","runtime.steer","runtime.interrupt","runtime.answer","runtime.spawn","runtime.reconfigure","runtime.compact"],C="recovery-continuation",D=e().randomUUID(),E=[];function F(a,b){y=a;let c=new Set(a.map(a=>(0,m.pp)(a.key)));E=b.filter(a=>c.has(a.hostKey))}function G(a,b,c,d=a.readOnlySnapshot()){let e=c.find(a=>a.project===b.project);if(!e||"active"!==e.state||e.seatEpoch!==b.seatEpoch||!e.conversationId?.startsWith("conversation_")||a.canonicalConversationId(e.conversationId)!==b.conversationId)return!1;let f=d.conversations[b.conversationId],g=f?.generations.at(-1);if(!f||!g||f.supersededBy||g.path!==b.path||(0,m.pp)({engine:f.engine,sessionId:g.id})!==b.hostKey)return!1;let h=d.entries[b.hostKey];return!!(h?.structuredHost&&null===h.host&&("live"===h.status||"idle"===h.status))}function H(a,b,c,d=a.readOnlySnapshot()){return new Set(b.filter(b=>G(a,b,c,d)).map(a=>a.hostKey))}async function I(a,b,c,d,e){for(let f of c){if(!d.has(f.hostKey)||!G(a,f,e()))continue;let c=`orchestrator-restart-recovery-${D}-${f.seatEpoch}`,g=await (0,v.enqueueStructuredMessage)({path:f.path,conversationId:f.conversationId,clientMessageId:c,text:"Viewer restarted and severed your structured host. You were re-hosted automatically. Resume your checkpoint loop and re-arm any scheduled work.",images:[]},{enabled:()=>!0,client:()=>b,registry:()=>a});if(!g?.ok)throw console.error("[structured hosts] orchestrator restart recovery delivery failed",{conversationId:f.conversationId,status:g?.status??503,error:g?.error??"structured delivery unavailable"}),new s.Hr(g?.error??"orchestrator restart recovery delivery admission failed")}}function J(a,b){return`${C}-${a}-${b}`}async function K(a,b,c,d,e,f){for(let g of c){let c=(0,m.pp)(g.key),h=d.get(c);if(!h||f.has(h))continue;let i=a.readOnlySnapshot().entries[c];if(!i)throw Error(`adopted Codex registry row disappeared: ${c}`);let j=J(g.key.sessionId,i.claimEpoch),k=e.get(c);if(k){if("failed"===k.receipt.status||"rejected"===k.receipt.status){k.receipt.retryOfOperationId||await b.retryOperation(k.operationId,`${k.receipt.idempotencyKey}-retry-1`,{requireHostedConversationId:h});continue}if(k.operationId===j||"delivered"!==k.receipt.status||k.receipt.retryOfOperationId)continue}await b.command({kind:"send",operationId:j,idempotencyKey:j,conversationId:h,text:"Continue the interrupted turn from the transcript.",policy:"queue",turnId:null})}}async function L(a,b,c){let d=new Map;for(let e of c){let c=(0,m.pp)(e.key),f=a.readOnlySnapshot().entries[c];if(!f)continue;let g=await b.operationStatus(J(e.key.sessionId,f.claimEpoch),{currentRetryLeaf:!0});if(g){d.set(c,g);continue}if(f.claimEpoch<=0)continue;let h=await b.operationStatus(J(e.key.sessionId,f.claimEpoch-1),{currentRetryLeaf:!0});h&&d.set(c,h)}return d}async function M(a){let b=a.readOnlySnapshot(),c=new Date().toISOString(),d=Object.values(b.conversations).flatMap(a=>{let c=a.generations.at(-1);if(!c)return[];let d=b.entries[(0,m.pp)({engine:a.engine,sessionId:c.id})];return d?.structuredHost&&"live"===d.status&&!a.supersededBy?[{conversation:a,generation:c}]:[]}),e=[],f=0,g=Array.from({length:Math.min(16,d.length)},async()=>{for(;f<d.length;){let a=d[f++];if(!a)continue;let{conversation:b,generation:g}=a,h=await (0,p.mR)(g.path);if("complete"!==h.integrity)continue;let i=function(a,b,c){if("claude"===b)return(0,j.j)(a,"claude");if(!c)return(0,j.j)(a,"codex",!0);let d=a.findLastIndex(a=>{let b=a.payload;if(!b||"object"!=typeof b||Array.isArray(b))return!1;let c=b.type;return"task_started"===c||"turn_started"===c||"user_message"===c});if(d<0){let b=(0,j.j)(a,"codex",!0);return"terminal"===b.state?{state:"unknown",source:"empty",terminalAt:null}:b}return(0,j.j)(a.slice(d),"codex",!0)}(h.records,b.engine,h.prefixTruncated);("busy"===i.state||"terminal"===i.state)&&e.push({engine:b.engine,path:g.path,accountId:g.accountId,launchProfile:g.launchProfile,turn:i,expectedTurnObservedAt:b.turn.observedAt,observedAt:c})}});await Promise.all(g),e.length>0&&a.reconcileConversations(e)}function N(a,b){return b.startsWith("conversation_")?a.canonicalConversationId(b):b}async function O(a,b){if(!b)return{hostedRunningConversationIds:new Set,pendingOperationConversationIds:new Set,pendingCodexContinuationConversationIds:new Set};let c=await b.snapshot(),d=new Set(c.sessions.filter(a=>"hosted"===a.host&&("running"===a.turn||"interrupt_requested"===a.turn)).map(b=>N(a,b.conversationId))),e=new Set(c.recentOperations.filter(a=>"pending"===a.status||"queued"===a.status||"delivering"===a.status||"applying"===a.status).filter(a=>"kill"!==a.kind).map(b=>N(a,b.conversationId))),f=new Set,g=0;for(;;){let c=await b.effectBatch(B,g);for(let b of c){let c=b.payload.conversationId;if("string"==typeof c){let d=N(a,c);e.add(d),"runtime.send"===b.kind&&"string"==typeof b.payload.operationId&&b.payload.operationId.startsWith(`${C}-`)&&f.add(d)}}if(c.length<100)break;let d=Math.max(...c.map(a=>a.eventSeq));if(!Number.isSafeInteger(d)||d<=g)throw Error("structured startup operation page did not advance");g=d}return{hostedRunningConversationIds:d,pendingOperationConversationIds:e,pendingCodexContinuationConversationIds:f}}function P(a,b,c=a.readOnlySnapshot(),d=new Map,e=n.js){let f=new Map(Object.values(c.conversations).flatMap(a=>{let b=a.generations.at(-1);return b?[[(0,m.pp)({engine:a.engine,sessionId:b.id}),a]]:[]})),g=new Set(Object.values(c.heldDeliveries).filter(a=>"held"===a.state||"assigned"===a.state||"delivery-uncertain"===a.state).map(b=>a.canonicalConversationId(b.conversationId)));return c=>{let h=f.get((0,m.pp)(c.key));if(!h||h.supersededBy)return!1;let i=d.get((0,m.pp)(c.key));if(i?.some(b=>G(a,b,e())))return!0;let j=a.canonicalConversationId(h.id);if(g.has(j)||b.pendingOperationConversationIds.has(j))return!0;if("terminal"===h.turn.state)return!1;let k=b.hostedRunningConversationIds.has(j),l="busy"===h.turn.state||!!c.structuredHost?.activeTurnRef||"live"===c.status&&k;return"live"===c.status&&l}}async function Q(a={}){(0,o.x_)();let b=a.registry??(0,k.agentRegistry)(),c=void 0===a.client?(0,s.sS)():a.client,d=a.orchestratorSeats??n.js,e=function(a,b){let c=new Map;for(let d of[...a,...b])c.set(`${d.project}\0${d.seatEpoch}\0${d.hostKey}`,d);return[...c.values()]}(E,function(a,b=(0,n.js)(),c=a.readOnlySnapshot()){return b.flatMap(b=>{if(!b.conversationId?.startsWith("conversation_"))return[];let d=a.canonicalConversationId(b.conversationId),e=c.conversations[d],f=e?.generations.at(-1);if(!e||!f||e.supersededBy)return[];let g=(0,m.pp)({engine:e.engine,sessionId:f.id}),h=c.entries[g];return h?.structuredHost&&null===h.host&&("live"===h.status||"idle"===h.status)?[{project:b.project,conversationId:d,path:f.path,seatEpoch:b.seatEpoch,hostKey:g}]:[]})}(b,d())),f=function(a){let b=new Map;for(let c of a){let a=b.get(c.hostKey)??[];a.push(c),b.set(c.hostKey,a)}return b}(e),j=null!==c;c&&!(0,t.SW)(b)&&await (0,t.S8)([],{registry:b,client:c,deferStartupWork:!0}),(0,x.lk)({phase:"refreshing transcripts",completedHosts:0,totalHosts:null}),await (a.refreshTranscriptState??M)(b);let p=H(b,e,d()),v=await A(b,y,b.readOnlySnapshot(),p);F(v,e),(0,r.cf)(b,a=>p.has((0,m.pp)(a.key)));let B=await O(b,c),C=P(b,B,b.readOnlySnapshot(),f,d),D=Object.values(b.readOnlySnapshot().entries).filter(a=>a.structuredHost&&C(a)),G=D.filter(a=>"codex"===a.key.engine).length,J=D.length-G,N=D.length,R=0,S=a=>{(0,x.lk)({phase:a,completedHosts:R,totalHosts:N})};S("adopting Codex hosts");let T=a.resolveCodexOwner??(a=>h.lD.resolveTranscriptOwner("codex",a.artifactPath)),U=a.resolveClaudeOwner??(a=>h.lD.resolveTranscriptOwner("claude",a.artifactPath)),V=(0,q.Fd)(process.env),W=await (a.adopt??r.Gd)(b,a=>{let c=T(a),d=b.rotateSpawnCapabilityForPath(a.artifactPath),e=(0,w.bf)(a.launchProfile?.readOnly===!0,V,d);return{cwd:a.cwd,codexHome:c?.home,fileAuthCredentials:c?.kind==="managed",model:a.launchProfile?.model??void 0,effort:a.launchProfile?.effort??void 0,allowSubagents:a.launchProfile?.allowSubagents??!1,mcpServers:a.launchProfile?.mcpServers??["viewer"],plugins:a.launchProfile?.plugins??[],...e.codex,...e.host,env:e.env}},V,C,()=>{R+=1,N=Math.max(N,R),S("adopting Codex hosts")});R=Math.max(R,G),F(v=z(v,W),e),S("adopting Claude hosts");let X=await (a.adoptClaude??r.Fn)(b,a=>{let c=U(a),d=b.rotateSpawnCapabilityForPath(a.artifactPath),e=(0,q.Fd)(c?.env??V),f=(0,w.bf)(a.launchProfile?.readOnly===!0,e,d);return{cwd:a.cwd,claudeConfigDir:c?.kind==="managed"?c.home:void 0,claudeProjectsDir:c?.transcriptRoot,spawnPolicyBaseSettingsPath:c?.kind==="managed"?(0,i.ZK)():null,allowSubagents:a.launchProfile?.allowSubagents??!1,mcpServers:a.launchProfile?.mcpServers??["viewer"],mcpStatePath:c?.kind==="managed"?g().join(c.home,".claude.json"):c?g().join(g().dirname(c.home),".claude.json"):void 0,readOnly:a.launchProfile?.readOnly===!0,env:f.env,...f.host,model:a.launchProfile?.model??void 0,effort:a.launchProfile?.effort??void 0,permissionMode:(0,l.A5)(a.launchProfile??{})}},V,C,()=>{R+=1,N=Math.max(N,R),S("adopting Claude hosts")});R=Math.max(R,G+J),F(v=z(v,X),e),S("reconciling structured hosts"),p=H(b,e,d()),F(v=await A(b,v,b.readOnlySnapshot(),p),e);let Y=new Set(v.map(a=>(0,m.pp)(a.key))),Z=v.filter(a=>"codex"===a.key.engine&&!p.has((0,m.pp)(a.key))),$=c?await L(b,c,Z):new Map;await (0,r.K$)(b,a=>Y.has((0,m.pp)(a.key))||C(a));let _=b.readOnlySnapshot();p=H(b,e,d(),_),F(v=await A(b,v,_,p),e);let aa=P(b,B,_,f,d),ab=new Set(v.map(a=>(0,m.pp)(a.key))),ac=function(a,b,c,d=a.readOnlySnapshot()){return new Map(Object.values(d.conversations).flatMap(e=>{let f=e.generations.at(-1);if("codex"!==e.engine||!f)return[];let g={engine:"codex",sessionId:f.id},h=d.entries[(0,m.pp)(g)];return("busy"===e.turn.state||"unknown"===e.turn.state&&(h?.structuredHost?.activeTurnRef||c.has(a.canonicalConversationId(e.id))))&&h?.structuredHost&&b(h)?[[(0,m.pp)(g),e.id]]:[]}))}(b,a=>ab.has((0,m.pp)(a.key))||aa(a),B.hostedRunningConversationIds,_),ad=v.filter(a=>"codex"===a.key.engine&&!p.has((0,m.pp)(a.key)));return S("finalizing structured delivery"),j&&await (0,t.le)(v),await I(b,c,e,ab,d),c&&(await K(b,c,ad,ac,$,B.pendingCodexContinuationConversationIds),await (0,u.l)()),c&&await (0,w.Z4)(b,c),y=[],E=[],v}},26277:(a,b,c)=>{c.d(b,{Gs:()=>C,Kn:()=>w,gY:()=>x,h3:()=>q,jd:()=>v,kt:()=>E,ue:()=>D,vx:()=>y,w5:()=>z});var d=c(31421);c(77598);var e=c(73024),f=c.n(e),g=c(48161),h=c.n(g),i=c(76760),j=c.n(i),k=c(27146),l=c(89204),m=c(55541),n=c(19777);Object.freeze({repo:"https://github.com/chigwell/telegram-mcp",release:"v3.2.22",commit:"a61294362226bd93052f5a40b4a1b1269a99ce69",license:"Apache-2.0"});let o="127.0.0.1";function p(){let a=Number(process.env.LLV_TELEGRAM_MCP_PORT);return Number.isInteger(a)&&a>0&&a<65536?a:8809}function q(){return`http://${o}:${p()}/mcp`}function r(a,...b){if(a)return a;let c=j().join(process.cwd(),...b);if(f().existsSync(c))return c;let d=j().join(process.cwd(),"..","..",...b);return f().existsSync(d)?d:c}function s(){return r(process.env.LLV_TELEGRAM_VENDOR_DIR,"vendor","telegram-mcp")}function t(){return(0,k.BQ)("telegram","venv")}function u(){return(0,k.BQ)("telegram","vendor-src")}function v(){return process.env.LLV_TELEGRAM_PYTHON||j().join(t(),"bin","python")}function w(){return r(process.env.LLV_TELEGRAM_SERVER_BRIDGE,"bin","telegram-mcp-server.py")}function x(){return r(process.env.LLV_TELEGRAM_SESSION_READER,"bin","telegram-session-reader.mjs")}let y=Object.freeze(["wait_for_settled_message"]);function z(){let a=process.env.LLV_TELEGRAM_API_ID,b=process.env.LLV_TELEGRAM_API_HASH;if(a&&b)return{apiId:a,apiHash:b};try{let a=JSON.parse(f().readFileSync((0,k.ks)("telegram.json"),"utf8"));if("string"==typeof a.apiId&&a.apiId&&"string"==typeof a.apiHash&&a.apiHash)return{apiId:a.apiId,apiHash:a.apiHash}}catch{}return null}function A(){return f().existsSync(j().join(t(),".llv-provisioned"))&&f().existsSync(v())&&f().existsSync(j().join(u(),"pyproject.toml"))}let B=null;function C(){return A()?Promise.resolve(!0):B||(B=(async()=>((0,n._q)(!0),await (0,l.pM)((0,k.BQ)("telegram","connector-provision"),"Telegram connector provisioning is busy",async()=>{var a;return!!A()||await (a={command:process.execPath,args:[r(process.env.LLV_TELEGRAM_PROVISIONER,"bin","provision-telegram-connector.mjs")],cwd:s(),env:{...F(),LLV_STATE_DIR:(0,k.Pn)(),LLV_TELEGRAM_VENDOR_DIR:s(),LLV_TELEGRAM_PYTHON:v()}},new Promise(b=>{let c;try{c=(0,d.spawn)(a.command,a.args,{cwd:a.cwd,env:a.env,stdio:"ignore"})}catch{b(!1);return}c.once("error",()=>b(!1)),c.once("exit",a=>b(0===a))}))&&A()})))().catch(()=>!1).finally(()=>{B=null}))}function D(a){let b=u(),c=(0,m.WG)();return{command:v(),args:[w()],cwd:b,env:{...F(),...c,TELEGRAM_API_ID:a.credentials.apiId,TELEGRAM_API_HASH:a.credentials.apiHash,TELEGRAM_SESSION_STRING:a.sessionString,TELEGRAM_EXPOSED_TOOLS:"read-only",TELEGRAM_EVENT_FEED:"1",TELEGRAM_EVENT_FEED_FILE:(0,n.ZI)(a.credentialRef),LLV_TELEGRAM_EXCLUDED_TOOLS:y.join(","),LLV_TELEGRAM_MCP_TOKEN:a.connectorToken,LLV_TELEGRAM_VENDOR_DIR:b,MCP_TRANSPORT:"http",MCP_HOST:o,MCP_PORT:String(p())}}}function E(a,b){return{command:v(),args:[r(process.env.LLV_TELEGRAM_BRIDGE,"bin","telegram-login-bridge.py"),a],cwd:h().homedir(),env:{...F(),TELEGRAM_API_ID:b.apiId,TELEGRAM_API_HASH:b.apiHash}}}function F(){let a={};for(let b of["PATH","HOME","LANG","LC_ALL","TMPDIR"])void 0!==process.env[b]&&(a[b]=process.env[b]);return a}},51888:(a,b,c)=>{c.d(b,{JL:()=>h,OV:()=>l,RC:()=>j,cC:()=>i,fC:()=>e,g9:()=>m,je:()=>d,wi:()=>n});let d="gpt-5.6-sol",e="gpt-5.6-terra",f="gpt-5.6-luna",g=new Set([d,e,f,"gpt-5.5","gpt-5.4","gpt-5.4-mini"]);function h(a){return!a?.trim()||g.has(a.trim())}let i={claude:[{id:"opus",label:"Opus 5",shortLabel:"Opus 5",use:"review"},{id:"fable",label:"Fable",shortLabel:"Fable",use:"general"},{id:"sonnet",label:"Sonnet",shortLabel:"Sonnet",use:"implement"},{id:"haiku",label:"Haiku",shortLabel:"Haiku",use:"general"}],codex:[{id:d,label:"GPT-5.6-Sol",shortLabel:"5.6-Sol",use:"review"},{id:e,label:"GPT-5.6-Terra",shortLabel:"5.6-Terra",use:"implement"},{id:f,label:"GPT-5.6-Luna",shortLabel:"5.6-Luna",use:"general"}]};function j(a,b){let c=b.trim(),d=i[a].map(a=>a.id);return d.includes(c)?{model:c}:{error:`invalid ${a} model id ${JSON.stringify(c)}; valid ${a} model ids: ${d.join(", ")}`}}let k=["fable","opus","sonnet","haiku"];function l(a){if("string"!=typeof a)return null;let b=a.trim().toLowerCase();if(!b||b.length>128||/[\u0000-\u001f\u007f]/.test(b))return null;for(let a of k)if(b===a||RegExp(`(?:^|[-_.])${a}(?:[-_.]|$)`).test(b))return a;return null}function m(a){if("string"!=typeof a)return!1;let b=a.trim();return b.startsWith("gpt-")&&b.length<=128&&!/[\u0000-\u001f\u007f]/.test(b)}function n(a){if(void 0===a.model||null===a.model||""===a.model)return{model:null};if("string"!=typeof a.model)return{model:null,error:"model must be a string"};let b=a.model.trim();return b?b.length>128||/[\u0000-\u001f\u007f]/.test(b)?{model:null,error:"model must be a printable id up to 128 characters"}:{model:b}:{model:null}}},55541:(a,b,c)=>{c.d(b,{WG:()=>o,cO:()=>n,yb:()=>l});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(27146),k=c(19777);let l=262144,m=String.raw`import fcntl
|
|
2
|
+
import io
|
|
3
|
+
import os
|
|
4
|
+
import stat
|
|
5
|
+
import sys
|
|
6
|
+
import threading
|
|
7
|
+
|
|
8
|
+
try:
|
|
9
|
+
_path = os.environ["LLV_TELEGRAM_CONNECTOR_LOG"]
|
|
10
|
+
_limit = int(os.environ["LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES"])
|
|
11
|
+
if _limit <= 0:
|
|
12
|
+
raise ValueError("invalid log limit")
|
|
13
|
+
_flags = os.O_RDWR | os.O_CREAT | os.O_APPEND
|
|
14
|
+
if hasattr(os, "O_NOFOLLOW"):
|
|
15
|
+
_flags |= os.O_NOFOLLOW
|
|
16
|
+
_fd = os.open(_path, _flags, 0o600)
|
|
17
|
+
_info = os.fstat(_fd)
|
|
18
|
+
if not stat.S_ISREG(_info.st_mode) or (_info.st_mode & 0o077):
|
|
19
|
+
raise PermissionError("unsafe connector log")
|
|
20
|
+
if hasattr(os, "getuid") and _info.st_uid != os.getuid():
|
|
21
|
+
raise PermissionError("connector log owner mismatch")
|
|
22
|
+
except Exception as _error:
|
|
23
|
+
raise SystemExit("connector log sink unavailable") from _error
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def _write_all(data):
|
|
27
|
+
view = memoryview(data)
|
|
28
|
+
while view:
|
|
29
|
+
written = os.write(_fd, view)
|
|
30
|
+
view = view[written:]
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class _BoundedConnectorLog(io.TextIOBase):
|
|
34
|
+
encoding = "utf-8"
|
|
35
|
+
errors = "backslashreplace"
|
|
36
|
+
|
|
37
|
+
def __init__(self):
|
|
38
|
+
self._lock = threading.Lock()
|
|
39
|
+
|
|
40
|
+
def writable(self):
|
|
41
|
+
return True
|
|
42
|
+
|
|
43
|
+
def isatty(self):
|
|
44
|
+
return False
|
|
45
|
+
|
|
46
|
+
def fileno(self):
|
|
47
|
+
return _fd
|
|
48
|
+
|
|
49
|
+
def flush(self):
|
|
50
|
+
return None
|
|
51
|
+
|
|
52
|
+
def write(self, value):
|
|
53
|
+
if not isinstance(value, str):
|
|
54
|
+
value = str(value)
|
|
55
|
+
data = value.encode(self.encoding, self.errors)
|
|
56
|
+
if not data:
|
|
57
|
+
return len(value)
|
|
58
|
+
with self._lock:
|
|
59
|
+
fcntl.flock(_fd, fcntl.LOCK_EX)
|
|
60
|
+
try:
|
|
61
|
+
size = os.fstat(_fd).st_size
|
|
62
|
+
if len(data) >= _limit:
|
|
63
|
+
tail = data[-_limit:]
|
|
64
|
+
os.ftruncate(_fd, 0)
|
|
65
|
+
_write_all(tail)
|
|
66
|
+
elif size + len(data) > _limit:
|
|
67
|
+
keep = _limit - len(data)
|
|
68
|
+
prior = os.pread(_fd, keep, max(0, size - keep))
|
|
69
|
+
os.ftruncate(_fd, 0)
|
|
70
|
+
_write_all(prior[-keep:] + data)
|
|
71
|
+
else:
|
|
72
|
+
_write_all(data)
|
|
73
|
+
finally:
|
|
74
|
+
fcntl.flock(_fd, fcntl.LOCK_UN)
|
|
75
|
+
return len(value)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
_sink = _BoundedConnectorLog()
|
|
79
|
+
sys.stdout = _sink
|
|
80
|
+
sys.stderr = _sink
|
|
81
|
+
`;function n(){return(0,j.BQ)("telegram","connector.log")}function o(){(0,k._q)(!0);let a=(0,j.BQ)("telegram","connector-log-sink");g().mkdirSync(a,{recursive:!0,mode:448});let b=g().lstatSync(a);if(!b.isDirectory()||b.isSymbolicLink()||(63&b.mode)!=0||"function"==typeof process.getuid&&b.uid!==process.getuid())throw Error("unsafe connector log sink directory");let c=i().join(a,"sitecustomize.py"),d=`${c}.${process.pid}.${e().randomUUID()}.tmp`;try{g().writeFileSync(d,m,{flag:"wx",mode:384}),g().renameSync(d,c),g().chmodSync(c,384)}finally{g().rmSync(d,{force:!0})}return!function(){let a="O_NOFOLLOW"in g().constants?g().constants.O_NOFOLLOW:0,b=g().openSync(n(),g().constants.O_RDWR|g().constants.O_CREAT|a,384);try{let a=g().fstatSync(b);if(!a.isFile()||(63&a.mode)!=0||"function"==typeof process.getuid&&a.uid!==process.getuid())throw Error("unsafe connector log");if(a.size<=l)return;let c=Buffer.alloc(l);g().readSync(b,c,0,c.length,a.size-c.length),g().ftruncateSync(b,0),g().writeSync(b,c,0,c.length,0)}finally{g().closeSync(b)}}(),{PYTHONPATH:a,LLV_TELEGRAM_CONNECTOR_LOG:n(),LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES:String(l)}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=8326,exports.ids=[8326],exports.modules={22150:(a,b,c)=>{c.d(b,{runIdentityWaveMigrationAtStartup:()=>v});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(63685),i=c(68465),j=c(27146),k=c(29307),l=c(14310),m=c(57718),n=c(29381),o=c(93151),p=c(23953),q=c(74085);function r(a){let b=a&&"object"==typeof a?a.code:void 0;return"ENOENT"===b||"ENOTDIR"===b}function s(a){if("string"!=typeof a)return null;let b=a.split(/\r?\n/).find(a=>a.trim());return(0,m.St)(b,120)}function t(a,b){try{let c=e().statSync(a);if(!c.isFile())return null;let d=(0,l.fy)(a,c.size,b);return s(d.title)??s(d.firstPrompt)}catch(a){if(r(a))return null;throw a}}function u(a,b=g().join((0,i.Hy)(),"projects"),c=(0,i.o1)()){let d=g().relative(b,a);if(!d||".."===d||d.startsWith(`..${g().sep}`)||g().isAbsolute(d))return null;let f=g().join(c,d);if(f===a)return null;try{let d=e().statSync(f);if(!d.isFile())return null;let g=!1;try{g=e().realpathSync.native(b)===e().realpathSync.native(c)}catch(a){if(!r(a))throw a}let h=!1;try{let b=e().statSync(a);h=b.isFile()&&b.dev===d.dev&&b.ino===d.ino}catch(a){if(!r(a))throw a}return{sharedPath:f,identityEquivalent:g||h}}catch(a){if(r(a))return null;throw a}}function v(a={}){let b=a.env??process.env,c="1"===b.LLV_IDENTITY_WAVE_DRY_RUN,d={registry:a.registry??(c?function(a,b=process.env){return{runIdentityWaveMigration:c=>(0,q.Oy)(function(a=(0,j.BQ)("agent-registry.json"),b=process.env){let c,d=(0,o.Ej)(a,b),f="read"===d.mode||"sqlite"===d.mode,g=function(a){try{return e().readFileSync(a,"utf8")}catch(a){if("ENOENT"===a.code)return null;throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}}(a);if(null===g){if(f)throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror is absent; start the registry writer once so it refreshes the mirror`);return(0,n.l5)({version:2,entries:{},receipts:{}})}try{c=JSON.parse(g)}catch(a){throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}if(f){let a=c?._sqliteRevision;if(!Number.isInteger(a)||0>Number(a))throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror carries no SQLite revision stamp; start the registry writer once so it refreshes the mirror`)}return(0,p.$q)((0,n.l5)(c))}(a,b),{...c,dryRun:!0})}}(void 0,b):(0,n.agentRegistry)()),seats:a.seats??k.EK,now:a.now??(()=>new Date().toISOString()),transcriptTitle:a.transcriptTitle??t,sharedPath:a.sharedPath??u,commitExternalPathRekeys:a.commitExternalPathRekeys??k.co,log:a.log??((a,b)=>console.info(a,b)),env:b},f=()=>d.registry.runIdentityWaveMigration({dryRun:c,now:d.now(),transcriptTitle:d.transcriptTitle,sharedPathForLegacy:d.sharedPath,orchestratorSeats:d.seats(),commitExternalPathRekeys:d.commitExternalPathRekeys}),g=c?f():(0,h.oV)(f);return d.log("[identity-wave] registry migration",{dryRun:g.dryRun,alreadyCompleted:g.alreadyCompleted,retitled:g.retitled,rekeyed:g.rekeyed,quarantinedRekeys:g.quarantinedRekeys,edgesStamped:g.edgesStamped}),g}},38751:(a,b,c)=>{c.d(b,{E2:()=>s,G$:()=>r,JC:()=>v,YX:()=>x,oh:()=>y});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(27146),k=c(14928),l=c(46211);let m=null;function n(){return(0,j.BQ)("project-aliases.json")}function o(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=Object.entries(a);return b.every(([a,b])=>!!a.trim()&&"string"==typeof b&&!!b.trim())?Object.fromEntries(b):null}function p(){let a,b=n();try{a=g().statSync(b)}catch{return(m={file:b,mtimeMs:-1,size:-1,snapshot:{aliases:{},displayNames:{}}}).snapshot}if(m&&m.file===b&&m.mtimeMs===a.mtimeMs&&m.size===a.size)return m.snapshot;try{let c=JSON.parse(g().readFileSync(b,"utf8")),d=1===c.schemaVersion?o(c.aliases):null,e=1===c.schemaVersion?o(c.displayNames):null,f=d&&e?{aliases:d,displayNames:e}:{aliases:{},displayNames:{}};return m={file:b,mtimeMs:a.mtimeMs,size:a.size,snapshot:f},f}catch{let c={aliases:{},displayNames:{}};return m={file:b,mtimeMs:a.mtimeMs,size:a.size,snapshot:c},c}}function q(a,b){let c=a,d=new Set;for(;b[c]&&!d.has(c);)d.add(c),c=b[c];return d.has(c)?a:c}function r(a){return q(a,p().aliases)}function s(){let a=p();return{aliases:{...a.aliases},displayNames:{...a.displayNames}}}function t(a){try{let b=JSON.parse(g().readFileSync((0,j.BQ)(a),"utf8"));return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}function u(a,b,c){let d=(["flows","pipelines","workflows"].includes(b)?(0,k.Vx)((0,j.BQ)("state.sqlite"),b):null)??t(a)?.[b];if(!Array.isArray(d))return[];let e=[];for(let a of d)!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.project&&a.project.trim()&&"string"==typeof a[c]&&a[c].trim()&&e.push([a.project,a[c]]);return e}function v(){let a=function(){let a=t("worktree-map.json");if(!a)return new Map;let b=new Map;for(let[c,d]of Object.entries(a)){if(!d||"object"!=typeof d||Array.isArray(d))continue;let a=d.repo;"string"==typeof a&&a.trim()&&b.set(c,a)}return b}(),b=[...u("flows.json","flows","cwd"),...u("pipelines.json","pipelines","repoDir"),...u("workflows.json","workflows","repoDir")],c=new Map;for(let[d,e]of b){let b=(0,l.V5)(e)??a.get(e),f=b?(0,l.im)(b):null;if(!f)continue;let g=c.get(d)??new Map,h=g.get(f.project)??{registration:{source:d,target:f.project,displayName:f.displayName},records:0};h.records+=1,g.set(f.project,h),c.set(d,g)}let d=[],e=[];for(let[a,b]of c){if(b.has(a)){b.size>1&&e.push(a);continue}let c=[...b.values()].sort((a,b)=>b.records-a.records),f=c.reduce((a,b)=>a+b.records,0),g=c[0];2*g.records>f?d.push(g.registration):e.push(a)}let f=function(a){let b=new Map(a.map(a=>[a.source,a.target])),c=new Set,d=new Set;for(let[a,e]of[["tasks.json","tasks"],["flows.json","flows"],["pipelines.json","pipelines"],["workflows.json","workflows"]]){let f=new Map;for(let g of function(a,b){let c=(["flows","pipelines","workflows"].includes(b)?(0,k.Vx)((0,j.BQ)("state.sqlite"),b):null)??t(a)?.[b];return Array.isArray(c)?c.filter(a=>!!a&&"object"==typeof a&&!Array.isArray(a)):[]}(a,e)){if("string"!=typeof g.id||!g.id.trim()||"string"!=typeof g.project||!g.project.trim())continue;let a=r(g.project),h=b.get(a)??a,i=`${h}\0${g.id}`,j=f.get(i);j&&j!==a?(c.add(`${e} id collision`),b.has(j)&&d.add(j),b.has(a)&&d.add(a)):f.set(i,a)}}return{labels:[...c],sources:d}}(d);return e.push(...f.labels),{registrations:d.filter(a=>!f.sources.has(a.source)),conflicts:e}}function w(a){let b=p(),c={...b.aliases},d={...b.displayNames};for(let b of a){let a=b.source.trim(),e=q(b.target.trim(),c),f=b.displayName.trim();if(!a||!e||!f)return null;let g=c[a]?q(c[a],c):null;if(g&&g!==e)return null;a!==e&&(c[a]=e),d[e]=f}return{aliases:c,displayNames:d}}function x(a){return null!==w(a)}function y(a){if(0===a.length)return!0;let b=w(a);if(!b)return!1;let c=n(),d=i().join(i().dirname(c),`.${i().basename(c)}.${process.pid}.${e().randomUUID()}.tmp`);try{return g().mkdirSync(i().dirname(c),{recursive:!0,mode:448}),g().writeFileSync(d,JSON.stringify({schemaVersion:1,...b},null,2)+"\n",{encoding:"utf8",mode:384}),g().renameSync(d,c),m=null,p(),!0}catch{try{g().rmSync(d,{force:!0})}catch{}return!1}}},46211:(a,b,c)=>{c.d(b,{MO:()=>m,Mv:()=>l,NP:()=>o,V5:()=>t,im:()=>u,qe:()=>p,rj:()=>q,z:()=>n});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(48161),i=c.n(h),j=c(76760),k=c.n(j);let l="project_unresolved",m="Unresolved project";function n(a){return/^(?:repo|dir)-[0-9a-f]{32}$/.test(a)}function o(a){let b=(()=>{try{return g().realpathSync.native(a)}catch{return k().resolve(a)}})(),c=k().basename(b);if(!c||b===k().sep)return null;let d=b===i().homedir()?`home-${c}`:c;return{project:p(b),displayName:d}}function p(a){return`dir-${e().createHash("sha256").update(`dir:${a}`).digest("hex").slice(0,32)}`}function q(a){return a===l?m:a}function r(a){try{return g().statSync(k().join(a,"HEAD")).isFile()}catch{return!1}}function s(a){let b=k().join(a,".git");try{let c=g().lstatSync(b);if(c.isDirectory())return r(b)?b:null;if(!c.isFile())return null;let d=g().readFileSync(b,"utf8").slice(0,4096),e=/^gitdir:\s*(.+?)\s*$/im.exec(d)?.[1];if(!e)return null;let f=k().resolve(a,e);return r(f)?f:null}catch{return null}}function t(a){let b=k().resolve(a);for(;;){if(s(b))return b;let a=k().dirname(b);if(a===b)return null;b=a}}function u(a){let b,c=s(a);if(!c)return null;try{b=g().readFileSync(k().join(function(a){try{let b=g().readFileSync(k().join(a,"commondir"),"utf8").trim();return b?k().resolve(a,b):a}catch{return a}}(c),"config"),"utf8")}catch{return null}let d=function(a){let b=!1;for(let c of a.split(/\r?\n/)){let a=/^\s*\[\s*remote\s+"([^"]+)"\s*\]\s*$/i.exec(c);if(a){b="origin"===a[1];continue}if(/^\s*\[/.test(c)){b=!1;continue}if(!b)continue;let d=/^\s*url\s*=\s*(.*?)\s*$/i.exec(c)?.[1],e=d?.replace(/\s+[;#].*$/,"").trim();if(e)return e}return null}(b),f=(()=>{try{return g().realpathSync.native(a)}catch{return k().resolve(a)}})(),h=d?function(a,b){let c=/^[a-z][a-z0-9+.-]*:\/\//i.test(a)?null:/^(?:[^@\s]+@)?([^:/\s]+):(.+)$/.exec(a);if(c){let a=c[1].toLowerCase(),b=c[2].replace(/^\/+|\/+$/g,"").replace(/\.git$/i,"");return b?`${a}/${b}`:null}try{let b=new URL(a);if("file:"===b.protocol){let a=k().resolve(b.pathname).replace(/\.git$/i,"");return`file:${a}`}let c=b.hostname.toLowerCase(),d=b.port?`:${b.port}`:"",e=b.pathname.replace(/^\/+|\/+$/g,"").replace(/\.git$/i,"");return c&&e?`${c}${d}/${e}`:null}catch{let c=k().resolve(b,a).replace(/\.git$/i,"");return`file:${c}`}}(d,a):`local:${f}`,i=h&&h.replace(/^file:/,"").split("/").filter(Boolean).at(-1)?.trim()||null;if(!h||!i)return null;let j=e().createHash("sha256").update(h).digest("hex").slice(0,32);return{project:`repo-${j}`,displayName:i,canonicalRemote:h}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=8444,exports.ids=[8444],exports.modules={20208:(a,b,c)=>{c.d(b,{wj:()=>v,uh:()=>u,KZ:()=>q});var d=c(86519),e=c(31421),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j={setTimeout:(a,b)=>setTimeout(a,b),clearTimeout:a=>{clearTimeout(a)}};var k=c(10991),l=c(65281),m=c(55218);function n(){return new DOMException("file scan cancelled","AbortError")}function o(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}let p=globalThis;function q(a,b={},c=new AbortController().signal){let f={...b,persist:a.persist,...a.fresh?{fresh:!0}:{}};if(c.aborted)return Promise.reject(s(c.reason));if(!function(a=process.env){return"test"!==a.NODE_ENV&&"1"!==a.LLV_FILE_SCANNER_WORKER&&"1"!==a.LLV_FILE_SCANNER_WORKER_DISABLED}())return(0,d.SW)(void 0,{...f,signal:c}).then(a=>{if(c.aborted)throw s(c.reason);return a});let{onResourceSnapshot:h,...p}=f;return function(a,b,c={}){if(c.signal?.aborted)return Promise.reject(n());let d=(0,m.FX)(!1),f=c.launch??function(a=process.cwd()){let b=i().join(a,"src/lib/fileScanner.worker.ts"),c=i().join(a,".next/server/file-scanner-worker.js");return g().existsSync(b)&&g().existsSync("/usr/local/bin/bun-container")?{executable:"/usr/local/bin/bun-container",workerPath:b}:g().existsSync(c)?{executable:process.versions.bun?process.execPath:process.env.LLV_BUN_EXECUTABLE||"bun",workerPath:c}:{executable:process.execPath,workerPath:b}}(c.cwd),h=void 0===c.launch&&g().existsSync("/usr/bin/nice"),p=(0,e.spawn)(h?"/usr/bin/nice":f.executable,[...h?["-n","10",f.executable]:[],f.workerPath],{cwd:c.cwd??process.cwd(),stdio:["pipe","pipe","pipe"],env:{...(0,l.Fd)(c.env??process.env),LLV_FILE_SCANNER_WORKER:"1"}});return new Promise((e,f)=>{let g,h,i=c.scheduler??j,l=!1,q=!1,r="",s="",t=0,u=null,v=null,w=(a,b)=>{l||(l=!0,void 0!==h&&(i.clearTimeout(h),h=void 0),q&&(c.signal?.removeEventListener("abort",z),q=!1),a?f(a):e(b))},x=a=>{if(!l&&!v){v=a;try{p.kill("SIGKILL")}catch{}(null!==p.exitCode||null!==p.signalCode)&&w(a)}},y=a=>{x(Error(a))},z=()=>x(n()),A=()=>{for(;;){let a,c=r.indexOf("\n");if(c<0)return;let d=r.slice(0,c);if(r=r.slice(c+1),!d)continue;try{a=JSON.parse(d)}catch{y("file scanner worker emitted invalid JSON");return}let e=function(a){var b;return o(a)&&("resource"===a.type||"complete"===a.type)&&o(b=a.snapshot)&&Array.isArray(b.files)&&Array.isArray(b.projectCatalog)&&"boolean"==typeof b.complete&&(void 0===b.conversationCatalog||Array.isArray(b.conversationCatalog))&&(void 0===b.pinOverlayPaths||Array.isArray(b.pinOverlayPaths))?a:null}(a);if(!e)return void y("file scanner worker emitted an invalid message");if("resource"===e.type)b?.(e.snapshot);else{let{conversationCatalog:a,...b}=e.snapshot;g=a,u=b}}};h=i.setTimeout(()=>{h=void 0,y("file scanner worker timed out")},c.timeoutMs??3e5),p.once("error",a=>w(a)),p.stdout.setEncoding("utf8"),p.stdout.on("data",a=>{(t+=Buffer.byteLength(a))>0x2000000?y("file scanner worker exceeded output limit"):(r+=a,A())}),p.stderr.setEncoding("utf8"),p.stderr.on("data",a=>{s=`${s}${a}`,Buffer.byteLength(s)>4096&&(s=Buffer.from(s).subarray(-4096).toString("utf8"))}),p.once("close",(a,b)=>{if(!l){if(v)return void w(v);if(A(),0!==a||!u){let c=s.trim();w(Error(`file scanner worker exited before completion (${b??a??"unknown"})${c?`: ${c}`:""}`));return}if(g){let a=(0,m.pu)(d);(0,m.OQ)(g,d,u.complete),a&&(c.transcriptIndexScheduler??k.O)({complete:u.complete,sources:g.map(a=>({path:a.path,project:a.project,engine:a.engine,size:a.size,mtimeMs:1e3*a.mtime}))})}w(void 0,u)}}),p.stdin.once("error",a=>{v||w(a)}),c.signal&&(c.signal.addEventListener("abort",z,{once:!0}),q=!0,c.signal.aborted&&z()),p.stdin.end(JSON.stringify({type:"scan",options:a}))})}(p,h,{signal:c})}let r=(a,b)=>q(a,{},b);function s(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function t(a,b){if(b.settled||b.subscribers>0||(b.controller.abort(s()),b.started))return;let c=a.queue.indexOf(b);c>=0&&a.queue.splice(c,1),b.settled=!0,b.reject(s())}async function u(a={},b=r){var c,d;let e=p.__llvFileScanCoordinator??={generation:0,queue:[],startScheduled:!1};if(a.signal?.aborted)throw s(a.signal.reason);let f={persist:!0===a.persist,fresh:!0===a.fresh},g=!0===a.exclusive,h=e.inflight,i=g||!h||h.controller.signal.aborted||h.exclusive||!1===a.join||(c=h.intent,!c.persist&&f.persist||!c.fresh&&f.fresh)?function(a,b,c,d){let e,f,g;if(!d){let c=a.queue.find(a=>!a.exclusive);if(c)return c.intent={persist:c.intent.persist||b.persist,fresh:c.intent.fresh||b.fresh},c}let h=((g=new Promise((a,b)=>{e=a,f=b})).catch(()=>void 0),{generation:0,intent:b,runner:c,exclusive:d,controller:new AbortController,subscribers:0,started:!1,settled:!1,promise:g,resolve:e,reject:f});return a.queue.push(h),function a(b){b.startScheduled||(b.startScheduled=!0,queueMicrotask(()=>{if(b.startScheduled=!1,b.inflight)return;let c=b.queue.shift();c&&function(b,c){let d;b.generation+=1,c.generation=b.generation,c.started=!0,b.inflight=c;try{d=Promise.resolve(c.runner(c.intent,c.controller.signal))}catch(a){d=Promise.reject(a)}d.then(a=>{c.settled=!0,c.resolve(a)},a=>{c.settled=!0,c.reject(a)}).finally(()=>{b.inflight===c&&(b.inflight=void 0),a(b)})}(b,c)}))}(a),h}(e,f,b,g):h;return d=a.signal,d?.aborted?(t(e,i),Promise.reject(s(d.reason))):(i.subscribers+=1,new Promise((a,b)=>{let c=!0,f=()=>{c&&(c=!1,d?.removeEventListener("abort",g),i.subscribers-=1,t(e,i))},g=()=>{f(),b(s(d?.reason))};d?.addEventListener("abort",g,{once:!0}),i.promise.then(b=>{c&&(f(),a(structuredClone(b)))},a=>{c&&(f(),b(a))})}))}function v(){return u({persist:!0})}},58444:(a,b,c)=>{c.d(b,{Nm:()=>D,TF:()=>v});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(27146),k=c(842),l=c(28976),m=c(88430),n=c(90136),o=c(20208);let p="files-scan-snapshot.json",q=-1/0,r=globalThis;function s(a){return"object"==typeof a&&null!==a}function t(a){if(!s(a)||!0!==a.complete||!Array.isArray(a.files)||!Array.isArray(a.projectCatalog))return!1;let b=a.files.every(a=>{var b;return!!s(a)&&"string"==typeof a.path&&("codex-sessions"===a.root||"claude-projects"===a.root||"claude-tasks"===a.root)&&"string"==typeof a.name&&"string"==typeof a.project&&"string"==typeof a.title&&("codex"===a.engine||"claude"===a.engine||"shell"===a.engine)&&"string"==typeof a.kind&&("codex"===a.fmt||"claude"===a.fmt||"plain"===a.fmt)&&(null===a.parent||"string"==typeof a.parent)&&"number"==typeof a.mtime&&Number.isFinite(a.mtime)&&"number"==typeof a.size&&Number.isFinite(a.size)&&(void 0===a.sessionStartedAt||null===a.sessionStartedAt||"string"==typeof a.sessionStartedAt)&&(void 0===a.nativeParentThreadId||null===a.nativeParentThreadId||"string"==typeof a.nativeParentThreadId)&&(void 0===a.nativeForkSourceThreadId||null===a.nativeForkSourceThreadId||"string"==typeof a.nativeForkSourceThreadId)&&("live"===a.activity||"recent"===a.activity||"stalled"===a.activity||"idle"===a.activity)&&(void 0===a.authoritativeTurn||!!s(b=a.authoritativeTurn)&&("busy"===b.state||"terminal"===b.state||"idle"===b.state||"unknown"===b.state)&&("lifecycle"===b.source||"tool"===b.source||"assistant"===b.source||"empty"===b.source)&&(null===b.terminalAt||"string"==typeof b.terminalAt))&&(null===a.proc||"running"===a.proc||"done"===a.proc||"killed"===a.proc)&&(null===a.pid||"number"==typeof a.pid)&&(null===a.model||"string"==typeof a.model)&&(null===a.pendingQuestion||s(a.pendingQuestion))&&(null===a.waitingInput||s(a.waitingInput))}),c=a.projectCatalog.every(a=>s(a)&&"string"==typeof a.project&&"number"==typeof a.smt&&Number.isFinite(a.smt)&&"number"==typeof a.conversations&&Number.isSafeInteger(a.conversations)&&(void 0===a.projectRoot||"string"==typeof a.projectRoot));return b&&c}function u(){try{let a=JSON.parse(g().readFileSync((0,j.BQ)(p),"utf8"));if(!s(a)||1!==a.version||9!==a.schemaVersion||!t(a.snapshot))return;return a.snapshot}catch{return}}function v(){return u()}function w(a){return s(a)&&"promise"in a?w(a.promise):s(a)&&"function"==typeof a.then?Promise.resolve(a):void 0}function x(a,b,c,d=c,e=new AbortController){let f={generation:b,promise:c,resourcePromise:d,controller:e,subscribers:0,settled:!1};a.refresh=f;let g=()=>{f.settled=!0,a.refresh===f&&(a.refresh=void 0)};return c.then(g,g),f}function y(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}async function z(a,b,c,d){let e=performance.now();try{let f=await d();return a.lastScan={generation:b,reason:c,status:"complete",durationMs:performance.now()-e},f}catch(d){throw a.lastScan={generation:b,reason:c,status:"failed",durationMs:performance.now()-e},d}}function A(a,b,c,d,f){let h=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,k="ordinary"===c||"cold"===c;return z(a,b,c,async()=>{let c=await (0,o.uh)({fresh:h,join:k,signal:f},(b,c)=>(0,o.KZ)(b,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,...d?{onResourceSnapshot:d,resourceBaseline:a.snapshot}:{}},c));if(!c.complete)throw Error("filesystem scan incomplete");return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&function(a){let b,c="create state directory",d=(0,j.BQ)(p);try{let f=(0,j.BQ)(p);d=f,g().mkdirSync(i().dirname(f),{recursive:!0,mode:448}),b=i().join(i().dirname(f),`.${i().basename(f)}.${process.pid}.${e().randomUUID()}.tmp`),c="write temporary snapshot",d=b,g().writeFileSync(b,JSON.stringify({version:1,schemaVersion:9,snapshot:a})+"\n",{encoding:"utf8",mode:384}),c="rename temporary snapshot",d=f,g().renameSync(b,f)}catch(e){if(void 0!==b)try{g().unlinkSync(b)}catch{}let a=Date.now();if(a-q>=6e4){q=a;let b=e instanceof Error?`${e.message}${"code"in e&&e.code?` (${String(e.code)})`:""}`:String(e);console.error(`[files scan cache] ${c} failed for ${d}: ${b}; a later refresh will retry`)}}}(c),a.snapshot=c,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,h&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),c})}function B(a,b,c,d){let e=performance.now(),f=b?function(a,b){let c=a.pinnedSnapshots?.get(b);if(c)return a.pinnedSnapshots.delete(b),a.pinnedSnapshots.set(b,c),c}(a,b):void 0;if(f){let b=structuredClone({snapshot:f.snapshot,pinOverlayPaths:f.pinOverlayPaths,generation:f.generation,targetGeneration:c});return{...b,cacheStatus:d??(b.generation<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:f.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}return{snapshot:structuredClone(a.snapshot),generation:a.snapshotGeneration,targetGeneration:c,cacheStatus:d??(a.snapshotGeneration<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:a.completedAt??a.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}function C(a){return a.requestedGeneration+=1,a.requestedGeneration}async function D({revalidate:a=!0,signal:b}={}){let c,d,e=function(){let a=(r.__llvFilesRouteScans??=new Map,r.__llvFilesRouteScans),b=a.get("");if(void 0===b){let b=u();b&&function(a){for(let b of((0,m.X)(a.files),a.files)){let a;if(!0!==b.derivationComplete)continue;try{a=g().statSync(b.path)}catch{continue}if(a.size!==b.size||a.mtimeMs/1e3!==b.mtime)continue;let c=1e3*b.mtime,d=function(a){if("jsonl_turn_open"===a.activityReason||"jsonl_turn_stalled"===a.activityReason||"pane_at_composer"===a.activityReason)return{state:"busy",source:"lifecycle",terminalAt:null};if("jsonl_turn_completed"===a.activityReason){let b=a.lastTurn?.endedAt;return{state:"terminal",source:"lifecycle",terminalAt:"number"==typeof b&&Number.isFinite(b)?new Date(b).toISOString():null}}if("mtime_fresh"===a.activityReason||"mtime_recent"===a.activityReason||"mtime_old"===a.activityReason)return{state:"unknown",source:"empty",terminalAt:null}}(b);void 0!==d&&b.path.endsWith(".jsonl")&&("claude"===b.engine||"codex"===b.engine)&&((0,k.Ul)(b.path,b.size,c,"codex"===b.engine,d,{authoritative:!1,composerReleased:"pane_at_composer"===b.activityReason}),b.authoritativeTurn?(0,k.Ul)(b.path,b.size,c,"codex"===b.engine,b.authoritativeTurn,{composerReleased:"pane_at_composer"===b.activityReason}):("codex"===b.engine||"terminal"!==d.state)&&(0,k.Ul)(b.path,b.size,c,"codex"===b.engine,d,{composerReleased:"pane_at_composer"===b.activityReason})),"claude-projects"===b.root&&b.path.includes(`${i().sep}subagents${i().sep}`)||(0,l.E)("model").set(b.path,[b.size,c,{display:b.model,launch:b.launchModel??null}]),Object.hasOwn(b,"effort")&&("claude"!==b.engine||"running"!==b.proc)&&(0,l.E)("effort").set(b.path,[b.size,c,b.effort??null]),Object.hasOwn(b,"plan")&&(0,l.E)("plan-v2").set(b.path,[b.size,c,b.plan]),Object.hasOwn(b,"goal")&&(0,l.E)("goal-v2").set(b.path,[b.size,c,b.goal]),Object.hasOwn(b,"ctx")&&(0,l.E)("ctx-v2").set(b.path,[b.size,c,b.ctx]),Object.hasOwn(b,"lastTurn")&&(0,l.E)("last-turn-v5").set(b.path,[b.size,c,b.lastTurn]),Object.hasOwn(b,"pendingWakeup")&&(0,l.E)("wakeup-v2").set(b.path,[b.size,c,b.pendingWakeup]),"claude-projects"===b.root&&b.path.endsWith(".jsonl")&&(0,l.E)(n.oS).set(b.path,[b.size,c,function(a){if(!a.pendingQuestion)return null;let{pid:b,paneTarget:c,...d}=a.pendingQuestion;return d}(b)])}}(b);let c={schemaVersion:9,snapshot:b,snapshotGeneration:0,requestedGeneration:0,refreshedAt:0,completedAt:b?function(){try{return g().statSync((0,j.BQ)(p)).mtimeMs}catch{return 0}}():0};return a.set("",c),c}let c=function(a){if(s(a)&&9===a.schemaVersion&&Number.isSafeInteger(a.snapshotGeneration)&&Number.isSafeInteger(a.requestedGeneration)){let b=w(a.refresh);return!b||a.refresh?.controller&&Number.isSafeInteger(a.refresh.subscribers)||x(a,a.refresh?.generation??0,b),a}let b=s(a)?a:{},c={schemaVersion:9,snapshot:t(b.snapshot)?b.snapshot:void 0,snapshotGeneration:0,requestedGeneration:0,refreshedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0,completedAt:"number"==typeof b.completedAt&&Number.isFinite(b.completedAt)?b.completedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0},d=w(b.refresh);if(d){let a=d.then(a=>{if(!a.complete)throw Error("filesystem scan incomplete");return c.snapshot=a,c.refreshedAt=Date.now(),c.completedAt=c.refreshedAt,a});x(c,0,a)}return c}(b);return a.delete(""),a.set("",c),c}();if(e.requestCount=(e.requestCount??0)+1,e.snapshot){let b=Date.now();if(a&&!e.refresh&&b-Math.max(e.refreshedAt,e.ordinaryRefreshRequestedAt??0)>=3e5){let a,c,d,f,g=C(e);e.ordinaryRefreshRequestedAt=b,a=!1,c=!1,d=new AbortController,f=new Promise(a=>setImmediate(a)).then(()=>{if(a=!0,d.signal.aborted)throw y(d.signal.reason);if(c){if(!e.snapshot)throw Error("deferred file scan canceled without a completed snapshot");return e.snapshot}return A(e,g,"ordinary",void 0,d.signal)}),x(e,g,f,f,d).cancelBeforeStart=()=>!a&&(c=!0,!0)}return B(e,void 0,e.snapshotGeneration)}let f=e.refresh?.generation??C(e),h=e.refresh??(d=A(e,f,"cold",void 0,(c=new AbortController).signal),x(e,f,d,d,c));return await (b?.aborted?Promise.reject(y(b.reason)):(h.subscribers+=1,new Promise((a,c)=>{let d=!0,e=()=>{d&&(d=!1,b?.removeEventListener("abort",f),h.subscribers-=1,0!==h.subscribers||h.settled||h.controller.abort(y()))},f=()=>{e(),c(y(b?.reason))};b?.addEventListener("abort",f,{once:!0}),h.promise.then(b=>{d&&(e(),a(b))},a=>{d&&(e(),c(a))})}))),B(e,void 0,f,"miss")}}};
|
|
1
|
+
"use strict";exports.id=8444,exports.ids=[8444],exports.modules={12136:(a,b,c)=>{c.d(b,{Lr:()=>d,zf:()=>f});let d={setTimeout:(a,b)=>setTimeout(a,b),clearTimeout:a=>{clearTimeout(a)}};class e extends Error{constructor(a,b){super(a),this.name="DeadlineExceededError",this.timeoutMs=b}}function f(a){return a instanceof e||"object"==typeof a&&null!==a&&"AbortError"===a.name}},58444:(a,b,c)=>{c.d(b,{Nm:()=>D,TF:()=>v});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(27146),k=c(842),l=c(28976),m=c(81458),n=c(90136),o=c(87323);let p="files-scan-snapshot.json",q=-1/0,r=globalThis;function s(a){return"object"==typeof a&&null!==a}function t(a){if(!s(a)||!0!==a.complete||!Array.isArray(a.files)||!Array.isArray(a.projectCatalog))return!1;let b=a.files.every(a=>{var b;return!!s(a)&&"string"==typeof a.path&&("codex-sessions"===a.root||"claude-projects"===a.root||"claude-tasks"===a.root||"openclaw-sessions"===a.root)&&"string"==typeof a.name&&"string"==typeof a.project&&"string"==typeof a.title&&("codex"===a.engine||"claude"===a.engine||"shell"===a.engine||"openclaw"===a.engine)&&"string"==typeof a.kind&&("codex"===a.fmt||"claude"===a.fmt||"plain"===a.fmt||"openclaw"===a.fmt)&&(null===a.parent||"string"==typeof a.parent)&&"number"==typeof a.mtime&&Number.isFinite(a.mtime)&&"number"==typeof a.size&&Number.isFinite(a.size)&&(void 0===a.sessionStartedAt||null===a.sessionStartedAt||"string"==typeof a.sessionStartedAt)&&(void 0===a.nativeParentThreadId||null===a.nativeParentThreadId||"string"==typeof a.nativeParentThreadId)&&(void 0===a.nativeForkSourceThreadId||null===a.nativeForkSourceThreadId||"string"==typeof a.nativeForkSourceThreadId)&&("live"===a.activity||"recent"===a.activity||"stalled"===a.activity||"idle"===a.activity)&&(void 0===a.authoritativeTurn||!!s(b=a.authoritativeTurn)&&("busy"===b.state||"terminal"===b.state||"idle"===b.state||"unknown"===b.state)&&("lifecycle"===b.source||"tool"===b.source||"assistant"===b.source||"empty"===b.source)&&(null===b.terminalAt||"string"==typeof b.terminalAt))&&(null===a.proc||"running"===a.proc||"done"===a.proc||"killed"===a.proc)&&(null===a.pid||"number"==typeof a.pid)&&(null===a.model||"string"==typeof a.model)&&(null===a.pendingQuestion||s(a.pendingQuestion))&&(null===a.waitingInput||s(a.waitingInput))}),c=a.projectCatalog.every(a=>s(a)&&"string"==typeof a.project&&"number"==typeof a.smt&&Number.isFinite(a.smt)&&"number"==typeof a.conversations&&Number.isSafeInteger(a.conversations)&&(void 0===a.projectRoot||"string"==typeof a.projectRoot));return b&&c}function u(){try{let a=JSON.parse(g().readFileSync((0,j.BQ)(p),"utf8"));if(!s(a)||1!==a.version||10!==a.schemaVersion||!t(a.snapshot))return;return a.snapshot}catch{return}}function v(){return u()}function w(a){return s(a)&&"promise"in a?w(a.promise):s(a)&&"function"==typeof a.then?Promise.resolve(a):void 0}function x(a,b,c,d=c,e=new AbortController){let f={generation:b,promise:c,resourcePromise:d,controller:e,subscribers:0,settled:!1};a.refresh=f;let g=()=>{f.settled=!0,a.refresh===f&&(a.refresh=void 0)};return c.then(g,g),f}function y(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}async function z(a,b,c,d){let e=performance.now();try{let f=await d();return a.lastScan={generation:b,reason:c,status:"complete",durationMs:performance.now()-e},f}catch(d){throw a.lastScan={generation:b,reason:c,status:"failed",durationMs:performance.now()-e},d}}function A(a,b,c,d,f){let h=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,k="ordinary"===c||"cold"===c;return z(a,b,c,async()=>{let c=await (0,o.uh)({fresh:h,join:k,signal:f},(b,c)=>(0,o.KZ)(b,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,...d?{onResourceSnapshot:d,resourceBaseline:a.snapshot}:{}},c));if(!c.complete)throw Error("filesystem scan incomplete");return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&function(a){let b,c="create state directory",d=(0,j.BQ)(p);try{let f=(0,j.BQ)(p);d=f,g().mkdirSync(i().dirname(f),{recursive:!0,mode:448}),b=i().join(i().dirname(f),`.${i().basename(f)}.${process.pid}.${e().randomUUID()}.tmp`),c="write temporary snapshot",d=b,g().writeFileSync(b,JSON.stringify({version:1,schemaVersion:10,snapshot:a})+"\n",{encoding:"utf8",mode:384}),c="rename temporary snapshot",d=f,g().renameSync(b,f)}catch(e){if(void 0!==b)try{g().unlinkSync(b)}catch{}let a=Date.now();if(a-q>=6e4){q=a;let b=e instanceof Error?`${e.message}${"code"in e&&e.code?` (${String(e.code)})`:""}`:String(e);console.error(`[files scan cache] ${c} failed for ${d}: ${b}; a later refresh will retry`)}}}(c),a.snapshot=c,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,h&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),c})}function B(a,b,c,d){let e=performance.now(),f=b?function(a,b){let c=a.pinnedSnapshots?.get(b);if(c)return a.pinnedSnapshots.delete(b),a.pinnedSnapshots.set(b,c),c}(a,b):void 0;if(f){let b=structuredClone({snapshot:f.snapshot,pinOverlayPaths:f.pinOverlayPaths,generation:f.generation,targetGeneration:c});return{...b,cacheStatus:d??(b.generation<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:f.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}return{snapshot:structuredClone(a.snapshot),generation:a.snapshotGeneration,targetGeneration:c,cacheStatus:d??(a.snapshotGeneration<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:a.completedAt??a.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}function C(a){return a.requestedGeneration+=1,a.requestedGeneration}async function D({revalidate:a=!0,signal:b}={}){let c,d,e=function(){let a=(r.__llvFilesRouteScans??=new Map,r.__llvFilesRouteScans),b=a.get("");if(void 0===b){let b=u();b&&function(a){for(let c of((0,m.X$)(a.files),a.files)){var b;let a;if(!0!==c.derivationComplete)continue;try{a=g().statSync(c.path)}catch{continue}if(a.size!==c.size||a.mtimeMs/1e3!==c.mtime)continue;let d=1e3*c.mtime,e=function(a){if("jsonl_turn_open"===a.activityReason||"jsonl_turn_stalled"===a.activityReason||"pane_at_composer"===a.activityReason)return{state:"busy",source:"lifecycle",terminalAt:null};if("jsonl_turn_completed"===a.activityReason){let b=a.lastTurn?.endedAt;return{state:"terminal",source:"lifecycle",terminalAt:"number"==typeof b&&Number.isFinite(b)?new Date(b).toISOString():null}}if("mtime_fresh"===a.activityReason||"mtime_recent"===a.activityReason||"mtime_old"===a.activityReason)return{state:"unknown",source:"empty",terminalAt:null}}(c);if(void 0!==e&&c.path.endsWith(".jsonl")&&("claude"===(b=c.engine)||"codex"===b||"openclaw"===b)){let a=c.engine;(0,k.Ul)(c.path,c.size,d,a,e,{authoritative:!1,composerReleased:"pane_at_composer"===c.activityReason}),c.authoritativeTurn?(0,k.Ul)(c.path,c.size,d,a,c.authoritativeTurn,{composerReleased:"pane_at_composer"===c.activityReason}):("claude"!==a||"terminal"!==e.state)&&(0,k.Ul)(c.path,c.size,d,a,e,{composerReleased:"pane_at_composer"===c.activityReason})}"claude-projects"===c.root&&c.path.includes(`${i().sep}subagents${i().sep}`)||(0,l.E)("model").set(c.path,[c.size,d,{display:c.model,launch:c.launchModel??null}]),Object.hasOwn(c,"effort")&&("claude"!==c.engine||"running"!==c.proc)&&(0,l.E)("effort").set(c.path,[c.size,d,c.effort??null]),Object.hasOwn(c,"plan")&&(0,l.E)("plan-v2").set(c.path,[c.size,d,c.plan]),Object.hasOwn(c,"goal")&&(0,l.E)("goal-v2").set(c.path,[c.size,d,c.goal]),Object.hasOwn(c,"ctx")&&(0,l.E)("ctx-v2").set(c.path,[c.size,d,c.ctx]),Object.hasOwn(c,"lastTurn")&&(0,l.E)("last-turn-v5").set(c.path,[c.size,d,c.lastTurn]),Object.hasOwn(c,"pendingWakeup")&&(0,l.E)("wakeup-v2").set(c.path,[c.size,d,c.pendingWakeup]),"claude-projects"===c.root&&c.path.endsWith(".jsonl")&&(0,l.E)(n.oS).set(c.path,[c.size,d,function(a){if(!a.pendingQuestion)return null;let{pid:b,paneTarget:c,...d}=a.pendingQuestion;return d}(c)])}}(b);let c={schemaVersion:10,snapshot:b,snapshotGeneration:0,requestedGeneration:0,refreshedAt:0,completedAt:b?function(){try{return g().statSync((0,j.BQ)(p)).mtimeMs}catch{return 0}}():0};return a.set("",c),c}let c=function(a){if(s(a)&&10===a.schemaVersion&&Number.isSafeInteger(a.snapshotGeneration)&&Number.isSafeInteger(a.requestedGeneration)){let b=w(a.refresh);return!b||a.refresh?.controller&&Number.isSafeInteger(a.refresh.subscribers)||x(a,a.refresh?.generation??0,b),a}let b=s(a)?a:{},c={schemaVersion:10,snapshot:t(b.snapshot)?b.snapshot:void 0,snapshotGeneration:0,requestedGeneration:0,refreshedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0,completedAt:"number"==typeof b.completedAt&&Number.isFinite(b.completedAt)?b.completedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0},d=w(b.refresh);if(d){let a=d.then(a=>{if(!a.complete)throw Error("filesystem scan incomplete");return c.snapshot=a,c.refreshedAt=Date.now(),c.completedAt=c.refreshedAt,a});x(c,0,a)}return c}(b);return a.delete(""),a.set("",c),c}();if(e.requestCount=(e.requestCount??0)+1,e.snapshot){let b=Date.now();if(a&&!e.refresh&&b-Math.max(e.refreshedAt,e.ordinaryRefreshRequestedAt??0)>=3e5){let a,c,d,f,g=C(e);e.ordinaryRefreshRequestedAt=b,a=!1,c=!1,d=new AbortController,f=new Promise(a=>setImmediate(a)).then(()=>{if(a=!0,d.signal.aborted)throw y(d.signal.reason);if(c){if(!e.snapshot)throw Error("deferred file scan canceled without a completed snapshot");return e.snapshot}return A(e,g,"ordinary",void 0,d.signal)}),x(e,g,f,f,d).cancelBeforeStart=()=>!a&&(c=!0,!0)}return B(e,void 0,e.snapshotGeneration)}let f=e.refresh?.generation??C(e),h=e.refresh??(d=A(e,f,"cold",void 0,(c=new AbortController).signal),x(e,f,d,d,c));return await (b?.aborted?Promise.reject(y(b.reason)):(h.subscribers+=1,new Promise((a,c)=>{let d=!0,e=()=>{d&&(d=!1,b?.removeEventListener("abort",f),h.subscribers-=1,0!==h.subscribers||h.settled||h.controller.abort(y()))},f=()=>{e(),c(y(b?.reason))};b?.addEventListener("abort",f,{once:!0}),h.promise.then(b=>{d&&(e(),a(b))},a=>{d&&(e(),c(a))})}))),B(e,void 0,f,"miss")}},87323:(a,b,c)=>{c.d(b,{wj:()=>w,uh:()=>v,KZ:()=>r});var d=c(49135),e=c(31421),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(12136),k=c(10991),l=c(65281),m=c(55218);function n(){return new DOMException("file scan cancelled","AbortError")}function o(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function p(a=process.cwd()){let b=i().join(a,"src/lib/fileScanner.worker.ts"),c=i().join(a,".next/server/file-scanner-worker.js");return g().existsSync(b)&&g().existsSync("/usr/local/bin/bun-container")?{executable:"/usr/local/bin/bun-container",workerPath:b}:g().existsSync(c)?{executable:process.versions.bun?process.execPath:process.env.LLV_BUN_EXECUTABLE||"bun",workerPath:c}:g().existsSync(b)?{executable:process.execPath,workerPath:b}:null}let q=globalThis;function r(a,b={},c=new AbortController().signal){let f={...b,persist:a.persist,...a.fresh?{fresh:!0}:{}};if(c.aborted)return Promise.reject(t(c.reason));if(!function(a=process.env){return"test"!==a.NODE_ENV&&"1"!==a.LLV_FILE_SCANNER_WORKER&&"1"!==a.LLV_FILE_SCANNER_WORKER_DISABLED}()||null===p())return(0,d.SW)(void 0,{...f,signal:c}).then(a=>{if(c.aborted)throw t(c.reason);return a});let{onResourceSnapshot:h,...i}=f;return function(a,b,c={}){if(c.signal?.aborted)return Promise.reject(n());let d=c.launch??p(c.cwd);if(!d)return Promise.reject(Error("this process has no file scanner worker artifact"));let f=(0,m.FX)(!1),h=void 0===c.launch&&g().existsSync("/usr/bin/nice"),i=(0,e.spawn)(h?"/usr/bin/nice":d.executable,[...h?["-n","10",d.executable]:[],d.workerPath],{cwd:c.cwd??process.cwd(),stdio:["pipe","pipe","pipe"],env:{...(0,l.Fd)(c.env??process.env),LLV_FILE_SCANNER_WORKER:"1"}});return new Promise((d,e)=>{let g,h,l=c.scheduler??j.Lr,p=!1,q=!1,r="",s="",t=0,u=null,v=null,w=(a,b)=>{p||(p=!0,void 0!==h&&(l.clearTimeout(h),h=void 0),q&&(c.signal?.removeEventListener("abort",z),q=!1),a?e(a):d(b))},x=a=>{if(!p&&!v){v=a;try{i.kill("SIGKILL")}catch{}(null!==i.exitCode||null!==i.signalCode)&&w(a)}},y=a=>{x(Error(a))},z=()=>x(n()),A=()=>{for(;;){let a,c=r.indexOf("\n");if(c<0)return;let d=r.slice(0,c);if(r=r.slice(c+1),!d)continue;try{a=JSON.parse(d)}catch{y("file scanner worker emitted invalid JSON");return}let e=function(a){var b;return o(a)&&("resource"===a.type||"complete"===a.type)&&o(b=a.snapshot)&&Array.isArray(b.files)&&Array.isArray(b.projectCatalog)&&"boolean"==typeof b.complete&&(void 0===b.conversationCatalog||Array.isArray(b.conversationCatalog))&&(void 0===b.pinOverlayPaths||Array.isArray(b.pinOverlayPaths))?a:null}(a);if(!e)return void y("file scanner worker emitted an invalid message");if("resource"===e.type)b?.(e.snapshot);else{let{conversationCatalog:a,...b}=e.snapshot;g=a,u=b}}};h=l.setTimeout(()=>{h=void 0,y("file scanner worker timed out")},c.timeoutMs??3e5),i.once("error",a=>w(a)),i.stdout.setEncoding("utf8"),i.stdout.on("data",a=>{(t+=Buffer.byteLength(a))>0x2000000?y("file scanner worker exceeded output limit"):(r+=a,A())}),i.stderr.setEncoding("utf8"),i.stderr.on("data",a=>{s=`${s}${a}`,Buffer.byteLength(s)>4096&&(s=Buffer.from(s).subarray(-4096).toString("utf8"))}),i.once("close",(a,b)=>{if(!p){if(v)return void w(v);if(A(),0!==a||!u){let c=s.trim();w(Error(`file scanner worker exited before completion (${b??a??"unknown"})${c?`: ${c}`:""}`));return}if(g){let a=(0,m.pu)(f);(0,m.OQ)(g,f,u.complete),a&&(c.transcriptIndexScheduler??k.O)({complete:u.complete,sources:g.flatMap(a=>"openclaw"===a.engine?[]:[{path:a.path,project:a.project,engine:a.engine,size:a.size,mtimeMs:1e3*a.mtime}])})}w(void 0,u)}}),i.stdin.once("error",a=>{v||w(a)}),c.signal&&(c.signal.addEventListener("abort",z,{once:!0}),q=!0,c.signal.aborted&&z()),i.stdin.end(JSON.stringify({type:"scan",options:a}))})}(i,h,{signal:c})}let s=(a,b)=>r(a,{},b);function t(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function u(a,b){if(b.settled||b.subscribers>0||(b.controller.abort(t()),b.started))return;let c=a.queue.indexOf(b);c>=0&&a.queue.splice(c,1),b.settled=!0,b.reject(t())}async function v(a={},b=s){var c,d;let e=q.__llvFileScanCoordinator??={generation:0,queue:[],startScheduled:!1};if(a.signal?.aborted)throw t(a.signal.reason);let f={persist:!0===a.persist,fresh:!0===a.fresh},g=!0===a.exclusive,h=e.inflight,i=g||!h||h.controller.signal.aborted||h.exclusive||!1===a.join||(c=h.intent,!c.persist&&f.persist||!c.fresh&&f.fresh)?function(a,b,c,d){let e,f,g;if(!d){let c=a.queue.find(a=>!a.exclusive);if(c)return c.intent={persist:c.intent.persist||b.persist,fresh:c.intent.fresh||b.fresh},c}let h=((g=new Promise((a,b)=>{e=a,f=b})).catch(()=>void 0),{generation:0,intent:b,runner:c,exclusive:d,controller:new AbortController,subscribers:0,started:!1,settled:!1,promise:g,resolve:e,reject:f});return a.queue.push(h),function a(b){b.startScheduled||(b.startScheduled=!0,queueMicrotask(()=>{if(b.startScheduled=!1,b.inflight)return;let c=b.queue.shift();c&&function(b,c){let d;b.generation+=1,c.generation=b.generation,c.started=!0,b.inflight=c;try{d=Promise.resolve(c.runner(c.intent,c.controller.signal))}catch(a){d=Promise.reject(a)}d.then(a=>{c.settled=!0,c.resolve(a)},a=>{c.settled=!0,c.reject(a)}).finally(()=>{b.inflight===c&&(b.inflight=void 0),a(b)})}(b,c)}))}(a),h}(e,f,b,g):h;return d=a.signal,d?.aborted?(u(e,i),Promise.reject(t(d.reason))):(i.subscribers+=1,new Promise((a,b)=>{let c=!0,f=()=>{c&&(c=!1,d?.removeEventListener("abort",g),i.subscribers-=1,u(e,i))},g=()=>{f(),b(t(d?.reason))};d?.addEventListener("abort",g,{once:!0}),i.promise.then(b=>{c&&(f(),a(structuredClone(b)))},a=>{c&&(f(),b(a))})}))}function w(){return v({persist:!0})}}};
|