@mndrk/agx 2.0.47 → 2.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/folders.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/folders.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/folders.segments/folders.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__015d40a6._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__067034dd._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20a2cb22._.js +8 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__37844df7._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d9f2041b._.js → [root-of-the-server]__3a93931b._.js} +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a3955224._.js +16 -16
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8890cd6._.js +12 -12
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b2a2b86._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__32546242._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ff9ead4._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f2c3b7ab._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f59f0dc7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__d96bb3b5._.js → [root-of-the-server]__fbe1ab4a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1e9b9b1e._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_24fe6213._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_36a0c486._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_3b21d3b2._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_3eeac8f9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_48db42b7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_59f30a73._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_7d3b0032._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_916950b3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_b598ae8a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cc8c8302._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_d972a4e1._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd7bb6fb._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd9880fb._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f02d786a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fd8cafe9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_linear_page_tsx_971a6ba7._.js +15 -12
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_54bf563f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/04c135686161dbb1.js +40 -0
- package/cloud-runtime/standalone/.next/static/chunks/0d63db0c39c0a3b2.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/136ed07d84b14632.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/18866ed04ed3a063.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{ccaf68956da192f8.js → 1bb38e61d891453c.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/2c7c8259c2b56bf5.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2da1f13d50dc4e54.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{fdadad2379039dce.js → 442eb8ef62bef9f9.js} +3 -3
- package/cloud-runtime/standalone/.next/static/chunks/{41c518743656a291.js → 5f33b52d582b0bb4.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{97c11137cd6fc860.js → 64c2961edd3a3b13.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{db131a0b6350e416.js → 692ce04abdbb3970.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/83be8569d298c6b0.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/87b3afe828c8cc52.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{4343e7fe5bf5f34a.js → 9328740727c6456d.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/95d47e285ae9c031.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/b9bf5d3ee92a1313.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/ea35fb870141bcff.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f59722264449b61c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f727d2c8f039511d.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{31fe4e36a00fd7b5.js → f8706212baa8ec67.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/fd823c9d1381335d.js +1 -0
- package/cloud-runtime/standalone/app/automations/page.tsx +11 -1
- package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +11 -1
- package/cloud-runtime/standalone/components/LinearBoard.tsx +118 -21
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +10 -0
- package/cloud-runtime/standalone/components/linear/RunScriptManager.tsx +356 -0
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +35 -0
- package/cloud-runtime/standalone/hooks/useLinearRunScripts.ts +115 -0
- package/cloud-runtime/standalone/lib/linear-client.ts +33 -3
- package/cloud-runtime/standalone/lib/linear-execution-prompt.ts +92 -15
- package/cloud-runtime/standalone/state/automations/.state/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.json +8 -0
- package/cloud-runtime/standalone/state/automations/active/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.md +15 -0
- package/cloud-runtime/standalone/state/linearRunScripts.test.ts +99 -0
- package/cloud-runtime/standalone/state/linearRunScripts.ts +132 -0
- package/cloud-runtime/standalone/state/windowState.ts +21 -0
- package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1154e5b3._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__76290829._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ad6d6402._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__21a9eaef._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__69887882._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__9ad05ace._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bb149a22._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_11ce4c04._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1d949e96._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_32a156b6._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_43c091dc._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_45175f47._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_4f0c544d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_69164b06._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_7f7a828a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_97f6a18e._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a511a014._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_c3a3a829._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cee3cf86._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e8bdedc5._.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/14fff3c493ea9c54.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/2a9c83f8211196e0.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5405540470146645.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/69f2db4b9996b9c1.js +0 -37
- package/cloud-runtime/standalone/.next/static/chunks/8aeb69ceb497ad85.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/a9da98f883ac833b.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b2127dc67c5ade9f.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/baf5d39d089efb87.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/bf2a2fafb710e63c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/c78969fde5798275.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/d3dc6fadb96ab3a2.js +0 -1
- package/cloud-runtime/standalone/state/automations/.state/24a6a5db-3b14-49c4-841f-29f10f015fbb.json +0 -8
- package/cloud-runtime/standalone/state/automations/active/24a6a5db-3b14-49c4-841f-29f10f015fbb.md +0 -17
- /package/cloud-runtime/standalone/.next/static/{lOB5InbmVcurTLQo9J3KK → gty0FO80D_lbq3o9lSpQQ}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{lOB5InbmVcurTLQo9J3KK → gty0FO80D_lbq3o9lSpQQ}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{lOB5InbmVcurTLQo9J3KK → gty0FO80D_lbq3o9lSpQQ}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,355733,e=>{"use strict";var t=e.i(843476),r=e.i(437902),a=e.i(271645);function n({isOpen:e,title:n,message:s,preview:l,confirmLabel:i="Confirm",cancelLabel:c="Cancel",variant:o="default",onConfirm:d,onCancel:u}){let f=(0,a.useRef)(null),p=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(e){let e=setTimeout(()=>f.current?.focus(),50);return()=>clearTimeout(e)}},[e]);let m=(0,a.useCallback)(e=>{"Escape"===e.key&&u()},[u]);if(!e)return null;let h="danger"===o;return(0,t.jsxs)("div",{style:{animation:"confirm-overlay-in 200ms ease-out"},onClick:e=>e.target===e.currentTarget&&u(),onKeyDown:m,className:"jsx-1da17079bc733bcf fixed inset-0 z-[100] flex items-center justify-center bg-black/50 backdrop-blur-md",children:[(0,t.jsxs)("div",{ref:p,style:{animation:"confirm-dialog-in 250ms cubic-bezier(0.34, 1.56, 0.64, 1)"},className:"jsx-1da17079bc733bcf w-full max-w-md mx-4 bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-2xl overflow-hidden",children:[(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf px-6 pt-6 pb-3",children:(0,t.jsxs)("div",{className:"jsx-1da17079bc733bcf flex items-start gap-4",children:[h&&(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf 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",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,className:"jsx-1da17079bc733bcf w-5 h-5 text-red-500",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",className:"jsx-1da17079bc733bcf"})})}),(0,t.jsxs)("div",{className:"jsx-1da17079bc733bcf flex-1 min-w-0",children:[(0,t.jsx)("h3",{className:"jsx-1da17079bc733bcf text-[15px] font-semibold text-[var(--foreground)]",children:n}),(0,t.jsx)("p",{className:"jsx-1da17079bc733bcf mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:s})]})]})}),l&&(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf 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:"jsx-1da17079bc733bcf text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",l,"”"]})}),(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf mx-6 border-t border-[var(--card-border)]"}),(0,t.jsxs)("div",{className:"jsx-1da17079bc733bcf px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,t.jsx)("button",{onClick:u,className:"jsx-1da17079bc733bcf 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:c}),(0,t.jsx)("button",{ref:f,onClick:d,className:`jsx-1da17079bc733bcf px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${h?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:i})]})]}),(0,t.jsx)(r.default,{id:"1da17079bc733bcf",children:"@keyframes confirm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-in{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}"})]})}e.s(["default",()=>n])},430520,e=>{"use strict";var t=e.i(271645);function r(e){return`threadId=${encodeURIComponent(e)}`}function a(e){return`workspaceId=${encodeURIComponent(e)}`}function n(e){let[n,s]=(0,t.useState)([]),[l,i]=(0,t.useState)([]),[c,o]=(0,t.useState)([]),d=(0,t.useRef)(e),u=(0,t.useRef)(e);d.current=e,u.current!==e&&(u.current=e,s([]),i([]),o([]));let f=(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();if(!t){s([]),i([]);return}let n=r(t);try{let[e,r]=await Promise.all([fetch(`/api/history?${n}`),fetch(`/api/logs?${a(t)}`)]);if(d.current!==t)return;e.ok&&s(await e.json()),r.ok&&i(await r.json())}catch{}},[]),p=(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();if(!t){s([]),i([]);return}let n=r(t);await Promise.all([fetch(`/api/history?${n}`,{method:"DELETE"}),fetch(`/api/logs?${a(t)}`,{method:"DELETE"})]),d.current===t&&(s([]),i([]))},[]),m=(0,t.useCallback)(async(e,t=10,r,a,n,l,i,c,u,f)=>{let p=r?.trim()||d.current?.trim();if(!p)return;let m=Date.now(),h=crypto.randomUUID(),b={id:h,role:"user",participantId:null,content:e,timestamp:m,rootMessageId:a||null,parentMessageId:a||null,depth:+!!a,...l&&l.length>0?{attachments:l}:{}};s(e=>[...e,b]);try{let r=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:p,prompt:e,promptPrefix:u||void 0,maxRounds:t,userMessageId:h,rootMessageId:a||void 0,attachmentIds:n?.length?n:void 0,activeParticipantIds:Array.isArray(i)?i:void 0,projectSlug:c?.trim()||void 0,routing:f})}),s=await r.json().catch(()=>null);r.ok&&s?.chatRunId&&o(e=>[{chatRunId:s.chatRunId,threadId:p,rootMessageId:a||h,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...e.filter(e=>e.chatRunId!==s.chatRunId)])}catch{}return h},[]),h=(0,t.useCallback)(async()=>{let e=d.current?.trim();if(e)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]),b=(0,t.useCallback)(async e=>{let t=d.current?.trim();if(t)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(t)}&threadId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]);return{messages:n,setMessages:s,logs:l,sendMessage:m,loadHistory:f,clearHistory:p,clearLogs:(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();t?(await fetch(`/api/logs?${a(t)}`,{method:"DELETE"}).catch(()=>{}),d.current===t&&i([])):i([])},[]),chatRuns:c,setChatRuns:o,stop:h,stopThread:b}}e.s(["useGroupChat",()=>n])},650030,e=>{"use strict";var t=e.i(271645);let r=new Set(["spawning","running"]);function a(e,a){let n=a?.intervalMs??1500,s=a?.idleIntervalMs??1e4,[l,i]=(0,t.useState)(new Set),[c,o]=(0,t.useState)([]),[d,u]=(0,t.useState)({}),[f,p]=(0,t.useState)([]),m=(0,t.useRef)(e);m.current=e;let h=(0,t.useRef)(a?.messages??[]);h.current=a?.messages??[];let b=(0,t.useRef)(a?.setMessages);b.current=a?.setMessages;let y=(0,t.useRef)(0);(0,t.useEffect)(()=>{let e=a?.messages??[];if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>y.current&&(y.current=t)}},[a?.messages]);let g=(0,t.useCallback)(async()=>{let e=m.current;if(!e){i(new Set),o([]),u({}),p([]);return}let t=null;if(e.threadId?t=`/api/processes?threadId=${encodeURIComponent(e.threadId)}`:e.workspaceId&&(t=`/api/processes?workspaceId=${encodeURIComponent(e.workspaceId)}`),!t){i(new Set),o([]),u({}),p([]);return}try{let n=e.workspaceId||e.threadId,s=n?`/api/history?threadId=${encodeURIComponent(n)}&since=${y.current}`:null,l=n?`/api/chat-runs?threadId=${encodeURIComponent(n)}&limit=20`:null,c=[fetch(t)];s&&c.push(fetch(s)),l&&c.push(fetch(l));let[d,f,g]=await Promise.all(c),x=m.current;if(x?.threadId!==e.threadId||x?.workspaceId!==e.workspaceId)return;if(d.ok){let e=await d.json();o(e);let t=new Set(e.filter(e=>r.has(e.state)).map(e=>e.agentId));i(t);let a={};for(let t of e){if(!r.has(t.state))continue;let e=h.current.find(e=>e.id===t.sinceMessageId),n=e?.rootMessageId??t.sinceMessageId;a[t.agentId]={content:"",rootMessageId:n}}u(a)}if(g?.ok){var a;let e=(a=await g.json(),Array.isArray(a)?a.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):[]);p(e)}if(f?.ok&&b.current){let e=await f.json();if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>y.current&&(y.current=t),b.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{}},[]),x=e?.threadId||e?.workspaceId||null,j=f.some(e=>"queued"===e.status||"running"===e.status),I=c.some(e=>r.has(e.state)),k=j||I?n:s;return(0,t.useEffect)(()=>{if(!x){i(new Set),o([]),u({}),p([]);return}g();let e=setInterval(g,k);return()=>clearInterval(e)},[x,k,g]),{activeAgents:l,processes:c,streaming:d,chatRuns:f,poll:g}}e.s(["useProcessPolling",()=>a])},503116,e=>{"use strict";let t=(0,e.i(475254).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",()=>t],503116)},16715,e=>{"use strict";let t=(0,e.i(475254).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},829415,e=>{"use strict";function t(e){return e.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}e.s(["stripMarkers",()=>t])},286476,e=>{"use strict";function t(e){if("string"==typeof e)return e.trim()||void 0}function r(e,r){let 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)}}function a(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}e.s(["extractComposerRouting",()=>r,"orderParticipantIds",()=>a])},178583,e=>{"use strict";let t=(0,e.i(475254).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",()=>t],178583)},531278,717521,e=>{"use strict";let t=(0,e.i(475254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t],717521),e.s(["Loader2",()=>t],531278)},431343,e=>{"use strict";let t=(0,e.i(475254).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],431343)},667585,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let a=e.r(132061);function n({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new a.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},309885,(e,t,r)=>{"use strict";function a(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return a}})},652157,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return c}});let a=e.r(843476),n=e.r(174080),s=e.r(563599),l=e.r(309885),i=e.r(543369);function c({moduleIds:e}){if("u">typeof window)return null;let t=s.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let a=t.reactLoadableManifest;for(let t of e){if(!a[t])continue;let e=a[t].files;r.push(...e)}}if(0===r.length)return null;let c=(0,i.getDeploymentIdQueryOrEmptyString)();return(0,a.jsx)(a.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,l.encodeURIPath)(e)}${c}`;return e.endsWith(".css")?(0,a.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,n.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},869093,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let a=e.r(843476),n=e.r(271645),s=e.r(667585),l=e.r(652157);function i(e){return{default:e&&"default"in e?e.default:e}}let c={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},o=function(e){let t={...c,...e},r=(0,n.lazy)(()=>t.loader().then(i)),o=t.loading;function d(e){let i=o?(0,a.jsx)(o,{isLoading:!0,pastDelay:!0,error:null}):null,c=!t.ssr||!!t.loading,d=c?n.Suspense:n.Fragment,u=t.ssr?(0,a.jsxs)(a.Fragment,{children:["u"<typeof window?(0,a.jsx)(l.PreloadChunks,{moduleIds:t.modules}):null,(0,a.jsx)(r,{...e})]}):(0,a.jsx)(s.BailoutToCSR,{reason:"next/dynamic",children:(0,a.jsx)(r,{...e})});return(0,a.jsx)(d,{...c?{fallback:i}:{},children:u})}return d.displayName="LoadableComponent",d}},770703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}});let a=e.r(555682)._(e.r(869093));function n(e,t){let r={};"function"==typeof e&&(r.loader=e);let n={...r,...t};return(0,a.default)({...n,modules:n.loadableGenerated?.modules})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},711760,e=>{e.v(t=>Promise.all(["static/chunks/0d63db0c39c0a3b2.js","static/chunks/e51fddf53a6dc1e4.js","static/chunks/6103b9b5538bba4d.css"].map(t=>e.l(t))).then(()=>t(895214)))}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,595468,e=>{"use strict";let t=(0,e.i(475254).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",()=>t],595468)},373375,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],373375)},878894,e=>{"use strict";let t=(0,e.i(475254).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",()=>t],878894)},114683,e=>{"use strict";let t=(0,e.i(475254).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],114683)},373884,e=>{"use strict";let t=(0,e.i(475254).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",()=>t],373884)},686311,e=>{"use strict";let t=(0,e.i(475254).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",()=>t],686311)},761911,e=>{"use strict";let t=(0,e.i(475254).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",()=>t],761911)},440160,e=>{"use strict";let t=(0,e.i(475254).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["Download",()=>t],440160)},63209,e=>{"use strict";let t=(0,e.i(475254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>t],63209)},178583,e=>{"use strict";let t=(0,e.i(475254).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",()=>t],178583)},531278,717521,e=>{"use strict";let t=(0,e.i(475254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t],717521),e.s(["Loader2",()=>t],531278)},2651,e=>{"use strict";let t={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function r(e){return e&&"object"==typeof e?{threadSidebarVisible:"boolean"==typeof e.threadSidebarVisible?e.threadSidebarVisible:t.threadSidebarVisible,workspaceRoots:Array.isArray(e.workspaceRoots)?e.workspaceRoots.filter(e=>"string"==typeof e):t.workspaceRoots,homeSearchConsent:"boolean"==typeof e.homeSearchConsent?e.homeSearchConsent:t.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof e.hasCompletedFirstRun?e.hasCompletedFirstRun:t.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(e.fileIgnorePatterns)?e.fileIgnorePatterns.filter(e=>"string"==typeof e):t.fileIgnorePatterns}:t}let a="/api/userPreferences";function s(e){return e.json().then(e=>e&&"object"==typeof e?r(e.preferences??e):r(e)).catch(()=>r(null))}function n(e){return e.statusText||`Failed to reach ${a} (${e.status})`}async function i(){let e=await fetch(a,{cache:"no-store"});if(!e.ok)throw Error(n(e));return s(e)}async function c(e){let t=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:e})});if(!t.ok)throw Error(n(t));return s(t)}e.s(["fetchUserPreferences",()=>i,"updateUserPreferences",()=>c],2651)},430520,e=>{"use strict";var t=e.i(271645);function r(e){return`threadId=${encodeURIComponent(e)}`}function a(e){return`workspaceId=${encodeURIComponent(e)}`}function s(e){let[s,n]=(0,t.useState)([]),[i,c]=(0,t.useState)([]),[l,o]=(0,t.useState)([]),d=(0,t.useRef)(e),u=(0,t.useRef)(e);d.current=e,u.current!==e&&(u.current=e,n([]),c([]),o([]));let f=(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();if(!t){n([]),c([]);return}let s=r(t);try{let[e,r]=await Promise.all([fetch(`/api/history?${s}`),fetch(`/api/logs?${a(t)}`)]);if(d.current!==t)return;e.ok&&n(await e.json()),r.ok&&c(await r.json())}catch{}},[]),p=(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();if(!t){n([]),c([]);return}let s=r(t);await Promise.all([fetch(`/api/history?${s}`,{method:"DELETE"}),fetch(`/api/logs?${a(t)}`,{method:"DELETE"})]),d.current===t&&(n([]),c([]))},[]),h=(0,t.useCallback)(async(e,t=10,r,a,s,i,c,l,u,f)=>{let p=r?.trim()||d.current?.trim();if(!p)return;let h=Date.now(),m=crypto.randomUUID(),y={id:m,role:"user",participantId:null,content:e,timestamp:h,rootMessageId:a||null,parentMessageId:a||null,depth:+!!a,...i&&i.length>0?{attachments:i}:{}};n(e=>[...e,y]);try{let r=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:p,prompt:e,promptPrefix:u||void 0,maxRounds:t,userMessageId:m,rootMessageId:a||void 0,attachmentIds:s?.length?s:void 0,activeParticipantIds:Array.isArray(c)?c:void 0,projectSlug:l?.trim()||void 0,routing:f})}),n=await r.json().catch(()=>null);r.ok&&n?.chatRunId&&o(e=>[{chatRunId:n.chatRunId,threadId:p,rootMessageId:a||m,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...e.filter(e=>e.chatRunId!==n.chatRunId)])}catch{}return m},[]),m=(0,t.useCallback)(async()=>{let e=d.current?.trim();if(e)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]),y=(0,t.useCallback)(async e=>{let t=d.current?.trim();if(t)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(t)}&threadId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]);return{messages:s,setMessages:n,logs:i,sendMessage:h,loadHistory:f,clearHistory:p,clearLogs:(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();t?(await fetch(`/api/logs?${a(t)}`,{method:"DELETE"}).catch(()=>{}),d.current===t&&c([])):c([])},[]),chatRuns:l,setChatRuns:o,stop:m,stopThread:y}}e.s(["useGroupChat",()=>s])},650030,e=>{"use strict";var t=e.i(271645);let r=new Set(["spawning","running"]);function a(e,a){let s=a?.intervalMs??1500,n=a?.idleIntervalMs??1e4,[i,c]=(0,t.useState)(new Set),[l,o]=(0,t.useState)([]),[d,u]=(0,t.useState)({}),[f,p]=(0,t.useState)([]),h=(0,t.useRef)(e);h.current=e;let m=(0,t.useRef)(a?.messages??[]);m.current=a?.messages??[];let y=(0,t.useRef)(a?.setMessages);y.current=a?.setMessages;let g=(0,t.useRef)(0);(0,t.useEffect)(()=>{let e=a?.messages??[];if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t)}},[a?.messages]);let b=(0,t.useCallback)(async()=>{let e=h.current;if(!e){c(new Set),o([]),u({}),p([]);return}let t=null;if(e.threadId?t=`/api/processes?threadId=${encodeURIComponent(e.threadId)}`:e.workspaceId&&(t=`/api/processes?workspaceId=${encodeURIComponent(e.workspaceId)}`),!t){c(new Set),o([]),u({}),p([]);return}try{let s=e.workspaceId||e.threadId,n=s?`/api/history?threadId=${encodeURIComponent(s)}&since=${g.current}`:null,i=s?`/api/chat-runs?threadId=${encodeURIComponent(s)}&limit=20`:null,l=[fetch(t)];n&&l.push(fetch(n)),i&&l.push(fetch(i));let[d,f,b]=await Promise.all(l),x=h.current;if(x?.threadId!==e.threadId||x?.workspaceId!==e.workspaceId)return;if(d.ok){let e=await d.json();o(e);let t=new Set(e.filter(e=>r.has(e.state)).map(e=>e.agentId));c(t);let a={};for(let t of e){if(!r.has(t.state))continue;let e=m.current.find(e=>e.id===t.sinceMessageId),s=e?.rootMessageId??t.sinceMessageId;a[t.agentId]={content:"",rootMessageId:s}}u(a)}if(b?.ok){var a;let e=(a=await b.json(),Array.isArray(a)?a.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,s="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:s,status:a,optimistic:!1}:null}).filter(e=>!!e):[]);p(e)}if(f?.ok&&y.current){let e=await f.json();if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t),y.current(t=>{let r=new Set(t.map(e=>e.id)),a=e.filter(e=>!r.has(e.id)),s=t.map(t=>e.find(e=>e.id===t.id)??t);return 0===a.length?s:[...s,...a].sort((e,t)=>e.timestamp-t.timestamp)})}}}catch{}},[]),x=e?.threadId||e?.workspaceId||null,k=f.some(e=>"queued"===e.status||"running"===e.status),I=l.some(e=>r.has(e.state)),v=k||I?s:n;return(0,t.useEffect)(()=>{if(!x){c(new Set),o([]),u({}),p([]);return}b();let e=setInterval(b,v);return()=>clearInterval(e)},[x,v,b]),{activeAgents:i,processes:l,streaming:d,chatRuns:f,poll:b}}e.s(["useProcessPolling",()=>a])},503116,e=>{"use strict";let t=(0,e.i(475254).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",()=>t],503116)},16715,e=>{"use strict";let t=(0,e.i(475254).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},829415,e=>{"use strict";function t(e){return e.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}e.s(["stripMarkers",()=>t])},286476,e=>{"use strict";function t(e){if("string"==typeof e)return e.trim()||void 0}function r(e,r){let a=new Set,s=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():"",n="string"==typeof t.kind?t.kind:"agent";r&&"agent"===n&&(a.add(r),"parallel"===t.mode&&s.add(r))});let n=t(r);return{...n?{pinnedParticipantId:n}:{},mentionedParticipantIds:Array.from(a),parallelParticipantIds:Array.from(s)}}function a(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),s=t(r);return s&&a.includes(s)?[s,...a.filter(e=>e!==s)]:a}e.s(["extractComposerRouting",()=>r,"orderParticipantIds",()=>a])},355733,e=>{"use strict";var t=e.i(843476),r=e.i(437902),a=e.i(271645);function s({isOpen:e,title:s,message:n,preview:i,confirmLabel:c="Confirm",cancelLabel:l="Cancel",variant:o="default",onConfirm:d,onCancel:u}){let f=(0,a.useRef)(null),p=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(e){let e=setTimeout(()=>f.current?.focus(),50);return()=>clearTimeout(e)}},[e]);let h=(0,a.useCallback)(e=>{"Escape"===e.key&&u()},[u]);if(!e)return null;let m="danger"===o;return(0,t.jsxs)("div",{style:{animation:"confirm-overlay-in 200ms ease-out"},onClick:e=>e.target===e.currentTarget&&u(),onKeyDown:h,className:"jsx-1da17079bc733bcf fixed inset-0 z-[100] flex items-center justify-center bg-black/50 backdrop-blur-md",children:[(0,t.jsxs)("div",{ref:p,style:{animation:"confirm-dialog-in 250ms cubic-bezier(0.34, 1.56, 0.64, 1)"},className:"jsx-1da17079bc733bcf w-full max-w-md mx-4 bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-2xl overflow-hidden",children:[(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf px-6 pt-6 pb-3",children:(0,t.jsxs)("div",{className:"jsx-1da17079bc733bcf flex items-start gap-4",children:[m&&(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf 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",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,className:"jsx-1da17079bc733bcf w-5 h-5 text-red-500",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",className:"jsx-1da17079bc733bcf"})})}),(0,t.jsxs)("div",{className:"jsx-1da17079bc733bcf flex-1 min-w-0",children:[(0,t.jsx)("h3",{className:"jsx-1da17079bc733bcf text-[15px] font-semibold text-[var(--foreground)]",children:s}),(0,t.jsx)("p",{className:"jsx-1da17079bc733bcf mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:n})]})]})}),i&&(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf 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:"jsx-1da17079bc733bcf text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",i,"”"]})}),(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf mx-6 border-t border-[var(--card-border)]"}),(0,t.jsxs)("div",{className:"jsx-1da17079bc733bcf px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,t.jsx)("button",{onClick:u,className:"jsx-1da17079bc733bcf 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:f,onClick:d,className:`jsx-1da17079bc733bcf 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:c})]})]}),(0,t.jsx)(r.default,{id:"1da17079bc733bcf",children:"@keyframes confirm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-in{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}"})]})}e.s(["default",()=>s])},404142,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(930426);function s({params:e}){let{slug:s,threadId:n}=(0,r.use)(e);return(0,t.jsx)(a.ChatContainer,{projectSlug:s,initialThreadId:n,showSidebar:!1})}e.s(["default",()=>s])}]);
|
package/cloud-runtime/standalone/.next/static/chunks/{4343e7fe5bf5f34a.js → 9328740727c6456d.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,868054,e=>{"use strict";let t=(0,e.i(475254).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],868054)},63209,e=>{"use strict";let t=(0,e.i(475254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>t],63209)},2651,e=>{"use strict";let t={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function r(e){return e&&"object"==typeof e?{threadSidebarVisible:"boolean"==typeof e.threadSidebarVisible?e.threadSidebarVisible:t.threadSidebarVisible,workspaceRoots:Array.isArray(e.workspaceRoots)?e.workspaceRoots.filter(e=>"string"==typeof e):t.workspaceRoots,homeSearchConsent:"boolean"==typeof e.homeSearchConsent?e.homeSearchConsent:t.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof e.hasCompletedFirstRun?e.hasCompletedFirstRun:t.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(e.fileIgnorePatterns)?e.fileIgnorePatterns.filter(e=>"string"==typeof e):t.fileIgnorePatterns}:t}let n="/api/userPreferences";function a(e){return e.json().then(e=>e&&"object"==typeof e?r(e.preferences??e):r(e)).catch(()=>r(null))}function o(e){return e.statusText||`Failed to reach ${n} (${e.status})`}async function s(){let e=await fetch(n,{cache:"no-store"});if(!e.ok)throw Error(o(e));return a(e)}async function i(e){let t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:e})});if(!t.ok)throw Error(o(t));return a(t)}e.s(["fetchUserPreferences",()=>s,"updateUserPreferences",()=>i],2651)},114683,e=>{"use strict";let t=(0,e.i(475254).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],114683)},618566,(e,t,r)=>{t.exports=e.r(976562)},283086,e=>{"use strict";let t=(0,e.i(475254).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",()=>t],283086)},643531,e=>{"use strict";let t=(0,e.i(475254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",()=>t],643531)},284614,e=>{"use strict";let t=(0,e.i(475254).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",()=>t],284614)},75505,e=>{"use strict";let t=(0,e.i(475254).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],75505)},475254,e=>{"use strict";var t=e.i(271645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:o=2,absoluteStrokeWidth:s,className:i="",children:l,iconNode:c,...d},u)=>(0,t.createElement)("svg",{ref:u,...a,width:n,height:n,stroke:e,strokeWidth:s?24*Number(o)/Number(n):o,className:r("lucide",i),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),s=(e,a)=>{let s=(0,t.forwardRef)(({className:s,...i},l)=>(0,t.createElement)(o,{ref:l,iconNode:a,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,s),...i}));return s.displayName=n(e),s};e.s(["default",()=>s],475254)},37727,e=>{"use strict";let t=(0,e.i(475254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},664659,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],664659)},755838,(e,t,r)=>{"use strict";var n=e.r(271645),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useState,s=n.useEffect,i=n.useLayoutEffect,l=n.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!a(e,r)}catch(e){return!0}}var d="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=o({inst:{value:r,getSnapshot:t}}),a=n[0].inst,d=n[1];return i(function(){a.value=r,a.getSnapshot=t,c(a)&&d({inst:a})},[e,r,t]),s(function(){return c(a)&&d({inst:a}),e(function(){c(a)&&d({inst:a})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:d},802239,(e,t,r)=>{"use strict";t.exports=e.r(755838)},752822,(e,t,r)=>{"use strict";var n=e.r(271645),a=e.r(802239),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=a.useSyncExternalStore,i=n.useRef,l=n.useEffect,c=n.useMemo,d=n.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var u=i(null);if(null===u.current){var f={hasValue:!1,value:null};u.current=f}else f=u.current;var p=s(e,(u=c(function(){function e(e){if(!l){if(l=!0,s=e,e=n(e),void 0!==a&&f.hasValue){var t=f.value;if(a(t,e))return i=t}return i=e}if(t=i,o(s,e))return t;var r=n(e);return void 0!==a&&a(t,r)?(s=e,t):(s=e,i=r)}var s,i,l=!1,c=void 0===r?null:r;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,r,n,a]))[0],u[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}},430224,(e,t,r)=>{"use strict";t.exports=e.r(752822)},233525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},998183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return i}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,s(e));else t.set(r,s(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},195057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return i},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(190809)._(e.r(998183)),s=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",i=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let d=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||s.test(n))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),d&&"?"!==d[0]&&(d="?"+d),a=a.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${n}${c}${a}${d}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return i(e)}},818581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(271645);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=o(e,n)),t&&(a.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},718967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return b},NormalizeError:function(){return y},PageNotFoundError:function(){return v},SP:function(){return h},ST:function(){return x},WEB_VITALS:function(){return o},execOnce:function(){return s},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return w}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>i.test(e);function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function d(){let{href:e}=window.location,t=c();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function m(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let h="u">typeof performance,x=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class y extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},573668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(718967),a=e.r(652817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},284508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},522016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return v}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(190809),s=e.r(843476),i=o._(e.r(271645)),l=e.r(195057),c=e.r(8372),d=e.r(818581),u=e.r(718967),f=e.r(405550);e.r(233525);let p=e.r(91949),m=e.r(573668),h=e.r(509396);function x(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function g(t){var r;let n,a,o,[l,g]=(0,i.useOptimistic)(p.IDLE_LINK_STATUS),v=(0,i.useRef)(null),{href:b,as:j,children:w,prefetch:k=null,passHref:N,replace:C,shallow:S,scroll:P,onClick:E,onMouseEnter:I,onTouchStart:O,legacyBehavior:A=!1,onNavigate:R,ref:_,unstable_dynamicOnHover:L,...T}=t;n=w,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,s.jsx)("a",{children:n}));let U=i.default.useContext(c.AppRouterContext),M=!1!==k,$=!1!==k?null===(r=k)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:F,as:D}=i.default.useMemo(()=>{let e=x(b);return{href:e,as:j?x(j):e}},[b,j]);if(A){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=i.default.Children.only(n)}let G=A?a&&"object"==typeof a&&a.ref:_,V=i.default.useCallback(e=>(null!==U&&(v.current=(0,p.mountLinkInstance)(e,F,U,$,M,g)),()=>{v.current&&((0,p.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,p.unmountPrefetchableInstance)(e)}),[M,F,U,$,g]),z={ref:(0,d.useMergedRef)(V,G),onClick(t){A||"function"!=typeof E||E(t),A&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!U||t.defaultPrevented||function(t,r,n,a,o,s,l){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(699781);i.default.startTransition(()=>{u(n||r,o?"replace":"push",s??!0,a.current)})}}(t,F,D,v,C,P,R)},onMouseEnter(e){A||"function"!=typeof I||I(e),A&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),U&&M&&(0,p.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){A||"function"!=typeof O||O(e),A&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),U&&M&&(0,p.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,u.isAbsoluteUrl)(D)?z.href=D:A&&!N&&("a"!==a.type||"href"in a.props)||(z.href=(0,f.addBasePath)(D)),o=A?i.default.cloneElement(a,z):(0,s.jsx)("a",{...T,...z,children:n}),(0,s.jsx)(y.Provider,{value:l,children:o})}e.r(284508);let y=(0,i.createContext)(p.IDLE_LINK_STATUS),v=()=>(0,i.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},107233,e=>{"use strict";let t=(0,e.i(475254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],107233)},778917,e=>{"use strict";let t=(0,e.i(475254).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],778917)},561073,e=>{"use strict";var t=e.i(843476),r=e.i(271645),n=e.i(618566),a=e.i(522016);let o=[{id:"jane",name:"Jane",provider:"claude",model:"claude-opus-4-6",color:"#6366f1"},{id:"cody",name:"Cody",provider:"claude",model:"gpt-5.3",color:"#f59e0b"},{id:"flint",name:"Flint",provider:"ollama",model:"gemini-3.1-pro",color:"#10b981"},{id:"jewel",name:"Jewel",provider:"claude",model:"glm-5",color:"#ec4899"}],s=Date.now(),i=[{id:"demo-0",role:"user",participantId:null,content:"We're losing 40% of users at the onboarding config screen. How should we fix this?",timestamp:s-9e3},{id:"demo-1",role:"assistant",participantId:"jane",content:"The core problem is we're asking for setup before showing value. Users don't know *why* they need an API key yet. Flip the order — let them see the product working first, then ask for config when they actually need it.",timestamp:s-8e3},{id:"demo-2",role:"assistant",participantId:"cody",content:"We can prove that with a zero-config starter task: detect `package.json` or `.git` on load, run a local project analysis. No API key needed, instant result. That alone should cut the drop-off significantly.",timestamp:s-7e3},{id:"demo-3",role:"assistant",participantId:"flint",content:"Risk: if we defer config entirely, the *second* interaction fails when there's no provider configured. We'd just move the drop-off from step 1 to step 2. Need to handle that transition carefully.",timestamp:s-6e3},{id:"demo-4",role:"assistant",participantId:"jewel",content:"Graduated fidelity solves this. First task is local-only and always succeeds. When they trigger something that needs an LLM, prompt for the key *inline* — right where they need it, not on a separate page. Context-sensitive setup.",timestamp:s-5e3},{id:"demo-5",role:"assistant",participantId:"jane",content:"Exactly. Setup instructions are only useful at the moment you need them. Front-loading them is just anxiety. I'd also suggest we track `welcome_view → first_action → first_result` to measure the actual impact.",timestamp:s-4e3},{id:"demo-6",role:"assistant",participantId:"cody",content:'Here\'s a concrete implementation plan:\n1. Add framework detection on page load\n2. Show "Map this project" as default starter task\n3. Run it client-side with zero dependencies\n4. Persist the result so they land in a live session, not a blank page',timestamp:s-3e3},{id:"demo-7",role:"assistant",participantId:"flint",content:"One more thing — keep state from that first task. When they transition to the real workspace, they should land mid-session. Starting over after the demo kills momentum and trust.",timestamp:s-2e3},{id:"demo-8",role:"assistant",participantId:"jewel",content:"Summary: land → see agents working → join with one click → first task runs instantly → setup happens only when needed. Every step earns the next. Shall I draft the implementation spec?",timestamp:s-1e3}];var l=e.i(325459),c=e.i(514065),d=e.i(284614);function u(){let[e,n]=(0,r.useState)(0),s=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(e>=i.length)return;let t=setTimeout(()=>{n(e=>e+1)},0===e?300:400);return()=>clearTimeout(t)},[e]),(0,r.useEffect)(()=>{s.current?.scrollTo({top:s.current.scrollHeight,behavior:"smooth"})},[e]);let u=Object.fromEntries(o.map(e=>[e.id,e]));return(0,t.jsx)("div",{ref:s,className:"flex-1 overflow-y-auto px-4 py-6",children:(0,t.jsx)("div",{className:"max-w-2xl mx-auto space-y-4",children:i.slice(0,e).map((e,r)=>{let n="user"===e.role,o=e.participantId?u[e.participantId]:null;return(0,t.jsxs)("div",{className:"flex gap-3 animate-in fade-in slide-in-from-bottom-2 duration-300",style:{animationDelay:`${50*r}ms`},children:[(0,t.jsx)("div",{className:"w-8 h-8 rounded-full overflow-hidden border border-[var(--border)] shadow-sm shrink-0 mt-0.5 flex items-center justify-center bg-[var(--muted)]",children:n?(0,t.jsx)(d.User,{className:"w-4 h-4 text-[var(--muted-foreground)]"}):o?(0,t.jsx)(a.default,{href:`/agents/${o.id}`,className:"w-full h-full hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,t.jsx)("img",{src:(0,l.agentAvatarUrl)(o.id,32,o.color),alt:o.name,className:"w-full h-full object-cover"})}):null}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[!n&&o?(0,t.jsx)(a.default,{href:`/agents/${o.id}`,className:"text-[12px] font-bold tracking-wide uppercase hover:underline",style:{color:o.color||"#64748b"},children:o.name}):(0,t.jsx)("span",{className:"text-[12px] font-bold tracking-wide uppercase",style:{color:n?"#334155":"#64748b"},children:n?"You":"Agent"}),!n&&o?.model&&(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] font-medium",children:o.model})]}),(0,t.jsx)("div",{className:"text-[14px] text-[var(--foreground)] leading-relaxed mt-0.5",children:(0,t.jsx)(c.Markdown,{content:e.content,isUser:n})})]})]},e.id)})})})}var f=e.i(2651),p=e.i(643531),m=e.i(114683),h=e.i(174886),x=e.i(664659),g=e.i(778917),y=e.i(868054),v=e.i(63209);let b=[{id:"claude",label:"Claude Code",bin:"claude",description:"Recommended for the fastest AGX setup.",installCmd:"npm install -g @anthropic-ai/claude-code",docsUrl:"https://docs.anthropic.com/en/docs/claude-code/quickstart",recommended:!0,statusLabel:"Installed"},{id:"codex",label:"Codex",bin:"codex",description:"OpenAI's terminal coding agent.",installCmd:"npm install -g @openai/codex",docsUrl:"https://github.com/openai/codex",statusLabel:"Installed"},{id:"gemini",label:"Gemini CLI",bin:"gemini",description:"Google's CLI for Gemini workflows.",installCmd:"npm install -g @google/gemini-cli",docsUrl:"https://github.com/google-gemini/gemini-cli",statusLabel:"Installed"},{id:"ollama",label:"Ollama",bin:"ollama",description:"Run local models on your machine.",installCmd:"curl -fsSL https://ollama.com/install.sh | sh",docsUrl:"https://ollama.com/download",statusLabel:"Installed"},{id:"zai",label:"Z.AI",bin:"claude",description:"Use the Claude CLI with your Z.AI API key.",installCmd:"npm install -g @anthropic-ai/claude-code",docsUrl:"https://z.ai/",installNote:"Requires Claude Code plus a configured Z.AI API key.",statusLabel:"Via Claude CLI"}].map(e=>({id:e.id,name:e.label,description:e.description,installCmd:e.installCmd,docsUrl:e.docsUrl,installNote:e.installNote,recommended:e.recommended}));function j({text:e}){let[n,a]=(0,r.useState)(!1),o=(0,r.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{a(!0),setTimeout(()=>a(!1),2e3)})},[e]);return(0,t.jsx)("button",{type:"button",onClick:o,className:"p-1.5 rounded-md hover:bg-[var(--muted)] transition-colors text-[var(--muted-foreground)] hover:text-[var(--foreground)]",title:"Copy command",children:n?(0,t.jsx)(p.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,t.jsx)(h.Copy,{className:"w-3.5 h-3.5"})})}function w({cli:e}){let[n,a]=(0,r.useState)(!1);return(0,t.jsxs)("div",{className:"border border-[var(--card-border)] rounded-lg overflow-hidden",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>a(!n),className:"w-full flex items-center gap-3 px-4 py-3 hover:bg-[var(--item-hover-bg)] transition-colors text-left",children:[(0,t.jsx)("div",{className:"shrink-0",children:null===e.installed?(0,t.jsx)(m.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)] animate-pulse"}):e.installed?(0,t.jsx)("div",{className:"w-5 h-5 rounded-full bg-emerald-100 dark:bg-emerald-900/30 flex items-center justify-center",children:(0,t.jsx)(p.Check,{className:"w-3 h-3 text-emerald-600 dark:text-emerald-400"})}):(0,t.jsx)(m.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:e.name}),e.recommended&&!e.installed&&(0,t.jsx)("span",{className:"text-[11px] font-medium text-[var(--foreground)] bg-[var(--secondary)] px-1.5 py-0.5 rounded",children:"Recommended"}),e.installed&&(0,t.jsx)("span",{className:"text-[11px] font-medium text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20 px-1.5 py-0.5 rounded",children:"Installed"})]}),(0,t.jsx)("p",{className:"text-[12px] text-[var(--muted-foreground)]",children:e.description})]}),!e.installed&&(0,t.jsx)(x.ChevronDown,{className:`w-4 h-4 text-[var(--muted-foreground)] transition-transform ${n?"rotate-180":""}`})]}),n&&!e.installed&&(0,t.jsxs)("div",{className:"px-4 pb-3 border-t border-[var(--card-border)]",children:[(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-2 bg-[var(--secondary)] rounded-md px-3 py-2 font-mono text-[13px] text-[var(--foreground)]",children:[(0,t.jsx)(y.Terminal,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)] shrink-0"}),(0,t.jsx)("code",{className:"flex-1 overflow-x-auto whitespace-nowrap",children:e.installCmd}),(0,t.jsx)(j,{text:e.installCmd})]}),(0,t.jsxs)("a",{href:e.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-[12px] text-[var(--primary)] hover:underline",children:["Documentation",(0,t.jsx)(g.ExternalLink,{className:"w-3 h-3"})]}),e.installNote?(0,t.jsx)("p",{className:"mt-2 text-[12px] text-[var(--muted-foreground)]",children:e.installNote}):null]})]})}function k(){let e=(0,n.useRouter)(),[a,o]=(0,r.useState)("checking"),[s,i]=(0,r.useState)(b.map(e=>({...e,installed:null}))),[l,c]=(0,r.useState)(!1),[d,p]=(0,r.useState)(!1),[m,h]=(0,r.useState)(null);(0,r.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/providers",{cache:"no-store"});if(e)return;if(!t.ok)return void o("error");let r=await t.json(),n=new Set(Array.isArray(r?.providers)?r.providers.filter(e=>e&&"string"==typeof e.id).map(e=>e.id):[]),a=b.map(e=>({...e,installed:n.has(e.id)}));!e&&(i(a),a.some(e=>e.installed)?e||o("ready"):e||(o("needs-setup"),c(!0)))}catch{e||o("error")}})(),()=>{e=!0}},[]);let g=(0,r.useCallback)(async()=>{p(!0),h(null);try{await (0,f.updateUserPreferences)({hasCompletedFirstRun:!0});let t=await fetch("/api/daemon");if(!t.ok)throw Error(`Could not read daemon status (${t.status})`);if(!(await t.json()).running){let e=await fetch("/api/daemon",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workers:1})});if(!e.ok)throw Error(`Could not start AGX (${e.status})`)}e.push("/")}catch(e){console.error("Failed to finalize onboarding",e),h(e instanceof Error?e.message:"Could not complete setup. Try again.")}finally{p(!1)}},[e]),y=s.filter(e=>e.installed).length,j=s.length,k=s.find(e=>e.recommended)??s[0]??null,N=s.filter(e=>!e.recommended);return(0,t.jsxs)("div",{className:"h-screen w-full flex flex-col bg-[var(--secondary)]",children:[(0,t.jsx)("div",{className:"text-center pt-10 pb-2 px-4",children:(0,t.jsx)("h1",{className:"text-[15px] font-medium text-[var(--app-shell-soft-text)] tracking-wide",children:"Chat with a team of AI agents across Claude, Gemini, Codex, Ollama, and Z.AI"})}),(0,t.jsx)(u,{}),(0,t.jsxs)("div",{className:"pb-8 pt-4 flex flex-col items-center gap-3 px-4",children:["ready"===a&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:g,disabled:d,className:"inline-flex items-center gap-2 px-8 py-3.5 bg-[var(--foreground)] text-[var(--background)] text-[15px] font-semibold rounded-xl hover:opacity-90 transition-all duration-200 shadow-lg shadow-[var(--foreground)]/10 hover:-translate-y-0.5 disabled:opacity-60 disabled:hover:translate-y-0",children:d?"Starting AGX...":"Launch AGX"}),(0,t.jsxs)("button",{type:"button",onClick:()=>c(e=>!e),className:"text-[13px] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors flex items-center gap-1",children:[(0,t.jsxs)("span",{className:"text-emerald-600",children:[y,"/",j," providers"]}),(0,t.jsx)(x.ChevronDown,{className:`w-3.5 h-3.5 transition-transform ${l?"rotate-180":""}`})]})]}),"checking"===a&&(0,t.jsx)("span",{className:"text-[13px] text-[var(--app-shell-soft-text)]",children:"Detecting installed providers..."}),"needs-setup"===a&&(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"text-[14px] font-medium text-amber-600 dark:text-amber-400",children:"No providers found"}),(0,t.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] mt-1",children:"Start with Claude Code, then come back to launch AGX"})]}),"error"===a&&(0,t.jsx)("span",{className:"text-[13px] text-[var(--app-shell-soft-text)]",children:"Could not check installed providers"}),m?(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-[12px] text-amber-800",children:[(0,t.jsx)(v.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),m]}):null]}),l&&(0,t.jsx)("div",{className:"border-t border-[var(--card-border)] bg-[var(--background)] overflow-y-auto",children:(0,t.jsxs)("div",{className:"max-w-lg mx-auto px-4 py-6",children:[(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)("h2",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:"Provider CLIs"}),(0,t.jsx)("p",{className:"mt-1 text-[12px] text-[var(--muted-foreground)]",children:"Install one provider to finish setup. Claude Code is the best first path."})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[k?(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--secondary)] p-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Start Here"}),(0,t.jsx)("span",{className:"rounded bg-[var(--background)] px-2 py-0.5 text-[11px] font-medium text-[var(--foreground)]",children:k.name})]}),(0,t.jsx)("p",{className:"mt-2 text-[13px] text-[var(--foreground)]",children:"Install Claude Code first if you want the shortest path into AGX."}),(0,t.jsx)("p",{className:"mt-1 text-[12px] text-[var(--muted-foreground)]",children:"Codex, Gemini CLI, Ollama, and Z.AI are available if they fit your stack better."})]}):null,k?(0,t.jsx)(w,{cli:k},k.id):null]}),N.length>0?(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsx)("h3",{className:"mb-2 text-[12px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Other Options"}),(0,t.jsx)("div",{className:"space-y-2",children:N.map(e=>(0,t.jsx)(w,{cli:e},e.id))})]}):null,"ready"===a?(0,t.jsx)("p",{className:"text-[12px] text-[var(--muted-foreground)] mt-4 text-center",children:"Setup is complete. Launch AGX when you're ready."}):null,"needs-setup"===a?(0,t.jsx)("p",{className:"text-[12px] text-[var(--muted-foreground)] mt-4 text-center",children:"After installing a CLI, restart AGX so it can detect the new provider."}):null]})})]})}e.s(["default",()=>k],561073)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,868054,e=>{"use strict";let t=(0,e.i(475254).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],868054)},63209,e=>{"use strict";let t=(0,e.i(475254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>t],63209)},2651,e=>{"use strict";let t={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function r(e){return e&&"object"==typeof e?{threadSidebarVisible:"boolean"==typeof e.threadSidebarVisible?e.threadSidebarVisible:t.threadSidebarVisible,workspaceRoots:Array.isArray(e.workspaceRoots)?e.workspaceRoots.filter(e=>"string"==typeof e):t.workspaceRoots,homeSearchConsent:"boolean"==typeof e.homeSearchConsent?e.homeSearchConsent:t.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof e.hasCompletedFirstRun?e.hasCompletedFirstRun:t.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(e.fileIgnorePatterns)?e.fileIgnorePatterns.filter(e=>"string"==typeof e):t.fileIgnorePatterns}:t}let n="/api/userPreferences";function a(e){return e.json().then(e=>e&&"object"==typeof e?r(e.preferences??e):r(e)).catch(()=>r(null))}function o(e){return e.statusText||`Failed to reach ${n} (${e.status})`}async function s(){let e=await fetch(n,{cache:"no-store"});if(!e.ok)throw Error(o(e));return a(e)}async function i(e){let t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:e})});if(!t.ok)throw Error(o(t));return a(t)}e.s(["fetchUserPreferences",()=>s,"updateUserPreferences",()=>i],2651)},114683,e=>{"use strict";let t=(0,e.i(475254).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],114683)},618566,(e,t,r)=>{t.exports=e.r(976562)},283086,e=>{"use strict";let t=(0,e.i(475254).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",()=>t],283086)},284614,e=>{"use strict";let t=(0,e.i(475254).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",()=>t],284614)},107233,e=>{"use strict";let t=(0,e.i(475254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],107233)},643531,e=>{"use strict";let t=(0,e.i(475254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",()=>t],643531)},233525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},998183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return i}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,s(e));else t.set(r,s(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},195057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return i},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(190809)._(e.r(998183)),s=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",i=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let d=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||s.test(n))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),d&&"?"!==d[0]&&(d="?"+d),a=a.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${n}${c}${a}${d}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return i(e)}},818581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(271645);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=o(e,n)),t&&(a.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},718967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return b},NormalizeError:function(){return y},PageNotFoundError:function(){return v},SP:function(){return h},ST:function(){return x},WEB_VITALS:function(){return o},execOnce:function(){return s},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return w}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>i.test(e);function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function d(){let{href:e}=window.location,t=c();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function m(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let h="u">typeof performance,x=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class y extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},573668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(718967),a=e.r(652817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},284508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},522016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return v}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(190809),s=e.r(843476),i=o._(e.r(271645)),l=e.r(195057),c=e.r(8372),d=e.r(818581),u=e.r(718967),f=e.r(405550);e.r(233525);let p=e.r(91949),m=e.r(573668),h=e.r(509396);function x(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function g(t){var r;let n,a,o,[l,g]=(0,i.useOptimistic)(p.IDLE_LINK_STATUS),v=(0,i.useRef)(null),{href:b,as:j,children:w,prefetch:k=null,passHref:N,replace:C,shallow:S,scroll:P,onClick:E,onMouseEnter:I,onTouchStart:O,legacyBehavior:A=!1,onNavigate:R,ref:_,unstable_dynamicOnHover:L,...T}=t;n=w,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,s.jsx)("a",{children:n}));let U=i.default.useContext(c.AppRouterContext),M=!1!==k,$=!1!==k?null===(r=k)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:F,as:D}=i.default.useMemo(()=>{let e=x(b);return{href:e,as:j?x(j):e}},[b,j]);if(A){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=i.default.Children.only(n)}let G=A?a&&"object"==typeof a&&a.ref:_,V=i.default.useCallback(e=>(null!==U&&(v.current=(0,p.mountLinkInstance)(e,F,U,$,M,g)),()=>{v.current&&((0,p.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,p.unmountPrefetchableInstance)(e)}),[M,F,U,$,g]),z={ref:(0,d.useMergedRef)(V,G),onClick(t){A||"function"!=typeof E||E(t),A&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!U||t.defaultPrevented||function(t,r,n,a,o,s,l){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(699781);i.default.startTransition(()=>{u(n||r,o?"replace":"push",s??!0,a.current)})}}(t,F,D,v,C,P,R)},onMouseEnter(e){A||"function"!=typeof I||I(e),A&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),U&&M&&(0,p.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){A||"function"!=typeof O||O(e),A&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),U&&M&&(0,p.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,u.isAbsoluteUrl)(D)?z.href=D:A&&!N&&("a"!==a.type||"href"in a.props)||(z.href=(0,f.addBasePath)(D)),o=A?i.default.cloneElement(a,z):(0,s.jsx)("a",{...T,...z,children:n}),(0,s.jsx)(y.Provider,{value:l,children:o})}e.r(284508);let y=(0,i.createContext)(p.IDLE_LINK_STATUS),v=()=>(0,i.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},75505,e=>{"use strict";let t=(0,e.i(475254).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],75505)},755838,(e,t,r)=>{"use strict";var n=e.r(271645),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=n.useState,s=n.useEffect,i=n.useLayoutEffect,l=n.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!a(e,r)}catch(e){return!0}}var d="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=o({inst:{value:r,getSnapshot:t}}),a=n[0].inst,d=n[1];return i(function(){a.value=r,a.getSnapshot=t,c(a)&&d({inst:a})},[e,r,t]),s(function(){return c(a)&&d({inst:a}),e(function(){c(a)&&d({inst:a})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:d},802239,(e,t,r)=>{"use strict";t.exports=e.r(755838)},752822,(e,t,r)=>{"use strict";var n=e.r(271645),a=e.r(802239),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=a.useSyncExternalStore,i=n.useRef,l=n.useEffect,c=n.useMemo,d=n.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var u=i(null);if(null===u.current){var f={hasValue:!1,value:null};u.current=f}else f=u.current;var p=s(e,(u=c(function(){function e(e){if(!l){if(l=!0,s=e,e=n(e),void 0!==a&&f.hasValue){var t=f.value;if(a(t,e))return i=t}return i=e}if(t=i,o(s,e))return t;var r=n(e);return void 0!==a&&a(t,r)?(s=e,t):(s=e,i=r)}var s,i,l=!1,c=void 0===r?null:r;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,r,n,a]))[0],u[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}},430224,(e,t,r)=>{"use strict";t.exports=e.r(752822)},475254,e=>{"use strict";var t=e.i(271645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:o=2,absoluteStrokeWidth:s,className:i="",children:l,iconNode:c,...d},u)=>(0,t.createElement)("svg",{ref:u,...a,width:n,height:n,stroke:e,strokeWidth:s?24*Number(o)/Number(n):o,className:r("lucide",i),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),s=(e,a)=>{let s=(0,t.forwardRef)(({className:s,...i},l)=>(0,t.createElement)(o,{ref:l,iconNode:a,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,s),...i}));return s.displayName=n(e),s};e.s(["default",()=>s],475254)},37727,e=>{"use strict";let t=(0,e.i(475254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},664659,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],664659)},778917,e=>{"use strict";let t=(0,e.i(475254).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],778917)},561073,e=>{"use strict";var t=e.i(843476),r=e.i(271645),n=e.i(618566),a=e.i(522016);let o=[{id:"jane",name:"Jane",provider:"claude",model:"claude-opus-4-6",color:"#6366f1"},{id:"cody",name:"Cody",provider:"claude",model:"gpt-5.3",color:"#f59e0b"},{id:"flint",name:"Flint",provider:"ollama",model:"gemini-3.1-pro",color:"#10b981"},{id:"jewel",name:"Jewel",provider:"claude",model:"glm-5",color:"#ec4899"}],s=Date.now(),i=[{id:"demo-0",role:"user",participantId:null,content:"We're losing 40% of users at the onboarding config screen. How should we fix this?",timestamp:s-9e3},{id:"demo-1",role:"assistant",participantId:"jane",content:"The core problem is we're asking for setup before showing value. Users don't know *why* they need an API key yet. Flip the order — let them see the product working first, then ask for config when they actually need it.",timestamp:s-8e3},{id:"demo-2",role:"assistant",participantId:"cody",content:"We can prove that with a zero-config starter task: detect `package.json` or `.git` on load, run a local project analysis. No API key needed, instant result. That alone should cut the drop-off significantly.",timestamp:s-7e3},{id:"demo-3",role:"assistant",participantId:"flint",content:"Risk: if we defer config entirely, the *second* interaction fails when there's no provider configured. We'd just move the drop-off from step 1 to step 2. Need to handle that transition carefully.",timestamp:s-6e3},{id:"demo-4",role:"assistant",participantId:"jewel",content:"Graduated fidelity solves this. First task is local-only and always succeeds. When they trigger something that needs an LLM, prompt for the key *inline* — right where they need it, not on a separate page. Context-sensitive setup.",timestamp:s-5e3},{id:"demo-5",role:"assistant",participantId:"jane",content:"Exactly. Setup instructions are only useful at the moment you need them. Front-loading them is just anxiety. I'd also suggest we track `welcome_view → first_action → first_result` to measure the actual impact.",timestamp:s-4e3},{id:"demo-6",role:"assistant",participantId:"cody",content:'Here\'s a concrete implementation plan:\n1. Add framework detection on page load\n2. Show "Map this project" as default starter task\n3. Run it client-side with zero dependencies\n4. Persist the result so they land in a live session, not a blank page',timestamp:s-3e3},{id:"demo-7",role:"assistant",participantId:"flint",content:"One more thing — keep state from that first task. When they transition to the real workspace, they should land mid-session. Starting over after the demo kills momentum and trust.",timestamp:s-2e3},{id:"demo-8",role:"assistant",participantId:"jewel",content:"Summary: land → see agents working → join with one click → first task runs instantly → setup happens only when needed. Every step earns the next. Shall I draft the implementation spec?",timestamp:s-1e3}];var l=e.i(325459),c=e.i(514065),d=e.i(284614);function u(){let[e,n]=(0,r.useState)(0),s=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(e>=i.length)return;let t=setTimeout(()=>{n(e=>e+1)},0===e?300:400);return()=>clearTimeout(t)},[e]),(0,r.useEffect)(()=>{s.current?.scrollTo({top:s.current.scrollHeight,behavior:"smooth"})},[e]);let u=Object.fromEntries(o.map(e=>[e.id,e]));return(0,t.jsx)("div",{ref:s,className:"flex-1 overflow-y-auto px-4 py-6",children:(0,t.jsx)("div",{className:"max-w-2xl mx-auto space-y-4",children:i.slice(0,e).map((e,r)=>{let n="user"===e.role,o=e.participantId?u[e.participantId]:null;return(0,t.jsxs)("div",{className:"flex gap-3 animate-in fade-in slide-in-from-bottom-2 duration-300",style:{animationDelay:`${50*r}ms`},children:[(0,t.jsx)("div",{className:"w-8 h-8 rounded-full overflow-hidden border border-[var(--border)] shadow-sm shrink-0 mt-0.5 flex items-center justify-center bg-[var(--muted)]",children:n?(0,t.jsx)(d.User,{className:"w-4 h-4 text-[var(--muted-foreground)]"}):o?(0,t.jsx)(a.default,{href:`/agents/${o.id}`,className:"w-full h-full hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,t.jsx)("img",{src:(0,l.agentAvatarUrl)(o.id,32,o.color),alt:o.name,className:"w-full h-full object-cover"})}):null}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[!n&&o?(0,t.jsx)(a.default,{href:`/agents/${o.id}`,className:"text-[12px] font-bold tracking-wide uppercase hover:underline",style:{color:o.color||"#64748b"},children:o.name}):(0,t.jsx)("span",{className:"text-[12px] font-bold tracking-wide uppercase",style:{color:n?"#334155":"#64748b"},children:n?"You":"Agent"}),!n&&o?.model&&(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] font-medium",children:o.model})]}),(0,t.jsx)("div",{className:"text-[14px] text-[var(--foreground)] leading-relaxed mt-0.5",children:(0,t.jsx)(c.Markdown,{content:e.content,isUser:n})})]})]},e.id)})})})}var f=e.i(2651),p=e.i(643531),m=e.i(114683),h=e.i(174886),x=e.i(664659),g=e.i(778917),y=e.i(868054),v=e.i(63209);let b=[{id:"claude",label:"Claude Code",bin:"claude",description:"Recommended for the fastest AGX setup.",installCmd:"npm install -g @anthropic-ai/claude-code",docsUrl:"https://docs.anthropic.com/en/docs/claude-code/quickstart",recommended:!0,statusLabel:"Installed"},{id:"codex",label:"Codex",bin:"codex",description:"OpenAI's terminal coding agent.",installCmd:"npm install -g @openai/codex",docsUrl:"https://github.com/openai/codex",statusLabel:"Installed"},{id:"gemini",label:"Gemini CLI",bin:"gemini",description:"Google's CLI for Gemini workflows.",installCmd:"npm install -g @google/gemini-cli",docsUrl:"https://github.com/google-gemini/gemini-cli",statusLabel:"Installed"},{id:"ollama",label:"Ollama",bin:"ollama",description:"Run local models on your machine.",installCmd:"curl -fsSL https://ollama.com/install.sh | sh",docsUrl:"https://ollama.com/download",statusLabel:"Installed"},{id:"zai",label:"Z.AI",bin:"claude",description:"Use the Claude CLI with your Z.AI API key.",installCmd:"npm install -g @anthropic-ai/claude-code",docsUrl:"https://z.ai/",installNote:"Requires Claude Code plus a configured Z.AI API key.",statusLabel:"Via Claude CLI"}].map(e=>({id:e.id,name:e.label,description:e.description,installCmd:e.installCmd,docsUrl:e.docsUrl,installNote:e.installNote,recommended:e.recommended}));function j({text:e}){let[n,a]=(0,r.useState)(!1),o=(0,r.useCallback)(()=>{navigator.clipboard.writeText(e).then(()=>{a(!0),setTimeout(()=>a(!1),2e3)})},[e]);return(0,t.jsx)("button",{type:"button",onClick:o,className:"p-1.5 rounded-md hover:bg-[var(--muted)] transition-colors text-[var(--muted-foreground)] hover:text-[var(--foreground)]",title:"Copy command",children:n?(0,t.jsx)(p.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,t.jsx)(h.Copy,{className:"w-3.5 h-3.5"})})}function w({cli:e}){let[n,a]=(0,r.useState)(!1);return(0,t.jsxs)("div",{className:"border border-[var(--card-border)] rounded-lg overflow-hidden",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>a(!n),className:"w-full flex items-center gap-3 px-4 py-3 hover:bg-[var(--item-hover-bg)] transition-colors text-left",children:[(0,t.jsx)("div",{className:"shrink-0",children:null===e.installed?(0,t.jsx)(m.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)] animate-pulse"}):e.installed?(0,t.jsx)("div",{className:"w-5 h-5 rounded-full bg-emerald-100 dark:bg-emerald-900/30 flex items-center justify-center",children:(0,t.jsx)(p.Check,{className:"w-3 h-3 text-emerald-600 dark:text-emerald-400"})}):(0,t.jsx)(m.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:e.name}),e.recommended&&!e.installed&&(0,t.jsx)("span",{className:"text-[11px] font-medium text-[var(--foreground)] bg-[var(--secondary)] px-1.5 py-0.5 rounded",children:"Recommended"}),e.installed&&(0,t.jsx)("span",{className:"text-[11px] font-medium text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20 px-1.5 py-0.5 rounded",children:"Installed"})]}),(0,t.jsx)("p",{className:"text-[12px] text-[var(--muted-foreground)]",children:e.description})]}),!e.installed&&(0,t.jsx)(x.ChevronDown,{className:`w-4 h-4 text-[var(--muted-foreground)] transition-transform ${n?"rotate-180":""}`})]}),n&&!e.installed&&(0,t.jsxs)("div",{className:"px-4 pb-3 border-t border-[var(--card-border)]",children:[(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-2 bg-[var(--secondary)] rounded-md px-3 py-2 font-mono text-[13px] text-[var(--foreground)]",children:[(0,t.jsx)(y.Terminal,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)] shrink-0"}),(0,t.jsx)("code",{className:"flex-1 overflow-x-auto whitespace-nowrap",children:e.installCmd}),(0,t.jsx)(j,{text:e.installCmd})]}),(0,t.jsxs)("a",{href:e.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-[12px] text-[var(--primary)] hover:underline",children:["Documentation",(0,t.jsx)(g.ExternalLink,{className:"w-3 h-3"})]}),e.installNote?(0,t.jsx)("p",{className:"mt-2 text-[12px] text-[var(--muted-foreground)]",children:e.installNote}):null]})]})}function k(){let e=(0,n.useRouter)(),[a,o]=(0,r.useState)("checking"),[s,i]=(0,r.useState)(b.map(e=>({...e,installed:null}))),[l,c]=(0,r.useState)(!1),[d,p]=(0,r.useState)(!1),[m,h]=(0,r.useState)(null);(0,r.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/providers",{cache:"no-store"});if(e)return;if(!t.ok)return void o("error");let r=await t.json(),n=new Set(Array.isArray(r?.providers)?r.providers.filter(e=>e&&"string"==typeof e.id).map(e=>e.id):[]),a=b.map(e=>({...e,installed:n.has(e.id)}));!e&&(i(a),a.some(e=>e.installed)?e||o("ready"):e||(o("needs-setup"),c(!0)))}catch{e||o("error")}})(),()=>{e=!0}},[]);let g=(0,r.useCallback)(async()=>{p(!0),h(null);try{await (0,f.updateUserPreferences)({hasCompletedFirstRun:!0});let t=await fetch("/api/daemon");if(!t.ok)throw Error(`Could not read daemon status (${t.status})`);if(!(await t.json()).running){let e=await fetch("/api/daemon",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workers:1})});if(!e.ok)throw Error(`Could not start AGX (${e.status})`)}e.push("/")}catch(e){console.error("Failed to finalize onboarding",e),h(e instanceof Error?e.message:"Could not complete setup. Try again.")}finally{p(!1)}},[e]),y=s.filter(e=>e.installed).length,j=s.length,k=s.find(e=>e.recommended)??s[0]??null,N=s.filter(e=>!e.recommended);return(0,t.jsxs)("div",{className:"h-screen w-full flex flex-col bg-[var(--secondary)]",children:[(0,t.jsx)("div",{className:"text-center pt-10 pb-2 px-4",children:(0,t.jsx)("h1",{className:"text-[15px] font-medium text-[var(--app-shell-soft-text)] tracking-wide",children:"Chat with a team of AI agents across Claude, Gemini, Codex, Ollama, and Z.AI"})}),(0,t.jsx)(u,{}),(0,t.jsxs)("div",{className:"pb-8 pt-4 flex flex-col items-center gap-3 px-4",children:["ready"===a&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:g,disabled:d,className:"inline-flex items-center gap-2 px-8 py-3.5 bg-[var(--foreground)] text-[var(--background)] text-[15px] font-semibold rounded-xl hover:opacity-90 transition-all duration-200 shadow-lg shadow-[var(--foreground)]/10 hover:-translate-y-0.5 disabled:opacity-60 disabled:hover:translate-y-0",children:d?"Starting AGX...":"Launch AGX"}),(0,t.jsxs)("button",{type:"button",onClick:()=>c(e=>!e),className:"text-[13px] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors flex items-center gap-1",children:[(0,t.jsxs)("span",{className:"text-emerald-600",children:[y,"/",j," providers"]}),(0,t.jsx)(x.ChevronDown,{className:`w-3.5 h-3.5 transition-transform ${l?"rotate-180":""}`})]})]}),"checking"===a&&(0,t.jsx)("span",{className:"text-[13px] text-[var(--app-shell-soft-text)]",children:"Detecting installed providers..."}),"needs-setup"===a&&(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"text-[14px] font-medium text-amber-600 dark:text-amber-400",children:"No providers found"}),(0,t.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] mt-1",children:"Start with Claude Code, then come back to launch AGX"})]}),"error"===a&&(0,t.jsx)("span",{className:"text-[13px] text-[var(--app-shell-soft-text)]",children:"Could not check installed providers"}),m?(0,t.jsxs)("div",{className:"inline-flex items-center gap-2 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-[12px] text-amber-800",children:[(0,t.jsx)(v.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),m]}):null]}),l&&(0,t.jsx)("div",{className:"border-t border-[var(--card-border)] bg-[var(--background)] overflow-y-auto",children:(0,t.jsxs)("div",{className:"max-w-lg mx-auto px-4 py-6",children:[(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)("h2",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:"Provider CLIs"}),(0,t.jsx)("p",{className:"mt-1 text-[12px] text-[var(--muted-foreground)]",children:"Install one provider to finish setup. Claude Code is the best first path."})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[k?(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--secondary)] p-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Start Here"}),(0,t.jsx)("span",{className:"rounded bg-[var(--background)] px-2 py-0.5 text-[11px] font-medium text-[var(--foreground)]",children:k.name})]}),(0,t.jsx)("p",{className:"mt-2 text-[13px] text-[var(--foreground)]",children:"Install Claude Code first if you want the shortest path into AGX."}),(0,t.jsx)("p",{className:"mt-1 text-[12px] text-[var(--muted-foreground)]",children:"Codex, Gemini CLI, Ollama, and Z.AI are available if they fit your stack better."})]}):null,k?(0,t.jsx)(w,{cli:k},k.id):null]}),N.length>0?(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsx)("h3",{className:"mb-2 text-[12px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Other Options"}),(0,t.jsx)("div",{className:"space-y-2",children:N.map(e=>(0,t.jsx)(w,{cli:e},e.id))})]}):null,"ready"===a?(0,t.jsx)("p",{className:"text-[12px] text-[var(--muted-foreground)] mt-4 text-center",children:"Setup is complete. Launch AGX when you're ready."}):null,"needs-setup"===a?(0,t.jsx)("p",{className:"text-[12px] text-[var(--muted-foreground)] mt-4 text-center",children:"After installing a CLI, restart AGX so it can detect the new provider."}):null]})})]})}e.s(["default",()=>k],561073)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,555436,e=>{"use strict";let t=(0,e.i(475254).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],555436)},778917,e=>{"use strict";let t=(0,e.i(475254).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],778917)},239616,815273,e=>{"use strict";let t=(0,e.i(475254).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Settings",()=>t],239616);let r="agx:windowState",a={workspaceWidth:260,logPanelHeight:200,workspaceVisible:!0,logPanelVisible:!1,linearTicketPanelWidth:576,linearRunsPanelWidth:224},s={lastThreadId:null,lastWorkspaceId:null},n={bounds:null,sidebar:a,scroll:s};function o(){return void 0!==window.localStorage}function i(){if(!o())return{...n};let e=window.localStorage.getItem(r);if(!e)return{...n};try{let t=JSON.parse(e);return{bounds:t.bounds||null,sidebar:{...a,...t.sidebar||{}},scroll:{...s,...t.scroll||{}}}}catch{return{...n}}}function l(){return i().sidebar}function d(e){let t=i();t.sidebar={...t.sidebar,...e};if(o())try{window.localStorage.setItem(r,JSON.stringify(t))}catch{}}function c(){return l().workspaceWidth}function u(e){d({workspaceWidth:e})}function p(){return l().linearTicketPanelWidth}function m(e){d({linearTicketPanelWidth:e})}function h(){return l().linearRunsPanelWidth}function x(e){d({linearRunsPanelWidth:e})}e.s(["loadLinearRunsPanelWidth",()=>h,"loadLinearTicketPanelWidth",()=>p,"loadWorkspaceWidth",()=>c,"persistLinearRunsPanelWidth",()=>x,"persistLinearTicketPanelWidth",()=>m,"persistWorkspaceWidth",()=>u],815273)},39312,e=>{"use strict";let t=(0,e.i(475254).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",()=>t],39312)},788699,e=>{"use strict";let t=(0,e.i(475254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>t],788699)},283086,e=>{"use strict";let t=(0,e.i(475254).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",()=>t],283086)},643531,e=>{"use strict";let t=(0,e.i(475254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",()=>t],643531)},284614,e=>{"use strict";let t=(0,e.i(475254).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",()=>t],284614)},75505,e=>{"use strict";let t=(0,e.i(475254).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],75505)},755838,(e,t,r)=>{"use strict";var a=e.r(271645),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},n=a.useState,o=a.useEffect,i=a.useLayoutEffect,l=a.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!s(e,r)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),a=n({inst:{value:r,getSnapshot:t}}),s=a[0].inst,c=a[1];return i(function(){s.value=r,s.getSnapshot=t,d(s)&&c({inst:s})},[e,r,t]),o(function(){return d(s)&&c({inst:s}),e(function(){d(s)&&c({inst:s})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:c},802239,(e,t,r)=>{"use strict";t.exports=e.r(755838)},752822,(e,t,r)=>{"use strict";var a=e.r(271645),s=e.r(802239),n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=s.useSyncExternalStore,i=a.useRef,l=a.useEffect,d=a.useMemo,c=a.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,a,s){var u=i(null);if(null===u.current){var p={hasValue:!1,value:null};u.current=p}else p=u.current;var m=o(e,(u=d(function(){function e(e){if(!l){if(l=!0,o=e,e=a(e),void 0!==s&&p.hasValue){var t=p.value;if(s(t,e))return i=t}return i=e}if(t=i,n(o,e))return t;var r=a(e);return void 0!==s&&s(t,r)?(o=e,t):(o=e,i=r)}var o,i,l=!1,d=void 0===r?null:r;return[function(){return e(t())},null===d?void 0:function(){return e(d())}]},[t,r,a,s]))[0],u[1]);return l(function(){p.hasValue=!0,p.value=m},[m]),c(m),m}},430224,(e,t,r)=>{"use strict";t.exports=e.r(752822)},475254,e=>{"use strict";var t=e.i(271645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let n=(0,t.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:n=2,absoluteStrokeWidth:o,className:i="",children:l,iconNode:d,...c},u)=>(0,t.createElement)("svg",{ref:u,...s,width:a,height:a,stroke:e,strokeWidth:o?24*Number(n)/Number(a):n,className:r("lucide",i),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),o=(e,s)=>{let o=(0,t.forwardRef)(({className:o,...i},l)=>(0,t.createElement)(n,{ref:l,iconNode:s,className:r(`lucide-${a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,o),...i}));return o.displayName=a(e),o};e.s(["default",()=>o],475254)},37727,e=>{"use strict";let t=(0,e.i(475254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},664659,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>t],664659)},463059,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],463059)},88081,e=>{"use strict";let t=(0,e.i(475254).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",()=>t],88081)},107233,e=>{"use strict";let t=(0,e.i(475254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],107233)},274049,e=>{"use strict";var t=e.i(271645);function r(){let[e,r]=(0,t.useState)([]),[a,s]=(0,t.useState)(!1),[n,o]=(0,t.useState)(null),i=(0,t.useCallback)(async()=>{s(!0);try{let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let t=await e.json();r(t.projects??[]),o(null)}catch(e){o(e instanceof Error?e:Error("Unknown error"))}finally{s(!1)}},[]);(0,t.useEffect)(()=>{i()},[i]);let l=(0,t.useCallback)(async e=>{let t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to create project");let a=(await t.json()).project;return r(e=>[a,...e]),a},[]);return{projects:e,isLoading:a,error:n,refetch:i,createProject:l,updateProject:(0,t.useCallback)(async(e,t)=>{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Failed to update project");let s=(await a.json()).project;return r(t=>t.map(t=>t.id===e?s:t)),s},[]),deleteProject:(0,t.useCallback)(async e=>{let t=await fetch(`/api/projects/${e}`,{method:"DELETE"});if(!t.ok)throw Error((await t.json().catch(()=>({}))).error||"Failed to delete project");r(t=>t.filter(t=>t.id!==e))},[])}}function a(){let[e,r]=(0,t.useState)([]),[a,s]=(0,t.useState)(!0),n=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)return;let{projects:t}=await e.json(),a=await Promise.all((t??[]).map(async e=>{let t=[],r=[];try{let[a,s]=await Promise.all([fetch(`/api/projects/${e.id}/agents`),fetch(`/api/projects/${e.id}/threads`)]);a.ok&&(t=(await a.json()).agents??[]),s.ok&&(r=((await s.json()).threads??[]).map(e=>e.thread_id))}catch{}return{...e,repos:e.repos??[],agents:t.map(t=>({project_id:e.id,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at})),thread_ids:r,workspace_ids:r}}));r(a)}catch{}finally{s(!1)}},[]);(0,t.useEffect)(()=>{n()},[n]);let o=(0,t.useCallback)(async(e,t)=>{try{let a="string"==typeof e?{name:e}:e,s=a.name.trim(),n=(a.slug||s.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),o=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...a,name:s,slug:n})});if(!o.ok)return null;let{project:i}=await o.json(),l=Array.isArray(t)?t:t?[t]:[];for(let e of l)await fetch(`/api/projects/${i.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e})}).catch(()=>{});let d={...i,repos:i.repos??[],agents:[],thread_ids:l,workspace_ids:l};return r(e=>[...e,d].sort((e,t)=>e.name.localeCompare(t.name))),d}catch{return null}},[]),i=(0,t.useCallback)(async(e,t)=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})})).ok)return;r(r=>r.map(r=>r.id===e?{...r,name:t}:r).sort((e,t)=>e.name.localeCompare(t.name)))}catch{}},[]),l=(0,t.useCallback)(async e=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"DELETE"})).ok)return;r(t=>t.filter(t=>t.id!==e))}catch{}},[]),d=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error||"Failed to update project")}let s=(await a.json()).project;return r(t=>t.map(t=>t.id===e?{...t,...s,repos:s.repos??t.repos}:t)),s}catch{return null}},[]),c=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:t})});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]),u=(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents?agentId=${t}`,{method:"DELETE"});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]);return{projects:e,isLoading:a,createProject:o,updateProject:d,renameProject:i,deleteProject:l,addAgent:c,removeAgent:u,reorderAgents:(0,t.useCallback)(async(e,t)=>{try{let a=await fetch(`/api/projects/${e}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:t})});if(!a.ok)return;let s=((await a.json()).agents??[]).map(t=>({project_id:e,agent_id:t.agent_id,routing_order:t.routing_order,created_at:t.created_at}));r(t=>t.map(t=>t.id===e?{...t,agents:s}:t))}catch{}},[]),moveAgent:(0,t.useCallback)(async(e,t,r)=>{try{await fetch(`/api/projects/${t}/agents?agentId=${e}`,{method:"DELETE"}),await fetch(`/api/projects/${r}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:e})}),await n()}catch{}},[n]),refresh:n}}e.s(["useProjects",()=>r,"useProjectsWithAgents",()=>a])},727612,e=>{"use strict";let t=(0,e.i(475254).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],727612)},690272,e=>{"use strict";let t=(0,e.i(475254).default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);e.s(["FolderGit2",()=>t],690272)},327025,e=>{"use strict";let t=(0,e.i(475254).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["Folder",()=>t],327025)},869014,e=>{"use strict";var t=e.i(843476),r=e.i(271645);function a({initialPath:e,onSelect:a,onCancel:s}){let[n,o]=(0,r.useState)(e||""),[i,l]=(0,r.useState)(null),[d,c]=(0,r.useState)(!1),[u,p]=(0,r.useState)(null),m=(0,r.useRef)(null),h=(0,r.useCallback)(async e=>{c(!0),p(null);try{let t=e?`?path=${encodeURIComponent(e)}`:"",r=await fetch(`/api/filesystem/browse${t}`),a=await r.json();if(!r.ok)return void p(a.error||"Failed to browse");l(a),o(a.current),m.current?.scrollTo(0,0)}catch{p("Failed to connect")}finally{c(!1)}},[]);return(0,r.useEffect)(()=>{h(e||"")},[]),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden shadow-lg",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("input",{value:n,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h(n)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,t.jsx)("button",{type:"button",onClick:()=>h(n),className:"text-[10px] font-bold uppercase tracking-wider text-[var(--primary)] hover:underline px-2 py-1 shrink-0",children:"Go"})]}),(0,t.jsxs)("div",{ref:m,className:"max-h-48 overflow-y-auto",children:[d&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)] text-center",children:"Loading..."}),u&&(0,t.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--destructive)] text-center",children:u}),!d&&i&&(0,t.jsxs)("div",{className:"py-1",children:[i.parent&&(0,t.jsxs)("button",{type:"button",onClick:()=>h(i.parent),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"↑"}),(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:".."})]}),0===i.dirs.length&&!i.parent&&(0,t.jsx)("div",{className:"px-3 py-3 text-xs text-[var(--muted-foreground)] text-center",children:"No subdirectories"}),i.dirs.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>h(e.path),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"📁"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.path))]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,t.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] truncate max-w-[60%]",children:i?.current||n}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:s,className:"text-xs font-medium text-[var(--muted-foreground)] hover:underline px-2 py-1",children:"Cancel"}),(0,t.jsx)("button",{type:"button",onClick:()=>a(i?.current||n),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}e.s(["default",()=>a])},811132,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(869014);let s={name:"",description:""},n={name:"",path:"",notes:""};function o(){let[e,t]=(0,r.useState)(s),[a,o]=(0,r.useState)([n]),[i,l]=(0,r.useState)(!1),[d,c]=(0,r.useState)(null),u=(0,r.useCallback)((e,t,r)=>{o(a=>a.map((a,s)=>s===e?{...a,[t]:r}:a))},[]),p=(0,r.useCallback)(()=>{o(e=>[...e,{...n}])},[]),m=(0,r.useCallback)(e=>{o(t=>t.filter((t,r)=>r!==e))},[]),h=(0,r.useCallback)(()=>{t(s),o([n]),c(null)},[]),x=(0,r.useCallback)(e=>{t({name:e.name||"",description:e.description||""}),e.repos&&e.repos.length>0?o(e.repos.map(e=>({id:e.id,name:e.name||"",path:e.path||"",git_url:e.git_url||"",notes:e.notes||""}))):o([n]),c(null)},[]);return{form:e,setForm:t,repos:a,handleRepoChange:u,addRepo:p,removeRepo:m,resetForm:h,hydrateFromProject:x,isSubmitting:i,setIsSubmitting:l,formError:d,setFormError:c}}function i(e,t){let r=t.filter(e=>e.name.trim()&&e.path.trim()).map(e=>({...e.id?{id:e.id}:{},name:e.name.trim(),path:e.path.trim(),...e.git_url?.trim()?{git_url:e.git_url.trim()}:{},notes:e.notes.trim()||void 0}));return{name:e.name.trim(),description:e.description.trim()||void 0,repos:r.length?r:void 0}}function l({form:e,repos:s,isEditingProject:n,isSubmitting:o,onFieldChange:i,onRepoChange:l,onAddRepo:d,onRemoveRepo:c}){let[u,p]=(0,r.useState)([]),[m,h]=(0,r.useState)(null),x=(0,r.useRef)(0);(0,r.useEffect)(()=>{n?p([]):p(s.map((e,t)=>t)),x.current=s.length},[n,s.length]),(0,r.useEffect)(()=>{if(!n){x.current=s.length;return}let e=x.current;p(t=>{let r=t.filter(e=>e<s.length);return s.length>e&&r.push(...Array.from({length:s.length-e},(t,r)=>e+r)),r}),x.current=s.length},[n,s.length]);let f=(0,r.useCallback)(e=>{p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),g=(0,r.useCallback)(e=>!n||u.includes(e),[u,n]);return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)("div",{className:"grid gap-4",children:(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,t.jsx)("input",{value:e.name,onChange:e=>i("name",e.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:o})]})}),(0,t.jsxs)("label",{className:"space-y-1.5 block",children:[(0,t.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,t.jsx)("textarea",{value:e.description,onChange:e=>i("description",e.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:o})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Folders"}),(0,t.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-0.5",children:"Code repos, doc folders, design assets, config directories — any path your team needs access to."})]}),(0,t.jsx)("button",{type:"button",onClick:d,className:"text-xs font-semibold text-[var(--primary)] hover:underline flex-shrink-0",disabled:o,children:"+ Add Folder"})]}),(0,t.jsx)("div",{className:"space-y-4",children:s.map((e,r)=>(0,t.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 space-y-3 relative group",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Folder #",r+1]}),n&&!g(r)?(0,t.jsxs)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:[(0,t.jsx)("div",{children:e.name||"Unnamed folder"}),(0,t.jsx)("div",{className:"truncate",children:e.path||"No local path set"})]}):null]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[n&&(0,t.jsx)("button",{type:"button",onClick:()=>f(r),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:o,children:g(r)?"Done":"Edit"}),s.length>1&&(0,t.jsx)("button",{type:"button",onClick:()=>c(r),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:o,children:"Remove"})]})]}),g(r)?(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)("input",{value:e.name,onChange:e=>l(r,"name",e.target.value),placeholder:"Name (e.g. Frontend, API Docs, Design System)",className:"input text-sm",disabled:o}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{value:e.path,onChange:e=>l(r,"path",e.target.value),placeholder:"Local path to folder",className:"input text-sm flex-1",disabled:o}),(0,t.jsx)("button",{type:"button",onClick:async()=>{try{let e=await fetch("/api/filesystem/pick-folder",{method:"POST"}),t=await e.json();t.path&&l(r,"path",t.path)}catch{h(m===r?null:r)}},className:"px-3 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--muted)]/30 hover:bg-[var(--muted)]/60 transition-colors text-xs font-semibold text-[var(--muted-foreground)] whitespace-nowrap",disabled:o,children:"Browse"})]}),m===r&&(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)(a.default,{initialPath:e.path||"",onSelect:e=>{l(r,"path",e),h(null)},onCancel:()=>h(null)})}),(0,t.jsx)("div",{className:"md:col-span-2",children:(0,t.jsx)("textarea",{value:e.notes,onChange:e=>l(r,"notes",e.target.value),placeholder:"Notes for this folder — e.g. coding conventions, deploy steps, ownership, doc standards...",className:"input text-sm w-full min-h-24 resize-y",disabled:o})})]}):null]},r))})]})]})}function d({isOpen:e,onClose:a,onSubmit:s,editingProject:n,form:o,repos:i,isSubmitting:d,formError:c,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:h}){let[x,f]=(0,r.useState)([]);return((0,r.useEffect)(()=>{let e=!1;return async function(){if(!n)return f([]);try{let t=await fetch(`/api/knowledge-notes?scope=project&subjectId=${encodeURIComponent(n.id)}`),r=(t.ok?await t.json():{note:null}).note;e||f(r?.content?[{id:r.id,content:r.content,created_at:r.updatedAt??r.createdAt,source:r.sourceType}]:[])}catch{e||f([])}}(),()=>{e=!0}},[n]),e)?(0,t.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:e=>e.target===e.currentTarget&&a(),children:(0,t.jsxs)("div",{className:"modal-content w-full max-w-4xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-bold",children:n?"Edit Project":"Create New Project"}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:n?"Update your project settings and folders.":"Define a new project and connect folders."})]}),(0,t.jsx)("button",{onClick:a,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,t.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 sm:p-8",children:[n&&(0,t.jsx)("div",{className:"mb-6",children:(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,t.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Living Project Note"}),x.length>0?(0,t.jsx)("div",{className:"mt-3 space-y-2",children:x.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No project note yet."})]})}),(0,t.jsx)(l,{form:o,repos:i,isEditingProject:!!n,isSubmitting:d,onFieldChange:u,onRepoChange:p,onAddRepo:m,onRemoveRepo:h}),c&&(0,t.jsx)("div",{className:"mt-6 p-4 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:c})]}),(0,t.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-t border-[var(--card-border)] flex items-center justify-end gap-3 flex-shrink-0",children:[(0,t.jsx)("button",{onClick:a,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Cancel"}),(0,t.jsx)("button",{onClick:s,disabled:d,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:d?(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Saving..."]}):n?"Save Changes":"Create Project"})]})]})}):null}e.s(["createProjectPayload",()=>i,"default",()=>d,"useProjectFormState",()=>o])},268542,154238,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(174080),s=e.i(664659),n=e.i(463059),o=e.i(88081),i=e.i(39312),l=e.i(327025),d=e.i(690272);let c=(0,e.i(475254).default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);var u=e.i(788699),p=e.i(107233),m=e.i(555436),h=e.i(727612),x=e.i(37727),f=e.i(778917),g=e.i(239616),v=e.i(522016),b=e.i(325459),j=e.i(811132);function y({threads:e,participants:y=[],activeThreadId:w,isLoading:k,isCreating:N,onSelectThread:_,onCreateThread:C,onRenameThread:S,onDeleteThread:P,deletingThreadId:E=null,renamingThreadId:A=null,activeParticipantIds:I=[],onToggleParticipantActive:z,visible:T=!1,isRestoringActiveThread:$=!1,onToggle:L,onSearch:F,projects:M=[],onCreateProject:D,onUpdateProject:W,onDeleteProject:O,onAddAgentToProject:R,onRemoveAgentFromProject:V,onAddAgentViaForm:U,onReorderProjectAgents:B,onUpdateParticipant:H,onSelectProject:K,activeProjectId:J=null,activeProjectView:q=null,width:X,onWidthChange:G}){let Z,Y,Q=(0,r.useRef)(!1);(0,r.useRef)(0);let ee=(0,r.useRef)(null),[et,er]=(0,r.useState)(!1),[ea,es]=(0,r.useState)(new Set);(0,r.useEffect)(()=>{if(ea.size>0||!M?.length)return;let e=M.find(e=>window.location.pathname.includes(`/projects/${e.slug}`));es(new Set([e?.id??M[0].id]))},[M]);let[en,eo]=(0,r.useState)(null),[ei,el]=(0,r.useState)(new Set),[ed,ec]=(0,r.useState)(!1),[eu,ep]=(0,r.useState)(null),[em,eh]=(0,r.useState)(null),ex=(0,j.useProjectFormState)(),[ef,eg]=(0,r.useState)(null),ev=(0,r.useCallback)(e=>{e&&(e.focus(),e.select())},[]),[eb,ej]=(0,r.useState)(null),[ey,ew]=(0,r.useState)(null),ek=ey?y.find(e=>e.id===ey)??null:null,[eN,e_]=(0,r.useState)(null),[eC,eS]=(0,r.useState)(null),eP=async()=>{if(!eu&&!em)return;if(!ex.form.name.trim())return void ex.setFormError("Project name is required");let e=ex.repos.find(e=>e.name.trim()&&!e.path.trim());if(e)return void ex.setFormError(`Local path is required for folder "${e.name}"`);ex.setFormError(null),ex.setIsSubmitting(!0);let t=(0,j.createProjectPayload)(ex.form,ex.repos);em?await W?.(em.id,t):await D?.(t,eu?.threadId),ex.setIsSubmitting(!1),ep(null),eh(null)},eE=async e=>{ex.resetForm();try{let t=await fetch(`/api/projects/${e}`);if(!t.ok)throw Error("Failed to load project");let r=(await t.json()).project;eh(r),ex.hydrateFromProject(r)}catch(e){console.error("Failed to load project settings",e)}};(0,r.useEffect)(()=>{er(!0)},[]),(0,r.useEffect)(()=>{let e=!1;async function t(){if(eN?.repoId)try{let t=await fetch(`/api/knowledge-notes?scope=repo&subjectId=${encodeURIComponent(eN.repoId)}`),r=(t.ok?await t.json():{note:null}).note;e||e_(e=>e&&e.repoId===eN.repoId?{...e,generatedKnowledge:r?.content?[{id:r.id,content:r.content,created_at:r.updatedAt??r.createdAt}]:[],isLoadingKnowledge:!1}:e)}catch{e||e_(e=>e&&e.repoId===eN.repoId?{...e,generatedKnowledge:[],isLoadingKnowledge:!1}:e)}}return eN?.repoId&&t(),()=>{e=!0}},[eN?.repoId]);let eA=e=>{U?U(e):(el(new Set),eo({projectId:e}))},eI=en?M.find(e=>e.id===en.projectId):null,ez=new Set(eI?.agents.map(e=>e.agent_id)??[]),eT=en?y.filter(e=>!ez.has(e.id)):[],e$=e.length>0,eL=!!T,eF=[...e].sort((e,t)=>(e.title??"").localeCompare(t.title??"")),eM=new Map(e.map(e=>[e.id,e])),eD=M.filter(e=>!e.is_default),eW=eF.filter(e=>!eD.some(t=>t.thread_ids?.includes(e.id)));!function({focusTarget:e,shouldFocus:t}){(0,r.useEffect)(()=>{if(!t||"u"<typeof document)return;let r=e.current;if(!r||r instanceof HTMLButtonElement&&r.disabled)return;let a=document.activeElement;if(!(a&&(r===a||r.contains(a))))try{r.focus({preventScroll:!0})}catch{r.focus()}},[e,t])}({focusTarget:ee,shouldFocus:eL&&!(k&&!e$||$&&e$)&&!e$&&!N});let eO=()=>{eg({title:"Create chat",placeholder:"Chat title",defaultValue:"",onSubmit:e=>void C({title:e})})};return eL?(0,t.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar","aria-label":"Workspace sidebar","aria-busy":k?"true":void 0,style:X?{width:`${X}px`,minWidth:`${X}px`}:void 0,children:[(0,t.jsxs)("div",{className:"workspace-sidebar__brand",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__brand-content flex items-center gap-2 px-1",children:[(0,t.jsx)("div",{className:"workspace-sidebar__brand-icon","aria-hidden":"true",children:(0,t.jsx)("span",{className:"text-[10px]",children:"AGX"})}),(0,t.jsx)("span",{className:"workspace-sidebar__brand-title",children:"Workspace"})]}),L&&(0,t.jsx)("button",{type:"button",onClick:L,"aria-label":"Hide chats",title:"Hide chats",className:"workspace-sidebar__brand-toggle ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-all hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:(0,t.jsx)(c,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,t.jsxs)("div",{className:"workspace-sidebar__content",children:[F&&(0,t.jsx)("div",{className:"px-3 pt-2 pb-1",children:(0,t.jsxs)("button",{type:"button",onClick:F,className:"flex h-8 w-full items-center gap-2 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] px-2.5 text-xs text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] hover:text-[var(--app-shell-muted)]",children:[(0,t.jsx)(m.Search,{className:"h-3.5 w-3.5 shrink-0",strokeWidth:1.75}),(0,t.jsx)("span",{children:"Search..."}),(0,t.jsx)("kbd",{className:"ml-auto rounded border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1 py-0.5 font-sans text-[10px] font-medium text-[var(--app-shell-soft-text)]",children:"⌘K"})]})}),(0,t.jsxs)("nav",{className:"workspace-sidebar__section",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__section-header group/projects-header",children:[(0,t.jsx)("p",{className:"workspace-sidebar__section-label",children:"Projects"}),(0,t.jsx)("div",{className:"workspace-sidebar__header-actions",children:(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/projects-header:opacity-100",onClick:()=>{ex.resetForm(),eh(null),ep({})},"aria-label":"Create project",title:"Create project",children:(0,t.jsx)(p.Plus,{size:14})})})]}),eD.map(e=>{let r=ea.has(e.id),a=eF.filter(t=>e.thread_ids?.includes(t.id)),c=e.id===J,m=e.thread_ids?.find(e=>eM.has(e))??e.thread_ids?.[0]??a[0]?.id??null,x=c&&"thread"===q&&m===w,j=c&&"automations"===q,k=c&&"linear"===q;return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item group",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item",children:[(0,t.jsx)("button",{type:"button",className:"inline-flex items-center justify-center rounded-sm text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:()=>{var t;return t=e.id,void es(e=>{let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},"aria-label":r?`Collapse ${e.name}`:`Expand ${e.name}`,title:r?"Collapse project":"Expand project",children:r?(0,t.jsx)(s.ChevronDown,{size:14,className:"flex-shrink-0"}):(0,t.jsx)(n.ChevronRight,{size:14,className:"flex-shrink-0"})}),(0,t.jsx)(l.Folder,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title",children:e.name})]}),(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-actions",children:[(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action",onClick:()=>void eE(e.id),"aria-label":`Open project settings for ${e.name}`,title:"Project settings",children:(0,t.jsx)(u.Pencil,{size:12})}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__workspace-action workspace-sidebar__workspace-action--delete",onClick:()=>{var t;let r;return t=e.id,r=M.find(e=>e.id===t),void ej({title:"Delete project",message:`Delete "${r?.name??"project"}"? Its agents will move to the Default project.`,onConfirm:()=>void O?.(t)})},"aria-label":`Delete project ${e.name}`,title:`Delete project ${e.name}`,children:(0,t.jsx)(h.Trash2,{size:12})})]})]}),r&&(0,t.jsxs)("div",{className:"ml-4 my-1 flex flex-col gap-0.5 border-l border-[var(--app-shell-border)] pl-3",children:[(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item group/linear flex items-center",children:[(0,t.jsxs)(v.default,{href:`/projects/${e.slug}/linear`,className:`workspace-sidebar__nav-item flex-1 ${k?"workspace-sidebar__nav-item--active":""}`,"aria-current":k?"page":void 0,children:[(0,t.jsx)(f.ExternalLink,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Linear"})]}),(0,t.jsx)(v.default,{href:`/projects/${e.slug}/linear?settings=true`,className:"flex h-5 w-5 items-center justify-center rounded opacity-0 group-hover/linear:opacity-100 hover:bg-[var(--sidebar-hover)] transition-opacity",title:"Linear settings",children:(0,t.jsx)(g.Settings,{size:11,className:"text-[var(--muted-foreground)]"})})]}),(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,t.jsxs)(v.default,{href:`/projects/${e.slug}/automations`,className:`workspace-sidebar__nav-item ${j?"workspace-sidebar__nav-item--active":""}`,"aria-current":j?"page":void 0,children:[(0,t.jsx)(i.Zap,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Scheduled Tasks"})]})}),(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item",children:m?(0,t.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item ${x?"workspace-sidebar__nav-item--active":""}`,onClick:()=>_(m),"aria-current":x?"page":void 0,children:[(0,t.jsx)(o.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Chat"})]}):(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item",onClick:eO,children:[(0,t.jsx)(o.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs",children:"Chat"})]})}),(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsxs)("div",{className:"group/repos-header flex items-center justify-between px-3 py-1",children:[(0,t.jsx)("p",{className:"text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Folders"}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(v.default,{href:"/folders",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/repos-header:opacity-100 text-[var(--muted-foreground)] hover:text-white","aria-label":"Manage folders",title:"Manage folders",children:(0,t.jsx)(g.Settings,{size:12})}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/repos-header:opacity-100 text-[var(--muted-foreground)] hover:text-white",onClick:()=>e_({projectId:e.id,projectName:e.name,repoId:null,name:"",path:"",gitUrl:"",notes:"",generatedKnowledge:[],isLoadingKnowledge:!1,isSaving:!1,error:null}),"aria-label":"Add folder",title:"Add folder",children:(0,t.jsx)(p.Plus,{size:12})})]})]}),e.repos.length>0?e.repos.map(r=>(0,t.jsxs)("div",{className:"workspace-sidebar__workspace-item group/repo flex items-center",children:[(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item min-w-0 flex-1 text-left",onClick:()=>e_({projectId:e.id,projectName:e.name,repoId:r.id,name:r.name,path:r.path||"",gitUrl:r.git_url||"",notes:r.notes||"",generatedKnowledge:[],isLoadingKnowledge:!0,isSaving:!1,error:null}),children:[(0,t.jsx)(d.FolderGit2,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)] ml-2"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:r.name})]}),(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 group-hover/repo:opacity-100 transition-opacity flex-shrink-0 text-[var(--muted-foreground)] hover:text-red-400",onClick:async t=>{t.stopPropagation();let a=e.repos.filter(e=>e.id!==r.id).map(e=>({id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes}));await W?.(e.id,{repos:a})},"aria-label":"Delete folder",title:"Delete folder",children:(0,t.jsx)(h.Trash2,{size:12})})]},`${e.id}:${r.name}:${r.path??""}`)):(0,t.jsx)("p",{className:"px-3 py-1 text-[11px] text-[var(--muted-foreground)]",children:"No folders"})]}),(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsxs)("div",{className:"group/agents-header flex items-center justify-between px-3 py-1",children:[(0,t.jsx)("p",{className:"text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Agents"}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(v.default,{href:"/agents",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/agents-header:opacity-100 text-[var(--muted-foreground)] hover:text-white","aria-label":"Manage agents",title:"Manage agents",children:(0,t.jsx)(g.Settings,{size:12})}),e.agents.length>0&&(0,t.jsx)("button",{type:"button",className:"workspace-sidebar__action opacity-0 transition-opacity group-hover/agents-header:opacity-100 text-[var(--muted-foreground)] hover:text-white",onClick:()=>eA(e.id),"aria-label":"Add agents",title:"Add agents",children:(0,t.jsx)(p.Plus,{size:12})})]})]}),e.agents.length>0?(0,t.jsx)(t.Fragment,{children:e.agents.map((r,a)=>{let s=y.find(e=>e.id===r.agent_id),n=eC?.projectId===e.id&&eC?.agentId===r.agent_id,o=eC?.projectId===e.id&&eC?.overIndex===a&&!n;return(0,t.jsx)("div",{draggable:!0,onDragStart:t=>{t.dataTransfer.effectAllowed="move",eS({projectId:e.id,agentId:r.agent_id,overIndex:a})},onDragOver:t=>{t.preventDefault(),eC&&eC.projectId===e.id&&eS(e=>e?{...e,overIndex:a}:null)},onDragEnd:()=>{if(eC&&eC.projectId===e.id&&B){let t=e.agents.map(e=>e.agent_id),r=t.indexOf(eC.agentId),a=eC.overIndex;if(-1!==r&&r!==a){let s=[...t],[n]=s.splice(r,1);s.splice(a,0,n),B(e.id,s)}}eS(null)},className:`group/agent flex items-center ${o?"border-t-2 border-[var(--border)]":"border-t-2 border-transparent"} ${n?"opacity-40":""}`,children:(0,t.jsxs)("button",{type:"button",className:"workspace-sidebar__nav-item flex-1 min-w-0 !py-1",onClick:()=>ew(r.agent_id),children:[(0,t.jsx)("span",{className:`cursor-grab text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] flex-shrink-0 mr-0.5 transition-opacity ${0===a?"opacity-100":"opacity-0 group-hover/agent:opacity-100"}`,title:"Drag to reorder",children:"⠿"}),(0,t.jsx)("img",{src:(0,b.agentAvatarUrl)(r.agent_id,16,s?.color),alt:"",className:"w-4 h-4 rounded-full flex-shrink-0"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title text-xs truncate",children:s?.name??r.agent_id}),0===a&&(0,t.jsx)("span",{className:"ml-auto text-[9px] text-[var(--muted-foreground)] font-medium flex-shrink-0",title:"Default responder (top agent responds first)",children:"DEFAULT"})]})},r.agent_id)})}):(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 px-3 py-1 text-[11px] font-medium text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",onClick:()=>eA(e.id),children:[(0,t.jsx)(p.Plus,{size:10}),(0,t.jsx)("span",{children:"Add agents"})]})]})]})]},e.id)}),eW.length>0&&(0,t.jsxs)("div",{className:"pt-3",children:[(0,t.jsx)("p",{className:"px-1 py-1 text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide",children:"Unassigned Threads"}),eW.map(e=>{let r=e.id===w,a=e.title?.trim()||"Untitled thread";return(0,t.jsx)("div",{className:"workspace-sidebar__workspace-item group",children:(0,t.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item workspace-sidebar__workspace-nav-item ${r?"workspace-sidebar__nav-item--active workspace-sidebar__workspace-nav-item--active":""}`,onClick:()=>_(e.id),"aria-current":r?"page":void 0,children:[(0,t.jsx)(o.Hash,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"workspace-sidebar__workspace-title",children:a})]})},e.id)})]})]})]}),(0,t.jsx)("div",{className:"mt-auto px-3 pb-3",children:(0,t.jsxs)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 w-full py-2 rounded-lg text-white text-sm font-medium transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:e=>e.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:e=>e.currentTarget.style.backgroundColor="#5865F2",children:[(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})}),"Join Discord"]})}),et&&eN&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{eN.isSaving||e_(null)},children:(0,t.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] shadow-2xl",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-[var(--border)] px-5 py-4",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:eN.projectName}),(0,t.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--foreground)]",children:eN.repoId?eN.name||"Folder":"Add Folder"})]}),(0,t.jsx)("button",{type:"button",className:"rounded-md p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)] hover:text-[var(--muted-foreground)]",onClick:()=>{eN.isSaving||e_(null)},"aria-label":"Close folder details",disabled:eN.isSaving,children:(0,t.jsx)(x.X,{size:16})})]}),(0,t.jsxs)("div",{className:"space-y-4 px-5 py-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Name"}),(0,t.jsx)("input",{value:eN.name,onChange:e=>e_(t=>t?{...t,name:e.target.value,error:null}:t),className:"w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",disabled:eN.isSaving,placeholder:"e.g. Frontend, API Docs, Design System"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Path"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{value:eN.path,onChange:e=>e_(t=>t?{...t,path:e.target.value,error:null}:t),className:"flex-1 rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 font-mono text-xs text-[var(--foreground)]",disabled:eN.isSaving,placeholder:"Local path to folder"}),(0,t.jsx)("button",{type:"button",className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",disabled:eN.isSaving,onClick:async()=>{try{let e=await fetch("/api/filesystem/pick-folder",{method:"POST"}),t=await e.json();t.path&&e_(e=>e?{...e,path:t.path,error:null}:e)}catch{}},children:"Browse"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Notes"}),(0,t.jsx)("textarea",{value:eN.notes,onChange:e=>e_(t=>t?{...t,notes:e.target.value,error:null}:t),className:"min-h-28 w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-3 text-sm text-[var(--foreground)] whitespace-pre-wrap",disabled:eN.isSaving,placeholder:"Coding conventions, deploy steps, doc standards, ownership rules..."})]}),eN.repoId?(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Living Note"}),eN.isLoadingKnowledge?(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading note…"}):eN.generatedKnowledge.length>0?(0,t.jsx)("div",{className:"space-y-2",children:eN.generatedKnowledge.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,t.jsx)("div",{children:e.content}),e.created_at?(0,t.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleString()}):null]},e.id))}):(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No note yet."})]}):null,eN.error?(0,t.jsx)("p",{className:"text-xs text-red-600",children:eN.error}):null,(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] pt-4",children:[(0,t.jsx)("button",{type:"button",className:"rounded-lg px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",onClick:()=>e_(null),disabled:eN.isSaving,children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"rounded-lg bg-[var(--foreground)] px-3 py-2 text-sm font-medium text-[var(--card-bg)] transition-colors hover:bg-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-60",disabled:eN.isSaving||!W,onClick:async()=>{let e=M.find(e=>e.id===eN.projectId);if(!e)return void e_(e=>e?{...e,error:"Project not found."}:e);let t=eN.name.trim(),r=eN.path.trim();if(!t)return void e_(e=>e?{...e,error:"Folder name is required."}:e);if(!r)return void e_(e=>e?{...e,error:"Folder path is required."}:e);e_(e=>e?{...e,isSaving:!0,error:null}:e);try{let a=eN.repoId?e.repos.map(e=>e.id===eN.repoId?{id:e.id,name:t,path:r,git_url:eN.gitUrl.trim()||void 0,notes:eN.notes.trim()||void 0}:{id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes}):[...e.repos.map(e=>({id:e.id,name:e.name,path:e.path,git_url:e.git_url,notes:e.notes})),{name:t,path:r,git_url:eN.gitUrl.trim()||void 0,notes:eN.notes.trim()||void 0}];await W?.(e.id,{repos:a}),e_(null)}catch(e){e_(t=>t?{...t,isSaving:!1,error:e instanceof Error?e.message:"Failed to save folder details."}:t)}},children:eN.isSaving?"Saving...":eN.repoId?"Save":"Add Folder"})]})]})]})}),document.body),et&&en&&!ed&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>eo(null),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 max-h-[70vh] flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsxs)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:["Add to ",eI?.name??"project"]}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>eo(null),children:(0,t.jsx)(x.X,{size:16})})]}),(0,t.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,t.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 px-4 py-2.5 text-sm text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors border-b border-[var(--border)]",onClick:()=>ec(!0),children:[(0,t.jsx)(p.Plus,{size:14,className:"text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===eT.length?(0,t.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--muted-foreground)] text-center",children:"All agents are already in this project"}):eT.map(e=>{let r=ei.has(e.id);return(0,t.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${r?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{el(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r})},children:[(0,t.jsx)("div",{className:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${r?"bg-[var(--foreground)] border-[var(--foreground)]":"border-[var(--border)]"}`,children:r&&(0,t.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,t.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("img",{src:(0,b.agentAvatarUrl)(e.id,24,e.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,t.jsx)("div",{className:"truncate font-medium text-xs",children:e.name}),(0,t.jsx)("div",{className:"truncate text-[11px] text-[var(--muted-foreground)]",children:e.model})]})]},e.id)})]}),eT.length>0&&(0,t.jsxs)("div",{className:"px-4 py-3 border-t border-[var(--border)] flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>eo(null),children:"Cancel"}),(0,t.jsxs)("button",{type:"button",disabled:0===ei.size,className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let e of ei)R?.(en.projectId,e);eo(null)},children:["Add ",ei.size>0?`(${ei.size})`:""]})]})]})}),document.body),et&&ed&&(0,a.createPortal)((0,t.jsx)(b.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[],skillBindings:[]},submitLabel:"Create & Add",projects:M?.filter(e=>!e.is_default).map(t=>{let r=(t.thread_ids??[]).map(t=>e.find(e=>e.id===t)?.title?.trim()).filter(Boolean).join(", ")||"No chat";return{id:t.id,name:t.name,label:`${r} › ${t.name}`}}),initialProjectIds:en?[en.projectId]:[],onSubmit:async(e,t)=>{let r=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],a=r[y.length%r.length],s=e.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),n=t?.[0],o=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:s,name:e.name,provider:e.provider,model:e.model,color:e.color??a,...e.title?{title:e.title}:{},...e.identity?{identity:e.identity}:{},skills:e.skills??[],skillBindings:e.skillBindings??[],...n?{projectId:n}:{}})});if(o.ok){let e=await o.json().catch(()=>({})),r="string"==typeof e?.id&&e.id.trim()?e.id.trim():s;for(let e of(t??[]).slice(1))R?.(e,r);ec(!1),eo(null)}},onCancel:()=>{ec(!1)}}),document.body),et&&ef&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>eg(null),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:ef.title}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>eg(null),children:(0,t.jsx)(x.X,{size:16})})]}),(0,t.jsxs)("form",{className:"px-4 py-4 flex flex-col gap-3",onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget),r=t.get("value")?.trim();r&&(ef.onSubmit(r),eg(null))},children:[(0,t.jsx)("input",{ref:ev,name:"value",type:"text",defaultValue:ef.defaultValue,placeholder:ef.placeholder,className:"w-full px-3 py-2 text-sm border border-[var(--border)] rounded-lg outline-none focus:border-[var(--border)] focus:ring-1 focus:ring-[var(--border)] transition-all"}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>eg(null),children:"Cancel"}),(0,t.jsx)("button",{type:"submit",className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] transition-colors",children:ef.defaultValue?"Save":"Create"})]})]})]})}),document.body),et&&eb&&(0,a.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ej(null),children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:eb.title}),(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ej(null),children:(0,t.jsx)(x.X,{size:16})})]}),(0,t.jsxs)("div",{className:"px-4 py-4 flex flex-col gap-4",children:[(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:eb.message}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>ej(null),children:"Cancel"}),(0,t.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs font-medium text-white bg-red-600 rounded-lg hover:bg-red-700 transition-colors",onClick:()=>{eb.onConfirm(),ej(null)},children:"Delete"})]})]})]})}),document.body),et&&(eu||em)&&(0,a.createPortal)((0,t.jsx)(j.default,{isOpen:!0,onClose:()=>{ex.resetForm(),ep(null),eh(null)},onSubmit:()=>void eP(),editingProject:em,form:ex.form,repos:ex.repos,isSubmitting:ex.isSubmitting,formError:ex.formError,onFieldChange:(e,t)=>ex.setForm(r=>({...r,[e]:t})),onRepoChange:ex.handleRepoChange,onAddRepo:ex.addRepo,onRemoveRepo:ex.removeRepo}),document.body),et&&ek&&(0,a.createPortal)((Z=M.filter(e=>e.agents.some(e=>e.agent_id===ek.id)),Y=M.filter(e=>!e.agents.some(e=>e.agent_id===ek.id)),(0,t.jsx)(b.AgentForm,{title:"Edit agent",initial:{name:ek.name,title:ek.title||"",provider:ek.provider,model:ek.model||"",identity:ek.identity||"",color:ek.color,skills:ek.skills||[],skillBindings:ek.skillBindings||[]},agentId:ek.id,submitLabel:"Save",projectMemberships:{current:Z.map(e=>({id:e.id,name:e.name,is_default:!!e.is_default})),available:Y.map(e=>({id:e.id,name:e.name}))},onAddToProject:R?e=>R(e,ek.id):void 0,onRemoveFromProject:V?e=>V(e,ek.id):void 0,onSubmit:async e=>{H&&await H({...ek,name:e.name,title:e.title||void 0,provider:e.provider,model:e.model,color:e.color??ek.color,...e.identity?{identity:e.identity}:{},skills:e.skills??[],skillBindings:e.skillBindings??[]}),ew(null)},onCancel:()=>ew(null)})),document.body),G&&(0,t.jsx)("div",{className:"absolute right-0 top-0 bottom-0 z-20 w-1 cursor-col-resize group",onMouseDown:e=>{e.preventDefault(),Q.current=!0;let t=e.clientX,r=X??368;document.body.style.cursor="col-resize",document.body.style.userSelect="none";let a=e=>{G(Math.max(200,Math.min(600,r+e.clientX-t)))},s=()=>{Q.current=!1,document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",a),window.removeEventListener("mouseup",s)};window.addEventListener("mousemove",a),window.addEventListener("mouseup",s)},children:(0,t.jsx)("div",{className:"absolute inset-y-0 right-0 w-1 transition-colors hover:bg-[var(--primary)]/40 group-hover:bg-[var(--primary)]/40"})})]}):(0,t.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar workspace-sidebar--collapsed","aria-label":"Workspace sidebar",children:[(0,t.jsx)("div",{className:"workspace-sidebar__brand",children:(0,t.jsx)("button",{type:"button",onClick:L,className:"workspace-sidebar__brand-icon border-none outline-none cursor-pointer","aria-label":"Show chats",title:"Show chats",children:(0,t.jsx)("span",{className:"text-[10px]",children:"AGX"})})}),(0,t.jsx)("div",{className:"mt-auto p-2",children:(0,t.jsx)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center w-8 h-8 rounded-lg text-white transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:e=>e.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:e=>e.currentTarget.style.backgroundColor="#5865F2",title:"Join Discord",children:(0,t.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})})})})]})}e.s(["WorkspaceSidebar",()=>y],268542);let w="agx-chat:uiSettings",k={threadSidebarVisible:!1};function N(){return void 0!==window.localStorage}function _(){if(!N())return{...k};let e=window.localStorage.getItem(w);if(!e)return{...k};try{let t=JSON.parse(e);return{...k,threadSidebarVisible:"boolean"==typeof t.threadSidebarVisible&&t.threadSidebarVisible}}catch{return{...k}}}function C(){return _().threadSidebarVisible}function S(e){var t={..._(),threadSidebarVisible:e};if(N())try{window.localStorage.setItem(w,JSON.stringify(t))}catch{}}e.s(["loadWorkspaceSidebarVisible",()=>C,"persistWorkspaceSidebarVisible",()=>S],154238)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,233525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},998183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return i}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});function o(e){let t={};for(let[r,a]of e.entries()){let e=t[r];void 0===e?t[r]=a:Array.isArray(e)?e.push(a):t[r]=[e,a]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;for(let[r,a]of Object.entries(e))if(Array.isArray(a))for(let e of a)t.append(r,s(e));else t.set(r,s(a));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,a]of r.entries())e.append(t,a)}return e}},195057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={formatUrl:function(){return i},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(190809)._(e.r(998183)),s=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,a=e.protocol||"",n=e.pathname||"",i=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let d=e.search||l&&`?${l}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||s.test(a))&&!1!==u?(u="//"+(u||""),n&&"/"!==n[0]&&(n="/"+n)):u||(u=""),i&&"#"!==i[0]&&(i="#"+i),d&&"?"!==d[0]&&(d="?"+d),n=n.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${a}${u}${n}${d}${i}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return i(e)}},818581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return n}});let a=e.r(271645);function n(e,t){let r=(0,a.useRef)(null),n=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=r.current;e&&(r.current=null,e());let t=n.current;t&&(n.current=null,t())}else e&&(r.current=o(e,a)),t&&(n.current=o(t,a))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},718967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return T},NormalizeError:function(){return v},PageNotFoundError:function(){return b},SP:function(){return m},ST:function(){return g},WEB_VITALS:function(){return o},execOnce:function(){return s},getDisplayName:function(){return c},getLocationOrigin:function(){return u},getURL:function(){return d},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return S}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,r=!1;return(...a)=>(r||(r=!0,t=e(...a)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>i.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function d(){let{href:e}=window.location,t=u();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function p(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let a=await e.getInitialProps(t);if(r&&f(r))return a;if(!a)throw Object.defineProperty(Error(`"${c(e)}.getInitialProps()" should resolve to an object. But found "${a}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}let m="u">typeof performance,g=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class v extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class T extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function S(e){return JSON.stringify({message:e.message,stack:e.stack})}},573668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let a=e.r(718967),n=e.r(652817);function o(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let t=(0,a.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,n.hasBasePath)(r.pathname)}catch(e){return!1}}},284508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},522016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return y},useLinkStatus:function(){return b}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let o=e.r(190809),s=e.r(843476),i=o._(e.r(271645)),l=e.r(195057),u=e.r(8372),d=e.r(818581),c=e.r(718967),f=e.r(405550);e.r(233525);let h=e.r(91949),p=e.r(573668),m=e.r(509396);function g(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function y(t){var r;let a,n,o,[l,y]=(0,i.useOptimistic)(h.IDLE_LINK_STATUS),b=(0,i.useRef)(null),{href:T,as:j,children:S,prefetch:w=null,passHref:A,replace:P,shallow:x,scroll:N,onClick:C,onMouseEnter:O,onTouchStart:I,legacyBehavior:E=!1,onNavigate:_,ref:k,unstable_dynamicOnHover:R,...M}=t;a=S,E&&("string"==typeof a||"number"==typeof a)&&(a=(0,s.jsx)("a",{children:a}));let F=i.default.useContext(u.AppRouterContext),U=!1!==w,L=!1!==w?null===(r=w)||"auto"===r?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,{href:$,as:D}=i.default.useMemo(()=>{let e=g(T);return{href:e,as:j?g(j):e}},[T,j]);if(E){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});n=i.default.Children.only(a)}let W=E?n&&"object"==typeof n&&n.ref:k,B=i.default.useCallback(e=>(null!==F&&(b.current=(0,h.mountLinkInstance)(e,$,F,L,U,y)),()=>{b.current&&((0,h.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,h.unmountPrefetchableInstance)(e)}),[U,$,F,L,y]),K={ref:(0,d.useMergedRef)(B,W),onClick(t){E||"function"!=typeof C||C(t),E&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(t),!F||t.defaultPrevented||function(t,r,a,n,o,s,l){if("u">typeof window){let u,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,p.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:c}=e.r(699781);i.default.startTransition(()=>{c(a||r,o?"replace":"push",s??!0,n.current)})}}(t,$,D,b,P,N,_)},onMouseEnter(e){E||"function"!=typeof O||O(e),E&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),F&&U&&(0,h.onNavigationIntent)(e.currentTarget,!0===R)},onTouchStart:function(e){E||"function"!=typeof I||I(e),E&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),F&&U&&(0,h.onNavigationIntent)(e.currentTarget,!0===R)}};return(0,c.isAbsoluteUrl)(D)?K.href=D:E&&!A&&("a"!==n.type||"href"in n.props)||(K.href=(0,f.addBasePath)(D)),o=E?i.default.cloneElement(n,K):(0,s.jsx)("a",{...M,...K,children:a}),(0,s.jsx)(v.Provider,{value:l,children:o})}e.r(284508);let v=(0,i.createContext)(h.IDLE_LINK_STATUS),b=()=>(0,i.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},618566,(e,t,r)=>{t.exports=e.r(976562)},399438,e=>{"use strict";let t="agx-chat:threads";function r(){let e=globalThis.localStorage;if(!e)throw Error("LocalThreadAdapter requires a browser-like environment with `localStorage`.");return e}function a(){let e=r().getItem(t);if(!e)return{threads:{}};try{let t=JSON.parse(e);if(t&&"object"==typeof t&&t.threads&&"object"==typeof t.threads)return{threads:Object.fromEntries(Object.entries(t.threads).map(([e,t])=>{var r,a;return[e,(r=e,a=t,{id:r,title:a?.title,messages:Array.isArray(a?.messages)?[...a.messages]:[],createdAt:"number"==typeof a?.createdAt?a.createdAt:Date.now(),updatedAt:"number"==typeof a?.updatedAt?a.updatedAt:Date.now(),metadata:a?.metadata,status:a?.status,outcomeNote:a?.outcomeNote,projectId:"string"==typeof a?.projectId?a.projectId:"string"==typeof a?.teamId?a.teamId:a?.projectId===null||a?.teamId===null?null:void 0})]}))}}catch{}return{threads:{}}}function n(e){r().setItem(t,JSON.stringify(e))}function o(e){return{...e,messages:e.messages.map(e=>({...e})),metadata:e.metadata?{...e.metadata}:void 0}}let s=new class{async saveThread(e){let t=Date.now(),r=a(),s=r.threads[e.id],i=s?.createdAt??e.createdAt??t,l=e.updatedAt??t,u={id:e.id,title:e.title,messages:e.messages.map(e=>({...e})),metadata:e.metadata,createdAt:i,updatedAt:l,status:e.status,outcomeNote:e.outcomeNote,projectId:e.projectId??e.teamId};return r.threads[e.id]=u,n(r),o(u)}async loadThread(e){let t=a().threads[e];return t?o(t):null}async listThreads(e){let t=Object.values(a().threads),r=e?.order??"desc",n=[...t].sort((e,t)=>"asc"===r?e.updatedAt-t.updatedAt:t.updatedAt-e.updatedAt),s=Math.max(0,e?.offset??0),i=e?.limit,l="number"==typeof i&&i>=0?n.slice(s,s+i):n.slice(s);return{total:t.length,threads:l.map(o)}}async deleteThread(e){let t=a();t.threads[e]&&(delete t.threads[e],n(t))}};e.s(["threadService",0,{listThreads:async()=>[...(await s.listThreads({order:"desc"})).threads.filter(e=>!0!==e.metadata?.archived)].sort((e,t)=>t.updatedAt-e.updatedAt),async createThread(e){let t="string"==typeof e?.id?e.id.trim():"";if(t){let r=await s.loadThread(t);if(r){let t={...r.metadata??{},...e?.metadata??{},archived:!1,archivedAt:null};return s.saveThread({id:r.id,title:e?.title??r.title,messages:e?.messages?.length?e.messages:r.messages,metadata:t,createdAt:r.createdAt})}}let r={id:t||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`thread-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:e?.messages?.length?e.messages:[],title:e?.title,metadata:e?.metadata};return s.saveThread(r)},async deleteThread(e){let t=e.trim();if(!t)return;let r=await s.loadThread(t);if(!r)return;let a={...r.metadata??{},archived:!0,archivedAt:Date.now()};await s.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:a,createdAt:r.createdAt})},async renameThread(e,t){let r=e.trim(),a=t.trim();if(!r||!a)return null;let n=await s.loadThread(r);return n?(n.title?.trim()??"")===a?n:s.saveThread({id:n.id,title:a,messages:n.messages,metadata:n.metadata,createdAt:n.createdAt}):null},async updateThreadStatus(e,t){let r=await s.loadThread(e);return r?r.status===t?r:s.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:r.metadata,createdAt:r.createdAt,status:t,outcomeNote:r.outcomeNote}):null},async updateThreadOutcomeNote(e,t){let r=await s.loadThread(e);return r?r.outcomeNote===t?r:s.saveThread({id:r.id,title:r.title,messages:r.messages,metadata:r.metadata,createdAt:r.createdAt,status:r.status,outcomeNote:t}):null},async updateMessageThreadStatus(e,t,r){let a=await s.loadThread(e);if(!a)return null;let n=a.messages.map(e=>e.id===t?{...e,threadStatus:r}:e);return s.saveThread({id:a.id,title:a.title,messages:n,metadata:a.metadata,createdAt:a.createdAt,status:a.status,outcomeNote:a.outcomeNote})},async updateMessageOutcomeNote(e,t,r){let a=await s.loadThread(e);if(!a)return null;let n=a.messages.map(e=>e.id===t?{...e,outcomeNote:r}:e);return s.saveThread({id:a.id,title:a.title,messages:n,metadata:a.metadata,createdAt:a.createdAt,status:a.status,outcomeNote:a.outcomeNote})},async saveThreadMessages(e,t){let r=await s.loadThread(e);if(!r)return null;let a=r.title?.trim()||function(e){let t=e.find(e=>"user"===e.role)?.content?.trim();if(!t)return;let r=t.replace(/\s+/g," ");return r.length>60?`${r.slice(0,60).trim()}…`:r}(t);return function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1){let a=e[r],n=t[r];if(a.id!==n.id||a.role!==n.role||a.participantId!==n.participantId||a.content!==n.content||a.timestamp!==n.timestamp)return!1}return!0}(r.messages,t)&&(r.title?.trim()||void 0)===a?r:s.saveThread({id:r.id,title:a,messages:t,metadata:r.metadata,createdAt:r.createdAt})}}],399438)},716625,e=>{"use strict";var t=e.i(271645),r=e.i(618566),a=e.i(399438);let n="agx-chat:last-thread";function o(){return void 0!==window.localStorage}function s(){if(o())try{window.localStorage.removeItem(n)}catch{}}let i=e=>[...e].sort((e,t)=>t.createdAt-e.createdAt);function l(e){let l=(0,r.useSearchParams)(),u=(0,t.useRef)(!0),[d,c]=(0,t.useState)([]),[f,h]=(0,t.useState)(null),[p,m]=(0,t.useState)(!0),[g,y]=(0,t.useState)(!0),[v,b]=(0,t.useState)(!1),[T,j]=(0,t.useState)(null),[S,w]=(0,t.useState)(null),A=(0,t.useRef)(!1),P=(0,t.useCallback)(e=>{h(e)},[]);(0,t.useEffect)(()=>(u.current=!0,()=>{u.current=!1}),[]),(0,t.useEffect)(()=>{let t=!1;return(async()=>{try{var r;let d,f=(e||l.get("thread")||"").trim()||null,p=await a.threadService.listThreads();if(f&&!p.some(e=>e.id===f)){let e=await a.threadService.createThread({id:f});p=i([...p.filter(t=>t.id!==e.id),e])}if(t||!u.current)return;c(p);let m=f||function(){if(!o())return null;try{return window.localStorage.getItem(n)}catch{return null}}(),{threadId:g,shouldClearSavedId:y,restoredFromStorage:v}=(r=p,d=r[0]?.id??null,m?r.some(e=>e.id===m)?{threadId:m,shouldClearSavedId:!1,restoredFromStorage:!0}:{threadId:d,shouldClearSavedId:!0,restoredFromStorage:!1}:{threadId:d,shouldClearSavedId:!1,restoredFromStorage:!1});y&&s(),A.current||(A.current=!0),v&&g?P(g):g?h(e=>e??g):h(null)}catch(e){console.error("Failed to load threads",e)}finally{u.current&&(m(!1),y(!1))}})(),()=>{t=!0}},[P,l,e]),(0,t.useEffect)(()=>{if(A.current)if(f){if(o())try{window.localStorage.setItem(n,f)}catch{}}else s()},[f]);let x=(0,t.useCallback)(async e=>{b(!0);try{let t=await a.threadService.createThread(e);if(!u.current)return t;return c(e=>i([...e.filter(e=>e.id!==t.id),t])),h(t.id),t}catch(e){throw console.error("Failed to create thread",e),e}finally{u.current&&b(!1)}},[]),N=(0,t.useCallback)(async e=>{if(e){j(e);try{if(await a.threadService.deleteThread(e),!u.current)return;let t=[];c(r=>t=i(r.filter(t=>t.id!==e))),h(r=>r===e?t[0]?.id??null:r)}catch(e){throw console.error("Failed to delete thread",e),e}finally{u.current&&j(null)}}},[]),C=(0,t.useCallback)(async(e,t)=>{let r=e.trim(),n=t.trim();if(r&&n){w(r);try{let e=await a.threadService.renameThread(r,n);if(!e||!u.current)return;c(t=>i(t.map(t=>t.id===e.id?e:t)))}catch(e){throw console.error("Failed to rename thread",e),e}finally{u.current&&w(e=>e===r?null:e)}}},[]),O=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.saveThreadMessages(e,t);if(!r||!u.current)return;c(e=>i(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread messages",e)}},[]),I=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.updateThreadStatus(e,t);if(!r||!u.current)return;c(e=>i(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread status",e)}},[]),E=(0,t.useCallback)(async(e,t)=>{if(e)try{let r=await a.threadService.updateThreadOutcomeNote(e,t);if(!r||!u.current)return;c(e=>i(e.map(e=>e.id===r.id?r:e)))}catch(e){console.error("Failed to update thread outcome note",e)}},[]),_=(0,t.useCallback)(async(e,t,r)=>{if(e&&t)try{let n=await a.threadService.updateMessageThreadStatus(e,t,r);if(!n||!u.current)return;c(e=>i(e.map(e=>e.id===n.id?n:e)))}catch(e){console.error("Failed to update message thread status",e)}},[]),k=(0,t.useCallback)(async(e,t,r)=>{if(e&&t)try{let n=await a.threadService.updateMessageOutcomeNote(e,t,r);if(!n||!u.current)return;c(e=>i(e.map(e=>e.id===n.id?n:e)))}catch(e){console.error("Failed to update message outcome note",e)}},[]),R=null!==f&&T===f;return{threads:d,activeThreadId:f,selectThread:P,createThread:x,deleteThread:N,isLoading:p,isRestoringActiveThread:g,isCreating:v,deletingThreadId:T,renamingThreadId:S,isDeletingActiveThread:R,updateThreadMessages:O,renameThread:C,updateThreadStatus:I,updateThreadOutcomeNote:E,updateMessageThreadStatus:_,updateMessageOutcomeNote:k}}e.s(["useThreadState",()=>l],716625)},466975,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(618566),n=e.i(268542),o=e.i(274049),s=e.i(716625),i=e.i(154238),l=e.i(815273);function u({children:e,params:u}){let{slug:d}=(0,r.use)(u),c=(0,a.useRouter)(),f=(0,a.usePathname)(),{projects:h,isLoading:p,createProject:m,updateProject:g,deleteProject:y,addAgent:v,removeAgent:b}=(0,o.useProjectsWithAgents)(),{threads:T,isLoading:j,isCreating:S,deletingThreadId:w,renamingThreadId:A,isRestoringActiveThread:P,createThread:x,renameThread:N,deleteThread:C}=(0,s.useThreadState)(),[O,I]=(0,r.useState)([]),[E,_]=(0,r.useState)(!1),[k,R]=(0,r.useState)(368);(0,r.useEffect)(()=>{_((0,i.loadWorkspaceSidebarVisible)()),R((0,l.loadWorkspaceWidth)()||368)},[]),(0,r.useEffect)(()=>{fetch("/api/participants").then(e=>e.json()).then(e=>I(Array.isArray(e)?e:[])).catch(()=>I([]))},[]);let M=(0,r.useMemo)(()=>h.find(e=>e.slug===d)??null,[h,d]),F=(0,r.useMemo)(()=>{let e=f.match(/\/projects\/[^/]+\/thread\/([^/]+)/);return e?.[1]?decodeURIComponent(e[1]):M?.thread_ids[0]??null},[M?.thread_ids,f]),U=(0,r.useMemo)(()=>f.includes("/linear")?"linear":f.includes("/automations")?"automations":f.includes("/thread/")?"thread":f.includes("/knowledge")?"knowledge":"board",[f]),L=(0,r.useCallback)(e=>{R(e),(0,l.persistWorkspaceWidth)(e)},[]);return p?(0,t.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,t.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}):M?(0,t.jsxs)("div",{className:"flex h-dvh min-h-0 overflow-hidden bg-[var(--background)]",children:[(0,t.jsx)(n.WorkspaceSidebar,{threads:T,participants:O,activeThreadId:F,isLoading:j,isRestoringActiveThread:P,isCreating:S,deletingThreadId:w,renamingThreadId:A,onSelectThread:e=>c.push(`/projects/${d}/thread/${encodeURIComponent(e)}`),onCreateThread:x,onRenameThread:N,onDeleteThread:C,visible:E,onToggle:()=>{let e=!E;_(e),(0,i.persistWorkspaceSidebarVisible)(e)},width:k,onWidthChange:L,projects:h,onCreateProject:m,onUpdateProject:g,onDeleteProject:y,onAddAgentToProject:v,onRemoveAgentFromProject:b,activeProjectId:M.id,activeProjectView:U,onUpdateParticipant:async e=>{let t=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error("Failed to update agent");let r=await t.json();I(e=>e.map(e=>e.id===r.id?r:e))},onSelectProject:e=>{let t=h.find(t=>t.id===e);t&&c.push(`/projects/${t.slug}`)}}),(0,t.jsx)("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 h-full overflow-hidden",children:e})]}):(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,t.jsx)("h2",{className:"text-xl font-bold mb-2",children:"Project Not Found"}),(0,t.jsxs)("p",{className:"text-[var(--muted-foreground)] mb-4",children:["The project “",d,"” does not exist or you do not have access to it."]}),(0,t.jsx)("button",{onClick:()=>c.push("/projects"),className:"px-4 py-2 bg-[var(--primary)] text-white rounded-lg hover:bg-[var(--primary-dark)] transition-colors",children:"Back to Projects"})]})}function d({children:e,params:a}){return(0,t.jsx)(r.Suspense,{fallback:(0,t.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-[var(--muted-foreground)]",children:"Loading project…"}),children:(0,t.jsx)(u,{params:a,children:e})})}e.s(["default",()=>d])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,618566,(e,t,a)=>{t.exports=e.r(976562)},430520,e=>{"use strict";var t=e.i(271645);function a(e){return`threadId=${encodeURIComponent(e)}`}function r(e){return`workspaceId=${encodeURIComponent(e)}`}function s(e){let[s,i]=(0,t.useState)([]),[d,n]=(0,t.useState)([]),[c,l]=(0,t.useState)([]),o=(0,t.useRef)(e),u=(0,t.useRef)(e);o.current=e,u.current!==e&&(u.current=e,i([]),n([]),l([]));let h=(0,t.useCallback)(async e=>{let t=e?.trim()||o.current?.trim();if(!t){i([]),n([]);return}let s=a(t);try{let[e,a]=await Promise.all([fetch(`/api/history?${s}`),fetch(`/api/logs?${r(t)}`)]);if(o.current!==t)return;e.ok&&i(await e.json()),a.ok&&n(await a.json())}catch{}},[]),m=(0,t.useCallback)(async e=>{let t=e?.trim()||o.current?.trim();if(!t){i([]),n([]);return}let s=a(t);await Promise.all([fetch(`/api/history?${s}`,{method:"DELETE"}),fetch(`/api/logs?${r(t)}`,{method:"DELETE"})]),o.current===t&&(i([]),n([]))},[]),f=(0,t.useCallback)(async(e,t=10,a,r,s,d,n,c,u,h)=>{let m=a?.trim()||o.current?.trim();if(!m)return;let f=Date.now(),p=crypto.randomUUID(),y={id:p,role:"user",participantId:null,content:e,timestamp:f,rootMessageId:r||null,parentMessageId:r||null,depth:+!!r,...d&&d.length>0?{attachments:d}:{}};i(e=>[...e,y]);try{let a=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:m,prompt:e,promptPrefix:u||void 0,maxRounds:t,userMessageId:p,rootMessageId:r||void 0,attachmentIds:s?.length?s:void 0,activeParticipantIds:Array.isArray(n)?n:void 0,projectSlug:c?.trim()||void 0,routing:h})}),i=await a.json().catch(()=>null);a.ok&&i?.chatRunId&&l(e=>[{chatRunId:i.chatRunId,threadId:m,rootMessageId:r||p,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...e.filter(e=>e.chatRunId!==i.chatRunId)])}catch{}return p},[]),p=(0,t.useCallback)(async()=>{let e=o.current?.trim();if(e)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]),y=(0,t.useCallback)(async e=>{let t=o.current?.trim();if(t)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(t)}&threadId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]);return{messages:s,setMessages:i,logs:d,sendMessage:f,loadHistory:h,clearHistory:m,clearLogs:(0,t.useCallback)(async e=>{let t=e?.trim()||o.current?.trim();t?(await fetch(`/api/logs?${r(t)}`,{method:"DELETE"}).catch(()=>{}),o.current===t&&n([])):n([])},[]),chatRuns:c,setChatRuns:l,stop:p,stopThread:y}}e.s(["useGroupChat",()=>s])},650030,e=>{"use strict";var t=e.i(271645);let a=new Set(["spawning","running"]);function r(e,r){let s=r?.intervalMs??1500,i=r?.idleIntervalMs??1e4,[d,n]=(0,t.useState)(new Set),[c,l]=(0,t.useState)([]),[o,u]=(0,t.useState)({}),[h,m]=(0,t.useState)([]),f=(0,t.useRef)(e);f.current=e;let p=(0,t.useRef)(r?.messages??[]);p.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 b=(0,t.useCallback)(async()=>{let e=f.current;if(!e){n(new Set),l([]),u({}),m([]);return}let t=null;if(e.threadId?t=`/api/processes?threadId=${encodeURIComponent(e.threadId)}`:e.workspaceId&&(t=`/api/processes?workspaceId=${encodeURIComponent(e.workspaceId)}`),!t){n(new Set),l([]),u({}),m([]);return}try{let s=e.workspaceId||e.threadId,i=s?`/api/history?threadId=${encodeURIComponent(s)}&since=${g.current}`:null,d=s?`/api/chat-runs?threadId=${encodeURIComponent(s)}&limit=20`:null,c=[fetch(t)];i&&c.push(fetch(i)),d&&c.push(fetch(d));let[o,h,b]=await Promise.all(c),v=f.current;if(v?.threadId!==e.threadId||v?.workspaceId!==e.workspaceId)return;if(o.ok){let e=await o.json();l(e);let t=new Set(e.filter(e=>a.has(e.state)).map(e=>e.agentId));n(t);let r={};for(let t of e){if(!a.has(t.state))continue;let e=p.current.find(e=>e.id===t.sinceMessageId),s=e?.rootMessageId??t.sinceMessageId;r[t.agentId]={content:"",rootMessageId:s}}u(r)}if(b?.ok){var r;let e=(r=await b.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,a="string"==typeof e.threadId?e.threadId:null,r="string"==typeof e.status?e.status:null,s="string"==typeof e.rootMessageId?e.rootMessageId:(e.rootMessageId,null);return t&&a&&r&&("queued"===r||"running"===r||"awaiting_user"===r||"blocked"===r||"completed"===r||"failed"===r||"cancelled"===r)?{chatRunId:t,threadId:a,rootMessageId:s,status:r,optimistic:!1}:null}).filter(e=>!!e):[]);m(e)}if(h?.ok&&y.current){let e=await h.json();if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t),y.current(t=>{let a=new Set(t.map(e=>e.id)),r=e.filter(e=>!a.has(e.id)),s=t.map(t=>e.find(e=>e.id===t.id)??t);return 0===r.length?s:[...s,...r].sort((e,t)=>e.timestamp-t.timestamp)})}}}catch{}},[]),v=e?.threadId||e?.workspaceId||null,w=h.some(e=>"queued"===e.status||"running"===e.status),k=c.some(e=>a.has(e.state)),I=w||k?s:i;return(0,t.useEffect)(()=>{if(!v){n(new Set),l([]),u({}),m([]);return}b();let e=setInterval(b,I);return()=>clearInterval(e)},[v,I,b]),{activeAgents:d,processes:c,streaming:o,chatRuns:h,poll:b}}e.s(["useProcessPolling",()=>r])},16715,e=>{"use strict";let t=(0,e.i(475254).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},503116,e=>{"use strict";let t=(0,e.i(475254).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",()=>t],503116)},829415,e=>{"use strict";function t(e){return e.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}e.s(["stripMarkers",()=>t])},286476,e=>{"use strict";function t(e){if("string"==typeof e)return e.trim()||void 0}function a(e,a){let r=new Set,s=new Set;!function e(t,a){if(t)for(let r of t)a(r),e(r.content,a)}(e.content,e=>{if("participantMention"!==e.type)return;let t=e.attrs??{},a="string"==typeof t.id?t.id.trim():"",i="string"==typeof t.kind?t.kind:"agent";a&&"agent"===i&&(r.add(a),"parallel"===t.mode&&s.add(a))});let i=t(a);return{...i?{pinnedParticipantId:i}:{},mentionedParticipantIds:Array.from(r),parallelParticipantIds:Array.from(s)}}function r(e,a){let r=function(e){if(!Array.isArray(e))return[];let t=new Set,a=[];for(let r of e){if("string"!=typeof r)continue;let e=r.trim();!e||t.has(e)||(t.add(e),a.push(e))}return a}(e),s=t(a);return s&&r.includes(s)?[s,...r.filter(e=>e!==s)]:r}e.s(["extractComposerRouting",()=>a,"orderParticipantIds",()=>r])},355733,e=>{"use strict";var t=e.i(843476),a=e.i(437902),r=e.i(271645);function s({isOpen:e,title:s,message:i,preview:d,confirmLabel:n="Confirm",cancelLabel:c="Cancel",variant:l="default",onConfirm:o,onCancel:u}){let h=(0,r.useRef)(null),m=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(e){let e=setTimeout(()=>h.current?.focus(),50);return()=>clearTimeout(e)}},[e]);let f=(0,r.useCallback)(e=>{"Escape"===e.key&&u()},[u]);if(!e)return null;let p="danger"===l;return(0,t.jsxs)("div",{style:{animation:"confirm-overlay-in 200ms ease-out"},onClick:e=>e.target===e.currentTarget&&u(),onKeyDown:f,className:"jsx-1da17079bc733bcf fixed inset-0 z-[100] flex items-center justify-center bg-black/50 backdrop-blur-md",children:[(0,t.jsxs)("div",{ref:m,style:{animation:"confirm-dialog-in 250ms cubic-bezier(0.34, 1.56, 0.64, 1)"},className:"jsx-1da17079bc733bcf w-full max-w-md mx-4 bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-2xl overflow-hidden",children:[(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf px-6 pt-6 pb-3",children:(0,t.jsxs)("div",{className:"jsx-1da17079bc733bcf flex items-start gap-4",children:[p&&(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf 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",{fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,className:"jsx-1da17079bc733bcf w-5 h-5 text-red-500",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",className:"jsx-1da17079bc733bcf"})})}),(0,t.jsxs)("div",{className:"jsx-1da17079bc733bcf flex-1 min-w-0",children:[(0,t.jsx)("h3",{className:"jsx-1da17079bc733bcf text-[15px] font-semibold text-[var(--foreground)]",children:s}),(0,t.jsx)("p",{className:"jsx-1da17079bc733bcf mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:i})]})]})}),d&&(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf 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:"jsx-1da17079bc733bcf text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",d,"”"]})}),(0,t.jsx)("div",{className:"jsx-1da17079bc733bcf mx-6 border-t border-[var(--card-border)]"}),(0,t.jsxs)("div",{className:"jsx-1da17079bc733bcf px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,t.jsx)("button",{onClick:u,className:"jsx-1da17079bc733bcf 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:c}),(0,t.jsx)("button",{ref:h,onClick:o,className:`jsx-1da17079bc733bcf px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${p?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:n})]})]}),(0,t.jsx)(a.default,{id:"1da17079bc733bcf",children:"@keyframes confirm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-in{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}"})]})}e.s(["default",()=>s])},595468,e=>{"use strict";let t=(0,e.i(475254).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",()=>t],595468)},373375,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],373375)},878894,e=>{"use strict";let t=(0,e.i(475254).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",()=>t],878894)},114683,e=>{"use strict";let t=(0,e.i(475254).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],114683)},373884,e=>{"use strict";let t=(0,e.i(475254).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",()=>t],373884)},686311,e=>{"use strict";let t=(0,e.i(475254).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",()=>t],686311)},761911,e=>{"use strict";let t=(0,e.i(475254).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",()=>t],761911)},440160,e=>{"use strict";let t=(0,e.i(475254).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["Download",()=>t],440160)},63209,e=>{"use strict";let t=(0,e.i(475254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>t],63209)},178583,e=>{"use strict";let t=(0,e.i(475254).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",()=>t],178583)},531278,717521,e=>{"use strict";let t=(0,e.i(475254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t],717521),e.s(["Loader2",()=>t],531278)},2651,e=>{"use strict";let t={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function a(e){return e&&"object"==typeof e?{threadSidebarVisible:"boolean"==typeof e.threadSidebarVisible?e.threadSidebarVisible:t.threadSidebarVisible,workspaceRoots:Array.isArray(e.workspaceRoots)?e.workspaceRoots.filter(e=>"string"==typeof e):t.workspaceRoots,homeSearchConsent:"boolean"==typeof e.homeSearchConsent?e.homeSearchConsent:t.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof e.hasCompletedFirstRun?e.hasCompletedFirstRun:t.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(e.fileIgnorePatterns)?e.fileIgnorePatterns.filter(e=>"string"==typeof e):t.fileIgnorePatterns}:t}let r="/api/userPreferences";function s(e){return e.json().then(e=>e&&"object"==typeof e?a(e.preferences??e):a(e)).catch(()=>a(null))}function i(e){return e.statusText||`Failed to reach ${r} (${e.status})`}async function d(){let e=await fetch(r,{cache:"no-store"});if(!e.ok)throw Error(i(e));return s(e)}async function n(e){let t=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:e})});if(!t.ok)throw Error(i(t));return s(t)}e.s(["fetchUserPreferences",()=>d,"updateUserPreferences",()=>n],2651)},399438,e=>{"use strict";let t="agx-chat:threads";function a(){let e=globalThis.localStorage;if(!e)throw Error("LocalThreadAdapter requires a browser-like environment with `localStorage`.");return e}function r(){let e=a().getItem(t);if(!e)return{threads:{}};try{let t=JSON.parse(e);if(t&&"object"==typeof t&&t.threads&&"object"==typeof t.threads)return{threads:Object.fromEntries(Object.entries(t.threads).map(([e,t])=>{var a,r;return[e,(a=e,r=t,{id:a,title:r?.title,messages:Array.isArray(r?.messages)?[...r.messages]:[],createdAt:"number"==typeof r?.createdAt?r.createdAt:Date.now(),updatedAt:"number"==typeof r?.updatedAt?r.updatedAt:Date.now(),metadata:r?.metadata,status:r?.status,outcomeNote:r?.outcomeNote,projectId:"string"==typeof r?.projectId?r.projectId:"string"==typeof r?.teamId?r.teamId:r?.projectId===null||r?.teamId===null?null:void 0})]}))}}catch{}return{threads:{}}}function s(e){a().setItem(t,JSON.stringify(e))}function i(e){return{...e,messages:e.messages.map(e=>({...e})),metadata:e.metadata?{...e.metadata}:void 0}}let d=new class{async saveThread(e){let t=Date.now(),a=r(),d=a.threads[e.id],n=d?.createdAt??e.createdAt??t,c=e.updatedAt??t,l={id:e.id,title:e.title,messages:e.messages.map(e=>({...e})),metadata:e.metadata,createdAt:n,updatedAt:c,status:e.status,outcomeNote:e.outcomeNote,projectId:e.projectId??e.teamId};return a.threads[e.id]=l,s(a),i(l)}async loadThread(e){let t=r().threads[e];return t?i(t):null}async listThreads(e){let t=Object.values(r().threads),a=e?.order??"desc",s=[...t].sort((e,t)=>"asc"===a?e.updatedAt-t.updatedAt:t.updatedAt-e.updatedAt),d=Math.max(0,e?.offset??0),n=e?.limit,c="number"==typeof n&&n>=0?s.slice(d,d+n):s.slice(d);return{total:t.length,threads:c.map(i)}}async deleteThread(e){let t=r();t.threads[e]&&(delete t.threads[e],s(t))}};e.s(["threadService",0,{listThreads:async()=>[...(await d.listThreads({order:"desc"})).threads.filter(e=>!0!==e.metadata?.archived)].sort((e,t)=>t.updatedAt-e.updatedAt),async createThread(e){let t="string"==typeof e?.id?e.id.trim():"";if(t){let a=await d.loadThread(t);if(a){let t={...a.metadata??{},...e?.metadata??{},archived:!1,archivedAt:null};return d.saveThread({id:a.id,title:e?.title??a.title,messages:e?.messages?.length?e.messages:a.messages,metadata:t,createdAt:a.createdAt})}}let a={id:t||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`thread-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:e?.messages?.length?e.messages:[],title:e?.title,metadata:e?.metadata};return d.saveThread(a)},async deleteThread(e){let t=e.trim();if(!t)return;let a=await d.loadThread(t);if(!a)return;let r={...a.metadata??{},archived:!0,archivedAt:Date.now()};await d.saveThread({id:a.id,title:a.title,messages:a.messages,metadata:r,createdAt:a.createdAt})},async renameThread(e,t){let a=e.trim(),r=t.trim();if(!a||!r)return null;let s=await d.loadThread(a);return s?(s.title?.trim()??"")===r?s:d.saveThread({id:s.id,title:r,messages:s.messages,metadata:s.metadata,createdAt:s.createdAt}):null},async updateThreadStatus(e,t){let a=await d.loadThread(e);return a?a.status===t?a:d.saveThread({id:a.id,title:a.title,messages:a.messages,metadata:a.metadata,createdAt:a.createdAt,status:t,outcomeNote:a.outcomeNote}):null},async updateThreadOutcomeNote(e,t){let a=await d.loadThread(e);return a?a.outcomeNote===t?a:d.saveThread({id:a.id,title:a.title,messages:a.messages,metadata:a.metadata,createdAt:a.createdAt,status:a.status,outcomeNote:t}):null},async updateMessageThreadStatus(e,t,a){let r=await d.loadThread(e);if(!r)return null;let s=r.messages.map(e=>e.id===t?{...e,threadStatus:a}:e);return d.saveThread({id:r.id,title:r.title,messages:s,metadata:r.metadata,createdAt:r.createdAt,status:r.status,outcomeNote:r.outcomeNote})},async updateMessageOutcomeNote(e,t,a){let r=await d.loadThread(e);if(!r)return null;let s=r.messages.map(e=>e.id===t?{...e,outcomeNote:a}:e);return d.saveThread({id:r.id,title:r.title,messages:s,metadata:r.metadata,createdAt:r.createdAt,status:r.status,outcomeNote:r.outcomeNote})},async saveThreadMessages(e,t){let a=await d.loadThread(e);if(!a)return null;let r=a.title?.trim()||function(e){let t=e.find(e=>"user"===e.role)?.content?.trim();if(!t)return;let a=t.replace(/\s+/g," ");return a.length>60?`${a.slice(0,60).trim()}…`:a}(t);return function(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a+=1){let r=e[a],s=t[a];if(r.id!==s.id||r.role!==s.role||r.participantId!==s.participantId||r.content!==s.content||r.timestamp!==s.timestamp)return!1}return!0}(a.messages,t)&&(a.title?.trim()||void 0)===r?a:d.saveThread({id:a.id,title:r,messages:t,metadata:a.metadata,createdAt:a.createdAt})}}],399438)},716625,e=>{"use strict";var t=e.i(271645),a=e.i(618566),r=e.i(399438);let s="agx-chat:last-thread";function i(){return void 0!==window.localStorage}function d(){if(i())try{window.localStorage.removeItem(s)}catch{}}let n=e=>[...e].sort((e,t)=>t.createdAt-e.createdAt);function c(e){let c=(0,a.useSearchParams)(),l=(0,t.useRef)(!0),[o,u]=(0,t.useState)([]),[h,m]=(0,t.useState)(null),[f,p]=(0,t.useState)(!0),[y,g]=(0,t.useState)(!0),[b,v]=(0,t.useState)(!1),[w,k]=(0,t.useState)(null),[I,x]=(0,t.useState)(null),S=(0,t.useRef)(!1),j=(0,t.useCallback)(e=>{m(e)},[]);(0,t.useEffect)(()=>(l.current=!0,()=>{l.current=!1}),[]),(0,t.useEffect)(()=>{let t=!1;return(async()=>{try{var a;let o,h=(e||c.get("thread")||"").trim()||null,f=await r.threadService.listThreads();if(h&&!f.some(e=>e.id===h)){let e=await r.threadService.createThread({id:h});f=n([...f.filter(t=>t.id!==e.id),e])}if(t||!l.current)return;u(f);let p=h||function(){if(!i())return null;try{return window.localStorage.getItem(s)}catch{return null}}(),{threadId:y,shouldClearSavedId:g,restoredFromStorage:b}=(a=f,o=a[0]?.id??null,p?a.some(e=>e.id===p)?{threadId:p,shouldClearSavedId:!1,restoredFromStorage:!0}:{threadId:o,shouldClearSavedId:!0,restoredFromStorage:!1}:{threadId:o,shouldClearSavedId:!1,restoredFromStorage:!1});g&&d(),S.current||(S.current=!0),b&&y?j(y):y?m(e=>e??y):m(null)}catch(e){console.error("Failed to load threads",e)}finally{l.current&&(p(!1),g(!1))}})(),()=>{t=!0}},[j,c,e]),(0,t.useEffect)(()=>{if(S.current)if(h){if(i())try{window.localStorage.setItem(s,h)}catch{}}else d()},[h]);let C=(0,t.useCallback)(async e=>{v(!0);try{let t=await r.threadService.createThread(e);if(!l.current)return t;return u(e=>n([...e.filter(e=>e.id!==t.id),t])),m(t.id),t}catch(e){throw console.error("Failed to create thread",e),e}finally{l.current&&v(!1)}},[]),T=(0,t.useCallback)(async e=>{if(e){k(e);try{if(await r.threadService.deleteThread(e),!l.current)return;let t=[];u(a=>t=n(a.filter(t=>t.id!==e))),m(a=>a===e?t[0]?.id??null:a)}catch(e){throw console.error("Failed to delete thread",e),e}finally{l.current&&k(null)}}},[]),A=(0,t.useCallback)(async(e,t)=>{let a=e.trim(),s=t.trim();if(a&&s){x(a);try{let e=await r.threadService.renameThread(a,s);if(!e||!l.current)return;u(t=>n(t.map(t=>t.id===e.id?e:t)))}catch(e){throw console.error("Failed to rename thread",e),e}finally{l.current&&x(e=>e===a?null:e)}}},[]),M=(0,t.useCallback)(async(e,t)=>{if(e)try{let a=await r.threadService.saveThreadMessages(e,t);if(!a||!l.current)return;u(e=>n(e.map(e=>e.id===a.id?a:e)))}catch(e){console.error("Failed to update thread messages",e)}},[]),R=(0,t.useCallback)(async(e,t)=>{if(e)try{let a=await r.threadService.updateThreadStatus(e,t);if(!a||!l.current)return;u(e=>n(e.map(e=>e.id===a.id?a:e)))}catch(e){console.error("Failed to update thread status",e)}},[]),N=(0,t.useCallback)(async(e,t)=>{if(e)try{let a=await r.threadService.updateThreadOutcomeNote(e,t);if(!a||!l.current)return;u(e=>n(e.map(e=>e.id===a.id?a:e)))}catch(e){console.error("Failed to update thread outcome note",e)}},[]),E=(0,t.useCallback)(async(e,t,a)=>{if(e&&t)try{let s=await r.threadService.updateMessageThreadStatus(e,t,a);if(!s||!l.current)return;u(e=>n(e.map(e=>e.id===s.id?s:e)))}catch(e){console.error("Failed to update message thread status",e)}},[]),P=(0,t.useCallback)(async(e,t,a)=>{if(e&&t)try{let s=await r.threadService.updateMessageOutcomeNote(e,t,a);if(!s||!l.current)return;u(e=>n(e.map(e=>e.id===s.id?s:e)))}catch(e){console.error("Failed to update message outcome note",e)}},[]),$=null!==h&&w===h;return{threads:o,activeThreadId:h,selectThread:j,createThread:C,deleteThread:T,isLoading:f,isRestoringActiveThread:y,isCreating:b,deletingThreadId:w,renamingThreadId:I,isDeletingActiveThread:$,updateThreadMessages:M,renameThread:A,updateThreadStatus:R,updateThreadOutcomeNote:N,updateMessageThreadStatus:E,updateMessageOutcomeNote:P}}e.s(["useThreadState",()=>c],716625)},38895,e=>{"use strict";var t=e.i(843476),a=e.i(271645),r=e.i(930426);function s({params:e}){let{id:s}=(0,a.use)(e);return(0,t.jsx)(r.ChatContainer,{initialRootMessageId:s})}e.s(["default",()=>s])}]);
|