@mndrk/agx 2.0.44 → 2.0.45
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/cloud-runtime/standalone/.linear-token.json +2 -2
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +2 -0
- package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/routes-manifest.json +13 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js +10 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js +5 -2
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +2 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[externals]__29a2424c._.js → [externals]__31e26905._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__fb1f7e58._.js → [root-of-the-server]__00fd30c8._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e4f01b5c._.js → [root-of-the-server]__0e98af48._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1154e5b3._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__44ef900b._.js → [root-of-the-server]__11c1214e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5e5eb809._.js → [root-of-the-server]__152b2000._.js} +10 -10
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f21849ad._.js → [root-of-the-server]__15f3bb96._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__7cade6c6._.js → [root-of-the-server]__1f53e82e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c77efd85._.js → [root-of-the-server]__20533a2c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e0994be2._.js → [root-of-the-server]__3b1431b6._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b83b657._.js +147 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d3945cae._.js → [root-of-the-server]__3bf516b6._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2d15af44._.js → [root-of-the-server]__3fd3c5b1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13fe776f._.js → [root-of-the-server]__42e713f5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1be9b30e._.js → [root-of-the-server]__4b0b5fe1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__558389f7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5a042505._.js → [root-of-the-server]__5aaf8c25._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__22b7bf38._.js → [root-of-the-server]__5b13e7a5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__34efe92e._.js → [root-of-the-server]__635fe0f9._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c9550a93._.js → [root-of-the-server]__68da2825._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e5bad635._.js → [root-of-the-server]__6921fe3f._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dc542063._.js → [root-of-the-server]__6988985c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c5025f86._.js → [root-of-the-server]__7012e83d._.js} +7 -7
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9d3a2caa._.js → [root-of-the-server]__70327010._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__748c718f._.js +147 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__76290829._.js +46 -8
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c0919d7d._.js → [root-of-the-server]__79fa35e4._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ac9b93fd._.js → [root-of-the-server]__8d205f82._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0281ad06._.js → [root-of-the-server]__9ffa67b7._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dd1cb250._.js → [root-of-the-server]__a300f072._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5fbc700c._.js → [root-of-the-server]__a7e0ac67._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__91b51f33._.js → [root-of-the-server]__aad349b4._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ad6d6402._.js +46 -8
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__349d67e7._.js → [root-of-the-server]__b133856b._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__45a50de9._.js → [root-of-the-server]__c029daab._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a1e62918._.js → [root-of-the-server]__c8195768._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ce2a1672._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a2e17f69._.js → [root-of-the-server]__d4f42f49._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d9f2041b._.js +47 -9
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ad4cb055._.js → [root-of-the-server]__dca6026a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__bacb0193._.js → [root-of-the-server]__ddb3aa76._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__de295ef3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__7d4fa0fd._.js → [root-of-the-server]__e7be56ba._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__73b17f49._.js → [root-of-the-server]__ebece93b._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef27f8cd._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__56dbe1a4._.js → [root-of-the-server]__f13c29c6._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__98d58423._.js → [root-of-the-server]__fcdaf6d8._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/_6e7f0ae4._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_a93e80e8._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_linear_issues_context_route_actions_0b2c282c.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_linear_options_route_actions_29764947.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_app-config_ts_7f2f30ad._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1c4256ce._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__4c9d0778._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__69887882._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f59f0dc7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_95434d70._.js → _1d26be78._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_32c878b9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_60d0bae4._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_77e1407a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_7f7a828a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_ba5903a7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_ed4fece9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f51a3112._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_linear_page_tsx_971a6ba7._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +7 -3
- package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +2 -0
- package/cloud-runtime/standalone/.next/server/instrumentation.js +1 -1
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/00716478a3ee55a2.js +37 -0
- package/cloud-runtime/standalone/.next/static/chunks/02add5a8d35c53fe.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2362d5c0dcaa5d64.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2730394502dd3664.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/3091043e8c282dce.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/3dc50de1c86e1ce9.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/4ea8f08087116055.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/5607ad702ebb8a4b.js +9 -0
- package/cloud-runtime/standalone/.next/static/chunks/6103b9b5538bba4d.css +2 -0
- package/cloud-runtime/standalone/.next/static/chunks/98c20da4973991f0.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/a9da98f883ac833b.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{da12f313213a5615.js → b2127dc67c5ade9f.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{76229fb555232113.js → b3377e39d47c71cf.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/bf2a2fafb710e63c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/c0d17e0c37ba8e7a.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/db131a0b6350e416.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/e51fddf53a6dc1e4.js +9 -0
- package/cloud-runtime/standalone/.next/static/chunks/{66769c2bf128027d.js → f4360c3e4089263f.js} +1 -1
- package/cloud-runtime/standalone/Dockerfile +5 -5
- package/cloud-runtime/standalone/app/api/linear/callback/route.ts +2 -1
- package/cloud-runtime/standalone/app/api/linear/issues/context/route.ts +26 -0
- package/cloud-runtime/standalone/app/api/linear/issues/route.ts +37 -42
- package/cloud-runtime/standalone/app/api/linear/options/route.ts +31 -0
- package/cloud-runtime/standalone/app/api/status/route.ts +2 -2
- package/cloud-runtime/standalone/components/LinearBoard.tsx +165 -117
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +3 -1
- package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +54 -2
- package/cloud-runtime/standalone/components/chat-ui/MentionPopover.tsx +43 -2
- package/cloud-runtime/standalone/hooks/useLinearIssueMentions.ts +64 -0
- package/cloud-runtime/standalone/hooks/useLinearIssues.ts +26 -6
- package/cloud-runtime/standalone/hooks/useMentionAutocomplete.ts +54 -6
- package/cloud-runtime/standalone/instrumentation.ts +2 -1
- package/cloud-runtime/standalone/lib/app-config.ts +55 -0
- package/cloud-runtime/standalone/lib/chat/linear-issue-context.ts +79 -0
- package/cloud-runtime/standalone/lib/linear-client.ts +166 -15
- package/cloud-runtime/standalone/lib/linear-issue-store.ts +427 -0
- package/cloud-runtime/standalone/lib/linear-issues.ts +360 -0
- package/cloud-runtime/standalone/lib/security.ts +2 -2
- package/cloud-runtime/standalone/lib/tiptap/composer-mentions.ts +38 -0
- package/cloud-runtime/standalone/lib/tiptap/editor-utils.ts +11 -0
- package/cloud-runtime/standalone/lib/tiptap/serialize-composer.ts +10 -0
- package/cloud-runtime/standalone/next.config.ts +2 -1
- package/cloud-runtime/standalone/src/graph/internal-function-dispatcher.ts +2 -5
- package/cloud-runtime/standalone/state/automations/.state/24a6a5db-3b14-49c4-841f-29f10f015fbb.json +3 -3
- package/cloud-runtime/standalone/styles/composer-pills.css +13 -0
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__05243927._.js +0 -29
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1017e012._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__28524c6a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c1b28690._.js +0 -49
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__dffa5183._.js +0 -29
- package/cloud-runtime/standalone/.next/server/chunks/_110bf46e._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/_22fe5fd2._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__35f9b4a6._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__43a0398d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__7e7d6790._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__b6598a70._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_087a5b2b._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1e5aee62._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_45f91a8f._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fb404ac0._.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/0010f3df27ae53b8.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/09c637be82a06122.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/0fe219bd73492107.js +0 -5
- package/cloud-runtime/standalone/.next/static/chunks/2dbfd095c1e1d01f.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/360fde144fd22461.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/416cf5039e669b5d.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/95b85b1cb6868d27.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/966278eaefc0aa32.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/ab74849aeb87503e.js +0 -5
- package/cloud-runtime/standalone/.next/static/chunks/c5661b1d4c5abd6a.css +0 -2
- package/cloud-runtime/standalone/.next/static/chunks/d522224ad5c8d724.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/e2fa3c18dd56dc25.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/e910386016ceacad.js +0 -37
- package/cloud-runtime/standalone/.next/static/chunks/f2fe77583374541b.js +0 -1
- /package/cloud-runtime/standalone/.next/static/{1ixi4WIJBgIPp7LJeYeKs → Y8QdDdLJI3yzNjkyPjuJ-}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{1ixi4WIJBgIPp7LJeYeKs → Y8QdDdLJI3yzNjkyPjuJ-}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{1ixi4WIJBgIPp7LJeYeKs → Y8QdDdLJI3yzNjkyPjuJ-}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,268542,531245,154238,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(174080),s=e.i(664659),n=e.i(463059),o=e.i(88081),i=e.i(475254);let l=(0,i.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",()=>l],531245);var d=e.i(39312),c=e.i(327025),u=e.i(690272);let p=(0,i.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 m=e.i(788699),h=e.i(107233),f=e.i(555436),x=e.i(727612),g=e.i(37727),b=e.i(778917),v=e.i(239616),j=e.i(522016),y=e.i(325459),k=e.i(811132);function w({threads:e,participants:i=[],activeThreadId:w,isLoading:N,isCreating:_,onSelectThread:C,onCreateThread:S,onRenameThread:P,onDeleteThread:E,deletingThreadId:A=null,renamingThreadId:T=null,activeParticipantIds:O=[],onToggleParticipantActive:$,visible:I=!1,isRestoringActiveThread:M=!1,onToggle:L,onSearch:F,projects:z=[],onCreateProject:D,onUpdateProject:R,onDeleteProject:U,onAddAgentToProject:B,onRemoveAgentFromProject:K,onAddAgentViaForm:V,onReorderProjectAgents:H,onUpdateParticipant:W,onSelectProject:J,activeProjectId:q=null,activeProjectView:X=null}){let G,Z,Y=(0,r.useRef)(null),[Q,ee]=(0,r.useState)(!1),[et,er]=(0,r.useState)(new Set);(0,r.useEffect)(()=>{if(et.size>0||!z?.length)return;let e=z.find(e=>window.location.pathname.includes(`/projects/${e.slug}`));er(new Set([e?.id??z[0].id]))},[z]);let[ea,es]=(0,r.useState)(null),[en,eo]=(0,r.useState)(new Set),[ei,el]=(0,r.useState)(!1),[ed,ec]=(0,r.useState)(null),[eu,ep]=(0,r.useState)(null),em=(0,k.useProjectFormState)(),[eh,ef]=(0,r.useState)(null),ex=(0,r.useCallback)(e=>{e&&(e.focus(),e.select())},[]),[eg,eb]=(0,r.useState)(null),[ev,ej]=(0,r.useState)(null),ey=ev?i.find(e=>e.id===ev)??null:null,[ek,ew]=(0,r.useState)(null),[eN,e_]=(0,r.useState)(null),eC=async()=>{if(!ed&&!eu)return;if(!em.form.name.trim())return void em.setFormError("Project name is required");let e=em.repos.find(e=>e.name.trim()&&!e.path.trim());if(e)return void em.setFormError(`Local path is required for folder "${e.name}"`);em.setFormError(null),em.setIsSubmitting(!0);let t=(0,k.createProjectPayload)(em.form,em.repos);eu?await R?.(eu.id,t):await D?.(t,ed?.threadId),em.setIsSubmitting(!1),ec(null),ep(null)},eS=async e=>{em.resetForm();try{let t=await fetch(`/api/projects/${e}`);if(!t.ok)throw Error("Failed to load project");let r=(await t.json()).project;ep(r),em.hydrateFromProject(r)}catch(e){console.error("Failed to load project settings",e)}};(0,r.useEffect)(()=>{ee(!0)},[]),(0,r.useEffect)(()=>{let e=!1;async function t(){if(ek?.repoId)try{let t=await fetch(`/api/knowledge-notes?scope=repo&subjectId=${encodeURIComponent(ek.repoId)}`),r=(t.ok?await t.json():{note:null}).note;e||ew(e=>e&&e.repoId===ek.repoId?{...e,generatedKnowledge:r?.content?[{id:r.id,content:r.content,created_at:r.updatedAt??r.createdAt}]:[],isLoadingKnowledge:!1}:e)}catch{e||ew(e=>e&&e.repoId===ek.repoId?{...e,generatedKnowledge:[],isLoadingKnowledge:!1}:e)}}return ek?.repoId&&t(),()=>{e=!0}},[ek?.repoId]);let eP=e=>{V?V(e):(eo(new Set),es({projectId:e}))},eE=ea?z.find(e=>e.id===ea.projectId):null,eA=new Set(eE?.agents.map(e=>e.agent_id)??[]),eT=ea?i.filter(e=>!eA.has(e.id)):[],eO=e.length>0,e$=!!I,eI=[...e].sort((e,t)=>(e.title??"").localeCompare(t.title??"")),eM=new Map(e.map(e=>[e.id,e])),eL=z.filter(e=>!e.is_default),eF=eI.filter(e=>!eL.some(t=>t.thread_ids?.includes(e.id)));!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:Y,shouldFocus:e$&&!(N&&!eO||M&&eO)&&!eO&&!_});let ez=()=>{ef({title:"Create chat",placeholder:"Chat title",defaultValue:"",onSubmit:e=>void S({title:e})})};return e$?(0,t.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar","aria-label":"Workspace sidebar","aria-busy":N?"true":void 0,children:[(0,t.jsxs)("div",{className:"workspace-sidebar__brand",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__brand-content flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"workspace-sidebar__brand-icon","aria-hidden":"true",children:(0,t.jsx)("span",{className:"text-[10px]",children:"AGX"})}),(0,t.jsx)("span",{className:"workspace-sidebar__brand-title",children:"Workspace"})]}),L&&(0,t.jsx)("button",{type:"button",onClick:L,"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)(p,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,t.jsxs)("div",{className:"workspace-sidebar__content",children:[F&&(0,t.jsx)("div",{className:"px-3 pt-2 pb-1",children:(0,t.jsxs)("button",{type:"button",onClick:F,className:"flex h-8 w-full items-center gap-2 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] px-2.5 text-xs text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] hover:text-[var(--app-shell-muted)]",children:[(0,t.jsx)(f.Search,{className:"h-3.5 w-3.5 shrink-0",strokeWidth:1.75}),(0,t.jsx)("span",{children:"Search..."}),(0,t.jsx)("kbd",{className:"ml-auto rounded border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1 py-0.5 font-sans text-[10px] font-medium text-[var(--app-shell-soft-text)]",children:"⌘K"})]})}),(0,t.jsx)("nav",{className:"workspace-sidebar__section",style:{gap:0},children:(0,t.jsxs)(j.default,{href:"/agents",className:"workspace-sidebar__nav-item",children:[(0,t.jsx)(l,{size:14,className:"flex-shrink-0"}),"Manage Agents"]})}),(0,t.jsxs)("nav",{className:"workspace-sidebar__section",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__section-header group/projects-header",children:[(0,t.jsx)("p",{className:"workspace-sidebar__section-label",children:"Projects"}),(0,t.jsx)("div",{className:"workspace-sidebar__header-actions",children:(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/projects-header:opacity-100",onClick:()=>{em.resetForm(),ep(null),ec({})},"aria-label":"Create project",title:"Create project",children:(0,t.jsx)(h.Plus,{size:14})})})]}),eL.map(e=>{let r=et.has(e.id),a=eI.filter(t=>e.thread_ids?.includes(t.id)),l=e.id===q,p=e.thread_ids?.find(e=>eM.has(e))??e.thread_ids?.[0]??a[0]?.id??null,f=l&&"thread"===X&&p===w,g=l&&"automations"===X,k=l&&"linear"===X;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item group",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item",children:[(0,t.jsx)("button",{type:"button",className:"inline-flex items-center justify-center rounded-sm text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:()=>{var t;return t=e.id,void er(e=>{let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},"aria-label":r?`Collapse ${e.name}`:`Expand ${e.name}`,title:r?"Collapse project":"Expand project",children:r?(0,t.jsx)(s.ChevronDown,{size:14,className:"flex-shrink-0"}):(0,t.jsx)(n.ChevronRight,{size:14,className:"flex-shrink-0"})}),(0,t.jsx)(c.Folder,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title",children:e.name})]}),(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-actions",children:[(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action",onClick:()=>void eS(e.id),"aria-label":`Open project settings for ${e.name}`,title:"Project settings",children:(0,t.jsx)(m.Pencil,{size:12})}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action workspace-sidebar__workspace-action--delete",onClick:()=>{var t;let r;return t=e.id,r=z.find(e=>e.id===t),void eb({title:"Delete project",message:`Delete "${r?.name??"project"}"? Its agents will move to the Default project.`,onConfirm:()=>void U?.(t)})},"aria-label":`Delete project ${e.name}`,title:`Delete project ${e.name}`,children:(0,t.jsx)(x.Trash2,{size:12})})]})]}),r&&(0,t.jsxs)("div",{className:"ml-4 my-1 flex flex-col gap-0.5 border-l border-[var(--app-shell-border)] pl-3",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item group/linear flex items-center",children:[(0,t.jsxs)(j.default,{href:`/projects/${e.slug}/linear`,className:`workspace-sidebar__nav-item flex-1 ${k?"workspace-sidebar__nav-item--active":""}`,"aria-current":k?"page":void 0,children:[(0,t.jsx)(b.ExternalLink,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Linear"})]}),(0,t.jsx)(j.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)(v.Settings,{size:11,className:"text-[var(--muted-foreground)]"})})]}),(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(j.default,{href:`/projects/${e.slug}/automations`,className:`workspace-sidebar__nav-item ${g?"workspace-sidebar__nav-item--active":""}`,"aria-current":g?"page":void 0,children:[(0,t.jsx)(d.Zap,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Scheduled Tasks"})]})}),(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:p?(0,t.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item ${f?"workspace-sidebar__nav-item--active":""}`,onClick:()=>C(p),"aria-current":f?"page":void 0,children:[(0,t.jsx)(o.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Chat"})]}):(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item",onClick:ez,children:[(0,t.jsx)(o.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Chat"})]})}),(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsxs)("div",{className:"group/repos-header flex items-center justify-between px-3 py-1",children:[(0,t.jsx)("p",{className:"text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Folders"}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/repos-header:opacity-100 text-[var(--muted-foreground)] hover:text-white",onClick:()=>ew({projectId:e.id,projectName:e.name,repoId:null,name:"",path:"",gitUrl:"",notes:"",generatedKnowledge:[],isLoadingKnowledge:!1,isSaving:!1,error:null}),"aria-label":"Add folder",title:"Add folder",children:(0,t.jsx)(h.Plus,{size:12})})]}),e.repos.length>0?e.repos.map(r=>(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item group/repo flex items-center",children:[(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item min-w-0 flex-1 text-left",onClick:()=>ew({projectId:e.id,projectName:e.name,repoId:r.id,name:r.name,path:r.path||"",gitUrl:r.git_url||"",notes:r.notes||"",generatedKnowledge:[],isLoadingKnowledge:!0,isSaving:!1,error:null}),children:[(0,t.jsx)(u.FolderGit2,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)] ml-2"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:r.name})]}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 group-hover/repo:opacity-100 transition-opacity flex-shrink-0 text-[var(--muted-foreground)] hover:text-red-400",onClick:async t=>{t.stopPropagation();let a=e.repos.filter(e=>e.id!==r.id).map(e=>({id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes}));await R?.(e.id,{repos:a})},"aria-label":"Delete folder",title:"Delete folder",children:(0,t.jsx)(x.Trash2,{size:12})})]},`${e.id}:${r.name}:${r.path??""}`)):(0,t.jsx)("p",{className:"px-3 py-1 text-[11px] text-[var(--muted-foreground)]",children:"No folders"})]}),(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsxs)("div",{className:"group/agents-header flex items-center justify-between px-3 py-1",children:[(0,t.jsx)("p",{className:"text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Agents"}),e.agents.length>0&&(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/agents-header:opacity-100 text-[var(--muted-foreground)] hover:text-white",onClick:()=>eP(e.id),"aria-label":"Add agents",title:"Add agents",children:(0,t.jsx)(h.Plus,{size:12})})]}),e.agents.length>0?(0,t.jsx)(t.Fragment,{children:e.agents.map((r,a)=>{let s=i.find(e=>e.id===r.agent_id),n=eN?.projectId===e.id&&eN?.agentId===r.agent_id,o=eN?.projectId===e.id&&eN?.overIndex===a&&!n;return(0,t.jsx)("div",{draggable:!0,onDragStart:t=>{t.dataTransfer.effectAllowed="move",e_({projectId:e.id,agentId:r.agent_id,overIndex:a})},onDragOver:t=>{t.preventDefault(),eN&&eN.projectId===e.id&&e_(e=>e?{...e,overIndex:a}:null)},onDragEnd:()=>{if(eN&&eN.projectId===e.id&&H){let t=e.agents.map(e=>e.agent_id),r=t.indexOf(eN.agentId),a=eN.overIndex;if(-1!==r&&r!==a){let s=[...t],[n]=s.splice(r,1);s.splice(a,0,n),H(e.id,s)}}e_(null)},className:`group/agent flex items-center ${o?"border-t-2 border-[var(--border)]":"border-t-2 border-transparent"} ${n?"opacity-40":""}`,children:(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item flex-1 min-w-0 !py-1",onClick:()=>ej(r.agent_id),children:[(0,t.jsx)("span",{className:`cursor-grab text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] flex-shrink-0 mr-0.5 transition-opacity ${0===a?"opacity-100":"opacity-0 group-hover/agent:opacity-100"}`,title:"Drag to reorder",children:"⠿"}),(0,t.jsx)("img",{src:(0,y.agentAvatarUrl)(r.agent_id,16,s?.color),alt:"",className:"w-4 h-4 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:s?.name??r.agent_id}),0===a&&(0,t.jsx)("span",{className:"ml-auto text-[9px] text-[var(--muted-foreground)] font-medium flex-shrink-0",title:"Default responder (top agent responds first)",children:"DEFAULT"})]})},r.agent_id)})}):(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 px-3 py-1 text-[11px] font-medium text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:()=>eP(e.id),children:[(0,t.jsx)(h.Plus,{size:10}),(0,t.jsx)("span",{children:"Add agents"})]})]})]})]},e.id)}),eF.length>0&&(0,t.jsxs)("div",{className:"pt-3",children:[(0,t.jsx)("p",{className:"px-1 py-1 text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Unassigned Threads"}),eF.map(e=>{let r=e.id===w,a=e.title?.trim()||"Untitled thread";return(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item group",children:(0,t.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item ${r?"workspace-sidebar__nav-item--active workspace-sidebar__workspace-nav-item--active":""}`,onClick:()=>C(e.id),"aria-current":r?"page":void 0,children:[(0,t.jsx)(o.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title",children:a})]})},e.id)})]})]})]}),(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"]})}),Q&&ek&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{ek.isSaving||ew(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:ek.projectName}),(0,t.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--foreground)]",children:ek.repoId?ek.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:()=>{ek.isSaving||ew(null)},"aria-label":"Close folder details",disabled:ek.isSaving,children:(0,t.jsx)(g.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:ek.name,onChange:e=>ew(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:ek.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:ek.path,onChange:e=>ew(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:ek.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:ek.isSaving,onClick:async()=>{try{let e=await fetch("/api/filesystem/pick-folder",{method:"POST"}),t=await e.json();t.path&&ew(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:ek.notes,onChange:e=>ew(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:ek.isSaving,placeholder:"Coding conventions, deploy steps, doc standards, ownership rules..."})]}),ek.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"}),ek.isLoadingKnowledge?(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading note…"}):ek.generatedKnowledge.length>0?(0,t.jsx)("div",{className:"space-y-2",children:ek.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,ek.error?(0,t.jsx)("p",{className:"text-xs text-red-600",children:ek.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:()=>ew(null),disabled:ek.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:ek.isSaving||!R,onClick:async()=>{let e=z.find(e=>e.id===ek.projectId);if(!e)return void ew(e=>e?{...e,error:"Project not found."}:e);let t=ek.name.trim(),r=ek.path.trim();if(!t)return void ew(e=>e?{...e,error:"Folder name is required."}:e);if(!r)return void ew(e=>e?{...e,error:"Folder path is required."}:e);ew(e=>e?{...e,isSaving:!0,error:null}:e);try{let a=ek.repoId?e.repos.map(e=>e.id===ek.repoId?{id:e.id,name:t,path:r,git_url:ek.gitUrl.trim()||void 0,notes:ek.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:ek.gitUrl.trim()||void 0,notes:ek.notes.trim()||void 0}];await R?.(e.id,{repos:a}),ew(null)}catch(e){ew(t=>t?{...t,isSaving:!1,error:e instanceof Error?e.message:"Failed to save folder details."}:t)}},children:ek.isSaving?"Saving...":ek.repoId?"Save":"Add Folder"})]})]})]})}),document.body),Q&&ea&&!ei&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>es(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 ",eE?.name??"project"]}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>es(null),children:(0,t.jsx)(g.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:()=>el(!0),children:[(0,t.jsx)(h.Plus,{size:14,className:"text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===eT.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"}):eT.map(e=>{let r=en.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:()=>{eo(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,y.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)})]}),eT.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:()=>es(null),children:"Cancel"}),(0,t.jsxs)("button",{type:"button",disabled:0===en.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 en)B?.(ea.projectId,e);es(null)},children:["Add ",en.size>0?`(${en.size})`:""]})]})]})}),document.body),Q&&ei&&(0,a.createPortal)((0,t.jsx)(y.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[],skillBindings:[]},submitLabel:"Create & Add",projects:z?.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:ea?[ea.projectId]:[],onSubmit:async(e,t)=>{let r=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],a=r[i.length%r.length],s=e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),n=t?.[0],o=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:s,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??[],...n?{projectId:n}:{}})});if(o.ok){let e=await o.json().catch(()=>({})),r="string"==typeof e?.id&&e.id.trim()?e.id.trim():s;for(let e of(t??[]).slice(1))B?.(e,r);el(!1),es(null)}},onCancel:()=>{el(!1)}}),document.body),Q&&eh&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ef(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:eh.title}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ef(null),children:(0,t.jsx)(g.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&&(eh.onSubmit(r),ef(null))},children:[(0,t.jsx)("input",{ref:ex,name:"value",type:"text",defaultValue:eh.defaultValue,placeholder:eh.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:()=>ef(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:eh.defaultValue?"Save":"Create"})]})]})]})}),document.body),Q&&eg&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>eb(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:()=>eb(null),children:(0,t.jsx)(g.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:eg.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:()=>eb(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:()=>{eg.onConfirm(),eb(null)},children:"Delete"})]})]})]})}),document.body),Q&&(ed||eu)&&(0,a.createPortal)((0,t.jsx)(k.default,{isOpen:!0,onClose:()=>{em.resetForm(),ec(null),ep(null)},onSubmit:()=>void eC(),editingProject:eu,form:em.form,repos:em.repos,isSubmitting:em.isSubmitting,formError:em.formError,onFieldChange:(e,t)=>em.setForm(r=>({...r,[e]:t})),onRepoChange:em.handleRepoChange,onAddRepo:em.addRepo,onRemoveRepo:em.removeRepo}),document.body),Q&&ey&&(0,a.createPortal)((G=z.filter(e=>e.agents.some(e=>e.agent_id===ey.id)),Z=z.filter(e=>!e.agents.some(e=>e.agent_id===ey.id)),(0,t.jsx)(y.AgentForm,{title:"Edit agent",initial:{name:ey.name,title:ey.title||"",provider:ey.provider,model:ey.model||"",identity:ey.identity||"",color:ey.color,skills:ey.skills||[],skillBindings:ey.skillBindings||[]},agentId:ey.id,submitLabel:"Save",projectMemberships:{current:G.map(e=>({id:e.id,name:e.name,is_default:!!e.is_default})),available:Z.map(e=>({id:e.id,name:e.name}))},onAddToProject:B?e=>B(e,ey.id):void 0,onRemoveFromProject:K?e=>K(e,ey.id):void 0,onSubmit:async e=>{W&&await W({...ey,name:e.name,title:e.title||void 0,provider:e.provider,model:e.model,color:e.color??ey.color,...e.identity?{identity:e.identity}:{},skills:e.skills??[],skillBindings:e.skillBindings??[]}),ej(null)},onCancel:()=>ej(null)})),document.body)]}):(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:L,className:"workspace-sidebar__brand-icon border-none outline-none cursor-pointer","aria-label":"Show chats",title:"Show chats",children:(0,t.jsx)("span",{className:"text-[10px]",children:"AGX"})})}),(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"})})})})]})}e.s(["WorkspaceSidebar",()=>w],268542);let N="agx-chat:uiSettings",_={threadSidebarVisible:!1};function C(){return void 0!==window.localStorage}function S(){if(!C())return{..._};let e=window.localStorage.getItem(N);if(!e)return{..._};try{let t=JSON.parse(e);return{..._,threadSidebarVisible:"boolean"==typeof t.threadSidebarVisible&&t.threadSidebarVisible}}catch{return{..._}}}function P(){return S().threadSidebarVisible}function E(e){var t={...S(),threadSidebarVisible:e};if(C())try{window.localStorage.setItem(N,JSON.stringify(t))}catch{}}e.s(["loadWorkspaceSidebarVisible",()=>P,"persistWorkspaceSidebarVisible",()=>E],154238)},239616,e=>{"use strict";let t=(0,e.i(475254).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Settings",()=>t],239616)},274049,e=>{"use strict";var t=e.i(271645);function r(){let[e,r]=(0,t.useState)([]),[a,s]=(0,t.useState)(!1),[n,o]=(0,t.useState)(null),i=(0,t.useCallback)(async()=>{s(!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{s(!1)}},[]);(0,t.useEffect)(()=>{i()},[i]);let l=(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:n,refetch:i,createProject:l,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 s=(await a.json()).project;return r(t=>t.map(t=>t.id===e?s:t)),s},[]),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))},[])}}function a(){let[e,r]=(0,t.useState)([]),[a,s]=(0,t.useState)(!0),n=(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,s]=await Promise.all([fetch(`/api/projects/${e.id}/agents`),fetch(`/api/projects/${e.id}/threads`)]);a.ok&&(t=(await a.json()).agents??[]),s.ok&&(r=((await s.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{s(!1)}},[]);(0,t.useEffect)(()=>{n()},[n]);let o=(0,t.useCallback)(async(e,t)=>{try{let a="string"==typeof e?{name:e}:e,s=a.name.trim(),n=(a.slug||s.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:s,slug:n})});if(!o.ok)return null;let{project:i}=await o.json(),l=Array.isArray(t)?t:t?[t]:[];for(let e of l)await fetch(`/api/projects/${i.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e})}).catch(()=>{});let d={...i,repos:i.repos??[],agents:[],thread_ids:l,workspace_ids:l};return r(e=>[...e,d].sort((e,t)=>e.name.localeCompare(t.name))),d}catch{return null}},[]),i=(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{}},[]),l=(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{}},[]),d=(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 s=(await a.json()).project;return r(t=>t.map(t=>t.id===e?{...t,...s,repos:s.repos??t.repos}:t)),s}catch{return null}},[]),c=(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 s=((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:s}: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 s=((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:s}:t))}catch{}},[]);return{projects:e,isLoading:a,createProject:o,updateProject:d,renameProject:i,deleteProject:l,addAgent:c,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 s=((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:s}: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 n()}catch{}},[n]),refresh:n}}e.s(["useProjects",()=>r,"useProjectsWithAgents",()=>a])},555436,e=>{"use strict";let t=(0,e.i(475254).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],555436)},778917,e=>{"use strict";let t=(0,e.i(475254).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],778917)},811132,e=>{"use strict";var t=e.i(843476),r=e.i(271645);function a({initialPath:e,onSelect:a,onCancel:s}){let[n,o]=(0,r.useState)(e||""),[i,l]=(0,r.useState)(null),[d,c]=(0,r.useState)(!1),[u,p]=(0,r.useState)(null),m=(0,r.useRef)(null),h=(0,r.useCallback)(async e=>{c(!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");l(a),o(a.current),m.current?.scrollTo(0,0)}catch{p("Failed to connect")}finally{c(!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:n,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h(n)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,t.jsx)("button",{type:"button",onClick:()=>h(n),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:m,className:"max-h-48 overflow-y-auto",children:[d&&(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}),!d&&i&&(0,t.jsxs)("div",{className:"py-1",children:[i.parent&&(0,t.jsxs)("button",{type:"button",onClick:()=>h(i.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===i.dirs.length&&!i.parent&&(0,t.jsx)("div",{className:"px-3 py-3 text-xs text-[var(--muted-foreground)] text-center",children:"No subdirectories"}),i.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:i?.current||n}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:s,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(i?.current||n),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}let s={name:"",description:""},n={name:"",path:"",notes:""};function o(){let[e,t]=(0,r.useState)(s),[a,o]=(0,r.useState)([n]),[i,l]=(0,r.useState)(!1),[d,c]=(0,r.useState)(null),u=(0,r.useCallback)((e,t,r)=>{o(a=>a.map((a,s)=>s===e?{...a,[t]:r}:a))},[]),p=(0,r.useCallback)(()=>{o(e=>[...e,{...n}])},[]),m=(0,r.useCallback)(e=>{o(t=>t.filter((t,r)=>r!==e))},[]),h=(0,r.useCallback)(()=>{t(s),o([n]),c(null)},[]),f=(0,r.useCallback)(e=>{t({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?o(e.repos.map(e=>({id:e.id,name:e.name||"",path:e.path||"",git_url:e.git_url||"",notes:e.notes||""}))):o([n]),c(null)},[]);return{form:e,setForm:t,repos:a,handleRepoChange:u,addRepo:p,removeRepo:m,resetForm:h,hydrateFromProject:f,isSubmitting:i,setIsSubmitting:l,formError:d,setFormError:c}}function i(e,t){let r=t.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({...e.id?{id:e.id}:{},name:e.name.trim(),path:e.path.trim(),...e.git_url?.trim()?{git_url:e.git_url.trim()}:{},notes:e.notes.trim()||void 0}));return{name:e.name.trim(),description:e.description.trim()||void 0,repos:r.length?r:void 0}}function l({form:e,repos:s,isEditingProject:n,isSubmitting:o,onFieldChange:i,onRepoChange:l,onAddRepo:d,onRemoveRepo:c}){let[u,p]=(0,r.useState)([]),[m,h]=(0,r.useState)(null),f=(0,r.useRef)(0);(0,r.useEffect)(()=>{n?p([]):p(s.map((e,t)=>t)),f.current=s.length},[n,s.length]),(0,r.useEffect)(()=>{if(!n){f.current=s.length;return}let e=f.current;p(t=>{let r=t.filter(e=>e<s.length);return s.length>e&&r.push(...Array.from({length:s.length-e},(t,r)=>e+r)),r}),f.current=s.length},[n,s.length]);let x=(0,r.useCallback)(e=>{p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),g=(0,r.useCallback)(e=>!n||u.includes(e),[u,n]);return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"grid gap-4",children:(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,t.jsx)("input",{value:e.name,onChange:e=>i("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:o})]})}),(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,t.jsx)("textarea",{value:e.description,onChange:e=>i("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:o})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Folders"}),(0,t.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-0.5",children:"Code repos, doc folders, design assets, config directories — any path your team needs access to."})]}),(0,t.jsx)("button",{type:"button",onClick:d,className:"text-xs font-semibold text-[var(--primary)] hover:underline flex-shrink-0",disabled:o,children:"+ Add Folder"})]}),(0,t.jsx)("div",{className:"space-y-4",children:s.map((e,r)=>(0,t.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 space-y-3 relative group",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Folder #",r+1]}),n&&!g(r)?(0,t.jsxs)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:[(0,t.jsx)("div",{children:e.name||"Unnamed folder"}),(0,t.jsx)("div",{className:"truncate",children:e.path||"No local path set"})]}):null]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[n&&(0,t.jsx)("button",{type:"button",onClick:()=>x(r),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:o,children:g(r)?"Done":"Edit"}),s.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>c(r),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:o,children:"Remove"})]})]}),g(r)?(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>l(r,"name",e.target.value),placeholder:"Name (e.g. Frontend, API Docs, Design System)",className:"input text-sm",disabled:o}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{value:e.path,onChange:e=>l(r,"path",e.target.value),placeholder:"Local path to folder",className:"input text-sm flex-1",disabled:o}),(0,t.jsx)("button",{type:"button",onClick:async()=>{try{let e=await fetch("/api/filesystem/pick-folder",{method:"POST"}),t=await e.json();t.path&&l(r,"path",t.path)}catch{h(m===r?null:r)}},className:"px-3 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--muted)]/30 hover:bg-[var(--muted)]/60 transition-colors text-xs font-semibold text-[var(--muted-foreground)] whitespace-nowrap",disabled:o,children:"Browse"})]}),m===r&&(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)(a,{initialPath:e.path||"",onSelect:e=>{l(r,"path",e),h(null)},onCancel:()=>h(null)})}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("textarea",{value:e.notes,onChange:e=>l(r,"notes",e.target.value),placeholder:"Notes for this folder — e.g. coding conventions, deploy steps, ownership, doc standards...",className:"input text-sm w-full min-h-24 resize-y",disabled:o})})]}):null]},r))})]})]})}function d({isOpen:e,onClose:a,onSubmit:s,editingProject:n,form:o,repos:i,isSubmitting:d,formError:c,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:h}){let[f,x]=(0,r.useState)([]);return((0,r.useEffect)(()=>{let e=!1;return async function(){if(!n)return x([]);try{let t=await fetch(`/api/knowledge-notes?scope=project&subjectId=${encodeURIComponent(n.id)}`),r=(t.ok?await t.json():{note:null}).note;e||x(r?.content?[{id:r.id,content:r.content,created_at:r.updatedAt??r.createdAt,source:r.sourceType}]:[])}catch{e||x([])}}(),()=>{e=!0}},[n]),e)?(0,t.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&a(),children:(0,t.jsxs)("div",{className:"modal-content w-full max-w-4xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-bold",children:n?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:n?"Update your project settings and folders.":"Define a new project and connect folders."})]}),(0,t.jsx)("button",{onClick:a,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 sm:p-8",children:[n&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Living Project Note"}),f.length>0?(0,t.jsx)("div",{className:"mt-3 space-y-2",children:f.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] 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:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No project note yet."})]})}),(0,t.jsx)(l,{form:o,repos:i,isEditingProject:!!n,isSubmitting:d,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:h}),c&&(0,t.jsx)("div",{className:"mt-6 p-4 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:c})]}),(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-t border-[var(--card-border)] flex items-center justify-end gap-3 flex-shrink-0",children:[(0,t.jsx)("button",{onClick:a,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Cancel"}),(0,t.jsx)("button",{onClick:s,disabled:d,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:d?(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Saving..."]}):n?"Save Changes":"Create Project"})]})]})}):null}e.s(["createProjectPayload",()=>i,"default",()=>d,"useProjectFormState",()=>o],811132)},75505,e=>{"use strict";let t=(0,e.i(475254).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 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.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],75505)},643531,e=>{"use strict";let t=(0,e.i(475254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",()=>t],643531)},284614,e=>{"use strict";let t=(0,e.i(475254).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",()=>t],284614)},283086,e=>{"use strict";let t=(0,e.i(475254).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",()=>t],283086)},107233,e=>{"use strict";let t=(0,e.i(475254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],107233)},664659,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],664659)},475254,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 s={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 n=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:n=2,absoluteStrokeWidth:o,className:i="",children:l,iconNode:d,...c},u)=>(0,t.createElement)("svg",{ref:u,...s,width:a,height:a,stroke:e,strokeWidth:o?24*Number(n)/Number(a):n,className:r("lucide",i),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),o=(e,s)=>{let o=(0,t.forwardRef)(({className:o,...i},l)=>(0,t.createElement)(n,{ref:l,iconNode:s,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...i}));return o.displayName=a(e),o};e.s(["default",()=>o],475254)},37727,e=>{"use strict";let t=(0,e.i(475254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},233525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},998183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={assign:function(){return l},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return i}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});function n(e){let t={};for(let[r,a]of e.entries()){let e=t[r];void 0===e?t[r]=a:Array.isArray(e)?e.push(a):t[r]=[e,a]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;for(let[r,a]of Object.entries(e))if(Array.isArray(a))for(let e of a)t.append(r,o(e));else t.set(r,o(a));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,a]of r.entries())e.append(t,a)}return e}},195057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return i},formatWithValidation:function(){return d},urlObjectKeys:function(){return l}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=e.r(190809)._(e.r(998183)),o=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,a=e.protocol||"",s=e.pathname||"",i=e.hash||"",l=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:r&&(d=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(d+=":"+e.port)),l&&"object"==typeof l&&(l=String(n.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==d?(d="//"+(d||""),s&&"/"!==s[0]&&(s="/"+s)):d||(d=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),s=s.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${a}${d}${s}${c}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return i(e)}},818581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let a=e.r(271645);function s(e,t){let r=(0,a.useRef)(null),s=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=n(e,a)),t&&(s.current=n(t,a))},[e,t])}function n(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)},718967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return j},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return f},ST:function(){return x},WEB_VITALS:function(){return n},execOnce:function(){return o},getDisplayName:function(){return u},getLocationOrigin:function(){return d},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return p},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return k}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return(...a)=>(r||(r=!0,t=e(...a)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>i.test(e);function d(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=d();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function p(e){return e.finished||e.headersSent}function m(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let a=await e.getInitialProps(t);if(r&&p(r))return a;if(!a)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${a}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}let f="u">typeof performance,x=f&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class j extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},573668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return n}});let a=e.r(718967),s=e.r(652817);function n(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,s.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 v}};for(var s in a)Object.defineProperty(r,s,{enumerable:!0,get:a[s]});let n=e.r(190809),o=e.r(843476),i=n._(e.r(271645)),l=e.r(195057),d=e.r(8372),c=e.r(818581),u=e.r(718967),p=e.r(405550);e.r(233525);let m=e.r(91949),h=e.r(573668),f=e.r(509396);function x(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function g(t){var r;let a,s,n,[l,g]=(0,i.useOptimistic)(m.IDLE_LINK_STATUS),v=(0,i.useRef)(null),{href:j,as:y,children:k,prefetch:w=null,passHref:N,replace:_,shallow:C,scroll:S,onClick:P,onMouseEnter:E,onTouchStart:A,legacyBehavior:T=!1,onNavigate:O,ref:$,unstable_dynamicOnHover:I,...M}=t;a=k,T&&("string"==typeof a||"number"==typeof a)&&(a=(0,o.jsx)("a",{children:a}));let L=i.default.useContext(d.AppRouterContext),F=!1!==w,z=!1!==w?null===(r=w)||"auto"===r?f.FetchStrategy.PPR:f.FetchStrategy.Full:f.FetchStrategy.PPR,{href:D,as:R}=i.default.useMemo(()=>{let e=x(j);return{href:e,as:y?x(y):e}},[j,y]);if(T){if(a?.$$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=i.default.Children.only(a)}let U=T?s&&"object"==typeof s&&s.ref:$,B=i.default.useCallback(e=>(null!==L&&(v.current=(0,m.mountLinkInstance)(e,D,L,z,F,g)),()=>{v.current&&((0,m.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,m.unmountPrefetchableInstance)(e)}),[F,D,L,z,g]),K={ref:(0,c.useMergedRef)(B,U),onClick(t){T||"function"!=typeof P||P(t),T&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!L||t.defaultPrevented||function(t,r,a,s,n,o,l){if("u">typeof window){let d,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((d=t.currentTarget.getAttribute("target"))&&"_self"!==d||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){n&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(699781);i.default.startTransition(()=>{u(a||r,n?"replace":"push",o??!0,s.current)})}}(t,D,R,v,_,S,O)},onMouseEnter(e){T||"function"!=typeof E||E(e),T&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),L&&F&&(0,m.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){T||"function"!=typeof A||A(e),T&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),L&&F&&(0,m.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,u.isAbsoluteUrl)(R)?K.href=R:T&&!N&&("a"!==s.type||"href"in s.props)||(K.href=(0,p.addBasePath)(R)),n=T?i.default.cloneElement(s,K):(0,o.jsx)("a",{...M,...K,children:a}),(0,o.jsx)(b.Provider,{value:l,children:n})}e.r(284508);let b=(0,i.createContext)(m.IDLE_LINK_STATUS),v=()=>(0,i.useContext)(b);("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)},755838,(e,t,r)=>{"use strict";var a=e.r(271645),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},n=a.useState,o=a.useEffect,i=a.useLayoutEffect,l=a.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!s(e,r)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),a=n({inst:{value:r,getSnapshot:t}}),s=a[0].inst,c=a[1];return i(function(){s.value=r,s.getSnapshot=t,d(s)&&c({inst:s})},[e,r,t]),o(function(){return d(s)&&c({inst:s}),e(function(){d(s)&&c({inst:s})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:c},802239,(e,t,r)=>{"use strict";t.exports=e.r(755838)},752822,(e,t,r)=>{"use strict";var a=e.r(271645),s=e.r(802239),n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=s.useSyncExternalStore,i=a.useRef,l=a.useEffect,d=a.useMemo,c=a.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,a,s){var u=i(null);if(null===u.current){var p={hasValue:!1,value:null};u.current=p}else p=u.current;var m=o(e,(u=d(function(){function e(e){if(!l){if(l=!0,o=e,e=a(e),void 0!==s&&p.hasValue){var t=p.value;if(s(t,e))return i=t}return i=e}if(t=i,n(o,e))return t;var r=a(e);return void 0!==s&&s(t,r)?(o=e,t):(o=e,i=r)}var o,i,l=!1,d=void 0===r?null:r;return[function(){return e(t())},null===d?void 0:function(){return e(d())}]},[t,r,a,s]))[0],u[1]);return l(function(){p.hasValue=!0,p.value=m},[m]),c(m),m}},430224,(e,t,r)=>{"use strict";t.exports=e.r(752822)},463059,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],463059)},88081,e=>{"use strict";let t=(0,e.i(475254).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",()=>t],88081)},327025,e=>{"use strict";let t=(0,e.i(475254).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",()=>t],327025)},727612,e=>{"use strict";let t=(0,e.i(475254).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",()=>t],727612)},690272,e=>{"use strict";let t=(0,e.i(475254).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",()=>t],690272)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,871689,e=>{"use strict";let t=(0,e.i(475254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],871689)},284765,e=>{"use strict";let t=(0,e.i(475254).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);e.s(["Settings2",()=>t],284765)},431343,e=>{"use strict";let t=(0,e.i(475254).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],431343)},868054,e=>{"use strict";let t=(0,e.i(475254).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],868054)},430520,e=>{"use strict";var t=e.i(271645);function r(e){return`threadId=${encodeURIComponent(e)}`}function n(e){return`workspaceId=${encodeURIComponent(e)}`}function a(e){let[a,s]=(0,t.useState)([]),[i,l]=(0,t.useState)([]),[o,c]=(0,t.useState)([]),u=(0,t.useRef)(e),d=(0,t.useRef)(e);u.current=e,d.current!==e&&(d.current=e,s([]),l([]),c([]));let f=(0,t.useCallback)(async e=>{let t=e?.trim()||u.current?.trim();if(!t){s([]),l([]);return}let a=r(t);try{let[e,r]=await Promise.all([fetch(`/api/history?${a}`),fetch(`/api/logs?${n(t)}`)]);if(u.current!==t)return;e.ok&&s(await e.json()),r.ok&&l(await r.json())}catch{}},[]),p=(0,t.useCallback)(async e=>{let t=e?.trim()||u.current?.trim();if(!t){s([]),l([]);return}let a=r(t);await Promise.all([fetch(`/api/history?${a}`,{method:"DELETE"}),fetch(`/api/logs?${n(t)}`,{method:"DELETE"})]),u.current===t&&(s([]),l([]))},[]),h=(0,t.useCallback)(async(e,t=10,r,n,a,i,l,o,d,f)=>{let p=r?.trim()||u.current?.trim();if(!p)return;let h=Date.now(),m=crypto.randomUUID(),y={id:m,role:"user",participantId:null,content:e,timestamp:h,rootMessageId:n||null,parentMessageId:n||null,depth:+!!n,...i&&i.length>0?{attachments:i}:{}};s(e=>[...e,y]);try{let r=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:p,prompt:e,promptPrefix:d||void 0,maxRounds:t,userMessageId:m,rootMessageId:n||void 0,attachmentIds:a?.length?a:void 0,activeParticipantIds:Array.isArray(l)?l:void 0,projectSlug:o?.trim()||void 0,routing:f})}),s=await r.json().catch(()=>null);r.ok&&s?.chatRunId&&c(e=>[{chatRunId:s.chatRunId,threadId:p,rootMessageId:n||m,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...e.filter(e=>e.chatRunId!==s.chatRunId)])}catch{}return m},[]),m=(0,t.useCallback)(async()=>{let e=u.current?.trim();if(e)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]),y=(0,t.useCallback)(async e=>{let t=u.current?.trim();if(t)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(t)}&threadId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]);return{messages:a,setMessages:s,logs:i,sendMessage:h,loadHistory:f,clearHistory:p,clearLogs:(0,t.useCallback)(async e=>{let t=e?.trim()||u.current?.trim();t?(await fetch(`/api/logs?${n(t)}`,{method:"DELETE"}).catch(()=>{}),u.current===t&&l([])):l([])},[]),chatRuns:o,setChatRuns:c,stop:m,stopThread:y}}e.s(["useGroupChat",()=>a])},650030,e=>{"use strict";var t=e.i(271645);let r=new Set(["spawning","running"]);function n(e,n){let a=n?.intervalMs??1500,s=n?.idleIntervalMs??1e4,[i,l]=(0,t.useState)(new Set),[o,c]=(0,t.useState)([]),[u,d]=(0,t.useState)({}),[f,p]=(0,t.useState)([]),h=(0,t.useRef)(e);h.current=e;let m=(0,t.useRef)(n?.messages??[]);m.current=n?.messages??[];let y=(0,t.useRef)(n?.setMessages);y.current=n?.setMessages;let g=(0,t.useRef)(0);(0,t.useEffect)(()=>{let e=n?.messages??[];if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t)}},[n?.messages]);let I=(0,t.useCallback)(async()=>{let e=h.current;if(!e){l(new Set),c([]),d({}),p([]);return}let t=null;if(e.threadId?t=`/api/processes?threadId=${encodeURIComponent(e.threadId)}`:e.workspaceId&&(t=`/api/processes?workspaceId=${encodeURIComponent(e.workspaceId)}`),!t){l(new Set),c([]),d({}),p([]);return}try{let a=e.workspaceId||e.threadId,s=a?`/api/history?threadId=${encodeURIComponent(a)}&since=${g.current}`:null,i=a?`/api/chat-runs?threadId=${encodeURIComponent(a)}&limit=20`:null,o=[fetch(t)];s&&o.push(fetch(s)),i&&o.push(fetch(i));let[u,f,I]=await Promise.all(o),k=h.current;if(k?.threadId!==e.threadId||k?.workspaceId!==e.workspaceId)return;if(u.ok){let e=await u.json();c(e);let t=new Set(e.filter(e=>r.has(e.state)).map(e=>e.agentId));l(t);let n={};for(let t of e){if(!r.has(t.state))continue;let e=m.current.find(e=>e.id===t.sinceMessageId),a=e?.rootMessageId??t.sinceMessageId;n[t.agentId]={content:"",rootMessageId:a}}d(n)}if(I?.ok){var n;let e=(n=await I.json(),Array.isArray(n)?n.map(e=>{if(!e||"object"!=typeof e)return null;let t="string"==typeof e.chatRunId?e.chatRunId:"string"==typeof e.id?e.id:null,r="string"==typeof e.threadId?e.threadId:null,n="string"==typeof e.status?e.status:null,a="string"==typeof e.rootMessageId?e.rootMessageId:(e.rootMessageId,null);return t&&r&&n&&("queued"===n||"running"===n||"awaiting_user"===n||"blocked"===n||"completed"===n||"failed"===n||"cancelled"===n)?{chatRunId:t,threadId:r,rootMessageId:a,status:n,optimistic:!1}:null}).filter(e=>!!e):[]);p(e)}if(f?.ok&&y.current){let e=await f.json();if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t),y.current(t=>{let r=new Set(t.map(e=>e.id)),n=e.filter(e=>!r.has(e.id)),a=t.map(t=>e.find(e=>e.id===t.id)??t);return 0===n.length?a:[...a,...n].sort((e,t)=>e.timestamp-t.timestamp)})}}}catch{}},[]),k=e?.threadId||e?.workspaceId||null,w=f.some(e=>"queued"===e.status||"running"===e.status),b=o.some(e=>r.has(e.state)),j=w||b?a:s;return(0,t.useEffect)(()=>{if(!k){l(new Set),c([]),d({}),p([]);return}I();let e=setInterval(I,j);return()=>clearInterval(e)},[k,j,I]),{activeAgents:i,processes:o,streaming:u,chatRuns:f,poll:I}}e.s(["useProcessPolling",()=>n])},503116,e=>{"use strict";let t=(0,e.i(475254).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",()=>t],503116)},16715,e=>{"use strict";let t=(0,e.i(475254).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},829415,e=>{"use strict";function t(e){return e.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}e.s(["stripMarkers",()=>t])},286476,e=>{"use strict";function t(e){if("string"==typeof e)return e.trim()||void 0}function r(e,r){let n=new Set,a=new Set;!function e(t,r){if(t)for(let n of t)r(n),e(n.content,r)}(e.content,e=>{if("participantMention"!==e.type)return;let t=e.attrs??{},r="string"==typeof t.id?t.id.trim():"",s="string"==typeof t.kind?t.kind:"agent";r&&"agent"===s&&(n.add(r),"parallel"===t.mode&&a.add(r))});let s=t(r);return{...s?{pinnedParticipantId:s}:{},mentionedParticipantIds:Array.from(n),parallelParticipantIds:Array.from(a)}}function n(e,r){let n=function(e){if(!Array.isArray(e))return[];let t=new Set,r=[];for(let n of e){if("string"!=typeof n)continue;let e=n.trim();!e||t.has(e)||(t.add(e),r.push(e))}return r}(e),a=t(r);return a&&n.includes(a)?[a,...n.filter(e=>e!==a)]:n}e.s(["extractComposerRouting",()=>r,"orderParticipantIds",()=>n])},667585,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let n=e.r(132061);function a({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},309885,(e,t,r)=>{"use strict";function n(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return n}})},652157,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return o}});let n=e.r(843476),a=e.r(174080),s=e.r(563599),i=e.r(309885),l=e.r(543369);function o({moduleIds:e}){if("u">typeof window)return null;let t=s.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let n=t.reactLoadableManifest;for(let t of e){if(!n[t])continue;let e=n[t].files;r.push(...e)}}if(0===r.length)return null;let o=(0,l.getDeploymentIdQueryOrEmptyString)();return(0,n.jsx)(n.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,i.encodeURIPath)(e)}${o}`;return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,a.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},869093,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return c}});let n=e.r(843476),a=e.r(271645),s=e.r(667585),i=e.r(652157);function l(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},c=function(e){let t={...o,...e},r=(0,a.lazy)(()=>t.loader().then(l)),c=t.loading;function u(e){let l=c?(0,n.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,u=o?a.Suspense:a.Fragment,d=t.ssr?(0,n.jsxs)(n.Fragment,{children:["u"<typeof window?(0,n.jsx)(i.PreloadChunks,{moduleIds:t.modules}):null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(s.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(u,{...o?{fallback:l}:{},children:d})}return u.displayName="LoadableComponent",u}},770703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(555682)._(e.r(869093));function a(e,t){let r={};"function"==typeof e&&(r.loader=e);let a={...r,...t};return(0,n.default)({...a,modules:a.loadableGenerated?.modules})}("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)},222860,e=>{"use strict";var t=e.i(843476),r=e.i(271645),n=e.i(274049),a=e.i(440212);function s({params:e}){let{slug:s}=(0,r.use)(e),{projects:i}=(0,n.useProjects)(),l=i.find(e=>e.slug===s);return(0,t.jsx)(a.default,{projectId:l?.id})}e.s(["default",()=>s])},711760,e=>{e.v(t=>Promise.all(["static/chunks/2a9c83f8211196e0.js","static/chunks/e51fddf53a6dc1e4.js","static/chunks/6103b9b5538bba4d.css"].map(t=>e.l(t))).then(()=>t(895214)))},276473,e=>{e.v(t=>Promise.all(["static/chunks/cb6301624094c91e.js"].map(t=>e.l(t))).then(()=>t(632077)))}]);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,837452,e=>{e.v({fileMentionFadeIn:"FileMentionPopover-module__1CTxzW__fileMentionFadeIn",popover:"FileMentionPopover-module__1CTxzW__popover"})},16706,898975,668036,473323,255597,261967,464057,835817,457653,561022,330054,787552,501456,717622,215094,833195,780023,309652,471221,169408,82735,e=>{"use strict";var t=e.i(271645);let r=/^[A-Za-z0-9_\-:]*$/,a={id:"all",name:"All",provider:"claude",model:null,color:"#6B7280"};function n(e,t,r){return r?e.startsWith(r)?3:t.startsWith(r)?2:e.includes(r)?1:null:0}function s({participants:e,projectGroups:s=[],projects:l=[],linearIssues:i=[],maxSuggestions:o=6}){let[d,u]=(0,t.useState)(null),[c,p]=(0,t.useState)(0),[m,f]=(0,t.useState)(!1),h=null!==d&&!m,x=d?.query??"",g=(0,t.useMemo)(()=>(function(e,t,r,s=[],l=[],i=[]){let o=t.toLowerCase(),d=new Map(e.map(e=>[e.id,e])),u=new Set;for(let e of s)for(let t of e.agents)u.add(t.agent_id);let c=[];for(let e of(null!==n("all","all",o)&&c.push({kind:"agent",participant:a,group:""}),s)){let t=n(e.name.toLowerCase(),e.id.toLowerCase(),o),r=[];for(let t of e.agents){let e=d.get(t.agent_id);if(!e)continue;let a=n(e.name.toLowerCase(),e.id.toLowerCase(),o);null!==a&&r.push({participant:e,score:a})}(null!==t||r.length>0)&&(null!==t&&c.push({kind:"project-group",project:e,group:e.name}),(null!==t&&o?e.agents.map(e=>d.get(e.agent_id)).filter(e=>!!e).map(e=>({participant:e,score:0})):r).sort((e,t)=>e.participant.name.localeCompare(t.participant.name)).forEach(({participant:t})=>{c.push({kind:"agent",participant:t,group:e.name})}))}for(let e of l)null!==n(e.name.toLowerCase(),e.slug.toLowerCase(),o)&&c.push({kind:"project",project:e,group:"Projects"});o&&i.map(e=>{var t,r;let a,n;return{issue:e,score:(t=e,r=o,a=t.identifier.toLowerCase(),n=t.title.toLowerCase(),a===r?5:a.startsWith(r)?4:n.startsWith(r)?3:a.includes(r)?2:n.includes(r)?1:null)}}).filter(e=>null!==e.score).sort((e,t)=>t.score!==e.score?t.score-e.score:e.issue.identifier.localeCompare(t.issue.identifier)).forEach(({issue:e})=>{c.push({kind:"ticket",issue:e,group:"Tickets"})});let p=[];for(let t of e){if(u.has(t.id))continue;let e=n(t.name.toLowerCase(),t.id.toLowerCase(),o);null!==e&&p.push({participant:t,score:e})}return p.sort((e,t)=>e.participant.name.localeCompare(t.participant.name)).forEach(({participant:e})=>{c.push({kind:"agent",participant:e,group:""})}),c.slice(0,r)})(e,x,o,s,l,i),[e,x,o,s,l,i]),v=(0,t.useCallback)((e,t)=>{let a=function(e,t){if(t<0||t>e.length)return null;let a=t;for(;a>0&&!/\s/.test(e[a-1]);)a--;let n=e.slice(a,t);if(!n.startsWith("@")||n.startsWith("@@@")||n.startsWith("@#"))return null;let s=n.startsWith("@@"),l=n.slice(s?2:1);return r.test(l)?{startIndex:a,endIndex:t,query:l.toLowerCase(),mode:s?"parallel":"sequential",isParallel:s}:null}(e,t);u(e=>((e?.startIndex!==a?.startIndex||e?.isParallel!==a?.isParallel||e?.query!==a?.query)&&p(0),a))},[]),b=(0,t.useCallback)((e,t)=>{m||v(e,t)},[m,v]),y=(0,t.useCallback)(e=>{if(!h||0===g.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),p(e=>e<g.length-1?e+1:0),!0;case"ArrowUp":return e.preventDefault(),p(e=>e>0?e-1:g.length-1),!0;case"Enter":case"Tab":return e.preventDefault(),!0;case"Escape":return e.preventDefault(),u(null),!0;default:return!1}},[h,g.length]),j=(0,t.useCallback)(e=>{if(!d)return null;let t="project-group"===e.kind||"project"===e.kind?e.project.name:"ticket"===e.kind?e.issue.identifier:e.participant.name,r=d.isParallel?"@@":"@";return{text:`${r}${t} `,startIndex:d.startIndex,endIndex:d.endIndex}},[d]),w=(0,t.useCallback)(()=>{u(null),p(0)},[]);return{isOpen:h,query:x,filteredSuggestions:g,activeIndex:c,token:d,isComposing:m,handleInput:b,handleKeyDown:y,selectSuggestion:j,close:w,startComposition:(0,t.useCallback)(()=>{f(!0)},[]),endComposition:(0,t.useCallback)((e,t)=>{f(!1),v(e,t)},[v])}}e.s(["useMentionAutocomplete",()=>s],16706);let l=/^[a-zA-Z0-9_-]*$/;function i({commands:e,maxSuggestions:r=6}){let[a,n]=(0,t.useState)(null),[s,i]=(0,t.useState)(0),o=null!==a,d=a?.query??"",u=(0,t.useMemo)(()=>{let t;return(t=d.toLowerCase())?e.filter(e=>!!e.name.slice(1).toLowerCase().startsWith(t)||(e.aliases?.some(e=>e.toLowerCase().startsWith(t))??!1)).slice(0,r):e.slice(0,r)},[e,d,r]),c=(0,t.useCallback)((e,t)=>{let r=function(e,t){if(t<0||t>e.length||!e.startsWith("/"))return null;let r=e.slice(0,t);if(/\s/.test(r))return null;let a=r.slice(1);return l.test(a)?{startIndex:0,endIndex:t,query:a.toLowerCase()}:null}(e,t);n(e=>(e?.query!==r?.query&&i(0),r))},[]),p=(0,t.useCallback)(e=>{if(!o||0===u.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),i(e=>e<u.length-1?e+1:0),!0;case"ArrowUp":return e.preventDefault(),i(e=>e>0?e-1:u.length-1),!0;case"Enter":case"Tab":return e.preventDefault(),!0;case"Escape":return e.preventDefault(),n(null),!0;default:return!1}},[o,u.length]),m=(0,t.useCallback)(e=>!!a&&(e.execute(),n(null),i(0),!0),[a]);return{isOpen:o,query:d,filteredCommands:u,activeIndex:s,token:a,handleInput:c,handleKeyDown:p,selectCommand:m,close:(0,t.useCallback)(()=>{n(null),i(0)},[])}}e.s(["useCommandAutocomplete",()=>i],898975);let o=new Set(["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","application/pdf","text/plain","text/csv","text/markdown","application/json","application/zip","application/gzip","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.presentation"]),d=new Set([".exe",".bat",".cmd",".com",".msi",".scr",".pif",".vbs",".vbe",".js",".jse",".ws",".wsf",".wsc",".wsh",".ps1",".ps2",".psc1",".psc2",".reg",".inf",".lnk",".dll",".sys",".drv"]),u={"image/jpeg":"jpg","image/png":"png","image/gif":"gif","image/webp":"webp","image/svg+xml":"svg","application/pdf":"pdf","text/plain":"txt","text/csv":"csv","text/markdown":"md","application/json":"json","application/zip":"zip","application/gzip":"gz"};function c(e){return e.map((e,t)=>(function(e,t){let r,a;return e.name.trim()?e:new File([e],(r=u[e.type]??"bin",a=e.type.startsWith("image/")?"pasted-image":"attachment",`${a}-${t+1}.${r}`),{type:e.type,lastModified:e.lastModified})})(e,t))}function p(e){return e.startsWith("image/")}function m(e){let t;if((t=(!e?"":e.getData("text/plain")).trim())&&(t.length>=200||t.includes("\n")))return!1;let r=Array.from(e?.items??[]).map(e=>e.type);return Array.from(e?.files??[]).length>0||Array.from(e?.items??[]).some(e=>"file"===e.kind)||r.some(p)}function f(e){if(!e||!m(e))return[];let t=Array.from(e.items??[]).filter(e=>"file"===e.kind).map(e=>e.getAsFile()).filter(e=>!!e),r=t.length>0?t:Array.from(e.files??[]);return 0===r.length?[]:c(r)}function h(e){return m(e)}async function x(e,t){let r=f(e);if(r.length>0)return r;if(!m(e)||!t?.read)return[];try{let e=await t.read(),r=[];for(let t of e)for(let e of t.types.filter(p)){let a=await t.getType(e),n=a instanceof Blob?a:a.arrayBuffer?await a.arrayBuffer():null;n&&r.push(new File([n],"",{type:a.type||e,lastModified:Date.now()}))}return c(r)}catch{return[]}}function g(){let[e,r]=(0,t.useState)([]),a=(0,t.useRef)(new Map),n=(0,t.useCallback)(e=>{let t=new XMLHttpRequest;a.current.set(e.id,t);let n=new FormData;n.append("file",e.file),t.upload.onprogress=t=>{if(t.lengthComputable){let a=Math.round(t.loaded/t.total*100);r(t=>t.map(t=>t.id===e.id?{...t,progress:a}:t))}},t.onload=()=>{if(a.current.delete(e.id),t.status>=200&&t.status<300)try{let a=JSON.parse(t.responseText),n=a.attachments?.[0];if(n)return void r(t=>t.map(t=>t.id===e.id?{...t,status:"uploaded",progress:100,serverId:n.id}:t))}catch{}let n=(()=>{try{return JSON.parse(t.responseText)?.error||"Upload failed"}catch{return"Upload failed"}})();r(t=>t.map(t=>t.id===e.id?{...t,status:"failed",error:n}:t))},t.onerror=()=>{a.current.delete(e.id),r(t=>t.map(t=>t.id===e.id?{...t,status:"failed",error:"Network error"}:t))},t.open("POST","/api/upload"),t.send(n)},[]),s=(0,t.useCallback)(t=>{let a=c(Array.from(t)),s=function(e){let t=e.reduce((e,t)=>e+t.size,0);if(t>0x3200000){let e=(t/1048576).toFixed(1);return{file:"(total)",reason:`Total attachment size (${e}MB) exceeds 50MB limit`}}return null}([...e.map(e=>({name:e.filename,size:e.size,type:e.mimeType})),...a.map(e=>({name:e.name,size:e.size,type:e.type}))]);if(s)return void alert(s.reason);let l=[];for(let e of a){let t=function(e){let t=e.name.includes(".")?"."+e.name.split(".").pop().toLowerCase():"";if(d.has(t))return{file:e.name,reason:`File type "${t}" is not allowed`};if(e.type&&!o.has(e.type))return{file:e.name,reason:`File type "${e.type}" is not supported`};if(!e.type&&!o.has("application/octet-stream"),e.size>0xa00000){let t=(e.size/1048576).toFixed(1);return{file:e.name,reason:`File is too large (${t}MB). Maximum is 10MB`}}return 0===e.size?{file:e.name,reason:"File is empty"}:null}({name:e.name,size:e.size,type:e.type});if(t){l.push({id:crypto.randomUUID(),file:e,filename:e.name,mimeType:e.type,size:e.size,previewUrl:null,progress:0,status:"failed",error:t.reason});continue}let r=e.type.startsWith("image/")?URL.createObjectURL(e):null,a={id:crypto.randomUUID(),file:e,filename:e.name,mimeType:e.type||"application/octet-stream",size:e.size,previewUrl:r,progress:0,status:"uploading"};l.push(a)}for(let e of(r(e=>[...e,...l]),l))"uploading"===e.status&&n(e)},[e,n]),l=(0,t.useCallback)(e=>{r(t=>{let r=t.find(t=>t.id===e);r?.previewUrl&&URL.revokeObjectURL(r.previewUrl);let n=a.current.get(e);return n&&(n.abort(),a.current.delete(e)),r?.serverId&&fetch(`/api/upload/${r.serverId}`,{method:"DELETE"}).catch(()=>{}),t.filter(t=>t.id!==e)})},[]),i=(0,t.useCallback)(e=>{r(t=>{let r=t.find(t=>t.id===e);if(!r||"failed"!==r.status)return t;let a=t.map(t=>t.id===e?{...t,status:"uploading",error:void 0,progress:0}:t),s=a.find(t=>t.id===e);return setTimeout(()=>n(s),0),a})},[n]),u=(0,t.useCallback)(()=>{r(e=>{for(let t of e){t.previewUrl&&URL.revokeObjectURL(t.previewUrl);let e=a.current.get(t.id);e&&e.abort()}return a.current.clear(),[]})},[]),p=0===e.length||e.every(e=>"uploaded"===e.status||"failed"===e.status),m=e.some(e=>"uploaded"===e.status),f=e.filter(e=>"uploaded"===e.status&&e.serverId);return{staged:e,stageFiles:s,remove:l,retry:i,clear:u,canSend:p,hasUploaded:m,attachmentIds:f.map(e=>e.serverId),getAttachmentMetas:(0,t.useCallback)(()=>f.map(e=>({id:e.serverId,filename:e.filename,mimeType:e.mimeType,size:e.size,status:"uploaded",url:`/api/attachments/${e.serverId}`})),[f])}}e.s(["clipboardMayContainImageAttachments",()=>h,"getClipboardAttachmentFiles",()=>f,"normalizeAttachmentFiles",()=>c,"readClipboardAttachmentFiles",()=>x],668036),e.s(["useAttachments",()=>g],473323);var v=e.i(247167);let b=[{path:`${v.default.env.HOME??"~"}/Code`,relativePath:"~/Code",type:"folder"},{path:`${v.default.env.HOME??"~"}/Projects`,relativePath:"~/Projects",type:"folder"},{path:`${v.default.env.HOME??"~"}/Desktop`,relativePath:"~/Desktop",type:"folder"},{path:`${v.default.env.HOME??"~"}/Documents`,relativePath:"~/Documents",type:"folder"},{path:`${v.default.env.HOME??"~"}/Downloads`,relativePath:"~/Downloads",type:"folder"}];function y(e,t){let r=function(e,t){let r=e.trim().replace(/\/+$/,"");if("~"===r)return"~";if(r.startsWith("~/")||r.startsWith("/"))return r;let a=r.replace(/^\/+/,"");return"@~"===t?`~/${a}`:`/${a}`}(e,t.trigger);if(r.startsWith("~/")||r.startsWith("/")){let a=e.trim().startsWith("~/")||e.trim().startsWith("/")||"~"===e.trim()?null:function(e){if(!e.query.endsWith("/"))return null;let t=e.query.replace(/^\/+/,"").replace(/\/+$/,"");return"@~"===e.trigger?t?`~/${t}`:"~":t?`/${t}`:"/"}(t);if(a){let e=r.replace(/^~\/|^\//,"");return"~"===a?`~/${e}`:"/"===a?`/${e}`:`${a}/${e}`}}return r}function j({maxSuggestions:e=8,debounceMs:r=150}={}){let[a,n]=(0,t.useState)(null),[s,l]=(0,t.useState)([]),[i,o]=(0,t.useState)(0),[d,u]=(0,t.useState)(!1),[c,p]=(0,t.useState)(null),m=(0,t.useRef)(null),f=(0,t.useRef)(null),h=(0,t.useRef)(null),x=null!==a,g=(0,t.useCallback)(async(t,r)=>{m.current&&m.current.abort();let a=new AbortController;m.current=a,u(!0),p(null);try{let n=t.endsWith("/"),s=n?"*":t,i=new URLSearchParams({q:s,limit:String(e),includeFolders:"1"});if(n){let e="@~"===r?`${v.default.env.HOME??"~"}/${t.slice(0,-1)}`:`/${t.slice(0,-1)}`;i.set("root",e)}else"@~"===r&&i.set("root",v.default.env.HOME??"~");let d=await fetch(`/api/file-search?${i.toString()}`,{signal:a.signal});if(!d.ok){let e=await d.json().catch(()=>({}));throw Error(e.error??`HTTP ${d.status}`)}let u=await d.json();l(u.files.map(e=>({...e,attachMode:"folder"===e.type?"manifest":void 0}))),o(0)}catch(e){if("AbortError"===e.name)return;p(e.message??"Search failed"),l([])}finally{u(!1)}},[e]),w=(0,t.useCallback)((t,a)=>{if(null!==f.current&&clearTimeout(f.current),t!==h.current){if(t.length<3){m.current&&(m.current.abort(),m.current=null),h.current=t,u(!1),p(null),l(b.slice(0,e).map(e=>({...e,attachMode:"manifest"}))),o(0);return}f.current=setTimeout(()=>{h.current=t,g(t,a)},r)}},[r,g,e]);(0,t.useEffect)(()=>()=>{null!==f.current&&clearTimeout(f.current),m.current&&m.current.abort()},[]);let k=(0,t.useCallback)((e,t)=>{let r=function(e,t){if(t<2||t>e.length)return null;let r=t;for(;r>0&&!/\s/.test(e[r-1]);)r--;let a=e.slice(r,t);if(!a.startsWith("@/")&&!a.startsWith("@~"))return null;let n=a.slice(0,2);return{startIndex:r,endIndex:t,query:a.slice(2),trigger:n}}(e,t);n(e=>((e?.startIndex!==r?.startIndex||e?.query!==r?.query||e?.trigger!==r?.trigger)&&null===r&&(null!==f.current&&clearTimeout(f.current),m.current&&(m.current.abort(),m.current=null),h.current=null,l([]),u(!1),p(null)),r)),r&&w(r.query,r.trigger)},[w]),C=(0,t.useCallback)(e=>{if(!x||0===s.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),o(e=>e<s.length-1?e+1:0),!0;case"ArrowUp":return e.preventDefault(),o(e=>e>0?e-1:s.length-1),!0;case"Enter":return e.preventDefault(),!0;case"Tab":return!0;case"Escape":return e.preventDefault(),n(null),l([]),!0;default:return!1}},[x,s.length]),N=(0,t.useCallback)(e=>{if(!a)return null;let t=y(e.relativePath??e.path,a),r="folder"===e.type?"/":"",s=`@${t}${r} `;return n(null),l([]),{text:s,startIndex:a.startIndex,endIndex:a.endIndex}},[a]),$=(0,t.useCallback)(e=>{if(!a||"folder"!==e.type)return null;let t=y(e.relativePath??e.path,a),r=t.startsWith("~/")?"@~":"@/",s=t.slice(1),l=`@${t}/`,i=a.startIndex+l.length,o=`${s}/`;return n({startIndex:a.startIndex,endIndex:i,query:o,trigger:r}),h.current=null,w(o,r),{text:l,startIndex:a.startIndex,endIndex:a.endIndex}},[a,w]),M=(0,t.useCallback)(e=>{l(t=>t.map(t=>t.path===e.path?{...t,attachMode:"contents"}:t))},[]);return{isOpen:x,token:a,suggestions:s,activeIndex:i,isLoading:d,error:c,handleInput:k,handleKeyDown:C,selectSuggestion:N,drillDown:$,close:(0,t.useCallback)(()=>{n(null),l([]),o(0)},[]),onAttachContents:M}}function w({messages:e,maxSuggestions:r=5}){let[a,n]=(0,t.useState)(!1),[s,l]=(0,t.useState)(""),[i,o]=(0,t.useState)(0),[d,u]=(0,t.useState)([]),[c,p]=(0,t.useState)(null),m=(0,t.useRef)([]);(0,t.useEffect)(()=>{let t=e.filter(e=>!e.rootMessageId),r=new Map;e.forEach(e=>{if(e.rootMessageId){let t=r.get(e.rootMessageId)||[];t.push(e),r.set(e.rootMessageId,t)}}),m.current=t.map(e=>{let t=r.get(e.id)||[],a=[e,...t],n=Math.max(...a.map(e=>e.timestamp)),s=e.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",l=[...new Set(a.map(e=>e.participantId||"user"))];return{rootMessageId:e.id,title:s,rootMessage:e,replies:t,participantIds:l,lastActivityAt:n}}).sort((e,t)=>t.lastActivityAt-e.lastActivityAt)},[e]);let f=(0,t.useCallback)((e,t)=>{let a=e.slice(0,t).match(/@#([^@#\s]*)$/);if(a){n(!0);let e=a[1].toLowerCase();l(e),p(a.index),o(0),u(m.current.filter(t=>t.title.toLowerCase().includes(e)).slice(0,r))}else n(!1),p(null)},[r]),h=(0,t.useCallback)(e=>!!a&&0!==d.length&&("ArrowDown"===e.key?(e.preventDefault(),o(e=>(e+1)%d.length),!0):"ArrowUp"===e.key?(e.preventDefault(),o(e=>(e-1+d.length)%d.length),!0):"Escape"===e.key&&(e.preventDefault(),n(!1),!0)),[a,d.length]),x=(0,t.useCallback)(e=>null===c?null:{startIndex:c,endIndex:c+2+s.length,text:""},[c,s]);return{isOpen:a,suggestions:d,activeIndex:i,handleInput:f,handleKeyDown:h,selectSuggestion:x,close:(0,t.useCallback)(()=>{n(!1),p(null)},[]),exportDiscussion:(0,t.useCallback)(async e=>{let t=[];try{let e=await fetch("/api/participants");e.ok&&(t=await e.json())}catch(e){console.warn("Failed to fetch participants for export",e)}let r=await fetch("/api/thread-export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:e.rootMessageId,title:e.title,messages:[e.rootMessage,...e.replies],participants:t})});if(!r.ok)throw Error(`Export failed: ${await r.text()}`);return await r.json()},[])}}function k(){let[e,r]=(0,t.useState)([]),a=(0,t.useCallback)((e,t,a)=>{r(r=>r.find(t=>t.path===e)?r.map(r=>r.path===e?{...r,label:t,attachMode:a??r.attachMode}:r):[...r,{kind:"file-path",id:crypto.randomUUID(),path:e,label:t,attachMode:a}])},[]);return{filePaths:e,addFilePath:a,removeFilePath:(0,t.useCallback)(e=>{r(t=>t.filter(t=>t.id!==e))},[]),clearFilePaths:(0,t.useCallback)(()=>{r([])},[]),hasFilePaths:e.length>0}}e.s(["useFileMention",()=>j],255597),e.s(["useThreadMention",()=>w],261967),e.s(["useComposerAttachments",()=>k],464057);let C="agx-composer-history";function N(){let[e,r]=(0,t.useState)(-1),a=(0,t.useRef)(""),n=(0,t.useCallback)(()=>{try{let e=localStorage.getItem(C);return e?JSON.parse(e):[]}catch{return[]}},[]),s=(0,t.useCallback)(e=>{let t=e.trim();if(!t)return;let s=n().filter(e=>e!==t);s.unshift(t),s.length>100&&(s.length=100);try{localStorage.setItem(C,JSON.stringify(s))}catch{}r(-1),a.current=""},[n]);return{pushEntry:s,navigate:(0,t.useCallback)((t,s,l)=>{if(!l)return null;let i=n();if(0===i.length)return null;if("up"===t){-1===e&&(a.current=s);let t=a.current,n=e+1;if(t){for(let e=n;e<i.length;e++)if(i[e].toLowerCase().startsWith(t.toLowerCase()))return r(e),i[e];return null}let l=Math.min(e+1,i.length-1);return l===e&&-1!==e?null:(r(l),i[l])}if(e<=0)return 0===e?(r(-1),a.current):null;let o=a.current;if(o){for(let t=e-1;t>=0;t--)if(i[t].toLowerCase().startsWith(o.toLowerCase()))return r(t),i[t];return r(-1),a.current}let d=e-1;return r(d),i[d]},[n,e]),resetNavigation:(0,t.useCallback)(()=>{r(-1),a.current=""},[]),historyIndex:e}}function $({projectSlug:e,enabled:r=!0,limit:a=500}={}){let[n,s]=(0,t.useState)([]),[l,i]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{if(!r){s([]),i(!1);return}let t=!1,n=new URLSearchParams;return n.set("limit",String(a)),e&&n.set("projectSlug",e),i(!0),fetch(`/api/linear/issues?${n.toString()}`).then(async e=>{let r=await e.json().catch(()=>({}));t||s(Array.isArray(r.issues)?r.issues:[])}).catch(()=>{t||s([])}).finally(()=>{t||i(!1)}),()=>{t=!0}},[r,a,e]),{issues:n,loading:l}}async function M(e){let t;if(0===e.length)return[];let r=e.map(e=>e.path);try{let a=await fetch("/api/file-read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:r})});if(!a.ok){let t=(await a.json().catch(()=>({}))).error??`HTTP ${a.status}`;return e.map(e=>({type:"file",path:e.path,label:e.label,content:null,error:t}))}t=(await a.json()).results}catch(r){let t=r instanceof Error?r.message:"Failed to fetch file contents";return e.map(e=>({type:"file",path:e.path,label:e.label,content:null,error:t}))}let a=new Map(t.map(e=>[e.path,e]));return e.map(e=>{let t=a.get(e.path);return{type:"file",path:e.path,label:e.label,content:t?.content??null,error:t?.error}})}async function I(e){let t=await M(e),r=0===t.length?"":t.map(e=>e.error||null===e.content?`<file path="${e.path}" error="${e.error??"unreadable"}" />`:`<file path="${e.path}">
|
|
2
|
+
${e.content}
|
|
3
|
+
</file>`).join("\n\n")+"\n\n";return{fileContextBlocks:t,contextPrefix:r}}function S(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function P(e){let t=new Set;return!function e(t,r){if(t)for(let a of t)r(a),e(a.content,r)}(e.content,e=>{if("linearIssueMention"!==e.type)return;let r="string"==typeof e.attrs?.id?e.attrs.id.trim():"";r&&t.add(r)}),Array.from(t)}function A(e){if(0===e.length)return"";let t=e.map(e=>[`<linear-issue identifier="${S(e.identifier)}" status="${S(e.status)}"${e.assignee?` assignee="${S(e.assignee)}"`:""}>`,`Title: ${e.title}`,e.url?`URL: ${e.url}`:null,e.teamName?`Team: ${e.teamName}`:null,e.cycleName||null!=e.cycleNumber?`Cycle: ${e.cycleName??`Cycle ${e.cycleNumber}`}`:null,`Updated: ${e.updatedAt}`,"",e.description?.trim()||"No description provided.","</linear-issue>"].filter(e=>null!==e).join("\n"));return`Referenced Linear tickets (only because the user explicitly @mentioned them):
|
|
4
|
+
|
|
5
|
+
${t.join("\n\n")}
|
|
6
|
+
|
|
7
|
+
`}e.s(["useComposerHistory",()=>N],835817),e.s(["useLinearIssueMentions",()=>$],457653),e.s(["buildAgentContext",()=>I],561022),e.s(["buildLinearIssueContextPrefix",()=>A,"extractMentionedLinearIssueIds",()=>P],330054);var T=e.i(10552);let D=T.Node.create({name:"participantMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({id:{default:null},name:{default:""},mode:{default:"sequential"},kind:{default:"agent"}}),parseHTML:()=>[{tag:"span[data-participant-mention]"}],renderHTML({node:e,HTMLAttributes:t}){let r="parallel"===e.attrs.mode;return["span",(0,T.mergeAttributes)(t,{"data-participant-mention":"","data-id":e.attrs.id,"data-mode":e.attrs.mode,class:r?"composer-pill composer-pill--participant-parallel":"composer-pill composer-pill--participant",contenteditable:"false"}),`${r?"@@":"@"}${e.attrs.name}`]}}),L=T.Node.create({name:"projectMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({id:{default:null},slug:{default:""},name:{default:""}}),parseHTML:()=>[{tag:"span[data-project-mention]"}],renderHTML:({node:e,HTMLAttributes:t})=>["span",(0,T.mergeAttributes)(t,{"data-project-mention":"","data-id":e.attrs.id,"data-slug":e.attrs.slug,class:"composer-pill composer-pill--project",contenteditable:"false"}),`@${e.attrs.name}`]}),z=T.Node.create({name:"fileMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({path:{default:""},relativePath:{default:""},trigger:{default:"@/"},attachMode:{default:void 0}}),parseHTML:()=>[{tag:"span[data-file-mention]"}],renderHTML({node:e,HTMLAttributes:t}){let r=e.attrs.relativePath||e.attrs.path;return["span",(0,T.mergeAttributes)(t,{"data-file-mention":"","data-path":e.attrs.path,class:"composer-pill composer-pill--file",contenteditable:"false"}),`@${r}`]}}),F=T.Node.create({name:"threadMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({threadId:{default:""},title:{default:""}}),parseHTML:()=>[{tag:"span[data-thread-mention]"}],renderHTML:({node:e,HTMLAttributes:t})=>["span",(0,T.mergeAttributes)(t,{"data-thread-mention":"","data-thread-id":e.attrs.threadId,class:"composer-pill composer-pill--thread",contenteditable:"false"}),`#${e.attrs.title}`]}),E=T.Node.create({name:"linearIssueMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({id:{default:null},identifier:{default:""},title:{default:""},status:{default:""},url:{default:null}}),parseHTML:()=>[{tag:"span[data-linear-issue-mention]"}],renderHTML:({node:e,HTMLAttributes:t})=>["span",(0,T.mergeAttributes)(t,{"data-linear-issue-mention":"","data-id":e.attrs.id,"data-identifier":e.attrs.identifier,class:"composer-pill composer-pill--linear-issue",contenteditable:"false"}),`@${e.attrs.identifier}`]});function O(e){if(!e.content)return"";let t=[];for(let r of e.content)r.type,t.push(function(e){if(!e.content)return"";let t="";for(let r of e.content)switch(r.type){case"text":t+=r.text??"";break;case"participantMention":{let e=r.attrs??{},a="parallel"===e.mode?"@@":"@";t+=`${a}${e.name}`;break}case"projectMention":{let e=r.attrs??{},a=String(e.slug??"").trim();a?t+=`@~project:${a}`:e.name&&(t+=`@${e.name}`);break}case"fileMention":{let e=r.attrs??{},a=e.relativePath||e.path;t+=`@${a}`;break}case"threadMention":{let e=((r.attrs??{}).threadId??"").slice(0,8);t+=`@#${e}`;break}case"linearIssueMention":{let e=String((r.attrs??{}).identifier??"").trim();e&&(t+=`@${e}`);break}default:"hardBreak"===r.type&&(t+="\n")}return t}(r));return t.join("\n")}function R(e){let{state:t}=e,{$from:r}=t.selection,a=r.depth,n=-1;for(let e=a;e>=0;e--)if("paragraph"===r.node(e).type.name){n=e;break}if(-1===n)return null;let s=r.node(n),l=r.start(n),i=r.pos-l,o="",d=0,u=!1;return s.forEach((e,t)=>{let r=t+e.nodeSize;if(e.isText){let a=e.text??"";!u&&i>=t&&i<=r&&(d=o.length+(i-t),u=!0),o+=a}else if(e.isAtom){let a=U(e);!u&&i>=t&&i<=r&&(d=o.length+a.length,u=!0),o+=a}}),u||(d=o.length),{text:o,cursorPos:d,blockStart:l}}function U(e){switch(e.type.name){case"participantMention":{let t="parallel"===e.attrs.mode?"@@":"@";return`${t}${e.attrs.name}`}case"projectMention":{let t=String(e.attrs.slug??"").trim();if(t)return`@~project:${t}`;return e.attrs.name?`@${e.attrs.name}`:""}case"fileMention":{let t=e.attrs.relativePath||e.attrs.path;return`@${t}`}case"threadMention":{let t=(e.attrs.threadId??"").slice(0,8);return`@#${t}`}case"linearIssueMention":{let t=String(e.attrs.identifier??"").trim();return t?`@${t}`:""}default:return""}}function W(e,t,r,a){let{state:n}=e,s=n.doc.resolve(t),l=s.depth,i=null,o=t;for(let e=l;e>=0;e--){let t=s.node(e);if("paragraph"===t.type.name){i=t,o=s.start(e);break}}i||(i=n.doc.resolve(t).parent,o=t);let d=0,u=null,c=null;return(i.forEach((e,t)=>{let n=o+t,s=e.nodeSize;if(e.isText){let t=e.text??"",s=d+t.length;null===u&&r>=d&&r<=s&&(u=n+(r-d)),null===c&&a>=d&&a<=s&&(c=n+(a-d)),d=s}else if(e.isAtom){let t=U(e),l=d+t.length;null===u&&r>=d&&r<=l&&(u=n),null===c&&a>=d&&a<=l&&(c=n+s),d=l}}),null===u&&r>=d&&(u=o+i.content.size),null===c&&a>=d&&(c=o+i.content.size),null===u||null===c)?null:{from:u,to:c}}e.s(["FileMention",0,z,"LinearIssueMention",0,E,"ParticipantMention",0,D,"ProjectMention",0,L,"ThreadMention",0,F],787552),e.s(["serializeToPlainText",()=>O],501456),e.s(["getCurrentParagraphText",()=>R,"plainTextRangeToPos",()=>W],717622);var q=e.i(843476),H=e.i(475254);let B=(0,H.default)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]),_=(0,H.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var K=e.i(761911);function J({isOpen:e,suggestions:r,activeIndex:a,listboxId:n,optionIdPrefix:s,onSelect:l}){let i=(0,t.useRef)([]);if((0,t.useEffect)(()=>{e&&i.current[a]?.scrollIntoView({block:"nearest"})},[a,e]),!e||0===r.length)return null;let o=new Set;return(0,q.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,q.jsx)("div",{role:"listbox",id:n,"aria-label":"Mention suggestions",className:"max-h-56 overflow-y-auto rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg",children:r.map((e,t)=>{let r=t===a,n="project-group"===e.kind?`project-group-${e.project.id}`:"project"===e.kind?`project-${e.project.id}`:"ticket"===e.kind?`ticket-${e.issue.id}`:e.participant.id,d=e.group,u=null;if(d&&!o.has(d)&&(o.add(d),u=(0,q.jsx)("div",{className:"px-3 py-1.5 text-[10px] font-bold uppercase tracking-wider text-[var(--muted-foreground)] bg-[var(--app-shell-subtle)] border-t border-[var(--border)] first:border-t-0",children:d})),"project-group"===e.kind)return(0,q.jsxs)("div",{children:[u,(0,q.jsx)("button",{type:"button",role:"option",id:`${s}-${n}`,"aria-selected":r,ref:e=>{i.current[t]=e},className:`w-full px-3 py-2 text-left text-sm transition-colors ${r?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:e=>{e.preventDefault()},onClick:()=>l(e),children:(0,q.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,q.jsx)(K.Users,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,q.jsx)("span",{className:"font-medium",children:e.project.name}),(0,q.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:[e.project.agents.length," agent",1!==e.project.agents.length?"s":""]})]})})]},n);if("project"===e.kind)return(0,q.jsxs)("div",{children:[u,(0,q.jsx)("button",{type:"button",role:"option",id:`${s}-${n}`,"aria-selected":r,ref:e=>{i.current[t]=e},className:`w-full px-3 py-2 text-left text-sm transition-colors ${r?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:e=>{e.preventDefault()},onClick:()=>l(e),children:(0,q.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,q.jsx)(B,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,q.jsx)("span",{className:"font-medium",children:e.project.name}),(0,q.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:e.project.slug})]})})]},n);if("ticket"===e.kind)return(0,q.jsxs)("div",{children:[u,(0,q.jsx)("button",{type:"button",role:"option",id:`${s}-${n}`,"aria-selected":r,ref:e=>{i.current[t]=e},className:`w-full px-3 py-2 text-left text-sm transition-colors ${r?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:e=>{e.preventDefault()},onClick:()=>l(e),children:(0,q.jsxs)("span",{className:"flex items-start gap-2",children:[(0,q.jsx)(_,{className:"mt-0.5 h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,q.jsxs)("span",{className:"min-w-0",children:[(0,q.jsxs)("span",{className:"block font-medium",children:[e.issue.identifier,(0,q.jsx)("span",{className:"ml-2 text-xs text-[var(--muted-foreground)]",children:e.issue.status})]}),(0,q.jsx)("span",{className:"block truncate text-xs text-[var(--muted-foreground)]",children:e.issue.title})]})]})})]},n);let c=e.participant;return(0,q.jsxs)("div",{children:[u,(0,q.jsx)("button",{type:"button",role:"option",id:`${s}-${c.id}`,"aria-selected":r,ref:e=>{i.current[t]=e},className:`w-full px-3 py-2 text-left text-sm transition-colors ${r?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}${d?" pl-6":""}`,onMouseDown:e=>{e.preventDefault()},onClick:()=>l(e),children:(0,q.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,q.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:c.color},"aria-hidden":!0}),(0,q.jsx)("span",{className:"font-medium",children:c.name}),"all"===c.id?(0,q.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"All participants"}):c.model&&(0,q.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:c.model})]})})]},n)})})})}function V({isOpen:e,commands:r,activeIndex:a,listboxId:n,optionIdPrefix:s,onSelect:l}){let i=(0,t.useRef)([]);return((0,t.useEffect)(()=>{e&&i.current[a]?.scrollIntoView({block:"nearest"})},[a,e]),e&&0!==r.length)?(0,q.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,q.jsx)("div",{role:"listbox",id:n,"aria-label":"Command suggestions",className:"max-h-56 overflow-y-auto rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg",children:r.map((e,t)=>{let r=t===a;return(0,q.jsx)("button",{type:"button",role:"option",id:`${s}-${e.name.slice(1)}`,"aria-selected":r,ref:e=>{i.current[t]=e},className:`w-full px-3 py-2 text-left text-sm transition-colors ${r?"bg-[var(--primary-muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:e=>e.preventDefault(),onClick:()=>l(e),children:(0,q.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,q.jsx)("span",{className:"font-medium font-mono",children:e.name}),e.aliases&&e.aliases.length>0&&(0,q.jsxs)("span",{className:"text-xs text-[var(--app-shell-soft-text)] font-mono",children:["(",e.aliases.join(", "),")"]}),(0,q.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:e.description})]})},e.name)})})}):null}e.s(["MentionPopover",()=>J],215094),e.s(["CommandPopover",()=>V],833195);var Z=e.i(531278),X=e.i(63209);let G=(0,H.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var Q=e.i(327025),Y=e.i(75505);function ee({suggestion:e,isActive:t,optionId:r,onSelect:a,onAttachContents:n,itemRef:s}){let l="folder"===e.type,i="contents"===e.attachMode,o=function(e){if(!e)return null;let t=Math.floor((Date.now()-e)/864e5);return 0===t?"Today":1===t?"Yesterday":t<7?`${t}d ago`:t<30?`${Math.floor(t/7)}w ago`:t<365?`${Math.floor(t/30)}mo ago`:`${Math.floor(t/365)}y ago`}(e.modifiedAt),d=e.relativePath??e.path;return(0,q.jsxs)("div",{className:`flex items-center gap-2 px-3 py-2 text-sm transition-colors duration-200 ${t?"bg-[var(--primary-muted)]":"hover:bg-[var(--app-shell-subtle)]"}`,children:[(0,q.jsx)("span",{className:"shrink-0 text-[var(--muted-foreground)]","aria-hidden":!0,children:l?t?(0,q.jsx)(Y.FolderOpen,{className:"h-4 w-4 text-amber-500"}):(0,q.jsx)(Q.Folder,{className:"h-4 w-4 text-amber-400"}):(0,q.jsx)(G,{className:"h-4 w-4"})}),(0,q.jsxs)("button",{type:"button",role:"option",id:r,"aria-selected":t,ref:s,className:"min-w-0 flex-1 text-left",onMouseDown:e=>e.preventDefault(),onClick:()=>a(e),tabIndex:-1,children:[(0,q.jsxs)("span",{className:"flex items-baseline gap-2",children:[(0,q.jsx)("span",{className:"block truncate font-mono text-xs text-[var(--foreground)]",children:d}),o&&(0,q.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:o})]}),l&&e.manifest&&(0,q.jsxs)("span",{className:"block text-xs text-[var(--muted-foreground)]",children:[e.manifest.childCount," items ·"," ",e.manifest.sizeSummary,i?(0,q.jsx)("span",{className:"ml-1 font-medium text-[var(--primary)]",children:"full tree"}):(0,q.jsx)("span",{className:"ml-1 text-[var(--muted-foreground)]",children:"manifest"})]})]}),l&&!i&&(0,q.jsx)("button",{type:"button",className:"shrink-0 rounded px-1.5 py-0.5 text-xs text-[var(--muted-foreground)] hover:bg-[var(--muted)] hover:text-[var(--foreground)] transition-colors duration-200",title:"Attach full directory contents instead of manifest","aria-label":`Attach full contents of ${d}`,onMouseDown:e=>e.preventDefault(),onClick:()=>n(e),tabIndex:-1,children:"Attach contents"}),l&&i&&(0,q.jsx)("span",{className:"shrink-0 rounded bg-[var(--primary-muted)] px-1.5 py-0.5 text-xs font-medium text-[var(--primary)]",children:"full tree"})]})}var et=e.i(837452);function er({isOpen:e,suggestions:r,activeIndex:a,isLoading:n,error:s,listboxId:l,optionIdPrefix:i,onSelect:o,onAttachContents:d}){let u=(0,t.useRef)([]),c=(0,t.useRef)(null),[p,m]=(0,t.useState)(!1);if((0,t.useEffect)(()=>{e&&u.current[a]?.scrollIntoView({block:"nearest"})},[a,e]),(0,t.useEffect)(()=>{e&&c.current&&m(c.current.getBoundingClientRect().top<280)},[e]),!e)return null;let f=r.length>0?`${i}-${a}`:void 0;return(0,q.jsx)("div",{ref:c,className:`${p?"absolute left-0 right-0 top-full mt-2 z-20":"absolute left-0 right-0 bottom-full mb-3 z-20"} ${et.default.popover}`,children:(0,q.jsxs)("div",{role:"listbox",id:l,"aria-label":"File suggestions","aria-activedescendant":f,className:"max-h-64 overflow-y-auto rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg",children:[s&&!n&&(0,q.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-sm text-red-500",role:"alert",children:[(0,q.jsx)(X.AlertCircle,{className:"h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,q.jsx)("span",{children:s})]}),!s&&n&&0===r.length&&(0,q.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-sm text-[var(--muted-foreground)]","aria-live":"polite","aria-label":"Searching for files",children:[(0,q.jsx)(Z.Loader2,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}),(0,q.jsx)("span",{children:"Searching…"})]}),!s&&!n&&0===r.length&&(0,q.jsx)("div",{className:"px-3 py-3 text-sm text-[var(--muted-foreground)]","aria-live":"polite",children:"No results"}),!s&&n&&r.length>0&&(0,q.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1 text-xs text-[var(--muted-foreground)] border-b border-[var(--border)]",children:[(0,q.jsx)(Z.Loader2,{className:"h-3 w-3 animate-spin","aria-hidden":!0}),(0,q.jsx)("span",{"aria-live":"polite","aria-label":"Updating results",children:"Updating…"})]}),r.length>0&&r.map((e,t)=>(0,q.jsx)(ee,{suggestion:e,isActive:t===a,optionId:`${i}-${t}`,onSelect:o,onAttachContents:d,itemRef:e=>{u.current[t]=e}},e.path))]})})}e.s(["FileMentionPopover",()=>er],780023);var ea=e.i(686311),en=e.i(503116);function es({isOpen:e,suggestions:t,activeIndex:r,listboxId:a,optionIdPrefix:n,onSelect:s}){return e&&0!==t.length?(0,q.jsxs)("div",{className:"absolute bottom-full left-0 mb-2 w-80 bg-[var(--app-shell-elevated)] rounded-xl shadow-xl border border-[var(--app-shell-border)] overflow-hidden z-50 animate-in fade-in zoom-in-95 duration-100",role:"listbox",id:a,children:[(0,q.jsx)("div",{className:"px-3 py-2 bg-[var(--app-shell-subtle)] border-b border-[var(--app-shell-border)] text-[11px] font-bold text-[var(--app-shell-muted)] uppercase tracking-wider",children:"Reference Discussion"}),(0,q.jsx)("div",{className:"max-h-64 overflow-y-auto p-1",children:t.map((e,t)=>{let a=t===r;return(0,q.jsxs)("button",{role:"option",id:`${n}-${t}`,"aria-selected":a,onClick:()=>s(e),className:`w-full text-left px-3 py-2.5 rounded-lg flex items-start gap-3 transition-colors ${a?"bg-[var(--primary-muted)]":"hover:bg-[var(--app-shell-subtle)]"}`,children:[(0,q.jsx)("div",{className:`mt-0.5 p-1.5 rounded-md ${a?"bg-[var(--primary-muted)] text-[var(--primary)]":"bg-[var(--muted)] text-[var(--muted-foreground)]"}`,children:(0,q.jsx)(ea.MessageSquare,{size:14,strokeWidth:2.5})}),(0,q.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,q.jsx)("div",{className:`text-sm font-semibold truncate ${a?"text-[var(--primary)]":"text-[var(--foreground)]"}`,children:e.title}),(0,q.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,q.jsxs)("span",{className:`text-xs ${a?"text-[var(--primary)]":"text-[var(--muted-foreground)]"}`,children:[e.replies.length," replies"]}),(0,q.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"•"}),(0,q.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] flex items-center gap-1",children:[(0,q.jsx)(en.Clock,{size:10}),function(e){if(!e)return"";let t=Math.floor((Date.now()-e)/1e3);if(t<60)return"just now";let r=Math.floor(t/60);if(r<60)return`${r}m`;let a=Math.floor(r/60);return a<24?`${a}h`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(e)}(e.lastActivityAt)]})]})]})]},e.rootMessageId)})})]}):null}e.s(["ThreadMentionPopover",()=>es],309652);var el=e.i(37727),ei=e.i(16715),eo=e.i(178583);let ed=(0,H.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);function eu({attachments:e,onRemove:t,onRetry:r}){return 0===e.length?null:(0,q.jsx)("div",{className:"flex flex-wrap gap-2 px-1 pb-2",children:e.map(e=>{var a;let n=e.mimeType.startsWith("image/"),s="failed"===e.status,l="uploading"===e.status;return(0,q.jsxs)("div",{className:`relative group flex items-center gap-2 rounded-lg border px-2.5 py-1.5 text-xs transition-all ${s?"border-red-200 bg-red-50 text-red-700":"border-[var(--border)] bg-[var(--app-shell-subtle)] text-[var(--muted-foreground)]"}`,children:[n&&e.previewUrl?(0,q.jsx)("img",{src:e.previewUrl,alt:e.filename,className:"w-8 h-8 rounded object-cover shrink-0"}):(0,q.jsx)("div",{className:"w-8 h-8 rounded bg-[var(--muted)] flex items-center justify-center shrink-0",children:n?(0,q.jsx)(ed,{className:"w-4 h-4 text-[var(--muted-foreground)]"}):(0,q.jsx)(eo.FileText,{className:"w-4 h-4 text-[var(--muted-foreground)]"})}),(0,q.jsxs)("div",{className:"min-w-0 max-w-[120px]",children:[(0,q.jsx)("div",{className:"truncate font-medium",children:e.filename}),s&&e.error?(0,q.jsx)("div",{className:"truncate text-[10px] text-red-500",children:e.error}):(0,q.jsx)("div",{className:"text-[10px] text-[var(--muted-foreground)]",children:(a=e.size)<1024?`${a}B`:a<1048576?`${(a/1024).toFixed(0)}KB`:`${(a/1048576).toFixed(1)}MB`})]}),l&&(0,q.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-[var(--muted)] rounded-b-lg overflow-hidden",children:(0,q.jsx)("div",{className:"h-full bg-blue-500 transition-all",style:{width:`${e.progress}%`}})}),(0,q.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[s&&(0,q.jsx)("button",{type:"button",onClick:()=>r(e.id),className:"p-0.5 rounded hover:bg-red-100 transition-colors",title:"Retry upload",children:(0,q.jsx)(ei.RefreshCw,{className:"w-3 h-3"})}),(0,q.jsx)("button",{type:"button",onClick:()=>t(e.id),className:"p-0.5 rounded hover:bg-[var(--muted)] transition-colors",title:"Remove",children:(0,q.jsx)(el.X,{className:"w-3 h-3"})})]})]},e.id)})})}function ec({onDrop:e,children:r}){let[a,n]=(0,t.useState)(!1),s={current:0},l=(0,t.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s.current++,e.dataTransfer.types.includes("Files")&&n(!0)},[]),i=(0,t.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),o=(0,t.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),s.current--,0===s.current&&n(!1)},[]),d=(0,t.useCallback)(t=>{t.preventDefault(),t.stopPropagation(),s.current=0,n(!1),t.dataTransfer.files.length>0&&e(t.dataTransfer.files)},[e]);return(0,q.jsxs)("div",{className:"relative",onDragEnter:l,onDragOver:i,onDragLeave:o,onDrop:d,children:[r,a&&(0,q.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-lg border-2 border-dashed border-blue-400 bg-blue-50/80 pointer-events-none",children:(0,q.jsx)("span",{className:"text-sm font-medium text-blue-600",children:"Drop files to attach"})})]})}e.s(["AttachmentTray",()=>eu],471221),e.s(["ComposerDropZone",()=>ec],169408);let ep=(0,H.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);e.s(["Paperclip",()=>ep],82735)},209912,e=>{"use strict";let t=(0,e.i(475254).default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);e.s(["Rocket",()=>t],209912)},391560,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(494499),n=e.i(256378),s=e.i(555841),l=e.i(16706),i=e.i(898975),o=e.i(473323),d=e.i(255597),u=e.i(261967),c=e.i(464057),p=e.i(835817),m=e.i(457653),f=e.i(561022),h=e.i(330054),x=e.i(286476),g=e.i(668036),v=e.i(787552),b=e.i(501456),y=e.i(717622),j=e.i(215094),w=e.i(833195),k=e.i(780023),C=e.i(309652),N=e.i(471221),$=e.i(169408),M=e.i(82735),I=e.i(209912),S=e.i(690272),P=e.i(664659),A=e.i(37727);function T(e,t,r,a,n){if(!e)return;let s=(0,y.plainTextRangeToPos)(e,t,r,a);s&&e.chain().focus().deleteRange(s).insertContent(n).insertContent(" ").run()}function D({onSend:e,onStop:D,loading:L,activityStatus:z,participants:F,projects:E=[],projectGroups:O=[],projectSlug:R,messages:U=[],commands:W,placeholder:q="Message — @name to mention, /search, /summarize",workspaceRoots:H=[],onConfigureRoots:B,pendingThreadInsert:_,onClearPendingThread:K,autoMode:J=!1,onAutoModeChange:V,repos:Z=[],selectedRepoIds:X,onRepoSelectionChange:G,initialPinnedParticipantId:Q}){let Y,ee,et,er=z??(L?"working":"ready"),ea="ready"!==er,[en,es]=(0,r.useState)(Q??null),[el,ei]=(0,r.useState)(new Set),eo=X??el,ed=(0,r.useRef)(eo);ed.current=eo;let eu=(0,r.useCallback)(e=>{let t="function"==typeof e?e(ed.current):e;G?G(t):ei(t)},[G]),[ec,ep]=(0,r.useState)(!1),em=(0,r.useRef)(null),ef=(0,r.useRef)(null),eh=(0,r.useRef)(!1),ex=(0,r.useCallback)(()=>{ef.current?.click()},[]),[eg,ev]=(0,r.useState)([]),{issues:eb}=(0,m.useLinearIssueMentions)({projectSlug:R}),ey=(0,l.useMentionAutocomplete)({participants:F,projectGroups:O,projects:E,linearIssues:eb,maxSuggestions:8}),ej=(0,i.useCommandAutocomplete)({commands:W,maxSuggestions:6}),ew=(0,d.useFileMention)({maxSuggestions:8}),ek=(0,u.useThreadMention)({messages:U,maxSuggestions:8}),eC=(0,o.useAttachments)(),eN=(0,c.useComposerAttachments)(),e$=(0,p.useComposerHistory)();(0,r.useEffect)(()=>{en&&!F.some(e=>e.id===en)&&es(null)},[F,en]),(0,r.useEffect)(()=>{if(!ec)return;let e=e=>{em.current&&!em.current.contains(e.target)&&ep(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[ec]),(0,r.useEffect)(()=>{if(null!=X||0===el.size)return;let e=new Set(Z.map(e=>e.id)),t=new Set([...el].filter(t=>e.has(t)));t.size<el.size&&ei(t)},[Z,X,el]);let eM=(0,a.useEditor)({immediatelyRender:!1,extensions:[n.default.configure({heading:!1,bulletList:!1,orderedList:!1,listItem:!1,blockquote:!1,codeBlock:!1,code:!1,horizontalRule:!1,hardBreak:{keepMarks:!1}}),s.default.configure({placeholder:q}),v.ParticipantMention,v.ProjectMention,v.FileMention,v.ThreadMention,v.LinearIssueMention],editorProps:{attributes:{class:"composer-editor",role:"combobox","aria-autocomplete":"list"},handleDOMEvents:{compositionstart:()=>(eh.current=!0,ey.startComposition(),!1),compositionend:(e,t)=>(eh.current=!1,setTimeout(()=>{if(!eM)return;let e=(0,y.getCurrentParagraphText)(eM);e&&ey.endComposition(e.text,e.cursorPos)},0),!1)},handleKeyDown:(e,t)=>{if("Tab"===t.key||"Enter"===t.key&&!t.shiftKey){if(ej.isOpen&&ej.filteredCommands.length>0){t.preventDefault();let e=ej.filteredCommands[ej.activeIndex];return e&&eL(e),!0}if(ew.isOpen&&ew.suggestions.length>0){t.preventDefault();let e=ew.suggestions[ew.activeIndex];return e&&("folder"===e.type?eT(e):eA(e)),!0}if(ek.isOpen&&ek.suggestions.length>0){t.preventDefault();let e=ek.suggestions[ek.activeIndex];return e&&eD(e),!0}if(ey.isOpen&&ey.filteredSuggestions.length>0){t.preventDefault();let e=ey.filteredSuggestions[ey.activeIndex];return e&&eP(e),!0}}let r={key:t.key,preventDefault:()=>t.preventDefault()};if(ej.isOpen&&ej.handleKeyDown(r)||ew.isOpen&&ew.handleKeyDown(r)||ek.isOpen&&ek.handleKeyDown(r)||ey.handleKeyDown(r))return!0;if(("ArrowUp"===t.key||"ArrowDown"===t.key)&&!ey.isOpen&&!ej.isOpen&&!ew.isOpen&&!ek.isOpen){let e=(0,b.serializeToPlainText)(eM.getJSON()).trim(),{state:r}=eM.view,a="ArrowUp"===t.key,n=a?r.selection.from<=1:r.selection.to>=r.doc.content.size-1,s=e$.navigate(a?"up":"down",e,n);if(null!==s)return t.preventDefault(),eM.commands.setContent(s),eM.commands.focus("end"),!0}return"Enter"===t.key&&!t.shiftKey&&(t.preventDefault(),ez(),!0)}},onUpdate:({editor:e})=>{if(eh.current)return;-1!==e$.historyIndex&&e$.resetNavigation();let t=(0,y.getCurrentParagraphText)(e);t&&(ey.handleInput(t.text,t.cursorPos),ej.handleInput(t.text,t.cursorPos),ew.handleInput(t.text,t.cursorPos),ek.handleInput(t.text,t.cursorPos))},onBlur:()=>{ey.close(),ej.close(),ew.close(),ek.close()}});(0,r.useEffect)(()=>{if(!_||!eM)return;let{title:e,threadId:t,messages:r}=_;eM.chain().focus().insertContent({type:"threadMention",attrs:{threadId:t,title:e}}).insertContent(" ").run();let a=r[0];if(a){let n={rootMessageId:t,title:e,rootMessage:a,replies:r.slice(1),participantIds:[...new Set(r.map(e=>e.participantId||"user"))],lastActivityAt:Math.max(...r.map(e=>e.timestamp))};ek.exportDiscussion(n).then(e=>ev(t=>[...t,e])).catch(e=>console.error("Failed to export discussion for Add to chat:",e))}K?.()},[_]);let eI=(0,r.useCallback)(()=>{if(!eM)return;let e=(0,y.getCurrentParagraphText)(eM);e&&ey.handleInput(e.text,e.cursorPos)},[eM,ey]),eS=(0,r.useCallback)(e=>{let{clipboardData:t}=e,r=(0,g.getClipboardAttachmentFiles)(t);if(r.length>0){e.preventDefault(),e.stopPropagation(),eC.stageFiles(r);return}let a="u">typeof navigator?navigator.clipboard:void 0;(0,g.clipboardMayContainImageAttachments)(t)&&"function"==typeof a?.read&&(e.preventDefault(),e.stopPropagation(),(0,g.readClipboardAttachmentFiles)(t,a).then(e=>{e.length>0&&eC.stageFiles(e)}).catch(e=>{console.error("Failed to read pasted clipboard attachments:",e)}))},[eC]),eP=(0,r.useCallback)(e=>{if(!eM)return;let t=ey.selectSuggestion(e);if(!t)return;let r=(0,y.getCurrentParagraphText)(eM);if(!r)return;let a=t.text.startsWith("@@"),n="project-group"===e.kind?{type:"participantMention",attrs:{id:e.project.id,name:e.project.name,mode:a?"parallel":"sequential",kind:"project"}}:"project"===e.kind?{type:"projectMention",attrs:{id:e.project.id,slug:e.project.slug,name:e.project.name}}:"ticket"===e.kind?{type:"linearIssueMention",attrs:{id:e.issue.id,identifier:e.issue.identifier,title:e.issue.title,status:e.issue.status,url:e.issue.url}}:{type:"participantMention",attrs:{id:e.participant.id,name:e.participant.name,mode:a?"parallel":"sequential",kind:"agent"}};T(eM,r.blockStart,t.startIndex,t.endIndex,n),ey.close()},[eM,ey]),eA=(0,r.useCallback)(e=>{if(!eM)return;let t=ew.selectSuggestion(e);if(!t)return;let r=(0,y.getCurrentParagraphText)(eM);if(!r)return;let a={type:"fileMention",attrs:{path:e.path,relativePath:e.relativePath??e.path,trigger:ew.token?.trigger??"@/",attachMode:e.attachMode}};T(eM,r.blockStart,t.startIndex,t.endIndex,a),eN.addFilePath(e.path,e.relativePath??e.path,e.attachMode)},[eM,ew,eN]),eT=(0,r.useCallback)(e=>{if(!eM)return;let t=(0,y.getCurrentParagraphText)(eM);if(!t)return;let r=ew.drillDown(e);if(!r)return;let a=(0,y.plainTextRangeToPos)(eM,t.blockStart,r.startIndex,r.endIndex);a&&eM.chain().focus().deleteRange(a).insertContent(r.text).run()},[eM,ew]),eD=(0,r.useCallback)(async e=>{if(!eM)return;let t=ek.selectSuggestion(e);if(!t)return;let r=(0,y.getCurrentParagraphText)(eM);if(!r)return;let a={type:"threadMention",attrs:{threadId:e.rootMessageId,title:e.title}};T(eM,r.blockStart,t.startIndex,t.endIndex,a);try{let t=await ek.exportDiscussion(e);ev(e=>[...e,t])}catch(e){console.error("Failed to export discussion:",e)}},[eM,ek]),eL=(0,r.useCallback)(e=>{ej.selectCommand(e),eM&&eM.commands.clearContent()},[ej,eM]),ez=(0,r.useCallback)(async()=>{if(!eM)return;let t=eM.getJSON(),r=(0,b.serializeToPlainText)(t).trim();if(!r&&!eC.hasUploaded&&!eN.hasFilePaths||!eC.canSend)return;if(r){let e=W.find(e=>e.name===r||e.aliases?.some(e=>`/${e}`===r));if(e){e.execute(),eM.commands.clearContent(),ej.close(),ey.close();return}}let a=r||"(attached files)",n=[];if(eo.size>0){let e=Z.filter(e=>eo.has(e.id));if(e.length>0){let t=e.map(e=>{let t=[e.name];return e.path&&t.push(`path: ${e.path}`),e.notes&&t.push(e.notes),`- ${t.join(" | ")}`}).join("\n");n.push(`Focused repos (the user is specifically talking about these repositories):
|
|
8
|
+
${t}`)}}if(eg.length>0){let e=eg.map(e=>`- "${e.title}" — ${e.summary} (full transcript: ${e.filePath})`).join("\n");n.push(`Referenced threads:
|
|
9
|
+
${e}`)}if(eN.hasFilePaths){let e=await (0,f.buildAgentContext)(eN.filePaths);e.contextPrefix&&n.push(e.contextPrefix.trimEnd())}let s=(0,h.extractMentionedLinearIssueIds)(t);if(s.length>0)try{let e=await fetch("/api/linear/issues/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({issueIds:s})});if(!e.ok)throw Error(`Failed to load issue context: ${e.status}`);let t=await e.json().catch(()=>({})),r=Array.isArray(t.issues)?t.issues:[],a=(0,h.buildLinearIssueContextPrefix)(r);a&&n.push(a.trimEnd())}catch(e){console.error("Failed to load Linear issue mention context:",e)}let l=n.length>0?n.join("\n\n")+"\n\n":void 0,i=(0,x.extractComposerRouting)(t,en);r&&e$.pushEntry(r);let o=eC.attachmentIds.length>0?eC.attachmentIds:void 0,d=o?eC.getAttachmentMetas():void 0;e(a,10,o,d,en??void 0,l,i),eM.commands.clearContent(),ev([]),eC.clear(),eN.clearFilePaths(),ey.close(),ej.close(),ek.close()},[eM,ey,ej,W,e,eC,eN,eg,ek,e$,eo,Z,en]),eF=ey.isOpen&&ey.filteredSuggestions.length>0;ej.isOpen&&ej.filteredCommands.length,ew.isOpen&&ew.suggestions.length,ek.isOpen&&ek.suggestions.length,eF&&ey.filteredSuggestions[ey.activeIndex];let eE=eC.staged.some(e=>"uploading"===e.status),eO=!eM||eM.isEmpty,eR=F.find(e=>e.id===en)??null;return(0,t.jsx)("div",{className:"pb-6",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,t.jsx)($.ComposerDropZone,{onDrop:eC.stageFiles,children:(0,t.jsxs)("div",{className:"bg-[var(--app-shell-surface)] border border-[var(--app-shell-border)] shadow-[var(--shadow-sm)] focus-within:border-[var(--app-shell-border-strong)] focus-within:ring-1 focus-within:ring-[var(--ring)] transition-all flex flex-col rounded-2xl",children:[V&&(0,t.jsxs)("div",{className:`relative overflow-hidden border-b transition-all duration-500 ${J?"border-orange-200/50 dark:border-orange-500/30":"border-gray-100 dark:border-gray-800/60"}`,children:[(0,t.jsx)("div",{className:`absolute inset-0 transition-opacity duration-700 ${J?"opacity-100":"opacity-0"}`,style:{background:"linear-gradient(120deg, var(--warning-muted) 0%, transparent 50%, var(--warning-muted) 100%)",backgroundSize:"200% 100%",animation:J?"shipBgSweep 4s ease-in-out infinite":"none"}}),J&&(0,t.jsx)("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[...Array(8)].map((e,r)=>(0,t.jsx)("div",{className:"absolute h-[1.5px] rounded-full",style:{top:`${12+10*r}%`,right:"-10%",width:`${20+r%3*15}%`,background:"linear-gradient(to left, transparent, var(--warning))",opacity:.3+r%3*.1,animation:`shipSpeedLine ${.8+r%4*.3}s ${.1*r}s ease-in-out infinite`}},r))}),(0,t.jsx)("div",{className:"relative px-3 py-2",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:`p-1 rounded-md transition-all duration-300 ${J?"bg-[var(--warning)] text-[var(--warning-muted)] shadow-md":"bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]"}`,style:J?{animation:"shipPulse 2s ease-in-out infinite"}:{},children:(0,t.jsx)(I.Rocket,{size:14})}),(0,t.jsx)("span",{className:`text-sm font-semibold transition-colors duration-300 ${J?"text-[var(--warning)]":"text-[var(--foreground)]"}`,children:"Ship Mode"}),(0,t.jsx)("span",{className:`text-xs transition-colors duration-300 ${J?"text-[var(--warning)] opacity-60":"text-[var(--app-shell-muted)] opacity-60"}`,children:"|"}),(0,t.jsx)("span",{className:`text-xs font-medium transition-colors duration-300 ${J?"text-[var(--warning)] opacity-80":"text-[var(--app-shell-muted)]"}`,children:J?"Continuous execution is active for this thread":"Continuous execution stays off until you enable it"})]}),(0,t.jsx)("button",{type:"button",onClick:()=>V(!J),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-[var(--warning)] focus:ring-offset-2 focus:ring-offset-[var(--background)] ${J?"bg-[var(--warning)]":"bg-[var(--app-shell-border-strong)]"}`,children:(0,t.jsx)("span",{className:`inline-block h-4 w-4 transform rounded-full bg-[var(--app-shell-elevated)] shadow-sm transition-transform duration-200 ${J?"translate-x-6":"translate-x-1"}`})})]})})]}),(0,t.jsxs)("div",{className:"p-1.5 transition-all",children:[eC.staged.length>0&&(0,t.jsx)("div",{className:"mx-2 mt-2 mb-1",children:(0,t.jsx)(N.AttachmentTray,{attachments:eC.staged,onRemove:eC.remove,onRetry:eC.retry})}),(0,t.jsxs)("div",{className:"p-2 relative",children:[(0,t.jsx)("input",{ref:ef,type:"file",multiple:!0,className:"hidden",onChange:e=>{e.target.files&&e.target.files.length>0&&(eC.stageFiles(e.target.files),e.target.value="")}}),(0,t.jsxs)("div",{className:"flex-1 relative",onClick:eI,onPasteCapture:eS,children:[(0,t.jsx)(a.EditorContent,{editor:eM,className:"composer-editor"}),(0,t.jsx)(j.MentionPopover,{isOpen:ey.isOpen&&!ej.isOpen,suggestions:ey.filteredSuggestions,activeIndex:ey.activeIndex,listboxId:"composer-mention-listbox",optionIdPrefix:"composer-mention-option",onSelect:eP}),(0,t.jsx)(w.CommandPopover,{isOpen:ej.isOpen,commands:ej.filteredCommands,activeIndex:ej.activeIndex,listboxId:"composer-command-listbox",optionIdPrefix:"composer-command-option",onSelect:eL}),(0,t.jsx)(k.FileMentionPopover,{isOpen:ew.isOpen,suggestions:ew.suggestions,activeIndex:ew.activeIndex,isLoading:ew.isLoading,error:ew.error,listboxId:"composer-file-mention-listbox",optionIdPrefix:"composer-file-mention-option",onSelect:e=>{"folder"===e.type?eT(e):eA(e)},onAttachContents:ew.onAttachContents}),(0,t.jsx)(C.ThreadMentionPopover,{isOpen:ek.isOpen&&!ej.isOpen&&!ew.isOpen,suggestions:ek.suggestions,activeIndex:ek.activeIndex,listboxId:"composer-thread-mention-listbox",optionIdPrefix:"composer-thread-mention-option",onSelect:eD})]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--app-shell-border)] transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("button",{type:"button",onClick:ex,className:"p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] rounded-lg transition-colors","aria-label":"Attach file",title:"Attach file",children:(0,t.jsx)(M.Paperclip,{className:"h-4 w-4",strokeWidth:1.75})}),(0,t.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"text-[10px] font-semibold text-[var(--app-shell-muted)] uppercase tracking-wider mr-1",children:"Agents"}),(0,t.jsx)("div",{className:"flex items-center -space-x-1.5",children:0===F.length?(0,t.jsx)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:"No agents"}):F.map(e=>(0,t.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":en===e.id,onClick:()=>es(t=>t===e.id?null:e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),es(t=>t===e.id?null:e.id))},className:`relative w-6 h-6 rounded-full bg-[var(--app-shell-subtle)] border-2 border-[var(--app-shell-elevated)] shadow-sm flex items-center justify-center overflow-visible shrink-0 transition-all cursor-pointer ${en===e.id?"-translate-y-0.5 ring-2 ring-[var(--ring)] ring-offset-1 ring-offset-[var(--background)]":"hover:-translate-y-0.5"}`,title:e.name,children:[(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:"w-full h-full rounded-full object-cover"}),ea&&(0,t.jsx)("span",{className:`absolute -bottom-0.5 -right-0.5 w-2 h-2 border border-[var(--app-shell-elevated)] rounded-full ${"queued"===er?"bg-amber-400":"bg-emerald-400"}`})]},e.id))})]}),eR&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,t.jsxs)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:["Pinned: ",(0,t.jsx)("span",{className:"text-[var(--foreground)]",children:eR.name})]})]}),Z.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"w-px h-4 bg-[var(--app-shell-border)]"}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"relative",ref:em,children:[(0,t.jsxs)("button",{type:"button",onClick:()=>ep(e=>!e),className:"composer-repo-select-trigger","aria-haspopup":"listbox","aria-expanded":ec,children:[(0,t.jsx)(S.FolderGit2,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,t.jsx)("span",{children:"Repos"}),(0,t.jsx)(P.ChevronDown,{className:`h-3 w-3 transition-transform ${ec?"rotate-180":""}`})]}),ec&&(0,t.jsx)("div",{className:"composer-repo-dropdown",role:"listbox","aria-multiselectable":"true",children:Z.map(e=>{let r=eo.has(e.id);return(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":r,className:`composer-repo-dropdown__item ${r?"composer-repo-dropdown__item--selected":""}`,onClick:()=>eu(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r}),children:[(0,t.jsx)("span",{className:`w-3.5 h-3.5 rounded border flex items-center justify-center shrink-0 transition-colors ${r?"bg-emerald-500 border-emerald-500 text-white":"border-[var(--app-shell-border-strong)]"}`,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:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.id)})})]}),(ee=(Y=Z.filter(e=>eo.has(e.id))).slice(0,1),et=Y.length-1,(0,t.jsxs)(t.Fragment,{children:[ee.map(e=>(0,t.jsxs)("span",{className:"composer-repo-pill",title:e.path||e.name,children:[(0,t.jsx)(S.FolderGit2,{className:"h-3 w-3 shrink-0",strokeWidth:1.75}),(0,t.jsx)("span",{className:"composer-repo-pill__name",children:e.name}),(0,t.jsx)("button",{type:"button",className:"composer-repo-pill__remove",onClick:()=>eu(t=>{let r=new Set(t);return r.delete(e.id),r}),"aria-label":`Remove ${e.name}`,children:(0,t.jsx)(A.X,{className:"h-3 w-3"})})]},e.id)),et>0&&(0,t.jsxs)("span",{className:"composer-repo-pill composer-repo-pill--overflow",children:["+",et]})]}))]})]})]}),ea?(0,t.jsx)("button",{type:"button",onClick:D,className:"flex items-center gap-2 bg-[var(--destructive-muted)] text-[var(--destructive)] border border-[var(--status-failed-border)] px-4 py-1.5 rounded-lg text-sm font-semibold hover:opacity-90 transition-colors",children:"Stop"}):(0,t.jsxs)("button",{type:"button",onClick:ez,disabled:eO&&!eC.hasUploaded&&!eN.hasFilePaths||eE,className:"flex items-center gap-2 bg-[var(--primary)] hover:bg-[var(--primary-hover)] text-[var(--primary-foreground)] px-4 py-1.5 rounded-lg text-sm font-semibold transition-colors disabled:opacity-50 disabled:cursor-not-allowed shadow-sm",children:["Send",(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),(0,t.jsx)("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})]})]})]})]})}),(0,t.jsxs)("div",{className:"mt-3 flex items-center justify-between text-xs text-[var(--app-shell-muted)] px-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("div",{className:`w-1.5 h-1.5 rounded-full ${"working"===er?"bg-emerald-400 animate-pulse":"queued"===er?"bg-amber-400":"bg-emerald-400"}`}),(0,t.jsx)("span",{children:"working"===er?"Working":"queued"===er?"Queued":"Ready"})]}),(0,t.jsxs)("span",{children:["Press ",(0,t.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Enter"})," to send, ",(0,t.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Shift"})," + ",(0,t.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-[var(--app-shell-elevated)] border border-[var(--app-shell-border)] text-[var(--app-shell-muted)] shadow-sm text-[10px]",children:"Enter"})," for new line"]})]})]})})}e.s(["Composer",()=>D])}]);
|