@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 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,749410,481248,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(174080),s=e.i(498027),o=e.i(997626),i=e.i(55236),n=e.i(363732);let l=(0,n.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);var d=e.i(929870),c=e.i(8707),u=e.i(797167),m=e.i(257587),p=e.i(938201),x=e.i(572665);let h=(0,n.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var b=e.i(597628),f=e.i(99296);let g=(0,n.default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var v=e.i(522016),j=e.i(884564),w=e.i(535208),k=e.i(902572),N=e.i(644660);function y({compact:e=!1}){return(0,t.jsxs)("span",{className:`workspace-sidebar__brand-logo${e?" workspace-sidebar__brand-logo--compact":""}`,"aria-hidden":"true",children:[(0,t.jsxs)("span",{className:"workspace-sidebar__brand-grid",children:[(0,t.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--blue"}),(0,t.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--yellow"}),(0,t.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--mint"}),(0,t.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--red"})]}),(0,t.jsx)("span",{className:"workspace-sidebar__brand-text",children:"AGX"})]})}function _({projects:e,activeProjectId:a,onSelectProject:o,onCreateProject:n}){let[l,m]=(0,r.useState)(!1),[p,x]=(0,r.useState)(""),h=(0,r.useRef)(null),b=(0,r.useRef)(null),f=e.find(e=>e.id===a)??e[0],g=p.trim()?e.filter(e=>e.name.toLowerCase().includes(p.toLowerCase())):e;return(0,r.useEffect)(()=>{if(!l)return;let e=e=>{h.current&&!h.current.contains(e.target)&&(m(!1),x(""))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[l]),(0,r.useEffect)(()=>{l&&b.current&&b.current.focus()},[l]),(0,t.jsxs)("div",{className:"px-3 pt-3 pb-2",ref:h,children:[(0,t.jsxs)("button",{type:"button",onClick:()=>m(!l),className:"flex w-full items-center gap-2 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] px-2.5 py-2 text-sm text-[var(--foreground)] transition-all hover:border-[var(--app-shell-border-strong)]",children:[(0,t.jsx)(i.Folder,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"flex-1 truncate text-left font-medium",children:f?.name??"Select project"}),(0,t.jsx)(s.ChevronDown,{size:14,className:`flex-shrink-0 text-[var(--muted-foreground)] transition-transform ${l?"rotate-180":""}`})]}),l&&(0,t.jsxs)("div",{className:"mt-1 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg overflow-hidden",children:[(0,t.jsx)("div",{className:"p-2 border-b border-[var(--app-shell-border)]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-2 py-1.5",children:[(0,t.jsx)(c.Search,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("input",{ref:b,type:"text",value:p,onChange:e=>x(e.target.value),placeholder:"Search projects...",className:"flex-1 bg-transparent text-xs text-[var(--foreground)] placeholder:text-[var(--muted-foreground)] outline-none"}),p&&(0,t.jsx)("button",{type:"button",onClick:()=>x(""),className:"text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,t.jsx)(u.X,{size:10})})]})}),(0,t.jsxs)("div",{className:"max-h-52 overflow-y-auto py-1",children:[g.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{o?.(e.id),m(!1),x("")},className:`flex w-full items-center gap-2 px-3 py-1.5 text-sm transition-colors hover:bg-[var(--app-shell-subtle)] ${e.id===f?.id?"text-[var(--foreground)] font-medium":"text-[var(--muted-foreground)]"}`,children:[(0,t.jsx)(i.Folder,{size:12,className:"flex-shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.id)),0===g.length&&(0,t.jsx)("p",{className:"px-3 py-2 text-xs text-[var(--muted-foreground)]",children:"No projects found"})]}),(0,t.jsx)("div",{className:"border-t border-[var(--app-shell-border)] p-1",children:(0,t.jsxs)("button",{type:"button",onClick:()=>{m(!1),x(""),n()},className:"flex w-full items-center gap-2 rounded-md px-2.5 py-1.5 text-xs text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:[(0,t.jsx)(d.Plus,{size:12}),(0,t.jsx)("span",{children:"New project"})]})})]})]})}e.s(["WorkspaceSidebar",0,function({threads:e,participants:s=[],activeThreadId:i,isLoading:n,isCreating:c,onSelectThread:S,onCreateThread:C,onRenameThread:I,onDeleteThread:z,deletingThreadId:$=null,renamingThreadId:P=null,activeParticipantIds:A=[],onToggleParticipantActive:E,visible:L=!1,isRestoringActiveThread:F=!1,onToggle:T,onSearch:M,projects:B=[],onCreateProject:R,onUpdateProject:D,onDeleteProject:W,onAddAgentToProject:K,onRemoveAgentFromProject:V,onAddAgentViaForm:O,onReorderProjectAgents:U,onUpdateParticipant:q,onSelectProject:X,activeProjectId:J=null,activeProjectView:H=null,width:Y,onWidthChange:G,onAddTeam:Z}){let Q,ee,et=(0,r.useRef)(!1);(0,r.useRef)(0);let er=(0,r.useRef)(null),[ea,es]=(0,r.useState)(!1),[eo,ei]=(0,r.useState)(new Set);(0,r.useEffect)(()=>{if(eo.size>0||!B?.length)return;let e=B.find(e=>window.location.pathname.includes(`/projects/${e.slug}`));ei(new Set([e?.id??B[0].id]))},[B]);let[en,el]=(0,r.useState)(null),[ed,ec]=(0,r.useState)(new Set),[eu,em]=(0,r.useState)(!1),[ep,ex]=(0,r.useState)(null),[eh,eb]=(0,r.useState)(null),ef=(0,w.useProjectFormState)(),[eg,ev]=(0,r.useState)(null),ej=(0,r.useCallback)(e=>{e&&(e.focus(),e.select())},[]),[ew,ek]=(0,r.useState)(null),[eN,ey]=(0,r.useState)(null),e_=eN?s.find(e=>e.id===eN)??null:null,[eS,eC]=(0,r.useState)(null),[eI,ez]=(0,r.useState)({});(0,r.useEffect)(()=>{if(!B?.length)return;let e=!1,t=async()=>{try{let t=await fetch("/api/processes?enrich=1");if(!t.ok||e)return;let r=await t.json();if(e)return;let a=r.filter(e=>"spawning"===e.state||"running"===e.state),o={};for(let e of B){let t=e.slug.trim().toLowerCase(),r=new Set((e.thread_ids??[]).map(e=>e.trim()).filter(Boolean)),i=[],n=[],l=[],d=new Set,c=new Set,u=new Set;for(let e of a){let a=e.projectSlug?.trim().toLowerCase();if(!(a&&a===t||r.has(e.workspaceId)||r.has(e.threadId)))continue;let o=s.find(t=>t.id===e.agentId),m={agentId:e.agentId,color:o?.color??"#10b981"};e.linearIssueId?c.has(e.agentId)||(c.add(e.agentId),n.push(m)):e.threadId?.startsWith("objective-chat:")||e.workspaceId?.startsWith("objective-chat:")?d.has(e.agentId)||(d.add(e.agentId),i.push(m)):u.has(e.agentId)||(u.add(e.agentId),l.push(m))}(i.length||n.length||l.length)&&(o[e.id]={objectives:i,linear:n,chat:l})}ez(o)}catch{}};t();let r=setInterval(t,3e3);return()=>{e=!0,clearInterval(r)}},[B,s]);let[e$,eP]=(0,r.useState)({}),[eA,eE]=(0,r.useState)(new Set),[eL,eF]=(0,r.useState)(new Set),eT=(0,r.useRef)(new Set);(0,r.useEffect)(()=>{Array.from(eo).forEach(e=>{eL.has(e)||(eF(t=>new Set(t).add(e)),(async()=>{try{let t=await fetch(`/api/projects/${e}/teams`);if(!t.ok)return;let r=await t.json();eP(t=>({...t,[e]:r.teams??[]}))}catch{}})())})},[eo,eL]);let[eM,eB]=(0,r.useState)(null),eR=async()=>{if(!ep&&!eh)return;if(!ef.form.name.trim())return void ef.setFormError("Project name is required");let e=ef.repos.find(e=>e.name.trim()&&!e.path.trim());if(e)return void ef.setFormError(`Local path is required for folder "${e.name}"`);ef.setFormError(null),ef.setIsSubmitting(!0);let t=(0,w.createProjectPayload)(ef.form,ef.repos);eh?await D?.(eh.id,t):await R?.(t,ep?.threadId),ef.setIsSubmitting(!1),ex(null),eb(null)};(0,r.useEffect)(()=>{es(!0)},[]),(0,r.useEffect)(()=>{let e=!1;async function t(){if(eS?.repoId)try{let t=await fetch(`/api/knowledge-notes?scope=repo&subjectId=${encodeURIComponent(eS.repoId)}`),r=(t.ok?await t.json():{note:null}).note;e||eC(e=>e&&e.repoId===eS.repoId?{...e,generatedKnowledge:r?.content?[{id:r.id,content:r.content,created_at:r.updatedAt??r.createdAt}]:[],isLoadingKnowledge:!1}:e)}catch{e||eC(e=>e&&e.repoId===eS.repoId?{...e,generatedKnowledge:[],isLoadingKnowledge:!1}:e)}}return eS?.repoId&&t(),()=>{e=!0}},[eS?.repoId]);let eD=en?B.find(e=>e.id===en.projectId):null,eW=new Set(eD?.agents.map(e=>e.agent_id)??[]),eK=en?s.filter(e=>!eW.has(e.id)):[],eV=e.length>0,eO=!!L,eU=[...e].sort((e,t)=>(e.title??"").localeCompare(t.title??"")),eq=new Map(e.map(e=>[e.id,e])),eX=B.filter(e=>!e.is_default);return((0,r.useEffect)(()=>{if(0===eX.length)return;let t=new Map,r=new Set,a=new Map;for(let e of eX){for(let t of e.thread_ids??[])"string"==typeof t&&t.trim()&&r.add(t);for(let r of(0,k.readProjectObjectivesWorkspace)(e.metadata).objectives){let a=r.id.trim();a&&t.set(a,{projectId:e.id,canonicalThreadId:r.threadId?.trim()||`objective-chat:${a}`})}}for(let t of e){let e=t.metadata&&"object"==typeof t.metadata?t.metadata:null,r="objective"===("string"==typeof e?.scope?e.scope:"")||t.id.startsWith("objective-chat:"),s=t.title?.trim().toLowerCase()??"";if(!r||!s)continue;let o=a.get(s)??[];o.push(t),a.set(s,o)}for(let[e,t]of a)a.set(e,[...t].sort((e,t)=>t.updatedAt-e.updatedAt));for(let s of e){let e=s.metadata&&"object"==typeof s.metadata?s.metadata:null,o="string"==typeof e?.scope?e.scope:"",i="string"==typeof e?.objectiveId?e.objectiveId.trim():"",n=s.id.startsWith("objective-chat:")?s.id.slice(15).trim():"",l=i||n,d="objective"===o||!!n,c=s.title?.trim().toLowerCase()??"",u=0===s.messages.length&&s.updatedAt<Date.now()-3e5;if(!d)continue;let m=l?t.get(l):void 0;if(m){if(s.id!==m.canonicalThreadId&&u){let e=`delete:${s.id}`;if(eT.current.has(e))continue;eT.current.add(e),Promise.resolve(z(s.id)).catch(t=>{eT.current.delete(e),console.warn("Failed to delete legacy objective thread",t)});continue}if(!r.has(s.id)){let e=`link:${s.id}`;if(eT.current.has(e))continue;eT.current.add(e),fetch(`/api/projects/${m.projectId}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:s.id})}).then(e=>{if(!e.ok)throw Error(`Request failed with status ${e.status}`)}).catch(t=>{eT.current.delete(e),console.warn("Failed to re-link objective thread",t)})}continue}if(!u)continue;let p=c?a.get(c)??[]:[];if(p.length<2||p[0]?.id===s.id)continue;let x=`delete:${s.id}`;eT.current.has(x)||(eT.current.add(x),Promise.resolve(z(s.id)).catch(e=>{eT.current.delete(x),console.warn("Failed to delete orphan objective thread",e)}))}},[eX,z,e]),!function({focusTarget:e,shouldFocus:t}){(0,r.useEffect)(()=>{if(!t||"u"<typeof document)return;let r=e.current;if(!r||r instanceof HTMLButtonElement&&r.disabled)return;let a=document.activeElement;if(!(a&&(r===a||r.contains(a))))try{r.focus({preventScroll:!0})}catch{r.focus()}},[e,t])}({focusTarget:er,shouldFocus:eO&&!(n&&!eV||F&&eV)&&!eV&&!c}),eO)?(0,t.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar","aria-label":"Workspace sidebar","aria-busy":n?"true":void 0,style:Y?{width:`${Y}px`,minWidth:`${Y}px`}:void 0,children:[(0,t.jsxs)("div",{className:"workspace-sidebar__brand",children:[(0,t.jsx)("div",{className:"workspace-sidebar__brand-content",children:(0,t.jsx)(y,{})}),T&&(0,t.jsx)("button",{type:"button",onClick:T,"aria-label":"Hide chats",title:"Hide chats",className:"workspace-sidebar__brand-toggle ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-all hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:(0,t.jsx)(l,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,t.jsxs)("div",{className:"workspace-sidebar__content",children:[(0,t.jsx)(_,{projects:eX,activeProjectId:J,onSelectProject:X,onCreateProject:()=>void(ef.resetForm(),eb(null),ex({}))}),(()=>{let e=eX.find(e=>e.id===J)??eX[0];if(!e)return null;let r=eU.filter(t=>e.thread_ids?.includes(t.id)),a=e.thread_ids?.find(e=>eq.has(e))??e.thread_ids?.[0]??r[0]?.id??null,n=e.id===J,l=n&&"home"===H,d=n&&"objectives"===H,c=n&&"linear"===H,u=n&&"automations"===H,w=n&&"terminal"===H,k=n&&"thread"===H&&a===i,y=n&&"teams"===H,_=n&&"env-vars"===H,C=eI[e.id];return(0,t.jsxs)("nav",{className:"workspace-sidebar__section",children:[(0,t.jsx)("div",{className:"px-2 mb-3",children:(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(v.default,{href:`/projects/${e.slug}`,className:`workspace-sidebar__nav-item ${l?"workspace-sidebar__nav-item--active":""}`,"aria-current":l?"page":void 0,children:[(0,t.jsx)(h,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Home"})]})})}),(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,t.jsx)("p",{className:"workspace-sidebar__section-label",children:"Work"})}),(0,t.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(v.default,{href:`/projects/${e.slug}/objectives`,className:`workspace-sidebar__nav-item ${d?"workspace-sidebar__nav-item--active":""}`,"aria-current":d?"page":void 0,children:[(0,t.jsx)(p.Target,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Objectives"}),C?.objectives.length>0&&(0,t.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:C.objectives.slice(0,3).map(e=>{let r=s.find(t=>t.id===e.agentId);return(0,t.jsxs)("span",{className:"relative inline-block",title:r?.name,children:[(0,t.jsx)("img",{src:(0,j.agentAvatarUrl)(r?.id??e.agentId,16,e.color),alt:r?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,t.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},e.agentId)})})]})}),(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item group/linear flex items-center",children:[(0,t.jsxs)(v.default,{href:`/projects/${e.slug}/linear`,className:`workspace-sidebar__nav-item flex-1 ${c?"workspace-sidebar__nav-item--active":""}`,"aria-current":c?"page":void 0,children:[(0,t.jsx)(N.LinearIcon,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Linear"}),C?.linear.length>0&&(0,t.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:C.linear.slice(0,3).map(e=>{let r=s.find(t=>t.id===e.agentId);return(0,t.jsxs)("span",{className:"relative inline-block",title:r?.name,children:[(0,t.jsx)("img",{src:(0,j.agentAvatarUrl)(r?.id??e.agentId,16,e.color),alt:r?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,t.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},e.agentId)})})]}),(0,t.jsx)(v.default,{href:`/projects/${e.slug}/linear?settings=true`,className:"flex h-5 w-5 items-center justify-center rounded opacity-0 group-hover/linear:opacity-100 hover:bg-[var(--sidebar-hover)] transition-opacity",title:"Linear settings",children:(0,t.jsx)(m.Settings,{size:11,className:"text-[var(--muted-foreground)]"})})]}),(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(v.default,{href:`/projects/${e.slug}/automations`,className:`workspace-sidebar__nav-item ${u?"workspace-sidebar__nav-item--active":""}`,"aria-current":u?"page":void 0,children:[(0,t.jsx)(o.Zap,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Scheduled Tasks"})]})})]})]}),(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,t.jsx)("p",{className:"workspace-sidebar__section-label",children:"Tools"})}),(0,t.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(v.default,{href:`/projects/${e.slug}/terminal`,className:`workspace-sidebar__nav-item ${w?"workspace-sidebar__nav-item--active":""}`,"aria-current":w?"page":void 0,children:[(0,t.jsx)(f.TerminalSquare,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Terminal"})]})}),(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:a?(0,t.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item ${k?"workspace-sidebar__nav-item--active":""}`,onClick:()=>S(a),"aria-current":k?"page":void 0,children:[(0,t.jsx)(b.MessageSquare,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Chat"}),C?.chat.length>0&&(0,t.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:C.chat.slice(0,3).map(e=>{let r=s.find(t=>t.id===e.agentId);return(0,t.jsxs)("span",{className:"relative inline-block",title:r?.name,children:[(0,t.jsx)("img",{src:(0,j.agentAvatarUrl)(r?.id??e.agentId,16,e.color),alt:r?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,t.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},e.agentId)})})]}):null})]})]}),(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,t.jsx)("p",{className:"workspace-sidebar__section-label",children:"Settings"})}),(0,t.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(v.default,{href:`/projects/${e.slug}/teams`,className:`workspace-sidebar__nav-item ${y?"workspace-sidebar__nav-item--active":""}`,"aria-current":y?"page":void 0,children:[(0,t.jsx)(x.Users,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Teams"})]})}),(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(v.default,{href:`/projects/${e.slug}/env-vars`,className:`workspace-sidebar__nav-item ${_?"workspace-sidebar__nav-item--active":""}`,"aria-current":_?"page":void 0,children:[(0,t.jsx)(g,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Environment Variables"})]})})]})]})]})})()]}),(0,t.jsx)("div",{className:"mt-auto px-3 pb-3",children:(0,t.jsxs)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 w-full py-2 rounded-lg text-white text-sm font-medium transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:e=>e.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:e=>e.currentTarget.style.backgroundColor="#5865F2",children:[(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})}),"Join Discord"]})}),ea&&eS&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{eS.isSaving||eC(null)},children:(0,t.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] shadow-2xl",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-[var(--border)] px-5 py-4",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:eS.projectName}),(0,t.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--foreground)]",children:eS.repoId?eS.name||"Folder":"Add Folder"})]}),(0,t.jsx)("button",{type:"button",className:"rounded-md p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)] hover:text-[var(--muted-foreground)]",onClick:()=>{eS.isSaving||eC(null)},"aria-label":"Close folder details",disabled:eS.isSaving,children:(0,t.jsx)(u.X,{size:16})})]}),(0,t.jsxs)("div",{className:"space-y-4 px-5 py-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Name"}),(0,t.jsx)("input",{value:eS.name,onChange:e=>eC(t=>t?{...t,name:e.target.value,error:null}:t),className:"w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",disabled:eS.isSaving,placeholder:"e.g. Frontend, API Docs, Design System"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Path"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{value:eS.path,onChange:e=>eC(t=>t?{...t,path:e.target.value,error:null}:t),className:"flex-1 rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 font-mono text-xs text-[var(--foreground)]",disabled:eS.isSaving,placeholder:"Local path to folder"}),(0,t.jsx)("button",{type:"button",className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",disabled:eS.isSaving,onClick:async()=>{try{let e=await fetch("/api/filesystem/pick-folder",{method:"POST"}),t=await e.json();t.path&&eC(e=>e?{...e,path:t.path,error:null}:e)}catch{}},children:"Browse"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Notes"}),(0,t.jsx)("textarea",{value:eS.notes,onChange:e=>eC(t=>t?{...t,notes:e.target.value,error:null}:t),className:"min-h-28 w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-3 text-sm text-[var(--foreground)] whitespace-pre-wrap",disabled:eS.isSaving,placeholder:"Coding conventions, deploy steps, doc standards, ownership rules..."})]}),eS.repoId?(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Living Note"}),eS.isLoadingKnowledge?(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading note…"}):eS.generatedKnowledge.length>0?(0,t.jsx)("div",{className:"space-y-2",children:eS.generatedKnowledge.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No note yet."})]}):null,eS.error?(0,t.jsx)("p",{className:"text-xs text-red-600",children:eS.error}):null,(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] pt-4",children:[(0,t.jsx)("button",{type:"button",className:"rounded-lg px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",onClick:()=>eC(null),disabled:eS.isSaving,children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"rounded-lg bg-[var(--foreground)] px-3 py-2 text-sm font-medium text-[var(--card-bg)] transition-colors hover:bg-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-60",disabled:eS.isSaving||!D,onClick:async()=>{let e=B.find(e=>e.id===eS.projectId);if(!e)return void eC(e=>e?{...e,error:"Project not found."}:e);let t=eS.name.trim(),r=eS.path.trim();if(!t)return void eC(e=>e?{...e,error:"Folder name is required."}:e);if(!r)return void eC(e=>e?{...e,error:"Folder path is required."}:e);eC(e=>e?{...e,isSaving:!0,error:null}:e);try{let a=eS.repoId?e.repos.map(e=>e.id===eS.repoId?{id:e.id,name:t,path:r,git_url:eS.gitUrl.trim()||void 0,notes:eS.notes.trim()||void 0}:{id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes}):[...e.repos.map(e=>({id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes})),{name:t,path:r,git_url:eS.gitUrl.trim()||void 0,notes:eS.notes.trim()||void 0}];await D?.(e.id,{repos:a}),eC(null)}catch(e){eC(t=>t?{...t,isSaving:!1,error:e instanceof Error?e.message:"Failed to save folder details."}:t)}},children:eS.isSaving?"Saving...":eS.repoId?"Save":"Add Folder"})]})]})]})}),document.body),ea&&en&&!eu&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>el(null),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 max-h-[70vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsxs)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:["Add to ",eD?.name??"project"]}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>el(null),children:(0,t.jsx)(u.X,{size:16})})]}),(0,t.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,t.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 px-4 py-2.5 text-sm text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors border-b border-[var(--border)]",onClick:()=>em(!0),children:[(0,t.jsx)(d.Plus,{size:14,className:"text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===eK.length?(0,t.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--muted-foreground)] text-center",children:"All agents are already in this project"}):eK.map(e=>{let r=ed.has(e.id);return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${r?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{ec(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r})},children:[(0,t.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${r?"bg-[var(--foreground)] border-[var(--foreground)]":"border-[var(--border)]"}`,children:r&&(0,t.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,t.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("img",{src:(0,j.agentAvatarUrl)(e.id,24,e.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,t.jsx)("div",{className:"truncate font-medium text-xs",children:e.name}),(0,t.jsx)("div",{className:"truncate text-[11px] text-[var(--muted-foreground)]",children:e.model})]})]},e.id)})]}),eK.length>0&&(0,t.jsxs)("div",{className:"px-4 py-3 border-t border-[var(--border)] flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>el(null),children:"Cancel"}),(0,t.jsxs)("button",{type:"button",disabled:0===ed.size,className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let e of ed)K?.(en.projectId,e);el(null)},children:["Add ",ed.size>0?`(${ed.size})`:""]})]})]})}),document.body),ea&&eu&&(0,a.createPortal)((0,t.jsx)(j.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[],skillBindings:[]},submitLabel:"Create & Add",projects:B?.filter(e=>!e.is_default).map(t=>{let r=(t.thread_ids??[]).map(t=>e.find(e=>e.id===t)?.title?.trim()).filter(Boolean).join(", ")||"No chat";return{id:t.id,name:t.name,label:`${r} › ${t.name}`}}),initialProjectIds:en?[en.projectId]:[],onSubmit:async(e,t)=>{let r=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],a=r[s.length%r.length],o=e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),i=t?.[0],n=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:o,name:e.name,provider:e.provider,model:e.model,color:e.color??a,...e.title?{title:e.title}:{},...e.identity?{identity:e.identity}:{},skills:e.skills??[],skillBindings:e.skillBindings??[],...i?{projectId:i}:{}})});if(n.ok){let e=await n.json().catch(()=>({})),r="string"==typeof e?.id&&e.id.trim()?e.id.trim():o;for(let e of(t??[]).slice(1))K?.(e,r);em(!1),el(null)}},onCancel:()=>{em(!1)}}),document.body),ea&&eg&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ev(null),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:eg.title}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ev(null),children:(0,t.jsx)(u.X,{size:16})})]}),(0,t.jsxs)("form",{className:"px-4 py-4 flex flex-col gap-3",onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget),r=t.get("value")?.trim();r&&(eg.onSubmit(r),ev(null))},children:[(0,t.jsx)("input",{ref:ej,name:"value",type:"text",defaultValue:eg.defaultValue,placeholder:eg.placeholder,className:"w-full px-3 py-2 text-sm border border-[var(--border)] rounded-lg outline-none focus:border-[var(--border)] focus:ring-1 focus:ring-[var(--border)] transition-all"}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>ev(null),children:"Cancel"}),(0,t.jsx)("button",{type:"submit",className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] transition-colors",children:eg.defaultValue?"Save":"Create"})]})]})]})}),document.body),ea&&ew&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ek(null),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:ew.title}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ek(null),children:(0,t.jsx)(u.X,{size:16})})]}),(0,t.jsxs)("div",{className:"px-4 py-4 flex flex-col gap-4",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:ew.message}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>ek(null),children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs font-medium text-white bg-red-600 rounded-lg hover:bg-red-700 transition-colors",onClick:()=>{ew.onConfirm(),ek(null)},children:"Delete"})]})]})]})}),document.body),ea&&(ep||eh)&&(0,a.createPortal)((0,t.jsx)(w.default,{isOpen:!0,onClose:()=>{ef.resetForm(),ex(null),eb(null)},onSubmit:()=>void eR(),editingProject:eh,form:ef.form,repos:ef.repos,isSubmitting:ef.isSubmitting,formError:ef.formError,onFieldChange:(e,t)=>ef.setForm(r=>({...r,[e]:t})),onRepoChange:ef.handleRepoChange,onAddRepo:ef.addRepo,onRemoveRepo:ef.removeRepo}),document.body),ea&&e_&&(0,a.createPortal)((Q=B.filter(e=>e.agents.some(e=>e.agent_id===e_.id)),ee=B.filter(e=>!e.agents.some(e=>e.agent_id===e_.id)),(0,t.jsx)(j.AgentForm,{title:"Edit agent",initial:{name:e_.name,title:e_.title||"",provider:e_.provider,model:e_.model||"",identity:e_.identity||"",color:e_.color,skills:e_.skills||[],skillBindings:e_.skillBindings||[]},agentId:e_.id,submitLabel:"Save",projectMemberships:{current:Q.map(e=>({id:e.id,name:e.name,is_default:!!e.is_default})),available:ee.map(e=>({id:e.id,name:e.name}))},onAddToProject:K?e=>K(e,e_.id):void 0,onRemoveFromProject:V?e=>V(e,e_.id):void 0,onSubmit:async e=>{q&&await q({...e_,name:e.name,title:e.title||void 0,provider:e.provider,model:e.model,color:e.color??e_.color,...e.identity?{identity:e.identity}:{},skills:e.skills??[],skillBindings:e.skillBindings??[]}),ey(null)},onCancel:()=>ey(null)})),document.body),G&&(0,t.jsx)("div",{className:"absolute right-0 top-0 bottom-0 z-20 w-1 cursor-col-resize group",onMouseDown:e=>{e.preventDefault(),et.current=!0;let t=e.clientX,r=Y??368;document.body.style.cursor="col-resize",document.body.style.userSelect="none";let a=e=>{G(Math.max(200,Math.min(600,r+e.clientX-t)))},s=()=>{et.current=!1,document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",a),window.removeEventListener("mouseup",s)};window.addEventListener("mousemove",a),window.addEventListener("mouseup",s)},children:(0,t.jsx)("div",{className:"absolute inset-y-0 right-0 w-1 transition-colors hover:bg-[var(--primary)]/40 group-hover:bg-[var(--primary)]/40"})})]}):(0,t.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar workspace-sidebar--collapsed","aria-label":"Workspace sidebar",children:[(0,t.jsx)("div",{className:"workspace-sidebar__brand",children:(0,t.jsx)("button",{type:"button",onClick:T,className:"workspace-sidebar__brand-trigger border-none outline-none cursor-pointer","aria-label":"Show chats",title:"Show chats",children:(0,t.jsx)(y,{compact:!0})})}),(0,t.jsx)("div",{className:"mt-auto p-2",children:(0,t.jsx)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center w-8 h-8 rounded-lg text-white transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:e=>e.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:e=>e.currentTarget.style.backgroundColor="#5865F2",title:"Join Discord",children:(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})})})})]})}],749410);let S="agx-chat:uiSettings",C={threadSidebarVisible:!1};function I(){return void 0!==window.localStorage}function z(){if(!I())return{...C};let e=window.localStorage.getItem(S);if(!e)return{...C};try{let t=JSON.parse(e);return{...C,threadSidebarVisible:"boolean"==typeof t.threadSidebarVisible&&t.threadSidebarVisible}}catch{return{...C}}}e.s(["loadWorkspaceSidebarVisible",0,function(){return z().threadSidebarVisible},"persistWorkspaceSidebarVisible",0,function(e){var t={...z(),threadSidebarVisible:e};if(I())try{window.localStorage.setItem(S,JSON.stringify(t))}catch{}}],481248)}]);
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,186552,e=>{"use strict";var t=e.i(843476),a=e.i(271645),r=e.i(810605),s=e.i(66386),l=e.i(945028),n=e.i(490011),i=e.i(969039),o=e.i(749410),d=e.i(522016),c=e.i(208343),u=e.i(884564),p=e.i(423709);function h(){return(0,t.jsxs)("span",{className:"inline-flex items-center gap-[3px] ml-1",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--muted-foreground)] animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})}function m({participantId:e,participantName:a,participantColor:r,content:s}){let l=(0,p.stripMarkers)(s),n=l.length>0;return(0,t.jsxs)("div",{className:"flex gap-4 py-4 group transition-colors animate-in fade-in slide-in-from-bottom-2 duration-300",children:[(0,t.jsx)(d.default,{href:`/agents/${e}`,className:"w-9 h-9 rounded-full bg-[var(--muted)] overflow-hidden shrink-0 shadow-sm border border-[var(--border)] hover:ring-2 hover:ring-blue-300 transition-shadow",children:(0,t.jsx)("img",{src:(0,u.agentAvatarUrl)(e,36,r),alt:"",className:"w-full h-full object-cover"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2 mb-1",children:[(0,t.jsx)(d.default,{href:`/agents/${e}`,className:"font-bold text-[15px] hover:underline",style:{color:r},children:a}),(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-wider text-[var(--muted-foreground)] font-bold opacity-0 group-hover:opacity-100 transition-opacity",children:"Streaming"})]}),(0,t.jsx)("div",{className:"text-[15px] text-[var(--foreground)] leading-relaxed min-h-[1.5rem] flex items-center",children:n?(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(c.Markdown,{content:l}),(0,t.jsx)("span",{className:"inline-flex items-baseline ml-0.5",children:(0,t.jsx)("span",{className:"w-1 h-1 rounded-full bg-indigo-400 animate-[pulse-dot_1.4s_ease-in-out_infinite]"})})]}):(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[var(--muted-foreground)] italic",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:"working"}),(0,t.jsx)(h,{})]})})]})]})}var f=e.i(575479),x=e.i(80673);function g({attachments:e,compact:a=!1}){if(0===e.length)return null;let r=e.filter(e=>e.mimeType.startsWith("image/")),s=e.filter(e=>!e.mimeType.startsWith("image/")),l=a?"max-w-[120px]":"max-w-[240px]",n=a?"max-h-[90px]":"max-h-[180px]";return(0,t.jsxs)("div",{className:"mt-2 space-y-2",children:[r.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:r.map(e=>(0,t.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"block rounded-lg overflow-hidden border border-[var(--border)] hover:border-[var(--border)] transition-colors",children:(0,t.jsx)("img",{src:e.url,alt:e.filename,className:`${l} ${n} object-cover`,loading:"lazy"})},e.id))}),s.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:s.map(e=>{var r;return(0,t.jsxs)("a",{href:e.url,download:e.filename,className:`inline-flex items-center gap-1.5 rounded-md border border-[var(--border)] bg-[var(--app-shell-subtle)] text-[var(--muted-foreground)] hover:bg-[var(--muted)] hover:border-[var(--border)] transition-colors ${a?"px-2 py-0.5 text-[11px]":"px-2.5 py-1 text-xs"}`,children:[(0,t.jsx)(f.FileText,{className:`text-[var(--muted-foreground)] shrink-0 ${a?"w-3 h-3":"w-3.5 h-3.5"}`}),(0,t.jsx)("span",{className:`truncate ${a?"max-w-[100px]":"max-w-[150px]"}`,children:e.filename}),(0,t.jsx)("span",{className:"text-[var(--muted-foreground)] shrink-0",children:(r=e.size)<1024?`${r}B`:r<1048576?`${(r/1024).toFixed(0)}KB`:`${(r/1048576).toFixed(1)}MB`}),(0,t.jsx)(x.Download,{className:`text-[var(--muted-foreground)] shrink-0 ${a?"w-2.5 h-2.5":"w-3 h-3"}`})]},e.id)})})]})}var v=e.i(997626),b=e.i(363732);let j=(0,b.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);var w=e.i(498027),y=e.i(367859),k=e.i(929870),N=e.i(797167);let C=(0,b.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var S=e.i(19035),I=e.i(529471),T=e.i(247167);let M=T.default.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741";async function $(){let e=await fetch(`${M}/api/projects`);if(!e.ok){if(503===e.status)throw Error("SCHEMA_NOT_READY");throw Error(`Failed to list projects: ${e.status}`)}let t=await e.json();return t.projects??t}async function R(e,t){let a=await fetch(`${M}/api/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,description:t})});if(!a.ok)throw Error(`Failed to create project: ${a.status}`);return a.json()}async function A(e,t){let a=await fetch(`${M}/api/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,...t})});if(!a.ok)throw Error(`Failed to create task: ${a.status}`);let r=await a.json(),s=r.task??r;return r.id&&!s.id&&(s.id=r.id),s}async function P(e){let t=await fetch(`${M}/api/tasks/${e}`);if(!t.ok)return null;let a=await t.json();return a.task??a}async function E(e,t,a,r){let s=[],l={...r},n=new Map((function(e){let t=new Set(e.map(e=>e.id)),a=new Map;for(let r of e)a.set(r.id,(r.dependsOn||[]).filter(e=>t.has(e)));let r=[],s=new Set,l=new Set;for(let t of e)!function t(n){if(!s.has(n)&&!l.has(n)){for(let e of(l.add(n),a.get(n)||[]))t(e);l.delete(n),s.add(n),r.push(e.find(e=>e.id===n))}}(t.id);return r})(e).map(e=>[e.id,e]));for(;n.size>0;){let e=[];for(let t of n.values())(t.dependsOn||[]).every(e=>!n.has(e)||l[e])&&e.push(t);0===e.length&&e.push(...n.values());let a=await Promise.allSettled(e.map(async e=>{let a=l[e.id];if(a&&await P(a))return{task:e,remoteId:a};let r=(e.dependsOn||[]).map(e=>l[e]).filter(Boolean),s=await A(e.description,{title:e.title,project_id:t,depends_on:r.length>0?r:void 0});return{task:e,remoteId:s.id}}));for(let t of a)if("fulfilled"===t.status){let{task:e,remoteId:a}=t.value;l[e.id]=a,s.push({clientTaskId:e.id,remoteTaskId:a,status:"created"}),n.delete(e.id)}else{let r=e[a.indexOf(t)];s.push({clientTaskId:r.id,status:"failed",error:t.reason instanceof Error?t.reason.message:"Unknown error"}),n.delete(r.id)}}return{buildId:a,projectId:t,results:s}}var _=e.i(906724),O=e.i(538292),U=e.i(958164);function z({onSelect:e,onClose:r}){let[s,l]=(0,a.useState)([]),[n,i]=(0,a.useState)(!0),[o,d]=(0,a.useState)(null),[c,u]=(0,a.useState)(!1),[p,h]=(0,a.useState)(""),[m,f]=(0,a.useState)(!1);(0,a.useEffect)(()=>{(async()=>{try{let e=await $();l(e)}catch(e){e instanceof Error&&"SCHEMA_NOT_READY"===e.message?d("agx-cloud database not ready. Run migrations first."):d("Failed to load projects. Is agx-cloud running?")}finally{i(!1)}})()},[]);let x=(0,a.useCallback)(async()=>{let t=p.trim();if(t){u(!0);try{let a=await R(t);e(a.id,a.name)}catch(e){d("Failed to create project")}finally{u(!1)}}},[p,e]);return(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/20 backdrop-blur-sm",children:(0,t.jsxs)("div",{className:"bg-[var(--app-shell-elevated)] rounded-2xl shadow-xl border border-[var(--app-shell-border)] w-full max-w-sm mx-4 overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-[var(--app-shell-border)]",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(O.FolderOpen,{className:"w-4 h-4 text-[var(--app-shell-muted)]"}),(0,t.jsx)("h3",{className:"text-sm font-bold text-[var(--foreground)]",children:"Select Project"})]}),(0,t.jsx)("button",{type:"button",onClick:r,className:"p-1 text-[var(--app-shell-muted)] hover:text-[var(--foreground)] rounded-md hover:bg-[var(--app-shell-subtle)]",children:(0,t.jsx)(N.X,{className:"w-4 h-4"})})]}),(0,t.jsxs)("div",{className:"p-4 max-h-64 overflow-y-auto",children:[n&&(0,t.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,t.jsx)(_.Loader2,{className:"w-5 h-5 text-[var(--app-shell-muted)] animate-spin"})}),o&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-amber-50 rounded-lg text-amber-700 text-xs font-medium",children:[(0,t.jsx)(U.AlertTriangle,{className:"w-4 h-4 shrink-0"}),o]}),!n&&!o&&0===s.length&&(0,t.jsx)("p",{className:"text-xs text-[var(--app-shell-muted)] text-center py-4",children:"No projects found. Create one below."}),!n&&s.map(a=>(0,t.jsxs)("button",{type:"button",onClick:()=>e(a.id,a.name),className:"w-full text-left px-3 py-2.5 rounded-lg hover:bg-[var(--app-shell-subtle)] transition-colors flex items-center gap-3 group",children:[(0,t.jsx)("div",{className:"w-8 h-8 rounded-lg bg-[var(--app-shell-subtle)] flex items-center justify-center shrink-0",children:(0,t.jsx)(O.FolderOpen,{className:"w-4 h-4 text-[var(--app-shell-muted)] group-hover:text-[var(--foreground)]"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-[var(--foreground)] truncate",children:a.name}),a.description&&(0,t.jsx)("div",{className:"text-[11px] text-[var(--app-shell-muted)] truncate",children:a.description})]})]},a.id))]}),(0,t.jsx)("div",{className:"px-4 pb-4 pt-2 border-t border-[var(--app-shell-border)]",children:m?(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{type:"text",value:p,onChange:e=>h(e.target.value),onKeyDown:e=>"Enter"===e.key&&x(),placeholder:"Project name",autoFocus:!0,className:"flex-1 h-8 px-3 text-sm bg-[var(--input)] border border-[var(--app-shell-border)] rounded-lg outline-none focus:ring-1 focus:ring-[var(--ring)] text-[var(--foreground)]"}),(0,t.jsx)("button",{type:"button",onClick:x,disabled:c||!p.trim(),className:"h-8 px-3 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-lg disabled:opacity-40",children:c?"…":"Create"}),(0,t.jsx)("button",{type:"button",onClick:()=>f(!1),className:"h-8 px-2 text-[var(--app-shell-muted)] hover:text-[var(--foreground)]",children:(0,t.jsx)(N.X,{className:"w-3.5 h-3.5"})})]}):(0,t.jsxs)("button",{type:"button",onClick:()=>f(!0),className:"flex items-center gap-1.5 text-xs font-bold text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:[(0,t.jsx)(k.Plus,{className:"w-3.5 h-3.5"}),"Create new project"]})})]})})}function D({draft:e,onUpdate:r,onBuild:s,building:l}){let[n,i]=(0,a.useState)(null),[o,d]=(0,a.useState)(!1),[c,u]=(0,a.useState)(!1),p=(0,a.useCallback)(()=>{let t=e.tasks.map((e,t)=>{let a=`${t+1}. **${e.title}**`;return e.description&&"Add description..."!==e.description&&(a+=`
|
|
2
|
-
${e.description.replace(/\n/g,"\n ")}`),a}).join("\n");navigator.clipboard.writeText(t).then(()=>{u(!0),setTimeout(()=>u(!1),1500)})},[e.tasks]),h=(0,a.useCallback)((t,a)=>{let s=e.tasks.map(e=>e.id===t?{...e,...a}:e);r({...e,tasks:s,revision:e.revision+1})},[e,r]),m=(0,a.useCallback)(t=>{let a=e.tasks.filter(e=>e.id!==t);r({...e,tasks:a,revision:e.revision+1})},[e,r]),f=(0,a.useCallback)(()=>{let t={id:crypto.randomUUID(),title:"New task",description:"Add description..."};r({...e,tasks:[...e.tasks,t],revision:e.revision+1})},[e,r]),x=(0,a.useCallback)(()=>{d(!0)},[]),g=(0,a.useCallback)((t,a)=>{d(!1),s(e,t,a)},[e,s]),b="idle"===e.buildStatus||!e.buildStatus;return(0,t.jsxs)("div",{className:"mt-6 p-4 bg-[var(--app-shell-subtle)]/80 rounded-2xl border border-[var(--border)] shadow-sm",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(v.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,t.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Tasks"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:[e.tasks.length," task",1!==e.tasks.length?"s":""]}),e.tasks.length>0&&(0,t.jsx)("button",{type:"button",onClick:p,className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] transition-colors",title:"Copy as markdown",children:c?(0,t.jsx)(I.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,t.jsx)(S.Copy,{className:"w-3.5 h-3.5"})})]})]}),(0,t.jsx)("div",{className:"space-y-1 mb-4",children:e.tasks.map(e=>{let a=n===e.id;return(0,t.jsxs)("div",{className:"group",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 py-1.5 px-2 rounded-lg hover:bg-[var(--app-shell-subtle)] transition-colors",children:[b&&(0,t.jsx)(j,{className:"w-3.5 h-3.5 text-[var(--app-shell-soft-text)] opacity-0 group-hover:opacity-100 cursor-grab shrink-0"}),(0,t.jsx)("button",{type:"button",onClick:()=>i(a?null:e.id),className:"shrink-0 text-[var(--app-shell-muted)] hover:text-[var(--foreground)]",children:a?(0,t.jsx)(w.ChevronDown,{className:"w-3.5 h-3.5"}):(0,t.jsx)(y.ChevronRight,{className:"w-3.5 h-3.5"})}),b?(0,t.jsx)("input",{type:"text",value:e.title,onChange:t=>h(e.id,{title:t.target.value}),className:"flex-1 text-xs font-semibold text-[var(--foreground)] bg-transparent border-none outline-none focus:ring-0 p-0"}):(0,t.jsx)("span",{className:"flex-1 text-xs font-semibold text-[var(--foreground)]",children:e.title}),b&&(0,t.jsx)("button",{type:"button",onClick:()=>m(e.id),className:"shrink-0 text-[var(--app-shell-soft-text)] hover:text-rose-500 opacity-0 group-hover:opacity-100 transition-all",children:(0,t.jsx)(N.X,{className:"w-3.5 h-3.5"})})]}),a&&(0,t.jsx)("div",{className:"ml-9 mr-2 mb-2",children:b?(0,t.jsx)("textarea",{value:e.description,onChange:t=>h(e.id,{description:t.target.value}),rows:4,className:"w-full text-xs text-[var(--muted-foreground)] bg-[var(--input)] border border-[var(--app-shell-border)] rounded-lg p-2 outline-none focus:ring-1 focus:ring-[var(--ring)] resize-y"}):(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] whitespace-pre-wrap",children:e.description})})]},e.id)})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[b&&(0,t.jsxs)("button",{type:"button",onClick:f,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-bold text-[var(--app-shell-muted)] hover:text-[var(--foreground)] rounded-full border border-dashed border-[var(--app-shell-border)] hover:border-[var(--app-shell-border-strong)] transition-all",children:[(0,t.jsx)(k.Plus,{className:"w-3 h-3"}),"Add task"]}),(0,t.jsx)("div",{className:"flex-1"}),b&&(0,t.jsxs)("button",{type:"button",onClick:x,disabled:l||0===e.tasks.length,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,t.jsx)(C,{className:"w-3 h-3"}),l?"Pushing…":"Push to agx"]})]}),o&&(0,t.jsx)(z,{onSelect:g,onClose:()=>d(!1)})]})}let L=new Set(["completed","done","failed","blocked"]);var F=e.i(807087),B=e.i(211464);let W=(0,b.default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);var q=e.i(437307);let V={queued:(0,t.jsx)(B.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"}),pending:(0,t.jsx)(B.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"}),in_progress:(0,t.jsx)(_.Loader2,{className:"w-4 h-4 text-blue-500 animate-spin"}),running:(0,t.jsx)(_.Loader2,{className:"w-4 h-4 text-blue-500 animate-spin"}),blocked:(0,t.jsx)(W,{className:"w-4 h-4 text-amber-500"}),completed:(0,t.jsx)(F.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),done:(0,t.jsx)(F.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),failed:(0,t.jsx)(q.XCircle,{className:"w-4 h-4 text-rose-500"})};function J({draft:e,onPush:r,pushing:s}){let[l,n]=(0,a.useState)(!1),[i,o]=(0,a.useState)(!1),d=(0,a.useCallback)(()=>{let t=e.tasks.map((e,t)=>`${t+1}. **${e.title}**${e.description?`
|
|
3
|
-
${e.description.replace(/\n/g,"\n ")}`:""}`).join("\n");navigator.clipboard.writeText(t).then(()=>{o(!0),setTimeout(()=>o(!1),1500)})},[e.tasks]),{tasks:c,error:u}=function({projectId:e,enabled:t,interval:r=3e4}){let[s,l]=(0,a.useState)([]),[n,i]=(0,a.useState)(null),o=(0,a.useRef)(0),d=(0,a.useRef)([]),c=(0,a.useCallback)(async()=>{if(e&&"undefined"!==e)try{let t=T.default.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741",a=await fetch(`${t}/api/tasks?project=${e}`);if(!a.ok)throw Error(`Poll failed: ${a.status}`);let r=await a.json(),s=r.tasks??r;d.current=s,l(s),i(null)}catch(e){i(e instanceof Error?e.message:"Poll failed")}},[e]);return(0,a.useEffect)(()=>{if(!t||!e)return;o.current=Date.now(),c();let a=setInterval(()=>{Date.now()-o.current>18e5||d.current.length>0&&d.current.every(e=>L.has(e.status))?clearInterval(a):c()},r);return()=>clearInterval(a)},[t,e,r,c]),{tasks:s,error:n,refetch:c}}({projectId:e.projectId??null,enabled:!!e.projectId&&"done"===e.buildStatus}),p=new Map;if(e.builtTaskIds)for(let[t,a]of Object.entries(e.builtTaskIds)){let e=c.find(e=>e.id===a);e&&p.set(t,e)}let h=e.tasks.filter(e=>{let t=p.get(e.id);return t&&("completed"===t.status||"done"===t.status)}).length,m=e.tasks.length>0?h/e.tasks.length:0,f=(0,a.useCallback)(()=>{e.projectId&&e.projectName?r?.(e,e.projectId,e.projectName):n(!0)},[e,r]),x=(0,a.useCallback)((t,a)=>{n(!1),r?.(e,t,a)},[e,r]);e.tasks.some(t=>!e.builtTaskIds?.[t.id]);let g=e.tasks.some(e=>{let t=p.get(e.id);return t&&"queued"!==t.status&&"pending"!==t.status});return(0,t.jsxs)("div",{className:"mt-6 p-4 bg-[var(--app-shell-subtle)]/80 rounded-2xl border border-[var(--border)] shadow-sm",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(v.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,t.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Tasks"}),e.projectName&&(0,t.jsxs)("span",{className:"text-[10px] font-semibold text-[var(--muted-foreground)]",children:["· ",e.projectName]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:[h,"/",e.tasks.length," Complete"]}),e.tasks.length>0&&(0,t.jsx)("button",{type:"button",onClick:d,className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] transition-colors",title:"Copy as markdown",children:i?(0,t.jsx)(I.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,t.jsx)(S.Copy,{className:"w-3.5 h-3.5"})})]})]}),(0,t.jsx)("div",{className:"space-y-3 mb-4",children:e.tasks.map(e=>{let a=p.get(e.id),r=a?.status||"queued",s=V[r]||V.queued;return(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[s,(0,t.jsx)("span",{className:"text-xs font-semibold text-[var(--muted-foreground)]",children:e.title})]},e.id)})}),(0,t.jsx)("div",{className:"h-1.5 w-full bg-[var(--muted)] rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:"h-full bg-emerald-500 rounded-full shadow-[0_0_8px_rgba(16,185,129,0.4)] transition-all duration-500",style:{width:`${Math.round(100*m)}%`}})}),r&&!g&&(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-3",children:["partial_failure"===e.buildStatus&&(0,t.jsx)("span",{className:"text-[11px] text-amber-600 font-semibold",children:"Some tasks failed to push."}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsxs)("button",{type:"button",onClick:f,disabled:s,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-[var(--primary-foreground)] bg-[var(--primary)] hover:bg-[var(--primary-hover)] rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,t.jsx)(C,{className:"w-3 h-3"}),s?"Pushing…":"Push to agx"]})]}),u&&(0,t.jsxs)("div",{className:"mt-2 text-[11px] text-amber-600 font-medium",children:["Status polling error: ",u]}),l&&(0,t.jsx)(z,{onSelect:x,onClose:()=>n(!1)})]})}let H=(0,a.forwardRef)(({children:e,className:a="",...r},s)=>{let l=`absolute top-4 right-4 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] shadow-md rounded-lg p-1 z-10 backdrop-blur-sm ${a}`.trim();return(0,t.jsx)("div",{ref:s,className:l,...r,children:e})});H.displayName="ActionToolbar";let X=()=>(0,t.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)] mx-1"}),K=(0,a.forwardRef)(({className:e="",variant:a="neutral",size:r="md",children:s,...l},n)=>{let i=`inline-flex items-center justify-center rounded-md transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:opacity-50 disabled:pointer-events-none ${({sm:"p-1 w-6 h-6",md:"p-1.5 w-8 h-8",lg:"p-2 w-10 h-10"})[r]} ${({neutral:"text-[var(--app-shell-muted)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]",ghost:"text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]",primary:"text-[var(--primary)] hover:text-[var(--primary-foreground)] hover:bg-[var(--primary-hover)]",destructive:"text-[var(--app-shell-muted)] hover:text-[var(--destructive)] hover:bg-[var(--destructive-muted)]"})[a]} ${e}`.trim();return(0,t.jsx)("button",{ref:n,className:i,...l,children:s})});K.displayName="IconButton";var G=e.i(597628),Y=e.i(629155),Z=e.i(794731),Q=e.i(169610),ee=e.i(580873);let et=(0,b.default)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),ea=(0,b.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),er=(0,b.default)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]);var es=e.i(999824);let el=[{value:"active",label:"Active",color:"#f59e0b"},{value:"paused",label:"Paused",color:"#f97316"},{value:"in-review",label:"In Review",color:"#6b7280"},{value:"done",label:"Done",color:"#3b82f6"},{value:"archived",label:"Archived",color:"#9ca3af"}],en=new Set(["done","in-review","archived"]),ei="<!-- thread-summary -->";function eo({messages:e,streaming:r,participants:s,onOpenThread:l,onCopyThread:n,onAddToChat:i,onDeleteThreadRoot:o,onSummarize:h,onCreateTasks:f,onUpdateTaskDraft:x,onBuildTasks:v,summarizingThreads:b,extractingTasks:j,buildingDrafts:w,taskDrafts:y,deletingThreadRootId:k,highlightedMessageId:N,onUpdateMessageThreadStatus:C,onUpdateMessageOutcomeNote:I,shipModeThreads:T}){let M=(0,a.useRef)(new Map),[$,R]=(0,a.useState)(null),[A,P]=(0,a.useState)("active"),E=Object.fromEntries(s.map(e=>[e.id,e])),O=(0,a.useMemo)(()=>[...e.filter(e=>!e.rootMessageId)].reverse(),[e]),U={active:new Set(["active"]),paused:new Set(["paused"]),"in-review":new Set(["in-review"]),done:new Set(["done"]),archived:new Set(["archived"])},z=(0,a.useMemo)(()=>O.filter(e=>U[A].has(e.threadStatus??"active")),[O,A]),L=(0,a.useMemo)(()=>({active:O.filter(e=>U.active.has(e.threadStatus??"active")).length,paused:O.filter(e=>U.paused.has(e.threadStatus??"active")).length,"in-review":O.filter(e=>U["in-review"].has(e.threadStatus??"active")).length,done:O.filter(e=>U.done.has(e.threadStatus??"active")).length,archived:O.filter(e=>U.archived.has(e.threadStatus??"active")).length}),[O]),F=(0,a.useMemo)(()=>(function(e){let t=new Map;for(let a of e){let e=a.rootMessageId;if(!e)continue;let r=t.get(e);r||(r={rootMessageId:e,replyCount:0,participants:[],lastActivityAt:0,allReplies:[]},t.set(e,r)),r.replyCount++,r.lastActivityAt=Math.max(r.lastActivityAt,a.timestamp),r.lastReply=a,r.allReplies.push(a),a.participantId&&!r.participants.includes(a.participantId)?r.participants.push(a.participantId):a.participantId||r.participants.includes("user")||r.participants.push("user")}for(let e of t.values())e.allReplies.sort((e,t)=>e.timestamp-t.timestamp);return t})(e),[e]),B=(0,a.useCallback)((e,t)=>{t?M.current.set(e,t):M.current.delete(e)},[]),W=(0,a.useRef)(null);return(0,a.useEffect)(()=>{if(!N){W.current=null;return}if(N===W.current)return;W.current=N;let e=M.current.get(N);e&&e.scrollIntoView({behavior:"smooth",block:"center"})},[N,e]),(0,t.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[O.length>0&&(0,t.jsx)("div",{className:"flex items-center justify-center gap-1 p-1 rounded-lg w-fit mx-auto border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] mb-4",children:[{key:"active",label:"Active"},{key:"paused",label:"Paused"},{key:"in-review",label:"In Review"},{key:"done",label:"Done"},{key:"archived",label:"Archived"}].map(e=>{let a=L[e.key],r=A===e.key;return(0,t.jsxs)("button",{type:"button",onClick:()=>P(e.key),className:`px-3 py-1.5 text-xs font-bold rounded-md transition-all ${r?"bg-[var(--app-shell-surface)] text-[var(--foreground)] shadow-sm":"text-[var(--app-shell-muted)] hover:text-[var(--foreground)]"}`,children:[e.label,a>0&&(0,t.jsx)("span",{className:`ml-1.5 text-[10px] ${r?"opacity-60":"opacity-50"}`,children:a})]},e.key)})}),0===O.length&&0===Object.keys(r).length&&(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center text-[var(--app-shell-muted)] mt-32 space-y-3",children:[(0,t.jsx)(G.MessageSquare,{className:"h-6 w-6",strokeWidth:1.5}),(0,t.jsx)("span",{className:"text-sm font-medium tracking-wide",children:"Start a thread"})]}),O.length>0&&0===z.length&&(0,t.jsx)("div",{className:"flex flex-col items-center justify-center text-[var(--app-shell-muted)] mt-16 space-y-2",children:(0,t.jsxs)("span",{className:"text-sm font-medium",children:["No ",A," threads"]})}),z.map(e=>{let a,s=e.participantId?E[e.participantId]:null,N=F.get(e.id),I=k===e.id,M=N?.allReplies.find(e=>e.content.startsWith(ei)),A=M?M.content.slice(ei.length).trim():null,P=e.threadStatus??"active",O=en.has(P),U=el.find(e=>e.value===P)??el[0],z=Object.values(r).some(t=>t.rootMessageId===e.id);if(O){let a;return(0,t.jsx)("div",{ref:t=>B(e.id,t),"data-message-id":e.id,className:`max-w-2xl mx-auto bg-[var(--app-shell-subtle)] rounded-xl border border-[var(--app-shell-border)] mb-3 group transition-all hover:border-[var(--app-shell-border-strong)] relative cursor-pointer ${$===e.id?"z-50":""}`,onClick:()=>l?.(e.id),children:(0,t.jsxs)("div",{className:"px-4 py-2.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(Y.Hash,{className:"w-3.5 h-3.5 text-[var(--app-shell-muted)] shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-[var(--app-shell-muted)] truncate flex-1",children:(0,p.stripMarkers)(e.content.split("\n")[0])}),T?.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium shrink-0",title:"Ship Mode active",children:[(0,t.jsx)(es.Rocket,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),z&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium shrink-0",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]}),e.outcomeNote&&(0,t.jsx)("span",{className:"text-[11px] text-[var(--app-shell-soft-text)] truncate max-w-[200px]",children:e.outcomeNote}),(0,t.jsx)("span",{className:"text-[10px] text-[var(--app-shell-soft-text)] shrink-0",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(e.timestamp)}),C&&(a=$===e.id,(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),R(a?null:e.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-[var(--app-shell-elevated)]",style:{borderColor:U.color+"40",color:U.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:U.color}}),U.label]}),a&&(0,t.jsx)("div",{className:"absolute top-full right-0 mt-1 z-50 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:e=>e.stopPropagation(),children:el.map(a=>(0,t.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${a.value===P?"bg-[var(--primary-muted)] text-[var(--primary)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:t=>{t.stopPropagation(),C(e.id,a.value),R(null)},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.label]},a.value))})]})),N&&N.replyCount>0&&(0,t.jsxs)("span",{className:"text-[10px] text-[var(--app-shell-muted)] shrink-0",children:[N.replyCount," replies"]})]}),(A||y?.[e.id])&&(0,t.jsxs)("div",{className:"mt-1.5 pl-6 flex flex-col gap-1",children:[A&&(0,t.jsx)("div",{className:"text-sm text-[var(--muted-foreground)] leading-relaxed prose prose-sm prose-neutralmax-w-none",children:(0,t.jsx)(c.Markdown,{content:A,isUser:!1})}),y?.[e.id]&&y[e.id].tasks.length>0&&(0,t.jsxs)("span",{className:"text-[10px] text-[var(--app-shell-muted)] flex items-center gap-1",children:[(0,t.jsx)(et,{className:"w-3 h-3"}),y[e.id].tasks.length," ",1===y[e.id].tasks.length?"task":"tasks"]})]})]})},e.id)}return(0,t.jsxs)("div",{className:`max-w-2xl mx-auto surface-card mb-6 group relative ${$===e.id?"z-50":""}`,children:[(n||i||o)&&(0,t.jsxs)(H,{className:"z-10",children:[i&&(0,t.jsx)(K,{type:"button",variant:"primary",size:"sm",onClick:()=>i(e.id),title:"Mention in chat",children:(0,t.jsx)(er,{className:"w-3.5 h-3.5"})}),(0,t.jsx)(K,{type:"button",variant:"neutral",size:"sm",onClick:()=>{navigator.clipboard.writeText(e.id)},title:"Copy message ID",children:(0,t.jsx)(ea,{className:"w-3.5 h-3.5"})}),n&&(0,t.jsx)(K,{type:"button",variant:"neutral",size:"sm",onClick:()=>n(e.id),title:"Copy thread as markdown",children:(0,t.jsx)(S.Copy,{className:"w-3.5 h-3.5"})}),o&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(X,{}),(0,t.jsx)(K,{type:"button",variant:"destructive",size:"sm",onClick:()=>o(e.id),disabled:I,title:"Delete this thread",children:I?(0,t.jsx)(_.Loader2,{className:"w-3.5 h-3.5 animate-spin"}):(0,t.jsx)(Z.Trash2,{className:"w-3.5 h-3.5"})})]})]}),(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"p-5",children:(0,t.jsxs)("div",{ref:t=>B(e.id,t),"data-message-id":e.id,className:"flex flex-col",children:[(0,t.jsxs)("div",{className:"flex gap-3 mb-4",children:["user"!==e.role&&(0,t.jsx)(d.default,{href:`/agents/${s?.id||e.participantId||"assistant"}`,className:"w-10 h-10 rounded-full bg-[var(--app-shell-subtle)] overflow-hidden border border-[var(--app-shell-border)] shadow-sm flex items-center justify-center shrink-0 hover:ring-2 hover:ring-[var(--ring)] transition-shadow",children:s?(0,t.jsx)("img",{src:(0,u.agentAvatarUrl)(s.id,40,s.color),alt:s.name,className:"w-full h-full object-cover"}):(0,t.jsx)("img",{src:(0,u.agentAvatarUrl)(e.participantId||"assistant",40),alt:e.participantId||"Assistant",className:"w-full h-full object-cover"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0 pt-0.5",children:["user"!==e.role&&(0,t.jsx)("div",{className:"flex items-center gap-2 mb-0.5",children:(0,t.jsx)(d.default,{href:`/agents/${s?.id||e.participantId||"assistant"}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",children:s?.name||e.participantId||"Assistant"})}),(0,t.jsxs)("div",{className:"cursor-pointer group/msg-title mb-1",onClick:()=>l?.(e.id),children:[(0,t.jsx)("h3",{className:"text-lg font-bold text-[var(--foreground)] leading-tight group-hover/msg-title:text-[var(--primary)] transition-colors line-clamp-1",children:(0,p.stripMarkers)(e.content.split("\n")[0])}),(0,t.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-medium text-[var(--app-shell-soft-text)]",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(e.timestamp)}),C&&(a=$===e.id,(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),R(a?null:e.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-[var(--app-shell-subtle)]",style:{borderColor:U.color+"40",color:U.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:U.color}}),U.label]}),a&&(0,t.jsx)("div",{className:"absolute top-full left-0 mt-1 z-50 bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:e=>e.stopPropagation(),children:el.map(a=>(0,t.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${a.value===P?"bg-[var(--primary-muted)] text-[var(--primary)]":"text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:t=>{t.stopPropagation(),C(e.id,a.value),R(null)},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.label]},a.value))})]})),T?.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium",title:"Ship Mode active",children:[(0,t.jsx)(es.Rocket,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),z&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]})]}),(e.content.length>80||e.content.includes("\n"))&&(0,t.jsx)("div",{className:"mt-2 text-[15px] text-[var(--muted-foreground)] leading-relaxed line-clamp-3",children:(0,t.jsx)(c.Markdown,{content:(0,p.stripMarkers)(e.content.split("\n").slice(1).join("\n").trimStart()),isUser:"user"===e.role})})]})]})]}),e.attachments&&e.attachments.length>0&&(0,t.jsx)("div",{className:`mb-4 ${"user"!==e.role?"ml-[52px]":""}`,children:(0,t.jsx)(g,{attachments:e.attachments,compact:!0})}),A&&(0,t.jsx)("div",{className:"mb-4 text-sm text-[var(--muted-foreground)] leading-relaxed",children:(0,t.jsx)(c.Markdown,{content:A,isUser:!1})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pt-2 mt-2 border-t border-[var(--card-border)]",children:[h&&N&&N.replyCount>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>h(e.id),disabled:b?.has(e.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-[var(--app-shell-subtle)] hover:bg-[var(--item-hover-bg)] text-[var(--foreground)] border border-[var(--card-border)] text-xs font-medium rounded-lg transition-colors disabled:opacity-50",children:[b?.has(e.id)?(0,t.jsx)(_.Loader2,{className:"w-3.5 h-3.5 animate-spin text-[var(--muted-foreground)]"}):(0,t.jsx)(ee.Clock,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)]"}),b?.has(e.id)?"Summarizing…":"Summarize"]}),f&&N&&N.replyCount>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>f(e.id),disabled:j?.has(e.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-[var(--app-shell-subtle)] hover:bg-[var(--item-hover-bg)] text-[var(--foreground)] border border-[var(--card-border)] text-xs font-medium rounded-lg transition-colors disabled:opacity-50",children:[j?.has(e.id)?(0,t.jsx)(_.Loader2,{className:"w-3.5 h-3.5 animate-spin text-[var(--muted-foreground)]"}):(0,t.jsx)(et,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)]"}),j?.has(e.id)?"Extracting…":y?.[e.id]?"Re-extract tasks":"Create tasks"]}),N&&N.replyCount>0&&l&&(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2 cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>l(e.id),children:[(0,t.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)] font-medium",children:[N.replyCount," replies"]}),(0,t.jsx)("div",{className:"flex -space-x-2",children:N.participants.slice(0,3).map(e=>{if("user"===e)return(0,t.jsx)("div",{className:"w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--card-bg)] flex items-center justify-center z-10",children:(0,t.jsx)(Q.User,{className:"w-3 h-3 text-[var(--muted-foreground)]"})},"user");let a=E[e];return a?(0,t.jsx)("img",{src:(0,u.agentAvatarUrl)(e,24,a.color),alt:a.name,className:"w-6 h-6 rounded-full border-2 border-[var(--card-bg)] object-cover z-10"},e):(0,t.jsx)("div",{className:"w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--card-bg)] z-10"},e)})})]})]}),y?.[e.id]&&(y[e.id].builtTaskIds&&Object.keys(y[e.id].builtTaskIds).length>0?(0,t.jsx)(J,{draft:y[e.id],onPush:(t,a,r)=>v?.(e.id,t,a,r),pushing:w?.has(y[e.id].draftId)}):(0,t.jsx)(D,{draft:y[e.id],onUpdate:t=>x?.(e.id,t),onBuild:(t,a,r)=>v?.(e.id,t,a,r),building:w?.has(y[e.id].draftId)})),j?.has(e.id)&&(0,t.jsxs)("div",{className:"mt-4 flex items-center gap-2 text-xs text-[var(--app-shell-muted)]",children:[(0,t.jsx)(_.Loader2,{className:"w-3.5 h-3.5 animate-spin"}),(0,t.jsx)("span",{children:"Extracting tasks…"})]})]})}),Object.entries(r).filter(([,t])=>t.rootMessageId===e.id).map(([e,a])=>{let r=E[e];return(0,t.jsx)("div",{className:"px-6 pb-4",children:(0,t.jsx)(m,{participantId:e,participantName:r?.name||e,participantColor:r?.color||"#888",content:a.content})},`streaming-${e}`)})]})]},e.id)})]})})}let ed=(0,b.default)("message-square-text",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]);var ec=e.i(519132);let eu={ack:{symbol:"👍",label:"Acknowledged"},working:{symbol:"🔄",label:"Working"},done:{symbol:"✅",label:"Done"},clarify:{symbol:"❓",label:"Needs clarification"},blocked:{symbol:"⛔",label:"Blocked"}};function ep({type:e,count:a,participantIds:r}){let s=eu[e],l=r.join(", "),n=l?`${s.label}: ${l}`:s.label;return(0,t.jsxs)("span",{title:n,className:"inline-flex items-center gap-1 rounded-full border border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-2 py-0.5 text-xs text-[var(--foreground)]",children:[(0,t.jsx)("span",{"aria-hidden":!0,children:s.symbol}),(0,t.jsx)("span",{className:"tabular-nums",children:a})]})}function eh({reactions:e}){if(!e||0===e.length)return null;let a=[...e].sort((e,t)=>t.count!==e.count?t.count-e.count:e.type.localeCompare(t.type));return(0,t.jsx)("div",{className:"mt-1 flex flex-wrap items-center gap-1",children:a.map(e=>(0,t.jsx)(ep,{type:e.type,count:e.count,participantIds:e.participantIds},e.type))})}function em({messages:e,streaming:r,participants:s,rootMessageId:l,queued:n=!1,onClose:i,onCopyThread:o,onAddToChat:h,onDeleteThreadRoot:m,onDeleteMessage:f,highlightedMessageId:x,renderReplyComposer:v,activeProcesses:b=[]}){let j=(0,a.useRef)(null),w=(0,a.useRef)(new Map),y=Object.fromEntries(s.map(e=>[e.id,e])),k=(0,a.useMemo)(()=>{let t=e.find(e=>e.id===l),a=e.filter(e=>e.rootMessageId===l).sort((e,t)=>e.timestamp-t.timestamp);return t?[t,...a]:a},[e,l]),N=(0,a.useRef)(null),C=(0,a.useRef)(!1),I=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=N.current;if(!e)return;let t=()=>{let{scrollTop:t,scrollHeight:a,clientHeight:r}=e;C.current=a-t-r>80};return e.addEventListener("scroll",t,{passive:!0}),()=>e.removeEventListener("scroll",t)},[]),(0,a.useEffect)(()=>{if(x&&x!==I.current){I.current=x;let e=w.current.get(x);e&&e.scrollIntoView({behavior:"smooth",block:"center"})}else x||C.current||(I.current=null,j.current?.scrollIntoView({behavior:"smooth"}))},[x,k,r]),(0,t.jsxs)("div",{className:"flex flex-col h-full overflow-hidden bg-[var(--app-shell-bg)] transition-colors",children:[b.length>0&&(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 px-4 py-2 border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] backdrop-blur-md transition-colors",children:[(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 text-[11px] font-medium text-[var(--app-shell-muted)]",children:[(0,t.jsx)(ec.Sparkles,{className:"h-3.5 w-3.5 text-indigo-500",strokeWidth:1.75}),(0,t.jsx)("span",{className:"uppercase tracking-[0.16em]",children:"Working"})]}),(0,t.jsx)("div",{className:"flex items-center -space-x-1.5",children:b.map(e=>{let a=y[e.agentId];return(0,t.jsxs)("div",{className:"relative",title:`${a?.name||e.agentId} — ${e.state}`,children:[(0,t.jsx)("img",{src:(0,u.agentAvatarUrl)(e.agentId,24,a?.color),alt:a?.name||e.agentId,className:"w-6 h-6 rounded-full border-2 border-[var(--app-shell-surface)] shadow-sm"}),(0,t.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 w-2.5 h-2.5 bg-green-400 rounded-full border-2 border-[var(--app-shell-surface)] animate-pulse"})]},e.agentId)})})]}),(0,t.jsx)("div",{ref:N,className:"flex-1 overflow-y-auto p-4 md:p-8 space-y-6 chat-scrollbar",children:(0,t.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8 pb-4",children:[k.map(e=>{let a,r="user"===e.role,s=e.participantId?y[e.participantId]:null;return(0,t.jsxs)("div",{ref:t=>{var a;return a=e.id,void(t?w.current.set(a,t):w.current.delete(a))},"data-message-id":e.id,className:"group relative flex gap-4 ",children:[(0,t.jsx)("div",{className:"flex-shrink-0 mt-1",children:r?(0,t.jsx)("div",{className:"w-9 h-9 bg-[var(--app-shell-subtle)] rounded-full flex items-center justify-center text-[var(--app-shell-muted)] shadow-sm",children:(0,t.jsx)(Q.User,{className:"w-5 h-5"})}):(0,t.jsx)(d.default,{href:`/agents/${s?.id||e.participantId||"assistant"}`,className:"hover:ring-2 hover:ring-[var(--ring)] rounded-full transition-shadow",children:(0,t.jsx)("img",{src:s?(0,u.agentAvatarUrl)(s.id,36,s.color):(0,u.agentAvatarUrl)(e.participantId||"assistant",36),alt:s?.name||e.participantId||"Assistant",className:"w-9 h-9 rounded-full shadow-sm border border-[var(--app-shell-border)] object-cover bg-[var(--app-shell-subtle)]"})})}),(0,t.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[r?(0,t.jsx)("span",{className:"font-bold text-sm text-[var(--foreground)]",children:"You"}):(0,t.jsx)(d.default,{href:`/agents/${s?.id||e.participantId||"assistant"}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",style:s?.color?{color:s.color}:void 0,children:s?.name||e.participantId||"Assistant"}),void 0===e.rootMessageId&&e.id===l&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] rounded font-mono uppercase",children:"ROOT"}),(0,t.jsx)("span",{className:"text-[11px] text-[var(--app-shell-soft-text)]",children:(a=e.timestamp,new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(a))})]}),(0,t.jsxs)("div",{className:`surface-card rounded-2xl p-5 text-[15px] leading-relaxed ${e.id===x?"ring-2 ring-[var(--ring)]":""}`,children:[(0,t.jsx)(c.Markdown,{content:(0,p.stripMarkers)(e.content),isUser:r}),e.attachments&&e.attachments.length>0&&(0,t.jsx)(g,{attachments:e.attachments}),e.reactions&&e.reactions.length>0&&(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(eh,{reactions:e.reactions})})]}),(0,t.jsxs)(H,{children:[e.id===l&&(0,t.jsx)(K,{variant:"primary",size:"sm",onClick:()=>navigator.clipboard.writeText(e.id),title:"Copy message ID",children:(0,t.jsx)(ea,{className:"w-3.5 h-3.5"})}),e.id===l&&o&&(0,t.jsx)(K,{variant:"neutral",size:"sm",onClick:()=>o(e.id),title:"Copy Thread",children:(0,t.jsx)(ed,{className:"w-3.5 h-3.5"})}),(0,t.jsx)(K,{variant:"neutral",size:"sm",onClick:()=>navigator.clipboard.writeText(e.content),title:"Copy as Markdown",children:(0,t.jsx)(S.Copy,{className:"w-3.5 h-3.5"})}),e.id===l&&m&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(X,{}),(0,t.jsx)(K,{variant:"destructive",size:"sm",onClick:()=>m(e.id),title:"Delete Thread",children:(0,t.jsx)(Z.Trash2,{className:"w-3.5 h-3.5"})})]}),e.id!==l&&f&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(X,{}),(0,t.jsx)(K,{variant:"destructive",size:"sm",onClick:()=>f(e.id),title:"Delete Message",children:(0,t.jsx)(Z.Trash2,{className:"w-3.5 h-3.5"})})]})]})]})]},e.id)}),n&&0===b.length&&(0,t.jsxs)("div",{className:"flex gap-3 group relative opacity-80 animate-in fade-in slide-in-from-bottom-1 duration-300",children:[(0,t.jsx)("div",{className:"flex-shrink-0 mt-0.5",children:(0,t.jsx)("div",{className:"w-7 h-7 rounded-full border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] flex items-center justify-center",children:(0,t.jsx)(ec.Sparkles,{className:"w-3.5 h-3.5 text-[var(--app-shell-soft-text)]",strokeWidth:1.5})})}),(0,t.jsx)("div",{className:"flex-1 max-w-full overflow-hidden",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,t.jsx)("span",{className:"text-xs tracking-wide text-[var(--app-shell-soft-text)]",children:"Processing"}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-[3px]",children:[(0,t.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--app-shell-soft-text)]/50 animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,t.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--app-shell-soft-text)]/50 animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,t.jsx)("span",{className:"w-1 h-1 rounded-full bg-[var(--app-shell-soft-text)]/50 animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})]})})]}),Object.entries(r).filter(([,e])=>e.rootMessageId===l).map(([e,a])=>{let r=y[e],s=a.content.trim().length>0;return(0,t.jsxs)("div",{className:"flex gap-4 group relative animate-in fade-in slide-in-from-bottom-2 duration-300",children:[(0,t.jsx)("div",{className:"flex-shrink-0 mt-1",children:(0,t.jsx)(d.default,{href:`/agents/${r?.id||e}`,className:"hover:ring-2 hover:ring-[var(--ring)] rounded-full transition-shadow",children:(0,t.jsx)("img",{src:r?(0,u.agentAvatarUrl)(r.id,36,r.color):(0,u.agentAvatarUrl)(e,36),alt:r?.name||e,className:"w-9 h-9 rounded-full shadow-sm border border-[var(--app-shell-border)] object-cover bg-[var(--app-shell-subtle)]"})})}),(0,t.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.default,{href:`/agents/${r?.id||e}`,className:"font-bold text-sm text-[var(--foreground)] hover:underline",style:r?.color?{color:r.color}:void 0,children:r?.name||e}),!s&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-[3px]",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--app-shell-muted)] animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})]}),s&&(0,t.jsx)("div",{className:"surface-card rounded-2xl p-5 text-[15px] leading-relaxed",children:(0,t.jsx)(c.Markdown,{content:(0,p.stripMarkers)(a.content),isUser:!1})})]})]},`streaming-${e}`)}),(0,t.jsx)("div",{ref:j,className:"h-4"})]})}),(0,t.jsx)("div",{className:"z-20 transition-colors duration-200",children:v(l)})]})}var ef=e.i(51297);let ex=(0,b.default)("search-x",[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["path",{d:"m8.5 8.5 5 5",key:"a8mexj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);function eg({query:e,results:a,total:r,participants:s,threadTitleById:l,isLoading:n,error:i,onSelectResult:o,headerSlot:c}){let p=Object.fromEntries(s.map(e=>[e.id,e]));return(0,t.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[c?(0,t.jsx)("div",{className:"sticky top-0 z-20 bg-[var(--app-shell-subtle)]/70 backdrop-blur-md pt-4 pb-6 px-4 -mx-4 border-b border-transparent transition-colors",children:(0,t.jsx)("div",{className:"max-w-2xl mx-auto",children:c})}):null,(0,t.jsxs)("div",{className:"mb-4 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-4 py-3",children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-[var(--foreground)]",children:"Search results"}),(0,t.jsx)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:n?"Searching…":`${r} result${1===r?"":"s"} for "${e}"`}),i?(0,t.jsx)("div",{className:"mt-2 text-sm text-rose-600",children:i}):null]}),n||i||0!==a.length?null:(0,t.jsxs)("div",{className:"mt-20 flex flex-col items-center justify-center space-y-2 text-[var(--app-shell-muted)]",children:[(0,t.jsx)(ex,{className:"h-6 w-6",strokeWidth:1.5}),(0,t.jsx)("p",{className:"text-sm font-medium",children:"No matching messages"})]}),(0,t.jsx)("div",{className:"space-y-3 pb-6",children:a.map(e=>{var a;let r=e.participantId?p[e.participantId]:null,s=l[e.threadId]||"Untitled thread",n="user"===e.role?"You":r?.name||e.participantId||"Assistant";return(0,t.jsxs)("button",{type:"button",onClick:()=>o(e),className:"w-full rounded-xl border border-[var(--border)] bg-[var(--card-bg)] p-4 text-left transition hover:border-[var(--border)] hover:shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-slate-400",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)("div",{className:"flex h-8 w-8 items-center justify-center overflow-hidden rounded-full bg-[var(--muted)]",children:"user"===e.role?(0,t.jsx)(Q.User,{className:"h-4 w-4 text-[var(--foreground)]"}):r?(0,t.jsx)(d.default,{href:`/agents/${r.id}`,onClick:e=>e.stopPropagation(),className:"h-full w-full hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,t.jsx)("img",{src:(0,u.agentAvatarUrl)(r.id,32,r.color),alt:"",className:"h-full w-full object-cover"})}):(0,t.jsx)(ef.Bot,{className:"h-4 w-4 text-[var(--foreground)]"})}),(0,t.jsxs)("div",{className:"min-w-0",children:["user"!==e.role&&r?(0,t.jsx)(d.default,{href:`/agents/${r.id}`,onClick:e=>e.stopPropagation(),className:"truncate text-sm font-semibold text-[var(--foreground)] hover:underline block",children:n}):(0,t.jsx)("p",{className:"truncate text-sm font-semibold text-[var(--foreground)]",children:n}),(0,t.jsx)("p",{className:"truncate text-xs text-[var(--muted-foreground)]",children:s})]})]}),(0,t.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:(a=e.timestamp,new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(a))})]}),(0,t.jsx)("p",{className:"text-sm leading-relaxed text-[var(--foreground)]",children:function(e){let a=e.split(/(<\/?mark>)/g),r=!1,s=[];for(let[e,l]of a.entries()){if("<mark>"===l){r=!0;continue}if("</mark>"===l){r=!1;continue}l&&s.push(r?(0,t.jsx)("mark",{className:"rounded bg-amber-200/80 px-0.5",children:l},`${e}-mark`):(0,t.jsx)("span",{children:l},`${e}-text`))}return s}(e.snippet)})]},`${e.threadId}-${e.messageId}`)})})]})})}var ev=e.i(984242),eb=e.i(481248),ej=e.i(169433);let ew="agx-chat:project-agent-config",ey={activeParticipantIdsByThread:{}};function ek(){return void 0!==window.localStorage}function eN(e){if(!Array.isArray(e))return[];let t=new Set,a=[];for(let r of e){if("string"!=typeof r)continue;let e=r.trim();!e||t.has(e)||(t.add(e),a.push(e))}return a}function eC(){if(!ek())return{...ey};let e=window.localStorage.getItem(ew);if(!e)return{...ey};try{let t=JSON.parse(e).activeParticipantIdsByThread;if(!t||"object"!=typeof t)return{...ey};return{activeParticipantIdsByThread:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,eN(t)]))}}catch{return{...ey}}}function eS(e,t){let a=e.trim();if(!a)return;let r=eC();r.activeParticipantIdsByThread[a]=eN(t);if(ek())try{window.localStorage.setItem(ew,JSON.stringify(r))}catch{}}let eI={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,fileIgnorePatterns:[]};function eT(e){return e&&"object"==typeof e?{threadSidebarVisible:"boolean"==typeof e.threadSidebarVisible?e.threadSidebarVisible:eI.threadSidebarVisible,workspaceRoots:Array.isArray(e.workspaceRoots)?e.workspaceRoots.filter(e=>"string"==typeof e):eI.workspaceRoots,homeSearchConsent:"boolean"==typeof e.homeSearchConsent?e.homeSearchConsent:eI.homeSearchConsent,fileIgnorePatterns:Array.isArray(e.fileIgnorePatterns)?e.fileIgnorePatterns.filter(e=>"string"==typeof e):eI.fileIgnorePatterns}:eI}let eM="/api/userPreferences";function e$(e){return e.json().then(e=>e&&"object"==typeof e?eT(e.preferences??e):eT(e)).catch(()=>eT(null))}function eR(e){return e.statusText||`Failed to reach ${eM} (${e.status})`}async function eA(){let e=await fetch(eM,{cache:"no-store"});if(!e.ok)throw Error(eR(e));return e$(e)}async function eP(e){let t=await fetch(eM,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:e})});if(!t.ok)throw Error(eR(t));return e$(t)}var eE=e.i(990933),e_=e.i(352687),eO=e.i(524123),eU=e.i(8707),ez=e.i(493141),eD=e.i(846279),eD=eD;let eL=(0,b.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);var eF=e.i(721571),eB=e.i(468947),eW=e.i(837958),eq=e.i(595807),eq=eq;function eV({logs:e,participants:r,onClear:s,open:l,onToggle:n}){let[i,o]=(0,a.useState)(420),[d,c]=(0,a.useState)(null),u=(0,a.useRef)(null),p=(0,a.useRef)(!1),h=(0,a.useRef)(0),m=(0,a.useRef)(0),f=Object.fromEntries(r.map(e=>[e.id,e]));(0,a.useEffect)(()=>{l&&u.current?.scrollIntoView({behavior:"smooth"})},[e.length,l]);let x=(0,a.useCallback)(e=>{e.preventDefault(),p.current=!0,h.current=e.clientX,m.current=i,e.target.setPointerCapture(e.pointerId)},[i]),g=(0,a.useCallback)(e=>{if(!p.current)return;let t=h.current-e.clientX;o(Math.max(280,Math.min(m.current+t,.6*window.innerWidth)))},[]),v=(0,a.useCallback)(()=>{p.current=!1},[]);if(!l)return null;let b=d?e.filter(e=>e.participantId===d):e;return(0,t.jsxs)("div",{className:"flex h-full shrink-0",children:[(0,t.jsx)("div",{onPointerDown:x,onPointerMove:g,onPointerUp:v,className:"w-1.5 cursor-col-resize bg-zinc-800 hover:bg-zinc-600 transition-colors flex items-center justify-center shrink-0",children:(0,t.jsx)("div",{className:"h-8 w-0.5 rounded-full bg-zinc-500"})}),(0,t.jsxs)("div",{className:"flex flex-col bg-zinc-950 h-full",style:{width:i},children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-zinc-800 shrink-0",children:[(0,t.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)] font-mono",children:"Logs"}),(0,t.jsxs)("select",{value:d||"",onChange:e=>c(e.target.value||null),className:"bg-zinc-800 text-zinc-300 text-[11px] rounded px-1.5 py-0.5 outline-none",children:[(0,t.jsx)("option",{value:"",children:"All"}),r.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))]}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsx)("button",{onClick:s,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"Clear"}),(0,t.jsx)("button",{onClick:n,className:"text-[11px] text-[var(--muted-foreground)] hover:text-zinc-300",children:"✕"})]})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto font-mono text-[11px] leading-4 px-3 py-2",children:[b.map((e,a)=>{let r=f[e.participantId]?.name||e.participantId,s=f[e.participantId]?.color||"#888",l="stderr"===e.stream;return(0,t.jsxs)("div",{className:"flex gap-2 whitespace-pre-wrap break-all",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)] shrink-0 select-none",children:new Date(e.timestamp).toLocaleTimeString([],{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}),(0,t.jsx)("span",{className:"shrink-0",style:{color:s},children:r}),(0,t.jsx)("span",{className:l?"text-red-400":"text-[var(--muted-foreground)]",children:e.line})]},a)}),(0,t.jsx)("div",{ref:u})]})]})]})}var eJ=e.i(524780);let eH="agx-theme";function eX(e,t=!1){return(t?e.replace(/(?:^|\n)Thinking\.\.\.[\s\S]*?\.\.\.done thinking\.?\s*/g,"\n").trim():e).replaceAll("<!-- thread-summary -->","").replaceAll("<!-- task-draft -->","").trim().replace(/\r\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}async function eK(e){let t=await fetch(`/api/threads/knowledge?rootMessageId=${encodeURIComponent(e)}`,{cache:"no-store"});if(!t.ok)throw Error("Failed to load thread knowledge run");let a=await t.json().catch(e=>(console.warn("[ChatContainer] failed to parse thread knowledge response:",e),null));return a?.run??null}function eG(e,t,a){let r=new Set(e.map(e=>e.id)),s=a?t.find(e=>e.thread_ids?.includes(a)):t[0],l=s?s.agents.map(e=>e.agent_id).filter(e=>r.has(e)):[];return s?l:0===l.length?e.map(e=>e.id):l}function eY(e,t,a){let r=Object.fromEntries(t.map(e=>[e.id,e])),s=[];for(let t of e){let e="user"===t.role?"You":t.participantId?r[t.participantId]?.name||t.participantId:"Assistant",a=eX(t.content,"user"!==t.role);a&&(s.push(`**${e}:**`),s.push(""),s.push(a),s.push(""))}if(a){let e=function(e){if(0===e.tasks.length)return"";let t=new Map(e.tasks.map(e=>[e.id,e.title.trim()])),a=["## Draft Tasks",""];return e.projectName&&a.push(`Project: ${e.projectName}`),e.buildStatus&&a.push(`Build status: ${e.buildStatus.replaceAll("_"," ")}`),(e.projectName||e.buildStatus)&&a.push(""),e.tasks.forEach((r,s)=>{let l=eX(r.title)||`Task ${s+1}`,n=eX(r.description),i=(r.dependsOn||[]).map(e=>t.get(e)?.trim()).filter(e=>!!e),o=e.builtTaskIds?.[r.id];a.push(`${s+1}. [ ] **${l}**`),n&&a.push(n),i.length>0&&a.push(`Depends on: ${i.join(", ")}`),o&&a.push(`agx task id: \`${o}\``),a.push("")}),a.join("\n").trim()}(a);e&&s.push(e)}return s.join("\n").trim()}e.s(["ChatContainer",0,function({projectSlug:e,initialThreadId:d,initialRootMessageId:c,showSidebar:u=!0}={}){let{getSelection:p,pushSelection:h,replaceSelection:m}=(0,s.useUrlSelection)(),{threads:f,activeThreadId:x,selectThread:g,createThread:v,deleteThread:b,updateThreadMessages:j,isCreating:w,deletingThreadId:y,renamingThreadId:k,isLoading:N,isRestoringActiveThread:C,renameThread:S,updateThreadStatus:I,updateThreadOutcomeNote:T,updateMessageThreadStatus:M,updateMessageOutcomeNote:$}=(0,i.useThreadState)(d),{messages:R,setMessages:A,logs:P,sendMessage:_,loadHistory:O,clearLogs:U,chatRuns:z,setChatRuns:D,stop:L,stopThread:F}=(0,l.useGroupChat)(x),{activeAgents:B,processes:W,streaming:q,chatRuns:V,poll:J}=(0,n.useProcessPolling)(x?{workspaceId:x}:null,{messages:R,setMessages:A}),H=(0,a.useMemo)(()=>{let e=Date.now(),t=new Map(V.map(e=>[e.chatRunId,e]));for(let a of z)!(!a.optimistic||t.has(a.chatRunId))&&(e-(a.enqueuedAt??0)>5e3||t.set(a.chatRunId,a));return Array.from(t.values()).filter(e=>"queued"===e.status||"running"===e.status)},[z,V]),X=B.size>0||H.some(e=>"running"===e.status)?"working":H.some(e=>"queued"===e.status)?"queued":"ready";(0,a.useEffect)(()=>{D(e=>{let t=Date.now(),a=new Map(e.filter(e=>"string"==typeof e.chatRunId&&e.chatRunId.length>0).map(e=>[e.chatRunId,e]));for(let e of V)e?.chatRunId&&a.set(e.chatRunId,e);return Array.from(a.values()).filter(e=>!!(!e.optimistic||V.some(t=>t.chatRunId===e.chatRunId))||t-(e.enqueuedAt??0)<=5e3).sort((e,t)=>String(e.chatRunId||"").localeCompare(String(t.chatRunId||"")))})},[V,D]);let K=(0,a.useCallback)(async e=>{await fetch(`/api/chat-runs/${encodeURIComponent(e)}/signal`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({signal:"cancel",reason:"Stopped from chat UI"})}).catch(e=>console.warn("[ChatContainer] cancel chat run failed:",e))},[]),G=(0,a.useCallback)(async()=>{let e=H[0];e?.chatRunId&&await K(e.chatRunId),await L(),await J()},[H,K,L,J]),Y=(0,a.useCallback)(async e=>{let t=H.find(t=>t.rootMessageId===e);t?.chatRunId&&await K(t.chatRunId),await F(e),await J()},[H,K,F,J]),Z=(0,a.useRef)(G);(0,a.useEffect)(()=>{Z.current=G},[G]);let{projects:Q,createProject:ee,deleteProject:et,addAgent:ea,removeAgent:er,reorderAgents:es}=(0,eO.useProjectsWithAgents)(),{projects:el,updateProject:en}=(0,eO.useProjects)(),ei=(0,a.useMemo)(()=>x?Q.filter(e=>e.thread_ids?.includes(x)):Q,[Q,x]),ed=(0,a.useMemo)(()=>e||ei[0]?.slug||void 0,[e,ei]),[ec,eu]=(0,a.useState)([]),[ep,eh]=(0,a.useState)(!1),[ef,ex]=(0,a.useState)([]),[ew,ey]=(0,a.useState)(!1),[ek,eN]=(0,a.useState)(()=>{let e=window.localStorage.getItem(eH);return"dark"===e||"light"===e?e:document.documentElement.classList.contains("dark")?"dark":"light"}),[eI,eT]=(0,a.useState)(!1),[eM,e$]=(0,a.useState)(368),eR=(0,a.useRef)(!1);(0,a.useEffect)(()=>{let e=(0,eb.loadWorkspaceSidebarVisible)();eR.current=!0,eT(e),e$((0,ej.loadWorkspaceWidth)()||368)},[]),(0,a.useEffect)(()=>{let e="dark"===ek;document.documentElement.classList.toggle("dark",e),document.documentElement.style.colorScheme=ek,window.localStorage.setItem(eH,ek)},[ek]);let[eX,eZ]=(0,a.useState)(!1),[eQ,e0]=(0,a.useState)(new Set),[e1,e5]=(0,a.useState)(!1),[e2,e3]=(0,a.useState)(!1),[e4,e8]=(0,a.useState)(null),e6=p("open"),e7=p("message"),e9=e?e6??c??null:c??null,te=e9?eQ.has(e9):e1;(0,a.useEffect)(()=>{if(!e9)return;let e=!1,t=()=>{fetch(`/api/schedules?rootMessageId=${encodeURIComponent(e9)}`).then(e=>e.json()).then(t=>{e||e0(e=>{let a=e.has(e9);if(t.active&&!a){let t=new Set(e);return t.add(e9),t}if(!t.active&&a){let t=new Set(e);return t.delete(e9),t}return e})}).catch(e=>console.warn("[ChatContainer] check auto-mode status failed:",e))};t();let a=setInterval(t,r.UI_POLL_CHAT_CHECK_MS);return()=>{e=!0,clearInterval(a)}},[e9]),(0,a.useEffect)(()=>{let e=!1,t=()=>{fetch("/api/schedules").then(e=>e.json()).then(t=>{!e&&t.activeRootMessageIds&&e0(e=>{let a=new Set(t.activeRootMessageIds);return a.size===e.size&&[...a].every(t=>e.has(t))?e:a})}).catch(e=>console.warn("[ChatContainer] fetch schedules failed:",e))};t();let a=setInterval(t,r.UI_POLL_CHAT_ALT_MS);return()=>{e=!0,clearInterval(a)}},[]);let tt=(0,a.useCallback)((t,a={})=>{let r=a.replace?m:h;if(e){let s=a.threadId??x??d??null;if(!s)return;r({open:t,message:a.messageId??null},`/projects/${e}/thread/${encodeURIComponent(s)}`);return}t?r({message:a.messageId??null},`/thread/${encodeURIComponent(t)}`):r({message:null},"/")},[x,d,e,h,m]);(0,a.useEffect)(()=>{c&&(async()=>{try{let e=await fetch(`/api/messages/${c}`);if(!e.ok)return;let{threadId:t}=await e.json();t&&g(t)}catch{}})()},[c,g]);let[ta,tr]=(0,a.useState)(""),[ts,tl]=(0,a.useState)([]),[tn,ti]=(0,a.useState)(0),[to,td]=(0,a.useState)(!1),[tc,tu]=(0,a.useState)(null),[tp,th]=(0,a.useState)(new Set),[tm,tf]=(0,a.useState)(null),[tx,tg]=(0,a.useState)(null),[tv,tb]=(0,a.useState)({}),tj=(0,a.useCallback)(e=>{tb(t=>{let a="function"==typeof e?e(t):e;if(x)for(let[e,r]of Object.entries(a))t[e]!==r&&fetch("/api/task-drafts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:x,messageId:e,draft:r})}).catch(e=>console.warn("[ChatContainer] persist task draft failed:",e));return a})},[x]),[tw,ty]=(0,a.useState)(new Set),[tk,tN]=(0,a.useState)(new Set),tC=(0,a.useRef)(null),tS=(0,a.useRef)(""),tI=(0,a.useCallback)(async(e=!1)=>{try{let e=await fetch("/api/participants");if(!e.ok)return;let t=await e.json();if(!Array.isArray(t))return;eu(t)}finally{e&&eh(!0)}},[]),tT=(0,a.useCallback)(async e=>{try{await eP({threadSidebarVisible:e})}catch(e){console.error("Unable to persist thread sidebar preference",e)}},[eP]),tM=(0,a.useCallback)(e=>{(0,eb.persistWorkspaceSidebarVisible)(e),tT(e)},[tT]),t$=ta.trim(),tR=t$.length>0,tA=(0,a.useMemo)(()=>Object.fromEntries(f.map(e=>[e.id,e.title?.trim()||"Untitled thread"])),[f]),tP=(0,a.useMemo)(()=>{if(!e9)return[];let e=new Set([R.find(e=>e.id===e9),...R.filter(e=>e.rootMessageId===e9)].filter(Boolean).map(e=>e.participantId).filter(Boolean));return Object.keys(q).forEach(t=>{q[t].rootMessageId===e9&&e.add(t)}),ec.filter(t=>e.has(t.id))},[e9,R,q,ec]),tE=(0,a.useMemo)(()=>{let e=new Map(ec.map(e=>[e.id,e]));return ef.map(t=>e.get(t)).filter(Boolean)},[ec,ef]),t_=(0,a.useMemo)(()=>el.map(e=>({id:e.id,name:e.name,slug:e.slug})),[el]),tO=(0,a.useMemo)(()=>{if(!e9)return 0;let e=[R.find(e=>e.id===e9),...R.filter(e=>e.rootMessageId===e9)].filter(Boolean);return 0===e.length?0:Math.max(...e.map(e=>e.timestamp))},[e9,R]),tU=(0,a.useMemo)(()=>{if(!e9)return"";let e=R.find(e=>e.id===e9);if(!e)return"Discussion";let t=e.content.trim();return t.length>60?t.slice(0,60)+"...":t},[e9,R]),tz=(0,a.useMemo)(()=>{if(!e9)return null;let e=R.find(e=>e.id===e9),t=e?.threadStatus??"active";return{value:t,...{active:{label:"Active",color:"#f59e0b"},paused:{label:"Paused",color:"#f97316"},"in-review":{label:"In Review",color:"#6b7280"},done:{label:"Done",color:"#3b82f6"},archived:{label:"Archived",color:"#9ca3af"}}[t]}},[e9,R]);(0,a.useEffect)(()=>{if(!e7)return;let e=R.find(e=>e.id===e7)??null;if(e){let t=e.rootMessageId||e.id;t!==e9&&tt(t,{messageId:e7,replace:!0});return}!e9||[R.find(e=>e.id===e9),...R.filter(e=>e.rootMessageId===e9)].filter(Boolean).length>0&&m({message:null})},[R,tt,e9,m,e7]);let tD=(0,a.useCallback)(()=>{tr(""),tl([]),ti(0),tu(null),td(!1)},[]);(0,a.useCallback)(()=>{let e=eY(R,ec);navigator.clipboard.writeText(e).then(()=>{ey(!0),setTimeout(()=>ey(!1),2e3)})},[R,ec]);let[tL,tF]=(0,a.useState)(null),tB=(0,a.useCallback)(e=>{let t=R.find(t=>t.id===e);if(!t)return;let a=[t,...R.filter(t=>t.rootMessageId===e).sort((e,t)=>e.timestamp-t.timestamp)];tF({title:t.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",threadId:e,messages:a})},[R]),tW=(0,a.useCallback)(e=>{let t=eY([R.find(t=>t.id===e),...R.filter(t=>t.rootMessageId===e).sort((e,t)=>e.timestamp-t.timestamp)].filter(Boolean),ec,tv[e]);navigator.clipboard.writeText(t).catch(e=>console.error("Failed to copy thread",e))},[R,ec,tv]),tq=(0,a.useCallback)(async()=>{if(e9){e3(!0);try{let e=["repo"];ed&&e.push("project");let t=await fetch("/api/threads/knowledge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:e9,scopes:e})}),a=await t.json().catch(e=>(console.warn("[ChatContainer] failed to parse knowledge extraction response:",e),null));if(!t.ok)throw Error("string"==typeof a?.error?a.error:"Request failed");e8(a?.run??null)}catch(t){let e=t instanceof Error?t.message:"Request failed";window.alert(`Failed to extract knowledge: ${e}`)}finally{e3(!1)}}},[e9,ed]);(0,a.useEffect)(()=>{if(!e9){e8(null),e3(!1);return}let e=!1;return(async()=>{try{let t=await eK(e9);if(e)return;e8(t)}catch{e||e8(null)}})(),()=>{e=!0}},[e9]),(0,a.useEffect)(()=>{if(!e9||e4?.status!=="running")return;let e=!1,t=async()=>{try{let t=await eK(e9);if(e)return;e8(t)}catch{}};t();let a=window.setInterval(()=>{t()},2e3);return()=>{e=!0,window.clearInterval(a)}},[e9,e4?.status]);let tV=e4?.status==="running",tJ=e2||tV,tH=(e4?.repoInsertedCount??0)+(e4?.projectInsertedCount??0),tX=(0,a.useMemo)(()=>{if(!e4)return null;if("running"===e4.status)return"Learning in progress";if("failed"===e4.status)return"Last learning run failed";if(tH>0){let e=1===tH?"insight":"insights";return`Learned ${tH} ${e}`}return"No new learnings"},[tH,e4]);(0,a.useEffect)(()=>{tI(!0)},[tI]);let tK=(0,a.useMemo)(()=>{if(!ep)return[];let e=new Set(ec.map(e=>e.id)),t=new Set;for(let a of R)"assistant"===a.role&&a.participantId&&(e.has(a.participantId)||t.add(a.participantId));for(let a of Object.keys(q))e.has(a)||t.add(a);return Array.from(t).sort()},[R,ec,ep,q]);(0,a.useEffect)(()=>{if(!ep)return;let e=tK.join("|");if(!e){tS.current="";return}tS.current!==e&&(tS.current=e,tI(!1))},[ep,tI,tK]),(0,a.useEffect)(()=>{if(!ep)return;let e=eG(ec,Q,x);if(!x)return void ex(e);let t=function(e){let t=e.trim();if(!t)return null;let a=eC();return t in a.activeParticipantIdsByThread?[...a.activeParticipantIdsByThread[t]]:null}(x);if(null===t)return void ex(e);let a=function(e,t){if(null===t)return e;let a=new Set(t);return e.filter(e=>a.has(e))}(e,t),r=a.length>0?a:e;(r.length!==t.length||r.some((e,a)=>t[a]!==e))&&eS(x,r),ex(r)},[x,ec,ep,Q]),(0,a.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await eA();if(e)return;eT(e=>e===t.threadSidebarVisible?e:eR.current?(tT(e),e):((0,eb.persistWorkspaceSidebarVisible)(t.threadSidebarVisible),t.threadSidebarVisible))}catch(e){console.error("Failed to load user preferences",e)}})(),()=>{e=!0}},[tT]),(0,a.useEffect)(()=>{N||w||0!==f.length||v({id:"global",title:"General"})},[N,w,f.length,v]),(0,a.useEffect)(()=>{if(e)return;let t=e=>{if((e.metaKey||e.ctrlKey)&&"k"===e.key.toLowerCase()){e.preventDefault(),tC.current?.focus(),tC.current?.select();return}"Escape"===e.key&&t$&&tD()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[tD,t$,e]),(0,a.useEffect)(()=>{if(!t$){tl([]),ti(0),tu(null),td(!1);return}let e=!1;td(!0);let t=window.setTimeout(()=>{(async()=>{try{let t=new URLSearchParams({q:t$,limit:"20",offset:"0"}),a=await fetch(`/api/search?${t.toString()}`),r=await a.json().catch(e=>(console.warn("[ChatContainer] failed to parse search response:",e),null));if(e)return;if(!a.ok){let e=r&&"object"==typeof r&&"error"in r?String(r.error):"Search failed";tl([]),ti(0),tu(e);return}tl(Array.isArray(r.results)?r.results:[]),ti("number"==typeof r.total?r.total:0),tu(null)}catch(t){if(e)return;console.error("Search request failed",t),tl([]),ti(0),tu("Search failed")}finally{e||td(!1)}})()},300);return()=>{e=!0,window.clearTimeout(t)}},[t$]);let tG=(0,a.useRef)(null);(0,a.useEffect)(()=>{null!==tG.current&&tG.current!==x&&Z.current(),tG.current=x,x&&(O(x),fetch(`/api/task-drafts?threadId=${encodeURIComponent(x)}`).then(e=>e.json()).then(e=>{e.drafts&&Object.keys(e.drafts).length>0?tb(e.drafts):tb({})}).catch(e=>{console.warn("[ChatContainer] load task drafts failed:",e),tb({})}))},[x,O]),(0,a.useEffect)(()=>{x&&j(x,R)},[x,R,j]);let tY=(0,a.useCallback)((e,t,a=10,r,s,l)=>{x&&0!==tE.length&&_(t,a,x,e,void 0,void 0,(0,eE.orderParticipantIds)(tE.map(e=>e.id),r),ed,s,l)},[x,_,tE,ed]),tZ=(0,a.useCallback)(async e=>{if(x){if(0===tE.length)return void window.alert("Enable at least one agent in this project.");th(t=>new Set(t).add(e));try{let t=await fetch("/api/summarize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:x,rootMessageId:e,activeParticipantIds:tE.map(e=>e.id)})});t.ok?await O(x):console.error("Summarize failed:",await t.text())}catch(e){console.error("Summarize error:",e)}finally{th(t=>{let a=new Set(t);return a.delete(e),a})}}},[x,O,tE]),tQ=(0,a.useCallback)(async e=>{if(x){if(0===tE.length)return void window.alert("Enable at least one agent in this project.");ty(t=>new Set(t).add(e));try{let t=await fetch("/api/tasks/extract",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:x,rootMessageId:e,activeParticipantIds:tE.map(e=>e.id)})});if(t.ok){let a=await t.json(),r={draftId:crypto.randomUUID(),revision:0,tasks:a.tasks,buildStatus:"idle"};tj(t=>({...t,[e]:r}))}else console.error("Task extraction failed:",await t.text())}catch(e){console.error("Task extraction error:",e)}finally{ty(t=>{let a=new Set(t);return a.delete(e),a})}}},[x,tE]),t0=(0,a.useCallback)((e,t)=>{tj(a=>({...a,[e]:t}))},[]),t1=(0,a.useCallback)(async(e,t,a,r)=>{if(x){tN(e=>new Set(e).add(t.draftId)),tj(s=>({...s,[e]:{...t,buildStatus:"building",projectId:a,projectName:r}}));try{let r=crypto.randomUUID(),s=await E(t.tasks,a,r,t.builtTaskIds),l={...t.builtTaskIds},n=!1;for(let e of s.results)"created"===e.status&&e.remoteTaskId?l[e.clientTaskId]=e.remoteTaskId:n=!0;tj(t=>({...t,[e]:{...t[e],buildId:r,buildStatus:n?"partial_failure":"done",builtTaskIds:l}}))}catch(t){console.error("Build error:",t),tj(t=>({...t,[e]:{...t[e],buildStatus:"partial_failure"}}))}finally{tN(e=>{let a=new Set(e);return a.delete(t.draftId),a})}}},[x]),t5=(0,a.useCallback)(()=>{if(!x)return;let e=(()=>{if(e9)return e9;let e=new Set(R.map(e=>e.rootMessageId).filter(e=>!!e));for(let t=R.length-1;t>=0;t-=1){let a=R[t];if(!a.rootMessageId&&e.has(a.id))return a.id}return null})();e?tQ(e):console.warn("No thread with replies available to extract tasks from")},[x,tQ,R,e9]);(0,a.useCallback)(e=>{tt(e)},[tt]);let t2=(0,a.useCallback)(e=>{tt(e)},[tt]),t3=(0,a.useCallback)(e=>{let t=e?.trim()??"";t&&tr(t),requestAnimationFrame(()=>{tC.current?.focus(),t||tC.current?.select()})},[]),t4=(0,a.useCallback)(()=>{if(!x)return;let e=(()=>{if(e9)return e9;let e=new Set(R.map(e=>e.rootMessageId).filter(e=>!!e));for(let t=R.length-1;t>=0;t-=1){let a=R[t];if(!a.rootMessageId&&e.has(a.id))return a.id}return null})();e?tZ(e):console.warn("No thread with replies available to summarize")},[x,tZ,R,e9]),t8=(0,a.useCallback)(async(e,t,a,r,s,l,n)=>{let i=e.match(/^\/search(?:\s+([\s\S]+))?$/i);if(i)return void t3(i[1]);if(/^\/summarize(?:\s+[\s\S]+)?$/i.test(e))return void t4();if(/^\/tasks(?:\s+[\s\S]+)?$/i.test(e)||/^\/create(?:\s+[\s\S]+)?$/i.test(e))return void t5();let o=x;o||(o=(await v()).id);let d=tE.map(e=>e.id);if(0===d.length)return void window.alert("Enable at least one agent in this project.");let c=(0,eE.orderParticipantIds)(d,s);if(e9)return void await _(e,t,o,e9,a,r,c,ed,l,n);let u=await _(e,t,o,null,a,r,c,ed,l,n);e1&&u&&(e5(!1),e0(e=>{let t=new Set(e);return t.add(u),t}),fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"activate",rootMessageId:u})}).catch(e=>console.error("Failed to activate schedule for new thread:",e)))},[x,e1,v,t3,t4,e9,tE,_,ed]),t6=(0,a.useCallback)(async e=>{if(!e9)return void e5(e);e0(t=>{let a=new Set(t);return e?a.add(e9):a.delete(e9),a});try{await fetch("/api/schedules",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e?"activate":"stop",rootMessageId:e9})})}catch(e){console.error("Failed to toggle autonomous schedule:",e)}},[e9]),t7=(0,a.useCallback)(e=>{tt(e.rootMessageId||e.messageId,{messageId:e.messageId,threadId:e.threadId}),tD()},[tD,tt]),t9=(0,a.useCallback)(async e=>{G(),await b(e)},[b,G]),ae=(0,a.useCallback)(e=>{if(!x||!e)return;let t=R.find(t=>t.id===e);tg({type:"thread",id:e,preview:t?.content?.slice(0,120)||void 0})},[x,R]),at=(0,a.useCallback)(async e=>{if(x){tf(e),Y(e);try{let t=new URLSearchParams({threadId:x,rootMessageId:e}),a=await fetch(`/api/history?${t.toString()}`,{method:"DELETE"});if(!a.ok)return void console.error("Failed to delete message thread",await a.text());let r=e7?R.find(e=>e.id===e7)??null:null,s=r?r.rootMessageId||r.id:null;e9===e?tt(null,{replace:!0}):s===e&&m({message:null});let l=R.filter(t=>t.id!==e&&t.rootMessageId!==e);j(x,l),await O(x)}catch(e){console.error("Failed to delete message thread",e)}finally{tf(t=>t===e?null:t)}}},[x,Y,O,R,tt,e9,m,e7,j]),aa=(0,a.useCallback)(e=>{if(!x||!e)return;let t=R.find(t=>t.id===e);tg({type:"message",id:e,preview:t?.content?.slice(0,120)||void 0})},[x,R]),ar=(0,a.useCallback)(async e=>{if(x)try{let t=new URLSearchParams({threadId:x,messageId:e}),a=await fetch(`/api/history?${t.toString()}`,{method:"DELETE"});if(!a.ok)return void console.error("Failed to delete message",await a.text());e7===e&&m({message:null});let r=R.filter(t=>t.id!==e);j(x,r),await O(x)}catch(e){console.error("Failed to delete message",e)}},[x,O,R,m,e7,j]),as=(0,a.useCallback)(()=>{tx&&("thread"===tx.type?at(tx.id):ar(tx.id),tg(null))},[tx,at,ar]),al=(0,a.useCallback)(()=>{tg(null)},[]),an=(0,a.useMemo)(()=>[{name:"/search",description:"Search messages (usage: /search <query>)",aliases:["find"],execute:()=>t3()},{name:"/summarize",description:"Summarize current thread or latest thread with replies",aliases:["sum"],execute:()=>t4()},{name:"/tasks",description:"Extract tasks from current thread discussion",aliases:["create"],execute:()=>t5()}],[t3,t4,t5]),ai=(0,a.useMemo)(()=>{let e=ed?ei.find(e=>e.slug===ed):ei[0];return e?.repos??[]},[ei,ed]),[ao,ad]=(0,a.useState)(new Set),ac=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(!e9){ad(new Set),ac.current=null;return}ac.current!==e9&&(ad(new Set),ac.current=e9,fetch(`/api/thread-repos?rootMessageId=${encodeURIComponent(e9)}`).then(e=>e.json()).then(e=>{ac.current===e9&&e.repoIds&&e.repoIds.length>0&&ad(new Set(e.repoIds))}).catch(e=>console.warn("[ChatContainer] load thread repos failed:",e)))},[e9]);let au=(0,a.useCallback)(e=>{ad(e),e9&&fetch("/api/thread-repos",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:e9,repoIds:[...e]})}).catch(e=>console.warn("[ChatContainer] save thread repos failed:",e))},[e9]),ap=(0,a.useCallback)(e=>{let a=W.some(t=>["spawning","running"].includes(t.state)&&t.threadId===e)||Object.values(q).some(t=>t.rootMessageId===e)?"working":H.some(t=>t.rootMessageId===e&&"queued"===t.status)?"queued":"ready";return(0,t.jsx)(ev.Composer,{onSend:(t,a,r,s,l,n,i)=>tY(e,t,a,l,n,i),onStop:()=>Y(e),loading:"ready"!==a,activityStatus:a,participants:tE,projectGroups:ei,projects:t_,projectSlug:ed,messages:R,commands:an,placeholder:"Reply — @name to mention, /search, /summarize",autoMode:te,onAutoModeChange:t6,repos:ai,selectedRepoIds:ao,onRepoSelectionChange:au})},[tY,Y,q,tE,ei,t_,ed,an,R,te,t6,W,H,ai,ao,au]),ah=(0,a.useCallback)(()=>{eT(e=>{let t=!e;return tM(t),t})},[tM]),am=(0,a.useCallback)(e=>{e$(e),(0,ej.persistWorkspaceWidth)(e)},[]),af=async e=>{let t=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(t.ok){let e=await t.json();eu(t=>t.map(t=>t.id===e.id?e:t))}},ax=(0,a.useCallback)((e,t)=>{ex(a=>{let r=eG(ec,Q,x);if(!new Set(r).has(e))return a;let s=new Set(a);t?s.add(e):s.delete(e);let l=r.filter(e=>s.has(e));return x&&eS(x,l),l})},[x,ec,Q]),ag=(0,a.useCallback)(e=>{let t=Q.find(t=>t.id===e);if(!t||x&&!t.thread_ids?.includes(x))return;let a=t.agents.map(e=>e.agent_id);ex(a),x&&eS(x,a)},[Q,x]),av=(0,a.useCallback)(()=>{eN(e=>"dark"===e?"light":"dark")},[]),ab=()=>(0,t.jsx)("button",{type:"button",onClick:av,"aria-label":"dark"===ek?"Switch to light theme":"Switch to dark theme",title:"dark"===ek?"Switch to light theme":"Switch to dark theme",className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] transition-all hover:border-[var(--app-shell-border-strong)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:"dark"===ek?(0,t.jsx)(eB.Sun,{className:"h-4 w-4",strokeWidth:1.75}):(0,t.jsx)(eF.Moon,{className:"h-4 w-4",strokeWidth:1.75})}),aj=(0,t.jsxs)("div",{className:"relative group/search min-w-0 flex-1",children:[(0,t.jsx)(eU.Search,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--app-shell-soft-text)] transition-colors group-focus-within/search:text-[var(--primary)]",strokeWidth:2}),(0,t.jsx)("input",{ref:tC,type:"text",value:ta,onChange:e=>tr(e.target.value),onKeyDown:e=>{"Escape"===e.key&&tD()},placeholder:"Search messages…",className:`w-full rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] pl-9 pr-16 text-sm font-medium text-[var(--foreground)] outline-none placeholder:text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] focus:border-[var(--primary)] focus:ring-2 focus:ring-[var(--ring)] ${e?"h-7 text-xs":"h-9"}`}),t$?(0,t.jsxs)("div",{className:"absolute right-3 top-1/2 flex -translate-y-1/2 items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:to?"…":tn}),(0,t.jsx)("button",{type:"button",onClick:tD,className:"text-[10px] font-bold text-[var(--app-shell-soft-text)] transition-colors hover:text-[var(--app-shell-muted)]",children:"✕"})]}):(0,t.jsx)("kbd",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1.5 py-0.5 font-sans text-[10px] font-bold text-[var(--app-shell-soft-text)]",children:"⌘K"})]}),aw=e?null:(0,t.jsx)("div",{className:"desktop-titlebar border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6",children:(0,t.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3",children:[(0,t.jsx)("div",{className:"flex min-w-0 items-center flex-shrink-0",children:u&&!eI&&(0,t.jsx)("button",{type:"button",onClick:ah,className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] transition hover:border-[var(--app-shell-border-strong)] hover:text-[var(--foreground)]",title:"Show sidebar","aria-label":"Show sidebar",children:(0,t.jsx)(eL,{className:"h-4 w-4",strokeWidth:1.75})})}),(0,t.jsx)("div",{className:"flex flex-1 justify-center min-w-0",children:(0,t.jsxs)("div",{className:"flex w-full max-w-2xl items-center gap-2",children:[aj,(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[ab(),(0,t.jsx)(eJ.StatusIndicator,{}),e9&&(0,t.jsx)("button",{type:"button",onClick:()=>eZ(!eX),"aria-label":eX?"Hide logs":`Show logs${P.length>0?` (${P.length})`:""}`,"aria-pressed":eX,title:eX?"Hide logs":`Show logs${P.length>0?` (${P.length})`:""}`,className:`inline-flex h-9 w-9 items-center justify-center rounded-xl border transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${eX?"border-[var(--app-shell-border-strong)] bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:(0,t.jsx)(eD.default,{className:"h-4 w-4",strokeWidth:1.75})})]})]})})]})});return(0,t.jsxs)("div",{className:`flex ${e?"h-full":"h-screen"} bg-[var(--app-shell-bg)] text-[var(--foreground)]`,children:[u?(0,t.jsx)(o.WorkspaceSidebar,{threads:f,participants:ec,activeThreadId:x,isLoading:N,isRestoringActiveThread:C,isCreating:w,deletingThreadId:y,renamingThreadId:k,onSelectThread:g,onCreateThread:v,onRenameThread:S,onDeleteThread:t9,activeParticipantIds:ef,onToggleParticipantActive:ax,visible:eI,onToggle:ah,width:eM,onWidthChange:am,projects:Q,onCreateProject:ee,onUpdateProject:en,onDeleteProject:et,onAddAgentToProject:ea,onRemoveAgentFromProject:er,onReorderProjectAgents:es,onUpdateParticipant:af,onSelectProject:ag}):null,(0,t.jsx)("div",{className:"flex flex-col flex-1 min-w-0 relative",children:C?(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center px-4 text-sm text-[var(--muted-foreground)]",children:"Loading your last project…"}):(0,t.jsx)("div",{className:"flex flex-1 min-h-0 bg-transparent relative",children:(0,t.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[e9?(0,t.jsx)("div",{className:"desktop-titlebar border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6 transition-colors duration-200 shrink-0",children:(0,t.jsxs)("div",{className:"mx-auto flex max-w-5xl items-center gap-3 min-w-0",children:[(0,t.jsx)("button",{onClick:()=>tt(null),className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--primary)] hover:bg-[var(--app-shell-subtle)] rounded-xl transition-all active:scale-95 flex-shrink-0",title:"Back to main feed",children:(0,t.jsx)(ez.ChevronLeft,{size:20,strokeWidth:2.25})}),(0,t.jsxs)("div",{className:"flex-1 flex flex-col min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--foreground)] tracking-tight leading-tight truncate min-w-0",children:tU}),tz&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border shrink-0",style:{borderColor:tz.color+"40",color:tz.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:tz.color}}),tz.label]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] font-medium text-[var(--app-shell-muted)]",children:[(0,t.jsxs)("span",{className:"opacity-80",children:[tP.length," agents"]}),(0,t.jsx)("span",{className:"h-0.5 w-0.5 rounded-full bg-[var(--app-shell-soft-text)]"}),(0,t.jsxs)("span",{className:"opacity-80",children:["Updated ",function(e){if(!e)return"recently";let t=Math.floor((Date.now()-e)/1e3);if(t<60)return"just now";let a=Math.floor(t/60);if(a<60)return`${a}m ago`;let r=Math.floor(a/60);return r<24?`${r}h ago`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(e)}(tO)]}),tX&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"h-0.5 w-0.5 rounded-full bg-[var(--app-shell-soft-text)]"}),(0,t.jsx)("span",{className:"opacity-80",children:tX})]})]})]}),(0,t.jsx)("div",{className:"flex -space-x-1.5 flex-shrink-0",children:tP.map(e=>(0,t.jsx)("img",{src:`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${e.id}&backgroundColor=${e.color?e.color.replace("#",""):"e2e8f0"}`,alt:e.name,className:"h-7 w-7 rounded-full border-2 border-[var(--app-shell-elevated)] object-cover shadow-sm ring-1 ring-[var(--app-shell-border)]",title:e.name},e.id))}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>void tq(),disabled:tJ,title:tV?"Learning is already running for this discussion":"Learn from this discussion",className:`inline-flex h-9 items-center gap-1.5 rounded-xl border px-3 text-xs font-medium transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${tJ?"cursor-wait border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:[tJ?(0,t.jsx)(eq.default,{className:"h-3.5 w-3.5 animate-spin",strokeWidth:1.75}):(0,t.jsx)(eW.BookOpen,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,t.jsx)("span",{className:"hidden sm:inline",children:tV?"Learning...":"Learn from discussion"})]}),!e&&ab(),!e&&(0,t.jsx)(eJ.StatusIndicator,{}),(0,t.jsx)("button",{type:"button",onClick:()=>eZ(!eX),"aria-label":eX?"Hide logs":`Show logs${P.length>0?` (${P.length})`:""}`,"aria-pressed":eX,title:eX?"Hide logs":`Show logs${P.length>0?` (${P.length})`:""}`,className:`inline-flex h-9 w-9 items-center justify-center rounded-xl border transition-all focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)] ${eX?"border-[var(--app-shell-border-strong)] bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"}`,children:(0,t.jsx)(eD.default,{className:"h-4 w-4",strokeWidth:1.75})})]})]})}):aw,tR?(0,t.jsx)(eg,{query:t$,results:ts,total:tn,participants:ec,threadTitleById:tA,isLoading:to,error:tc,onSelectResult:t7}):e9?(0,t.jsx)(em,{messages:R,streaming:q,participants:ec,rootMessageId:e9,queued:H.some(e=>e.rootMessageId===e9&&"queued"===e.status),onClose:()=>tt(null),onCopyThread:tW,onAddToChat:tB,onDeleteThreadRoot:ae,onDeleteMessage:aa,highlightedMessageId:e7||void 0,renderReplyComposer:ap,activeProcesses:W.filter(e=>["spawning","running"].includes(e.state)&&e.threadId===e9)}):(0,t.jsx)(eo,{messages:R,streaming:q,participants:ec,onOpenThread:t2,onCopyThread:tW,onAddToChat:tB,onDeleteThreadRoot:ae,onSummarize:tZ,onCreateTasks:tQ,onUpdateTaskDraft:t0,onBuildTasks:t1,summarizingThreads:tp,extractingTasks:tw,buildingDrafts:tk,taskDrafts:tv,deletingThreadRootId:tm,highlightedMessageId:e7,shipModeThreads:eQ,onUpdateMessageThreadStatus:x?(e,t)=>{A(a=>a.map(a=>a.id===e?{...a,threadStatus:t}:a)),M(x,e,t),fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:e,status:t})})}:void 0,onUpdateMessageOutcomeNote:x?(e,t)=>{A(a=>a.map(a=>a.id===e?{...a,outcomeNote:t}:a)),$(x,e,t);let a=R.find(t=>t.id===e);fetch("/api/threads",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:e,status:a?.threadStatus??null,outcomeNote:t})})}:void 0}),!tR&&!e9&&(0,t.jsx)(ev.Composer,{onSend:t8,onStop:G,loading:"ready"!==X,activityStatus:X,participants:tE,projects:t_,projectGroups:ei,projectSlug:ed,messages:R,commands:an,pendingThreadInsert:tL,onClearPendingThread:()=>tF(null),autoMode:te,onAutoModeChange:t6,repos:ai,selectedRepoIds:ao,onRepoSelectionChange:au})]})})}),c&&(0,t.jsx)(eV,{logs:P,participants:ec,onClear:()=>void U(x),open:eX,onToggle:()=>eZ(!1)}),(0,t.jsx)(e_.default,{isOpen:null!==tx,title:tx?.type==="thread"?"Delete Discussion":"Delete Message",message:tx?.type==="thread"?"This will permanently delete this discussion and all of its replies. This action cannot be undone.":"This will permanently delete this message. This action cannot be undone.",preview:tx?.preview,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",onConfirm:as,onCancel:al})]})}],186552)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,797167,e=>{"use strict";let t=(0,e.i(363732).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",0,t],797167)},363732,e=>{"use strict";var t=e.i(271645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n={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"};let s=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:s=2,absoluteStrokeWidth:o,className:l="",children:i,iconNode:c,...d},u)=>(0,t.createElement)("svg",{ref:u,...n,width:a,height:a,stroke:e,strokeWidth:o?24*Number(s)/Number(a):s,className:r("lucide",l),...!i&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(i)?i:[i]]));e.s(["default",0,(e,n)=>{let o=(0,t.forwardRef)(({className:o,...l},i)=>(0,t.createElement)(s,{ref:i,iconNode:n,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...l}));return o.displayName=a(e),o}],363732)},929870,e=>{"use strict";let t=(0,e.i(363732).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],929870)},524123,e=>{"use strict";var t=e.i(271645);e.s(["useProjects",0,function(){let[e,r]=(0,t.useState)([]),[a,n]=(0,t.useState)(!1),[s,o]=(0,t.useState)(null),l=(0,t.useCallback)(async()=>{n(!0);try{let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let t=await e.json();r(t.projects??[]),o(null)}catch(e){o(e instanceof Error?e:Error("Unknown error"))}finally{n(!1)}},[]);(0,t.useEffect)(()=>{l()},[l]);let i=(0,t.useCallback)(async e=>{let t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to create project");let a=(await t.json()).project;return r(e=>[a,...e]),a},[]);return{projects:e,isLoading:a,error:s,refetch:l,createProject:i,updateProject:(0,t.useCallback)(async(e,t)=>{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Failed to update project");let n=(await a.json()).project;return r(t=>t.map(t=>t.id===e?n:t)),n},[]),deleteProject:(0,t.useCallback)(async e=>{let t=await fetch(`/api/projects/${e}`,{method:"DELETE"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to delete project");r(t=>t.filter(t=>t.id!==e))},[])}},"useProjectsWithAgents",0,function(){let[e,r]=(0,t.useState)([]),[a,n]=(0,t.useState)(!0),s=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)return;let{projects:t}=await e.json(),a=await Promise.all((t??[]).map(async e=>{let t=[],r=[];try{let[a,n]=await Promise.all([fetch(`/api/projects/${e.id}/agents`),fetch(`/api/projects/${e.id}/threads`)]);a.ok&&(t=(await a.json()).agents??[]),n.ok&&(r=((await n.json()).threads??[]).map(e=>e.thread_id))}catch{}return{...e,repos:e.repos??[],agents:t.map(t=>({project_id:e.id,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at})),thread_ids:r,workspace_ids:r}}));r(a)}catch{}finally{n(!1)}},[]);(0,t.useEffect)(()=>{s()},[s]);let o=(0,t.useCallback)(async(e,t)=>{try{let a="string"==typeof e?{name:e}:e,n=a.name.trim(),s=(a.slug||n.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),o=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...a,name:n,slug:s})});if(!o.ok)return null;let{project:l}=await o.json(),i=Array.isArray(t)?t:t?[t]:[];for(let e of i)await fetch(`/api/projects/${l.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e})}).catch(e=>console.warn("[useProjects] link thread failed:",e));let c={...l,repos:l.repos??[],agents:[],thread_ids:i,workspace_ids:i};return r(e=>[...e,c].sort((e,t)=>e.name.localeCompare(t.name))),c}catch{return null}},[]),l=(0,t.useCallback)(async(e,t)=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})})).ok)return;r(r=>r.map(r=>r.id===e?{...r,name:t}:r).sort((e,t)=>e.name.localeCompare(t.name)))}catch{}},[]),i=(0,t.useCallback)(async e=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"DELETE"})).ok)return;r(t=>t.filter(t=>t.id!==e))}catch{}},[]),c=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error||"Failed to update project")}let n=(await a.json()).project;return r(t=>t.map(t=>t.id===e?{...t,...n,repos:n.repos??t.repos}:t)),n}catch{return null}},[]),d=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:t})});if(!a.ok)return;let n=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:n}:t))}catch{}},[]),u=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents?agentId=${t}`,{method:"DELETE"});if(!a.ok)return;let n=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:n}:t))}catch{}},[]);return{projects:e,isLoading:a,createProject:o,updateProject:c,renameProject:l,deleteProject:i,addAgent:d,removeAgent:u,reorderAgents:(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:t})});if(!a.ok)return;let n=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:n}:t))}catch{}},[]),moveAgent:(0,t.useCallback)(async(e,t,r)=>{try{await fetch(`/api/projects/${t}/agents?agentId=${e}`,{method:"DELETE"}),await fetch(`/api/projects/${r}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:e})}),await s()}catch{}},[s]),refresh:s}}])},529471,e=>{"use strict";let t=(0,e.i(363732).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],529471)},640481,e=>{"use strict";let t=(0,e.i(363732).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],640481)},794731,e=>{"use strict";let t=(0,e.i(363732).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],794731)},196630,e=>{"use strict";let t=(0,e.i(363732).default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);e.s(["FolderGit2",0,t],196630)},429056,e=>{"use strict";let t=(0,e.i(363732).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],429056)},186710,e=>{"use strict";var t=e.i(843476),r=e.i(522016),a=e.i(271645),n=e.i(810605);function s(){let[e,r]=(0,a.useState)(null),[s,o]=(0,a.useState)("loading");(0,a.useEffect)(()=>{let e=!0;async function t(){try{let t=await fetch("/api/health");if(!e)return;if(!t.ok)return void o("error");let a=await t.json();r(a),o(a.connected?"connected":"disconnected")}catch{e&&o("error")}}t();let a=setInterval(t,n.UI_POLL_DB_HEALTH_MS);return()=>{e=!1,clearInterval(a)}},[]);let l={loading:"Checking database…",connected:`${e?.adapter??"db"} connected (${e?.latencyMs??"?"}ms)`,disconnected:`${e?.adapter??"db"} disconnected`,error:"Database unreachable"};return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--muted-foreground)]",role:"status","aria-label":l[s],children:[(0,t.jsx)("span",{className:`w-2 h-2 rounded-full ${{loading:"bg-yellow-400",connected:"bg-green-500",disconnected:"bg-red-500",error:"bg-red-500"}[s]}`}),(0,t.jsx)("span",{className:"hidden sm:inline",children:l[s]})]})}function o({children:e,fullWidth:a=!1,noFooter:n=!1}){return(0,t.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,t.jsx)("nav",{className:"desktop-titlebar flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,t.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,t.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,t.jsx)("div",{className:"flex items-center gap-8",children:(0,t.jsx)(r.default,{href:"/",className:"flex items-center gap-3 group",children:(0,t.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"transition-transform group-hover:scale-105",children:[(0,t.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,t.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,t.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,t.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,t.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,t.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})})}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(r.default,{href:"/",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Open Chat"}),(0,t.jsx)(r.default,{href:"/automations",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Automations"}),(0,t.jsx)(r.default,{href:"/skills",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Skills"}),(0,t.jsx)(r.default,{href:"/settings",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Settings"})]})]})})}),(0,t.jsx)("main",{className:`flex-1 min-h-0 flex flex-col ${a?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"}`,children:e}),!n&&(0,t.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,t.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,t.jsx)("span",{children:"AGX Board • Autonomous Agent Orchestration"}),(0,t.jsxs)("span",{className:"hidden sm:inline-flex items-center gap-3",children:[(0,t.jsx)(s,{}),(0,t.jsx)("span",{children:"Built with Next.js + Db"})]})]})})]})}e.s(["default",0,function(e){return(0,t.jsx)(a.Suspense,{fallback:(0,t.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,t.jsx)(o,{...e})})}],186710)},195057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return l},formatWithValidation:function(){return c},urlObjectKeys:function(){return i}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let s=e.r(190809)._(e.r(998183)),o=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:r}=e,a=e.protocol||"",n=e.pathname||"",l=e.hash||"",i=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),i&&"object"==typeof i&&(i=String(s.urlQueryToSearchParams(i)));let d=e.search||i&&`?${i}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==c?(c="//"+(c||""),n&&"/"!==n[0]&&(n="/"+n)):c||(c=""),l&&"#"!==l[0]&&(l="#"+l),d&&"?"!==d[0]&&(d="?"+d),n=n.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${a}${c}${n}${d}${l}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return l(e)}},818581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return n}});let a=e.r(271645);function n(e,t){let r=(0,a.useRef)(null),n=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(r.current=s(e,a)),t&&(n.current=s(t,a))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},573668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return s}});let a=e.r(718967),n=e.r(652817);function s(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,n.hasBasePath)(r.pathname)}catch(e){return!1}}},284508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},522016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return g},useLinkStatus:function(){return y}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let s=e.r(190809),o=e.r(843476),l=s._(e.r(271645)),i=e.r(195057),c=e.r(8372),d=e.r(818581),u=e.r(718967),p=e.r(405550);e.r(233525);let f=e.r(388540),h=e.r(91949),m=e.r(573668),x=e.r(509396);function g(t){var r,a;let n,s,g,[y,v]=(0,l.useOptimistic)(h.IDLE_LINK_STATUS),b=(0,l.useRef)(null),{href:w,as:k,children:N,prefetch:_=null,passHref:C,replace:S,shallow:T,scroll:P,onClick:E,onMouseEnter:O,onTouchStart:L,legacyBehavior:M=!1,onNavigate:A,transitionTypes:I,ref:$,unstable_dynamicOnHover:U,...R}=t;n=N,M&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let D=l.default.useContext(c.AppRouterContext),F=!1!==_,z=!1!==_?null===(a=_)||"auto"===a?x.FetchStrategy.PPR:x.FetchStrategy.Full:x.FetchStrategy.PPR,H="string"==typeof(r=k||w)?r:(0,i.formatUrl)(r);if(M){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=l.default.Children.only(n)}let B=M?s&&"object"==typeof s&&s.ref:$,K=l.default.useCallback(e=>(null!==D&&(b.current=(0,h.mountLinkInstance)(e,H,D,z,F,v)),()=>{b.current&&((0,h.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,h.unmountPrefetchableInstance)(e)}),[F,H,D,z,v]),J={ref:(0,d.useMergedRef)(K,B),onClick(t){M||"function"!=typeof E||E(t),M&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!D||t.defaultPrevented||function(t,r,a,n,s,o,i){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){n&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),o){let e=!1;if(o({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(699781);l.default.startTransition(()=>{u(r,n?"replace":"push",!1===s?f.ScrollBehavior.NoScroll:f.ScrollBehavior.Default,a.current,i)})}}(t,H,b,S,P,A,I)},onMouseEnter(e){M||"function"!=typeof O||O(e),M&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),D&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===U)},onTouchStart:function(e){M||"function"!=typeof L||L(e),M&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),D&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===U)}};return(0,u.isAbsoluteUrl)(H)?J.href=H:M&&!C&&("a"!==s.type||"href"in s.props)||(J.href=(0,p.addBasePath)(H)),g=M?l.default.cloneElement(s,J):(0,o.jsx)("a",{...R,...J,children:n}),(0,o.jsx)(j.Provider,{value:y,children:g})}e.r(284508);let j=(0,l.createContext)(h.IDLE_LINK_STATUS),y=()=>(0,l.useContext)(j);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},810605,e=>{"use strict";e.s(["GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"UI_POLL_CHAT_ALT_MS",0,15e3,"UI_POLL_CHAT_CHECK_MS",0,1e4,"UI_POLL_DB_HEALTH_MS",0,3e4,"UI_POLL_PROMPT_RUNS_MS",0,5e3,"UI_POLL_SYSTEM_STATUS_MS",0,3e4,"UI_POLL_TASK_DURATION_MS",0,6e4])},55236,e=>{"use strict";let t=(0,e.i(363732).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["Folder",0,t],55236)},494999,e=>{"use strict";var t=e.i(843476),r=e.i(271645);e.s(["default",0,function({initialPath:e,onSelect:a,onCancel:n}){let[s,o]=(0,r.useState)(e||""),[l,i]=(0,r.useState)(null),[c,d]=(0,r.useState)(!1),[u,p]=(0,r.useState)(null),f=(0,r.useRef)(null),h=(0,r.useCallback)(async e=>{d(!0),p(null);try{let t=e?`?path=${encodeURIComponent(e)}`:"",r=await fetch(`/api/filesystem/browse${t}`),a=await r.json();if(!r.ok)return void p(a.error||"Failed to browse");i(a),o(a.current),f.current?.scrollTo(0,0)}catch{p("Failed to connect")}finally{d(!1)}},[]);return(0,r.useEffect)(()=>{h(e||"")},[]),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden shadow-lg",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("input",{value:s,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h(s)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,t.jsx)("button",{type:"button",onClick:()=>h(s),className:"text-[10px] font-bold uppercase tracking-wider text-[var(--primary)] hover:underline px-2 py-1 shrink-0",children:"Go"})]}),(0,t.jsxs)("div",{ref:f,className:"max-h-48 overflow-y-auto",children:[c&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)] text-center",children:"Loading..."}),u&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--destructive)] text-center",children:u}),!c&&l&&(0,t.jsxs)("div",{className:"py-1",children:[l.parent&&(0,t.jsxs)("button",{type:"button",onClick:()=>h(l.parent),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"↑"}),(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:".."})]}),0===l.dirs.length&&!l.parent&&(0,t.jsx)("div",{className:"px-3 py-3 text-xs text-[var(--muted-foreground)] text-center",children:"No subdirectories"}),l.dirs.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>h(e.path),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"📁"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.path))]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] truncate max-w-[60%]",children:l?.current||s}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:n,className:"text-xs font-medium text-[var(--muted-foreground)] hover:underline px-2 py-1",children:"Cancel"}),(0,t.jsx)("button",{type:"button",onClick:()=>a(l?.current||s),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}])},716859,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(522016),n=e.i(429056),s=e.i(55236),o=e.i(196630),l=e.i(640481),i=e.i(929870),c=e.i(794731),d=e.i(529471),u=e.i(797167),p=e.i(186710),f=e.i(208343),h=e.i(494999),m=e.i(524123);e.s(["default",0,function(){let{projects:e,isLoading:x,refetch:g,updateProject:j}=(0,m.useProjects)(),[y,v]=(0,r.useState)(null),[b,w]=(0,r.useState)(""),[k,N]=(0,r.useState)(!1),[_,C]=(0,r.useState)(null),[S,T]=(0,r.useState)(""),P=(0,r.useRef)(null),E=e.flatMap(e=>(e.repos??[]).map(t=>({repoId:t.id,name:t.name,path:t.path??"",git_url:t.git_url??"",notes:t.notes??"",projectId:e.id,projectName:e.name,projectSlug:e.slug}))),O=new Map;for(let t of e)O.set(t.id,{project:{id:t.id,name:t.name,slug:t.slug},repos:[]});for(let e of E)O.get(e.projectId).repos.push(e);let L=(0,r.useCallback)(()=>{let e=P.current;e&&(e.style.height="auto",e.style.height=`${e.scrollHeight}px`)},[]);(0,r.useEffect)(()=>{y&&P.current&&(P.current.focus(),P.current.setSelectionRange(P.current.value.length,P.current.value.length),L())},[y,L]);let M=()=>{v(null),w("")},A=(0,r.useCallback)(async t=>{N(!0);try{let r=e.find(e=>e.id===t.projectId);if(!r)return;let a=(r.repos??[]).map(e=>({id:e.id,name:e.name,path:e.path??"",git_url:e.git_url??"",notes:e.id===t.repoId?b:e.notes??""}));await j(t.projectId,{repos:a}),v(null),w("")}catch(e){console.error("Failed to update notes:",e)}finally{N(!1)}},[e,b,j]),I=(0,r.useCallback)(async t=>{let r=e.find(e=>e.id===t.projectId);if(!r)return;let a=(r.repos??[]).filter(e=>e.id!==t.repoId).map(e=>({id:e.id,name:e.name,path:e.path??"",git_url:e.git_url??"",notes:e.notes??""}));await j(t.projectId,{repos:a})},[e,j]),$=(0,r.useCallback)(async(t,r)=>{let a=e.find(e=>e.id===t);if(!a)return;let n=S.trim()||r.split("/").filter(Boolean).pop()||"folder",s=(a.repos??[]).map(e=>({id:e.id,name:e.name,path:e.path??"",git_url:e.git_url??"",notes:e.notes??""}));await j(t,{repos:[...s,{name:n,path:r}]}),C(null),T("")},[e,S,j]);return(0,t.jsx)(p.default,{children:(0,t.jsxs)("div",{className:"max-w-5xl mx-auto w-full flex flex-col min-h-full",children:[(0,t.jsxs)("header",{className:"flex items-center gap-4 py-8",children:[(0,t.jsx)(a.default,{href:"/",className:"p-2 rounded-lg border border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--primary)] transition-all",children:(0,t.jsx)(n.ArrowLeft,{size:16})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Folders"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] mt-1",children:"All folder paths across your projects."})]})]}),x?(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center py-20",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] animate-pulse",children:"Loading folders..."})]})}):0===e.length?(0,t.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center py-20 animate-fade-in",children:[(0,t.jsx)("div",{className:"w-24 h-24 rounded-3xl bg-[var(--card-bg)] border border-[var(--card-border)] flex items-center justify-center text-4xl mb-6 shadow-xl",children:(0,t.jsx)(s.Folder,{size:40,className:"text-[var(--muted-foreground)]"})}),(0,t.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"No projects yet"}),(0,t.jsx)("p",{className:"text-[var(--muted-foreground)] text-center max-w-sm mb-8 leading-relaxed",children:"Create a project first, then add folders to it."}),(0,t.jsx)(a.default,{href:"/projects",className:"btn-primary px-8 py-3 text-lg shadow-xl shadow-[var(--primary)]/20",children:"Go to Projects"})]}):(0,t.jsx)("div",{className:"space-y-8 pb-20",children:Array.from(O.values()).map(({project:e,repos:r})=>(0,t.jsxs)("section",{children:[(0,t.jsx)("div",{className:"flex items-center gap-2 mb-3",children:(0,t.jsx)(a.default,{href:`/projects/${e.slug}`,className:"text-sm font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors uppercase tracking-wide",children:e.name})}),(0,t.jsxs)("div",{className:"space-y-2",children:[r.map(e=>{let r=y===e.repoId;return(0,t.jsx)("div",{className:"group rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-4 transition-all hover:border-[var(--card-border-hover,var(--card-border))]",children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"mt-0.5 flex-shrink-0 text-[var(--muted-foreground)]",children:e.git_url?(0,t.jsx)(o.FolderGit2,{size:16}):(0,t.jsx)(s.Folder,{size:16})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("button",{type:"button",onClick:()=>void I(e),className:"float-right ml-2 p-1 rounded-md text-[var(--muted-foreground)] opacity-0 group-hover:opacity-100 hover:text-red-400 hover:bg-red-400/10 transition-all","aria-label":"Remove folder",title:"Remove folder",children:(0,t.jsx)(c.Trash2,{size:14})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium text-sm truncate",children:e.name||e.path}),e.name&&e.path&&(0,t.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] truncate font-mono",children:e.path})]}),e.git_url&&(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5 font-mono truncate",children:e.git_url}),r?(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsx)("textarea",{ref:P,value:b,onChange:e=>{w(e.target.value),L()},onKeyDown:t=>{"Enter"===t.key&&(t.metaKey||t.ctrlKey)?(t.preventDefault(),A(e)):"Escape"===t.key&&M()},placeholder:"What is this folder about? (Markdown supported)",rows:1,className:"w-full rounded-lg border border-[var(--card-border)] bg-[var(--background)] px-3 py-2 text-sm font-mono focus:border-[var(--primary)] focus:outline-none resize-none overflow-hidden"}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-1.5",children:[(0,t.jsxs)("button",{onClick:()=>void A(e),disabled:k,className:"inline-flex items-center gap-1 px-2.5 py-1 rounded-md text-xs font-medium bg-[var(--primary)] text-white hover:opacity-90 transition-opacity disabled:opacity-50",children:[(0,t.jsx)(d.Check,{size:12}),k?"Saving...":"Save"]}),(0,t.jsxs)("button",{onClick:M,className:"inline-flex items-center gap-1 px-2.5 py-1 rounded-md text-xs font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:[(0,t.jsx)(u.X,{size:12}),"Cancel"]}),(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] ml-auto",children:"Cmd+Enter to save"})]})]}):(0,t.jsx)("div",{className:"group/notes mt-1 cursor-pointer",onClick:()=>{v(e.repoId),w(e.notes)},children:e.notes?(0,t.jsxs)("div",{className:"text-sm text-[var(--muted-foreground)] leading-relaxed relative",children:[(0,t.jsx)(f.Markdown,{content:e.notes}),(0,t.jsx)(l.Pencil,{size:11,className:"absolute top-0 right-0 opacity-0 group-hover/notes:opacity-60 transition-opacity"})]}):(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] opacity-0 group-hover:opacity-60 transition-opacity italic",children:"Click to add notes..."})})]})]})},e.repoId)}),_===e.id?(0,t.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,t.jsx)("input",{type:"text",value:S,onChange:e=>T(e.target.value),placeholder:"Folder name (optional)",className:"w-full rounded-lg border border-[var(--card-border)] bg-[var(--background)] px-3 py-2 text-sm focus:border-[var(--primary)] focus:outline-none"}),(0,t.jsx)(h.default,{initialPath:"",onSelect:t=>void $(e.id,t),onCancel:()=>{C(null),T("")}})]}):(0,t.jsxs)("button",{type:"button",onClick:()=>C(e.id),className:"mt-3 inline-flex items-center gap-1.5 text-xs font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:[(0,t.jsx)(i.Plus,{size:14}),"Add folder"]})]})]},e.id))})]})})}])}]);
|