@mndrk/agx 2.2.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -105
- package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page/react-loadable-manifest.json +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +4 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +4 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +3 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +3 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0-zk9w8._.js +7 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0.01bfe._.js +13 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__00c~p6z._.js +7 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__019dflu._.js +7 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__02t.3rm._.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__06zr0ph._.js +6 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__07d._0s._.js +15 -10
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08xj~a3._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0a0cq38._.js +34 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0asvfdo._.js +35 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0bt7ejs._.js +7 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0f.~98d._.js +7 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g-~-.q._.js +6 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g7p6pw._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gj~dap._.js +40 -9
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hkcw03._.js +8 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hyu3en._.js +7 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0i5aw03._.js +7 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ke4z91._.js +7 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0l53ok5._.js +41 -10
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ll-~cx._.js +7 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0mh6p.0._.js +7 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0nc-lbr._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0p9rl6.._.js +8 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0q~pnp0._.js +6 -6
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ue0bu5._.js +6 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0unwwyx._.js +12 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0vtkl3q._.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0x6w64i._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0z82z0-._.js +6 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0zrv3p3._.js +16 -11
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~iknwz._.js +12 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10d.dhd._.js +46 -15
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10sw5ia._.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__11yx.ud._.js +33 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__13-nlgu._.js +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__13960a8._.js +14 -9
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_06qet8g._.js +14 -9
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_0m2ly._.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0a15wtk._.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0fr1qq6._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0g.q2r6._.js +6 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0i7fs.i._.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01pvj2g._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_agent-participants_ts_0cq15u5._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_db_ts_0twf-w5._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_orchestrator_chat-processor_ts_0c2l_oh._.js +43 -12
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_0l95hik._.js +15 -15
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_0s5xprd._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_082u-ls._.js +19 -14
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_schedule-runner_ts_07-ozf_._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0_l0fpi.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0gips_c.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0rszt9p.js +10 -6
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0u_5kfo.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_06fnblz._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0140-84._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03fckp4._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0tcjapj._.js → _0ip6k6n._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0jensz1._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0t0p8q5._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yeuuy1._.js +1 -23
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_03z24q2._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_ac-.f._.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0a-8i4p._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0k4~c1x._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0ld1uug._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0ms1d6i._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0p_v0ri._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0x.xj52._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0~g2ijr._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_11k_-8~._.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_[id]_page_tsx_06n47n~._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_page_tsx_078reb_._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +25 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_[teamId]_agents_[agentId]_page_tsx_0wm~_~t._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_[teamId]_page_tsx_0iyozfl._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_new_page_tsx_0yqd0a5._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +1 -20
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_setup_page_tsx_0ql2qmr._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_PromptJobBoard_tsx_06zob36._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_terminal_TerminalPane_tsx_0l17vs_._.js +22 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1011~1x9nj4ny.js → 0-k2m1ncx7hwx.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0dnw31436wd~..js → 0-pkmgle2s8u8.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/064jfmraty.9h.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/06kru5m9q~r.j.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/06kyg1q0bcz6p.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0_cjth28_11b2.js → 08bdyjcnamzep.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0-olq~7zw3wjy.js → 08xq~uyr6.eqw.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0gj98094p~zn4.js → 0cku81z~3oe6..js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0e7jhy0-52_4k.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0wh6p5~ft5rma.js → 0htc.sqrk_0.c.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ju4xmxwqddw6.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0mm978wb-ueg-.js +6 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0musu8f.4wvxz.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0bchtyu6m.2yv.js → 0muti0yiyhu0t.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0rhps884e-bzu.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0rr3fvwc5ind~.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0sbkkjowkksa6.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0sjz0.o9_33qy.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0srzmg8ivve1g.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0fonouj2i9qnb.js → 0swo3_e8.4s7j.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0sysrf3~l~r35.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0t69h-kc701fn.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0v67lnh..wj4z.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{013gtut17~fne.js → 0wb45ol1xrqe~.js} +1 -23
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{00po4v2x~0x_z.js → 0wiw2v8gm-k_-.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0jq0t4zip38wt.js → 0wopevh0s7.8c.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xm2~gxlt1npd.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1503vb7lb6.g1.js → 0ya124ushze_f.js} +4 -4
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{00e1ihnb6ap3t.js → 0zt2o58c5gytn.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0~idsggr8vqf5.js +59 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0xu_doej_wc-3.js → 0~mcfx41q4znh.js} +3 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/116j4mjz~y42t.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0-vo_x2cxmjm3.js → 12b62py0mq1gm.js} +4 -4
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/12y5i0lh6s73o.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/148.mt80civoz.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/14m5d270euu_s.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/16h9208kl5~xa.js +16 -0
- package/cloud-runtime/standalone/apps/local/app/agents/[id]/page.tsx +6 -3
- package/cloud-runtime/standalone/apps/local/app/agents/page.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/app/api/chat/route.ts +7 -1
- package/cloud-runtime/standalone/apps/local/app/api/participants/route.ts +9 -9
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/search/route.ts +6 -6
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/route.ts +3 -3
- package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/agents/route.ts +1 -1
- package/cloud-runtime/standalone/apps/local/app/api/schedules/poll/route.ts +11 -2
- package/cloud-runtime/standalone/apps/local/app/page.tsx +72 -14
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/page.tsx +34 -1
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.tsx +6 -3
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/[teamId]/page.tsx +6 -3
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/new/page.tsx +8 -17
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/replace/page.tsx +1 -1
- package/cloud-runtime/standalone/apps/local/app/projects/page.tsx +7 -0
- package/cloud-runtime/standalone/apps/local/app/setup/page.tsx +1 -38
- package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +8 -4
- package/cloud-runtime/standalone/apps/local/components/EmptyStateCard.tsx +37 -0
- package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +103 -770
- package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +5 -37
- package/cloud-runtime/standalone/apps/local/components/TeamPickerModal.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +28 -32
- package/cloud-runtime/standalone/apps/local/components/chat-ui/ParticipantBar.tsx +24 -39
- package/cloud-runtime/standalone/apps/local/components/linear/LinearBoardFilters.tsx +343 -0
- package/cloud-runtime/standalone/apps/local/components/linear/TicketRow.tsx +158 -0
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveHealthTrend.tsx +45 -61
- package/cloud-runtime/standalone/apps/local/components/projects/RecentlyCompletedCard.tsx +0 -16
- package/cloud-runtime/standalone/apps/local/components/projects/ReplaceAgentsModal.tsx +2 -2
- package/cloud-runtime/standalone/apps/local/components/setup/McpSetupStep.tsx +155 -120
- package/cloud-runtime/standalone/apps/local/components/setup/ProviderStep.tsx +85 -88
- package/cloud-runtime/standalone/apps/local/components/setup/SetupLayout.tsx +6 -4
- package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +18 -193
- package/cloud-runtime/standalone/apps/local/components/terminal/TerminalPane.tsx +40 -4
- package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +4 -4
- package/cloud-runtime/standalone/apps/local/components/ui/ResizeHandle.tsx +52 -0
- package/cloud-runtime/standalone/apps/local/hooks/useAutomations.ts +8 -3
- package/cloud-runtime/standalone/apps/local/hooks/useLinearActiveAgents.ts +38 -0
- package/cloud-runtime/standalone/apps/local/hooks/useLinearParticipants.ts +118 -0
- package/cloud-runtime/standalone/apps/local/hooks/usePromptJobs.ts +5 -3
- package/cloud-runtime/standalone/apps/local/hooks/useSetupFlow.ts +6 -81
- package/cloud-runtime/standalone/apps/local/lib/agent-participants.ts +1 -1
- package/cloud-runtime/standalone/apps/local/lib/agent-process-registry.ts +34 -0
- package/cloud-runtime/standalone/apps/local/lib/db.ts +5 -5
- package/cloud-runtime/standalone/apps/local/lib/linear-board-utils.ts +9 -0
- package/cloud-runtime/standalone/apps/local/lib/linear-run-status.ts +88 -0
- package/cloud-runtime/standalone/apps/local/lib/linear-run-store.ts +4 -4
- package/cloud-runtime/standalone/apps/local/lib/sqlite-query-adapter.ts +5 -1
- package/cloud-runtime/standalone/apps/local/lib/team-catalog.ts +60 -60
- package/cloud-runtime/standalone/apps/local/lib/types.ts +1 -1
- package/cloud-runtime/standalone/apps/local/migrations/sqlite_schema.sql +1 -1
- package/cloud-runtime/standalone/apps/local/skills-lock.json +5 -0
- package/cloud-runtime/standalone/apps/local/src/graph/schedule-runner.ts +26 -1
- package/cloud-runtime/standalone/apps/local/src/graph/store.ts +13 -0
- package/cloud-runtime/standalone/apps/local/state/linearBoardPins.ts +45 -0
- package/cloud-runtime/standalone/apps/local/worker/index.js +56 -5
- package/lib/cli/onboarding.js +8 -5
- package/package.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_067eb..._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_00trrg8._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0sjchy6._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0w4gpvr._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0x6hh0t._.js +0 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0t6p.qm._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-wlbe.ripd2w.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/014z_yruiincl.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/041-dhls9zkl1.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/069yt_7prdxsp.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0e6rxcxy.l5c8.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ime4btrg-g4l.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0j-nhn61e~nnj.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jglardpw~5uc.js +0 -37
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l3v45kd.9is_.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ng6wy4ak35jg.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0n~jhoq~op4e5.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p-rdas54yo~w.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pdrpsy-zdxp0.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p~l5ap6qqx2o.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0tm20~ec~occu.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0w94x-v00osq0.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xwny92a.ad_i.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/11l2tww5f0hsk.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/12qohmk-~yrtg.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/14v~9vx3tdv85.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/16fyhcmwlw3th.js +0 -6
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/18e8w~~mvoh5o.js +0 -1
- package/cloud-runtime/standalone/apps/local/components/setup/ProjectStep.tsx +0 -189
- package/cloud-runtime/standalone/apps/local/components/setup/TeamsStep.tsx +0 -500
- /package/cloud-runtime/standalone/apps/local/.next/static/{qPuactsz6OYimwT6dSdHn → 438GF86gZtccU2fS12URB}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{qPuactsz6OYimwT6dSdHn → 438GF86gZtccU2fS12URB}/_clientMiddlewareManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{qPuactsz6OYimwT6dSdHn → 438GF86gZtccU2fS12URB}/_ssgManifest.js +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,587414,e=>{e.v({fileMentionFadeIn:"FileMentionPopover-module__pVaZsa__fileMentionFadeIn",popover:"FileMentionPopover-module__pVaZsa__popover"})},97486,715742,755809,48977,534957,167909,973949,518519,598485,8596,113531,834086,239545,859198,966308,201196,711989,924441,951579,196422,818656,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}e.s(["useMentionAutocomplete",0,function({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])}}],97486);let s=/^[a-zA-Z0-9_-]*$/;e.s(["useCommandAutocomplete",0,function({commands:e,maxSuggestions:r=6}){let[a,n]=(0,t.useState)(null),[l,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 s.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:l,token:a,handleInput:c,handleKeyDown:p,selectCommand:m,close:(0,t.useCallback)(()=>{n(null),i(0)},[])}}],715742);let l=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"]),i=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"]),o={"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 d(e){return e.map((e,t)=>(function(e,t){let r,a;return e.name.trim()?e:new File([e],(r=o[e.type]??"bin",a=e.type.startsWith("image/")?"pasted-image":"attachment",`${a}-${t+1}.${r}`),{type:e.type,lastModified:e.lastModified})})(e,t))}function u(e){return e.startsWith("image/")}function c(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(u)}function p(e){if(!e||!c(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?[]:d(r)}async function m(e,t){let r=p(e);if(r.length>0)return r;if(!c(e)||!t?.read)return[];try{let e=await t.read(),r=[];for(let t of e)for(let e of t.types.filter(u)){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 d(r)}catch{return[]}}e.s(["clipboardMayContainImageAttachments",0,function(e){return c(e)},"getClipboardAttachmentFiles",0,p,"normalizeAttachmentFiles",0,d,"readClipboardAttachmentFiles",0,m],755809),e.s(["useAttachments",0,function(){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=d(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 o=[];for(let e of a){let t=function(e){let t=e.name.includes(".")?"."+e.name.split(".").pop().toLowerCase():"";if(i.has(t))return{file:e.name,reason:`File type "${t}" is not allowed`};if(e.type&&!l.has(e.type))return{file:e.name,reason:`File type "${e.type}" is not supported`};if(!e.type&&!l.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){o.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"};o.push(a)}for(let e of(r(e=>[...e,...o]),o))"uploading"===e.status&&n(e)},[e,n]),o=(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(e=>console.warn("[useAttachments] delete attachment failed:",e)),t.filter(t=>t.id!==e)})},[]),u=(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]),c=(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:o,retry:u,clear:c,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])}}],48977);var f=e.i(247167);let h=[{path:`${f.default.env.HOME??"~"}/Code`,relativePath:"~/Code",type:"folder"},{path:`${f.default.env.HOME??"~"}/Projects`,relativePath:"~/Projects",type:"folder"},{path:`${f.default.env.HOME??"~"}/Desktop`,relativePath:"~/Desktop",type:"folder"},{path:`${f.default.env.HOME??"~"}/Documents`,relativePath:"~/Documents",type:"folder"},{path:`${f.default.env.HOME??"~"}/Downloads`,relativePath:"~/Downloads",type:"folder"}];function x(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}e.s(["useFileMention",0,function({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),g=(0,t.useRef)(null),v=(0,t.useRef)(null),b=null!==a,y=(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?`${f.default.env.HOME??"~"}/${t.slice(0,-1)}`:`/${t.slice(0,-1)}`;i.set("root",e)}else"@~"===r&&i.set("root",f.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]),j=(0,t.useCallback)((t,a)=>{if(null!==g.current&&clearTimeout(g.current),t!==v.current){if(t.length<3){m.current&&(m.current.abort(),m.current=null),v.current=t,u(!1),p(null),l(h.slice(0,e).map(e=>({...e,attachMode:"manifest"}))),o(0);return}g.current=setTimeout(()=>{v.current=t,y(t,a)},r)}},[r,y,e]);(0,t.useEffect)(()=>()=>{null!==g.current&&clearTimeout(g.current),m.current&&m.current.abort()},[]);let w=(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!==g.current&&clearTimeout(g.current),m.current&&(m.current.abort(),m.current=null),v.current=null,l([]),u(!1),p(null)),r)),r&&j(r.query,r.trigger)},[j]),k=(0,t.useCallback)(e=>{if(!b||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}},[b,s.length]),C=(0,t.useCallback)(e=>{if(!a)return null;let t=x(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]),N=(0,t.useCallback)(e=>{if(!a||"folder"!==e.type)return null;let t=x(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}),v.current=null,j(o,r),{text:l,startIndex:a.startIndex,endIndex:a.endIndex}},[a,j]),$=(0,t.useCallback)(e=>{l(t=>t.map(t=>t.path===e.path?{...t,attachMode:"contents"}:t))},[]);return{isOpen:b,token:a,suggestions:s,activeIndex:i,isLoading:d,error:c,handleInput:w,handleKeyDown:k,selectSuggestion:C,drillDown:N,close:(0,t.useCallback)(()=>{n(null),l([]),o(0)},[]),onAttachContents:$}}],534957),e.s(["useThreadMention",0,function({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()},[])}}],167909),e.s(["useComposerAttachments",0,function(){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}}],973949);let g="agx-composer-history";async function v(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 b(e){let t=await v(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}">
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,587414,e=>{e.v({fileMentionFadeIn:"FileMentionPopover-module__pVaZsa__fileMentionFadeIn",popover:"FileMentionPopover-module__pVaZsa__popover"})},97486,715742,755809,48977,534957,167909,973949,518519,598485,8596,113531,834086,239545,859198,966308,201196,711989,924441,951579,196422,818656,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}e.s(["useMentionAutocomplete",0,function({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])}}],97486);let s=/^[a-zA-Z0-9_-]*$/;e.s(["useCommandAutocomplete",0,function({commands:e,maxSuggestions:r=6}){let[a,n]=(0,t.useState)(null),[l,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 s.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:l,token:a,handleInput:c,handleKeyDown:p,selectCommand:m,close:(0,t.useCallback)(()=>{n(null),i(0)},[])}}],715742);let l=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"]),i=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"]),o={"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 d(e){return e.map((e,t)=>(function(e,t){let r,a;return e.name.trim()?e:new File([e],(r=o[e.type]??"bin",a=e.type.startsWith("image/")?"pasted-image":"attachment",`${a}-${t+1}.${r}`),{type:e.type,lastModified:e.lastModified})})(e,t))}function u(e){return e.startsWith("image/")}function c(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(u)}function p(e){if(!e||!c(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?[]:d(r)}async function m(e,t){let r=p(e);if(r.length>0)return r;if(!c(e)||!t?.read)return[];try{let e=await t.read(),r=[];for(let t of e)for(let e of t.types.filter(u)){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 d(r)}catch{return[]}}e.s(["clipboardMayContainImageAttachments",0,function(e){return c(e)},"getClipboardAttachmentFiles",0,p,"normalizeAttachmentFiles",0,d,"readClipboardAttachmentFiles",0,m],755809),e.s(["useAttachments",0,function(){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=d(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 o=[];for(let e of a){let t=function(e){let t=e.name.includes(".")?"."+e.name.split(".").pop().toLowerCase():"";if(i.has(t))return{file:e.name,reason:`File type "${t}" is not allowed`};if(e.type&&!l.has(e.type))return{file:e.name,reason:`File type "${e.type}" is not supported`};if(!e.type&&!l.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){o.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"};o.push(a)}for(let e of(r(e=>[...e,...o]),o))"uploading"===e.status&&n(e)},[e,n]),o=(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(e=>console.warn("[useAttachments] delete attachment failed:",e)),t.filter(t=>t.id!==e)})},[]),u=(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]),c=(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:o,retry:u,clear:c,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])}}],48977);var f=e.i(247167);let h=[{path:`${f.default.env.HOME??"~"}/Code`,relativePath:"~/Code",type:"folder"},{path:`${f.default.env.HOME??"~"}/Projects`,relativePath:"~/Projects",type:"folder"},{path:`${f.default.env.HOME??"~"}/Desktop`,relativePath:"~/Desktop",type:"folder"},{path:`${f.default.env.HOME??"~"}/Documents`,relativePath:"~/Documents",type:"folder"},{path:`${f.default.env.HOME??"~"}/Downloads`,relativePath:"~/Downloads",type:"folder"}];function x(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}e.s(["useFileMention",0,function({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),g=(0,t.useRef)(null),v=(0,t.useRef)(null),b=null!==a,y=(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?`${f.default.env.HOME??"~"}/${t.slice(0,-1)}`:`/${t.slice(0,-1)}`;i.set("root",e)}else"@~"===r&&i.set("root",f.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]),j=(0,t.useCallback)((t,a)=>{if(null!==g.current&&clearTimeout(g.current),t!==v.current){if(t.length<3){m.current&&(m.current.abort(),m.current=null),v.current=t,u(!1),p(null),l(h.slice(0,e).map(e=>({...e,attachMode:"manifest"}))),o(0);return}g.current=setTimeout(()=>{v.current=t,y(t,a)},r)}},[r,y,e]);(0,t.useEffect)(()=>()=>{null!==g.current&&clearTimeout(g.current),m.current&&m.current.abort()},[]);let w=(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!==g.current&&clearTimeout(g.current),m.current&&(m.current.abort(),m.current=null),v.current=null,l([]),u(!1),p(null)),r)),r&&j(r.query,r.trigger)},[j]),k=(0,t.useCallback)(e=>{if(!b||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}},[b,s.length]),N=(0,t.useCallback)(e=>{if(!a)return null;let t=x(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]),C=(0,t.useCallback)(e=>{if(!a||"folder"!==e.type)return null;let t=x(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}),v.current=null,j(o,r),{text:l,startIndex:a.startIndex,endIndex:a.endIndex}},[a,j]),$=(0,t.useCallback)(e=>{l(t=>t.map(t=>t.path===e.path?{...t,attachMode:"contents"}:t))},[]);return{isOpen:b,token:a,suggestions:s,activeIndex:i,isLoading:d,error:c,handleInput:w,handleKeyDown:k,selectSuggestion:N,drillDown:C,close:(0,t.useCallback)(()=>{n(null),l([]),o(0)},[]),onAttachContents:$}}],534957),e.s(["useThreadMention",0,function({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()},[])}}],167909),e.s(["useComposerAttachments",0,function(){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}}],973949);let g="agx-composer-history";async function v(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 b(e){let t=await v(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
2
|
${e.content}
|
|
3
3
|
</file>`).join("\n\n")+"\n\n";return{fileContextBlocks:t,contextPrefix:r}}function y(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}e.s(["useComposerHistory",0,function(){let[e,r]=(0,t.useState)(-1),a=(0,t.useRef)(""),n=(0,t.useCallback)(()=>{try{let e=localStorage.getItem(g);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(g,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}}],518519),e.s(["useLinearIssueMentions",0,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}}],598485),e.s(["buildAgentContext",0,b],8596),e.s(["buildLinearIssueContextPrefix",0,function(e){if(0===e.length)return"";let t=e.map(e=>[`<linear-issue identifier="${y(e.identifier)}" status="${y(e.status)}"${e.assignee?` assignee="${y(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
4
|
|
|
5
5
|
${t.join("\n\n")}
|
|
6
6
|
|
|
7
|
-
`},"extractMentionedLinearIssueIds",0,function(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)}],113531);var j=e.i(10552);let w=j.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,j.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}`]}}),k=j.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,j.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}`]}),C=j.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,j.mergeAttributes)(t,{"data-file-mention":"","data-path":e.attrs.path,class:"composer-pill composer-pill--file",contenteditable:"false"}),`@${r}`]}}),N=j.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,j.mergeAttributes)(t,{"data-thread-mention":"","data-thread-id":e.attrs.threadId,class:"composer-pill composer-pill--thread",contenteditable:"false"}),`#${e.attrs.title}`]}),$=j.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,j.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}`]});e.s(["FileMention",0,C,"LinearIssueMention",0,$,"ParticipantMention",0,w,"ProjectMention",0,k,"ThreadMention",0,N],834086);function M(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""}}e.s(["serializeToPlainText",0,function(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")}],239545),e.s(["getCurrentParagraphText",0,function(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=M(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}},"plainTextRangeToPos",0,function(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=M(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}}],859198);var I=e.i(843476),S=e.i(363732);let P=(0,S.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"}]]),A=(0,S.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 D=e.i(572665);e.s(["MentionPopover",0,function({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,I.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,I.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,I.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,I.jsxs)("div",{children:[u,(0,I.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,I.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,I.jsx)(D.Users,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,I.jsx)("span",{className:"font-medium",children:e.project.name}),(0,I.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,I.jsxs)("div",{children:[u,(0,I.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,I.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,I.jsx)(P,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,I.jsx)("span",{className:"font-medium",children:e.project.name}),(0,I.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:e.project.slug})]})})]},n);if("ticket"===e.kind)return(0,I.jsxs)("div",{children:[u,(0,I.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,I.jsxs)("span",{className:"flex items-start gap-2",children:[(0,I.jsx)(A,{className:"mt-0.5 h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,I.jsxs)("span",{className:"min-w-0",children:[(0,I.jsxs)("span",{className:"block font-medium",children:[e.issue.identifier,(0,I.jsx)("span",{className:"ml-2 text-xs text-[var(--muted-foreground)]",children:e.issue.status})]}),(0,I.jsx)("span",{className:"block truncate text-xs text-[var(--muted-foreground)]",children:e.issue.title})]})]})})]},n);let c=e.participant;return(0,I.jsxs)("div",{children:[u,(0,I.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,I.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,I.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:c.color},"aria-hidden":!0}),(0,I.jsx)("span",{className:"font-medium",children:c.name}),"all"===c.id?(0,I.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"All participants"}):c.model&&(0,I.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:c.model})]})})]},n)})})})}],966308),e.s(["CommandPopover",0,function({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,I.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,I.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,I.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,I.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,I.jsx)("span",{className:"font-medium font-mono",children:e.name}),e.aliases&&e.aliases.length>0&&(0,I.jsxs)("span",{className:"text-xs text-[var(--app-shell-soft-text)] font-mono",children:["(",e.aliases.join(", "),")"]}),(0,I.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:e.description})]})},e.name)})})}):null}],201196);var T=e.i(906724),L=e.i(741746);let F=(0,S.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 z=e.i(55236),E=e.i(538292);function O({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,I.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,I.jsx)("span",{className:"shrink-0 text-[var(--muted-foreground)]","aria-hidden":!0,children:l?t?(0,I.jsx)(E.FolderOpen,{className:"h-4 w-4 text-amber-500"}):(0,I.jsx)(z.Folder,{className:"h-4 w-4 text-amber-400"}):(0,I.jsx)(F,{className:"h-4 w-4"})}),(0,I.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,I.jsxs)("span",{className:"flex items-baseline gap-2",children:[(0,I.jsx)("span",{className:"block truncate font-mono text-xs text-[var(--foreground)]",children:d}),o&&(0,I.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:o})]}),l&&e.manifest&&(0,I.jsxs)("span",{className:"block text-xs text-[var(--muted-foreground)]",children:[e.manifest.childCount," items ·"," ",e.manifest.sizeSummary,i?(0,I.jsx)("span",{className:"ml-1 font-medium text-[var(--primary)]",children:"full tree"}):(0,I.jsx)("span",{className:"ml-1 text-[var(--muted-foreground)]",children:"manifest"})]})]}),l&&!i&&(0,I.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,I.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 R=e.i(587414);e.s(["FileMentionPopover",0,function({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,I.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"} ${R.default.popover}`,children:(0,I.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,I.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-sm text-red-500",role:"alert",children:[(0,I.jsx)(L.AlertCircle,{className:"h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,I.jsx)("span",{children:s})]}),!s&&n&&0===r.length&&(0,I.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,I.jsx)(T.Loader2,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}),(0,I.jsx)("span",{children:"Searching…"})]}),!s&&!n&&0===r.length&&(0,I.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,I.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,I.jsx)(T.Loader2,{className:"h-3 w-3 animate-spin","aria-hidden":!0}),(0,I.jsx)("span",{"aria-live":"polite","aria-label":"Updating results",children:"Updating…"})]}),r.length>0&&r.map((e,t)=>(0,I.jsx)(O,{suggestion:e,isActive:t===a,optionId:`${i}-${t}`,onSelect:o,onAttachContents:d,itemRef:e=>{u.current[t]=e}},e.path))]})})}],711989);var U=e.i(597628),W=e.i(580873);e.s(["ThreadMentionPopover",0,function({isOpen:e,suggestions:t,activeIndex:r,listboxId:a,optionIdPrefix:n,onSelect:s}){return e&&0!==t.length?(0,I.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,I.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,I.jsx)("div",{className:"max-h-64 overflow-y-auto p-1",children:t.map((e,t)=>{let a=t===r;return(0,I.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,I.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,I.jsx)(U.MessageSquare,{size:14,strokeWidth:2.5})}),(0,I.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,I.jsx)("div",{className:`text-sm font-semibold truncate ${a?"text-[var(--primary)]":"text-[var(--foreground)]"}`,children:e.title}),(0,I.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,I.jsxs)("span",{className:`text-xs ${a?"text-[var(--primary)]":"text-[var(--muted-foreground)]"}`,children:[e.replies.length," replies"]}),(0,I.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"•"}),(0,I.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] flex items-center gap-1",children:[(0,I.jsx)(W.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}],924441);var q=e.i(797167),H=e.i(203096),B=e.i(575479);let _=(0,S.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"}]]);e.s(["AttachmentTray",0,function({attachments:e,onRemove:t,onRetry:r}){return 0===e.length?null:(0,I.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,I.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,I.jsx)("img",{src:e.previewUrl,alt:e.filename,className:"w-8 h-8 rounded object-cover shrink-0"}):(0,I.jsx)("div",{className:"w-8 h-8 rounded bg-[var(--muted)] flex items-center justify-center shrink-0",children:n?(0,I.jsx)(_,{className:"w-4 h-4 text-[var(--muted-foreground)]"}):(0,I.jsx)(B.FileText,{className:"w-4 h-4 text-[var(--muted-foreground)]"})}),(0,I.jsxs)("div",{className:"min-w-0 max-w-[120px]",children:[(0,I.jsx)("div",{className:"truncate font-medium",children:e.filename}),s&&e.error?(0,I.jsx)("div",{className:"truncate text-[10px] text-red-500",children:e.error}):(0,I.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,I.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-[var(--muted)] rounded-b-lg overflow-hidden",children:(0,I.jsx)("div",{className:"h-full bg-blue-500 transition-all",style:{width:`${e.progress}%`}})}),(0,I.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[s&&(0,I.jsx)("button",{type:"button",onClick:()=>r(e.id),className:"p-0.5 rounded hover:bg-red-100 transition-colors",title:"Retry upload",children:(0,I.jsx)(H.RefreshCw,{className:"w-3 h-3"})}),(0,I.jsx)("button",{type:"button",onClick:()=>t(e.id),className:"p-0.5 rounded hover:bg-[var(--muted)] transition-colors",title:"Remove",children:(0,I.jsx)(q.X,{className:"w-3 h-3"})})]})]},e.id)})})}],951579),e.s(["ComposerDropZone",0,function({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,I.jsxs)("div",{className:"relative",onDragEnter:l,onDragOver:i,onDragLeave:o,onDrop:d,children:[r,a&&(0,I.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,I.jsx)("span",{className:"text-sm font-medium text-blue-600",children:"Drop files to attach"})})]})}],196422);let K=(0,S.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",0,K],818656)},999824,e=>{"use strict";let t=(0,e.i(363732).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",0,t],999824)},984242,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(97486),i=e.i(715742),o=e.i(48977),d=e.i(534957),u=e.i(167909),c=e.i(973949),p=e.i(518519),m=e.i(598485),f=e.i(8596),h=e.i(113531),x=e.i(990933),g=e.i(755809),v=e.i(834086),b=e.i(239545),y=e.i(859198),j=e.i(966308),w=e.i(201196),k=e.i(711989),C=e.i(924441),N=e.i(951579),$=e.i(196422),M=e.i(818656),I=e.i(999824),S=e.i(196630),P=e.i(498027),A=e.i(797167);function D(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()}e.s(["Composer",0,function({onSend:e,onStop:T,loading:L,activityStatus:F,sendInterruptsBusy:z=!1,participants:E,projects:O=[],projectGroups:R=[],projectSlug:U,messages:W=[],commands:q,placeholder:H="Message — @name to mention, /search, /summarize",workspaceRoots:B=[],onConfigureRoots:_,pendingThreadInsert:K,onClearPendingThread:J,autoMode:V=!1,onAutoModeChange:Z,repos:X=[],selectedRepoIds:G,onRepoSelectionChange:Q,initialPinnedParticipantId:Y}){let ee,et,er,ea=F??(L?"working":"ready"),en="ready"!==ea,[es,el]=(0,r.useState)(Y??null),[ei,eo]=(0,r.useState)(new Set),ed=G??ei,eu=(0,r.useRef)(ed);eu.current=ed;let ec=(0,r.useCallback)(e=>{let t="function"==typeof e?e(eu.current):e;Q?Q(t):eo(t)},[Q]),[ep,em]=(0,r.useState)(!1),ef=(0,r.useRef)(null),eh=(0,r.useRef)(null),ex=(0,r.useRef)(!1),eg=(0,r.useCallback)(()=>{eh.current?.click()},[]),[ev,eb]=(0,r.useState)([]),{issues:ey}=(0,m.useLinearIssueMentions)({projectSlug:U}),ej=(0,l.useMentionAutocomplete)({participants:E,projectGroups:R,projects:O,linearIssues:ey,maxSuggestions:8}),ew=(0,i.useCommandAutocomplete)({commands:q,maxSuggestions:6}),ek=(0,d.useFileMention)({maxSuggestions:8}),eC=(0,u.useThreadMention)({messages:W,maxSuggestions:8}),eN=(0,o.useAttachments)(),e$=(0,c.useComposerAttachments)(),eM=(0,p.useComposerHistory)();(0,r.useEffect)(()=>{es&&!E.some(e=>e.id===es)&&el(null)},[E,es]),(0,r.useEffect)(()=>{if(!ep)return;let e=e=>{ef.current&&!ef.current.contains(e.target)&&em(!1)};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[ep]),(0,r.useEffect)(()=>{if(null!=G||0===ei.size)return;let e=new Set(X.map(e=>e.id)),t=new Set([...ei].filter(t=>e.has(t)));t.size<ei.size&&eo(t)},[X,G,ei]);let eI=(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:H}),v.ParticipantMention,v.ProjectMention,v.FileMention,v.ThreadMention,v.LinearIssueMention],editorProps:{attributes:{class:"composer-editor",role:"combobox","aria-autocomplete":"list"},handleDOMEvents:{compositionstart:()=>(ex.current=!0,ej.startComposition(),!1),compositionend:(e,t)=>(ex.current=!1,setTimeout(()=>{if(!eI)return;let e=(0,y.getCurrentParagraphText)(eI);e&&ej.endComposition(e.text,e.cursorPos)},0),!1)},handleKeyDown:(e,t)=>{if("Tab"===t.key||"Enter"===t.key&&!t.shiftKey){if(ew.isOpen&&ew.filteredCommands.length>0){t.preventDefault();let e=ew.filteredCommands[ew.activeIndex];return e&&eF(e),!0}if(ek.isOpen&&ek.suggestions.length>0){t.preventDefault();let e=ek.suggestions[ek.activeIndex];return e&&("folder"===e.type?eT(e):eD(e)),!0}if(eC.isOpen&&eC.suggestions.length>0){t.preventDefault();let e=eC.suggestions[eC.activeIndex];return e&&eL(e),!0}if(ej.isOpen&&ej.filteredSuggestions.length>0){t.preventDefault();let e=ej.filteredSuggestions[ej.activeIndex];return e&&eA(e),!0}}let r={key:t.key,preventDefault:()=>t.preventDefault()};if(ew.isOpen&&ew.handleKeyDown(r)||ek.isOpen&&ek.handleKeyDown(r)||eC.isOpen&&eC.handleKeyDown(r)||ej.handleKeyDown(r))return!0;if(("ArrowUp"===t.key||"ArrowDown"===t.key)&&!ej.isOpen&&!ew.isOpen&&!ek.isOpen&&!eC.isOpen){let e=(0,b.serializeToPlainText)(eI.getJSON()).trim(),{state:r}=eI.view,a="ArrowUp"===t.key,n=a?r.selection.from<=1:r.selection.to>=r.doc.content.size-1,s=eM.navigate(a?"up":"down",e,n);if(null!==s)return t.preventDefault(),eI.commands.setContent(s),eI.commands.focus("end"),!0}return"Enter"===t.key&&!t.shiftKey&&(t.preventDefault(),ez(),!0)}},onUpdate:({editor:e})=>{if(ex.current)return;-1!==eM.historyIndex&&eM.resetNavigation();let t=(0,y.getCurrentParagraphText)(e);t&&(ej.handleInput(t.text,t.cursorPos),ew.handleInput(t.text,t.cursorPos),ek.handleInput(t.text,t.cursorPos),eC.handleInput(t.text,t.cursorPos))},onBlur:()=>{ej.close(),ew.close(),ek.close(),eC.close()}});(0,r.useEffect)(()=>{if(!K||!eI)return;let{title:e,threadId:t,messages:r}=K;eI.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))};eC.exportDiscussion(n).then(e=>eb(t=>[...t,e])).catch(e=>console.error("Failed to export discussion for Add to chat:",e))}J?.()},[K]);let eS=(0,r.useCallback)(()=>{if(!eI)return;let e=(0,y.getCurrentParagraphText)(eI);e&&ej.handleInput(e.text,e.cursorPos)},[eI,ej]),eP=(0,r.useCallback)(e=>{let{clipboardData:t}=e,r=(0,g.getClipboardAttachmentFiles)(t);if(r.length>0){e.preventDefault(),e.stopPropagation(),eN.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&&eN.stageFiles(e)}).catch(e=>{console.error("Failed to read pasted clipboard attachments:",e)}))},[eN]),eA=(0,r.useCallback)(e=>{if(!eI)return;let t=ej.selectSuggestion(e);if(!t)return;let r=(0,y.getCurrentParagraphText)(eI);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"}};D(eI,r.blockStart,t.startIndex,t.endIndex,n),ej.close()},[eI,ej]),eD=(0,r.useCallback)(e=>{if(!eI)return;let t=ek.selectSuggestion(e);if(!t)return;let r=(0,y.getCurrentParagraphText)(eI);if(!r)return;let a={type:"fileMention",attrs:{path:e.path,relativePath:e.relativePath??e.path,trigger:ek.token?.trigger??"@/",attachMode:e.attachMode}};D(eI,r.blockStart,t.startIndex,t.endIndex,a),e$.addFilePath(e.path,e.relativePath??e.path,e.attachMode)},[eI,ek,e$]),eT=(0,r.useCallback)(e=>{if(!eI)return;let t=(0,y.getCurrentParagraphText)(eI);if(!t)return;let r=ek.drillDown(e);if(!r)return;let a=(0,y.plainTextRangeToPos)(eI,t.blockStart,r.startIndex,r.endIndex);a&&eI.chain().focus().deleteRange(a).insertContent(r.text).run()},[eI,ek]),eL=(0,r.useCallback)(async e=>{if(!eI)return;let t=eC.selectSuggestion(e);if(!t)return;let r=(0,y.getCurrentParagraphText)(eI);if(!r)return;let a={type:"threadMention",attrs:{threadId:e.rootMessageId,title:e.title}};D(eI,r.blockStart,t.startIndex,t.endIndex,a);try{let t=await eC.exportDiscussion(e);eb(e=>[...e,t])}catch(e){console.error("Failed to export discussion:",e)}},[eI,eC]),eF=(0,r.useCallback)(e=>{ew.selectCommand(e),eI&&eI.commands.clearContent()},[ew,eI]),ez=(0,r.useCallback)(async()=>{if(!eI)return;let t=eI.getJSON(),r=(0,b.serializeToPlainText)(t).trim();if(!r&&!eN.hasUploaded&&!e$.hasFilePaths||!eN.canSend)return;if(r){let e=q.find(e=>e.name===r||e.aliases?.some(e=>`/${e}`===r));if(e){e.execute(),eI.commands.clearContent(),ew.close(),ej.close();return}}let a=r||"(attached files)",n=[];if(ed.size>0){let e=X.filter(e=>ed.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(
|
|
9
|
-
${e}`)}if(e$.hasFilePaths){let e=await (0,f.buildAgentContext)(e$.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,es);r&&eM.pushEntry(r);let o=eN.attachmentIds.length>0?eN.attachmentIds:void 0,d=o?eN.getAttachmentMetas():void 0;e(a,10,o,d,es??void 0,l,i),eI.commands.clearContent(),eb([]),eN.clear(),e$.clearFilePaths(),ej.close(),ew.close(),eC.close()},[eI,ej,ew,q,e,eN,e$,ev,eC,eM,ed,X,es]),eE=ej.isOpen&&ej.filteredSuggestions.length>0;ew.isOpen&&ew.filteredCommands.length,ek.isOpen&&ek.suggestions.length,eC.isOpen&&eC.suggestions.length,eE&&ej.filteredSuggestions[ej.activeIndex];let eO=eN.staged.some(e=>"uploading"===e.status),eR=!eI||eI.isEmpty,eU=E.find(e=>e.id===es)??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:eN.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:[Z&&(0,t.jsxs)("div",{className:`relative overflow-hidden border-b transition-all duration-500 ${V?"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 ${V?"opacity-100":"opacity-0"}`,style:{background:"linear-gradient(120deg, var(--warning-muted) 0%, transparent 50%, var(--warning-muted) 100%)",backgroundSize:"200% 100%",animation:V?"shipBgSweep 4s ease-in-out infinite":"none"}}),V&&(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 ${V?"bg-[var(--warning)] text-[var(--warning-muted)] shadow-md":"bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]"}`,style:V?{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 ${V?"text-[var(--warning)]":"text-[var(--foreground)]"}`,children:"Ship Mode"}),(0,t.jsx)("span",{className:`text-xs transition-colors duration-300 ${V?"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 ${V?"text-[var(--warning)] opacity-80":"text-[var(--app-shell-muted)]"}`,children:V?"Continuous execution is active for this thread":"Continuous execution stays off until you enable it"})]}),(0,t.jsx)("button",{type:"button",onClick:()=>Z(!V),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)] ${V?"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 ${V?"translate-x-6":"translate-x-1"}`})})]})})]}),(0,t.jsxs)("div",{className:"p-1.5 transition-all",children:[eN.staged.length>0&&(0,t.jsx)("div",{className:"mx-2 mt-2 mb-1",children:(0,t.jsx)(N.AttachmentTray,{attachments:eN.staged,onRemove:eN.remove,onRetry:eN.retry})}),(0,t.jsxs)("div",{className:"p-2 relative",children:[(0,t.jsx)("input",{ref:eh,type:"file",multiple:!0,className:"hidden",onChange:e=>{e.target.files&&e.target.files.length>0&&(eN.stageFiles(e.target.files),e.target.value="")}}),(0,t.jsxs)("div",{className:"flex-1 relative",onClick:eS,onPasteCapture:eP,children:[(0,t.jsx)(a.EditorContent,{editor:eI,className:"composer-editor"}),(0,t.jsx)(j.MentionPopover,{isOpen:ej.isOpen&&!ew.isOpen,suggestions:ej.filteredSuggestions,activeIndex:ej.activeIndex,listboxId:"composer-mention-listbox",optionIdPrefix:"composer-mention-option",onSelect:eA}),(0,t.jsx)(w.CommandPopover,{isOpen:ew.isOpen,commands:ew.filteredCommands,activeIndex:ew.activeIndex,listboxId:"composer-command-listbox",optionIdPrefix:"composer-command-option",onSelect:eF}),(0,t.jsx)(k.FileMentionPopover,{isOpen:ek.isOpen,suggestions:ek.suggestions,activeIndex:ek.activeIndex,isLoading:ek.isLoading,error:ek.error,listboxId:"composer-file-mention-listbox",optionIdPrefix:"composer-file-mention-option",onSelect:e=>{"folder"===e.type?eT(e):eD(e)},onAttachContents:ek.onAttachContents}),(0,t.jsx)(C.ThreadMentionPopover,{isOpen:eC.isOpen&&!ew.isOpen&&!ek.isOpen,suggestions:eC.suggestions,activeIndex:eC.activeIndex,listboxId:"composer-thread-mention-listbox",optionIdPrefix:"composer-thread-mention-option",onSelect:eL})]})]}),(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:eg,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===E.length?(0,t.jsx)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:"No agents"}):E.map(e=>(0,t.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":es===e.id,onClick:()=>el(t=>t===e.id?null:e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),el(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 ${es===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"}),en&&(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"===ea?"bg-amber-400":"bg-emerald-400"}`})]},e.id))})]}),eU&&(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:eU.name})]})]}),X.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:ef,children:[(0,t.jsxs)("button",{type:"button",onClick:()=>em(e=>!e),className:"composer-repo-select-trigger","aria-haspopup":"listbox","aria-expanded":ep,children:[(0,t.jsx)(S.FolderGit2,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,t.jsx)("span",{children:"Folders"}),(0,t.jsx)(P.ChevronDown,{className:`h-3 w-3 transition-transform ${ep?"rotate-180":""}`})]}),ep&&(0,t.jsx)("div",{className:"composer-repo-dropdown",role:"listbox","aria-multiselectable":"true",children:X.map(e=>{let r=ed.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:()=>ec(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r}),children:[(0,t.jsx)("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)})})]}),(et=(ee=X.filter(e=>ed.has(e.id))).slice(0,1),er=ee.length-1,(0,t.jsxs)(t.Fragment,{children:[et.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:()=>ec(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)),er>0&&(0,t.jsxs)("span",{className:"composer-repo-pill composer-repo-pill--overflow",children:["+",er]})]}))]})]})]}),en&&!z?(0,t.jsx)("button",{type:"button",onClick:T,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:eR&&!eN.hasUploaded&&!e$.hasFilePaths||eO,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"===ea?"bg-emerald-400 animate-pulse":"queued"===ea?"bg-amber-400":"bg-emerald-400"}`}),(0,t.jsx)("span",{children:"working"===ea?"Working":"queued"===ea?"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"]})]})]})})}])}]);
|
|
7
|
+
`},"extractMentionedLinearIssueIds",0,function(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)}],113531);var j=e.i(10552);let w=j.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,j.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}`]}}),k=j.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,j.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}`]}),N=j.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,j.mergeAttributes)(t,{"data-file-mention":"","data-path":e.attrs.path,class:"composer-pill composer-pill--file",contenteditable:"false"}),`@${r}`]}}),C=j.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,j.mergeAttributes)(t,{"data-thread-mention":"","data-thread-id":e.attrs.threadId,class:"composer-pill composer-pill--thread",contenteditable:"false"}),`#${e.attrs.title}`]}),$=j.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,j.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}`]});e.s(["FileMention",0,N,"LinearIssueMention",0,$,"ParticipantMention",0,w,"ProjectMention",0,k,"ThreadMention",0,C],834086);function M(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""}}e.s(["serializeToPlainText",0,function(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")}],239545),e.s(["getCurrentParagraphText",0,function(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=M(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}},"plainTextRangeToPos",0,function(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=M(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}}],859198);var I=e.i(843476),S=e.i(363732);let P=(0,S.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"}]]),A=(0,S.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 D=e.i(572665);e.s(["MentionPopover",0,function({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,I.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,I.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,I.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,I.jsxs)("div",{children:[u,(0,I.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,I.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,I.jsx)(D.Users,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,I.jsx)("span",{className:"font-medium",children:e.project.name}),(0,I.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,I.jsxs)("div",{children:[u,(0,I.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,I.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,I.jsx)(P,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,I.jsx)("span",{className:"font-medium",children:e.project.name}),(0,I.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:e.project.slug})]})})]},n);if("ticket"===e.kind)return(0,I.jsxs)("div",{children:[u,(0,I.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,I.jsxs)("span",{className:"flex items-start gap-2",children:[(0,I.jsx)(A,{className:"mt-0.5 h-3.5 w-3.5 text-[var(--muted-foreground)]","aria-hidden":!0}),(0,I.jsxs)("span",{className:"min-w-0",children:[(0,I.jsxs)("span",{className:"block font-medium",children:[e.issue.identifier,(0,I.jsx)("span",{className:"ml-2 text-xs text-[var(--muted-foreground)]",children:e.issue.status})]}),(0,I.jsx)("span",{className:"block truncate text-xs text-[var(--muted-foreground)]",children:e.issue.title})]})]})})]},n);let c=e.participant;return(0,I.jsxs)("div",{children:[u,(0,I.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,I.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,I.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:c.color},"aria-hidden":!0}),(0,I.jsx)("span",{className:"font-medium",children:c.name}),"all"===c.id?(0,I.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"All participants"}):c.model&&(0,I.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:c.model})]})})]},n)})})})}],966308),e.s(["CommandPopover",0,function({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,I.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,I.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,I.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,I.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,I.jsx)("span",{className:"font-medium font-mono",children:e.name}),e.aliases&&e.aliases.length>0&&(0,I.jsxs)("span",{className:"text-xs text-[var(--app-shell-soft-text)] font-mono",children:["(",e.aliases.join(", "),")"]}),(0,I.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:e.description})]})},e.name)})})}):null}],201196);var T=e.i(906724),L=e.i(741746);let F=(0,S.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 z=e.i(55236),E=e.i(538292);function O({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,I.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,I.jsx)("span",{className:"shrink-0 text-[var(--muted-foreground)]","aria-hidden":!0,children:l?t?(0,I.jsx)(E.FolderOpen,{className:"h-4 w-4 text-amber-500"}):(0,I.jsx)(z.Folder,{className:"h-4 w-4 text-amber-400"}):(0,I.jsx)(F,{className:"h-4 w-4"})}),(0,I.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,I.jsxs)("span",{className:"flex items-baseline gap-2",children:[(0,I.jsx)("span",{className:"block truncate font-mono text-xs text-[var(--foreground)]",children:d}),o&&(0,I.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:o})]}),l&&e.manifest&&(0,I.jsxs)("span",{className:"block text-xs text-[var(--muted-foreground)]",children:[e.manifest.childCount," items ·"," ",e.manifest.sizeSummary,i?(0,I.jsx)("span",{className:"ml-1 font-medium text-[var(--primary)]",children:"full tree"}):(0,I.jsx)("span",{className:"ml-1 text-[var(--muted-foreground)]",children:"manifest"})]})]}),l&&!i&&(0,I.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,I.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 R=e.i(587414);e.s(["FileMentionPopover",0,function({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,I.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"} ${R.default.popover}`,children:(0,I.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,I.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-sm text-red-500",role:"alert",children:[(0,I.jsx)(L.AlertCircle,{className:"h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,I.jsx)("span",{children:s})]}),!s&&n&&0===r.length&&(0,I.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,I.jsx)(T.Loader2,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}),(0,I.jsx)("span",{children:"Searching…"})]}),!s&&!n&&0===r.length&&(0,I.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,I.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,I.jsx)(T.Loader2,{className:"h-3 w-3 animate-spin","aria-hidden":!0}),(0,I.jsx)("span",{"aria-live":"polite","aria-label":"Updating results",children:"Updating…"})]}),r.length>0&&r.map((e,t)=>(0,I.jsx)(O,{suggestion:e,isActive:t===a,optionId:`${i}-${t}`,onSelect:o,onAttachContents:d,itemRef:e=>{u.current[t]=e}},e.path))]})})}],711989);var U=e.i(597628),W=e.i(580873);e.s(["ThreadMentionPopover",0,function({isOpen:e,suggestions:t,activeIndex:r,listboxId:a,optionIdPrefix:n,onSelect:s}){return e&&0!==t.length?(0,I.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,I.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,I.jsx)("div",{className:"max-h-64 overflow-y-auto p-1",children:t.map((e,t)=>{let a=t===r;return(0,I.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,I.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,I.jsx)(U.MessageSquare,{size:14,strokeWidth:2.5})}),(0,I.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,I.jsx)("div",{className:`text-sm font-semibold truncate ${a?"text-[var(--primary)]":"text-[var(--foreground)]"}`,children:e.title}),(0,I.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,I.jsxs)("span",{className:`text-xs ${a?"text-[var(--primary)]":"text-[var(--muted-foreground)]"}`,children:[e.replies.length," replies"]}),(0,I.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"•"}),(0,I.jsxs)("span",{className:"text-[10px] text-[var(--muted-foreground)] flex items-center gap-1",children:[(0,I.jsx)(W.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}],924441);var q=e.i(797167),H=e.i(203096),B=e.i(575479);let _=(0,S.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"}]]);e.s(["AttachmentTray",0,function({attachments:e,onRemove:t,onRetry:r}){return 0===e.length?null:(0,I.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,I.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,I.jsx)("img",{src:e.previewUrl,alt:e.filename,className:"w-8 h-8 rounded object-cover shrink-0"}):(0,I.jsx)("div",{className:"w-8 h-8 rounded bg-[var(--muted)] flex items-center justify-center shrink-0",children:n?(0,I.jsx)(_,{className:"w-4 h-4 text-[var(--muted-foreground)]"}):(0,I.jsx)(B.FileText,{className:"w-4 h-4 text-[var(--muted-foreground)]"})}),(0,I.jsxs)("div",{className:"min-w-0 max-w-[120px]",children:[(0,I.jsx)("div",{className:"truncate font-medium",children:e.filename}),s&&e.error?(0,I.jsx)("div",{className:"truncate text-[10px] text-red-500",children:e.error}):(0,I.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,I.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-[var(--muted)] rounded-b-lg overflow-hidden",children:(0,I.jsx)("div",{className:"h-full bg-blue-500 transition-all",style:{width:`${e.progress}%`}})}),(0,I.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[s&&(0,I.jsx)("button",{type:"button",onClick:()=>r(e.id),className:"p-0.5 rounded hover:bg-red-100 transition-colors",title:"Retry upload",children:(0,I.jsx)(H.RefreshCw,{className:"w-3 h-3"})}),(0,I.jsx)("button",{type:"button",onClick:()=>t(e.id),className:"p-0.5 rounded hover:bg-[var(--muted)] transition-colors",title:"Remove",children:(0,I.jsx)(q.X,{className:"w-3 h-3"})})]})]},e.id)})})}],951579),e.s(["ComposerDropZone",0,function({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,I.jsxs)("div",{className:"relative",onDragEnter:l,onDragOver:i,onDragLeave:o,onDrop:d,children:[r,a&&(0,I.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,I.jsx)("span",{className:"text-sm font-medium text-blue-600",children:"Drop files to attach"})})]})}],196422);let K=(0,S.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",0,K],818656)},999824,e=>{"use strict";let t=(0,e.i(363732).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",0,t],999824)},984242,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(97486),i=e.i(715742),o=e.i(48977),d=e.i(534957),u=e.i(167909),c=e.i(973949),p=e.i(518519),m=e.i(598485),f=e.i(8596),h=e.i(113531),x=e.i(990933),g=e.i(755809),v=e.i(834086),b=e.i(239545),y=e.i(859198),j=e.i(966308),w=e.i(201196),k=e.i(711989),N=e.i(924441),C=e.i(951579),$=e.i(196422),M=e.i(818656),I=e.i(999824),S=e.i(196630),P=e.i(498027),A=e.i(797167);function D(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()}e.s(["Composer",0,function({onSend:e,onStop:T,loading:L,activityStatus:F,sendInterruptsBusy:z=!1,participants:E,projects:O=[],projectGroups:R=[],projectSlug:U,messages:W=[],commands:q,placeholder:H="Message — @name to mention, /search, /summarize",workspaceRoots:B=[],onConfigureRoots:_,pendingThreadInsert:K,onClearPendingThread:J,autoMode:V=!1,onAutoModeChange:Z,repos:X=[],selectedRepoIds:G,onRepoSelectionChange:Q,initialPinnedParticipantId:Y}){let ee,et,er,ea=F??(L?"working":"ready"),en="ready"!==ea,[es,el]=(0,r.useState)(Y??null),[ei,eo]=(0,r.useState)(new Set),ed=G??ei,eu=(0,r.useRef)(ed);eu.current=ed;let ec=(0,r.useCallback)(e=>{let t="function"==typeof e?e(eu.current):e;Q?Q(t):eo(t)},[Q]),[ep,em]=(0,r.useState)(!1),ef=(0,r.useRef)(null),eh=(0,r.useRef)(null),ex=(0,r.useRef)(!1),eg=(0,r.useRef)(()=>{}),ev=(0,r.useCallback)(()=>{eh.current?.click()},[]),[eb,ey]=(0,r.useState)([]),{issues:ej}=(0,m.useLinearIssueMentions)({projectSlug:U}),ew=(0,l.useMentionAutocomplete)({participants:E,projectGroups:R,projects:O,linearIssues:ej,maxSuggestions:8}),ek=(0,i.useCommandAutocomplete)({commands:q,maxSuggestions:6}),eN=(0,d.useFileMention)({maxSuggestions:8}),eC=(0,u.useThreadMention)({messages:W,maxSuggestions:8}),e$=(0,o.useAttachments)();eg.current=e$.stageFiles;let eM=(0,c.useComposerAttachments)(),eI=(0,p.useComposerHistory)();(0,r.useEffect)(()=>{es&&!E.some(e=>e.id===es)&&el(null)},[E,es]),(0,r.useEffect)(()=>{if(!ep)return;let e=e=>{ef.current&&!ef.current.contains(e.target)&&em(!1)};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[ep]),(0,r.useEffect)(()=>{if(null!=G||0===ei.size)return;let e=new Set(X.map(e=>e.id)),t=new Set([...ei].filter(t=>e.has(t)));t.size<ei.size&&eo(t)},[X,G,ei]);let eS=(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:H}),v.ParticipantMention,v.ProjectMention,v.FileMention,v.ThreadMention,v.LinearIssueMention],editorProps:{attributes:{class:"composer-editor",role:"combobox","aria-autocomplete":"list"},handleDOMEvents:{compositionstart:()=>(ex.current=!0,ew.startComposition(),!1),compositionend:(e,t)=>(ex.current=!1,setTimeout(()=>{if(!eS)return;let e=(0,y.getCurrentParagraphText)(eS);e&&ew.endComposition(e.text,e.cursorPos)},0),!1)},handlePaste:(e,t)=>{let r=(0,g.getClipboardAttachmentFiles)(t.clipboardData);if(r.length>0)return eg.current(r),!0;if((0,g.clipboardMayContainImageAttachments)(t.clipboardData)){let e="u">typeof navigator?navigator.clipboard:void 0;if("function"==typeof e?.read)return(0,g.readClipboardAttachmentFiles)(t.clipboardData,e).then(e=>{e.length>0&&eg.current(e)}).catch(e=>{console.error("Failed to read pasted clipboard attachments:",e)}),!0}return!1},handleKeyDown:(e,t)=>{if("Tab"===t.key||"Enter"===t.key&&!t.shiftKey){if(ek.isOpen&&ek.filteredCommands.length>0){t.preventDefault();let e=ek.filteredCommands[ek.activeIndex];return e&&eF(e),!0}if(eN.isOpen&&eN.suggestions.length>0){t.preventDefault();let e=eN.suggestions[eN.activeIndex];return e&&("folder"===e.type?eT(e):eD(e)),!0}if(eC.isOpen&&eC.suggestions.length>0){t.preventDefault();let e=eC.suggestions[eC.activeIndex];return e&&eL(e),!0}if(ew.isOpen&&ew.filteredSuggestions.length>0){t.preventDefault();let e=ew.filteredSuggestions[ew.activeIndex];return e&&eA(e),!0}}let r={key:t.key,preventDefault:()=>t.preventDefault()};if(ek.isOpen&&ek.handleKeyDown(r)||eN.isOpen&&eN.handleKeyDown(r)||eC.isOpen&&eC.handleKeyDown(r)||ew.handleKeyDown(r))return!0;if(("ArrowUp"===t.key||"ArrowDown"===t.key)&&!ew.isOpen&&!ek.isOpen&&!eN.isOpen&&!eC.isOpen){let e=(0,b.serializeToPlainText)(eS.getJSON()).trim(),{state:r}=eS.view,a="ArrowUp"===t.key,n=a?r.selection.from<=1:r.selection.to>=r.doc.content.size-1,s=eI.navigate(a?"up":"down",e,n);if(null!==s)return t.preventDefault(),eS.commands.setContent(s),eS.commands.focus("end"),!0}return"Enter"===t.key&&!t.shiftKey&&(t.preventDefault(),ez(),!0)}},onUpdate:({editor:e})=>{if(ex.current)return;-1!==eI.historyIndex&&eI.resetNavigation();let t=(0,y.getCurrentParagraphText)(e);t&&(ew.handleInput(t.text,t.cursorPos),ek.handleInput(t.text,t.cursorPos),eN.handleInput(t.text,t.cursorPos),eC.handleInput(t.text,t.cursorPos))},onBlur:()=>{ew.close(),ek.close(),eN.close(),eC.close()}});(0,r.useEffect)(()=>{if(!K||!eS)return;let{title:e,threadId:t,messages:r}=K;eS.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))};eC.exportDiscussion(n).then(e=>ey(t=>[...t,e])).catch(e=>console.error("Failed to export discussion for Add to chat:",e))}J?.()},[K]);let eP=(0,r.useCallback)(()=>{if(!eS)return;let e=(0,y.getCurrentParagraphText)(eS);e&&ew.handleInput(e.text,e.cursorPos)},[eS,ew]),eA=(0,r.useCallback)(e=>{if(!eS)return;let t=ew.selectSuggestion(e);if(!t)return;let r=(0,y.getCurrentParagraphText)(eS);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"}};D(eS,r.blockStart,t.startIndex,t.endIndex,n),ew.close()},[eS,ew]),eD=(0,r.useCallback)(e=>{if(!eS)return;let t=eN.selectSuggestion(e);if(!t)return;let r=(0,y.getCurrentParagraphText)(eS);if(!r)return;let a={type:"fileMention",attrs:{path:e.path,relativePath:e.relativePath??e.path,trigger:eN.token?.trigger??"@/",attachMode:e.attachMode}};D(eS,r.blockStart,t.startIndex,t.endIndex,a),eM.addFilePath(e.path,e.relativePath??e.path,e.attachMode)},[eS,eN,eM]),eT=(0,r.useCallback)(e=>{if(!eS)return;let t=(0,y.getCurrentParagraphText)(eS);if(!t)return;let r=eN.drillDown(e);if(!r)return;let a=(0,y.plainTextRangeToPos)(eS,t.blockStart,r.startIndex,r.endIndex);a&&eS.chain().focus().deleteRange(a).insertContent(r.text).run()},[eS,eN]),eL=(0,r.useCallback)(async e=>{if(!eS)return;let t=eC.selectSuggestion(e);if(!t)return;let r=(0,y.getCurrentParagraphText)(eS);if(!r)return;let a={type:"threadMention",attrs:{threadId:e.rootMessageId,title:e.title}};D(eS,r.blockStart,t.startIndex,t.endIndex,a);try{let t=await eC.exportDiscussion(e);ey(e=>[...e,t])}catch(e){console.error("Failed to export discussion:",e)}},[eS,eC]),eF=(0,r.useCallback)(e=>{ek.selectCommand(e),eS&&eS.commands.clearContent()},[ek,eS]),ez=(0,r.useCallback)(async()=>{if(!eS)return;let t=eS.getJSON(),r=(0,b.serializeToPlainText)(t).trim();if(!r&&!e$.hasUploaded&&!eM.hasFilePaths||!e$.canSend)return;if(r){let e=q.find(e=>e.name===r||e.aliases?.some(e=>`/${e}`===r));if(e){e.execute(),eS.commands.clearContent(),ek.close(),ew.close();return}}let a=r||"(attached files)",n=[];if(ed.size>0){let e=X.filter(e=>ed.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(eb.length>0){let e=eb.map(e=>`- "${e.title}" — ${e.summary} (full transcript: ${e.filePath})`).join("\n");n.push(`Referenced threads:
|
|
9
|
+
${e}`)}if(eM.hasFilePaths){let e=await (0,f.buildAgentContext)(eM.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,es);r&&eI.pushEntry(r);let o=e$.attachmentIds.length>0?e$.attachmentIds:void 0,d=o?e$.getAttachmentMetas():void 0;e(a,10,o,d,es??void 0,l,i),eS.commands.clearContent(),ey([]),e$.clear(),eM.clearFilePaths(),ew.close(),ek.close(),eC.close()},[eS,ew,ek,q,e,e$,eM,eb,eC,eI,ed,X,es]),eE=ew.isOpen&&ew.filteredSuggestions.length>0;ek.isOpen&&ek.filteredCommands.length,eN.isOpen&&eN.suggestions.length,eC.isOpen&&eC.suggestions.length,eE&&ew.filteredSuggestions[ew.activeIndex];let eO=e$.staged.some(e=>"uploading"===e.status),eR=!eS||eS.isEmpty,eU=E.find(e=>e.id===es)??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:e$.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:[Z&&(0,t.jsxs)("div",{className:`relative overflow-hidden border-b transition-all duration-500 ${V?"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 ${V?"opacity-100":"opacity-0"}`,style:{background:"linear-gradient(120deg, var(--warning-muted) 0%, transparent 50%, var(--warning-muted) 100%)",backgroundSize:"200% 100%",animation:V?"shipBgSweep 4s ease-in-out infinite":"none"}}),V&&(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 ${V?"bg-[var(--warning)] text-[var(--warning-muted)] shadow-md":"bg-[var(--app-shell-subtle)] text-[var(--app-shell-muted)]"}`,style:V?{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 ${V?"text-[var(--warning)]":"text-[var(--foreground)]"}`,children:"Ship Mode"}),(0,t.jsx)("span",{className:`text-xs transition-colors duration-300 ${V?"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 ${V?"text-[var(--warning)] opacity-80":"text-[var(--app-shell-muted)]"}`,children:V?"Continuous execution is active for this thread":"Continuous execution stays off until you enable it"})]}),(0,t.jsx)("button",{type:"button",onClick:()=>Z(!V),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)] ${V?"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 ${V?"translate-x-6":"translate-x-1"}`})})]})})]}),(0,t.jsxs)("div",{className:"p-1.5 transition-all",children:[e$.staged.length>0&&(0,t.jsx)("div",{className:"mx-2 mt-2 mb-1",children:(0,t.jsx)(C.AttachmentTray,{attachments:e$.staged,onRemove:e$.remove,onRetry:e$.retry})}),(0,t.jsxs)("div",{className:"p-2 relative",children:[(0,t.jsx)("input",{ref:eh,type:"file",multiple:!0,className:"hidden",onChange:e=>{e.target.files&&e.target.files.length>0&&(e$.stageFiles(e.target.files),e.target.value="")}}),(0,t.jsxs)("div",{className:"flex-1 relative",onClick:eP,children:[(0,t.jsx)(a.EditorContent,{editor:eS,className:"composer-editor"}),(0,t.jsx)(j.MentionPopover,{isOpen:ew.isOpen&&!ek.isOpen,suggestions:ew.filteredSuggestions,activeIndex:ew.activeIndex,listboxId:"composer-mention-listbox",optionIdPrefix:"composer-mention-option",onSelect:eA}),(0,t.jsx)(w.CommandPopover,{isOpen:ek.isOpen,commands:ek.filteredCommands,activeIndex:ek.activeIndex,listboxId:"composer-command-listbox",optionIdPrefix:"composer-command-option",onSelect:eF}),(0,t.jsx)(k.FileMentionPopover,{isOpen:eN.isOpen,suggestions:eN.suggestions,activeIndex:eN.activeIndex,isLoading:eN.isLoading,error:eN.error,listboxId:"composer-file-mention-listbox",optionIdPrefix:"composer-file-mention-option",onSelect:e=>{"folder"===e.type?eT(e):eD(e)},onAttachContents:eN.onAttachContents}),(0,t.jsx)(N.ThreadMentionPopover,{isOpen:eC.isOpen&&!ek.isOpen&&!eN.isOpen,suggestions:eC.suggestions,activeIndex:eC.activeIndex,listboxId:"composer-thread-mention-listbox",optionIdPrefix:"composer-thread-mention-option",onSelect:eL})]})]}),(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:ev,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===E.length?(0,t.jsx)("span",{className:"text-[10px] font-medium text-[var(--app-shell-muted)]",children:"No agents"}):E.map(e=>(0,t.jsxs)("div",{role:"button",tabIndex:0,"aria-pressed":es===e.id,onClick:()=>el(t=>t===e.id?null:e.id),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),el(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 ${es===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"}),en&&(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"===ea?"bg-amber-400":"bg-emerald-400"}`})]},e.id))})]}),eU&&(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:eU.name})]})]}),X.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:ef,children:[(0,t.jsxs)("button",{type:"button",onClick:()=>em(e=>!e),className:"composer-repo-select-trigger","aria-haspopup":"listbox","aria-expanded":ep,children:[(0,t.jsx)(S.FolderGit2,{className:"h-3.5 w-3.5",strokeWidth:1.75}),(0,t.jsx)("span",{children:"Folders"}),(0,t.jsx)(P.ChevronDown,{className:`h-3 w-3 transition-transform ${ep?"rotate-180":""}`})]}),ep&&(0,t.jsx)("div",{className:"composer-repo-dropdown",role:"listbox","aria-multiselectable":"true",children:X.map(e=>{let r=ed.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:()=>ec(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r}),children:[(0,t.jsx)("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)})})]}),(et=(ee=X.filter(e=>ed.has(e.id))).slice(0,1),er=ee.length-1,(0,t.jsxs)(t.Fragment,{children:[et.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:()=>ec(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)),er>0&&(0,t.jsxs)("span",{className:"composer-repo-pill composer-repo-pill--overflow",children:["+",er]})]}))]})]})]}),en&&!z?(0,t.jsx)("button",{type:"button",onClick:T,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:eR&&!e$.hasUploaded&&!eM.hasFilePaths||eO,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"===ea?"bg-emerald-400 animate-pulse":"queued"===ea?"bg-amber-400":"bg-emerald-400"}`}),(0,t.jsx)("span",{children:"working"===ea?"Working":"queued"===ea?"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"]})]})]})})}])}]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,367859,e=>{"use strict";let t=(0,e.i(363732).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",0,t],367859)},437307,e=>{"use strict";let t=(0,e.i(363732).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,t],437307)},794731,e=>{"use strict";let t=(0,e.i(363732).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],794731)},580873,e=>{"use strict";let t=(0,e.i(363732).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",0,t],580873)},203096,e=>{"use strict";let t=(0,e.i(363732).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",0,t],203096)},423709,e=>{"use strict";e.s(["stripMarkers",0,function(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()}])},990933,e=>{"use strict";function t(e){if("string"==typeof e)return e.trim()||void 0}e.s(["extractComposerRouting",0,function(e,r){let a=new Set,n=new Set;!function e(t,r){if(t)for(let a of t)r(a),e(a.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&&(a.add(r),"parallel"===t.mode&&n.add(r))});let s=t(r);return{...s?{pinnedParticipantId:s}:{},mentionedParticipantIds:Array.from(a),parallelParticipantIds:Array.from(n)}},"orderParticipantIds",0,function(e,r){let a=function(e){if(!Array.isArray(e))return[];let t=new Set,r=[];for(let a of e){if("string"!=typeof a)continue;let e=a.trim();!e||t.has(e)||(t.add(e),r.push(e))}return r}(e),n=t(r);return n&&a.includes(n)?[n,...a.filter(e=>e!==n)]:a}])},66386,e=>{"use strict";var t=e.i(271645),r=e.i(618566);function a(e){return"string"!=typeof e?null:e.trim()||null}function n(e,t){return(e.get(t)?.trim()??"")||null}e.s(["useUrlSelection",0,function(){let e=(0,r.useRouter)(),s=(0,r.usePathname)(),i=(0,r.useSearchParams)(),l=(0,t.useCallback)(e=>n(i,e),[i]),c=(0,t.useCallback)((e,t)=>(function(e,t,r){let s=function(e,t){let r={...t},s=e=>Object.prototype.hasOwnProperty.call(t,e);if(s("issue")&&!s("run")){let s=n(e,"issue");a(t.issue)!==s&&(r.run=null)}if(s("job")&&!s("run")){let s=n(e,"job");a(t.job)!==s&&(r.run=null)}if(s("open")&&!s("message")){let s=n(e,"open");a(t.open)!==s&&(r.message=null)}return r}(t,r),i=new URLSearchParams(t.toString());for(let[e,t]of Object.entries(s)){let r=a(t);r?i.set(e,r):i.delete(e)}let l=i.toString();return l?`${e}?${l}`:e})(t??s,i,e),[s,i]),o=(0,t.useCallback)((t,r)=>{e.push(c(t,r))},[c,e]),u=(0,t.useCallback)((t,r)=>{e.replace(c(t,r))},[c,e]);return{pathname:s,searchParams:i,getSelection:l,buildHref:c,pushSelection:o,replaceSelection:u}}])},945028,490011,e=>{"use strict";var t=e.i(271645);function r(e){return`threadId=${encodeURIComponent(e)}`}function a(e){return`workspaceId=${encodeURIComponent(e)}`}e.s(["useGroupChat",0,function(e){let[n,s]=(0,t.useState)([]),[i,l]=(0,t.useState)([]),[c,o]=(0,t.useState)([]),u=(0,t.useRef)(e),d=(0,t.useRef)(e);u.current=e,d.current!==e&&(d.current=e,s([]),l([]),o([]));let p=(0,t.useCallback)(async e=>{let t=e?.trim()||u.current?.trim();if(!t){s([]),l([]);return}let n=r(t);try{let[e,r]=await Promise.all([fetch(`/api/history?${n}`),fetch(`/api/logs?${a(t)}`)]);if(u.current!==t)return;e.ok&&s(await e.json()),r.ok&&l(await r.json())}catch{}},[]),h=(0,t.useCallback)(async e=>{let t=e?.trim()||u.current?.trim();if(!t){s([]),l([]);return}let n=r(t);await Promise.all([fetch(`/api/history?${n}`,{method:"DELETE"}),fetch(`/api/logs?${a(t)}`,{method:"DELETE"})]),u.current===t&&(s([]),l([]))},[]),m=(0,t.useCallback)(async(e,t=10,r,a,n,i,l,c,d,p)=>{let h=r?.trim()||u.current?.trim();if(!h)return;let m=Date.now(),f=crypto.randomUUID(),y={id:f,role:"user",participantId:null,content:e,timestamp:m,rootMessageId:a||null,parentMessageId:a||null,depth:+!!a,...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:h,prompt:e,promptPrefix:d||void 0,maxRounds:t,userMessageId:f,rootMessageId:a||void 0,attachmentIds:n?.length?n:void 0,activeParticipantIds:Array.isArray(l)?l:void 0,projectSlug:c?.trim()||void 0,routing:p})}),i=await r.json().catch(e=>(console.warn("[useGroupChat] failed to parse run response:",e),null));r.ok&&i?.chatRunId?o(e=>[{chatRunId:i.chatRunId,threadId:h,rootMessageId:a||f,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...e.filter(e=>e.chatRunId!==i.chatRunId)]):r.ok||(console.error(`[useGroupChat] POST /api/chat failed (${r.status}):`,i?.error||r.statusText),s(e=>e.map(e=>e.id===f?{...e,sendFailed:!0}:e)))}catch(e){console.error("[useGroupChat] network error sending message:",e),s(e=>e.map(e=>e.id===f?{...e,sendFailed:!0}:e))}return f},[]),f=(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:n,setMessages:s,logs:i,sendMessage:m,loadHistory:p,clearHistory:h,clearLogs:(0,t.useCallback)(async e=>{let t=e?.trim()||u.current?.trim();t?(await fetch(`/api/logs?${a(t)}`,{method:"DELETE"}).catch(e=>console.warn("[useGroupChat] delete logs failed:",e)),u.current===t&&l([])):l([])},[]),chatRuns:c,setChatRuns:o,stop:f,stopThread:y}}],945028);let n=new Set(["spawning","running"]);e.s(["useProcessPolling",0,function(e,r){let a=r?.intervalMs??1500,s=r?.idleIntervalMs??1e4,[i,l]=(0,t.useState)(new Set),[c,o]=(0,t.useState)([]),[u,d]=(0,t.useState)({}),[p,h]=(0,t.useState)([]),m=(0,t.useRef)(e);m.current=e;let f=(0,t.useRef)(r?.messages??[]);f.current=r?.messages??[];let y=(0,t.useRef)(r?.setMessages);y.current=r?.setMessages;let g=(0,t.useRef)(0);(0,t.useEffect)(()=>{let e=r?.messages??[];if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t)}},[r?.messages]);let k=(0,t.useCallback)(async()=>{let e=m.current;if(!e){l(new Set),o([]),d({}),h([]);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),o([]),d({}),h([]);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,c=[fetch(t)];s&&c.push(fetch(s)),i&&c.push(fetch(i));let[u,p,k]=await Promise.all(c),v=m.current;if(v?.threadId!==e.threadId||v?.workspaceId!==e.workspaceId)return;if(u.ok){let e=await u.json();o(e);let t=new Set(e.filter(e=>n.has(e.state)).map(e=>e.agentId));l(t);let r={};for(let t of e){if(!n.has(t.state))continue;let e=f.current.find(e=>e.id===t.sinceMessageId),a=e?.rootMessageId??t.sinceMessageId;r[t.agentId]={content:"",rootMessageId:a}}d(r)}if(k?.ok){var r;let e=(r=await k.json(),Array.isArray(r)?r.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,a="string"==typeof e.status?e.status:null,n="string"==typeof e.rootMessageId?e.rootMessageId:(e.rootMessageId,null);return t&&r&&a&&("queued"===a||"running"===a||"awaiting_user"===a||"blocked"===a||"completed"===a||"failed"===a||"cancelled"===a)?{chatRunId:t,threadId:r,rootMessageId:n,status:a,optimistic:!1}:null}).filter(e=>!!e):[]);h(e)}if(p?.ok&&y.current){let e=await p.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)),a=e.filter(e=>!r.has(e.id)),n=t.map(t=>e.find(e=>e.id===t.id)??t);return 0===a.length?n:[...n,...a].sort((e,t)=>e.timestamp-t.timestamp)})}}}catch{}},[]),v=e?.threadId||e?.workspaceId||null,w=p.some(e=>"queued"===e.status||"running"===e.status),x=c.some(e=>n.has(e.state)),I=w||x?a:s;return(0,t.useEffect)(()=>{if(!v){l(new Set),o([]),d({}),h([]);return}k();let e=setInterval(k,I);return()=>clearInterval(e)},[v,I,k]),{activeAgents:i,processes:c,streaming:u,chatRuns:p,poll:k}}],490011)},245900,e=>{"use strict";let t=(0,e.i(363732).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",0,t],245900)},807087,e=>{"use strict";let t=(0,e.i(363732).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",0,t],807087)},352687,e=>{"use strict";var t=e.i(843476),r=e.i(271645);e.s(["default",0,function({isOpen:e,title:a,message:n,preview:s,confirmLabel:i="Confirm",cancelLabel:l="Cancel",variant:c="default",onConfirm:o,onCancel:u}){let d=(0,r.useRef)(null),p=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(e){let e=setTimeout(()=>d.current?.focus(),50);return()=>clearTimeout(e)}},[e]);let h=(0,r.useCallback)(e=>{"Escape"===e.key&&u()},[u]);if(!e)return null;let m="danger"===c;return(0,t.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/50 backdrop-blur-md",style:{animation:"confirm-overlay-in 200ms ease-out"},onClick:e=>e.target===e.currentTarget&&u(),onKeyDown:h,children:[(0,t.jsxs)("div",{ref:p,className:"w-full max-w-md mx-4 bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-2xl overflow-hidden",style:{animation:"confirm-dialog-in 250ms cubic-bezier(0.34, 1.56, 0.64, 1)"},children:[(0,t.jsx)("div",{className:"px-6 pt-6 pb-3",children:(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[m&&(0,t.jsx)("div",{className:"flex-shrink-0 w-11 h-11 rounded-full bg-red-500/10 border border-red-500/20 flex items-center justify-center",children:(0,t.jsx)("svg",{className:"w-5 h-5 text-red-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"})})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("h3",{className:"text-[15px] font-semibold text-[var(--foreground)]",children:a}),(0,t.jsx)("p",{className:"mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:n})]})]})}),s&&(0,t.jsx)("div",{className:"mx-6 mb-3 px-3 py-2.5 rounded-lg bg-[var(--muted)]/40 border border-[var(--card-border)]",children:(0,t.jsxs)("p",{className:"text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",s,"”"]})}),(0,t.jsx)("div",{className:"mx-6 border-t border-[var(--card-border)]"}),(0,t.jsxs)("div",{className:"px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,t.jsx)("button",{onClick:u,className:"px-4 py-2 rounded-lg text-[13px] font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]/60 transition-all duration-150",children:l}),(0,t.jsx)("button",{ref:d,onClick:o,className:`px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${m?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:i})]})]}),(0,t.jsx)("style",{children:`
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,367859,e=>{"use strict";let t=(0,e.i(363732).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",0,t],367859)},437307,e=>{"use strict";let t=(0,e.i(363732).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,t],437307)},794731,e=>{"use strict";let t=(0,e.i(363732).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],794731)},580873,e=>{"use strict";let t=(0,e.i(363732).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",0,t],580873)},203096,e=>{"use strict";let t=(0,e.i(363732).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",0,t],203096)},423709,e=>{"use strict";e.s(["stripMarkers",0,function(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()}])},990933,e=>{"use strict";function t(e){if("string"==typeof e)return e.trim()||void 0}e.s(["extractComposerRouting",0,function(e,r){let a=new Set,n=new Set;!function e(t,r){if(t)for(let a of t)r(a),e(a.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&&(a.add(r),"parallel"===t.mode&&n.add(r))});let s=t(r);return{...s?{pinnedParticipantId:s}:{},mentionedParticipantIds:Array.from(a),parallelParticipantIds:Array.from(n)}},"orderParticipantIds",0,function(e,r){let a=function(e){if(!Array.isArray(e))return[];let t=new Set,r=[];for(let a of e){if("string"!=typeof a)continue;let e=a.trim();!e||t.has(e)||(t.add(e),r.push(e))}return r}(e),n=t(r);return n&&a.includes(n)?[n,...a.filter(e=>e!==n)]:a}])},66386,e=>{"use strict";var t=e.i(271645),r=e.i(618566);function a(e){return"string"!=typeof e?null:e.trim()||null}function n(e,t){return(e.get(t)?.trim()??"")||null}e.s(["useUrlSelection",0,function(){let e=(0,r.useRouter)(),s=(0,r.usePathname)(),i=(0,r.useSearchParams)(),l=(0,t.useCallback)(e=>n(i,e),[i]),c=(0,t.useCallback)((e,t)=>(function(e,t,r){let s=function(e,t){let r={...t},s=e=>Object.prototype.hasOwnProperty.call(t,e);if(s("issue")&&!s("run")){let s=n(e,"issue");a(t.issue)!==s&&(r.run=null)}if(s("job")&&!s("run")){let s=n(e,"job");a(t.job)!==s&&(r.run=null)}if(s("open")&&!s("message")){let s=n(e,"open");a(t.open)!==s&&(r.message=null)}return r}(t,r),i=new URLSearchParams(t.toString());for(let[e,t]of Object.entries(s)){let r=a(t);r?i.set(e,r):i.delete(e)}let l=i.toString();return l?`${e}?${l}`:e})(t??s,i,e),[s,i]),o=(0,t.useCallback)((t,r)=>{e.push(c(t,r))},[c,e]),u=(0,t.useCallback)((t,r)=>{e.replace(c(t,r))},[c,e]);return{pathname:s,searchParams:i,getSelection:l,buildHref:c,pushSelection:o,replaceSelection:u}}])},945028,490011,e=>{"use strict";var t=e.i(271645);function r(e){return`threadId=${encodeURIComponent(e)}`}function a(e){return`workspaceId=${encodeURIComponent(e)}`}e.s(["useGroupChat",0,function(e){let[n,s]=(0,t.useState)([]),[i,l]=(0,t.useState)([]),[c,o]=(0,t.useState)([]),u=(0,t.useRef)(e),d=(0,t.useRef)(e);u.current=e,d.current!==e&&(d.current=e,s([]),l([]),o([]));let p=(0,t.useCallback)(async e=>{let t=e?.trim()||u.current?.trim();if(!t){s([]),l([]);return}let n=r(t);try{let[e,r]=await Promise.all([fetch(`/api/history?${n}`),fetch(`/api/logs?${a(t)}`)]);if(u.current!==t)return;e.ok&&s(await e.json()),r.ok&&l(await r.json())}catch{}},[]),h=(0,t.useCallback)(async e=>{let t=e?.trim()||u.current?.trim();if(!t){s([]),l([]);return}let n=r(t);await Promise.all([fetch(`/api/history?${n}`,{method:"DELETE"}),fetch(`/api/logs?${a(t)}`,{method:"DELETE"})]),u.current===t&&(s([]),l([]))},[]),f=(0,t.useCallback)(async(e,t=10,r,a,n,i,l,c,d,p)=>{let h=r?.trim()||u.current?.trim();if(!h)return;let f=Date.now(),m=crypto.randomUUID(),y={id:m,role:"user",participantId:null,content:e,timestamp:f,rootMessageId:a||null,parentMessageId:a||null,depth:+!!a,...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:h,prompt:e,promptPrefix:d||void 0,maxRounds:t,userMessageId:m,rootMessageId:a||void 0,attachmentIds:n?.length?n:void 0,activeParticipantIds:Array.isArray(l)?l:void 0,projectSlug:c?.trim()||void 0,routing:p})}),i=await r.json().catch(e=>(console.warn("[useGroupChat] failed to parse run response:",e),null));r.ok&&i?.chatRunId?o(e=>[{chatRunId:i.chatRunId,threadId:h,rootMessageId:a||m,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...e.filter(e=>e.chatRunId!==i.chatRunId)]):r.ok||(console.error(`[useGroupChat] POST /api/chat failed (${r.status}):`,i?.error||r.statusText),s(e=>e.map(e=>e.id===m?{...e,sendFailed:!0}:e)))}catch(e){console.error("[useGroupChat] network error sending message:",e),s(e=>e.map(e=>e.id===m?{...e,sendFailed:!0}:e))}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:n,setMessages:s,logs:i,sendMessage:f,loadHistory:p,clearHistory:h,clearLogs:(0,t.useCallback)(async e=>{let t=e?.trim()||u.current?.trim();t?(await fetch(`/api/logs?${a(t)}`,{method:"DELETE"}).catch(e=>console.warn("[useGroupChat] delete logs failed:",e)),u.current===t&&l([])):l([])},[]),chatRuns:c,setChatRuns:o,stop:m,stopThread:y}}],945028);let n=new Set(["spawning","running"]);e.s(["useProcessPolling",0,function(e,r){let a=r?.intervalMs??1500,s=r?.idleIntervalMs??1e4,[i,l]=(0,t.useState)(new Set),[c,o]=(0,t.useState)([]),[u,d]=(0,t.useState)({}),[p,h]=(0,t.useState)([]),f=(0,t.useRef)(e);f.current=e;let m=(0,t.useRef)(r?.messages??[]);m.current=r?.messages??[];let y=(0,t.useRef)(r?.setMessages);y.current=r?.setMessages;let g=(0,t.useRef)(0);(0,t.useEffect)(()=>{let e=r?.messages??[];if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t)}},[r?.messages]);let k=(0,t.useCallback)(async()=>{let e=f.current;if(!e){l(new Set),o([]),d({}),h([]);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),o([]),d({}),h([]);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,c=[fetch(t)];s&&c.push(fetch(s)),i&&c.push(fetch(i));let[u,p,k]=await Promise.all(c),v=f.current;if(v?.threadId!==e.threadId||v?.workspaceId!==e.workspaceId)return;if(u.ok){let e=await u.json();o(e);let t=new Set(e.filter(e=>n.has(e.state)).map(e=>e.agentId));l(t);let r={};for(let t of e){if(!n.has(t.state))continue;let e=m.current.find(e=>e.id===t.sinceMessageId),a=e?.rootMessageId??t.sinceMessageId;r[t.agentId]={content:"",rootMessageId:a}}d(r)}if(k?.ok){var r;let e=(r=await k.json(),Array.isArray(r)?r.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,a="string"==typeof e.status?e.status:null,n="string"==typeof e.rootMessageId?e.rootMessageId:(e.rootMessageId,null);return t&&r&&a&&("queued"===a||"running"===a||"awaiting_user"===a||"blocked"===a||"completed"===a||"failed"===a||"cancelled"===a)?{chatRunId:t,threadId:r,rootMessageId:n,status:a,optimistic:!1}:null}).filter(e=>!!e):[]);h(e)}if(p?.ok&&y.current){let e=await p.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)),a=e.filter(e=>!r.has(e.id)),n=t.map(t=>e.find(e=>e.id===t.id)??t);return 0===a.length?n:[...n,...a].sort((e,t)=>e.timestamp-t.timestamp)})}}}catch{}},[]),v=e?.threadId||e?.workspaceId||null,w=p.some(e=>"queued"===e.status||"running"===e.status),x=c.some(e=>n.has(e.state)),I=w||x?a:s;return(0,t.useEffect)(()=>{if(!v){l(new Set),o([]),d({}),h([]);return}k();let e=setInterval(k,I);return()=>clearInterval(e)},[v,I,k]),{activeAgents:i,processes:c,streaming:u,chatRuns:p,poll:k}}],490011)},245900,e=>{"use strict";let t=(0,e.i(363732).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",0,t],245900)},807087,e=>{"use strict";let t=(0,e.i(363732).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",0,t],807087)},352687,e=>{"use strict";var t=e.i(843476),r=e.i(271645);e.s(["default",0,function({isOpen:e,title:a,message:n,preview:s,confirmLabel:i="Confirm",cancelLabel:l="Cancel",variant:c="default",onConfirm:o,onCancel:u}){let d=(0,r.useRef)(null),p=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(e){let e=setTimeout(()=>d.current?.focus(),50);return()=>clearTimeout(e)}},[e]);let h=(0,r.useCallback)(e=>{"Escape"===e.key&&u()},[u]);if(!e)return null;let f="danger"===c;return(0,t.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/50 backdrop-blur-md",style:{animation:"confirm-overlay-in 200ms ease-out"},onClick:e=>e.target===e.currentTarget&&u(),onKeyDown:h,children:[(0,t.jsxs)("div",{ref:p,className:"w-full max-w-md mx-4 bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-2xl overflow-hidden",style:{animation:"confirm-dialog-in 250ms cubic-bezier(0.34, 1.56, 0.64, 1)"},children:[(0,t.jsx)("div",{className:"px-6 pt-6 pb-3",children:(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[f&&(0,t.jsx)("div",{className:"flex-shrink-0 w-11 h-11 rounded-full bg-red-500/10 border border-red-500/20 flex items-center justify-center",children:(0,t.jsx)("svg",{className:"w-5 h-5 text-red-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"})})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("h3",{className:"text-[15px] font-semibold text-[var(--foreground)]",children:a}),(0,t.jsx)("p",{className:"mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:n})]})]})}),s&&(0,t.jsx)("div",{className:"mx-6 mb-3 px-3 py-2.5 rounded-lg bg-[var(--muted)]/40 border border-[var(--card-border)]",children:(0,t.jsxs)("p",{className:"text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",s,"”"]})}),(0,t.jsx)("div",{className:"mx-6 border-t border-[var(--card-border)]"}),(0,t.jsxs)("div",{className:"px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,t.jsx)("button",{onClick:u,className:"px-4 py-2 rounded-lg text-[13px] font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]/60 transition-all duration-150",children:l}),(0,t.jsx)("button",{ref:d,onClick:o,className:`px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${f?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:i})]})]}),(0,t.jsx)("style",{children:`
|
|
2
2
|
@keyframes confirm-overlay-in {
|
|
3
3
|
from { opacity: 0; }
|
|
4
4
|
to { opacity: 1; }
|
|
@@ -13,4 +13,4 @@
|
|
|
13
13
|
transform: scale(1) translateY(0);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
`})]})}])},100373,e=>{"use strict";let t=(0,e.i(363732).default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);e.s(["Ban",0,t],100373)},245110,e=>{"use strict";let t=(0,e.i(363732).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",0,t],245110)},693646,e=>{"use strict";let t=(0,e.i(363732).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],693646)},33887,e=>{"use strict";var t=e.i(271645);e.s(["useLinearConnection",0,function(){let[e,r]=(0,t.useState)(!1),[a,n]=(0,t.useState)(!0),[s,i]=(0,t.useState)(null),[l,c]=(0,t.useState)({claude:!1,codex:!1,gemini:!1}),[o,u]=(0,t.useState)({}),d=(0,t.useRef)(null),p=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/linear/mcp-setup"),t=await e.json();u(t.configured??{})}catch{}},[]),h=(0,t.useCallback)(async()=>{try{let[e,t]=await Promise.all([fetch("/api/linear/status"),fetch("/api/linear/mcp-setup")]),a=await e.json(),n=await t.json();return r(a.connected),i(a.user??null),c(a.clis??{claude:!1,codex:!1,gemini:!1}),u(n.configured??{}),a.connected}catch{return r(!1),!1}finally{n(!1)}},[]);(0,t.useEffect)(()=>(h(),()=>{d.current&&clearInterval(d.current)}),[h]);let
|
|
16
|
+
`})]})}])},100373,e=>{"use strict";let t=(0,e.i(363732).default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);e.s(["Ban",0,t],100373)},245110,e=>{"use strict";let t=(0,e.i(363732).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",0,t],245110)},693646,e=>{"use strict";let t=(0,e.i(363732).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],693646)},33887,e=>{"use strict";var t=e.i(271645);e.s(["useLinearConnection",0,function(){let[e,r]=(0,t.useState)(!1),[a,n]=(0,t.useState)(!0),[s,i]=(0,t.useState)(null),[l,c]=(0,t.useState)({claude:!1,codex:!1,gemini:!1}),[o,u]=(0,t.useState)({}),d=(0,t.useRef)(null),p=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/linear/mcp-setup"),t=await e.json();u(t.configured??{})}catch{}},[]),h=(0,t.useCallback)(async()=>{try{let[e,t]=await Promise.all([fetch("/api/linear/status"),fetch("/api/linear/mcp-setup")]),a=await e.json(),n=await t.json();return r(a.connected),i(a.user??null),c(a.clis??{claude:!1,codex:!1,gemini:!1}),u(n.configured??{}),a.connected}catch{return r(!1),!1}finally{n(!1)}},[]);(0,t.useEffect)(()=>(h(),()=>{d.current&&clearInterval(d.current)}),[h]);let f=(0,t.useCallback)(()=>{window.open("/api/linear/auth","_blank","noopener"),d.current&&clearInterval(d.current),d.current=setInterval(async()=>{await h()&&d.current&&(clearInterval(d.current),d.current=null)},2e3)},[h]),m=(0,t.useCallback)(async e=>{try{let t=await fetch("/api/linear/token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:e})});if(!t.ok){let e=await t.json().catch(()=>({}));return{ok:!1,error:e.error||"Failed to save token"}}return await h(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[h]);return{connected:e,loading:a,user:s,clis:l,mcpConfigured:o,connect:f,connectWithKey:m,disconnect:(0,t.useCallback)(async()=>{await fetch("/api/linear/status",{method:"DELETE"}),r(!1),i(null)},[]),configureMcp:(0,t.useCallback)(async e=>{try{let t=await fetch("/api/linear/mcp-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:e})});if(!t.ok){let e=await t.json().catch(()=>({}));return{ok:!1,error:e.error||"Failed to configure MCP"}}return await p(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[p]),refresh:h}}])},469612,e=>{e.v(t=>Promise.all(["static/chunks/0il_ov6232avr.js"].map(t=>e.l(t))).then(()=>t(668610)))},501223,e=>{e.v(t=>Promise.all(["static/chunks/177-q0wwdi0qe.js","static/chunks/0ya124ushze_f.js","static/chunks/02tungbq2jlgh.css"].map(t=>e.l(t))).then(()=>t(844118)))}]);
|