@mndrk/agx 2.0.55 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/required-server-files.json +5 -0
- package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +23 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js +4 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js +5 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/build-manifest.json +9 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js +13 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route_client-reference-manifest.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +19 -8
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/build-manifest.json +9 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js +28 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route_client-reference-manifest.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js +9 -5
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +16 -15
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +9 -8
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page/react-loadable-manifest.json +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +15 -15
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +15 -15
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +14 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +8 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/0jps_app_api_projects_[id]_objectives_[objectiveId]_worker_route_actions_0v8q3zz.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__0_au5u1._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__13x93ar._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0_10qfd._.js → [root-of-the-server]__0.6yz1u._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01lsgl~._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0205scg._.js → [root-of-the-server]__03.9arn._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__01ol22y._.js → [root-of-the-server]__03h0gqp._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__094z9yf._.js → [root-of-the-server]__08jo91s._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09j9jpf._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-nye63._.js → [root-of-the-server]__09jghbu._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0_7hiof._.js +43 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0.jam.l._.js → [root-of-the-server]__0a0cq38._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0asvfdo._.js +54 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0c86535._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0cj1krd._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0aa-88e._.js → [root-of-the-server]__0dy3h2i._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0touqng._.js → [root-of-the-server]__0e8-2k_._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0enhv5p._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0f9byr.._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g7hc1-._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g7p6pw._.js +55 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__019q25b._.js → [root-of-the-server]__0gj~dap._.js} +7 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0e6cj2y._.js → [root-of-the-server]__0hc45jw._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0avz575._.js → [root-of-the-server]__0hkcw03._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hmw36u._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0l53ok5._.js +54 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0n.momw._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tjo9we._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-~t2br._.js → [root-of-the-server]__0v7jjvl._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0x6w64i._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__11nke7t._.js → [root-of-the-server]__0y3qxv1._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__10z8f9h._.js → [root-of-the-server]__0ygidxe._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0z82z0-._.js +49 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0zsv-tb._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~nnfjr._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~x4jbk._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10d.dhd._.js +229 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12qy318._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_039.xxy._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_06oeti1._.js +49 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0dyy7h.._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gi7c9x._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gr.psg._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0sd8z0i._.js +21 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0y42h_~._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~ah49q._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_01kqgle._.js +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_06qet8g._.js +36 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_0m2ly._.js +397 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_a~bj0._.js +25 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0a15wtk._.js +397 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0bjdpen._.js +29 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0fr1qq6._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0g.q2r6._.js +41 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0h7wd0e._.js +29 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0i7fs.i._.js +397 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0ipg-p6._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0npxy21._.js +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0uhfa93._.js +21 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_12wpldq._.js +25 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_worker_route_actions_116303i.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01hd2_5._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01pvj2g._.js +34 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0ik933l._.js +55 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0o1v.j4._.js +79 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0pxj122._.js +55 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_automations_index_ts_0_8ch28._.js +10 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_082u-ls._.js +41 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0.xgxyl._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0yu3--n._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0ze8hzc._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_get-store_ts_0p0aod1._.js +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_linear-worker_ts_0ycjwem._.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0gips_c.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0u_5kfo.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/02dz_local__next-internal_server_app_projects_[slug]_folders_page_actions_03fg4j9.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0tvwux2._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0e2_v_.._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0hvpc.y._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0w3hl3p._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__006vr7.._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__08d5c~o._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0_n~ybp._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0d18x53._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0fl7_-o._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0h~rb5r._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0j9m72.._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__02.r909._.js → [root-of-the-server]__0n5g8ml._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w.zmt6._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0z7nw_r._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__10h_7t0._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_00trrg8._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0s~0ump._.js → _064h43p._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0742x_.._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0fwy5tm._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0sjchy6._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ufdu.z._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0wk3skw._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yeuuy1._.js +25 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_03z24q2._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_ac-.f._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0a-8i4p._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0h3mfm7._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_075cq2j._.js → apps_local_0k4~c1x._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0n80y4_._.js → apps_local_0nvzo3y._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0t6p.qm._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0v~bvwg._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_11k_-8~._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_[id]_page_tsx_06n47n~._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_execution-graph_page_tsx_0tn2sx9._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_folders_page_tsx_0ju618z._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_0aaa3~t._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_new_page_tsx_0yqd0a5._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_setup_page_tsx_0ql2qmr._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_PromptJobBoard_tsx_06zob36._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TaskCard_tsx_0e35_z5._.js +6 -6
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_ChatContainer_tsx_0c9fjtl._.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +6 -6
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mk0s0o.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-_ukhpeg429c.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-olq~7zw3wjy.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0142ce0jj3j7r.js → 0-vo_x2cxmjm3.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/003q-y3exxalk.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/00po4v2x~0x_z.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/013gtut17~fne.js +23 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/014z_yruiincl.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/041-dhls9zkl1.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/04yoml2rqnuot.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/07646a0h94826.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0_mrpyqcoyb_5.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rm7v.1y6qcni.js → 0aewbg0i704w7.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0px65ynyk3t1d.js → 0bchtyu6m.2yv.js} +7 -7
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0dnw31436wd~..js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0e307b-0c2jbx.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0edewt9l~cs~k.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0f7i3ae1ynhf3.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0fonouj2i9qnb.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gj98094p~zn4.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jrkacz_dyem6.js +37 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l3v45kd.9is_.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lgb.0~i1xvv-.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lkal3uvr6_~2.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0mig99af4~uos.js +28 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pdrpsy-zdxp0.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p~l5ap6qqx2o.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0r0c9y6.8.m5p.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0stvi5btlxl4m.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0h_bwlg~kk8lz.js → 0tt1oh112yv-l.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0uve8xrt~0a2e.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0w94x-v00osq0.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0wh6p5~ft5rma.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0x_pewz9npq~q.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xwny92a.ad_i.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0zw85-xl9ysjs.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/119v0-idpg-cv.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/11l2tww5f0hsk.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/14v~9vx3tdv85.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0826uh6nmsi5l.js → 1503vb7lb6.g1.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/16d~es6h6k~rj.js +6 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/177-q0wwdi0qe.js +1 -0
- package/cloud-runtime/standalone/apps/local/agx-server.js +4055 -0
- package/cloud-runtime/standalone/apps/local/app/agents/[id]/page.tsx +40 -5
- package/cloud-runtime/standalone/apps/local/app/api/agents/[id]/profile/route.ts +10 -0
- package/cloud-runtime/standalone/apps/local/app/api/automations/route.ts +10 -2
- package/cloud-runtime/standalone/apps/local/app/api/linear/worker/route.ts +151 -0
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/route.ts +0 -8
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +22 -27
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/worker/route.ts +89 -0
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/route.ts +13 -0
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/search/route.ts +4 -4
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/route.ts +5 -3
- package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +15 -5
- package/cloud-runtime/standalone/apps/local/app/globals.css +67 -5
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/folders/page.tsx +25 -0
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +19 -5
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/objectives/[objectiveId]/page.tsx +7 -2
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/new/page.tsx +236 -10
- package/cloud-runtime/standalone/apps/local/app/setup/page.tsx +9 -1
- package/cloud-runtime/standalone/apps/local/bundled-server.ts +45 -0
- package/cloud-runtime/standalone/apps/local/components/ActionToolbar.tsx +5 -2
- package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +35 -3
- package/cloud-runtime/standalone/apps/local/components/ContextMenu.tsx +2 -2
- package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +70 -20
- package/cloud-runtime/standalone/apps/local/components/IconButton.tsx +10 -2
- package/cloud-runtime/standalone/apps/local/components/KanbanBoard.tsx +84 -3
- package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +434 -36
- package/cloud-runtime/standalone/apps/local/components/LogTimeline.tsx +4 -1
- package/cloud-runtime/standalone/apps/local/components/NowRunningPanel.tsx +3 -1
- package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +119 -6
- package/cloud-runtime/standalone/apps/local/components/SearchCombo.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/SortableTaskCard.tsx +21 -3
- package/cloud-runtime/standalone/apps/local/components/StatusCircle.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/TaskCard.tsx +51 -1
- package/cloud-runtime/standalone/apps/local/components/chat-ui/ChatContainer.tsx +15 -2
- package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/chat-ui/ParticipantBar.tsx +76 -9
- package/cloud-runtime/standalone/apps/local/components/graph/ExecutionGraphPanel.tsx +4 -1
- package/cloud-runtime/standalone/apps/local/components/graph/GraphFirstView.tsx +6 -2
- package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +45 -25
- package/cloud-runtime/standalone/apps/local/components/graph/NodeInspector.tsx +9 -6
- package/cloud-runtime/standalone/apps/local/components/linear/LinearSettingsModal.tsx +105 -0
- package/cloud-runtime/standalone/apps/local/components/linear/LinearWorkerConfig.tsx +367 -0
- package/cloud-runtime/standalone/apps/local/components/projects/FoldersSummaryCard.tsx +16 -16
- package/cloud-runtime/standalone/apps/local/components/projects/FoldersView.tsx +856 -0
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveActivityTimeline.tsx +40 -32
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveHealthTrend.tsx +215 -0
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +338 -91
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +12 -6
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +489 -467
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectSearchBar.tsx +4 -2
- package/cloud-runtime/standalone/apps/local/components/projects/RecentlyCompletedCard.tsx +213 -0
- package/cloud-runtime/standalone/apps/local/components/projects/ScheduledTasksSummaryCard.tsx +19 -19
- package/cloud-runtime/standalone/apps/local/components/projects/TeamsSummaryCard.tsx +10 -10
- package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +171 -56
- package/cloud-runtime/standalone/apps/local/components/projects/WorkingNowCard.tsx +12 -12
- package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectiveCard.tsx +13 -10
- package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectivesSection.tsx +7 -7
- package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathCard.tsx +2 -2
- package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathsSection.tsx +9 -9
- package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +4 -4
- package/cloud-runtime/standalone/apps/local/components/setup/McpSetupStep.tsx +242 -0
- package/cloud-runtime/standalone/apps/local/components/setup/ProjectStep.tsx +2 -2
- package/cloud-runtime/standalone/apps/local/components/setup/ProviderStep.tsx +1 -1
- package/cloud-runtime/standalone/apps/local/components/setup/TeamsStep.tsx +288 -15
- package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +233 -89
- package/cloud-runtime/standalone/apps/local/components/terminal/TerminalSessionList.tsx +3 -1
- package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +72 -21
- package/cloud-runtime/standalone/apps/local/hooks/useInputCapabilities.ts +74 -0
- package/cloud-runtime/standalone/apps/local/hooks/useSetupFlow.ts +16 -2
- package/cloud-runtime/standalone/apps/local/lib/app-config.ts +35 -0
- package/cloud-runtime/standalone/apps/local/lib/objective-health-history.ts +198 -0
- package/cloud-runtime/standalone/apps/local/lib/project-objective-context.ts +10 -0
- package/cloud-runtime/standalone/apps/local/lib/project-objectives.ts +0 -9
- package/cloud-runtime/standalone/apps/local/lib/pty-manager.ts +5 -1
- package/cloud-runtime/standalone/apps/local/lib/terminal-server.ts +182 -0
- package/cloud-runtime/standalone/apps/local/next.config.ts +2 -1
- package/cloud-runtime/standalone/apps/local/package.json +2 -2
- package/cloud-runtime/standalone/apps/local/playwright.config.ts +8 -0
- package/cloud-runtime/standalone/apps/local/server.js +1 -1
- package/cloud-runtime/standalone/apps/local/server.ts +14 -158
- package/cloud-runtime/standalone/apps/local/skills-lock.json +20 -0
- package/cloud-runtime/standalone/apps/local/src/automations/adapters.ts +5 -0
- package/cloud-runtime/standalone/apps/local/src/automations/types.ts +5 -0
- package/cloud-runtime/standalone/apps/local/src/automations/validation.ts +12 -5
- package/cloud-runtime/standalone/apps/local/src/graph/types.ts +2 -0
- package/cloud-runtime/standalone/apps/local/src/objectives/parser.ts +0 -2
- package/cloud-runtime/standalone/apps/local/src/objectives/serializer.ts +0 -2
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/cron.ts +11 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-constants.ts +38 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-job.ts +47 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker.ts +482 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker-job.ts +47 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +511 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +239 -368
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/store.ts +19 -4
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +32 -8
- package/cloud-runtime/standalone/apps/local/state/terminalTabs.ts +182 -106
- package/cloud-runtime/standalone/apps/local/state/windowState.ts +11 -0
- package/cloud-runtime/standalone/apps/local/styles/workspaceSidebar.css +65 -0
- package/cloud-runtime/standalone/apps/local/worker/index.js +9 -14
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.pdb +0 -0
- package/lib/cli/daemon.js +13 -2
- package/lib/cli/onboarding.js +5 -6
- package/lib/cli/runCli.js +1 -1
- package/lib/cloud/client.js +1 -1
- package/lib/commands/chat.js +37 -11
- package/lib/commands/daemonBoard.js +19 -13
- package/lib/config/cloudConfig.js +1 -1
- package/lib/orchestrator/httpClient.js +1 -1
- package/lib/prompts/templates.js +8 -9
- package/package.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0-0479y._.js +0 -54
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__088h0r2._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08oj_ky._.js +0 -49
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08y2lkj._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gtv0rq._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gvjvx7._.js +0 -237
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ksbs9p._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0o315az._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0pz~m67._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0q93mk3._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0t2jk2r._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0vhcrdv._.js +0 -229
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__11s20j6._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12xhcor._.js +0 -54
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_01rag2f._.js +0 -49
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_03y4xss._.js +0 -21
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0cm4i3i._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0ijzgnb._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_03q7_.q._.js +0 -21
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0m3e2d~._.js +0 -30
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0r-oiga._.js +0 -30
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_00cwfvi._.js +0 -34
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0hx7xyz._.js +0 -34
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0rqcat4._.js +0 -55
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0sc_lek._.js +0 -79
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_135ddsu._.js +0 -55
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_store_ts_0h.2qy9._.js +0 -43
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +0 -474
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0xxf2a0.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0xd_mxu._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__044xm0q._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__066ay_e._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__09smg3p._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0bf346q._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0hd2vo4._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0iix1sf._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r54zr9._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0s8z2_c._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0wq3ukc._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03-mlx0._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03rf_sb._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_09b42z9._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ag3.tl._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0dh_hx0._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0h8cbsi._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0i1ffhz._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0nlki7b._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ut3k~7._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0vibfch._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_q01av._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0eh.4j7._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0qaowqy._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0s0iy2_._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0zr-_na._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_10qsqky._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.a4-dh~x9sa3.js +0 -6
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.bv3h68wo33z.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/016.x9zt9~rsh.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/027-6dwgpb0cy.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/031720jijg_th.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/03m1xs0rztynh.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/051-7k0nnm-vm.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/07o~9mm~xds_b.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/08zgoptetnxjj.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09-_2lcshmjl5.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09_yj-9nfh48m.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09c7ssmgohk7l.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0awbe2r3qazge.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0dro-bz6f72z0.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gbunx8z.~i4x.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ge81r~ap.u7n.js +0 -28
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ghg5160qeazw.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gl_8hdxl5qnd.js +0 -37
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0g~v8p6_pc46-.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jb4f8425s.-2.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0kukkarp4un0o.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0m.2b-cekea8b.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0o0hwfzwwty4b.js +0 -6
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ov5lu0tz2o2e.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pt8_y9asrg~7.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0wyg4lymaq0hg.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xl~1ux2f~rcu.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y7-eze-w7~b4.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y8e--tok1214.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0yy~0bgsz~o6-.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0~apd0q5_i88z.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/100xrwo-45nrg.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/14h3qxwuo~1q9.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/17oesq5eds3xi.js +0 -1
- /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → RnYHmEXBwXJjVrVVx2CuP}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → RnYHmEXBwXJjVrVVx2CuP}/_clientMiddlewareManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → RnYHmEXBwXJjVrVVx2CuP}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[727726,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(542341),e=a.i(168811),f=a.i(749741),g=a.i(449140),h=a.i(214512),i=a.i(532633);function j({task:a,onClick:c,onStatusChange:d,onApprovalModeChange:e,
|
|
1
|
+
module.exports=[727726,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(542341),e=a.i(168811),f=a.i(749741),g=a.i(449140),h=a.i(214512),i=a.i(532633);function j({task:a,onClick:c,onStatusChange:d,onApprovalModeChange:e,onStageChange:f,stageOptions:k,currentStage:l,dragDisabled:m=!1,allTasks:n,relationship:o="none"}){let{attributes:p,listeners:q,setNodeRef:r,transform:s,transition:t,isDragging:u}=(0,g.useSortable)({id:a.id,disabled:m}),v={transform:h.CSS.Transform.toString(s),transition:t,opacity:u?.5:1,...u?{zIndex:50,position:"relative"}:{}};return(0,b.jsx)("div",{ref:r,...p,...q,style:v,className:`touch-none ${"none"!==o&&"dimmed"!==o?"z-20 relative":""}`,children:(0,b.jsx)(i.default,{task:a,onClick:c,onStatusChange:d,onApprovalModeChange:e,onStageChange:f,stageOptions:k,currentStage:l,allTasks:n,relationship:o})})}function k({task:a}){return(0,b.jsx)("div",{className:"w-full sm:w-80 cursor-grabbing shadow-lg border border-[var(--primary)] rotate-1 scale-[1.02] rounded-lg bg-[var(--card-bg)]",children:(0,b.jsx)(i.default,{task:a})})}let l=["INTAKE","PROGRESS","DONE"],m={INTAKE:{icon:"📥",label:"Intake",color:"var(--warning)"},PROGRESS:{icon:"🔄",label:"Progress",color:"var(--primary)"},DONE:{icon:"✅",label:"Done",color:"var(--success)"}};var n=a.i(529889);function o({tasks:a,onTasksChange:d,onSelectTask:e,onTaskUpdate:h,onAddTask:i,stages:j,stageConfig:q,isValidTransition:r,isCreatingTask:s,creatingStage:t,graphColumnFn:u}){let{isTouchLayout:v}=(0,n.useInputCapabilities)(),w=j||l,x=q||m,y=r||((a,b)=>{if(a===b)return!0;let c=w.indexOf(a),d=w.indexOf(b);return d<c||d===c+1}),[z,A]=(0,c.useState)(null),[B,C]=(0,c.useState)(a),[D,E]=(0,c.useState)(null),[F,G]=(0,c.useState)([]),H=(0,c.useRef)(null),I=(0,c.useRef)(null),J=(0,c.useCallback)(()=>{if(!D||!H.current)return void G([]);let a=[],b=H.current.getBoundingClientRect(),c=document.getElementById(`task-${D}`);if(!c)return;let d=c.getBoundingClientRect();B.forEach(c=>{if(B.find(a=>a.id===D)?.depends_on?.includes(c.id)){let e=document.getElementById(`task-${c.id}`);if(e){let f=e.getBoundingClientRect();a.push({id:`conn-blocking-${c.id}`,from:{x:f.right-b.left,y:f.top+f.height/2-b.top},to:{x:d.left-b.left,y:d.top+d.height/2-b.top},type:"blocking"})}}if(c.depends_on?.includes(D)){let e=document.getElementById(`task-${c.id}`);if(e){let f=e.getBoundingClientRect();a.push({id:`conn-dependent-${c.id}`,from:{x:d.right-b.left,y:d.top+d.height/2-b.top},to:{x:f.left-b.left,y:f.top+f.height/2-b.top},type:"dependent"})}}}),G(a)},[D,B]);(0,c.useEffect)(()=>(J(),window.addEventListener("resize",J),()=>window.removeEventListener("resize",J)),[J]),(0,c.useEffect)(()=>{z||C(a)},[a]);let K={ideation:"INTAKE",intake:"INTAKE",planning:"PROGRESS",coding:"PROGRESS",execution:"PROGRESS",qa:"PROGRESS",acceptance:"PROGRESS",verification:"PROGRESS",pr:"PROGRESS",smoke_test:"PROGRESS",release:"PROGRESS",done:"DONE"},L=a=>{let b="string"==typeof a.stage?a.stage:"",c="string"==typeof a.status?a.status.trim().toLowerCase():"";if(b&&w.includes(b))return b;if("completed"===c)return"DONE";if("in_progress"===c||"blocked"===c||"failed"===c)return"PROGRESS";let d=K[b.trim().toLowerCase()];return d||(u?u(a):"INTAKE")};(0,c.useMemo)(()=>{let a={},b=new Map(B.map(a=>[a.id,a]));for(let c of B)!function c(d,e){if(void 0!==a[d])return a[d];if(e.has(d))return 0;e.add(d);let f=b.get(d);if(!f?.depends_on?.length)return a[d]=0,0;let g=Math.max(...f.depends_on.map(a=>b.has(a)?c(a,e)+1:0));return a[d]=g,g}(c.id,new Set);return a},[B]);let M=(0,c.useMemo)(()=>{let a={},b=new Map(B.map(a=>[a.id,a]));for(let d of w){let e=B.filter(a=>L(a)===d),f=[],g=new Set;function c(a){if(!g.has(a.id)){for(let e of a.depends_on||[]){let a=b.get(e);a&&L(a)===d&&!g.has(e)&&c(a)}g.add(a.id),f.push(a)}}for(let a of e.filter(a=>!a.depends_on?.some(a=>b.has(a)&&L(b.get(a))===d)).sort((a,b)=>(a.priority||0)-(b.priority||0)))c(a);for(let a of e.sort((a,b)=>(a.priority||0)-(b.priority||0)))c(a);a[d]=f}return a},[B,w,u]),N=(0,f.useSensors)((0,f.useSensor)(f.PointerSensor,{activationConstraint:{distance:8}}));async function O(b){let{active:c,over:e}=b;if(A(null),!e)return void C(a);let f=c.id,i=e.id,j=B.find(a=>a.id===f);if(!j)return;let k=a.find(a=>a.id===f),l=L(j),m=j.priority||0;if(w.includes(i)){let a=M[l=i];m=a.length>0?Math.max(...a.map(a=>a.priority||0))+1:0}else{let a=B.find(a=>a.id===i);if(a){l=L(a);let b=B.filter(a=>L(a)===l),c=b.findIndex(a=>a.id===f),e=b.findIndex(a=>a.id===i);if(-1!==c&&-1!==e&&c!==e){let a=(0,g.arrayMove)(b,c,e),f=B.map(b=>{let c=a.findIndex(a=>a.id===b.id);return -1!==c?{...b,priority:c}:b});C(f),d?.(f)}m=a.priority||0}}let n=k?L(k):j.stage||"";if(k&&!y(n||"",l))return void C(a);if(h&&(n!==l||(k?.priority??j.priority)!==m))try{await h(f,{stage:l,priority:m}),d?.(B)}catch(b){console.error("Failed to update task:",b),C(a)}}let P=(0,c.useCallback)(async(b,c)=>{if(!y(L(b)||"",c))return;let e=B.filter(a=>a.id!==b.id&&L(a)===c),f=e.length>0?Math.max(...e.map(a=>a.priority||0))+1:0,g=B.map(a=>a.id===b.id?{...a,stage:c,priority:f}:a);if(C(g),d?.(g),h)try{await h(b.id,{stage:c,priority:f})}catch(b){console.error("Failed to update task:",b),C(a)}},[y,B,h,d,a]);return(0,b.jsxs)(f.DndContext,{sensors:N,collisionDetection:f.closestCorners,onDragStart:function(a){let b=B.find(b=>b.id===a.active.id);b&&A(b)},onDragOver:function(a){let{active:b,over:c}=a;if(!c)return;let d=b.id,e=c.id,f=B.find(a=>a.id===d);if(!f)return;let g=L(f),h=function(a){if(w.includes(a))return a;let b=B.find(b=>b.id===a);return b?L(b):null}(e);if(h&&g!==h){if(!y(g||"",h))return;C(a=>a.map(a=>a.id===d?{...a,stage:h}:a))}},onDragEnd:O,children:[(0,b.jsx)("div",{className:"h-full overflow-hidden relative bg-[var(--background)]",ref:I,onScroll:J,onClick:()=>E(null),children:(0,b.jsxs)("div",{className:"relative min-w-full h-full flex flex-col",ref:H,children:[(0,b.jsxs)("svg",{className:"absolute inset-0 w-full h-full pointer-events-none z-10 hidden xl:block",style:{overflow:"visible"},children:[(0,b.jsx)("style",{children:`
|
|
2
2
|
@keyframes flow {
|
|
3
3
|
from { stroke-dashoffset: 20; }
|
|
4
4
|
to { stroke-dashoffset: 0; }
|
|
@@ -6,11 +6,11 @@ module.exports=[727726,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(54
|
|
|
6
6
|
.conn-path {
|
|
7
7
|
animation: flow 1s linear infinite;
|
|
8
8
|
}
|
|
9
|
-
`}),
|
|
9
|
+
`}),F.map(a=>{let c=a.to.x-a.from.x,d=a.from.x+.3*Math.abs(c)*(c>0?1:-1),e=a.to.x-.3*Math.abs(c)*(c>0?1:-1);return(0,b.jsx)("path",{d:`M ${a.from.x} ${a.from.y} C ${d} ${a.from.y}, ${e} ${a.to.y}, ${a.to.x} ${a.to.y}`,stroke:"blocking"===a.type?"var(--status-blocked, #f43f5e)":"var(--status-in-progress, #3b82f6)",strokeWidth:"2",strokeDasharray:"4 4",fill:"none",strokeOpacity:"0.4",className:"conn-path"},a.id)})]}),(0,b.jsx)("div",{className:"flex flex-col xl:flex-row gap-4 xl:gap-6 pb-4 px-3 xl:px-6 flex-1 min-h-0 items-stretch justify-center pt-2",children:w.map((a,c)=>(0,b.jsx)(p,{stage:a,tasks:M[a]||[],allTasks:B,stages:w,isTouchLayout:v,selectedTaskId:D,setSelectedTaskId:E,onSelectTask:e,onTaskUpdate:h,onStageMove:P,index:c,onAddTask:i,config:x[a]||{icon:"📌",label:a,color:"var(--primary)"},isCreating:!!(s&&t===a)},a))})]})}),(0,b.jsx)(f.DragOverlay,{dropAnimation:{duration:200,easing:"cubic-bezier(0.18, 0.67, 0.6, 1.22)"},children:z?(0,b.jsx)(k,{task:z}):null})]})}function p({stage:a,tasks:c,allTasks:d,stages:e,isTouchLayout:g,selectedTaskId:h,setSelectedTaskId:i,onSelectTask:j,onTaskUpdate:k,onStageMove:l,index:m,onAddTask:n,config:o,isCreating:r=!1}){let{setNodeRef:s,isOver:t}=(0,f.useDroppable)({id:a});return(0,b.jsxs)("div",{ref:s,id:a,"data-testid":a,className:`
|
|
10
10
|
w-full xl:flex-shrink-0 xl:w-80 flex flex-col min-h-0
|
|
11
11
|
bg-[var(--muted)]/40 rounded-2xl border border-[var(--border)]/50 shadow-inner overflow-hidden
|
|
12
12
|
transition-all duration-200
|
|
13
|
-
${
|
|
14
|
-
`,style:{animationDelay:`${50*j}ms`},children:[(0,b.jsxs)("div",{className:"p-4 flex items-center justify-between bg-[var(--card-bg)]/30 backdrop-blur-sm border-b border-[var(--border)]/20",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("span",{className:"text-lg",children:l.icon}),(0,b.jsx)("h3",{className:"font-bold text-[11px] uppercase tracking-widest text-[var(--muted-foreground)]",children:l.label})]}),(0,b.jsx)("span",{className:"text-[10px] font-bold text-[var(--muted-foreground)] bg-[var(--card-bg)] px-2 py-0.5 rounded-full border border-[var(--border)]",children:c.length})]}),(0,b.jsx)(p,{stage:a,tasks:c,allTasks:d,selectedTaskId:e,setSelectedTaskId:g,onSelectTask:h,onTaskUpdate:i,config:l,onAddTask:k,isCreating:m})]})}function p({stage:a,tasks:d,allTasks:e,selectedTaskId:f,setSelectedTaskId:h,onSelectTask:i,onTaskUpdate:k,config:l,onAddTask:m,isCreating:n}){let o=(0,c.useMemo)(()=>d.map(a=>a.id),[d]),[q,r]=(0,c.useState)(!1),[s,t]=(0,c.useState)(""),u=(0,c.useRef)(null),v=()=>{let b=s.trim();b&&m&&m(b,a),r(!1),t("")},w=()=>{r(!1),t("")};return(0,b.jsx)(g.SortableContext,{items:o,strategy:g.verticalListSortingStrategy,children:(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto scrollbar-thin px-3 py-3 space-y-2",children:[m&&!q&&(0,b.jsx)("button",{onClick:a=>{a.stopPropagation(),r(!0),t(""),setTimeout(()=>u.current?.focus(),0)},disabled:n,className:"w-full py-2.5 rounded-xl border border-dashed border-[var(--border)] text-[var(--muted-foreground)] text-[10px] font-bold uppercase tracking-widest hover:bg-[var(--card-bg)] hover:border-indigo-200 hover:text-indigo-400 transition-all flex items-center justify-center gap-2 mb-1",children:n?(0,b.jsx)("span",{className:"spinner w-3 h-3 border-2 border-[var(--border)] border-t-indigo-400 rounded-full"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,b.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]}),"Add Task"]})}),q&&(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] border-2 border-indigo-400 rounded-xl p-3 shadow-lg shadow-indigo-50 mb-1",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)("input",{ref:u,type:"text",value:s,onChange:a=>t(a.target.value),onKeyDown:a=>{"Enter"===a.key&&v(),"Escape"===a.key&&w()},onBlur:()=>{s.trim()?v():w()},placeholder:"Task title...",className:"w-full text-sm font-medium text-[var(--foreground)] bg-transparent outline-none placeholder:text-[var(--muted-foreground)]"}),(0,b.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] mt-1",children:"Press Enter to create · Esc to cancel"})]}),d.map(a=>{let c=(a=>{if(!f)return"none";if(a.id===f)return"active";let b=e.find(a=>a.id===f);return b?.depends_on?.includes(a.id)?"blocking":a.depends_on?.includes(f)?"dependent":"dimmed"})(a);return(0,b.jsx)("div",{id:`task-${a.id}`,onClick:b=>{b.stopPropagation(),h(a.id===f?null:a.id),i?.(a)},children:(0,b.jsx)(j,{task:a,onClick:()=>i?.(a),onStatusChange:k?b=>k(a.id,{status:b}):void 0,onApprovalModeChange:k?b=>k(a.id,{approval_mode:b}):void 0,allTasks:e,relationship:c})},a.id)}),0===d.length&&!q&&(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 opacity-10",children:[(0,b.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"mb-1",children:[(0,b.jsx)("line",{x1:"8",y1:"6",x2:"21",y2:"6"}),(0,b.jsx)("line",{x1:"8",y1:"12",x2:"21",y2:"12"}),(0,b.jsx)("line",{x1:"8",y1:"18",x2:"21",y2:"18"}),(0,b.jsx)("line",{x1:"3",y1:"6",x2:"3.01",y2:"6"}),(0,b.jsx)("line",{x1:"3",y1:"12",x2:"3.01",y2:"12"}),(0,b.jsx)("line",{x1:"3",y1:"18",x2:"3.01",y2:"18"})]}),(0,b.jsx)("p",{className:"text-[10px] font-bold uppercase tracking-widest",children:"Available"})]})]})})}var q=a.i(639211);function r(a,b,c){return Math.min(Math.max(a,b),c)}function s(a,b,c){let d=Math.max(b,1424),e=Math.max(c,884),f=r(a.width,b,d),g=r(a.height,c,e);return{x:r(a.x,8,Math.max(8,1440-f-8)),y:r(a.y,8,Math.max(8,900-g-8)),width:f,height:g}}function t({panelId:a,titleBar:d,children:e,defaultBounds:f,minWidth:g=320,minHeight:h=220,className:i,bodyClassName:j}){let k=(0,c.useRef)(null),l=(0,c.useRef)(null),m=(0,c.useMemo)(()=>s({}[a]??null??f,g,h),[f,h,g,a]),[n,o]=(0,c.useState)(m),[p,q]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{o(s({}[a]??null??f,g,h)),q(!0)},[f,h,g,a]),(0,c.useEffect)(()=>{if(p);},[n,p,a]),(0,c.useEffect)(()=>{let a=()=>{o(a=>s(a,g,h))};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[h,g]),(0,c.useEffect)(()=>{let a=a=>{k.current?o(s({...n,x:k.current.originX+(a.clientX-k.current.startX),y:k.current.originY+(a.clientY-k.current.startY)},g,h)):l.current&&o(s({...n,width:l.current.originWidth+(a.clientX-l.current.startX),height:l.current.originHeight+(a.clientY-l.current.startY)},g,h))},b=()=>{k.current=null,l.current=null,document.body.style.userSelect="",document.body.style.cursor=""};return window.addEventListener("mousemove",a),window.addEventListener("mouseup",b),()=>{window.removeEventListener("mousemove",a),window.removeEventListener("mouseup",b),document.body.style.userSelect="",document.body.style.cursor=""}},[n,h,g]),(0,b.jsx)("div",{className:i,style:{position:"fixed",left:n.x,top:n.y,width:n.width,height:n.height,zIndex:40},children:(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] shadow-2xl backdrop-blur-md",children:[(0,b.jsx)("div",{onMouseDown:a=>{let b=a.target;b?.closest("button, a, input, textarea, select, [data-no-panel-drag='true']")||(k.current={startX:a.clientX,startY:a.clientY,originX:n.x,originY:n.y},document.body.style.userSelect="none",document.body.style.cursor="grabbing")},className:"cursor-grab active:cursor-grabbing border-b border-[var(--border)] bg-[var(--card-bg)]/95",children:d}),(0,b.jsx)("div",{className:j,children:e}),(0,b.jsx)("div",{onMouseDown:a=>{a.preventDefault(),a.stopPropagation(),l.current={startX:a.clientX,startY:a.clientY,originWidth:n.width,originHeight:n.height},document.body.style.userSelect="none",document.body.style.cursor="nwse-resize"},className:"absolute bottom-0 right-0 h-5 w-5 cursor-nwse-resize","aria-hidden":"true",children:(0,b.jsx)("div",{className:"absolute bottom-1.5 right-1.5 h-2.5 w-2.5 rounded-sm border-r-2 border-b-2 border-[var(--muted-foreground)]/50"})})]})})}let u=Number(process.env.NEXT_PUBLIC_AGX_MAX_WORKERS)||10;function v({tasks:a,processes:d=[],onTaskClick:e,onStop:f,onRetry:g,cancellingTaskId:h,panelId:i="now-running-panel"}){let j=(0,c.useMemo)(()=>d.filter(a=>"spawning"===a.state||"running"===a.state),[d]),k=(0,c.useMemo)(()=>a.filter(a=>"in_progress"===a.status),[a]),[l,m]=(0,c.useState)({});(0,c.useEffect)(()=>{let a=()=>{let a={};k.forEach(b=>{let c=new Date(b.updated_at).getTime(),d=Math.floor((Date.now()-c)/6e4);d<1?a[b.id]="< 1m":d<60?a[b.id]=`${d}m`:a[b.id]=`${Math.floor(d/60)}h`}),m(a)};a();let b=setInterval(a,q.UI_POLL_TASK_DURATION_MS);return()=>clearInterval(b)},[k]);let n=k.length/u,o=n>=.8,p=k.length>=u;return 0===k.length?null:(0,b.jsx)(t,{panelId:i,defaultBounds:{x:24,y:120,width:720,height:248},minWidth:420,minHeight:180,className:"animate-fade-in-down",bodyClassName:"flex-1 overflow-auto",titleBar:(0,b.jsxs)("div",{className:"flex items-center gap-4 p-3 sm:p-4 flex-wrap sm:flex-nowrap sm:min-w-max",children:[(0,b.jsxs)("div",{className:"flex flex-col justify-center pr-4 border-r border-[var(--border)]",children:[(0,b.jsxs)("h3",{className:"text-sm font-bold text-[var(--foreground)] whitespace-nowrap flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"}),(0,b.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-green-500"})]}),"Now Running"]}),(0,b.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] uppercase tracking-wider font-semibold",children:[k.length," Active",j.length>0?` \xb7 ${j.length} process${j.length>1?"es":""}`:""]})]}),(0,b.jsxs)("div",{className:"hidden sm:flex flex-col justify-center pr-4 border-r border-[var(--border)] gap-1",title:`${k.length} of ${u} max workers in use. Single-writer SQLite architecture — see docs/LIMITS.md`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("span",{className:`text-[10px] font-semibold uppercase tracking-wider ${p?"text-red-400":o?"text-amber-400":"text-[var(--muted-foreground)]"}`,children:[k.length,"/",u," workers"]}),o&&(0,b.jsxs)("svg",{className:`w-3 h-3 ${p?"text-red-400":"text-amber-400"}`,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),(0,b.jsx)("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),(0,b.jsx)("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]})]}),(0,b.jsx)("div",{className:"w-16 h-1.5 bg-[var(--muted)] rounded-full overflow-hidden",children:(0,b.jsx)("div",{className:`h-full rounded-full transition-all ${p?"bg-red-400":o?"bg-amber-400":"bg-[var(--primary)]"}`,style:{width:`${Math.min(100*n,100)}%`}})})]})]}),children:(0,b.jsx)("div",{className:"max-w-full overflow-x-auto no-scrollbar p-3 sm:p-4",children:(0,b.jsx)("div",{className:"flex items-center gap-3 flex-wrap",children:k.map(a=>{let c=a.id===h;return(0,b.jsxs)("div",{onClick:()=>e?.(a),className:"group flex items-center gap-3 pl-3 pr-2 py-2 bg-[var(--background)] border border-[var(--border)] rounded-lg hover:border-[var(--primary)] transition-all cursor-pointer shadow-sm hover:shadow-md min-w-0 w-full sm:min-w-[280px] sm:w-auto",children:[(0,b.jsx)("div",{className:"w-6 h-6 sm:w-8 sm:h-8 rounded-full bg-[var(--muted)] flex items-center justify-center text-[10px] sm:text-xs font-bold border border-[var(--border)] shrink-0",children:a.provider?a.provider.substring(0,2).toUpperCase():"AG"}),(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between text-xs mb-0.5",children:[(0,b.jsxs)("span",{className:"font-semibold text-[var(--foreground)] truncate max-w-[120px]",children:[a.provider||"Agent"," ",a.model?`• ${a.model}`:""]}),(0,b.jsx)("span",{className:"font-mono text-[var(--muted-foreground)]",children:l[a.id]||"0m"})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] truncate max-w-[140px]",children:a.title||a.content.substring(0,30)}),(0,b.jsx)("div",{className:"w-12 h-1 bg-[var(--muted)] rounded-full overflow-hidden",children:(0,b.jsx)("div",{className:"h-full bg-[var(--primary)] animate-pulse rounded-full",style:{width:`${40*Math.random()+30}%`}})})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity pl-2 border-l border-[var(--border)]",children:[(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),c||f?.(a.id)},disabled:c,className:`p-1 rounded transition-all ${c?"cursor-wait text-[var(--destructive)]/80 opacity-80":"hover:bg-[var(--destructive)]/10 text-[var(--muted-foreground)] hover:text-[var(--destructive)]"}`,title:c?"Stopping...":"Stop Task","data-no-panel-drag":"true",children:c?(0,b.jsx)("span",{className:"inline-flex h-3 w-3 rounded-full border border-[var(--destructive)] border-t-transparent animate-spin"}):(0,b.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,b.jsx)("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}),(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),g?.(a.id)},className:"p-1 hover:bg-[var(--primary)]/10 text-[var(--muted-foreground)] hover:text-[var(--primary)] rounded",title:"Retry / Restart","data-no-panel-drag":"true",children:(0,b.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,b.jsx)("path",{d:"M3 3v5h5"}),(0,b.jsx)("path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"}),(0,b.jsx)("path",{d:"M16 21h5v-5"})]})})]})]},a.id)})})})})}var w=a.i(207588);a.s(["default",0,function(){let{tasks:a,isLoading:f,updateTask:g,deleteTask:h,completeTaskStage:i,cancelWorkflow:j,refetch:k,cancellingTaskId:o}=(0,w.useTasks)({realtime:!0,orphan:!0}),{workflow:p,stages:q,stageConfig:r,isValidTransition:s,isLoading:t}={workflow:null,stages:(0,c.useMemo)(()=>[...l],[]),stageConfig:m,transitions:[],isLoading:!1,error:null,refetch:()=>{},isValidTransition:(0,c.useCallback)((a,b)=>{if(a===b)return!0;let c=l.indexOf(a),d=l.indexOf(b);return d<c||d===c+1},[])},[u,x]=(0,c.useState)(""),y=(0,c.useMemo)(()=>{if(!u.trim())return a;let b=u.toLowerCase();return a.filter(a=>(a.title||"").toLowerCase().includes(b)||(a.content||"").toLowerCase().includes(b))},[a,u]),z=(0,c.useCallback)(async a=>{},[]);return f||t?(0,b.jsx)(e.default,{children:(0,b.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading orphan tasks..."})]})})}):(0,b.jsx)(e.default,{children:(0,b.jsxs)("div",{className:"h-full flex flex-col p-4",children:[(0,b.jsxs)("div",{className:"flex-shrink-0 mb-4 space-y-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-bold",children:"Orphan Tasks"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Tasks without a project assignment. Open a task to attach it to a project."})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(d.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--muted-foreground)]"}),(0,b.jsx)("input",{type:"text",placeholder:"Search orphan tasks",value:u,onChange:a=>x(a.target.value),className:"w-full pl-9 pr-4 py-2 bg-[var(--card-bg)] border border-[var(--border)] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-[var(--primary)] focus:border-transparent transition-all"})]}),(0,b.jsx)(v,{tasks:y,onTaskClick:()=>{},onStop:async a=>{await j({taskId:a}),await k()},onRetry:async a=>{await i({taskId:a,decision:"not_done",final_result:"Manual retry requested.",explanation:"Manual retry requested."})},cancellingTaskId:o,panelId:"now-running:orphans"})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,b.jsx)(n,{tasks:y,onSelectTask:z,onTasksChange:()=>{},onTaskUpdate:async(a,b)=>{await g(a,b)},stages:q,stageConfig:r,isValidTransition:s})})]})})}],727726)}];
|
|
13
|
+
${t?"ring-2 ring-[var(--primary)] ring-opacity-30 bg-[var(--primary-muted)]/10":""}
|
|
14
|
+
`,style:{animationDelay:`${50*m}ms`},children:[(0,b.jsxs)("div",{className:"p-4 flex items-center justify-between bg-[var(--card-bg)]/30 backdrop-blur-sm border-b border-[var(--border)]/20",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("span",{className:"text-lg",children:o.icon}),(0,b.jsx)("h3",{className:"font-bold text-[11px] uppercase tracking-widest text-[var(--muted-foreground)]",children:o.label})]}),(0,b.jsx)("span",{className:"text-[10px] font-bold text-[var(--muted-foreground)] bg-[var(--card-bg)] px-2 py-0.5 rounded-full border border-[var(--border)]",children:c.length})]}),(0,b.jsx)(q,{stage:a,tasks:c,allTasks:d,stages:e,isTouchLayout:g,selectedTaskId:h,setSelectedTaskId:i,onSelectTask:j,onTaskUpdate:k,onStageMove:l,config:o,onAddTask:n,isCreating:r})]})}function q({stage:a,tasks:d,allTasks:e,stages:f,isTouchLayout:h,selectedTaskId:i,setSelectedTaskId:k,onSelectTask:l,onTaskUpdate:m,onStageMove:n,config:o,onAddTask:p,isCreating:r}){let s=(0,c.useMemo)(()=>d.map(a=>a.id),[d]),[t,u]=(0,c.useState)(!1),[v,w]=(0,c.useState)(""),x=(0,c.useRef)(null),y=()=>{let b=v.trim();b&&p&&p(b,a),u(!1),w("")},z=()=>{u(!1),w("")};return(0,b.jsx)(g.SortableContext,{items:s,strategy:g.verticalListSortingStrategy,children:(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto scrollbar-thin px-3 py-3 space-y-2",children:[p&&!t&&(0,b.jsx)("button",{onClick:a=>{a.stopPropagation(),u(!0),w(""),setTimeout(()=>x.current?.focus(),0)},disabled:r,className:"w-full py-2.5 rounded-xl border border-dashed border-[var(--border)] text-[var(--muted-foreground)] text-[10px] font-bold uppercase tracking-widest hover:bg-[var(--card-bg)] hover:border-indigo-200 hover:text-indigo-400 transition-all flex items-center justify-center gap-2 mb-1",children:r?(0,b.jsx)("span",{className:"spinner w-3 h-3 border-2 border-[var(--border)] border-t-indigo-400 rounded-full"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),(0,b.jsx)("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]}),"Add Task"]})}),t&&(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] border-2 border-indigo-400 rounded-xl p-3 shadow-lg shadow-indigo-50 mb-1",onClick:a=>a.stopPropagation(),children:[(0,b.jsx)("input",{ref:x,type:"text",value:v,onChange:a=>w(a.target.value),onKeyDown:a=>{"Enter"===a.key&&y(),"Escape"===a.key&&z()},onBlur:()=>{v.trim()?y():z()},placeholder:"Task title...",className:"w-full text-sm font-medium text-[var(--foreground)] bg-transparent outline-none placeholder:text-[var(--muted-foreground)]"}),(0,b.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] mt-1",children:"Press Enter to create · Esc to cancel"})]}),d.map(c=>{let d=(a=>{if(!i)return"none";if(a.id===i)return"active";let b=e.find(a=>a.id===i);return b?.depends_on?.includes(a.id)?"blocking":a.depends_on?.includes(i)?"dependent":"dimmed"})(c);return(0,b.jsx)("div",{id:`task-${c.id}`,onClick:a=>{a.stopPropagation(),k(c.id===i?null:c.id),l?.(c)},children:(0,b.jsx)(j,{task:c,onClick:()=>l?.(c),onStatusChange:m?a=>m(c.id,{status:a}):void 0,onApprovalModeChange:m?a=>m(c.id,{approval_mode:a}):void 0,onStageChange:h&&n?a=>{a&&n(c,a)}:void 0,stageOptions:h?f:void 0,currentStage:a,dragDisabled:h,allTasks:e,relationship:d})},c.id)}),0===d.length&&!t&&(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 opacity-10",children:[(0,b.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"mb-1",children:[(0,b.jsx)("line",{x1:"8",y1:"6",x2:"21",y2:"6"}),(0,b.jsx)("line",{x1:"8",y1:"12",x2:"21",y2:"12"}),(0,b.jsx)("line",{x1:"8",y1:"18",x2:"21",y2:"18"}),(0,b.jsx)("line",{x1:"3",y1:"6",x2:"3.01",y2:"6"}),(0,b.jsx)("line",{x1:"3",y1:"12",x2:"3.01",y2:"12"}),(0,b.jsx)("line",{x1:"3",y1:"18",x2:"3.01",y2:"18"})]}),(0,b.jsx)("p",{className:"text-[10px] font-bold uppercase tracking-widest",children:"Available"})]})]})})}var r=a.i(639211);function s(a,b,c){return Math.min(Math.max(a,b),c)}function t(a,b,c){let d=Math.max(b,1424),e=Math.max(c,884),f=s(a.width,b,d),g=s(a.height,c,e);return{x:s(a.x,8,Math.max(8,1440-f-8)),y:s(a.y,8,Math.max(8,900-g-8)),width:f,height:g}}function u({panelId:a,titleBar:d,children:e,defaultBounds:f,minWidth:g=320,minHeight:h=220,className:i,bodyClassName:j}){let{isTouchLayout:k}=(0,n.useInputCapabilities)(),l=(0,c.useRef)(null),m=(0,c.useRef)(null),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=(0,c.useMemo)(()=>t({}[a]??null??f,g,h),[f,h,g,a]),[r,s]=(0,c.useState)(q),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(!1);return p.current=r,(0,c.useEffect)(()=>{s(t({}[a]??null??f,g,h)),w(!0)},[f,h,g,a]),(0,c.useEffect)(()=>{if(v);},[r,v,a]),(0,c.useEffect)(()=>{if(k)return;let a=()=>{s(a=>t(a,g,h))};return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[k,h,g]),(0,c.useEffect)(()=>{if(k||!x)return;let a=a=>{let b=o.current;b&&(b.style.left=`${a.x}px`,b.style.top=`${a.y}px`,b.style.width=`${a.width}px`,b.style.height=`${a.height}px`)},b=b=>{if(l.current){let c=t({...p.current,x:l.current.originX+(b.clientX-l.current.startX),y:l.current.originY+(b.clientY-l.current.startY)},g,h);p.current=c,a(c);return}if(m.current){let c=t({...p.current,width:m.current.originWidth+(b.clientX-m.current.startX),height:m.current.originHeight+(b.clientY-m.current.startY)},g,h);p.current=c,a(c)}},c=()=>{p.current&&s(p.current),l.current=null,m.current=null,document.body.style.userSelect="",document.body.style.cursor="",y(!1)};return window.addEventListener("mousemove",b),window.addEventListener("mouseup",c),()=>{window.removeEventListener("mousemove",b),window.removeEventListener("mouseup",c),document.body.style.userSelect="",document.body.style.cursor=""}},[x,k,h,g]),(0,b.jsx)("div",{ref:o,className:i,style:{position:"fixed",left:k?"50%":r.x,right:k?"auto":void 0,top:k?"max(16px, 8vh)":r.y,width:k?`min(${Math.max(r.width,g)}px, calc(100vw - 32px))`:r.width,height:k?`min(${Math.max(r.height,h)}px, calc(100vh - 48px))`:r.height,transform:k?"translateX(-50%)":void 0,zIndex:40},children:(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] shadow-2xl backdrop-blur-md",children:[(0,b.jsx)("div",{onMouseDown:a=>{if(k)return;let b=a.target;b?.closest("button, a, input, textarea, select, [data-no-panel-drag='true']")||(l.current={startX:a.clientX,startY:a.clientY,originX:r.x,originY:r.y},document.body.style.userSelect="none",document.body.style.cursor="grabbing",y(!0))},className:`${k?"cursor-default":"cursor-grab active:cursor-grabbing"} border-b border-[var(--border)] bg-[var(--card-bg)]/95`,children:d}),(0,b.jsx)("div",{className:j,children:e}),k?null:(0,b.jsx)("div",{onMouseDown:a=>{k||(a.preventDefault(),a.stopPropagation(),m.current={startX:a.clientX,startY:a.clientY,originWidth:r.width,originHeight:r.height},document.body.style.userSelect="none",document.body.style.cursor="nwse-resize",y(!0))},className:"absolute bottom-0 right-0 h-5 w-5 cursor-nwse-resize","aria-hidden":"true",children:(0,b.jsx)("div",{className:"absolute bottom-1.5 right-1.5 h-2.5 w-2.5 rounded-sm border-r-2 border-b-2 border-[var(--muted-foreground)]/50"})})]})})}let v=Number(process.env.NEXT_PUBLIC_AGX_MAX_WORKERS)||10;function w({tasks:a,processes:d=[],onTaskClick:e,onStop:f,onRetry:g,cancellingTaskId:h,panelId:i="now-running-panel"}){let{isTouchLayout:j}=(0,n.useInputCapabilities)(),k=(0,c.useMemo)(()=>d.filter(a=>"spawning"===a.state||"running"===a.state),[d]),l=(0,c.useMemo)(()=>a.filter(a=>"in_progress"===a.status),[a]),[m,o]=(0,c.useState)({});(0,c.useEffect)(()=>{let a=()=>{let a={};l.forEach(b=>{let c=new Date(b.updated_at).getTime(),d=Math.floor((Date.now()-c)/6e4);d<1?a[b.id]="< 1m":d<60?a[b.id]=`${d}m`:a[b.id]=`${Math.floor(d/60)}h`}),o(a)};a();let b=setInterval(a,r.UI_POLL_TASK_DURATION_MS);return()=>clearInterval(b)},[l]);let p=l.length/v,q=p>=.8,s=l.length>=v;return 0===l.length?null:(0,b.jsx)(u,{panelId:i,defaultBounds:{x:24,y:120,width:720,height:248},minWidth:420,minHeight:180,className:"animate-fade-in-down",bodyClassName:"flex-1 overflow-auto",titleBar:(0,b.jsxs)("div",{className:"flex items-center gap-4 p-3 sm:p-4 flex-wrap sm:flex-nowrap sm:min-w-max",children:[(0,b.jsxs)("div",{className:"flex flex-col justify-center pr-4 border-r border-[var(--border)]",children:[(0,b.jsxs)("h3",{className:"text-sm font-bold text-[var(--foreground)] whitespace-nowrap flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"}),(0,b.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-green-500"})]}),"Now Running"]}),(0,b.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] uppercase tracking-wider font-semibold",children:[l.length," Active",k.length>0?` \xb7 ${k.length} process${k.length>1?"es":""}`:""]})]}),(0,b.jsxs)("div",{className:"hidden sm:flex flex-col justify-center pr-4 border-r border-[var(--border)] gap-1",title:`${l.length} of ${v} max workers in use. Single-writer SQLite architecture — see docs/LIMITS.md`,children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("span",{className:`text-[10px] font-semibold uppercase tracking-wider ${s?"text-red-400":q?"text-amber-400":"text-[var(--muted-foreground)]"}`,children:[l.length,"/",v," workers"]}),q&&(0,b.jsxs)("svg",{className:`w-3 h-3 ${s?"text-red-400":"text-amber-400"}`,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),(0,b.jsx)("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),(0,b.jsx)("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]})]}),(0,b.jsx)("div",{className:"w-16 h-1.5 bg-[var(--muted)] rounded-full overflow-hidden",children:(0,b.jsx)("div",{className:`h-full rounded-full transition-all ${s?"bg-red-400":q?"bg-amber-400":"bg-[var(--primary)]"}`,style:{width:`${Math.min(100*p,100)}%`}})})]})]}),children:(0,b.jsx)("div",{className:"max-w-full overflow-x-auto no-scrollbar p-3 sm:p-4",children:(0,b.jsx)("div",{className:"flex items-center gap-3 flex-wrap",children:l.map(a=>{let c=a.id===h;return(0,b.jsxs)("div",{onClick:()=>e?.(a),className:"group flex items-center gap-3 pl-3 pr-2 py-2 bg-[var(--background)] border border-[var(--border)] rounded-lg hover:border-[var(--primary)] transition-all cursor-pointer shadow-sm hover:shadow-md min-w-0 w-full sm:min-w-[280px] sm:w-auto",children:[(0,b.jsx)("div",{className:"w-6 h-6 sm:w-8 sm:h-8 rounded-full bg-[var(--muted)] flex items-center justify-center text-[10px] sm:text-xs font-bold border border-[var(--border)] shrink-0",children:a.provider?a.provider.substring(0,2).toUpperCase():"AG"}),(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between text-xs mb-0.5",children:[(0,b.jsxs)("span",{className:"font-semibold text-[var(--foreground)] truncate max-w-[120px]",children:[a.provider||"Agent"," ",a.model?`• ${a.model}`:""]}),(0,b.jsx)("span",{className:"font-mono text-[var(--muted-foreground)]",children:m[a.id]||"0m"})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] truncate max-w-[140px]",children:a.title||a.content.substring(0,30)}),(0,b.jsx)("div",{className:"w-12 h-1 bg-[var(--muted)] rounded-full overflow-hidden",children:(0,b.jsx)("div",{className:"h-full bg-[var(--primary)] animate-pulse rounded-full",style:{width:`${40*Math.random()+30}%`}})})]})]}),(0,b.jsxs)("div",{className:`flex items-center gap-1 pl-2 border-l border-[var(--border)] transition-opacity ${j?"opacity-100":"opacity-0 group-hover:opacity-100"}`,children:[(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),c||f?.(a.id)},disabled:c,className:`p-1 rounded transition-all ${c?"cursor-wait text-[var(--destructive)]/80 opacity-80":"hover:bg-[var(--destructive)]/10 text-[var(--muted-foreground)] hover:text-[var(--destructive)]"}`,title:c?"Stopping...":"Stop Task","data-no-panel-drag":"true",children:c?(0,b.jsx)("span",{className:"inline-flex h-3 w-3 rounded-full border border-[var(--destructive)] border-t-transparent animate-spin"}):(0,b.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:(0,b.jsx)("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}),(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),g?.(a.id)},className:"p-1 hover:bg-[var(--primary)]/10 text-[var(--muted-foreground)] hover:text-[var(--primary)] rounded",title:"Retry / Restart","data-no-panel-drag":"true",children:(0,b.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,b.jsx)("path",{d:"M3 3v5h5"}),(0,b.jsx)("path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"}),(0,b.jsx)("path",{d:"M16 21h5v-5"})]})})]})]},a.id)})})})})}var x=a.i(207588);a.s(["default",0,function(){let{tasks:a,isLoading:f,updateTask:g,deleteTask:h,completeTaskStage:i,cancelWorkflow:j,refetch:k,cancellingTaskId:n}=(0,x.useTasks)({realtime:!0,orphan:!0}),{workflow:p,stages:q,stageConfig:r,isValidTransition:s,isLoading:t}={workflow:null,stages:(0,c.useMemo)(()=>[...l],[]),stageConfig:m,transitions:[],isLoading:!1,error:null,refetch:()=>{},isValidTransition:(0,c.useCallback)((a,b)=>{if(a===b)return!0;let c=l.indexOf(a),d=l.indexOf(b);return d<c||d===c+1},[])},[u,v]=(0,c.useState)(""),y=(0,c.useMemo)(()=>{if(!u.trim())return a;let b=u.toLowerCase();return a.filter(a=>(a.title||"").toLowerCase().includes(b)||(a.content||"").toLowerCase().includes(b))},[a,u]),z=(0,c.useCallback)(async a=>{},[]);return f||t?(0,b.jsx)(e.default,{children:(0,b.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading orphan tasks..."})]})})}):(0,b.jsx)(e.default,{children:(0,b.jsxs)("div",{className:"h-full flex flex-col p-4",children:[(0,b.jsxs)("div",{className:"flex-shrink-0 mb-4 space-y-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-bold",children:"Orphan Tasks"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Tasks without a project assignment. Open a task to attach it to a project."})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(d.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--muted-foreground)]"}),(0,b.jsx)("input",{type:"text",placeholder:"Search orphan tasks",value:u,onChange:a=>v(a.target.value),className:"w-full pl-9 pr-4 py-2 bg-[var(--card-bg)] border border-[var(--border)] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-[var(--primary)] focus:border-transparent transition-all"})]}),(0,b.jsx)(w,{tasks:y,onTaskClick:()=>{},onStop:async a=>{await j({taskId:a}),await k()},onRetry:async a=>{await i({taskId:a,decision:"not_done",final_result:"Manual retry requested.",explanation:"Manual retry requested."})},cancellingTaskId:n,panelId:"now-running:orphans"})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,b.jsx)(o,{tasks:y,onSelectTask:z,onTasksChange:()=>{},onTaskUpdate:async(a,b)=>{await g(a,b)},stages:q,stageConfig:r,isValidTransition:s})})]})})}],727726)}];
|
|
15
15
|
|
|
16
16
|
//# sourceMappingURL=apps_local_app_projects_orphans_page_tsx_0sdv.11._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[514760,a=>{"use strict";var b=a.i(187924),c=a.i(572131);function d(a){return null===a.installed?"checking":a.installed?!a.authenticated&&a.authCmd?"needs-auth":"ready":"not-installed"}let e=[{id:"claude",label:"Claude Code",bin:"claude",description:"Recommended for the fastest AGX setup.",installCmd:"npm install -g @anthropic-ai/claude-code",docsUrl:"https://docs.anthropic.com/en/docs/claude-code/quickstart",recommended:!0,statusLabel:"Installed",authCheck:{cmd:'claude -p "say yes" 2>/dev/null',timeout:15e3},authCmd:{cmd:"claude",description:"Opens browser for Anthropic login"}},{id:"codex",label:"Codex",bin:"codex",description:"OpenAI's terminal coding agent.",installCmd:"npm install -g @openai/codex",docsUrl:"https://github.com/openai/codex",statusLabel:"Installed",authCheck:{cmd:"codex --version 2>/dev/null",timeout:5e3},authCmd:{cmd:"codex login --device-auth",description:"Device auth flow for OpenAI"}},{id:"gemini",label:"Gemini CLI",bin:"gemini",description:"Google's CLI for Gemini workflows.",installCmd:"npm install -g @google/gemini-cli",docsUrl:"https://github.com/google-gemini/gemini-cli",statusLabel:"Installed",authCheck:{cmd:'echo "hi" | gemini 2>/dev/null',timeout:15e3},authCmd:{cmd:"gemini",description:"Opens browser for Google login"}},{id:"ollama",label:"Ollama",bin:"ollama",description:"Run local models on your machine.",installCmd:"curl -fsSL https://ollama.com/install.sh | sh",docsUrl:"https://ollama.com/download",statusLabel:"Installed",authCheck:{cmd:"ollama list 2>/dev/null",timeout:5e3}},{id:"zai",label:"Z.AI",bin:"claude",description:"Use the Claude CLI with your Z.AI API key.",installCmd:"npm install -g @anthropic-ai/claude-code",docsUrl:"https://z.ai/",installNote:"Requires Claude Code plus a configured Z.AI API key.",statusLabel:"Via Claude CLI",authCheck:{cmd:'test -n "$ANTHROPIC_API_KEY"',timeout:5e3},authCmd:{cmd:"export ANTHROPIC_API_KEY=<your-key>",description:"Set your Z.AI API key"}}].map(a=>({id:a.id,name:a.label,description:a.description,installCmd:a.installCmd,docsUrl:a.docsUrl,installNote:a.installNote,recommended:a.recommended,authCmd:a.authCmd}));var f=a.i(50944),g=a.i(627421),h=a.i(70887),i=a.i(804632),j=a.i(811760),k=a.i(379065),l=a.i(356239),m=a.i(349692);function n({currentStep:a,totalSteps:c}){return(0,b.jsx)("div",{className:"flex items-center gap-0",role:"progressbar","aria-valuenow":a,"aria-valuemin":1,"aria-valuemax":c,"aria-label":`Step ${a} of ${c}`,children:Array.from({length:c},(c,d)=>{let e=d+1,f=e===a,g=e<a;return(0,b.jsxs)("div",{className:"flex items-center",children:[d>0&&(0,b.jsx)("div",{className:`w-8 h-[2px] ${g?"bg-[var(--foreground)]":"bg-[var(--border)]"}`}),(0,b.jsx)("div",{className:`w-2.5 h-2.5 rounded-full transition-colors ${f?"bg-[var(--foreground)] ring-4 ring-[var(--foreground)]/10":g?"bg-[var(--foreground)]":"bg-[var(--border)]"}`})]},e)})})}function o({currentStep:a,totalSteps:c,children:d,footer:e}){return(0,b.jsxs)("div",{className:"h-screen w-full flex flex-col bg-[var(--background)]",children:[(0,b.jsx)("div",{className:"flex items-center justify-center pt-8 pb-4",children:(0,b.jsx)(n,{currentStep:a,totalSteps:c})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-4",children:(0,b.jsx)("div",{className:"max-w-2xl mx-auto w-full py-6",children:d})}),e&&(0,b.jsx)("div",{className:"border-t border-[var(--border)] bg-[var(--background)] px-4 py-4",children:(0,b.jsx)("div",{className:"max-w-2xl mx-auto w-full",children:e})})]})}function p({text:a}){let[d,e]=(0,c.useState)(!1),f=(0,c.useCallback)(()=>{navigator.clipboard.writeText(a).then(()=>{e(!0),setTimeout(()=>e(!1),2e3)})},[a]);return(0,b.jsx)("button",{type:"button",onClick:f,className:"p-1.5 rounded-md hover:bg-[var(--muted)] transition-colors text-[var(--muted-foreground)] hover:text-[var(--foreground)]",title:"Copy command",children:d?(0,b.jsx)(g.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,b.jsx)(i.Copy,{className:"w-3.5 h-3.5"})})}function q({cli:a,onVerify:e}){let f=d(a),[i,n]=(0,c.useState)("needs-auth"===f),[o,r]=(0,c.useState)(!1),[s,t]=(0,c.useState)(null),u="not-installed"===f||"needs-auth"===f,v=(0,c.useCallback)(async()=>{r(!0),t(null);try{let b=await fetch(`/api/providers/check/${a.id}`,{cache:"no-store"});if(!b.ok)return void t("Check failed");(await b.json()).authenticated?e?.(a.id):t("Not authenticated yet")}catch{t("Check failed")}finally{r(!1)}},[a.id,e]);return(0,b.jsxs)("div",{className:"border border-[var(--card-border)] rounded-lg overflow-hidden",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>u&&n(!i),className:`w-full flex items-center gap-3 px-4 py-3 transition-colors text-left ${u?"hover:bg-[var(--item-hover-bg)] cursor-pointer":"cursor-default"}`,children:[(0,b.jsx)("div",{className:"shrink-0",children:"checking"===f?(0,b.jsx)(h.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)] animate-pulse"}):"ready"===f?(0,b.jsx)("div",{className:"w-5 h-5 rounded-full bg-emerald-100 dark:bg-emerald-900/30 flex items-center justify-center",children:(0,b.jsx)(g.Check,{className:"w-3 h-3 text-emerald-600 dark:text-emerald-400"})}):"needs-auth"===f?(0,b.jsx)("div",{className:"w-5 h-5 rounded-full bg-amber-100 dark:bg-amber-900/30 flex items-center justify-center",children:(0,b.jsx)(h.Circle,{className:"w-3 h-3 text-amber-600 dark:text-amber-400"})}):(0,b.jsx)(h.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:a.name}),a.recommended&&"not-installed"===f&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-[var(--foreground)] bg-[var(--secondary)] px-1.5 py-0.5 rounded",children:"Recommended"}),"ready"===f&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20 px-1.5 py-0.5 rounded",children:"Ready"}),"needs-auth"===f&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20 px-1.5 py-0.5 rounded",children:"Needs auth"})]}),(0,b.jsx)("p",{className:"text-[12px] text-[var(--muted-foreground)]",children:a.description})]}),u&&(0,b.jsx)(j.ChevronDown,{className:`w-4 h-4 text-[var(--muted-foreground)] transition-transform ${i?"rotate-180":""}`})]}),i&&"not-installed"===f&&(0,b.jsxs)("div",{className:"px-4 pb-3 border-t border-[var(--card-border)]",children:[(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2 bg-[var(--secondary)] rounded-md px-3 py-2 font-mono text-[13px] text-[var(--foreground)]",children:[(0,b.jsx)(l.Terminal,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)] shrink-0"}),(0,b.jsx)("code",{className:"flex-1 overflow-x-auto whitespace-nowrap",children:a.installCmd}),(0,b.jsx)(p,{text:a.installCmd})]}),(0,b.jsxs)("a",{href:a.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-[12px] text-[var(--primary)] hover:underline",children:["Documentation ",(0,b.jsx)(k.ExternalLink,{className:"w-3 h-3"})]}),a.installNote&&(0,b.jsx)("p",{className:"mt-2 text-[12px] text-[var(--muted-foreground)]",children:a.installNote})]}),i&&"needs-auth"===f&&a.authCmd&&(0,b.jsxs)("div",{className:"px-4 pb-3 border-t border-[var(--card-border)]",children:[(0,b.jsx)("p",{className:"mt-3 text-[12px] text-[var(--muted-foreground)]",children:a.authCmd.description}),(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-2 bg-[var(--secondary)] rounded-md px-3 py-2 font-mono text-[13px] text-[var(--foreground)]",children:[(0,b.jsx)(l.Terminal,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)] shrink-0"}),(0,b.jsx)("code",{className:"flex-1 overflow-x-auto whitespace-nowrap",children:a.authCmd.cmd}),(0,b.jsx)(p,{text:a.authCmd.cmd})]}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",onClick:v,disabled:o,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-[12px] font-medium rounded-md bg-[var(--foreground)] text-[var(--background)] hover:opacity-90 transition-colors disabled:opacity-60",children:[o&&(0,b.jsx)(m.Loader2,{className:"w-3 h-3 animate-spin"}),o?"Checking...":"Verify"]}),s&&(0,b.jsx)("span",{className:"text-[12px] text-amber-600 dark:text-amber-400",children:s})]})]})]})}function r({clis:a,readyState:c,authenticatedCount:d,totalCount:e,onVerifySuccess:f,onNext:g}){let h="ready"===c,i=a.find(a=>a.recommended)??a[0]??null,j=a.filter(a=>!a.recommended);return(0,b.jsxs)(o,{currentStep:1,totalSteps:3,footer:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-[13px] text-[var(--muted-foreground)]",children:(0,b.jsxs)("span",{className:h?"text-emerald-600 dark:text-emerald-400":"",children:[d,"/",e," providers ready"]})}),(0,b.jsx)("button",{type:"button",onClick:g,disabled:!h,className:"inline-flex items-center gap-2 px-6 py-2.5 bg-[var(--foreground)] text-[var(--background)] text-[14px] font-semibold rounded-lg hover:opacity-90 transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:"Next"})]}),children:[(0,b.jsxs)("div",{className:"text-center mb-8",children:[(0,b.jsx)("h1",{className:"text-[24px] font-bold text-[var(--foreground)] tracking-tight",children:"Connect a Provider"}),(0,b.jsxs)("p",{className:"mt-2 text-[14px] text-[var(--muted-foreground)] leading-relaxed",children:["AGX orchestrates AI agents across multiple providers.",(0,b.jsx)("br",{}),"Connect at least one to get started."]})]}),"checking"===c&&(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(m.Loader2,{className:"w-6 h-6 animate-spin text-[var(--muted-foreground)] mx-auto"}),(0,b.jsx)("p",{className:"mt-3 text-[13px] text-[var(--muted-foreground)]",children:"Detecting installed providers..."})]}),"error"===c&&(0,b.jsx)("div",{className:"text-center py-8",children:(0,b.jsx)("p",{className:"text-[14px] text-[var(--muted-foreground)]",children:"Could not detect providers. Please reload."})}),("needs-setup"===c||"ready"===c)&&(0,b.jsxs)("div",{className:"space-y-4",children:[!a.some(a=>a.installed)&&i&&(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--secondary)] p-4 mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Start Here"}),(0,b.jsx)("span",{className:"rounded bg-[var(--background)] px-2 py-0.5 text-[11px] font-medium text-[var(--foreground)]",children:i.name})]}),(0,b.jsx)("p",{className:"mt-2 text-[13px] text-[var(--foreground)]",children:"Install Claude Code first if you want the shortest path into AGX."})]}),(0,b.jsx)("div",{className:"space-y-2",children:i&&(0,b.jsx)(q,{cli:i,onVerify:f})}),j.length>0&&(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("h3",{className:"mb-2 text-[12px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Other Options"}),(0,b.jsx)("div",{className:"space-y-2",children:j.map(a=>(0,b.jsx)(q,{cli:a,onVerify:f},a.id))})]})]})]})}var s=a.i(157633),t=a.i(523593);let u=(0,a.i(831709).default)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);var v=a.i(824179);function w({folderPath:a}){let{analysis:d,loading:e}=function(a){let[b,d]=(0,c.useState)(null),[e,f]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{if(!a)return void d(null);let b=!1;return f(!0),(async()=>{try{let c=await fetch("/api/filesystem/analyze",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a})});if(b)return;if(c.ok){let a=await c.json();d(a.analysis)}}catch{}finally{b||f(!1)}})(),()=>{b=!0}},[a]),{analysis:b,loading:e}}(a);if(e)return(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-2 text-[12px] text-[var(--muted-foreground)]",children:[(0,b.jsx)(m.Loader2,{className:"w-3 h-3 animate-spin"})," Analyzing..."]});if(!d)return null;let f=Object.entries(d.languages).sort(([,a],[,b])=>b-a).slice(0,5);return(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-[12px] text-[var(--muted-foreground)]",children:[d.isGit&&d.branch&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(t.GitBranch,{className:"w-3 h-3"})," ",d.branch]}),d.isGit&&d.status&&(0,b.jsxs)("span",{children:[d.status.modified,"M ",d.status.untracked,"? ",d.status.staged,"S"]}),f.map(([a,c])=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(u,{className:"w-3 h-3"})," ",a," (",c,")"]},a))]})}function x({data:a,onChange:d,onNext:e,onBack:f}){let[g,h]=(0,c.useState)(!1),i=(0,c.useCallback)(async()=>{h(!0);try{let b=await fetch("/api/filesystem/pick-folder",{method:"POST"});if(!b.ok)return;let c=await b.json();if(c.cancelled||!c.path)return;let e=c.path.split("/").filter(Boolean).pop()||c.path;if(a.folders.some(a=>a.path===c.path))return;d({...a,name:a.name||e,folders:[...a.folders,{name:e,path:c.path}]})}catch{}finally{h(!1)}},[a,d]),j=(0,c.useCallback)(b=>{d({...a,folders:a.folders.filter(a=>a.path!==b)})},[a,d]),k=a.name.trim().length>0;return(0,b.jsxs)(o,{currentStep:2,totalSteps:3,footer:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("button",{type:"button",onClick:f,className:"text-[14px] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Back"}),(0,b.jsx)("button",{type:"button",onClick:e,disabled:!k,className:"inline-flex items-center gap-2 px-6 py-2.5 bg-[var(--foreground)] text-[var(--background)] text-[14px] font-semibold rounded-lg hover:opacity-90 transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:"Next"})]}),children:[(0,b.jsxs)("div",{className:"text-center mb-8",children:[(0,b.jsx)("h1",{className:"text-[24px] font-bold text-[var(--foreground)] tracking-tight",children:"Create Your Project"}),(0,b.jsx)("p",{className:"mt-2 text-[14px] text-[var(--muted-foreground)]",children:"Name your project and attach folders your agents will work in."})]}),(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{htmlFor:"project-name",className:"block text-[13px] font-medium text-[var(--foreground)] mb-1.5",children:"Project name"}),(0,b.jsx)("input",{id:"project-name",type:"text",value:a.name,onChange:b=>d({...a,name:b.target.value}),placeholder:"My Project",className:"w-full px-3 py-2.5 rounded-lg border border-[var(--border)] bg-[var(--background)] text-[14px] text-[var(--foreground)] placeholder:text-[var(--muted-foreground)] focus:outline-none focus:ring-2 focus:ring-[var(--foreground)]/20",autoFocus:!0})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{htmlFor:"project-desc",className:"block text-[13px] font-medium text-[var(--foreground)] mb-1.5",children:["Description ",(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] font-normal",children:"(optional)"})]}),(0,b.jsx)("input",{id:"project-desc",type:"text",value:a.description,onChange:b=>d({...a,description:b.target.value}),placeholder:"What this project is about",className:"w-full px-3 py-2.5 rounded-lg border border-[var(--border)] bg-[var(--background)] text-[14px] text-[var(--foreground)] placeholder:text-[var(--muted-foreground)] focus:outline-none focus:ring-2 focus:ring-[var(--foreground)]/20"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("label",{className:"text-[13px] font-medium text-[var(--foreground)]",children:"Folders"}),(0,b.jsxs)("button",{type:"button",onClick:i,disabled:g,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-[12px] font-medium rounded-md border border-[var(--border)] hover:bg-[var(--secondary)] transition-colors disabled:opacity-60",children:[g?(0,b.jsx)(m.Loader2,{className:"w-3 h-3 animate-spin"}):(0,b.jsx)(s.Folder,{className:"w-3 h-3"}),"Browse"]})]}),0===a.folders.length?(0,b.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] py-4 text-center border border-dashed border-[var(--border)] rounded-lg",children:"No folders attached yet. Click Browse to add one."}):(0,b.jsx)("div",{className:"space-y-2",children:a.folders.map(a=>(0,b.jsxs)("div",{className:"border border-[var(--card-border)] rounded-lg px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)(s.Folder,{className:"w-4 h-4 text-[var(--muted-foreground)] shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-[13px] font-medium text-[var(--foreground)] truncate",children:a.name}),(0,b.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)] truncate",children:a.path})]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>j(a.path),className:"p-1 rounded hover:bg-[var(--secondary)] text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,b.jsx)(v.X,{className:"w-3.5 h-3.5"})})]}),(0,b.jsx)(w,{folderPath:a.path})]},a.path))})]})]})]})}var y=a.i(985339),z=a.i(319405);let A={balanced:"bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300",specialist:"bg-purple-100 dark:bg-purple-900/30 text-purple-700 dark:text-purple-300",creative:"bg-amber-100 dark:bg-amber-900/30 text-amber-700 dark:text-amber-300",analytical:"bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-300"};function B({agent:a}){let c=A[a.style]??A.balanced;return(0,b.jsxs)("div",{className:"flex items-center gap-2 py-1.5",children:[(0,b.jsx)("div",{className:"w-7 h-7 rounded-full bg-[var(--secondary)] flex items-center justify-center text-[12px] font-semibold text-[var(--foreground)]",children:a.name.charAt(0)}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${c}`,children:a.style})]}),(0,b.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)] truncate",children:a.title})]})]})}function C({template:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button",onClick:()=>d(a),className:`w-full text-left p-4 rounded-lg border transition-all ${c?"border-[var(--foreground)] bg-[var(--secondary)]":"border-[var(--card-border)] hover:border-[var(--foreground)]/30 hover:bg-[var(--secondary)]/50"}`,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-lg",children:a.icon}),(0,b.jsx)("span",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:a.name})]}),c&&(0,b.jsx)("div",{className:"w-5 h-5 rounded-full bg-[var(--foreground)] flex items-center justify-center",children:(0,b.jsx)(g.Check,{className:"w-3 h-3 text-[var(--background)]"})})]}),(0,b.jsx)("p",{className:"mt-1 text-[12px] text-[var(--muted-foreground)]",children:a.description}),(0,b.jsxs)("p",{className:"mt-2 text-[11px] text-[var(--muted-foreground)]",children:[a.agents.length," agent",1!==a.agents.length?"s":"",a.variants&&a.variants.length>0?` \xb7 ${a.variants.length} variants`:""]})]})}function D({selectedTeams:a,onChange:d,onNext:e,onBack:f}){let g=(0,z.listTeamTemplates)(),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)({}),l=(0,c.useCallback)(b=>a.some(a=>a.templateId===b),[a]),m=(0,c.useCallback)(b=>{if(l(b.id)){d(a.filter(a=>a.templateId!==b.id)),i(null);return}b.variants&&b.variants.length>0?i(h===b.id?null:b.id):d([...a,{templateId:b.id,name:b.name,agents:b.agents}])},[a,d,h,l]),n=(0,c.useCallback)((b,c)=>{k(a=>({...a,[b]:c.id})),d([...a.filter(a=>a.templateId!==b),{templateId:b,variantId:c.id,name:c.name,agents:c.agents}]),i(null)},[a,d]),p=(0,c.useCallback)(b=>{d(a.filter(a=>a.templateId!==b))},[a,d]);return(0,b.jsxs)(o,{currentStep:3,totalSteps:3,footer:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("button",{type:"button",onClick:f,className:"text-[14px] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Back"}),(0,b.jsx)("button",{type:"button",onClick:e,className:"inline-flex items-center gap-2 px-6 py-2.5 bg-[var(--foreground)] text-[var(--background)] text-[14px] font-semibold rounded-lg hover:opacity-90 transition-all",children:a.length>0?"Create Project":"Skip & Create Project"})]}),children:[(0,b.jsxs)("div",{className:"text-center mb-8",children:[(0,b.jsx)("h1",{className:"text-[24px] font-bold text-[var(--foreground)] tracking-tight",children:"Add Teams"}),(0,b.jsx)("p",{className:"mt-2 text-[14px] text-[var(--muted-foreground)]",children:"Pick team templates to populate your project with agents. You can customize them later."})]}),a.length>0&&(0,b.jsx)("div",{className:"mb-6 space-y-2",children:a.map(a=>(0,b.jsxs)("div",{className:"border border-[var(--foreground)]/20 bg-[var(--secondary)] rounded-lg p-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(y.Users,{className:"w-4 h-4 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"text-[13px] font-semibold text-[var(--foreground)]",children:a.name}),(0,b.jsxs)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:[a.agents.length," agents"]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>p(a.templateId),className:"p-1 rounded hover:bg-[var(--background)] text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,b.jsx)(v.X,{className:"w-3.5 h-3.5"})})]}),(0,b.jsx)("div",{className:"pl-6 space-y-0.5",children:a.agents.map(a=>(0,b.jsx)(B,{agent:a},a.id))})]},a.templateId))}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-3",children:g.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsx)(C,{template:a,isSelected:l(a.id),onSelect:m}),h===a.id&&a.variants&&a.variants.length>0&&(0,b.jsx)("div",{className:"mt-2 ml-2 border-l-2 border-[var(--border)] pl-3 space-y-1",children:a.variants.map(c=>(0,b.jsxs)("button",{type:"button",onClick:()=>n(a.id,c),className:`w-full text-left px-3 py-2 rounded-md text-[13px] transition-colors ${j[a.id]===c.id?"bg-[var(--secondary)] font-medium text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--secondary)]/50 hover:text-[var(--foreground)]"}`,children:[c.name,(0,b.jsxs)("span",{className:"ml-2 text-[11px] text-[var(--muted-foreground)]",children:[c.agents.length," agents"]})]},c.id))})]},a.id))})]})}var E=a.i(693896);a.s(["default",0,function(){let a=function(){let[a,b]=(0,c.useState)("checking"),[f,g]=(0,c.useState)(e.map(a=>({...a,installed:null,authenticated:null})));(0,c.useEffect)(()=>{let a=!1;return(async()=>{try{let c=await fetch("/api/providers",{cache:"no-store"});if(a)return;if(!c.ok)return void b("error");let f=await c.json(),h=Array.isArray(f?.providers)?f.providers:[],i=e.map(a=>{let b=h.find(b=>b?.id===a.id);return{...a,installed:b?.installed??!1,authenticated:b?.authenticated??!1}});a||(g(i),b(i.some(a=>"ready"===d(a))?"ready":"needs-setup"))}catch{a||b("error")}})(),()=>{a=!0}},[]);let h=(0,c.useCallback)(a=>{g(c=>{let e=c.map(b=>b.id===a?{...b,authenticated:!0}:b);return e.some(a=>"ready"===d(a))&&b("ready"),e})},[]),i=(0,c.useMemo)(()=>f.filter(a=>"needs-auth"===d(a)).map(a=>a.id),[f]),j=i.join(",");(0,c.useEffect)(()=>{if("checking"===a||0===i.length)return;let b=new AbortController,c=new Map;return i.forEach(function a(d){if(b.signal.aborted)return;let e=setTimeout(async()=>{if(!b.signal.aborted){try{let a=await fetch(`/api/providers/check/${d}`,{cache:"no-store",signal:b.signal});if(b.signal.aborted)return;if(a.ok){let b=await a.json();if(b.authenticated)return void h(d);if(!b.installed)return void g(a=>a.map(a=>a.id===d?{...a,installed:!1,authenticated:!1}:a))}}catch{if(b.signal.aborted)return}b.signal.aborted||a(d)}},5e3);c.set(d,e)}),()=>{b.abort(),c.forEach(a=>clearTimeout(a))}},[a,j,h]);let k=f.filter(a=>"ready"===d(a)).length;return{readyState:a,clis:f,authenticatedCount:k,totalCount:f.length,handleVerifySuccess:h}}(),g=function(){let a=(0,f.useRouter)(),[b,d]=(0,c.useState)(1),[e,g]=(0,c.useState)({name:"",description:"",folders:[]}),[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(null),n=(0,c.useCallback)(()=>{d(a=>Math.min(a+1,3))},[]),o=(0,c.useCallback)(()=>{d(a=>Math.max(a-1,1))},[]),p=(0,c.useCallback)(async()=>{k(!0),m(null);try{let b=e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")||"project",c=e.folders.map(a=>({name:a.name,path:a.path})),d=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,description:e.description||void 0,repos:c})});if(!d.ok){let a=await d.json().catch(()=>({}));throw Error(a.error||"Failed to create project")}let{project:f}=await d.json(),g=f.id;for(let a of h)await fetch(`/api/projects/${g}/teams`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateId:a.templateId,variantId:a.variantId,name:a.name})});a.push(`/projects/${f.slug||b}`)}catch(a){m(a instanceof Error?a.message:"Setup failed")}finally{k(!1)}},[e,h,a]);return{step:b,project:e,teams:h,completing:j,error:l,setProject:g,setTeams:i,goNext:n,goBack:o,complete:p}}();return g.completing?(0,b.jsxs)("div",{className:"h-screen w-full flex flex-col items-center justify-center gap-4 bg-[var(--background)]",children:[(0,b.jsx)(m.Loader2,{className:"w-8 h-8 animate-spin text-[var(--muted-foreground)]"}),(0,b.jsx)("p",{className:"text-[14px] text-[var(--muted-foreground)]",children:"Creating your project..."})]}):(0,b.jsxs)(b.Fragment,{children:[g.error&&(0,b.jsxs)("div",{className:"fixed top-4 left-1/2 -translate-x-1/2 z-50 inline-flex items-center gap-2 rounded-lg border border-red-200 bg-red-50 dark:border-red-800 dark:bg-red-950 px-4 py-2 text-[13px] text-red-800 dark:text-red-200 shadow-lg",children:[(0,b.jsx)(E.AlertCircle,{className:"h-4 w-4 shrink-0"}),g.error]}),1===g.step&&(0,b.jsx)(r,{clis:a.clis,readyState:a.readyState,authenticatedCount:a.authenticatedCount,totalCount:a.totalCount,onVerifySuccess:a.handleVerifySuccess,onNext:g.goNext}),2===g.step&&(0,b.jsx)(x,{data:g.project,onChange:g.setProject,onNext:g.goNext,onBack:g.goBack}),3===g.step&&(0,b.jsx)(D,{selectedTeams:g.teams,onChange:g.setTeams,onNext:g.complete,onBack:g.goBack})]})}],514760)}];
|
|
1
|
+
module.exports=[514760,a=>{"use strict";var b=a.i(187924),c=a.i(572131);function d(a){return null===a.installed?"checking":a.installed?!a.authenticated&&a.authCmd?"needs-auth":"ready":"not-installed"}let e=[{id:"claude",label:"Claude Code",bin:"claude",description:"Recommended for the fastest AGX setup.",installCmd:"npm install -g @anthropic-ai/claude-code",docsUrl:"https://docs.anthropic.com/en/docs/claude-code/quickstart",recommended:!0,statusLabel:"Installed",authCheck:{cmd:'claude -p "say yes" 2>/dev/null',timeout:15e3},authCmd:{cmd:"claude",description:"Opens browser for Anthropic login"}},{id:"codex",label:"Codex",bin:"codex",description:"OpenAI's terminal coding agent.",installCmd:"npm install -g @openai/codex",docsUrl:"https://github.com/openai/codex",statusLabel:"Installed",authCheck:{cmd:"codex --version 2>/dev/null",timeout:5e3},authCmd:{cmd:"codex login --device-auth",description:"Device auth flow for OpenAI"}},{id:"gemini",label:"Gemini CLI",bin:"gemini",description:"Google's CLI for Gemini workflows.",installCmd:"npm install -g @google/gemini-cli",docsUrl:"https://github.com/google-gemini/gemini-cli",statusLabel:"Installed",authCheck:{cmd:'echo "hi" | gemini 2>/dev/null',timeout:15e3},authCmd:{cmd:"gemini",description:"Opens browser for Google login"}},{id:"ollama",label:"Ollama",bin:"ollama",description:"Run local models on your machine.",installCmd:"curl -fsSL https://ollama.com/install.sh | sh",docsUrl:"https://ollama.com/download",statusLabel:"Installed",authCheck:{cmd:"ollama list 2>/dev/null",timeout:5e3}},{id:"zai",label:"Z.AI",bin:"claude",description:"Use the Claude CLI with your Z.AI API key.",installCmd:"npm install -g @anthropic-ai/claude-code",docsUrl:"https://z.ai/",installNote:"Requires Claude Code plus a configured Z.AI API key.",statusLabel:"Via Claude CLI",authCheck:{cmd:'test -n "$ANTHROPIC_API_KEY"',timeout:5e3},authCmd:{cmd:"export ANTHROPIC_API_KEY=<your-key>",description:"Set your Z.AI API key"}}].map(a=>({id:a.id,name:a.label,description:a.description,installCmd:a.installCmd,docsUrl:a.docsUrl,installNote:a.installNote,recommended:a.recommended,authCmd:a.authCmd}));var f=a.i(50944),g=a.i(627421),h=a.i(70887),i=a.i(804632),j=a.i(811760),k=a.i(379065),l=a.i(356239),m=a.i(349692);function n({currentStep:a,totalSteps:c}){return(0,b.jsx)("div",{className:"flex items-center gap-0",role:"progressbar","aria-valuenow":a,"aria-valuemin":1,"aria-valuemax":c,"aria-label":`Step ${a} of ${c}`,children:Array.from({length:c},(c,d)=>{let e=d+1,f=e===a,g=e<a;return(0,b.jsxs)("div",{className:"flex items-center",children:[d>0&&(0,b.jsx)("div",{className:`w-8 h-[2px] ${g?"bg-[var(--foreground)]":"bg-[var(--border)]"}`}),(0,b.jsx)("div",{className:`w-2.5 h-2.5 rounded-full transition-colors ${f?"bg-[var(--foreground)] ring-4 ring-[var(--foreground)]/10":g?"bg-[var(--foreground)]":"bg-[var(--border)]"}`})]},e)})})}function o({currentStep:a,totalSteps:c,children:d,footer:e}){return(0,b.jsxs)("div",{className:"h-screen w-full flex flex-col bg-[var(--background)]",children:[(0,b.jsx)("div",{className:"flex items-center justify-center pt-8 pb-4",children:(0,b.jsx)(n,{currentStep:a,totalSteps:c})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-4",children:(0,b.jsx)("div",{className:"max-w-2xl mx-auto w-full py-6",children:d})}),e&&(0,b.jsx)("div",{className:"border-t border-[var(--border)] bg-[var(--background)] px-4 py-4",children:(0,b.jsx)("div",{className:"max-w-2xl mx-auto w-full",children:e})})]})}function p({text:a}){let[d,e]=(0,c.useState)(!1),f=(0,c.useCallback)(()=>{navigator.clipboard.writeText(a).then(()=>{e(!0),setTimeout(()=>e(!1),2e3)})},[a]);return(0,b.jsx)("button",{type:"button",onClick:f,className:"p-1.5 rounded-md hover:bg-[var(--muted)] transition-colors text-[var(--muted-foreground)] hover:text-[var(--foreground)]",title:"Copy command",children:d?(0,b.jsx)(g.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,b.jsx)(i.Copy,{className:"w-3.5 h-3.5"})})}function q({cli:a,onVerify:e}){let f=d(a),[i,n]=(0,c.useState)("needs-auth"===f),[o,r]=(0,c.useState)(!1),[s,t]=(0,c.useState)(null),u="not-installed"===f||"needs-auth"===f,v=(0,c.useCallback)(async()=>{r(!0),t(null);try{let b=await fetch(`/api/providers/check/${a.id}`,{cache:"no-store"});if(!b.ok)return void t("Check failed");(await b.json()).authenticated?e?.(a.id):t("Not authenticated yet")}catch{t("Check failed")}finally{r(!1)}},[a.id,e]);return(0,b.jsxs)("div",{className:"border border-[var(--card-border)] rounded-lg overflow-hidden",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>u&&n(!i),className:`w-full flex items-center gap-3 px-4 py-3 transition-colors text-left ${u?"hover:bg-[var(--item-hover-bg)] cursor-pointer":"cursor-default"}`,children:[(0,b.jsx)("div",{className:"shrink-0",children:"checking"===f?(0,b.jsx)(h.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)] animate-pulse"}):"ready"===f?(0,b.jsx)("div",{className:"w-5 h-5 rounded-full bg-emerald-100 dark:bg-emerald-900/30 flex items-center justify-center",children:(0,b.jsx)(g.Check,{className:"w-3 h-3 text-emerald-600 dark:text-emerald-400"})}):"needs-auth"===f?(0,b.jsx)("div",{className:"w-5 h-5 rounded-full bg-amber-100 dark:bg-amber-900/30 flex items-center justify-center",children:(0,b.jsx)(h.Circle,{className:"w-3 h-3 text-amber-600 dark:text-amber-400"})}):(0,b.jsx)(h.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:a.name}),a.recommended&&"not-installed"===f&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-[var(--foreground)] bg-[var(--secondary)] px-1.5 py-0.5 rounded",children:"Recommended"}),"ready"===f&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20 px-1.5 py-0.5 rounded",children:"Ready"}),"needs-auth"===f&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20 px-1.5 py-0.5 rounded",children:"Needs auth"})]}),(0,b.jsx)("p",{className:"text-[12px] text-[var(--muted-foreground)]",children:a.description})]}),u&&(0,b.jsx)(j.ChevronDown,{className:`w-4 h-4 text-[var(--muted-foreground)] transition-transform ${i?"rotate-180":""}`})]}),i&&"not-installed"===f&&(0,b.jsxs)("div",{className:"px-4 pb-3 border-t border-[var(--card-border)]",children:[(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2 bg-[var(--secondary)] rounded-md px-3 py-2 font-mono text-[13px] text-[var(--foreground)]",children:[(0,b.jsx)(l.Terminal,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)] shrink-0"}),(0,b.jsx)("code",{className:"flex-1 overflow-x-auto whitespace-nowrap",children:a.installCmd}),(0,b.jsx)(p,{text:a.installCmd})]}),(0,b.jsxs)("a",{href:a.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-[12px] text-[var(--primary)] hover:underline",children:["Documentation ",(0,b.jsx)(k.ExternalLink,{className:"w-3 h-3"})]}),a.installNote&&(0,b.jsx)("p",{className:"mt-2 text-[12px] text-[var(--muted-foreground)]",children:a.installNote})]}),i&&"needs-auth"===f&&a.authCmd&&(0,b.jsxs)("div",{className:"px-4 pb-3 border-t border-[var(--card-border)]",children:[(0,b.jsx)("p",{className:"mt-3 text-[12px] text-[var(--muted-foreground)]",children:a.authCmd.description}),(0,b.jsxs)("div",{className:"mt-2 flex items-center gap-2 bg-[var(--secondary)] rounded-md px-3 py-2 font-mono text-[13px] text-[var(--foreground)]",children:[(0,b.jsx)(l.Terminal,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)] shrink-0"}),(0,b.jsx)("code",{className:"flex-1 overflow-x-auto whitespace-nowrap",children:a.authCmd.cmd}),(0,b.jsx)(p,{text:a.authCmd.cmd})]}),(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,b.jsxs)("button",{type:"button",onClick:v,disabled:o,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-[12px] font-medium rounded-md bg-[var(--foreground)] text-[var(--background)] hover:opacity-90 transition-colors disabled:opacity-60",children:[o&&(0,b.jsx)(m.Loader2,{className:"w-3 h-3 animate-spin"}),o?"Checking...":"Verify"]}),s&&(0,b.jsx)("span",{className:"text-[12px] text-amber-600 dark:text-amber-400",children:s})]})]})]})}function r({clis:a,readyState:c,authenticatedCount:d,totalCount:e,onVerifySuccess:f,onNext:g}){let h="ready"===c,i=a.find(a=>a.recommended)??a[0]??null,j=a.filter(a=>!a.recommended);return(0,b.jsxs)(o,{currentStep:1,totalSteps:4,footer:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-[13px] text-[var(--muted-foreground)]",children:(0,b.jsxs)("span",{className:h?"text-emerald-600 dark:text-emerald-400":"",children:[d,"/",e," providers ready"]})}),(0,b.jsx)("button",{type:"button",onClick:g,disabled:!h,className:"inline-flex items-center gap-2 px-6 py-2.5 bg-[var(--foreground)] text-[var(--background)] text-[14px] font-semibold rounded-lg hover:opacity-90 transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:"Next"})]}),children:[(0,b.jsxs)("div",{className:"text-center mb-8",children:[(0,b.jsx)("h1",{className:"text-[24px] font-bold text-[var(--foreground)] tracking-tight",children:"Connect a Provider"}),(0,b.jsxs)("p",{className:"mt-2 text-[14px] text-[var(--muted-foreground)] leading-relaxed",children:["AGX orchestrates AI agents across multiple providers.",(0,b.jsx)("br",{}),"Connect at least one to get started."]})]}),"checking"===c&&(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(m.Loader2,{className:"w-6 h-6 animate-spin text-[var(--muted-foreground)] mx-auto"}),(0,b.jsx)("p",{className:"mt-3 text-[13px] text-[var(--muted-foreground)]",children:"Detecting installed providers..."})]}),"error"===c&&(0,b.jsx)("div",{className:"text-center py-8",children:(0,b.jsx)("p",{className:"text-[14px] text-[var(--muted-foreground)]",children:"Could not detect providers. Please reload."})}),("needs-setup"===c||"ready"===c)&&(0,b.jsxs)("div",{className:"space-y-4",children:[!a.some(a=>a.installed)&&i&&(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--secondary)] p-4 mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Start Here"}),(0,b.jsx)("span",{className:"rounded bg-[var(--background)] px-2 py-0.5 text-[11px] font-medium text-[var(--foreground)]",children:i.name})]}),(0,b.jsx)("p",{className:"mt-2 text-[13px] text-[var(--foreground)]",children:"Install Claude Code first if you want the shortest path into AGX."})]}),(0,b.jsx)("div",{className:"space-y-2",children:i&&(0,b.jsx)(q,{cli:i,onVerify:f})}),j.length>0&&(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("h3",{className:"mb-2 text-[12px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Other Options"}),(0,b.jsx)("div",{className:"space-y-2",children:j.map(a=>(0,b.jsx)(q,{cli:a,onVerify:f},a.id))})]})]})]})}var s=a.i(831709);let t=(0,s.default)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]]),u=[{id:"linear",name:"Linear",description:"Read and update tickets so agents can track work in Linear during execution.",docsUrl:"https://linear.app/docs/mcp"}],v=[{id:"claude",label:"Claude Code"},{id:"codex",label:"Codex"},{id:"gemini",label:"Gemini CLI"}];function w({onNext:a,onBack:d}){let[e,f]=(0,c.useState)(!0),[h,i]=(0,c.useState)({}),[j,l]=(0,c.useState)({}),[n,p]=(0,c.useState)(null),[q,r]=(0,c.useState)(null),s=(0,c.useCallback)(async()=>{try{let[a,b]=await Promise.all([fetch("/api/linear/status"),fetch("/api/linear/mcp-setup")]),c=await a.json(),d=await b.json();i(c.clis??{}),l(d.configured??{})}catch{}finally{f(!1)}},[]);(0,c.useEffect)(()=>{s()},[s]);let x=(0,c.useCallback)(async a=>{p(a),r(null);try{let b=await fetch("/api/linear/mcp-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:a})});if(b.ok)await s();else{let a=await b.json().catch(()=>({}));r(a.error||"Failed to configure MCP")}}catch{r("Failed to configure MCP")}finally{p(null)}},[s]),y=v.filter(a=>h[a.id]),z=y.some(a=>j[a.id]);return(0,b.jsxs)(o,{currentStep:2,totalSteps:4,footer:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("button",{type:"button",onClick:d,className:"text-[14px] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Back"}),(0,b.jsx)("button",{type:"button",onClick:a,className:"inline-flex items-center gap-2 px-6 py-2.5 bg-[var(--foreground)] text-[var(--background)] text-[14px] font-semibold rounded-lg hover:opacity-90 transition-all",children:z?"Next":"Skip"})]}),children:[(0,b.jsxs)("div",{className:"text-center mb-8",children:[(0,b.jsx)("h1",{className:"text-[24px] font-bold text-[var(--foreground)] tracking-tight",children:"Configure MCP Servers"}),(0,b.jsxs)("p",{className:"mt-2 text-[14px] text-[var(--muted-foreground)] leading-relaxed",children:["MCP servers let your agents interact with external tools.",(0,b.jsx)("br",{}),"Set them up so agents can read and update tickets automatically."]})]}),e?(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(m.Loader2,{className:"w-6 h-6 animate-spin text-[var(--muted-foreground)] mx-auto"}),(0,b.jsx)("p",{className:"mt-3 text-[13px] text-[var(--muted-foreground)]",children:"Checking MCP configuration..."})]}):(0,b.jsxs)("div",{className:"space-y-6",children:[u.map(a=>(0,b.jsxs)("div",{className:"border border-[var(--card-border)] rounded-lg overflow-hidden",children:[(0,b.jsxs)("div",{className:"px-4 py-3 flex items-center gap-3",children:[(0,b.jsx)("div",{className:"w-8 h-8 rounded-lg bg-[var(--secondary)] flex items-center justify-center",children:(0,b.jsx)(t,{className:"w-4 h-4 text-[var(--foreground)]"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:a.name}),z&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20 px-1.5 py-0.5 rounded",children:"Configured"})]}),(0,b.jsx)("p",{className:"text-[12px] text-[var(--muted-foreground)]",children:a.description})]})]}),(0,b.jsxs)("div",{className:"border-t border-[var(--card-border)] px-4 py-3 space-y-2",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)] mb-2",children:"Configure for your CLI"}),v.map(a=>{let c=h[a.id],d=j[a.id],e=n===a.id;return(0,b.jsxs)("div",{className:`flex items-center justify-between rounded-md border border-[var(--card-border)] px-3 py-2.5 ${!c?"opacity-40":""}`,children:[(0,b.jsx)("span",{className:"text-[13px] text-[var(--foreground)]",children:a.label}),c?d?(0,b.jsxs)("span",{className:"flex items-center gap-1 text-[11px] text-emerald-600 dark:text-emerald-400",children:[(0,b.jsx)(g.Check,{className:"w-3.5 h-3.5"}),"Configured"]}):(0,b.jsx)("button",{type:"button",onClick:()=>x(a.id),disabled:e,className:"inline-flex items-center gap-1.5 px-3 py-1 text-[12px] font-medium rounded-md border border-[var(--card-border)] hover:bg-[var(--secondary)] transition-colors disabled:opacity-50",children:e?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(m.Loader2,{className:"w-3 h-3 animate-spin"}),"Setting up..."]}):"Set up"}):(0,b.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:"Not installed"})]},a.id)}),q&&(0,b.jsx)("p",{className:"text-[12px] text-red-500 dark:text-red-400 mt-1",children:q})]}),(0,b.jsx)("div",{className:"border-t border-[var(--card-border)] px-4 py-2.5",children:(0,b.jsxs)("a",{href:a.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[12px] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:["Learn more about ",a.name," MCP",(0,b.jsx)(k.ExternalLink,{className:"w-3 h-3"})]})})]},a.id)),0===y.length&&(0,b.jsx)("div",{className:"text-center py-4",children:(0,b.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)]",children:"No CLI providers detected. Go back and install a provider first, or skip this step."})})]})]})}var x=a.i(157633),y=a.i(523593);let z=(0,s.default)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);var A=a.i(824179);function B({folderPath:a}){let{analysis:d,loading:e}=function(a){let[b,d]=(0,c.useState)(null),[e,f]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{if(!a)return void d(null);let b=!1;return f(!0),(async()=>{try{let c=await fetch("/api/filesystem/analyze",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a})});if(b)return;if(c.ok){let a=await c.json();d(a.analysis)}}catch{}finally{b||f(!1)}})(),()=>{b=!0}},[a]),{analysis:b,loading:e}}(a);if(e)return(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-2 text-[12px] text-[var(--muted-foreground)]",children:[(0,b.jsx)(m.Loader2,{className:"w-3 h-3 animate-spin"})," Analyzing..."]});if(!d)return null;let f=Object.entries(d.languages).sort(([,a],[,b])=>b-a).slice(0,5);return(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-[12px] text-[var(--muted-foreground)]",children:[d.isGit&&d.branch&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(y.GitBranch,{className:"w-3 h-3"})," ",d.branch]}),d.isGit&&d.status&&(0,b.jsxs)("span",{children:[d.status.modified,"M ",d.status.untracked,"? ",d.status.staged,"S"]}),f.map(([a,c])=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,b.jsx)(z,{className:"w-3 h-3"})," ",a," (",c,")"]},a))]})}function C({data:a,onChange:d,onNext:e,onBack:f}){let[g,h]=(0,c.useState)(!1),i=(0,c.useCallback)(async()=>{h(!0);try{let b=await fetch("/api/filesystem/pick-folder",{method:"POST"});if(!b.ok)return;let c=await b.json();if(c.cancelled||!c.path)return;let e=c.path.split("/").filter(Boolean).pop()||c.path;if(a.folders.some(a=>a.path===c.path))return;d({...a,name:a.name||e,folders:[...a.folders,{name:e,path:c.path}]})}catch{}finally{h(!1)}},[a,d]),j=(0,c.useCallback)(b=>{d({...a,folders:a.folders.filter(a=>a.path!==b)})},[a,d]),k=a.name.trim().length>0;return(0,b.jsxs)(o,{currentStep:3,totalSteps:4,footer:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("button",{type:"button",onClick:f,className:"text-[14px] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Back"}),(0,b.jsx)("button",{type:"button",onClick:e,disabled:!k,className:"inline-flex items-center gap-2 px-6 py-2.5 bg-[var(--foreground)] text-[var(--background)] text-[14px] font-semibold rounded-lg hover:opacity-90 transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:"Next"})]}),children:[(0,b.jsxs)("div",{className:"text-center mb-8",children:[(0,b.jsx)("h1",{className:"text-[24px] font-bold text-[var(--foreground)] tracking-tight",children:"Create Your Project"}),(0,b.jsx)("p",{className:"mt-2 text-[14px] text-[var(--muted-foreground)]",children:"Name your project and attach folders your agents will work in."})]}),(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{htmlFor:"project-name",className:"block text-[13px] font-medium text-[var(--foreground)] mb-1.5",children:"Project name"}),(0,b.jsx)("input",{id:"project-name",type:"text",value:a.name,onChange:b=>d({...a,name:b.target.value}),placeholder:"My Project",className:"w-full px-3 py-2.5 rounded-lg border border-[var(--border)] bg-[var(--background)] text-[14px] text-[var(--foreground)] placeholder:text-[var(--muted-foreground)] focus:outline-none focus:ring-2 focus:ring-[var(--foreground)]/20",autoFocus:!0})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{htmlFor:"project-desc",className:"block text-[13px] font-medium text-[var(--foreground)] mb-1.5",children:["Description ",(0,b.jsx)("span",{className:"text-[var(--muted-foreground)] font-normal",children:"(optional)"})]}),(0,b.jsx)("input",{id:"project-desc",type:"text",value:a.description,onChange:b=>d({...a,description:b.target.value}),placeholder:"What this project is about",className:"w-full px-3 py-2.5 rounded-lg border border-[var(--border)] bg-[var(--background)] text-[14px] text-[var(--foreground)] placeholder:text-[var(--muted-foreground)] focus:outline-none focus:ring-2 focus:ring-[var(--foreground)]/20"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("label",{className:"text-[13px] font-medium text-[var(--foreground)]",children:"Folders"}),(0,b.jsxs)("button",{type:"button",onClick:i,disabled:g,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-[12px] font-medium rounded-md border border-[var(--border)] hover:bg-[var(--secondary)] transition-colors disabled:opacity-60",children:[g?(0,b.jsx)(m.Loader2,{className:"w-3 h-3 animate-spin"}):(0,b.jsx)(x.Folder,{className:"w-3 h-3"}),"Browse"]})]}),0===a.folders.length?(0,b.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] py-4 text-center border border-dashed border-[var(--border)] rounded-lg",children:"No folders attached yet. Click Browse to add one."}):(0,b.jsx)("div",{className:"space-y-2",children:a.folders.map(a=>(0,b.jsxs)("div",{className:"border border-[var(--card-border)] rounded-lg px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)(x.Folder,{className:"w-4 h-4 text-[var(--muted-foreground)] shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-[13px] font-medium text-[var(--foreground)] truncate",children:a.name}),(0,b.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)] truncate",children:a.path})]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>j(a.path),className:"p-1 rounded hover:bg-[var(--secondary)] text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,b.jsx)(A.X,{className:"w-3.5 h-3.5"})})]}),(0,b.jsx)(B,{folderPath:a.path})]},a.path))})]})]})]})}var D=a.i(756490),E=a.i(985339),F=a.i(319405);let G=[{id:"gemini",label:"Gemini"},{id:"claude",label:"Claude"},{id:"ollama",label:"Ollama"},{id:"codex",label:"Codex"},{id:"zai",label:"Z.AI"}],H={claude:["claude-opus-4-20250514","claude-sonnet-4-20250514","claude-haiku-4-20250514"],codex:["o4-mini","o3","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano"],gemini:["gemini-2.5-pro","gemini-2.5-flash","gemini-2.0-flash"],ollama:["qwen3:8b","devstral","qwen2.5-coder:14b","llama3.3:70b","deepseek-coder-v2:16b"],zai:["claude-opus-4-20250514","claude-sonnet-4-20250514"]},I={balanced:"bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300",specialist:"bg-purple-100 dark:bg-purple-900/30 text-purple-700 dark:text-purple-300",creative:"bg-amber-100 dark:bg-amber-900/30 text-amber-700 dark:text-amber-300",analytical:"bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-300"};function J({value:a,onChange:d,suggestions:e,placeholder:f="Model name..."}){let[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(""),k=(0,c.useRef)(null);(0,c.useEffect)(()=>{function a(a){k.current&&!k.current.contains(a.target)&&h(!1)}return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[]);let l=e.filter(b=>b.toLowerCase().includes((i||a).toLowerCase()));return(0,b.jsxs)("div",{ref:k,className:"relative flex-1",children:[(0,b.jsx)("input",{type:"text",value:a,placeholder:f,onChange:a=>{d(a.target.value),j(a.target.value),h(!0)},onFocus:()=>h(!0),className:"w-full h-8 px-2.5 text-[12px] rounded-md border border-[var(--card-border)] bg-[var(--background)] text-[var(--foreground)] placeholder:text-[var(--muted-foreground)] focus:outline-none focus:border-[var(--foreground)]/40 transition-colors"}),g&&l.length>0&&(0,b.jsx)("div",{className:"absolute z-50 top-full left-0 right-0 mt-1 max-h-[160px] overflow-y-auto rounded-md border border-[var(--card-border)] bg-[var(--background)] shadow-lg",children:l.map(c=>(0,b.jsx)("button",{type:"button",onClick:()=>{d(c),j(""),h(!1)},className:`w-full text-left px-2.5 py-1.5 text-[12px] transition-colors hover:bg-[var(--secondary)] ${c===a?"text-[var(--foreground)] font-medium":"text-[var(--muted-foreground)]"}`,children:c},c))})]})}function K({provider:a,model:c,onProviderChange:d,onModelChange:e,providers:f,label:g}){let h=H[a]??[];return(0,b.jsxs)("div",{className:"space-y-1.5",children:[g&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:g}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("select",{value:a,onChange:a=>{d(a.target.value),e("")},className:"h-8 px-2 text-[12px] rounded-md border border-[var(--card-border)] bg-[var(--background)] text-[var(--foreground)] focus:outline-none focus:border-[var(--foreground)]/40 transition-colors appearance-none cursor-pointer pr-6",style:{backgroundImage:"url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E\")",backgroundRepeat:"no-repeat",backgroundPosition:"right 6px center"},children:[(0,b.jsx)("option",{value:"",children:"Provider..."}),f.map(a=>(0,b.jsx)("option",{value:a.id,children:a.label},a.id))]}),(0,b.jsx)(J,{value:c,onChange:e,suggestions:h,placeholder:a?"Select or type model...":"Select a provider first"})]})]})}function L({agent:a,override:d,teamProvider:e,teamModel:f,providers:g,onOverrideChange:h}){let i=I[a.style]??I.balanced,j=d&&(d.provider||d.model),[k,l]=(0,c.useState)(!!j);d?.provider;let m=d?.model||f||"";return(0,b.jsxs)("div",{className:"py-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"w-7 h-7 rounded-full bg-[var(--secondary)] flex items-center justify-center text-[12px] font-semibold text-[var(--foreground)]",children:a.name.charAt(0)}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[13px] font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${i}`,children:a.style}),j&&(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded font-medium bg-violet-100 dark:bg-violet-900/30 text-violet-700 dark:text-violet-300",children:"custom"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)] truncate",children:a.title}),(e||f)&&!j&&m&&(0,b.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] opacity-60 shrink-0",children:["(",m,")"]})]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>{k?(h(a.id,void 0),l(!1)):l(!0)},className:"p-1 rounded hover:bg-[var(--background)] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",title:k?"Remove override":"Override provider/model",children:(0,b.jsx)(D.ChevronRight,{className:`w-3 h-3 transition-transform ${k?"rotate-90":""}`})})]}),k&&(0,b.jsx)("div",{className:"mt-1.5 ml-9",children:(0,b.jsx)(K,{provider:d?.provider||"",model:d?.model||"",onProviderChange:b=>h(a.id,{agentId:a.id,provider:b||void 0,model:d?.model}),onModelChange:b=>h(a.id,{agentId:a.id,provider:d?.provider,model:b||void 0}),providers:g})})]})}function M({template:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button",onClick:()=>d(a),className:`w-full text-left p-4 rounded-lg border transition-all ${c?"border-[var(--foreground)] bg-[var(--secondary)]":"border-[var(--card-border)] hover:border-[var(--foreground)]/30 hover:bg-[var(--secondary)]/50"}`,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-lg",children:a.icon}),(0,b.jsx)("span",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:a.name})]}),c&&(0,b.jsx)("div",{className:"w-5 h-5 rounded-full bg-[var(--foreground)] flex items-center justify-center",children:(0,b.jsx)(g.Check,{className:"w-3 h-3 text-[var(--background)]"})})]}),(0,b.jsx)("p",{className:"mt-1 text-[12px] text-[var(--muted-foreground)]",children:a.description}),(0,b.jsxs)("p",{className:"mt-2 text-[11px] text-[var(--muted-foreground)]",children:[a.agents.length," agent",1!==a.agents.length?"s":"",a.variants&&a.variants.length>0?` \xb7 ${a.variants.length} variants`:""]})]})}function N({selectedTeams:a,onChange:d,onNext:e,onBack:f}){let g=(0,F.listTeamTemplates)(),{providers:h}=function(){let[a,b]=(0,c.useState)(G),[d,e]=(0,c.useState)(!0);(0,c.useEffect)(()=>{let a=!1;return(async()=>{try{let c=await fetch("/api/providers"),d=await c.json().catch(()=>({}));if(!c.ok)throw Error(d?.error||`HTTP ${c.status}`);let e=(Array.isArray(d?.providers)?d.providers:[]).filter(a=>a&&"string"==typeof a.id&&"string"==typeof a.label&&!1!==a.installed).map(a=>({id:a.id,label:a.label}));!a&&e.length>0&&b(e)}catch{}finally{a||e(!1)}})(),()=>{a=!0}},[]);let f=(0,c.useMemo)(()=>a.map(a=>a.id),[a]);return{providers:a,providerIds:f,loading:d}}(),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)({}),m=(0,c.useCallback)(b=>a.some(a=>a.templateId===b),[a]),n=(0,c.useCallback)(b=>{if(m(b.id)){d(a.filter(a=>a.templateId!==b.id)),j(null);return}b.variants&&b.variants.length>0?j(i===b.id?null:b.id):d([...a,{templateId:b.id,name:b.name,agents:b.agents}])},[a,d,i,m]),p=(0,c.useCallback)((b,c)=>{l(a=>({...a,[b]:c.id})),d([...a.filter(a=>a.templateId!==b),{templateId:b,variantId:c.id,name:c.name,agents:c.agents}]),j(null)},[a,d]),q=(0,c.useCallback)(b=>{d(a.filter(a=>a.templateId!==b))},[a,d]),r=(0,c.useCallback)((b,c)=>{d(a.map(a=>a.templateId===b?{...a,provider:c||void 0}:a))},[a,d]),s=(0,c.useCallback)((b,c)=>{d(a.map(a=>a.templateId===b?{...a,model:c||void 0}:a))},[a,d]),t=(0,c.useCallback)((b,c,e)=>{d(a.map(a=>{if(a.templateId!==b)return a;let d=(a.agentOverrides??[]).filter(a=>a.agentId!==c);return e&&(e.provider||e.model)&&d.push(e),{...a,agentOverrides:d.length>0?d:void 0}}))},[a,d]);return(0,b.jsxs)(o,{currentStep:4,totalSteps:4,footer:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("button",{type:"button",onClick:f,className:"text-[14px] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Back"}),(0,b.jsx)("button",{type:"button",onClick:e,className:"inline-flex items-center gap-2 px-6 py-2.5 bg-[var(--foreground)] text-[var(--background)] text-[14px] font-semibold rounded-lg hover:opacity-90 transition-all",children:a.length>0?"Create Project":"Skip & Create Project"})]}),children:[(0,b.jsxs)("div",{className:"text-center mb-8",children:[(0,b.jsx)("h1",{className:"text-[24px] font-bold text-[var(--foreground)] tracking-tight",children:"Add Teams"}),(0,b.jsx)("p",{className:"mt-2 text-[14px] text-[var(--muted-foreground)]",children:"Pick team templates to populate your project with agents. You can customize them later."})]}),a.length>0&&(0,b.jsx)("div",{className:"mb-6 space-y-2",children:a.map(a=>(0,b.jsxs)("div",{className:"border border-[var(--foreground)]/20 bg-[var(--secondary)] rounded-lg p-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(E.Users,{className:"w-4 h-4 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"text-[13px] font-semibold text-[var(--foreground)]",children:a.name}),(0,b.jsxs)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:[a.agents.length," agents"]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>q(a.templateId),className:"p-1 rounded hover:bg-[var(--background)] text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,b.jsx)(A.X,{className:"w-3.5 h-3.5"})})]}),(0,b.jsx)("div",{className:"pl-6 mb-2",children:(0,b.jsx)(K,{provider:a.provider||"",model:a.model||"",onProviderChange:b=>r(a.templateId,b),onModelChange:b=>s(a.templateId,b),providers:h,label:"Default provider & model"})}),(0,b.jsx)("div",{className:"pl-6 space-y-0.5",children:a.agents.map(c=>(0,b.jsx)(L,{agent:c,override:a.agentOverrides?.find(a=>a.agentId===c.id),teamProvider:a.provider,teamModel:a.model,providers:h,onOverrideChange:(b,c)=>t(a.templateId,b,c)},c.id))})]},a.templateId))}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-3",children:g.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsx)(M,{template:a,isSelected:m(a.id),onSelect:n}),i===a.id&&a.variants&&a.variants.length>0&&(0,b.jsx)("div",{className:"mt-2 ml-2 border-l-2 border-[var(--border)] pl-3 space-y-1",children:a.variants.map(c=>(0,b.jsxs)("button",{type:"button",onClick:()=>p(a.id,c),className:`w-full text-left px-3 py-2 rounded-md text-[13px] transition-colors ${k[a.id]===c.id?"bg-[var(--secondary)] font-medium text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--secondary)]/50 hover:text-[var(--foreground)]"}`,children:[c.name,(0,b.jsxs)("span",{className:"ml-2 text-[11px] text-[var(--muted-foreground)]",children:[c.agents.length," agents"]})]},c.id))})]},a.id))})]})}var O=a.i(693896);a.s(["default",0,function(){let a=function(){let[a,b]=(0,c.useState)("checking"),[f,g]=(0,c.useState)(e.map(a=>({...a,installed:null,authenticated:null})));(0,c.useEffect)(()=>{let a=!1;return(async()=>{try{let c=await fetch("/api/providers",{cache:"no-store"});if(a)return;if(!c.ok)return void b("error");let f=await c.json(),h=Array.isArray(f?.providers)?f.providers:[],i=e.map(a=>{let b=h.find(b=>b?.id===a.id);return{...a,installed:b?.installed??!1,authenticated:b?.authenticated??!1}});a||(g(i),b(i.some(a=>"ready"===d(a))?"ready":"needs-setup"))}catch{a||b("error")}})(),()=>{a=!0}},[]);let h=(0,c.useCallback)(a=>{g(c=>{let e=c.map(b=>b.id===a?{...b,authenticated:!0}:b);return e.some(a=>"ready"===d(a))&&b("ready"),e})},[]),i=(0,c.useMemo)(()=>f.filter(a=>"needs-auth"===d(a)).map(a=>a.id),[f]),j=i.join(",");(0,c.useEffect)(()=>{if("checking"===a||0===i.length)return;let b=new AbortController,c=new Map;return i.forEach(function a(d){if(b.signal.aborted)return;let e=setTimeout(async()=>{if(!b.signal.aborted){try{let a=await fetch(`/api/providers/check/${d}`,{cache:"no-store",signal:b.signal});if(b.signal.aborted)return;if(a.ok){let b=await a.json();if(b.authenticated)return void h(d);if(!b.installed)return void g(a=>a.map(a=>a.id===d?{...a,installed:!1,authenticated:!1}:a))}}catch{if(b.signal.aborted)return}b.signal.aborted||a(d)}},5e3);c.set(d,e)}),()=>{b.abort(),c.forEach(a=>clearTimeout(a))}},[a,j,h]);let k=f.filter(a=>"ready"===d(a)).length;return{readyState:a,clis:f,authenticatedCount:k,totalCount:f.length,handleVerifySuccess:h}}(),g=function(){let a=(0,f.useRouter)(),[b,d]=(0,c.useState)(1),[e,g]=(0,c.useState)({name:"",description:"",folders:[]}),[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(null),n=(0,c.useCallback)(()=>{d(a=>Math.min(a+1,4))},[]),o=(0,c.useCallback)(()=>{d(a=>Math.max(a-1,1))},[]),p=(0,c.useCallback)(async()=>{k(!0),m(null);try{let b=e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")||"project",c=e.folders.map(a=>({name:a.name,path:a.path})),d=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.name,description:e.description||void 0,repos:c})});if(!d.ok){let a=await d.json().catch(()=>({}));throw Error(a.error||"Failed to create project")}let{project:f}=await d.json(),g=f.id;for(let a of h){let b=a.agents.map(b=>{let c=a.agentOverrides?.find(a=>a.agentId===b.id);return{roleId:b.id,provider:c?.provider||a.provider||void 0,model:c?.model||a.model||void 0}}),c=b.some(a=>a.provider||a.model);await fetch(`/api/projects/${g}/teams`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateId:a.templateId,variantId:a.variantId,name:a.name,...c?{agents:b}:{}})})}a.push(`/projects/${f.slug||b}`)}catch(a){m(a instanceof Error?a.message:"Setup failed")}finally{k(!1)}},[e,h,a]);return{step:b,project:e,teams:h,completing:j,error:l,setProject:g,setTeams:i,goNext:n,goBack:o,complete:p}}();return g.completing?(0,b.jsxs)("div",{className:"h-screen w-full flex flex-col items-center justify-center gap-4 bg-[var(--background)]",children:[(0,b.jsx)(m.Loader2,{className:"w-8 h-8 animate-spin text-[var(--muted-foreground)]"}),(0,b.jsx)("p",{className:"text-[14px] text-[var(--muted-foreground)]",children:"Creating your project..."})]}):(0,b.jsxs)(b.Fragment,{children:[g.error&&(0,b.jsxs)("div",{className:"fixed top-4 left-1/2 -translate-x-1/2 z-50 inline-flex items-center gap-2 rounded-lg border border-red-200 bg-red-50 dark:border-red-800 dark:bg-red-950 px-4 py-2 text-[13px] text-red-800 dark:text-red-200 shadow-lg",children:[(0,b.jsx)(O.AlertCircle,{className:"h-4 w-4 shrink-0"}),g.error]}),1===g.step&&(0,b.jsx)(r,{clis:a.clis,readyState:a.readyState,authenticatedCount:a.authenticatedCount,totalCount:a.totalCount,onVerifySuccess:a.handleVerifySuccess,onNext:g.goNext}),2===g.step&&(0,b.jsx)(w,{onNext:g.goNext,onBack:g.goBack}),3===g.step&&(0,b.jsx)(C,{data:g.project,onChange:g.setProject,onNext:g.goNext,onBack:g.goBack}),4===g.step&&(0,b.jsx)(N,{selectedTeams:g.teams,onChange:g.setTeams,onNext:g.complete,onBack:g.goBack})]})}],514760)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=apps_local_app_setup_page_tsx_0ql2qmr._.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
module.exports=[393041,296037,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(639211),e=a.i(819721),f=a.i(73948),g=a.i(697183),h=a.i(353532),i=a.i(824179),j=a.i(820859),k=a.i(356239),l=a.i(864061),m=a.i(811760),n=a.i(171552),o=a.i(667597),p=a.i(252197),q=a.i(724938),r=a.i(520612);function s(a,b={}){let[d,e]=(0,c.useState)([]),[f,g]=(0,c.useState)(!0),[h,i]=(0,c.useState)(null),j=(0,c.useRef)(!1),k=b.requireProjectId??!1,l=b.includeObjectiveJobs??!1,m=b.objectiveId?.trim()||null,n=(0,c.useCallback)(async()=>{if(k&&!a){e([]),i(null),g(!1),j.current=!0;return}try{j.current||g(!0);let b=new URLSearchParams;a&&b.set("projectId",a),m&&b.set("objectiveId",m),l&&b.set("includeObjectiveJobs","true");let c=b.toString(),d=await fetch(`/api/prompt-jobs${c?`?${c}`:""}`);if(!d.ok)throw Error(`Failed to fetch: ${d.status}`);let f=await d.json();e(f.jobs??[]),i(null)}catch(a){i(a instanceof Error?a.message:String(a))}finally{g(!1),j.current=!0}},[l,m,a,k]);(0,c.useEffect)(()=>{j.current=!1,n();let a=setInterval(n,1e4);return()=>clearInterval(a)},[n]);let o=(0,c.useCallback)(async a=>{let b=await fetch("/api/prompt-jobs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});return b.ok&&await n(),b.ok},[n]),p=(0,c.useCallback)(async(a,b)=>{let c=await fetch(`/api/prompt-jobs/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});return c.ok&&await n(),c.ok},[n]),q=(0,c.useCallback)(async a=>{let b=await fetch(`/api/prompt-jobs/${a}`,{method:"DELETE"});return b.ok&&await n(),b.ok},[n]),r=(0,c.useCallback)(async a=>{let b="active"===a.state?"paused":"active",c=await fetch(`/api/prompt-jobs/${a.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({state:b})});return c.ok&&await n(),c.ok},[n]),t=(0,c.useCallback)(async a=>{let b=await fetch("/api/prompt-jobs/poll",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jobId:a})});return b.ok&&await n(),b.ok},[n]),u=(0,c.useCallback)(async a=>{let b=await fetch(`/api/prompt-jobs/${a}/cancel`,{method:"POST"});return b.ok&&await n(),b.ok},[n]);return{jobs:d,loading:f,error:h,refresh:n,createJob:o,updateJob:p,deleteJob:q,toggleJob:r,runNow:t,cancelRun:u,fetchRuns:(0,c.useCallback)(async a=>{let b=await fetch(`/api/prompt-jobs/${a}/runs`);return b.ok?(await b.json()).runs??[]:[]},[])}}a.s(["usePromptJobs",0,s],296037);var t=a.i(155829),u=a.i(496368),v=a.i(86007),w=a.i(475632),x=a.i(785061),y=a.i(736303),z=a.i(201485),A=a.i(736707);let B=[{value:"prompt",label:"Prompt",description:"Run a prompt on a schedule"},{value:"linear_worker",label:"Linear Worker",description:"Observe Linear workspace and decide what to work on"}],C=(0,e.default)(async()=>{},{loadableGenerated:{modules:[844118]},ssr:!1}),D=(0,e.default)(async()=>{},{loadableGenerated:{modules:[668610]},ssr:!1});function E(a){return"active"===a.state&&(null!==a.nextRunAt&&a.nextRunAt-Date.now()<0?!a.lastRunAt||!(a.lastRunAt>=a.nextRunAt):!!a.prevScheduledAt&&!!a.lastRunAt&&a.lastRunAt>a.prevScheduledAt+3e5)}function F(a,b){if("paused"===b)return"Paused";if("stopped"===b)return"Stopped";if(null===a)return"Pending...";let c=a-Date.now();return c<0?"Overdue":c<6e4?`in ${Math.round(c/1e3)}s`:c<36e5?`in ${Math.round(c/6e4)}m`:c<864e5?`in ${Math.round(c/36e5)}h`:`in ${Math.round(c/864e5)}d`}function G(a){if(!a)return"—";let b=new Date(a);return b.toLocaleDateString("en-US",{month:"short",day:"numeric"})+", "+b.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit"})}function H({children:a}){return(0,b.jsx)("div",{className:"text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--muted-foreground)]",children:a})}function I({children:a}){return(0,b.jsx)("label",{className:"block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2",children:a})}function J(a,b,c=24){let d=b?b.replace("#",""):"e2e8f0";return`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${encodeURIComponent(a)}&size=${c}&backgroundColor=${d}`}function K({agents:a,value:d,onChange:e}){let[f,g]=(0,c.useState)(!1),h=a.find(a=>a.id===d);return(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(I,{children:"Agent"}),(0,b.jsxs)("button",{type:"button",onClick:()=>g(!f),className:"w-full flex items-center gap-2.5 px-3 py-2.5 rounded-lg border border-[var(--card-border)] bg-[var(--muted)] text-left transition-colors hover:border-[var(--muted-foreground)]",children:[h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("img",{src:J(h.id,h.color),alt:"",className:"size-6 rounded-full shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-[var(--foreground)] truncate",children:h.name}),(0,b.jsxs)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:[h.provider,h.model?` / ${h.model}`:""]})]})]}):(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"Select an agent..."}),(0,b.jsx)(m.ChevronDown,{size:14,className:`ml-auto text-[var(--muted-foreground)] transition-transform ${f?"rotate-180":""}`})]}),f&&(0,b.jsx)("div",{className:"absolute z-20 mt-1 w-full rounded-lg border border-[var(--card-border)] bg-[var(--card-bg)] shadow-lg max-h-[280px] overflow-y-auto",children:a.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{e(a.id),g(!1)},className:`w-full flex items-center gap-2.5 px-3 py-2.5 text-left transition-colors hover:bg-[var(--muted)] ${d===a.id?"bg-[var(--muted)]":""}`,children:[(0,b.jsx)("img",{src:J(a.id,a.color),alt:"",className:"size-6 rounded-full shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-xs font-medium text-[var(--foreground)] truncate",children:a.name}),(0,b.jsxs)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:[a.provider,a.model?` / ${a.model}`:""]})]}),d===a.id&&(0,b.jsx)("span",{className:"text-xs text-[var(--foreground)]",children:"✓"})]},a.id))})]})}function L({onClose:a,onSubmit:d,editingJob:e,createDefaults:f,contextLabel:g}){let[h,j]=(0,c.useState)([]),[k,l]=(0,c.useState)(e?.executionMode??f?.executionMode??"prompt"),[o,p]=(0,c.useState)(e?.name??f?.name??""),[q,r]=(0,c.useState)(e?.prompt??f?.prompt??""),[s,t]=(0,c.useState)(e?.agentId??f?.agentId??""),[u,v]=(0,c.useState)(e?.provider??f?.provider??"claude"),[w,x]=(0,c.useState)(e?.model??f?.model??"");(0,c.useEffect)(()=>{fetch("/api/prompt-jobs/agents").then(a=>a.json()).then(a=>j(a.agents??[])).catch(a=>console.warn("[PromptJobBoard] fetch agents failed:",a))},[]);let[y,C]=(0,c.useState)(e?.cliArgs??f?.cliArgs??""),[E,F]=(0,c.useState)(e?.cronExpr||e?.cadence||f?.cadence||""),[G,H]=(0,c.useState)(e?.condition??f?.condition??""),[J,M]=(0,c.useState)(!!(e?.cronExpr||e?.cadence||f?.cadence)),[N,O]=(0,c.useState)(e?.catchUpPolicy??f?.catchUpPolicy??"fire_once"),[P,Q]=(0,c.useState)(!!e?.cliArgs||!!f?.cliArgs||e?.catchUpPolicy!=null&&"fire_once"!==e.catchUpPolicy||f?.catchUpPolicy!=null&&"fire_once"!==f.catchUpPolicy),[R,S]=(0,c.useState)(!1),T=async b=>{b.preventDefault(),o.trim()&&q.trim()&&E.trim()&&J&&(S(!0),await d({name:o.trim(),prompt:q.trim(),agentId:s,provider:u,model:w.trim(),cliArgs:y.trim(),catchUpPolicy:N,cadence:E.trim(),condition:G.trim(),executionMode:k}),S(!1),a())};return(0,b.jsxs)("div",{className:"h-full flex flex-col text-[var(--foreground)]",children:[(0,b.jsxs)("div",{className:"h-14 shrink-0 border-b border-[var(--card-border)] flex items-center justify-between px-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("button",{onClick:a,className:"p-1.5 rounded-md text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] transition-colors",children:(0,b.jsx)(i.X,{size:18})}),(0,b.jsx)("h2",{className:"text-sm font-semibold",children:e?"Edit Scheduled Task":"New Scheduled Task"}),g?(0,b.jsx)("span",{className:"rounded-full border border-sky-500/25 bg-sky-500/10 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-sky-100",children:g}):null]}),(0,b.jsx)("button",{onClick:T,disabled:R||!o.trim()||!q.trim()||!E.trim()||!J,className:"px-5 py-2 rounded-lg text-sm font-medium bg-[var(--foreground)] text-[var(--background)] hover:opacity-90 disabled:opacity-40 transition-opacity",children:R?"Saving...":e?"Save Changes":"Create Task"})]}),(0,b.jsxs)("div",{className:"flex flex-1 min-h-0 overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex-1 border-r border-[var(--card-border)] flex flex-col min-w-0",children:[(0,b.jsx)("div",{className:"px-8 pt-8 pb-4",children:(0,b.jsx)("input",{type:"text",value:o,onChange:a=>p(a.target.value),placeholder:"Untitled job",className:"w-full text-2xl font-bold bg-transparent border-none outline-none placeholder:text-[var(--muted-foreground)]/40 text-[var(--foreground)]",autoFocus:!0})}),(0,b.jsxs)("div",{className:"flex-1 px-8 pb-8 overflow-y-auto",children:[(0,b.jsx)(I,{children:"Instructions"}),(0,b.jsx)("div",{className:"bg-[var(--card-bg)] border border-[var(--card-border)] rounded-xl overflow-hidden min-h-[300px]",children:(0,b.jsx)(D,{content:q,onChange:a=>r(a),placeholder:"Describe what this prompt should do..."})})]})]}),(0,b.jsxs)("div",{className:"w-[380px] shrink-0 overflow-y-auto p-6 space-y-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(I,{children:"Type"}),(0,b.jsx)("div",{className:"space-y-1.5",children:B.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{l(a.value),"linear_worker"===a.value&&(o.trim()||p(A.LINEAR_WORKER_JOB_NAME),q.trim()||r(A.LINEAR_WORKER_DEFAULT_PROMPT))},className:`w-full text-left px-3 py-2 rounded-lg border transition-all ${k===a.value?"border-[var(--foreground)] bg-[var(--foreground)]/5":"border-[var(--card-border)] bg-[var(--muted)] hover:border-[var(--muted-foreground)]"}`,children:[(0,b.jsx)("div",{className:"text-xs font-medium text-[var(--foreground)]",children:a.label}),(0,b.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:a.description})]},a.value))})]}),(0,b.jsx)(K,{agents:h,value:s,onChange:a=>{t(a);let b=h.find(b=>b.id===a);b?(v(b.provider),x(b.model??"")):(v("claude"),x(""))}}),(0,b.jsx)(z.ScheduleConditionPicker,{value:{cadence:E,condition:G},onChange:(a,b)=>{F(a.cadence),H(a.condition),M(b.isScheduleValid)},scheduleLabel:"Schedule",conditionLabel:"Condition",conditionHelpText:"Scheduled runs and Run now will check this condition before executing."}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("button",{type:"button",onClick:()=>Q(!P),className:"flex items-center gap-1.5 text-[11px] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:[(0,b.jsx)(n.Settings2,{size:12})," ",P?"Hide":"Show"," advanced",(0,b.jsx)(m.ChevronDown,{size:12,className:`transition-transform ${P?"rotate-180":""}`})]}),P&&(0,b.jsxs)("div",{className:"mt-3 space-y-3 pt-3 border-t border-[var(--card-border)]",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(I,{children:"CLI Arguments"}),(0,b.jsx)("input",{type:"text",value:y,onChange:a=>C(a.target.value),placeholder:"--dangerously-skip-permissions",className:"w-full bg-[var(--muted)] border border-[var(--card-border)] rounded-lg px-3 py-2 text-sm text-[var(--foreground)] placeholder:text-[var(--muted-foreground)] focus:outline-none focus:border-[var(--foreground)] transition-colors"}),(0,b.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] mt-1",children:"Extra flags passed to the CLI command."})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(I,{children:"When missed"}),(0,b.jsx)("div",{className:"space-y-1.5",children:[{id:"fire_once",label:"Run once on recovery",desc:"Execute a single run regardless of how many were missed"},{id:"replay_all",label:"Run all missed",desc:"Queue one run per missed occurrence (use with caution)"},{id:"skip",label:"Skip and wait for next",desc:"Discard missed runs, wait for the next scheduled time"}].map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>O(a.id),className:`w-full text-left px-3 py-2 rounded-lg border transition-all ${N===a.id?"border-[var(--foreground)] bg-[var(--foreground)]/5":"border-[var(--card-border)] bg-[var(--muted)] hover:border-[var(--muted-foreground)]"}`,children:[(0,b.jsx)("div",{className:"text-xs font-medium text-[var(--foreground)]",children:a.label}),(0,b.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:a.desc})]},a.id))})]})]})]})]})]})]})}function M({run:a,job:d,agentMap:e}){let f=`prompt-run:${a.id}`,g=d.agentId&&e[d.agentId]?e[d.agentId].name:null,h=d.agentId?e[d.agentId]:null,[i,j]=(0,c.useState)(new Set);(0,c.useEffect)(()=>{d.projectId&&fetch(`/api/projects/${encodeURIComponent(d.projectId)}/agents`).then(a=>a.json()).then(a=>{j(new Set((a.agents??[]).map(a=>a.agent_id)))}).catch(a=>console.warn("[PromptJobBoard] fetch project agents failed:",a))},[d.projectId]);let l=(0,c.useMemo)(()=>Object.values(e).filter(a=>i.has(a.id)).map(a=>({id:a.id,name:a.name,title:a.title??void 0,provider:a.provider??"claude",model:a.model,color:a.color})),[e,i]),m=(0,c.useMemo)(()=>`run-root:${a.id}`,[a.id]),{messages:n,setMessages:o,sendMessage:r,loadHistory:s,chatRuns:y,stop:z}=(0,t.useGroupChat)(f),{processes:A,streaming:B,chatRuns:D}=(0,u.useProcessPolling)({workspaceId:f,threadId:m},{messages:n,setMessages:o}),E=(0,c.useMemo)(()=>{let a=[...y];for(let b of D)a.some(a=>a.chatRunId===b.chatRunId)||a.push(b);return a},[y,D]),F=E.some(a=>"queued"===a.status||"running"===a.status)||A.some(a=>"spawning"===a.state||"running"===a.state),G=F?E.some(a=>"queued"===a.status)?"queued":"working":"ready",H=(0,c.useRef)(!1);(0,c.useEffect)(()=>{s().then(()=>{if(!H.current){H.current=!0;let b=a.output?`[Automation run output]
|
|
2
|
+
|
|
3
|
+
${a.output}${a.error?`
|
|
4
|
+
|
|
5
|
+
[Error]
|
|
6
|
+
${a.error}`:""}`:"[Automation run — no output]";fetch("/api/history",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:f,messages:[{id:m,role:"assistant",participantId:d.agentId||null,content:b,timestamp:new Date(a.startedAt??a.createdAt).getTime(),rootMessageId:null,parentMessageId:null,depth:0}]})}).catch(a=>console.warn("[PromptJobBoard] save root message failed:",a))}})},[s,f,m,a,d.agentId]);let I=(0,c.useRef)(null),K=(0,c.useRef)(null),L=(0,c.useRef)(n.length);(0,c.useEffect)(()=>{n.length>L.current&&K.current?.scrollIntoView({behavior:"smooth"}),L.current=n.length},[n.length]);let N=(0,c.useCallback)((a,b,c,d,e,f,g)=>{let h=(0,x.orderParticipantIds)(Array.from(i),e);r(a,b,void 0,m,c,void 0,h.length>0?h:void 0,void 0,f,g)},[r,i,m]);return(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col overflow-hidden",children:[(0,b.jsx)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] px-4 py-2",children:(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"text-[12px] font-semibold text-[var(--foreground)] truncate",children:["Run ",a.id.slice(0,8)]}),(0,b.jsxs)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:[a.status," ",null!=a.durationMs&&`\xb7 ${(a.durationMs/1e3).toFixed(1)}s`]})]})}),(0,b.jsx)("div",{ref:I,className:"min-h-0 flex-1 overflow-y-auto px-4 py-3",children:(0,b.jsxs)("div",{className:"space-y-4 max-w-none",children:[a.output&&(0,b.jsxs)("div",{className:"flex gap-2.5",children:[(0,b.jsx)("div",{className:"shrink-0 mt-0.5",children:h?(0,b.jsx)("img",{src:J(d.agentId,h.color,28),alt:"",className:"size-7 rounded-full"}):(0,b.jsx)("div",{className:"flex size-7 items-center justify-center rounded-full bg-[var(--muted)] text-[10px] text-[var(--muted-foreground)]",children:(0,b.jsx)(k.Terminal,{size:12})})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"mb-1 flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold text-[var(--foreground)]",children:g??d.provider}),(0,b.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded bg-[var(--muted)] text-[var(--muted-foreground)] font-medium uppercase tracking-wider",children:"Run output"})]}),(0,b.jsx)("div",{className:"rounded-lg px-3 py-2 text-[12px] leading-[1.55] bg-[var(--muted)] text-[var(--foreground)]",children:(0,b.jsx)(v.Markdown,{content:a.output})})]})]}),a.error&&(0,b.jsxs)("div",{className:"flex gap-2.5",children:[(0,b.jsx)("div",{className:"shrink-0 mt-0.5",children:(0,b.jsx)("div",{className:"flex size-7 items-center justify-center rounded-full bg-red-500/10 text-[10px] text-red-400",children:"!"})}),(0,b.jsx)("div",{className:"min-w-0 flex-1",children:(0,b.jsx)("div",{className:"rounded-lg px-3 py-2 text-[12px] leading-[1.55] bg-red-500/10 text-red-400",children:(0,b.jsx)("div",{className:"whitespace-pre-wrap break-words",children:a.error})})})]}),!a.output&&!a.error&&(0,b.jsx)("div",{className:"text-center py-12 text-[var(--muted-foreground)] text-sm",children:"queued"===a.status?"Waiting to start...":"running"===a.status?"Running...":"No output captured"}),n.filter(a=>a.id!==m).map(a=>{let c="user"===a.role,f=a.participantId?e[a.participantId]:null,i=f?.name??g??d.provider;return(0,b.jsxs)("div",{className:"flex gap-2.5",children:[(0,b.jsx)("div",{className:"shrink-0 mt-0.5",children:c?(0,b.jsx)("div",{className:"flex size-7 items-center justify-center rounded-full bg-[var(--muted)] text-[var(--muted-foreground)]",children:(0,b.jsx)(p.User,{size:12})}):f?(0,b.jsx)("img",{src:J(f.id,f.color,28),alt:"",className:"size-7 rounded-full"}):h?(0,b.jsx)("img",{src:J(d.agentId,h.color,28),alt:"",className:"size-7 rounded-full"}):(0,b.jsx)("div",{className:"flex size-7 items-center justify-center rounded-full bg-[var(--muted)] text-[10px] text-[var(--muted-foreground)]",children:(0,b.jsx)(k.Terminal,{size:12})})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"mb-1",children:(0,b.jsx)("span",{className:"text-[11px] font-semibold text-[var(--foreground)]",children:c?"You":i})}),(0,b.jsx)("div",{className:`rounded-lg px-3 py-2 text-[12px] leading-[1.55] ${c?"bg-blue-500/10 text-[var(--foreground)]":"bg-[var(--muted)] text-[var(--foreground)]"}`,children:(0,b.jsx)(v.Markdown,{content:(0,w.stripMarkers)(a.content),isUser:c})})]})]},a.id)}),Object.entries(B).filter(([,a])=>a.rootMessageId===m).map(([a])=>{let c=e[a]??h;return(0,b.jsxs)("div",{className:"flex gap-2.5 animate-in fade-in duration-300",children:[(0,b.jsx)("div",{className:"shrink-0 mt-0.5",children:c?(0,b.jsx)("img",{src:J(c.id,c.color,28),alt:"",className:"size-7 rounded-full"}):(0,b.jsx)("div",{className:"flex size-7 items-center justify-center rounded-full bg-[var(--muted)] text-[10px] text-[var(--muted-foreground)]",children:(0,b.jsx)(q.Sparkles,{size:12})})}),(0,b.jsx)("div",{className:"min-w-0 flex-1",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,b.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:c?.name??"Thinking"}),(0,b.jsxs)("span",{className:"inline-flex items-center gap-[3px]",children:[(0,b.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--muted-foreground)]/50 animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,b.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--muted-foreground)]/50 animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,b.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--muted-foreground)]/50 animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})]})})]},`streaming-${a}`)}),(0,b.jsx)("div",{ref:K})]})}),(0,b.jsx)("div",{className:"px-3 py-2",children:(0,b.jsx)(C,{onSend:N,onStop:z,loading:F,activityStatus:G,participants:l,commands:[],placeholder:"Follow up on this run...",initialPinnedParticipantId:d.agentId||void 0})})]})}function N({job:a,agentMap:e,onEdit:h,onToggle:i,onDelete:l,onRunNow:m,onCancelRun:n,fetchRuns:p}){let q,[s,t]=(0,c.useState)([]),[u,v]=(0,c.useState)(!1),{getSelection:w,pushSelection:x,replaceSelection:z}=(0,r.useUrlSelection)(),A=w("run"),C=a.agentId&&e[a.agentId]?e[a.agentId].name:null,D=(0,c.useCallback)(async()=>{v(!1),t(await p(a.id)),v(!0)},[p,a.id]);(0,c.useEffect)(()=>{D()},[D]),(0,c.useEffect)(()=>{let a=setInterval(D,d.UI_POLL_PROMPT_RUNS_MS);return()=>clearInterval(a)},[D]),(0,c.useEffect)(()=>{A&&u&&(s.some(a=>a.id===A)||z({run:null}))},[z,s,u,A]);let I=s.find(a=>a.id===A)??null,K="running"===a.lastOutcome,L=a.cronExpr&&(0,y.cronToHuman)(a.cronExpr)||a.cadence||a.cronExpr,O=(q=a.prompt.split("\n").map(a=>a.trim()).find(Boolean))?q.replace(/^execute\s+/i,""):"No target",P=a.agentId?e[a.agentId]:null;return(0,b.jsx)("div",{className:"h-full flex flex-col text-[var(--foreground)]",children:(0,b.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex w-[420px] shrink-0 flex-col border-r border-[var(--card-border)] overflow-hidden",children:[(0,b.jsx)("div",{className:"border-b border-[var(--card-border)] px-6 py-5",children:(0,b.jsxs)("div",{className:"flex items-start gap-4",children:[(0,b.jsx)("div",{className:"min-w-0 flex-1",children:(0,b.jsx)("h2",{className:"truncate text-[18px] font-semibold text-[var(--foreground)]",children:a.name})}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("button",{onClick:i,type:"button",role:"switch","aria-checked":"active"===a.state,title:"active"===a.state?"Pause":"Resume",className:`relative inline-flex h-[18px] w-[32px] shrink-0 cursor-pointer rounded-full border transition-colors ${"active"===a.state?"border-emerald-400/30 bg-emerald-500/40":"border-[var(--card-border)] bg-[var(--muted)]"}`,children:(0,b.jsx)("span",{className:`pointer-events-none absolute top-[2px] size-[12px] rounded-full bg-white/90 shadow-sm transition-transform ${"active"===a.state?"translate-x-[16px]":"translate-x-[2px]"}`})}),(0,b.jsx)("button",{onClick:m,disabled:K,title:"Run now",className:"rounded-md border border-[var(--card-border)] p-1.5 text-[var(--muted-foreground)] transition-colors hover:border-[var(--foreground)] hover:text-[var(--foreground)] disabled:opacity-50",children:(0,b.jsx)(f.Play,{size:12,className:"fill-current"})}),(0,b.jsx)("button",{onClick:h,title:"Edit",className:"p-1.5 rounded-md border border-[var(--card-border)] text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:border-[var(--foreground)] transition-colors",children:(0,b.jsx)(o.Pencil,{size:12})}),(0,b.jsx)("button",{onClick:l,title:"Delete",className:"p-1.5 rounded-md border border-[var(--card-border)] text-[var(--muted-foreground)] hover:text-red-400 hover:border-red-400/30 transition-colors",children:(0,b.jsx)(g.Trash2,{size:12})})]})]})}),(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:(0,b.jsxs)("div",{className:"space-y-0",children:[(0,b.jsx)("div",{className:"px-6 py-5",children:(0,b.jsx)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] px-5 py-4",children:(0,b.jsxs)("div",{className:"grid grid-cols-[96px,minmax(0,1fr)] items-center gap-x-4 gap-y-4",children:[a.executionMode&&"prompt"!==a.executionMode&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--muted-foreground)]",children:"Type"}),(0,b.jsx)("div",{className:"min-w-0",children:(0,b.jsx)("span",{className:"rounded-md border border-violet-400/20 bg-violet-500/10 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-violet-400",children:B.find(b=>b.value===a.executionMode)?.label??a.executionMode})})]}),(0,b.jsx)("div",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--muted-foreground)]",children:"Agent"}),(0,b.jsx)("div",{className:"min-w-0 flex items-center justify-between gap-3",children:(0,b.jsxs)("div",{className:"min-w-0 flex items-center gap-2.5",children:[P?(0,b.jsx)("img",{src:J(P.id,P.color,20),alt:"",className:"size-5 rounded-full shrink-0"}):(0,b.jsx)(k.Terminal,{size:14,className:"shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsxs)("div",{className:"truncate text-[13px] font-medium text-[var(--foreground)]",children:[C??a.provider,a.model?` (${a.provider} / ${a.model})`:""]})]})}),(0,b.jsx)("div",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--muted-foreground)]",children:"Schedule"}),(0,b.jsx)("div",{className:"truncate text-[13px] font-medium text-[var(--foreground)]",children:L||"—"}),(0,b.jsx)("div",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--muted-foreground)]",children:"Target"}),(0,b.jsx)("div",{className:"truncate font-mono text-[13px] text-[var(--foreground)]",title:O,children:O})]})})}),(0,b.jsxs)("div",{className:"border-t border-[var(--card-border)]",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-6 py-4",children:[(0,b.jsx)(H,{children:"Recent Runs"}),(0,b.jsxs)("span",{className:"text-sm text-[var(--muted-foreground)]",children:[s.length," total"]})]}),(0,b.jsx)("div",{children:0===s.length?(0,b.jsx)("div",{className:"px-6 py-10 text-center text-[11px] text-[var(--muted-foreground)]",children:"No runs yet"}):s.map(a=>{let c=A===a.id,d="success"===a.status;return(0,b.jsxs)("button",{type:"button",onClick:()=>x({run:a.id}),className:`flex w-full items-center gap-4 border-t border-[var(--card-border)]/50 px-6 py-5 text-left transition-colors ${c?"border-l-2 border-l-emerald-400 bg-emerald-500/5":"hover:bg-[var(--muted)]/20"}`,children:[(0,b.jsx)("span",{className:`flex size-6 shrink-0 items-center justify-center rounded-full border text-[11px] ${d?"border-emerald-400 text-emerald-400":"failed"===a.status?"border-red-400 text-red-400":"running"===a.status?"border-sky-400 text-sky-400":"border-[var(--card-border)] text-[var(--muted-foreground)]"}`,children:d?"✓":"failed"===a.status?"!":"•"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"text-[13px] font-medium text-[var(--foreground)]",children:G(a.startedAt??a.createdAt)}),(0,b.jsx)("div",{className:"mt-1 text-[12px] text-[var(--muted-foreground)]",children:null!=a.durationMs?`${(a.durationMs/1e3).toFixed(1)}s`:"running"===a.status?"Running...":a.status.charAt(0).toUpperCase()+a.status.slice(1)})]}),c?(0,b.jsx)("span",{className:"rounded-md bg-[var(--muted)] px-2.5 py-1 text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Viewing"}):null]},a.id)})})]}),(0,b.jsxs)("div",{className:"border-t border-[var(--card-border)] px-6 py-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[K?(0,b.jsx)("button",{onClick:n,className:"inline-flex items-center gap-1.5 rounded-md border border-red-400/30 px-2.5 py-1 text-[10px] font-bold uppercase tracking-[0.05em] text-red-400 transition-colors hover:bg-red-500/10",children:"Cancel run"}):null,a.condition?(0,b.jsx)("span",{className:"rounded-md border border-blue-400/20 bg-blue-500/10 px-2 py-1 text-[10px] font-semibold uppercase tracking-wider text-blue-400",children:"gated"}):null,E(a)&&(0,b.jsxs)("span",{className:"rounded-md border border-amber-500/20 bg-amber-500/10 px-2 py-1 text-[10px] font-semibold uppercase tracking-wider text-amber-400 inline-flex items-center gap-1",children:[(0,b.jsx)(j.Clock,{size:10}),"overdue"]}),(0,b.jsxs)("span",{className:`text-[11px] ${E(a)?"text-amber-400 font-medium":"text-[var(--muted-foreground)]"}`,children:["Next run ",F(a.nextRunAt,a.state)]}),(0,b.jsxs)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:["Last ",a.lastRunAt?G(new Date(a.lastRunAt).toISOString()):"Never"]}),(a.cliArgs||"skip"!==a.overlapPolicy)&&(0,b.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:a.cliArgs?"Custom CLI args":`Overlap ${a.overlapPolicy}`})]}),a.condition?(0,b.jsx)("div",{className:"mt-3 text-[11px] leading-[1.5] text-[var(--muted-foreground)]",children:a.condition}):null]})]})})]}),I?(0,b.jsx)(M,{run:I,job:a,agentMap:e},I.id):(0,b.jsx)("div",{className:"flex min-w-0 flex-1 items-center justify-center text-[var(--muted-foreground)] text-sm",children:0===s.length?'No runs yet. Click "Run now" to trigger one.':"Select a run to view its output"})]})})}a.s(["CreateJobModal",0,L,"default",0,function({projectId:a,requireProjectId:d=!1,includeObjectiveJobs:e=!1,visibleJobIds:f,contextLabel:g,createDefaults:i,onCreateJob:m}={}){let{jobs:n,loading:o,refresh:p,createJob:q,updateJob:t,deleteJob:u,toggleJob:v,runNow:w,cancelRun:x,fetchRuns:z}=s(a,{requireProjectId:d,includeObjectiveJobs:e}),[A,B]=(0,c.useState)("all"),[C,D]=(0,c.useState)(null),[G,H]=(0,c.useState)(!1),[I,K]=(0,c.useState)(null),[M,O]=(0,c.useState)({}),[P,Q]=(0,c.useState)(null),[R,S]=(0,c.useState)({}),{getSelection:T,pushSelection:U,replaceSelection:V}=(0,r.useUrlSelection)(),W=T("job"),X=T("run"),Y=(0,c.useMemo)(()=>f?new Set(f):null,[f]);(0,c.useEffect)(()=>{fetch("/api/prompt-jobs/agents").then(a=>a.json()).then(a=>{let b={};for(let c of a.agents??[])b[c.id]=c;S(b)}).catch(a=>console.warn("[PromptJobBoard] fetch agent map failed:",a))},[]);let Z=a=>{Q(a),setTimeout(()=>Q(null),2500)},$=(0,c.useMemo)(()=>Y?n.filter(a=>Y.has(a.id)):n,[n,Y]),_=$.filter(a=>"all"===A||a.state===A),aa=W?$.find(a=>a.id===W)??null:null,ab=aa??(C?.id===W&&(!Y||Y.has(C.id))?C:null);$.length,$.filter(a=>"active"===a.state).length,$.filter(a=>"paused"===a.state).length,$.filter(a=>"stopped"===a.state).length;let ac=async a=>{await v(a)&&Z(`${a.name} ${"active"===a.state?"paused":"resumed"}`)},ad=async(a,b)=>{if(b?.stopPropagation(),M[a])return;O(b=>({...b,[a]:!0}));let c=await w(a);O(b=>{let c={...b};return delete c[a],c}),c&&Z("Run triggered")},ae=async a=>{await u(a)&&(W===a&&U({job:null,run:null}),Z("Job deleted"))},af=async a=>{await x(a)&&Z("Run cancelled")},ag=async b=>{I?await t(I.id,b)&&Z(`Task "${b.name}" updated`):(m?await m(b):await q({...b,projectId:a??""}))&&(await p(),Z(`Task "${b.name}" created`))};(0,c.useEffect)(()=>{if(!W){D(null),X&&V({run:null});return}if(Y&&!Y.has(W)){D(null),V({job:null,run:null});return}if(aa)return void D(a=>a?.id===W?aa:null);let a=!1;return(async()=>{try{let b=await fetch(`/api/prompt-jobs/${encodeURIComponent(W)}`);if(a)return;if(404===b.status)return void V({job:null,run:null});if(!b.ok)throw Error(`Failed to fetch selected scheduled task: ${b.status}`);let c=await b.json().catch(()=>({}));if(!c.job?.id||!e&&c.job.objectiveId)return void V({job:null,run:null});D(c.job)}catch(b){a||console.error("Failed to hydrate selected prompt job",b)}})(),()=>{a=!0}},[e,V,aa,W,X,Y]);let ah=P&&(0,b.jsx)("div",{className:"fixed bottom-8 left-1/2 -translate-x-1/2 z-50 animate-in fade-in slide-in-from-bottom-2 duration-200",children:(0,b.jsx)("div",{className:"bg-[var(--card-bg)] border border-[var(--card-border)] px-4 py-2.5 rounded-xl shadow-lg flex items-center gap-2.5 text-sm font-medium",children:P})});return G?(0,b.jsxs)(b.Fragment,{children:[ah,(0,b.jsx)(L,{onClose:()=>{H(!1),K(null)},onSubmit:ag,editingJob:I,createDefaults:i,contextLabel:g})]}):(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col text-[var(--foreground)] lg:flex-row",children:[ah,(0,b.jsxs)("div",{className:"flex w-full shrink-0 flex-col border-b border-[var(--card-border)] lg:w-[390px] lg:border-b-0 lg:border-r",children:[(0,b.jsx)("div",{className:"px-6 pb-0 pt-6",children:(0,b.jsx)("div",{className:"border-b border-[var(--card-border)]",children:(0,b.jsxs)("div",{className:"flex items-end justify-between gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("div",{className:"flex items-end gap-10",children:["all","active","paused"].map(a=>{let c=A===a;return(0,b.jsxs)("button",{onClick:()=>B(a),className:`relative pb-4 text-[18px] font-semibold capitalize transition-colors ${c?"text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:[a,c?(0,b.jsx)("span",{className:"absolute bottom-[6px] left-0 h-[4px] w-8 rounded-full bg-[var(--foreground)]"}):null]},a)})}),g?(0,b.jsx)("span",{className:"mb-3 rounded-full border border-sky-500/25 bg-sky-500/10 px-2 py-1 text-[10px] font-semibold uppercase tracking-[0.16em] text-sky-100",children:g}):null]}),(0,b.jsxs)("div",{className:"flex items-center gap-5 pb-4 text-[var(--muted-foreground)]",children:[(0,b.jsx)("button",{onClick:()=>p(),className:"transition-colors hover:text-[var(--foreground)]",title:"Refresh",children:(0,b.jsx)(l.RefreshCw,{size:18})}),(0,b.jsx)("button",{onClick:()=>{K(null),H(!0)},className:"transition-colors hover:text-[var(--foreground)]",title:"New Job",children:(0,b.jsx)(h.Plus,{size:20})})]})]})})}),(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto pb-5",children:o&&0===$.length?(0,b.jsx)("div",{className:"py-12 text-center text-sm text-[var(--muted-foreground)]",children:"Loading scheduled tasks..."}):(0,b.jsxs)("div",{className:"overflow-hidden",children:[_.map(a=>{let c=W===a.id,d=a.cronExpr&&(0,y.cronToHuman)(a.cronExpr)||a.cadence||a.cronExpr;return(0,b.jsx)("div",{onClick:()=>U({job:a.id,run:null}),className:`cursor-pointer border-b border-[var(--card-border)]/50 px-6 py-4 transition-colors ${c?"bg-[var(--card-bg)]":"hover:bg-[var(--muted)]/10"}`,children:(0,b.jsxs)("div",{className:"flex items-start gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("div",{className:"truncate text-[15px] font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-x-4 gap-y-1 text-[12px] text-[var(--muted-foreground)]",children:[(0,b.jsx)("span",{className:"min-w-0 flex items-center gap-1.5 truncate",children:a.agentId&&R[a.agentId]?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("img",{src:J(a.agentId,R[a.agentId].color,16),alt:"",className:"size-4 rounded-full"}),R[a.agentId].name]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(k.Terminal,{size:11}),a.provider]})}),(0,b.jsxs)("span",{className:`flex items-center gap-1 ${E(a)?"text-amber-400 font-medium":""}`,children:[(0,b.jsx)(j.Clock,{size:11}),F(a.nextRunAt,a.state)]}),(0,b.jsx)("span",{className:"truncate font-mono text-[11px]",title:d,children:d}),"linear_worker"===a.executionMode?(0,b.jsx)("span",{className:"rounded-md border border-violet-400/20 bg-violet-500/10 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-violet-400",children:"linear"}):null,a.condition?(0,b.jsx)("span",{className:"rounded-md border border-blue-400/20 bg-blue-500/10 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-blue-400",children:"gated"}):null]})]}),(0,b.jsx)("button",{onClick:b=>{b.stopPropagation(),ac(a)},type:"button",role:"switch","aria-checked":"active"===a.state,title:"active"===a.state?"Pause":"Resume",className:`relative inline-flex h-[18px] w-[32px] shrink-0 cursor-pointer rounded-full border transition-colors ${"active"===a.state?"border-emerald-400/30 bg-emerald-500/40":"border-[var(--card-border)] bg-[var(--muted)]"}`,children:(0,b.jsx)("span",{className:`pointer-events-none absolute top-[2px] size-[12px] rounded-full bg-white/90 shadow-sm transition-transform ${"active"===a.state?"translate-x-[16px]":"translate-x-[2px]"}`})})]})},a.id)}),0===_.length&&(0,b.jsx)("div",{className:"rounded-xl border border-dashed border-[var(--card-border)] py-12 text-center text-sm text-[var(--muted-foreground)]",children:0===$.length?"No scheduled tasks yet. Create one to get started.":"No scheduled tasks match the selected filter."})]})})]}),(0,b.jsx)("div",{className:"min-h-0 min-w-0 flex-1",children:ab?(0,b.jsx)(N,{job:ab,agentMap:R,onEdit:()=>{K(ab),H(!0)},onToggle:()=>ac(ab),onDelete:()=>ae(ab.id),onRunNow:()=>ad(ab.id),onCancelRun:()=>af(ab.id),fetchRuns:z},ab.id):(0,b.jsx)("div",{className:"flex h-full items-center justify-center border-t border-[var(--card-border)] lg:border-l-0 lg:border-t-0",children:(0,b.jsxs)("div",{className:"rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)]/60 px-8 py-10 text-center",children:[(0,b.jsx)("div",{className:"text-sm font-medium text-[var(--foreground)]",children:"Select a scheduled task"}),(0,b.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"The selected job will open here with its runs and chat output."})]})})})]})}],393041)}];
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=apps_local_components_PromptJobBoard_tsx_06zob36._.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
module.exports=[532633,207588,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(935112);let e=[{value:"queued",label:"Queued",color:"var(--status-queued)",icon:"○"},{value:"in_progress",label:"In Progress",color:"var(--status-in-progress)",icon:"◑"},{value:"blocked",label:"Blocked",color:"var(--status-blocked)",icon:"⊘"},{value:"completed",label:"Done",color:"var(--status-completed)",icon:"●"},{value:"failed",label:"Failed",color:"var(--status-failed)",icon:"✕"}];function f({status:a,onStatusChange:g}){let[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(null),l=(0,c.useRef)(null),m=(0,c.useRef)(null),n=(0,c.useCallback)(()=>{if(!l.current)return;let a=l.current.getBoundingClientRect();k({top:a.bottom+4,left:a.left})},[]);(0,c.useEffect)(()=>{if(!h)return;n();let a=a=>{l.current&&!l.current.contains(a.target)&&m.current&&!m.current.contains(a.target)&&i(!1)};return document.addEventListener("
|
|
1
|
+
module.exports=[532633,207588,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(935112);let e=[{value:"queued",label:"Queued",color:"var(--status-queued)",icon:"○"},{value:"in_progress",label:"In Progress",color:"var(--status-in-progress)",icon:"◑"},{value:"blocked",label:"Blocked",color:"var(--status-blocked)",icon:"⊘"},{value:"completed",label:"Done",color:"var(--status-completed)",icon:"●"},{value:"failed",label:"Failed",color:"var(--status-failed)",icon:"✕"}];function f({status:a,onStatusChange:g}){let[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(null),l=(0,c.useRef)(null),m=(0,c.useRef)(null),n=(0,c.useCallback)(()=>{if(!l.current)return;let a=l.current.getBoundingClientRect();k({top:a.bottom+4,left:a.left})},[]);(0,c.useEffect)(()=>{if(!h)return;n();let a=a=>{l.current&&!l.current.contains(a.target)&&m.current&&!m.current.contains(a.target)&&i(!1)};return document.addEventListener("pointerdown",a),()=>document.removeEventListener("pointerdown",a)},[h,n]),(0,c.useEffect)(()=>{i(!1)},[a]);let o=e.find(b=>b.value===a)||e[0],p="completed"===a,q="in_progress"===a;return(0,b.jsxs)("div",{className:"relative flex-shrink-0",ref:l,children:[(0,b.jsxs)("button",{type:"button",onClick:a=>{a.stopPropagation(),g&&i(!h)},className:`w-4 h-4 rounded-full border-[1.5px] flex items-center justify-center transition-all
|
|
2
2
|
hover:scale-110 focus-visible:outline-2 focus-visible:outline-[var(--ring)]
|
|
3
3
|
${g?"cursor-pointer":"cursor-default"}
|
|
4
4
|
${q?"animate-pulse":""}
|
|
5
5
|
`,style:{borderColor:o.color,backgroundColor:p?o.color:"transparent"},title:o.label,children:[p&&(0,b.jsx)("svg",{className:"w-2.5 h-2.5 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,b.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===a&&(0,b.jsx)("svg",{className:"w-2 h-2",viewBox:"0 0 12 12",fill:"none",children:(0,b.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:o.color,strokeWidth:"1.5",strokeLinecap:"round"})}),q&&(0,b.jsx)("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:o.color}})]}),h&&j&&(0,d.createPortal)((0,b.jsx)("div",{ref:m,className:"fixed z-[9999] py-1 rounded-lg border shadow-lg min-w-[140px]",style:{top:j.top,left:j.left,backgroundColor:"var(--card-bg)",borderColor:"var(--card-border)"},children:e.map(c=>{let d=c.value===a;return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors
|
|
6
6
|
hover:bg-[var(--item-hover-bg)]
|
|
7
7
|
${d?"font-semibold bg-[var(--item-hover-bg)]":""}
|
|
8
|
-
`,onClick:a=>{a.stopPropagation(),g?.(c.value),i(!1)},children:[(0,b.jsxs)("span",{className:"w-3 h-3 rounded-full border-[1.5px] flex items-center justify-center",style:{borderColor:c.color,backgroundColor:"completed"===c.value?c.color:"transparent"},children:["completed"===c.value&&(0,b.jsx)("svg",{className:"w-2 h-2 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,b.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===c.value&&(0,b.jsx)("svg",{className:"w-1.5 h-1.5",viewBox:"0 0 12 12",fill:"none",children:(0,b.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:c.color,strokeWidth:"1.5",strokeLinecap:"round"})}),"in_progress"===c.value&&(0,b.jsx)("div",{className:"w-1 h-1 rounded-full",style:{backgroundColor:c.color}})]}),(0,b.jsx)("span",{style:{color:d?c.color:void 0},children:c.label}),d&&(0,b.jsx)("svg",{className:"w-3 h-3 ml-auto",viewBox:"0 0 12 12",fill:"none",children:(0,b.jsx)("path",{d:"M2 6L5 9L10 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},c.value)})}),document.body)]})}var g=a.i(553893);let h=new Map,i=new Map;async function j(a){let b=h.get(a);if(void 0!==b)return b;let c=i.get(a);if(c)return c;let d=(async()=>{let b=await fetch(`/api/tasks/${a}/graph`,{method:"GET",cache:"no-store"});if(404===b.status)return h.set(a,null),null;let c=await b.json().catch(()=>({}));if(!b.ok)throw Error(c?.error||`Failed to fetch graph summary (${b.status})`);let d=c?.graph??null,e=d?(0,g.buildGraphSummary)(d):null;return h.set(a,e),e})();i.set(a,d);try{return await d}finally{i.delete(a)}}let k={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},l={INTAKE:{icon:"📥",label:"Intake"},PROGRESS:{icon:"🔄",label:"Progress"},DONE:{icon:"✅",label:"Done"}};a.s(["default",0,function({task:a,onClick:d,compact:e=!1,onStatusChange:g,onApprovalModeChange:i,
|
|
8
|
+
`,onClick:a=>{a.stopPropagation(),g?.(c.value),i(!1)},children:[(0,b.jsxs)("span",{className:"w-3 h-3 rounded-full border-[1.5px] flex items-center justify-center",style:{borderColor:c.color,backgroundColor:"completed"===c.value?c.color:"transparent"},children:["completed"===c.value&&(0,b.jsx)("svg",{className:"w-2 h-2 text-white",viewBox:"0 0 12 12",fill:"none",children:(0,b.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),"failed"===c.value&&(0,b.jsx)("svg",{className:"w-1.5 h-1.5",viewBox:"0 0 12 12",fill:"none",children:(0,b.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:c.color,strokeWidth:"1.5",strokeLinecap:"round"})}),"in_progress"===c.value&&(0,b.jsx)("div",{className:"w-1 h-1 rounded-full",style:{backgroundColor:c.color}})]}),(0,b.jsx)("span",{style:{color:d?c.color:void 0},children:c.label}),d&&(0,b.jsx)("svg",{className:"w-3 h-3 ml-auto",viewBox:"0 0 12 12",fill:"none",children:(0,b.jsx)("path",{d:"M2 6L5 9L10 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},c.value)})}),document.body)]})}var g=a.i(553893);let h=new Map,i=new Map;async function j(a){let b=h.get(a);if(void 0!==b)return b;let c=i.get(a);if(c)return c;let d=(async()=>{let b=await fetch(`/api/tasks/${a}/graph`,{method:"GET",cache:"no-store"});if(404===b.status)return h.set(a,null),null;let c=await b.json().catch(()=>({}));if(!b.ok)throw Error(c?.error||`Failed to fetch graph summary (${b.status})`);let d=c?.graph??null,e=d?(0,g.buildGraphSummary)(d):null;return h.set(a,e),e})();i.set(a,d);try{return await d}finally{i.delete(a)}}let k={queued:{className:"badge-status-queued",label:"Queued",dotColor:"bg-[var(--status-queued)]"},in_progress:{className:"badge-status-in_progress",label:"In Progress",dotColor:"bg-[var(--status-in-progress)]"},blocked:{className:"badge-status-blocked",label:"Blocked",dotColor:"bg-[var(--status-blocked)]"},completed:{className:"badge-status-completed",label:"Completed",dotColor:"bg-[var(--status-completed)]"},failed:{className:"badge-status-failed",label:"Failed",dotColor:"bg-[var(--status-failed)]"}},l={INTAKE:{icon:"📥",label:"Intake"},PROGRESS:{icon:"🔄",label:"Progress"},DONE:{icon:"✅",label:"Done"}};a.s(["default",0,function({task:a,onClick:d,compact:e=!1,onStatusChange:g,onApprovalModeChange:i,onStageChange:m,stageOptions:n,currentStage:o,allTasks:p,relationship:q="none"}){k[a.status||"queued"],a.stage&&l[a.stage];let{summary:r,isLoading:s}=function(a){let b=(0,c.useMemo)(()=>a?h.get(a)??null:null,[a]),[d,e]=(0,c.useState)(b),[f,g]=(0,c.useState)(!!a&&null===b),[i,k]=(0,c.useState)(null),l=(0,c.useCallback)(async()=>{if(!a){e(null),k(null),g(!1);return}g(!0),k(null);try{let b=await j(a);e(b)}catch(a){k(a instanceof Error?a.message:"Failed to fetch graph summary"),e(null)}finally{g(!1)}},[a]);return(0,c.useEffect)(()=>{l()},[l]),{summary:d,isLoading:f,error:i,refresh:l}}("draft"!==a.id?a.id:null),t=o??a.stage,u=t&&n?n.indexOf(t):-1,v=u>0&&n?n[u-1]:null,w=u>=0&&n&&u<n.length-1?n[u+1]:null,x=a.depends_on?.length?a.depends_on.map(a=>{let b=p?.find(b=>b.id===a);return{id:a,title:b?.title||a.slice(0,8),done:b?.status==="completed"}}):null;return x&&x.every(a=>a.done),(0,b.jsxs)("div",{onClick:d,role:"button",tabIndex:0,onKeyDown:a=>"Enter"===a.key&&d?.(),className:`group relative flex flex-col gap-1.5 sm:gap-2 p-2 sm:p-3 surface-card cursor-grab active:cursor-grabbing
|
|
9
9
|
focus-visible:outline-2 focus-visible:outline-[var(--ring)] focus-visible:outline-offset-2
|
|
10
|
-
${"active"===
|
|
11
|
-
${"failed"===a.status&&"none"===
|
|
12
|
-
${"completed"===a.status&&"none"===
|
|
10
|
+
${"active"===q?"border-primary ring-2 ring-primary/20 z-40":"blocking"===q?"border-[var(--status-blocked)] bg-rose-50/30 dark:bg-rose-950/20 z-20":"dependent"===q?"border-[var(--status-in-progress)] bg-blue-50/30 dark:bg-blue-950/20 z-20":"dimmed"===q?"opacity-40 grayscale scale-[0.98]":""}
|
|
11
|
+
${"failed"===a.status&&"none"===q?"border-red-200 bg-red-50/30 dark:bg-red-950/20":""}
|
|
12
|
+
${"completed"===a.status&&"none"===q?"opacity-75 bg-[var(--secondary)]":""}
|
|
13
13
|
`,children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,b.jsx)("h3",{className:`text-sm font-medium text-[var(--foreground)] leading-snug line-clamp-2 sm:line-clamp-3
|
|
14
14
|
${"completed"===a.status?"text-[var(--muted-foreground)] line-through":""}
|
|
15
|
-
`,children:a.title||"Untitled Task"}),(0,b.jsx)("div",{className:"shrink-0 mt-0.5",children:(0,b.jsx)(f,{status:a.status||"queued",onStatusChange:g})})]}),(0,b.jsx)("div",{className:"flex items-center justify-between min-h-[16px]",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[var(--muted-foreground)] flex-wrap",children:[void 0!==a.priority&&a.priority>0&&(0,b.jsxs)("span",{className:`px-1.5 py-0.5 rounded font-semibold bg-[var(--secondary)] ${0===a.priority?"text-[var(--primary)]":""}`,children:["P",a.priority]}),i&&("auto"===a.approval_mode?(0,b.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400 cursor-pointer select-none",title:"Auto-approve enabled. Click to switch to manual.",onClick:a=>{a.stopPropagation(),i("manual")},children:"AUTO"}):(0,b.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-gray-100 text-gray-400 dark:bg-gray-800 dark:text-gray-500 cursor-pointer select-none opacity-0 group-hover:opacity-100 transition-opacity",title:"Manual approval. Click to enable auto-approve.",onClick:a=>{a.stopPropagation(),i("auto")},children:"AUTO"})),"draft"!==a.id&&(0,b.jsx)("span",{className:"opacity-0 group-hover:opacity-100 transition-opacity font-mono text-[9px]",children:a.id.slice(0,5)})]})})]})}],532633);let m={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};a.s(["useTasks",0,function(a={}){let b="1"===process.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,d=a.project,e=a.status,f=a.orphan,g=a.realtime,[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)(!0),[l,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(null),[q,r]=(0,c.useState)(null),s=(0,c.useCallback)(a=>{if(!a)return[];if(Array.isArray(a))return Array.from(new Set(a.map(a=>String(a||"").trim()).filter(Boolean)));if("string"==typeof a){let b=a.trim();if(!b)return[];try{let a=JSON.parse(b);if(Array.isArray(a))return Array.from(new Set(a.map(a=>String(a||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(b.split(",").map(a=>a.trim()).filter(Boolean)))}return[]},[]),t=(0,c.useCallback)(a=>{let b=String(a||"").match(/^---\n([\s\S]*?)\n---\n?/);if(!b)return[];let c=b[1].split("\n").find(a=>a.trim().toLowerCase().startsWith("depends_on:"));return c?s(c.slice(c.indexOf(":")+1).trim()):[]},[s]),u=(0,c.useCallback)((a,b)=>{let c=s(a.depends_on);if(c.length>0)return{...a,depends_on:c};let d="string"==typeof a?.content?t(a.content):[];if(d.length>0)return{...a,depends_on:d};let e=s(b?.depends_on);return e.length>0?{...a,depends_on:e}:a},[t,s]),v=(0,c.useCallback)(async()=>{try{let a=new URLSearchParams;d&&a.set("project",d),e&&a.set("status",e),f&&a.set("orphan","1");let b=await fetch(`/api/tasks?${a.toString()}`);if(!b.ok)throw Error("Failed to fetch tasks");let c=await b.json(),g=Array.isArray(c.tasks)?c.tasks.map(a=>u(a)):[];i(g),n(null)}catch(a){n(a instanceof Error?a:Error("Unknown error"))}finally{k(!1)}},[d,e,f]);(0,c.useEffect)(()=>{v()},[v]),(0,c.useEffect)(()=>{if(!b||!g)return;let a=setInterval(v,3e3);return()=>clearInterval(a)},[b,g,v]),(0,c.useEffect)(()=>{if(b||!g)return;let a={auth:{getSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600,user:{id:m.id,email:m.email,user_metadata:{name:m.name,full_name:m.name}}}},error:null}),signInWithOAuth:async()=>({error:Error("Auth disabled in AGX Board local mode")}),signOut:async()=>({error:null}),onAuthStateChange:()=>({data:{subscription:{unsubscribe(){}}}})},channel:()=>({on(){return this},subscribe(){return this}}),removeChannel(){}},c=a.channel("tasks-changes").on("postgres_changes",{event:"*",schema:"public",table:"tasks"},a=>{"INSERT"===a.eventType?i(b=>{let c=u(a.new);return b.some(a=>a.id===c.id)?b:[c,...b]}):"UPDATE"===a.eventType?i(b=>b.map(b=>b.id===a.new.id?u(a.new,b):b)):"DELETE"===a.eventType&&i(b=>b.filter(b=>b.id!==a.old.id))}).subscribe();return()=>{a.removeChannel(c)}},[g,b]),(0,c.useEffect)(()=>{if(b||!g)return;let a=setInterval(v,3e3);return()=>clearInterval(a)},[g,b,v]);let w=(0,c.useCallback)(async(a,b)=>{let c=await fetch("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:a,swarm_models:b})});if(!c.ok)throw Error((await c.json()).error||"Failed to create task");let{task:d}=await c.json(),e=u(d);return i(a=>a.some(a=>a.id===e.id)?a:[e,...a]),e},[a.realtime,u]),x=(0,c.useCallback)(async(a,b)=>{let c=await fetch(`/api/tasks/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!c.ok){let a=null;throw"function"==typeof c.json&&(a=await c.json().catch(a=>(console.warn("[useTasks] failed to parse response:",a),null))),Error(a?.error||a?.details||`Failed to update task (${c.status} ${c.statusText||"Error"})`)}let{task:d}=await c.json();return i(b=>b.map(b=>b.id===a?u({...b,...d},b):b)),u(d)},[a.realtime,u]),y=(0,c.useCallback)(async a=>{if(!(await fetch(`/api/tasks/${a}`,{method:"DELETE"})).ok)throw Error("Failed to delete task");i(b=>b.filter(b=>b.id!==a))},[a.realtime]),z=(0,c.useCallback)(async a=>{let b=await fetch("/api/queue/complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to complete task stage");let{task:c}=await b.json();return i(b=>b.map(b=>b.id===a.taskId?u({...b,...c},b):b)),u(c)},[a.realtime,u]),A=(0,c.useCallback)(async a=>{p(a.taskId),r(null);try{let b=await fetch(`/api/orchestrator/tasks/${a.taskId}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a.reason?{reason:a.reason}:{})});if(!b.ok){let a=await b.json().catch(()=>({})),c=a?.error||"Failed to cancel workflow";throw Error(c)}return b.json()}catch(b){let a=b instanceof Error?b:Error("Failed to cancel workflow");throw r(a),a}finally{p(null)}},[]),B=(0,c.useCallback)(async a=>{let b=await fetch(`/api/tasks/${a}`),c=await b.json().catch(a=>(console.warn("[useTasks] failed to parse response:",a),null));if(!b.ok)throw Error(c?.error||"Failed to fetch task details");return u(c?.task)},[u]),C=(0,c.useCallback)(async a=>{let b=await fetch("/api/tasks/assign-orphans",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({project_id:a})}),c=await b.json().catch(()=>({}));if(!b.ok)throw Error(c?.error||"Failed to assign orphan tasks");return await v(),{updatedCount:Number(c?.updatedCount||0),taskIds:Array.isArray(c?.taskIds)?c.taskIds:[]}},[v]);return{tasks:h,isLoading:j,error:l,cancellingTaskId:o,isCancelling:!!o,cancelError:q,refetch:v,createTask:w,updateTask:x,deleteTask:y,completeTaskStage:z,cancelWorkflow:A,fetchTask:B,assignOrphanTasksToProject:C}}],207588)}];
|
|
15
|
+
`,children:a.title||"Untitled Task"}),(0,b.jsx)("div",{className:"shrink-0 mt-0.5",children:(0,b.jsx)(f,{status:a.status||"queued",onStatusChange:g})})]}),(0,b.jsx)("div",{className:"flex items-center justify-between min-h-[16px]",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-[var(--muted-foreground)] flex-wrap",children:[void 0!==a.priority&&a.priority>0&&(0,b.jsxs)("span",{className:`px-1.5 py-0.5 rounded font-semibold bg-[var(--secondary)] ${0===a.priority?"text-[var(--primary)]":""}`,children:["P",a.priority]}),i&&("auto"===a.approval_mode?(0,b.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400 cursor-pointer select-none",title:"Auto-approve enabled. Click to switch to manual.",onClick:a=>{a.stopPropagation(),i("manual")},children:"AUTO"}):(0,b.jsx)("span",{className:"px-1.5 py-0.5 rounded font-semibold bg-gray-100 text-gray-400 dark:bg-gray-800 dark:text-gray-500 cursor-pointer select-none opacity-0 group-hover:opacity-100 transition-opacity",title:"Manual approval. Click to enable auto-approve.",onClick:a=>{a.stopPropagation(),i("auto")},children:"AUTO"})),"draft"!==a.id&&(0,b.jsx)("span",{className:"opacity-0 group-hover:opacity-100 transition-opacity font-mono text-[9px]",children:a.id.slice(0,5)})]})}),m&&t&&(v||w)?(0,b.jsxs)("div",{className:"flex items-center gap-2 pt-1",children:[v?(0,b.jsxs)("button",{type:"button",className:"rounded-full border border-[var(--border)] px-2.5 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",onClick:a=>{a.stopPropagation(),m(v)},children:["Back to ",v]}):null,w?(0,b.jsxs)("button",{type:"button",className:"rounded-full border border-[var(--border)] px-2.5 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",onClick:a=>{a.stopPropagation(),m(w)},children:["Move to ",w]}):null]}):null]})}],532633);let m={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};a.s(["useTasks",0,function(a={}){let b="1"===process.env.NEXT_PUBLIC_AGX_BOARD_DISABLE_AUTH,d=a.project,e=a.status,f=a.orphan,g=a.realtime,[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)(!0),[l,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(null),[q,r]=(0,c.useState)(null),s=(0,c.useCallback)(a=>{if(!a)return[];if(Array.isArray(a))return Array.from(new Set(a.map(a=>String(a||"").trim()).filter(Boolean)));if("string"==typeof a){let b=a.trim();if(!b)return[];try{let a=JSON.parse(b);if(Array.isArray(a))return Array.from(new Set(a.map(a=>String(a||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(b.split(",").map(a=>a.trim()).filter(Boolean)))}return[]},[]),t=(0,c.useCallback)(a=>{let b=String(a||"").match(/^---\n([\s\S]*?)\n---\n?/);if(!b)return[];let c=b[1].split("\n").find(a=>a.trim().toLowerCase().startsWith("depends_on:"));return c?s(c.slice(c.indexOf(":")+1).trim()):[]},[s]),u=(0,c.useCallback)((a,b)=>{let c=s(a.depends_on);if(c.length>0)return{...a,depends_on:c};let d="string"==typeof a?.content?t(a.content):[];if(d.length>0)return{...a,depends_on:d};let e=s(b?.depends_on);return e.length>0?{...a,depends_on:e}:a},[t,s]),v=(0,c.useCallback)(async()=>{try{let a=new URLSearchParams;d&&a.set("project",d),e&&a.set("status",e),f&&a.set("orphan","1");let b=await fetch(`/api/tasks?${a.toString()}`);if(!b.ok)throw Error("Failed to fetch tasks");let c=await b.json(),g=Array.isArray(c.tasks)?c.tasks.map(a=>u(a)):[];i(g),n(null)}catch(a){n(a instanceof Error?a:Error("Unknown error"))}finally{k(!1)}},[d,e,f]);(0,c.useEffect)(()=>{v()},[v]),(0,c.useEffect)(()=>{if(!b||!g)return;let a=setInterval(v,3e3);return()=>clearInterval(a)},[b,g,v]),(0,c.useEffect)(()=>{if(b||!g)return;let a={auth:{getSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600,user:{id:m.id,email:m.email,user_metadata:{name:m.name,full_name:m.name}}}},error:null}),signInWithOAuth:async()=>({error:Error("Auth disabled in AGX Board local mode")}),signOut:async()=>({error:null}),onAuthStateChange:()=>({data:{subscription:{unsubscribe(){}}}})},channel:()=>({on(){return this},subscribe(){return this}}),removeChannel(){}},c=a.channel("tasks-changes").on("postgres_changes",{event:"*",schema:"public",table:"tasks"},a=>{"INSERT"===a.eventType?i(b=>{let c=u(a.new);return b.some(a=>a.id===c.id)?b:[c,...b]}):"UPDATE"===a.eventType?i(b=>b.map(b=>b.id===a.new.id?u(a.new,b):b)):"DELETE"===a.eventType&&i(b=>b.filter(b=>b.id!==a.old.id))}).subscribe();return()=>{a.removeChannel(c)}},[g,b]),(0,c.useEffect)(()=>{if(b||!g)return;let a=setInterval(v,3e3);return()=>clearInterval(a)},[g,b,v]);let w=(0,c.useCallback)(async(a,b)=>{let c=await fetch("/api/tasks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:a,swarm_models:b})});if(!c.ok)throw Error((await c.json()).error||"Failed to create task");let{task:d}=await c.json(),e=u(d);return i(a=>a.some(a=>a.id===e.id)?a:[e,...a]),e},[a.realtime,u]),x=(0,c.useCallback)(async(a,b)=>{let c=await fetch(`/api/tasks/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!c.ok){let a=null;throw"function"==typeof c.json&&(a=await c.json().catch(a=>(console.warn("[useTasks] failed to parse response:",a),null))),Error(a?.error||a?.details||`Failed to update task (${c.status} ${c.statusText||"Error"})`)}let{task:d}=await c.json();return i(b=>b.map(b=>b.id===a?u({...b,...d},b):b)),u(d)},[a.realtime,u]),y=(0,c.useCallback)(async a=>{if(!(await fetch(`/api/tasks/${a}`,{method:"DELETE"})).ok)throw Error("Failed to delete task");i(b=>b.filter(b=>b.id!==a))},[a.realtime]),z=(0,c.useCallback)(async a=>{let b=await fetch("/api/queue/complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to complete task stage");let{task:c}=await b.json();return i(b=>b.map(b=>b.id===a.taskId?u({...b,...c},b):b)),u(c)},[a.realtime,u]),A=(0,c.useCallback)(async a=>{p(a.taskId),r(null);try{let b=await fetch(`/api/orchestrator/tasks/${a.taskId}/cancel`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a.reason?{reason:a.reason}:{})});if(!b.ok){let a=await b.json().catch(()=>({})),c=a?.error||"Failed to cancel workflow";throw Error(c)}return b.json()}catch(b){let a=b instanceof Error?b:Error("Failed to cancel workflow");throw r(a),a}finally{p(null)}},[]),B=(0,c.useCallback)(async a=>{let b=await fetch(`/api/tasks/${a}`),c=await b.json().catch(a=>(console.warn("[useTasks] failed to parse response:",a),null));if(!b.ok)throw Error(c?.error||"Failed to fetch task details");return u(c?.task)},[u]),C=(0,c.useCallback)(async a=>{let b=await fetch("/api/tasks/assign-orphans",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({project_id:a})}),c=await b.json().catch(()=>({}));if(!b.ok)throw Error(c?.error||"Failed to assign orphan tasks");return await v(),{updatedCount:Number(c?.updatedCount||0),taskIds:Array.isArray(c?.taskIds)?c.taskIds:[]}},[v]);return{tasks:h,isLoading:j,error:l,cancellingTaskId:o,isCancelling:!!o,cancelError:q,refetch:v,createTask:w,updateTask:x,deleteTask:y,completeTaskStage:z,cancelWorkflow:A,fetchTask:B,assignOrphanTasksToProject:C}}],207588)}];
|
|
16
16
|
|
|
17
17
|
//# sourceMappingURL=apps_local_components_TaskCard_tsx_0e35_z5._.js.map
|