@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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let s=e.prepare(`PRAGMA ${t}`).get();if(!s)return;let a=Object.values(s);return a.length>0?a[0]:void 0}function s(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function
|
|
1
|
+
module.exports=[918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,s)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,s)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,s)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,s)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,s)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let s=e.prepare(`PRAGMA ${t}`).get();if(!s)return;let a=Object.values(s);return a.length>0?a[0]:void 0}function s(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let s=t();return e.exec("COMMIT"),s}catch(t){throw e.exec("ROLLBACK"),t}}function i(e,t){return(...s)=>{e.exec("BEGIN");try{let a=t(...s);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>s,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>n,"transactionFn",()=>i])},233405,(e,t,s)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var s=e.i(446786),a=e.i(814747);let n="3.35.0",i=["json1"],r=["fts5"],l=["nfs","smb","cifs","efs","fuse.sshfs"];function u(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function o(o,d){let c=[],p=o.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let s=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(s[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(p.v,n)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${n}`,found:p.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),i))u(o,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of r)u(o,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(t){"linux"!==s.default.platform()&&s.default.platform();try{let n=a.default.resolve(t),{execSync:i}=e.r(233405);if("darwin"===s.default.platform()){let e=i(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),s=t[0]?.toLowerCase()||"";if(s.includes("://")||s.includes("nfs")||s.includes("smb"))return s}}}catch{}return null}(d);m&&l.some(e=>m.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${m})`,path:d,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(o,"journal_mode = wal"),(0,t.pragmaSet)(o,"foreign_keys = 1"),(0,t.pragmaSet)(o,"busy_timeout = 5000"),(0,t.pragmaSet)(o,"synchronous = 1"),(0,t.pragmaSet)(o,"cache_size = -64000");let e=(0,t.pragmaGet)(o,"journal_mode").toLowerCase(),s=new Set(["wal","delete"]);if(!s.has(e)){(0,t.pragmaSet)(o,"journal_mode = DELETE");let e=(0,t.pragmaGet)(o,"journal_mode").toLowerCase();s.has(e)?((0,t.pragmaSet)(o,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>o])},500874,(e,t,s)=>{t.exports=e.x("buffer",()=>require("buffer"))},750227,(e,t,s)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,s)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,s)=>{t.exports=e.x("node:os",()=>require("node:os"))},666680,(e,t,s)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},423502,(e,t,s)=>{},841897,e=>{"use strict";e.i(423502);var t=e.i(902157),s=e.i(660526),a=e.i(750227);let n=a.default.join((0,s.homedir)(),".agx");function i(){return a.default.join(n,"linear-token.json")}function r(){return a.default.join(process.cwd(),".linear-token.json")}function l(e){(0,t.existsSync)(n)||(0,t.mkdirSync)(n,{recursive:!0}),(0,t.writeFileSync)(i(),JSON.stringify(e,null,2))}function u(){try{(0,t.unlinkSync)(i())}catch{}try{(0,t.unlinkSync)(r())}catch{}}class o{accessToken;constructor(e){this.accessToken=e}get viewer(){return this.request("query { viewer { id name email } }").then(e=>e.viewer)}async users(){return(await this.request(`query {
|
|
2
2
|
users(first: 100) {
|
|
3
3
|
nodes {
|
|
4
4
|
id
|
|
@@ -62,7 +62,7 @@ module.exports=[918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/a
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
}`),t=new Map;for(let s of e.teams.nodes)for(let e of[...s.activeCycle?[s.activeCycle]:[],...s.cycles.nodes])t.has(e.id)||t.set(e.id,{id:e.id,number:e.number,name:e.name,startsAt:e.startsAt,endsAt:e.endsAt,teamId:e.team?.id??s.id,teamName:e.team?.name??s.name});return[...t.values()].sort((e,t)=>new Date(t.startsAt).getTime()-new Date(e.startsAt).getTime())}async request(e){let t=await fetch("https://api.linear.app/graphql",{method:"POST",headers:{"Content-Type":"application/json",Authorization:this.accessToken},body:JSON.stringify({query:e}),cache:"no-store"}),s=await t.json();if(!t.ok||s.errors?.length)throw Error(s.errors?.map(e=>e.message).find(Boolean)??`Linear request failed with status ${t.status}`);if(!s.data)throw Error("Linear response did not include data");return s.data}}function
|
|
65
|
+
}`),t=new Map;for(let s of e.teams.nodes)for(let e of[...s.activeCycle?[s.activeCycle]:[],...s.cycles.nodes])t.has(e.id)||t.set(e.id,{id:e.id,number:e.number,name:e.name,startsAt:e.startsAt,endsAt:e.endsAt,teamId:e.team?.id??s.id,teamName:e.team?.name??s.name});return[...t.values()].sort((e,t)=>new Date(t.startsAt).getTime()-new Date(e.startsAt).getTime())}async request(e){let t=await fetch("https://api.linear.app/graphql",{method:"POST",headers:{"Content-Type":"application/json",Authorization:this.accessToken},body:JSON.stringify({query:e}),cache:"no-store"}),s=await t.json();if(!t.ok||s.errors?.length)throw Error(s.errors?.map(e=>e.message).find(Boolean)??`Linear request failed with status ${t.status}`);if(!s.data)throw Error("Linear response did not include data");return s.data}}function d(){let e=function(){try{let e=(0,t.readFileSync)(i(),"utf8");return JSON.parse(e)}catch{}try{let e=r(),s=(0,t.readFileSync)(e,"utf8"),a=JSON.parse(s);l(a);try{(0,t.unlinkSync)(e)}catch{}return a}catch{return null}}();return e?new o(e.accessToken):null}e.s(["LinearClient",()=>o,"deleteLinearToken",()=>u,"getLinearClient",()=>d,"saveLinearToken",()=>l])},832674,343649,e=>{"use strict";e.i(423502);var t=e.i(902157),s=e.i(750227),a=e.i(260476),n=e.i(841897),i=e.x("node:sqlite",()=>require("node:sqlite"),!0),r=e.i(660526),l=e.i(259833);let u=process.env.AGX_LINEAR_DIR?.trim()||s.default.join(process.env.AGX_DATA_DIR||s.default.join(r.default.homedir(),".agx"),"linear"),o=s.default.join(u,"issues.sqlite");function d(e){return e?.trim()||null}function c(e){return new Date(e).toISOString()}function p(e){return{id:e.issue_id,identifier:e.identifier,title:e.title,description:e.description,url:e.url,status:e.status,assigneeId:e.assignee_id,assignee:e.assignee_name,assigneeEmail:e.assignee_email,isAssignedToMe:1===e.is_assigned_to_me,teamId:e.team_id,teamName:e.team_name,teamKey:e.team_key,cycleId:e.cycle_id,cycleName:e.cycle_name,cycleNumber:e.cycle_number,updatedAt:e.updated_at,pulledAt:c(e.pulled_at)}}async function m(e){await t.promises.mkdir(u,{recursive:!0});let s=new i.DatabaseSync(o);(0,l.pragmaSet)(s,"journal_mode = WAL");try{return s.exec(`
|
|
66
66
|
CREATE TABLE IF NOT EXISTS linear_issues (
|
|
67
67
|
issue_id TEXT PRIMARY KEY,
|
|
68
68
|
identifier TEXT NOT NULL,
|
|
@@ -94,7 +94,7 @@ module.exports=[918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/a
|
|
|
94
94
|
last_pulled_at INTEGER NOT NULL,
|
|
95
95
|
issue_count INTEGER NOT NULL
|
|
96
96
|
);
|
|
97
|
-
`),e(s)}finally{s.close()}}async function f(e){let t=e.pulledAtMs??Date.now();return m(s=>{s.exec("BEGIN");try{let
|
|
97
|
+
`),e(s)}finally{s.close()}}async function f(e){let t=e.pulledAtMs??Date.now();return m(s=>{s.exec("BEGIN");try{let n=s.prepare(`
|
|
98
98
|
INSERT INTO linear_issues (
|
|
99
99
|
issue_id, identifier, title, description, url, status,
|
|
100
100
|
assignee_id, assignee_name, assignee_email, is_assigned_to_me,
|
|
@@ -119,7 +119,7 @@ module.exports=[918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/a
|
|
|
119
119
|
cycle_number = excluded.cycle_number,
|
|
120
120
|
updated_at = excluded.updated_at,
|
|
121
121
|
pulled_at = excluded.pulled_at
|
|
122
|
-
`);for(let s of e.issues){var a;
|
|
122
|
+
`);for(let s of e.issues){var a;n.run(s.id.trim(),s.identifier.trim(),s.title.trim(),d(s.description??null),d(s.url??null),s.status.trim(),d(s.assigneeId??null),d(s.assignee??null),d(s.assigneeEmail??null),+!!s.isAssignedToMe,d(s.teamId??null),d(s.teamName??null),d(s.teamKey??null),d(s.cycleId??null),d(s.cycleName??null),(a=s.cycleNumber??null,"number"==typeof a&&Number.isFinite(a)?a:null),s.updatedAt.trim(),t)}if(e.complete)if(0===e.issues.length)s.exec("DELETE FROM linear_issues");else{let t=e.issues.map(()=>"?").join(", ");s.prepare(`DELETE FROM linear_issues WHERE issue_id NOT IN (${t})`).run(...e.issues.map(e=>e.id.trim()))}s.exec("COMMIT")}catch(e){throw s.exec("ROLLBACK"),e}})}async function _(e,t,s=Date.now()){let a=e.trim()||"global";return m(e=>{e.prepare(`
|
|
123
123
|
INSERT INTO linear_issue_sync_state (scope_key, last_pulled_at, issue_count)
|
|
124
124
|
VALUES (?, ?, ?)
|
|
125
125
|
ON CONFLICT(scope_key) DO UPDATE SET
|
|
@@ -128,23 +128,23 @@ module.exports=[918622,(e,t,s)=>{t.exports=e.x("next/dist/compiled/next-server/a
|
|
|
128
128
|
`).run(a,s,t)})}async function g(e="global"){let t=e.trim()||"global";return m(e=>{let s=e.prepare(`SELECT scope_key, last_pulled_at, issue_count
|
|
129
129
|
FROM linear_issue_sync_state
|
|
130
130
|
WHERE scope_key = ?
|
|
131
|
-
LIMIT 1`).get(t);return s?{scopeKey:s.scope_key,lastPulledAt:c(s.last_pulled_at),issueCount:s.issue_count}:null})}async function y(){return m(e=>{let t=e.prepare("SELECT COUNT(*) AS count FROM linear_issues").get();return t?.count??0})}async function E(e={}){let t=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),500):50,s=Number.isFinite(Number(e.cursor))?Math.max(Number(e.cursor),0):0;return m(a=>{let
|
|
131
|
+
LIMIT 1`).get(t);return s?{scopeKey:s.scope_key,lastPulledAt:c(s.last_pulled_at),issueCount:s.issue_count}:null})}async function y(){return m(e=>{let t=e.prepare("SELECT COUNT(*) AS count FROM linear_issues").get();return t?.count??0})}async function E(e={}){let t=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),500):50,s=Number.isFinite(Number(e.cursor))?Math.max(Number(e.cursor),0):0;return m(a=>{let n=[],i=[],r=d(e.search??null);if(r){let e=`%${r.toLowerCase().replace(/[\\%_]/g,"\\$&")}%`;n.push("(LOWER(identifier) LIKE ? ESCAPE '\\' OR LOWER(title) LIKE ? ESCAPE '\\' OR LOWER(COALESCE(description, '')) LIKE ? ESCAPE '\\')"),i.push(e,e,e)}let l=Array.from(new Set((e.statuses??[]).map(e=>d(e)).filter(e=>!!e).map(e=>e.toLowerCase())));l.length>0&&(n.push(`LOWER(status) IN (${l.map(()=>"?").join(", ")})`),i.push(...l));let u=Array.from(new Set((e.assigneeIds??[]).map(e=>d(e)).filter(e=>!!e)));u.length>0&&(n.push(`assignee_id IN (${u.map(()=>"?").join(", ")})`),i.push(...u)),e.assignedToMe&&n.push("is_assigned_to_me = 1");let o=d(e.teamId??null);o&&(n.push("team_id = ?"),i.push(o));let c=d(e.cycleId??null);c&&(n.push("cycle_id = ?"),i.push(c));let m=n.length>0?`WHERE ${n.join(" AND ")}`:"",f=a.prepare(`SELECT *
|
|
132
132
|
FROM linear_issues
|
|
133
133
|
${m}
|
|
134
134
|
ORDER BY updated_at DESC, identifier ASC
|
|
135
|
-
LIMIT ? OFFSET ?`).all(...
|
|
135
|
+
LIMIT ? OFFSET ?`).all(...i,t+1,s),_=f.length>t,g=_?f.slice(0,t):f,y=_?String(s+t):null;return{issues:g.map(p),pageInfo:{hasNextPage:_,endCursor:y}}})}async function h(){return m(e=>e.prepare(`SELECT DISTINCT status
|
|
136
136
|
FROM linear_issues
|
|
137
137
|
WHERE TRIM(status) <> ''
|
|
138
138
|
ORDER BY LOWER(status) ASC`).all().map(e=>e.status.trim()).filter(Boolean))}async function T(e){let t=Array.from(new Set(e.map(e=>e.trim()).filter(Boolean)));return 0===t.length?[]:m(e=>{let s=t.map(()=>"?").join(", "),a=new Map(e.prepare(`SELECT *
|
|
139
139
|
FROM linear_issues
|
|
140
|
-
WHERE issue_id IN (${s})`).all(...t).map(e=>[e.issue_id,p(e)]));return t.map(e=>a.get(e)).filter(e=>!!e)})}e.s(["countCachedLinearIssues",()=>y,"getCachedLinearIssueContexts",()=>T,"getLinearIssueSyncState",()=>g,"listCachedLinearIssueStatuses",()=>h,"listCachedLinearIssues",()=>E,"replaceCachedLinearIssues",()=>f,"setLinearIssueSyncState",()=>_],343649);var x=e.i(492952);let
|
|
141
|
-
${i}
|
|
142
|
-
---
|
|
140
|
+
WHERE issue_id IN (${s})`).all(...t).map(e=>[e.issue_id,p(e)]));return t.map(e=>a.get(e)).filter(e=>!!e)})}e.s(["countCachedLinearIssues",()=>y,"getCachedLinearIssueContexts",()=>T,"getLinearIssueSyncState",()=>g,"listCachedLinearIssueStatuses",()=>h,"listCachedLinearIssues",()=>E,"replaceCachedLinearIssues",()=>f,"setLinearIssueSyncState",()=>_],343649);var x=e.i(492952);let S="global";function A(e){let t=String(e??"").trim().toLowerCase();return t?`project:${t}`:S}function R(e){t.default.mkdirSync(e,{recursive:!0})}function N(e,a){R(s.default.dirname(e));let n=`${e}.tmp-${process.pid}-${Date.now()}`;t.default.writeFileSync(n,a,"utf8"),t.default.renameSync(n,e)}function I(e){return{id:e.id,identifier:e.identifier,title:e.title,url:e.url,status:e.status,assignee:e.assignee,updatedAt:e.updatedAt}}function L(e){return{...I(e),description:e.description,assigneeId:e.assigneeId,assigneeEmail:e.assigneeEmail,isAssignedToMe:e.isAssignedToMe,teamId:e.teamId,teamName:e.teamName,teamKey:e.teamKey,cycleId:e.cycleId,cycleName:e.cycleName,cycleNumber:e.cycleNumber,pulledAt:e.pulledAt}}function C(e,t){return e.trim().replace(/[\\/]/g,"-")||t}async function w(e={}){let t,i=(0,n.getLinearClient)();if(!i)throw Error("Not connected");let r=await i.viewer,l=Date.now(),u=new Date(l).toISOString(),o=0,d=!0,c=[];for(;o<500;){let e=500-o,s=await i.issues({first:Math.min(100,e),after:t,orderBy:"updatedAt"}),a=await Promise.all(s.nodes.map(async e=>{let[t,s,a,n]=await Promise.all([e.state,e.assignee,e.team,e.cycle]);return{id:e.id,identifier:e.identifier,title:e.title,description:e.description??null,url:e.url,status:t?.name??"Unknown",assigneeId:s?.id??null,assignee:s?.name??null,assigneeEmail:s?.email??null,isAssignedToMe:!!(s?.id&&s.id===r.id),teamId:a?.id??null,teamName:a?.name??null,teamKey:a?.key??null,cycleId:n?.id??null,cycleName:n?.name??null,cycleNumber:n?.number??null,updatedAt:e.updatedAt}}));if(c.push(...a),o+=a.length,!s.pageInfo.hasNextPage||!s.pageInfo.endCursor)break;if(o>=500){d=!1;break}t=s.pageInfo.endCursor}await f({issues:c,complete:d,pulledAtMs:l}),await _(S,c.length,l);let p=A(e.projectSlug);return p!==S&&await _(p,c.length,l),!function(e,t,n){let i=function(e){let t=x.vaultStore.getRootDir(),a=String(e??"").trim();if(a){let e=x.vaultStore.getProjectWithRepos(a),n=e?.slug??a;return s.default.join(t,n,"issues")}return s.default.join(t,"_global","Linear","issues")}(n);R(i);let r=["# Linear Issues","",`Last pulled: ${t}`,""];for(let n of e){let e=s.default.join(i,C(n.identifier,n.id));!function(e,t,s){let n=(0,a.dump)(t,{lineWidth:120,noRefs:!0,sortKeys:!0}).trimEnd(),i=String(s||"").replace(/\r\n/g,"\n").split("\n").map(e=>e.replace(/\s+$/g,"")).join("\n").trim();N(e,i?`---
|
|
143
141
|
${n}
|
|
144
|
-
|
|
142
|
+
---
|
|
145
143
|
${i}
|
|
144
|
+
`:`---
|
|
145
|
+
${n}
|
|
146
146
|
---
|
|
147
|
-
`)}(s.default.join(e,"README.md"),{type:"linear-issue",issue_id:
|
|
148
|
-
`)}(c,u,e.projectSlug),{issueCount:c.length,complete:d,pulledAt:u}}async function v(e={}){let t=!!e.refresh,s=
|
|
147
|
+
`)}(s.default.join(e,"README.md"),{type:"linear-issue",issue_id:n.id,identifier:n.identifier,title:n.title,status:n.status,assignee_id:n.assigneeId??null,assignee_name:n.assignee??null,assignee_email:n.assigneeEmail??null,team_id:n.teamId??null,team_name:n.teamName??null,team_key:n.teamKey??null,cycle_id:n.cycleId??null,cycle_name:n.cycleName??null,cycle_number:n.cycleNumber??null,url:n.url??null,updated_at:n.updatedAt,pulled_at:t},[`# ${n.identifier}: ${n.title}`,"",`- Status: ${n.status}`,`- Assignee: ${n.assignee??"Unassigned"}`,n.teamName?`- Team: ${n.teamName}`:null,n.cycleName||null!=n.cycleNumber?`- Cycle: ${n.cycleName??`Cycle ${n.cycleNumber}`}`:null,`- Updated in Linear: ${n.updatedAt}`,`- Pulled locally: ${t}`,n.url?`- URL: ${n.url}`:null,"","## Description","",n.description?.trim()||"_No description provided._"].filter(e=>null!==e).join("\n")),r.push(`- [${n.identifier}](${encodeURIComponent(C(n.identifier,n.id))}/README.md) - ${n.title} (${n.status})`)}N(s.default.join(i,"_index.md"),`${r.join("\n")}
|
|
148
|
+
`)}(c,u,e.projectSlug),{issueCount:c.length,complete:d,pulledAt:u}}async function v(e={}){let t=!!e.refresh,s=A(e.projectSlug);if(!t){let[e,t]=await Promise.all([y(),g(s)]);if(e>0&&t)return null}return(0,n.getLinearClient)()?w({projectSlug:e.projectSlug}):null}async function b(e={}){let[t,s]=await Promise.all([E(e),g(S)]);return{issues:t.issues.map(I),pageInfo:t.pageInfo,syncState:{lastPulledAt:s?.lastPulledAt??null}}}async function O(e){return(await T(e)).map(L)}e.s(["ensureLinearIssueCache",()=>v,"getLinearIssueContexts",()=>O,"listLinearIssueSummaries",()=>b],832674)},437778,e=>{"use strict";var t=e.i(747909),s=e.i(174017),a=e.i(996250),n=e.i(759756),i=e.i(561916),r=e.i(174677),l=e.i(869741),u=e.i(316795),o=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),f=e.i(626937),_=e.i(10372),g=e.i(193695);e.i(52474);var y=e.i(600220),E=e.i(89171),h=e.i(841897),T=e.i(832674),x=e.i(343649);async function S(e){let t=(0,h.getLinearClient)();if(!t)return E.NextResponse.json({error:"Not connected"},{status:401});try{var s;let a=(s=e.nextUrl.searchParams.get("projectSlug"),s?.trim()||void 0);await (0,T.ensureLinearIssueCache)({projectSlug:a});let[n,i,r,l]=await Promise.allSettled([t.users(),t.teams(),t.cycles(),(0,x.listCachedLinearIssueStatuses)()]),u="fulfilled"===n.status?n.value:[],o="fulfilled"===i.status?i.value:[],d="fulfilled"===r.status?r.value:[],c="fulfilled"===l.status?l.value:[];return E.NextResponse.json({assignees:u,teams:o,cycles:d,statuses:c})}catch(e){return E.NextResponse.json({error:e.message??"Failed to fetch Linear filter options"},{status:500})}}e.s(["GET",()=>S,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],230990);var A=e.i(230990);let R=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/linear/options/route",pathname:"/api/linear/options",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/linear/options/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:N,workUnitAsyncStorage:I,serverHooks:L}=R;function C(){return(0,a.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:I})}async function w(e,t,a){R.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/linear/options/route";E=E.replace(/\/index$/,"")||"/";let h=await R.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!h)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:T,params:x,nextConfig:S,parsedUrl:A,isDraftMode:N,prerenderManifest:I,routerServerContext:L,isOnDemandRevalidate:C,revalidateOnlyGenerated:w,resolvedPathname:v,clientReferenceManifest:b,serverActionsManifest:O}=h,j=(0,l.normalizeAppPath)(E),$=!!(I.dynamicRoutes[j]||I.routes[v]),k=async()=>((null==L?void 0:L.render404)?await L.render404(e,t,A,!1):t.end("This page could not be found"),null);if($&&!N){let e=!!I.routes[v],t=I.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await k();throw new g.NoFallbackError}}let q=null;!$||R.isDev||N||(q="/index"===(q=v)?"/":q);let D=!0===R.isDev||!$,P=$&&!D;O&&b&&(0,r.setManifestsSingleton)({page:E,clientReferenceManifest:b,serverActionsManifest:O});let M=e.method||"GET",U=(0,i.getTracer)(),F=U.getActiveScopeSpan(),X={params:x,prerenderManifest:I,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,a,n)=>R.onRequestError(e,t,a,n,L)},sharedContext:{buildId:T}},B=new u.NodeNextRequest(e),G=new u.NodeNextResponse(t),K=o.NextRequestAdapter.fromNodeNextRequest(B,(0,o.signalFromNodeResponse)(t));try{let r=async e=>R.handle(K,X).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=U.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=s.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${E}`)}),l=!!(0,n.getRequestMeta)(e,"minimalMode"),u=async n=>{var i,u;let o=async({previousCacheEntry:s})=>{try{if(!l&&C&&w&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await r(n);e.fetchMetrics=X.renderOpts.fetchMetrics;let u=X.renderOpts.pendingWaitUntil;u&&a.waitUntil&&(a.waitUntil(u),u=void 0);let o=X.renderOpts.collectedTags;if(!$)return await (0,p.sendResponse)(B,G,i,X.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);o&&(t[_.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=_.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:a}}}}catch(t){throw(null==s?void 0:s.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:C})},!1,L),t}},d=await R.handleResponse({req:e,nextConfig:S,cacheKey:q,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:w,responseGenerator:o,waitUntil:a.waitUntil,isMinimalMode:l});if(!$)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",C?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return l&&$||g.delete(_.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(B,G,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};F?await u(F):await U.withPropagatedContext(e.headers,()=>U.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${E}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},u))}catch(t){if(t instanceof g.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:C})},!1,L),$)throw t;return await (0,p.sendResponse)(B,G,new Response(null,{status:500})),null}}e.s(["handler",()=>w,"patchFetch",()=>C,"routeModule",()=>R,"serverHooks",()=>L,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>I],437778)}];
|
|
149
149
|
|
|
150
150
|
//# sourceMappingURL=%5Broot-of-the-server%5D__c8890cd6._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},292e3,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["AlertCircle",()=>b],292e3)},167453,a=>{"use strict";let b=(0,a.i(883706).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],167453)},613749,a=>{"use strict";let b=(0,a.i(883706).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>b],613749)},73570,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["AlertTriangle",()=>b],73570)},65151,a=>{"use strict";let b=(0,a.i(883706).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",()=>b],65151)},862722,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["XCircle",()=>b],862722)},284505,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Download",()=>b],284505)},660246,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Users",()=>b],660246)},563588,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["MessageSquare",()=>b],563588)},215040,a=>{"use strict";let b={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function c(a){return a&&"object"==typeof a?{threadSidebarVisible:"boolean"==typeof a.threadSidebarVisible?a.threadSidebarVisible:b.threadSidebarVisible,workspaceRoots:Array.isArray(a.workspaceRoots)?a.workspaceRoots.filter(a=>"string"==typeof a):b.workspaceRoots,homeSearchConsent:"boolean"==typeof a.homeSearchConsent?a.homeSearchConsent:b.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof a.hasCompletedFirstRun?a.hasCompletedFirstRun:b.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(a.fileIgnorePatterns)?a.fileIgnorePatterns.filter(a=>"string"==typeof a):b.fileIgnorePatterns}:b}let d="/api/userPreferences";function e(a){return a.json().then(a=>a&&"object"==typeof a?c(a.preferences??a):c(a)).catch(()=>c(null))}function f(a){return a.statusText||`Failed to reach ${d} (${a.status})`}async function g(){let a=await fetch(d,{cache:"no-store"});if(!a.ok)throw Error(f(a));return e(a)}async function h(a){let b=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:a})});if(!b.ok)throw Error(f(b));return e(b)}a.s(["fetchUserPreferences",()=>g,"updateUserPreferences",()=>h],215040)},503931,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(124610);function e({params:a}){let{slug:e,threadId:f}=(0,c.use)(a);return(0,b.jsx)(d.ChatContainer,{projectSlug:e,initialThreadId:f,showSidebar:!1})}a.s(["default",()=>e])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0b2a2b86._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},400210,a=>{"use strict";let b=(0,a.i(883706).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],400210)},669520,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["RefreshCw",()=>b],669520)},194125,a=>{"use strict";function b(a){return a.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}a.s(["stripMarkers",()=>b])},501027,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Zap",()=>b],501027)},641710,a=>{"use strict";let b=(0,a.i(883706).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],641710)},204301,a=>{"use strict";var b=a.i(572131);let c=new Set(["spawning","running"]);function d(a,d){let e=d?.intervalMs??1500,f=d?.idleIntervalMs??1e4,[g,h]=(0,b.useState)(new Set),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)({}),[m,n]=(0,b.useState)([]),o=(0,b.useRef)(a);o.current=a;let p=(0,b.useRef)(d?.messages??[]);p.current=d?.messages??[];let q=(0,b.useRef)(d?.setMessages);q.current=d?.setMessages;let r=(0,b.useRef)(0);(0,b.useEffect)(()=>{let a=d?.messages??[];if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b)}},[d?.messages]);let s=(0,b.useCallback)(async()=>{let a=o.current;if(!a){h(new Set),j([]),l({}),n([]);return}let b=null;if(a.threadId?b=`/api/processes?threadId=${encodeURIComponent(a.threadId)}`:a.workspaceId&&(b=`/api/processes?workspaceId=${encodeURIComponent(a.workspaceId)}`),!b){h(new Set),j([]),l({}),n([]);return}try{let e=a.workspaceId||a.threadId,f=e?`/api/history?threadId=${encodeURIComponent(e)}&since=${r.current}`:null,g=e?`/api/chat-runs?threadId=${encodeURIComponent(e)}&limit=20`:null,i=[fetch(b)];f&&i.push(fetch(f)),g&&i.push(fetch(g));let[k,m,s]=await Promise.all(i),t=o.current;if(t?.threadId!==a.threadId||t?.workspaceId!==a.workspaceId)return;if(k.ok){let a=await k.json();j(a);let b=new Set(a.filter(a=>c.has(a.state)).map(a=>a.agentId));h(b);let d={};for(let b of a){if(!c.has(b.state))continue;let a=p.current.find(a=>a.id===b.sinceMessageId),e=a?.rootMessageId??b.sinceMessageId;d[b.agentId]={content:"",rootMessageId:e}}l(d)}if(s?.ok){var d;let a=(d=await s.json(),Array.isArray(d)?d.map(a=>{if(!a||"object"!=typeof a)return null;let b="string"==typeof a.chatRunId?a.chatRunId:"string"==typeof a.id?a.id:null,c="string"==typeof a.threadId?a.threadId:null,d="string"==typeof a.status?a.status:null,e="string"==typeof a.rootMessageId?a.rootMessageId:(a.rootMessageId,null);return b&&c&&d&&("queued"===d||"running"===d||"awaiting_user"===d||"blocked"===d||"completed"===d||"failed"===d||"cancelled"===d)?{chatRunId:b,threadId:c,rootMessageId:e,status:d,optimistic:!1}:null}).filter(a=>!!a):[]);n(a)}if(m?.ok&&q.current){let a=await m.json();if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b),q.current(b=>{let c=new Set(b.map(a=>a.id)),d=a.filter(a=>!c.has(a.id)),e=b.map(b=>a.find(a=>a.id===b.id)??b);return 0===d.length?e:[...e,...d].sort((a,b)=>a.timestamp-b.timestamp)})}}}catch{}},[]),t=a?.threadId||a?.workspaceId||null,u=m.some(a=>"queued"===a.status||"running"===a.status),v=i.some(a=>c.has(a.state)),w=u||v?e:f;return(0,b.useEffect)(()=>{if(!t){h(new Set),j([]),l({}),n([]);return}s();let a=setInterval(s,w);return()=>clearInterval(a)},[t,w,s]),{activeAgents:g,processes:i,streaming:k,chatRuns:m,poll:s}}a.s(["useProcessPolling",()=>d])},331748,356283,a=>{"use strict";var b=a.i(572131);function c(a){return`threadId=${encodeURIComponent(a)}`}function d(a){return`workspaceId=${encodeURIComponent(a)}`}function e(a){let[e,f]=(0,b.useState)([]),[g,h]=(0,b.useState)([]),[i,j]=(0,b.useState)([]),k=(0,b.useRef)(a),l=(0,b.useRef)(a);k.current=a,l.current!==a&&(l.current=a,f([]),h([]),j([]));let m=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);try{let[a,c]=await Promise.all([fetch(`/api/history?${e}`),fetch(`/api/logs?${d(b)}`)]);if(k.current!==b)return;a.ok&&f(await a.json()),c.ok&&h(await c.json())}catch{}},[]),n=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);await Promise.all([fetch(`/api/history?${e}`,{method:"DELETE"}),fetch(`/api/logs?${d(b)}`,{method:"DELETE"})]),k.current===b&&(f([]),h([]))},[]),o=(0,b.useCallback)(async(a,b=10,c,d,e,g,h,i,l,m)=>{let n=c?.trim()||k.current?.trim();if(!n)return;let o=Date.now(),p=crypto.randomUUID(),q={id:p,role:"user",participantId:null,content:a,timestamp:o,rootMessageId:d||null,parentMessageId:d||null,depth:+!!d,...g&&g.length>0?{attachments:g}:{}};f(a=>[...a,q]);try{let c=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,prompt:a,promptPrefix:l||void 0,maxRounds:b,userMessageId:p,rootMessageId:d||void 0,attachmentIds:e?.length?e:void 0,activeParticipantIds:Array.isArray(h)?h:void 0,projectSlug:i?.trim()||void 0,routing:m})}),f=await c.json().catch(()=>null);c.ok&&f?.chatRunId&&j(a=>[{chatRunId:f.chatRunId,threadId:n,rootMessageId:d||p,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...a.filter(a=>a.chatRunId!==f.chatRunId)])}catch{}return p},[]),p=(0,b.useCallback)(async()=>{let a=k.current?.trim();if(a)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]),q=(0,b.useCallback)(async a=>{let b=k.current?.trim();if(b)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(b)}&threadId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]);return{messages:e,setMessages:f,logs:g,sendMessage:o,loadHistory:m,clearHistory:n,clearLogs:(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();b?(await fetch(`/api/logs?${d(b)}`,{method:"DELETE"}).catch(()=>{}),k.current===b&&h([])):h([])},[]),chatRuns:i,setChatRuns:j,stop:p,stopThread:q}}function f(a){if("string"==typeof a)return a.trim()||void 0}function g(a,b){let c=new Set,d=new Set;!function a(b,c){if(b)for(let d of b)c(d),a(d.content,c)}(a.content,a=>{if("participantMention"!==a.type)return;let b=a.attrs??{},e="string"==typeof b.id?b.id.trim():"",f="string"==typeof b.kind?b.kind:"agent";e&&"agent"===f&&(c.add(e),"parallel"===b.mode&&d.add(e))});let e=f(b);return{...e?{pinnedParticipantId:e}:{},mentionedParticipantIds:Array.from(c),parallelParticipantIds:Array.from(d)}}function h(a,b){let c=function(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();!a||b.has(a)||(b.add(a),c.push(a))}return c}(a),d=f(b);return d&&c.includes(d)?[d,...c.filter(a=>a!==d)]:c}a.s(["useGroupChat",()=>e],331748),a.s(["extractComposerRouting",()=>g,"orderParticipantIds",()=>h],356283)},165385,a=>{"use strict";let b=(0,a.i(883706).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",()=>b],165385)},325015,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Play",()=>b],325015)},80386,a=>{"use strict";let b=(0,a.i(883706).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],80386)},132245,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=a.r(441997);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},307773,(a,b,c)=>{"use strict";function d(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"encodeURIPath",{enumerable:!0,get:function(){return d}})},297458,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=a.r(187924),e=a.r(935112),f=a.r(556704),g=a.r(307773),h=a.r(68063);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let i=(0,h.getDeploymentIdQueryOrEmptyString)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${i}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},969853,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return j}});let d=a.r(187924),e=a.r(572131),f=a.r(132245),g=a.r(297458);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},819721,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return e}});let d=a.r(833354)._(a.r(969853));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},45815,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(986976),e=a.i(655672),f=a.i(176388),g=a.i(56196),h=a.i(877214);function i(){let[a,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(368);(0,c.useEffect)(()=>{i((0,e.loadWorkspaceSidebarVisible)()),k((0,f.loadWorkspaceWidth)()||368)},[]);let l=(0,c.useCallback)(a=>{k(a),(0,f.persistWorkspaceWidth)(a)},[]),{projects:m,createProject:n,deleteProject:o}=(0,g.useProjectsWithAgents)(),{updateProject:p}=(0,g.useProjects)();return(0,b.jsxs)("div",{className:"flex h-screen bg-[var(--card-bg)] text-[var(--foreground)]",children:[(0,b.jsx)(d.WorkspaceSidebar,{threads:[],activeThreadId:null,isLoading:!1,isCreating:!1,onSelectThread:()=>{},onCreateThread:()=>{},onRenameThread:()=>{},onDeleteThread:()=>{},visible:a,onToggle:()=>{i(a=>{let b=!a;return(0,e.persistWorkspaceSidebarVisible)(b),b})},width:j,onWidthChange:l,projects:m,onCreateProject:n,onUpdateProject:p,onDeleteProject:o}),(0,b.jsx)("div",{className:"flex-1 min-w-0 overflow-auto",children:(0,b.jsx)(h.default,{})})]})}a.s(["default",()=>i])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__32546242._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},325015,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Play",()=>b],325015)},132245,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=a.r(441997);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},307773,(a,b,c)=>{"use strict";function d(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"encodeURIPath",{enumerable:!0,get:function(){return d}})},297458,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=a.r(187924),e=a.r(935112),f=a.r(556704),g=a.r(307773),h=a.r(68063);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let i=(0,h.getDeploymentIdQueryOrEmptyString)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${i}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},969853,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return j}});let d=a.r(187924),e=a.r(572131),f=a.r(132245),g=a.r(297458);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},819721,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return e}});let d=a.r(833354)._(a.r(969853));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__5ff9ead4._.js.map
|
package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f2c3b7ab._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},909270,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.AppRouterContext},738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},736313,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.HooksClientContext},818341,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.ServerInsertedHtml},589116,a=>{"use strict";let b="agx-chat:threads";function c(){let a=globalThis.localStorage;if(!a)throw Error("LocalThreadAdapter requires a browser-like environment with `localStorage`.");return a}function d(){let a=c().getItem(b);if(!a)return{threads:{}};try{let b=JSON.parse(a);if(b&&"object"==typeof b&&b.threads&&"object"==typeof b.threads)return{threads:Object.fromEntries(Object.entries(b.threads).map(([a,b])=>{var c,d;return[a,(c=a,d=b,{id:c,title:d?.title,messages:Array.isArray(d?.messages)?[...d.messages]:[],createdAt:"number"==typeof d?.createdAt?d.createdAt:Date.now(),updatedAt:"number"==typeof d?.updatedAt?d.updatedAt:Date.now(),metadata:d?.metadata,status:d?.status,outcomeNote:d?.outcomeNote,projectId:"string"==typeof d?.projectId?d.projectId:"string"==typeof d?.teamId?d.teamId:d?.projectId===null||d?.teamId===null?null:void 0})]}))}}catch{}return{threads:{}}}function e(a){c().setItem(b,JSON.stringify(a))}function f(a){return{...a,messages:a.messages.map(a=>({...a})),metadata:a.metadata?{...a.metadata}:void 0}}let g=new class{async saveThread(a){let b=Date.now(),c=d(),g=c.threads[a.id],h=g?.createdAt??a.createdAt??b,i=a.updatedAt??b,j={id:a.id,title:a.title,messages:a.messages.map(a=>({...a})),metadata:a.metadata,createdAt:h,updatedAt:i,status:a.status,outcomeNote:a.outcomeNote,projectId:a.projectId??a.teamId};return c.threads[a.id]=j,e(c),f(j)}async loadThread(a){let b=d().threads[a];return b?f(b):null}async listThreads(a){let b=Object.values(d().threads),c=a?.order??"desc",e=[...b].sort((a,b)=>"asc"===c?a.updatedAt-b.updatedAt:b.updatedAt-a.updatedAt),g=Math.max(0,a?.offset??0),h=a?.limit,i="number"==typeof h&&h>=0?e.slice(g,g+h):e.slice(g);return{total:b.length,threads:i.map(f)}}async deleteThread(a){let b=d();b.threads[a]&&(delete b.threads[a],e(b))}};a.s(["threadService",0,{listThreads:async()=>[...(await g.listThreads({order:"desc"})).threads.filter(a=>!0!==a.metadata?.archived)].sort((a,b)=>b.updatedAt-a.updatedAt),async createThread(a){let b="string"==typeof a?.id?a.id.trim():"";if(b){let c=await g.loadThread(b);if(c){let b={...c.metadata??{},...a?.metadata??{},archived:!1,archivedAt:null};return g.saveThread({id:c.id,title:a?.title??c.title,messages:a?.messages?.length?a.messages:c.messages,metadata:b,createdAt:c.createdAt})}}let c={id:b||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`thread-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:a?.messages?.length?a.messages:[],title:a?.title,metadata:a?.metadata};return g.saveThread(c)},async deleteThread(a){let b=a.trim();if(!b)return;let c=await g.loadThread(b);if(!c)return;let d={...c.metadata??{},archived:!0,archivedAt:Date.now()};await g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:d,createdAt:c.createdAt})},async renameThread(a,b){let c=a.trim(),d=b.trim();if(!c||!d)return null;let e=await g.loadThread(c);return e?(e.title?.trim()??"")===d?e:g.saveThread({id:e.id,title:d,messages:e.messages,metadata:e.metadata,createdAt:e.createdAt}):null},async updateThreadStatus(a,b){let c=await g.loadThread(a);return c?c.status===b?c:g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:c.metadata,createdAt:c.createdAt,status:b,outcomeNote:c.outcomeNote}):null},async updateThreadOutcomeNote(a,b){let c=await g.loadThread(a);return c?c.outcomeNote===b?c:g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:c.metadata,createdAt:c.createdAt,status:c.status,outcomeNote:b}):null},async updateMessageThreadStatus(a,b,c){let d=await g.loadThread(a);if(!d)return null;let e=d.messages.map(a=>a.id===b?{...a,threadStatus:c}:a);return g.saveThread({id:d.id,title:d.title,messages:e,metadata:d.metadata,createdAt:d.createdAt,status:d.status,outcomeNote:d.outcomeNote})},async updateMessageOutcomeNote(a,b,c){let d=await g.loadThread(a);if(!d)return null;let e=d.messages.map(a=>a.id===b?{...a,outcomeNote:c}:a);return g.saveThread({id:d.id,title:d.title,messages:e,metadata:d.metadata,createdAt:d.createdAt,status:d.status,outcomeNote:d.outcomeNote})},async saveThreadMessages(a,b){let c=await g.loadThread(a);if(!c)return null;let d=c.title?.trim()||function(a){let b=a.find(a=>"user"===a.role)?.content?.trim();if(!b)return;let c=b.replace(/\s+/g," ");return c.length>60?`${c.slice(0,60).trim()}…`:c}(b);return function(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c+=1){let d=a[c],e=b[c];if(d.id!==e.id||d.role!==e.role||d.participantId!==e.participantId||d.content!==e.content||d.timestamp!==e.timestamp)return!1}return!0}(c.messages,b)&&(c.title?.trim()||void 0)===d?c:g.saveThread({id:c.id,title:d,messages:b,metadata:c.metadata,createdAt:c.createdAt})}}],589116)},195348,a=>{"use strict";var b=a.i(572131),c=a.i(50944),d=a.i(589116);function e(){}let f=a=>[...a].sort((a,b)=>b.createdAt-a.createdAt);function g(a){let g=(0,c.useSearchParams)(),h=(0,b.useRef)(!0),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)(null),[m,n]=(0,b.useState)(!0),[o,p]=(0,b.useState)(!0),[q,r]=(0,b.useState)(!1),[s,t]=(0,b.useState)(null),[u,v]=(0,b.useState)(null),w=(0,b.useRef)(!1),x=(0,b.useCallback)(a=>{l(a)},[]);(0,b.useEffect)(()=>(h.current=!0,()=>{h.current=!1}),[]),(0,b.useEffect)(()=>{let b=!1;return(async()=>{try{var c;let i,k=(a||g.get("thread")||"").trim()||null,m=await d.threadService.listThreads();if(k&&!m.some(a=>a.id===k)){let a=await d.threadService.createThread({id:k});m=f([...m.filter(b=>b.id!==a.id),a])}if(b||!h.current)return;j(m);let n=k||null,{threadId:o,shouldClearSavedId:p,restoredFromStorage:q}=(c=m,i=c[0]?.id??null,n?c.some(a=>a.id===n)?{threadId:n,shouldClearSavedId:!1,restoredFromStorage:!0}:{threadId:i,shouldClearSavedId:!0,restoredFromStorage:!1}:{threadId:i,shouldClearSavedId:!1,restoredFromStorage:!1});p&&e(),w.current||(w.current=!0),q&&o?x(o):o?l(a=>a??o):l(null)}catch(a){console.error("Failed to load threads",a)}finally{h.current&&(n(!1),p(!1))}})(),()=>{b=!0}},[x,g,a]),(0,b.useEffect)(()=>{w.current&&(k||e())},[k]);let y=(0,b.useCallback)(async a=>{r(!0);try{let b=await d.threadService.createThread(a);if(!h.current)return b;return j(a=>f([...a.filter(a=>a.id!==b.id),b])),l(b.id),b}catch(a){throw console.error("Failed to create thread",a),a}finally{h.current&&r(!1)}},[]),z=(0,b.useCallback)(async a=>{if(a){t(a);try{if(await d.threadService.deleteThread(a),!h.current)return;let b=[];j(c=>b=f(c.filter(b=>b.id!==a))),l(c=>c===a?b[0]?.id??null:c)}catch(a){throw console.error("Failed to delete thread",a),a}finally{h.current&&t(null)}}},[]),A=(0,b.useCallback)(async(a,b)=>{let c=a.trim(),e=b.trim();if(c&&e){v(c);try{let a=await d.threadService.renameThread(c,e);if(!a||!h.current)return;j(b=>f(b.map(b=>b.id===a.id?a:b)))}catch(a){throw console.error("Failed to rename thread",a),a}finally{h.current&&v(a=>a===c?null:a)}}},[]),B=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.saveThreadMessages(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread messages",a)}},[]),C=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.updateThreadStatus(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread status",a)}},[]),D=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.updateThreadOutcomeNote(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread outcome note",a)}},[]),E=(0,b.useCallback)(async(a,b,c)=>{if(a&&b)try{let e=await d.threadService.updateMessageThreadStatus(a,b,c);if(!e||!h.current)return;j(a=>f(a.map(a=>a.id===e.id?e:a)))}catch(a){console.error("Failed to update message thread status",a)}},[]),F=(0,b.useCallback)(async(a,b,c)=>{if(a&&b)try{let e=await d.threadService.updateMessageOutcomeNote(a,b,c);if(!e||!h.current)return;j(a=>f(a.map(a=>a.id===e.id?e:a)))}catch(a){console.error("Failed to update message outcome note",a)}},[]),G=null!==k&&s===k;return{threads:i,activeThreadId:k,selectThread:x,createThread:y,deleteThread:z,isLoading:m,isRestoringActiveThread:o,isCreating:q,deletingThreadId:s,renamingThreadId:u,isDeletingActiveThread:G,updateThreadMessages:B,renameThread:A,updateThreadStatus:C,updateThreadOutcomeNote:D,updateMessageThreadStatus:E,updateMessageOutcomeNote:F}}a.s(["useThreadState",()=>g],195348)},194783,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(986976),f=a.i(56196),g=a.i(195348),h=a.i(655672);function i({children:a,params:i}){let{slug:j}=(0,c.use)(i),k=(0,d.useRouter)(),l=(0,d.usePathname)(),{projects:m,isLoading:n,createProject:o,updateProject:p,deleteProject:q,addAgent:r,removeAgent:s}=(0,f.useProjectsWithAgents)(),{threads:t,isLoading:u,isCreating:v,deletingThreadId:w,renamingThreadId:x,isRestoringActiveThread:y,createThread:z,renameThread:A,deleteThread:B}=(0,g.useThreadState)(),[C,D]=(0,c.useState)([]),[E,F]=(0,c.useState)(!1);(0,c.useEffect)(()=>{F((0,h.loadWorkspaceSidebarVisible)())},[]),(0,c.useEffect)(()=>{fetch("/api/participants").then(a=>a.json()).then(a=>D(Array.isArray(a)?a:[])).catch(()=>D([]))},[]);let G=(0,c.useMemo)(()=>m.find(a=>a.slug===j)??null,[m,j]),H=(0,c.useMemo)(()=>{let a=l.match(/\/projects\/[^/]+\/thread\/([^/]+)/);return a?.[1]?decodeURIComponent(a[1]):G?.thread_ids[0]??null},[G?.thread_ids,l]),I=(0,c.useMemo)(()=>l.includes("/linear")?"linear":l.includes("/automations")?"automations":l.includes("/thread/")?"thread":l.includes("/knowledge")?"knowledge":"board",[l]);return n?(0,b.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}):G?(0,b.jsxs)("div",{className:"flex h-dvh min-h-0 overflow-hidden bg-[var(--background)]",children:[(0,b.jsx)(e.WorkspaceSidebar,{threads:t,participants:C,activeThreadId:H,isLoading:u,isRestoringActiveThread:y,isCreating:v,deletingThreadId:w,renamingThreadId:x,onSelectThread:a=>k.push(`/projects/${j}/thread/${encodeURIComponent(a)}`),onCreateThread:z,onRenameThread:A,onDeleteThread:B,visible:E,onToggle:()=>{let a=!E;F(a),(0,h.persistWorkspaceSidebarVisible)(a)},projects:m,onCreateProject:o,onUpdateProject:p,onDeleteProject:q,onAddAgentToProject:r,onRemoveAgentFromProject:s,activeProjectId:G.id,activeProjectView:I,onUpdateParticipant:async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error("Failed to update agent");let c=await b.json();D(a=>a.map(a=>a.id===c.id?c:a))},onSelectProject:a=>{let b=m.find(b=>b.id===a);b&&k.push(`/projects/${b.slug}`)}}),(0,b.jsx)("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 h-full overflow-hidden",children:a})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-2",children:"Project Not Found"}),(0,b.jsxs)("p",{className:"text-[var(--muted-foreground)] mb-4",children:["The project “",j,"” does not exist or you do not have access to it."]}),(0,b.jsx)("button",{onClick:()=>k.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 j({children:a,params:d}){return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-[var(--muted-foreground)]",children:"Loading project…"}),children:(0,b.jsx)(i,{params:d,children:a})})}a.s(["default",()=>j])}];
|
|
1
|
+
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},909270,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.AppRouterContext},738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},736313,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.HooksClientContext},818341,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.ServerInsertedHtml},589116,a=>{"use strict";let b="agx-chat:threads";function c(){let a=globalThis.localStorage;if(!a)throw Error("LocalThreadAdapter requires a browser-like environment with `localStorage`.");return a}function d(){let a=c().getItem(b);if(!a)return{threads:{}};try{let b=JSON.parse(a);if(b&&"object"==typeof b&&b.threads&&"object"==typeof b.threads)return{threads:Object.fromEntries(Object.entries(b.threads).map(([a,b])=>{var c,d;return[a,(c=a,d=b,{id:c,title:d?.title,messages:Array.isArray(d?.messages)?[...d.messages]:[],createdAt:"number"==typeof d?.createdAt?d.createdAt:Date.now(),updatedAt:"number"==typeof d?.updatedAt?d.updatedAt:Date.now(),metadata:d?.metadata,status:d?.status,outcomeNote:d?.outcomeNote,projectId:"string"==typeof d?.projectId?d.projectId:"string"==typeof d?.teamId?d.teamId:d?.projectId===null||d?.teamId===null?null:void 0})]}))}}catch{}return{threads:{}}}function e(a){c().setItem(b,JSON.stringify(a))}function f(a){return{...a,messages:a.messages.map(a=>({...a})),metadata:a.metadata?{...a.metadata}:void 0}}let g=new class{async saveThread(a){let b=Date.now(),c=d(),g=c.threads[a.id],h=g?.createdAt??a.createdAt??b,i=a.updatedAt??b,j={id:a.id,title:a.title,messages:a.messages.map(a=>({...a})),metadata:a.metadata,createdAt:h,updatedAt:i,status:a.status,outcomeNote:a.outcomeNote,projectId:a.projectId??a.teamId};return c.threads[a.id]=j,e(c),f(j)}async loadThread(a){let b=d().threads[a];return b?f(b):null}async listThreads(a){let b=Object.values(d().threads),c=a?.order??"desc",e=[...b].sort((a,b)=>"asc"===c?a.updatedAt-b.updatedAt:b.updatedAt-a.updatedAt),g=Math.max(0,a?.offset??0),h=a?.limit,i="number"==typeof h&&h>=0?e.slice(g,g+h):e.slice(g);return{total:b.length,threads:i.map(f)}}async deleteThread(a){let b=d();b.threads[a]&&(delete b.threads[a],e(b))}};a.s(["threadService",0,{listThreads:async()=>[...(await g.listThreads({order:"desc"})).threads.filter(a=>!0!==a.metadata?.archived)].sort((a,b)=>b.updatedAt-a.updatedAt),async createThread(a){let b="string"==typeof a?.id?a.id.trim():"";if(b){let c=await g.loadThread(b);if(c){let b={...c.metadata??{},...a?.metadata??{},archived:!1,archivedAt:null};return g.saveThread({id:c.id,title:a?.title??c.title,messages:a?.messages?.length?a.messages:c.messages,metadata:b,createdAt:c.createdAt})}}let c={id:b||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`thread-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:a?.messages?.length?a.messages:[],title:a?.title,metadata:a?.metadata};return g.saveThread(c)},async deleteThread(a){let b=a.trim();if(!b)return;let c=await g.loadThread(b);if(!c)return;let d={...c.metadata??{},archived:!0,archivedAt:Date.now()};await g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:d,createdAt:c.createdAt})},async renameThread(a,b){let c=a.trim(),d=b.trim();if(!c||!d)return null;let e=await g.loadThread(c);return e?(e.title?.trim()??"")===d?e:g.saveThread({id:e.id,title:d,messages:e.messages,metadata:e.metadata,createdAt:e.createdAt}):null},async updateThreadStatus(a,b){let c=await g.loadThread(a);return c?c.status===b?c:g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:c.metadata,createdAt:c.createdAt,status:b,outcomeNote:c.outcomeNote}):null},async updateThreadOutcomeNote(a,b){let c=await g.loadThread(a);return c?c.outcomeNote===b?c:g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:c.metadata,createdAt:c.createdAt,status:c.status,outcomeNote:b}):null},async updateMessageThreadStatus(a,b,c){let d=await g.loadThread(a);if(!d)return null;let e=d.messages.map(a=>a.id===b?{...a,threadStatus:c}:a);return g.saveThread({id:d.id,title:d.title,messages:e,metadata:d.metadata,createdAt:d.createdAt,status:d.status,outcomeNote:d.outcomeNote})},async updateMessageOutcomeNote(a,b,c){let d=await g.loadThread(a);if(!d)return null;let e=d.messages.map(a=>a.id===b?{...a,outcomeNote:c}:a);return g.saveThread({id:d.id,title:d.title,messages:e,metadata:d.metadata,createdAt:d.createdAt,status:d.status,outcomeNote:d.outcomeNote})},async saveThreadMessages(a,b){let c=await g.loadThread(a);if(!c)return null;let d=c.title?.trim()||function(a){let b=a.find(a=>"user"===a.role)?.content?.trim();if(!b)return;let c=b.replace(/\s+/g," ");return c.length>60?`${c.slice(0,60).trim()}…`:c}(b);return function(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c+=1){let d=a[c],e=b[c];if(d.id!==e.id||d.role!==e.role||d.participantId!==e.participantId||d.content!==e.content||d.timestamp!==e.timestamp)return!1}return!0}(c.messages,b)&&(c.title?.trim()||void 0)===d?c:g.saveThread({id:c.id,title:d,messages:b,metadata:c.metadata,createdAt:c.createdAt})}}],589116)},195348,a=>{"use strict";var b=a.i(572131),c=a.i(50944),d=a.i(589116);function e(){}let f=a=>[...a].sort((a,b)=>b.createdAt-a.createdAt);function g(a){let g=(0,c.useSearchParams)(),h=(0,b.useRef)(!0),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)(null),[m,n]=(0,b.useState)(!0),[o,p]=(0,b.useState)(!0),[q,r]=(0,b.useState)(!1),[s,t]=(0,b.useState)(null),[u,v]=(0,b.useState)(null),w=(0,b.useRef)(!1),x=(0,b.useCallback)(a=>{l(a)},[]);(0,b.useEffect)(()=>(h.current=!0,()=>{h.current=!1}),[]),(0,b.useEffect)(()=>{let b=!1;return(async()=>{try{var c;let i,k=(a||g.get("thread")||"").trim()||null,m=await d.threadService.listThreads();if(k&&!m.some(a=>a.id===k)){let a=await d.threadService.createThread({id:k});m=f([...m.filter(b=>b.id!==a.id),a])}if(b||!h.current)return;j(m);let n=k||null,{threadId:o,shouldClearSavedId:p,restoredFromStorage:q}=(c=m,i=c[0]?.id??null,n?c.some(a=>a.id===n)?{threadId:n,shouldClearSavedId:!1,restoredFromStorage:!0}:{threadId:i,shouldClearSavedId:!0,restoredFromStorage:!1}:{threadId:i,shouldClearSavedId:!1,restoredFromStorage:!1});p&&e(),w.current||(w.current=!0),q&&o?x(o):o?l(a=>a??o):l(null)}catch(a){console.error("Failed to load threads",a)}finally{h.current&&(n(!1),p(!1))}})(),()=>{b=!0}},[x,g,a]),(0,b.useEffect)(()=>{w.current&&(k||e())},[k]);let y=(0,b.useCallback)(async a=>{r(!0);try{let b=await d.threadService.createThread(a);if(!h.current)return b;return j(a=>f([...a.filter(a=>a.id!==b.id),b])),l(b.id),b}catch(a){throw console.error("Failed to create thread",a),a}finally{h.current&&r(!1)}},[]),z=(0,b.useCallback)(async a=>{if(a){t(a);try{if(await d.threadService.deleteThread(a),!h.current)return;let b=[];j(c=>b=f(c.filter(b=>b.id!==a))),l(c=>c===a?b[0]?.id??null:c)}catch(a){throw console.error("Failed to delete thread",a),a}finally{h.current&&t(null)}}},[]),A=(0,b.useCallback)(async(a,b)=>{let c=a.trim(),e=b.trim();if(c&&e){v(c);try{let a=await d.threadService.renameThread(c,e);if(!a||!h.current)return;j(b=>f(b.map(b=>b.id===a.id?a:b)))}catch(a){throw console.error("Failed to rename thread",a),a}finally{h.current&&v(a=>a===c?null:a)}}},[]),B=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.saveThreadMessages(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread messages",a)}},[]),C=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.updateThreadStatus(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread status",a)}},[]),D=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.updateThreadOutcomeNote(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread outcome note",a)}},[]),E=(0,b.useCallback)(async(a,b,c)=>{if(a&&b)try{let e=await d.threadService.updateMessageThreadStatus(a,b,c);if(!e||!h.current)return;j(a=>f(a.map(a=>a.id===e.id?e:a)))}catch(a){console.error("Failed to update message thread status",a)}},[]),F=(0,b.useCallback)(async(a,b,c)=>{if(a&&b)try{let e=await d.threadService.updateMessageOutcomeNote(a,b,c);if(!e||!h.current)return;j(a=>f(a.map(a=>a.id===e.id?e:a)))}catch(a){console.error("Failed to update message outcome note",a)}},[]),G=null!==k&&s===k;return{threads:i,activeThreadId:k,selectThread:x,createThread:y,deleteThread:z,isLoading:m,isRestoringActiveThread:o,isCreating:q,deletingThreadId:s,renamingThreadId:u,isDeletingActiveThread:G,updateThreadMessages:B,renameThread:A,updateThreadStatus:C,updateThreadOutcomeNote:D,updateMessageThreadStatus:E,updateMessageOutcomeNote:F}}a.s(["useThreadState",()=>g],195348)},194783,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(986976),f=a.i(56196),g=a.i(195348),h=a.i(655672),i=a.i(176388);function j({children:a,params:j}){let{slug:k}=(0,c.use)(j),l=(0,d.useRouter)(),m=(0,d.usePathname)(),{projects:n,isLoading:o,createProject:p,updateProject:q,deleteProject:r,addAgent:s,removeAgent:t}=(0,f.useProjectsWithAgents)(),{threads:u,isLoading:v,isCreating:w,deletingThreadId:x,renamingThreadId:y,isRestoringActiveThread:z,createThread:A,renameThread:B,deleteThread:C}=(0,g.useThreadState)(),[D,E]=(0,c.useState)([]),[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(368);(0,c.useEffect)(()=>{G((0,h.loadWorkspaceSidebarVisible)()),I((0,i.loadWorkspaceWidth)()||368)},[]),(0,c.useEffect)(()=>{fetch("/api/participants").then(a=>a.json()).then(a=>E(Array.isArray(a)?a:[])).catch(()=>E([]))},[]);let J=(0,c.useMemo)(()=>n.find(a=>a.slug===k)??null,[n,k]),K=(0,c.useMemo)(()=>{let a=m.match(/\/projects\/[^/]+\/thread\/([^/]+)/);return a?.[1]?decodeURIComponent(a[1]):J?.thread_ids[0]??null},[J?.thread_ids,m]),L=(0,c.useMemo)(()=>m.includes("/linear")?"linear":m.includes("/automations")?"automations":m.includes("/thread/")?"thread":m.includes("/knowledge")?"knowledge":"board",[m]),M=(0,c.useCallback)(a=>{I(a),(0,i.persistWorkspaceWidth)(a)},[]);return o?(0,b.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}):J?(0,b.jsxs)("div",{className:"flex h-dvh min-h-0 overflow-hidden bg-[var(--background)]",children:[(0,b.jsx)(e.WorkspaceSidebar,{threads:u,participants:D,activeThreadId:K,isLoading:v,isRestoringActiveThread:z,isCreating:w,deletingThreadId:x,renamingThreadId:y,onSelectThread:a=>l.push(`/projects/${k}/thread/${encodeURIComponent(a)}`),onCreateThread:A,onRenameThread:B,onDeleteThread:C,visible:F,onToggle:()=>{let a=!F;G(a),(0,h.persistWorkspaceSidebarVisible)(a)},width:H,onWidthChange:M,projects:n,onCreateProject:p,onUpdateProject:q,onDeleteProject:r,onAddAgentToProject:s,onRemoveAgentFromProject:t,activeProjectId:J.id,activeProjectView:L,onUpdateParticipant:async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error("Failed to update agent");let c=await b.json();E(a=>a.map(a=>a.id===c.id?c:a))},onSelectProject:a=>{let b=n.find(b=>b.id===a);b&&l.push(`/projects/${b.slug}`)}}),(0,b.jsx)("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 h-full overflow-hidden",children:a})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-2",children:"Project Not Found"}),(0,b.jsxs)("p",{className:"text-[var(--muted-foreground)] mb-4",children:["The project “",k,"” does not exist or you do not have access to it."]}),(0,b.jsx)("button",{onClick:()=>l.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 k({children:a,params:d}){return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-[var(--muted-foreground)]",children:"Loading project…"}),children:(0,b.jsx)(j,{params:d,children:a})})}a.s(["default",()=>k])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__f2c3b7ab._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},909270,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.AppRouterContext},738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},736313,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.HooksClientContext},818341,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.ServerInsertedHtml},400210,a=>{"use strict";let b=(0,a.i(883706).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],400210)},660246,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Users",()=>b],660246)},284505,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Download",()=>b],284505)},563588,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["MessageSquare",()=>b],563588)},104416,a=>{"use strict";let b=(0,a.i(883706).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["ShieldCheck",()=>b],104416)},485552,a=>{"use strict";let b=(0,a.i(883706).default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);a.s(["BrainCircuit",()=>b],485552)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__f59f0dc7._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},909270,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.AppRouterContext},738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},736313,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.HooksClientContext},818341,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.ServerInsertedHtml},80386,a=>{"use strict";let b=(0,a.i(883706).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],80386)},215040,a=>{"use strict";let b={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function c(a){return a&&"object"==typeof a?{threadSidebarVisible:"boolean"==typeof a.threadSidebarVisible?a.threadSidebarVisible:b.threadSidebarVisible,workspaceRoots:Array.isArray(a.workspaceRoots)?a.workspaceRoots.filter(a=>"string"==typeof a):b.workspaceRoots,homeSearchConsent:"boolean"==typeof a.homeSearchConsent?a.homeSearchConsent:b.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof a.hasCompletedFirstRun?a.hasCompletedFirstRun:b.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(a.fileIgnorePatterns)?a.fileIgnorePatterns.filter(a=>"string"==typeof a):b.fileIgnorePatterns}:b}let d="/api/userPreferences";function e(a){return a.json().then(a=>a&&"object"==typeof a?c(a.preferences??a):c(a)).catch(()=>c(null))}function f(a){return a.statusText||`Failed to reach ${d} (${a.status})`}async function g(){let a=await fetch(d,{cache:"no-store"});if(!a.ok)throw Error(f(a));return e(a)}async function h(a){let b=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:a})});if(!b.ok)throw Error(f(b));return e(b)}a.s(["fetchUserPreferences",()=>g,"updateUserPreferences",()=>h],215040)},860614,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["ExternalLink",()=>b],860614)},441997,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},808406,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Sparkles",()=>b],808406)},546842,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["User",()=>b],546842)},405784,a=>{"use strict";let b=(0,a.i(883706).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],405784)},533441,a=>{"use strict";let b=(0,a.i(883706).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",()=>b],533441)},47349,(a,b,c)=>{"use strict";var d=a.r(572131);d.useState,d.useEffect,d.useLayoutEffect,d.useDebugValue,c.useSyncExternalStore=void 0!==d.useSyncExternalStore?d.useSyncExternalStore:function(a,b){return b()}},487610,(a,b,c)=>{"use strict";b.exports=a.r(47349)},997514,(a,b,c)=>{"use strict";var d=a.r(572131),e=a.r(487610),f="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},g=e.useSyncExternalStore,h=d.useRef,i=d.useEffect,j=d.useMemo,k=d.useDebugValue;c.useSyncExternalStoreWithSelector=function(a,b,c,d,e){var l=h(null);if(null===l.current){var m={hasValue:!1,value:null};l.current=m}else m=l.current;var n=g(a,(l=j(function(){function a(a){if(!i){if(i=!0,g=a,a=d(a),void 0!==e&&m.hasValue){var b=m.value;if(e(b,a))return h=b}return h=a}if(b=h,f(g,a))return b;var c=d(a);return void 0!==e&&e(b,c)?(g=a,b):(g=a,h=c)}var g,h,i=!1,j=void 0===c?null:c;return[function(){return a(b())},null===j?void 0:function(){return a(j())}]},[b,c,d,e]))[0],l[1]);return i(function(){m.hasValue=!0,m.value=n},[n]),k(n),n}},864442,(a,b,c)=>{"use strict";b.exports=a.r(997514)},883706,a=>{"use strict";var b=a.i(572131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={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 f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]])),g=(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g};a.s(["default",()=>g],883706)},68063,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},739118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},633508,a=>{"use strict";let b=(0,a.i(883706).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],633508)},915618,a=>{"use strict";let b=(0,a.i(883706).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",()=>b],915618)},65151,a=>{"use strict";let b=(0,a.i(883706).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",()=>b],65151)},292e3,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["AlertCircle",()=>b],292e3)},561069,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(238246);let f=[{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"}],g=Date.now(),h=[{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:g-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:g-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:g-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:g-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:g-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:g-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:g-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:g-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:g-1e3}];var i=a.i(520138),j=a.i(815682),k=a.i(546842);function l(){let[a,d]=(0,c.useState)(0),g=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(a>=h.length)return;let b=setTimeout(()=>{d(a=>a+1)},0===a?300:400);return()=>clearTimeout(b)},[a]),(0,c.useEffect)(()=>{g.current?.scrollTo({top:g.current.scrollHeight,behavior:"smooth"})},[a]);let l=Object.fromEntries(f.map(a=>[a.id,a]));return(0,b.jsx)("div",{ref:g,className:"flex-1 overflow-y-auto px-4 py-6",children:(0,b.jsx)("div",{className:"max-w-2xl mx-auto space-y-4",children:h.slice(0,a).map((a,c)=>{let d="user"===a.role,f=a.participantId?l[a.participantId]:null;return(0,b.jsxs)("div",{className:"flex gap-3 animate-in fade-in slide-in-from-bottom-2 duration-300",style:{animationDelay:`${50*c}ms`},children:[(0,b.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:d?(0,b.jsx)(k.User,{className:"w-4 h-4 text-[var(--muted-foreground)]"}):f?(0,b.jsx)(e.default,{href:`/agents/${f.id}`,className:"w-full h-full hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,b.jsx)("img",{src:(0,i.agentAvatarUrl)(f.id,32,f.color),alt:f.name,className:"w-full h-full object-cover"})}):null}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[!d&&f?(0,b.jsx)(e.default,{href:`/agents/${f.id}`,className:"text-[12px] font-bold tracking-wide uppercase hover:underline",style:{color:f.color||"#64748b"},children:f.name}):(0,b.jsx)("span",{className:"text-[12px] font-bold tracking-wide uppercase",style:{color:d?"#334155":"#64748b"},children:d?"You":"Agent"}),!d&&f?.model&&(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] font-medium",children:f.model})]}),(0,b.jsx)("div",{className:"text-[14px] text-[var(--foreground)] leading-relaxed mt-0.5",children:(0,b.jsx)(j.Markdown,{content:a.content,isUser:d})})]})]},a.id)})})})}var m=a.i(215040),n=a.i(533441),o=a.i(65151),p=a.i(705151),q=a.i(405784),r=a.i(860614),s=a.i(80386),t=a.i(292e3);let u=[{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(a=>({id:a.id,name:a.label,description:a.description,installCmd:a.installCmd,docsUrl:a.docsUrl,installNote:a.installNote,recommended:a.recommended}));function v({text:a}){let[d,e]=(0,c.useState)(!1),f=(0,c.useCallback)(()=>{navigator.clipboard.writeText(a).then(()=>{e(!0),setTimeout(()=>e(!1),2e3)})},[a]);return(0,b.jsx)("button",{type:"button",onClick:f,className:"p-1.5 rounded-md hover:bg-[var(--muted)] transition-colors text-[var(--muted-foreground)] hover:text-[var(--foreground)]",title:"Copy command",children:d?(0,b.jsx)(n.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,b.jsx)(p.Copy,{className:"w-3.5 h-3.5"})})}function w({cli:a}){let[d,e]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"border border-[var(--card-border)] rounded-lg overflow-hidden",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>e(!d),className:"w-full flex items-center gap-3 px-4 py-3 hover:bg-[var(--item-hover-bg)] transition-colors text-left",children:[(0,b.jsx)("div",{className:"shrink-0",children:null===a.installed?(0,b.jsx)(o.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)] animate-pulse"}):a.installed?(0,b.jsx)("div",{className:"w-5 h-5 rounded-full bg-emerald-100 dark:bg-emerald-900/30 flex items-center justify-center",children:(0,b.jsx)(n.Check,{className:"w-3 h-3 text-emerald-600 dark:text-emerald-400"})}):(0,b.jsx)(o.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:a.name}),a.recommended&&!a.installed&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-[var(--foreground)] bg-[var(--secondary)] px-1.5 py-0.5 rounded",children:"Recommended"}),a.installed&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20 px-1.5 py-0.5 rounded",children:"Installed"})]}),(0,b.jsx)("p",{className:"text-[12px] text-[var(--muted-foreground)]",children:a.description})]}),!a.installed&&(0,b.jsx)(q.ChevronDown,{className:`w-4 h-4 text-[var(--muted-foreground)] transition-transform ${d?"rotate-180":""}`})]}),d&&!a.installed&&(0,b.jsxs)("div",{className:"px-4 pb-3 border-t border-[var(--card-border)]",children:[(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2 bg-[var(--secondary)] rounded-md px-3 py-2 font-mono text-[13px] text-[var(--foreground)]",children:[(0,b.jsx)(s.Terminal,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)] shrink-0"}),(0,b.jsx)("code",{className:"flex-1 overflow-x-auto whitespace-nowrap",children:a.installCmd}),(0,b.jsx)(v,{text:a.installCmd})]}),(0,b.jsxs)("a",{href:a.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-[12px] text-[var(--primary)] hover:underline",children:["Documentation",(0,b.jsx)(r.ExternalLink,{className:"w-3 h-3"})]}),a.installNote?(0,b.jsx)("p",{className:"mt-2 text-[12px] text-[var(--muted-foreground)]",children:a.installNote}):null]})]})}function x(){let a=(0,d.useRouter)(),[e,f]=(0,c.useState)("checking"),[g,h]=(0,c.useState)(u.map(a=>({...a,installed:null}))),[i,j]=(0,c.useState)(!1),[k,n]=(0,c.useState)(!1),[o,p]=(0,c.useState)(null);(0,c.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await fetch("/api/providers",{cache:"no-store"});if(a)return;if(!b.ok)return void f("error");let c=await b.json(),d=new Set(Array.isArray(c?.providers)?c.providers.filter(a=>a&&"string"==typeof a.id).map(a=>a.id):[]),e=u.map(a=>({...a,installed:d.has(a.id)}));!a&&(h(e),e.some(a=>a.installed)?a||f("ready"):a||(f("needs-setup"),j(!0)))}catch{a||f("error")}})(),()=>{a=!0}},[]);let r=(0,c.useCallback)(async()=>{n(!0),p(null);try{await (0,m.updateUserPreferences)({hasCompletedFirstRun:!0});let b=await fetch("/api/daemon");if(!b.ok)throw Error(`Could not read daemon status (${b.status})`);if(!(await b.json()).running){let a=await fetch("/api/daemon",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workers:1})});if(!a.ok)throw Error(`Could not start AGX (${a.status})`)}a.push("/")}catch(a){console.error("Failed to finalize onboarding",a),p(a instanceof Error?a.message:"Could not complete setup. Try again.")}finally{n(!1)}},[a]),s=g.filter(a=>a.installed).length,v=g.length,x=g.find(a=>a.recommended)??g[0]??null,y=g.filter(a=>!a.recommended);return(0,b.jsxs)("div",{className:"h-screen w-full flex flex-col bg-[var(--secondary)]",children:[(0,b.jsx)("div",{className:"text-center pt-10 pb-2 px-4",children:(0,b.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,b.jsx)(l,{}),(0,b.jsxs)("div",{className:"pb-8 pt-4 flex flex-col items-center gap-3 px-4",children:["ready"===e&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",onClick:r,disabled:k,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:k?"Starting AGX...":"Launch AGX"}),(0,b.jsxs)("button",{type:"button",onClick:()=>j(a=>!a),className:"text-[13px] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors flex items-center gap-1",children:[(0,b.jsxs)("span",{className:"text-emerald-600",children:[s,"/",v," providers"]}),(0,b.jsx)(q.ChevronDown,{className:`w-3.5 h-3.5 transition-transform ${i?"rotate-180":""}`})]})]}),"checking"===e&&(0,b.jsx)("span",{className:"text-[13px] text-[var(--app-shell-soft-text)]",children:"Detecting installed providers..."}),"needs-setup"===e&&(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)("p",{className:"text-[14px] font-medium text-amber-600 dark:text-amber-400",children:"No providers found"}),(0,b.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] mt-1",children:"Start with Claude Code, then come back to launch AGX"})]}),"error"===e&&(0,b.jsx)("span",{className:"text-[13px] text-[var(--app-shell-soft-text)]",children:"Could not check installed providers"}),o?(0,b.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,b.jsx)(t.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),o]}):null]}),i&&(0,b.jsx)("div",{className:"border-t border-[var(--card-border)] bg-[var(--background)] overflow-y-auto",children:(0,b.jsxs)("div",{className:"max-w-lg mx-auto px-4 py-6",children:[(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("h2",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:"Provider CLIs"}),(0,b.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,b.jsxs)("div",{className:"space-y-2",children:[x?(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--secondary)] p-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Start Here"}),(0,b.jsx)("span",{className:"rounded bg-[var(--background)] px-2 py-0.5 text-[11px] font-medium text-[var(--foreground)]",children:x.name})]}),(0,b.jsx)("p",{className:"mt-2 text-[13px] text-[var(--foreground)]",children:"Install Claude Code first if you want the shortest path into AGX."}),(0,b.jsx)("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,x?(0,b.jsx)(w,{cli:x},x.id):null]}),y.length>0?(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("h3",{className:"mb-2 text-[12px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Other Options"}),(0,b.jsx)("div",{className:"space-y-2",children:y.map(a=>(0,b.jsx)(w,{cli:a},a.id))})]}):null,"ready"===e?(0,b.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"===e?(0,b.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]})})]})}a.s(["default",()=>x],561069)}];
|
|
1
|
+
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},909270,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.AppRouterContext},738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},736313,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.HooksClientContext},818341,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.ServerInsertedHtml},80386,a=>{"use strict";let b=(0,a.i(883706).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],80386)},215040,a=>{"use strict";let b={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function c(a){return a&&"object"==typeof a?{threadSidebarVisible:"boolean"==typeof a.threadSidebarVisible?a.threadSidebarVisible:b.threadSidebarVisible,workspaceRoots:Array.isArray(a.workspaceRoots)?a.workspaceRoots.filter(a=>"string"==typeof a):b.workspaceRoots,homeSearchConsent:"boolean"==typeof a.homeSearchConsent?a.homeSearchConsent:b.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof a.hasCompletedFirstRun?a.hasCompletedFirstRun:b.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(a.fileIgnorePatterns)?a.fileIgnorePatterns.filter(a=>"string"==typeof a):b.fileIgnorePatterns}:b}let d="/api/userPreferences";function e(a){return a.json().then(a=>a&&"object"==typeof a?c(a.preferences??a):c(a)).catch(()=>c(null))}function f(a){return a.statusText||`Failed to reach ${d} (${a.status})`}async function g(){let a=await fetch(d,{cache:"no-store"});if(!a.ok)throw Error(f(a));return e(a)}async function h(a){let b=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:a})});if(!b.ok)throw Error(f(b));return e(b)}a.s(["fetchUserPreferences",()=>g,"updateUserPreferences",()=>h],215040)},860614,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["ExternalLink",()=>b],860614)},47349,(a,b,c)=>{"use strict";var d=a.r(572131);d.useState,d.useEffect,d.useLayoutEffect,d.useDebugValue,c.useSyncExternalStore=void 0!==d.useSyncExternalStore?d.useSyncExternalStore:function(a,b){return b()}},487610,(a,b,c)=>{"use strict";b.exports=a.r(47349)},997514,(a,b,c)=>{"use strict";var d=a.r(572131),e=a.r(487610),f="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},g=e.useSyncExternalStore,h=d.useRef,i=d.useEffect,j=d.useMemo,k=d.useDebugValue;c.useSyncExternalStoreWithSelector=function(a,b,c,d,e){var l=h(null);if(null===l.current){var m={hasValue:!1,value:null};l.current=m}else m=l.current;var n=g(a,(l=j(function(){function a(a){if(!i){if(i=!0,g=a,a=d(a),void 0!==e&&m.hasValue){var b=m.value;if(e(b,a))return h=b}return h=a}if(b=h,f(g,a))return b;var c=d(a);return void 0!==e&&e(b,c)?(g=a,b):(g=a,h=c)}var g,h,i=!1,j=void 0===c?null:c;return[function(){return a(b())},null===j?void 0:function(){return a(j())}]},[b,c,d,e]))[0],l[1]);return i(function(){m.hasValue=!0,m.value=n},[n]),k(n),n}},864442,(a,b,c)=>{"use strict";b.exports=a.r(997514)},68063,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},739118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},441997,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},546842,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["User",()=>b],546842)},405784,a=>{"use strict";let b=(0,a.i(883706).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],405784)},533441,a=>{"use strict";let b=(0,a.i(883706).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",()=>b],533441)},883706,a=>{"use strict";var b=a.i(572131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={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 f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]])),g=(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g};a.s(["default",()=>g],883706)},915618,a=>{"use strict";let b=(0,a.i(883706).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",()=>b],915618)},633508,a=>{"use strict";let b=(0,a.i(883706).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],633508)},808406,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Sparkles",()=>b],808406)},65151,a=>{"use strict";let b=(0,a.i(883706).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",()=>b],65151)},292e3,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["AlertCircle",()=>b],292e3)},561069,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(238246);let f=[{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"}],g=Date.now(),h=[{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:g-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:g-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:g-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:g-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:g-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:g-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:g-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:g-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:g-1e3}];var i=a.i(520138),j=a.i(815682),k=a.i(546842);function l(){let[a,d]=(0,c.useState)(0),g=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(a>=h.length)return;let b=setTimeout(()=>{d(a=>a+1)},0===a?300:400);return()=>clearTimeout(b)},[a]),(0,c.useEffect)(()=>{g.current?.scrollTo({top:g.current.scrollHeight,behavior:"smooth"})},[a]);let l=Object.fromEntries(f.map(a=>[a.id,a]));return(0,b.jsx)("div",{ref:g,className:"flex-1 overflow-y-auto px-4 py-6",children:(0,b.jsx)("div",{className:"max-w-2xl mx-auto space-y-4",children:h.slice(0,a).map((a,c)=>{let d="user"===a.role,f=a.participantId?l[a.participantId]:null;return(0,b.jsxs)("div",{className:"flex gap-3 animate-in fade-in slide-in-from-bottom-2 duration-300",style:{animationDelay:`${50*c}ms`},children:[(0,b.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:d?(0,b.jsx)(k.User,{className:"w-4 h-4 text-[var(--muted-foreground)]"}):f?(0,b.jsx)(e.default,{href:`/agents/${f.id}`,className:"w-full h-full hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,b.jsx)("img",{src:(0,i.agentAvatarUrl)(f.id,32,f.color),alt:f.name,className:"w-full h-full object-cover"})}):null}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-baseline gap-2",children:[!d&&f?(0,b.jsx)(e.default,{href:`/agents/${f.id}`,className:"text-[12px] font-bold tracking-wide uppercase hover:underline",style:{color:f.color||"#64748b"},children:f.name}):(0,b.jsx)("span",{className:"text-[12px] font-bold tracking-wide uppercase",style:{color:d?"#334155":"#64748b"},children:d?"You":"Agent"}),!d&&f?.model&&(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] font-medium",children:f.model})]}),(0,b.jsx)("div",{className:"text-[14px] text-[var(--foreground)] leading-relaxed mt-0.5",children:(0,b.jsx)(j.Markdown,{content:a.content,isUser:d})})]})]},a.id)})})})}var m=a.i(215040),n=a.i(533441),o=a.i(65151),p=a.i(705151),q=a.i(405784),r=a.i(860614),s=a.i(80386),t=a.i(292e3);let u=[{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(a=>({id:a.id,name:a.label,description:a.description,installCmd:a.installCmd,docsUrl:a.docsUrl,installNote:a.installNote,recommended:a.recommended}));function v({text:a}){let[d,e]=(0,c.useState)(!1),f=(0,c.useCallback)(()=>{navigator.clipboard.writeText(a).then(()=>{e(!0),setTimeout(()=>e(!1),2e3)})},[a]);return(0,b.jsx)("button",{type:"button",onClick:f,className:"p-1.5 rounded-md hover:bg-[var(--muted)] transition-colors text-[var(--muted-foreground)] hover:text-[var(--foreground)]",title:"Copy command",children:d?(0,b.jsx)(n.Check,{className:"w-3.5 h-3.5 text-emerald-500"}):(0,b.jsx)(p.Copy,{className:"w-3.5 h-3.5"})})}function w({cli:a}){let[d,e]=(0,c.useState)(!1);return(0,b.jsxs)("div",{className:"border border-[var(--card-border)] rounded-lg overflow-hidden",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>e(!d),className:"w-full flex items-center gap-3 px-4 py-3 hover:bg-[var(--item-hover-bg)] transition-colors text-left",children:[(0,b.jsx)("div",{className:"shrink-0",children:null===a.installed?(0,b.jsx)(o.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)] animate-pulse"}):a.installed?(0,b.jsx)("div",{className:"w-5 h-5 rounded-full bg-emerald-100 dark:bg-emerald-900/30 flex items-center justify-center",children:(0,b.jsx)(n.Check,{className:"w-3 h-3 text-emerald-600 dark:text-emerald-400"})}):(0,b.jsx)(o.Circle,{className:"w-4 h-4 text-[var(--muted-foreground)]"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:a.name}),a.recommended&&!a.installed&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-[var(--foreground)] bg-[var(--secondary)] px-1.5 py-0.5 rounded",children:"Recommended"}),a.installed&&(0,b.jsx)("span",{className:"text-[11px] font-medium text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20 px-1.5 py-0.5 rounded",children:"Installed"})]}),(0,b.jsx)("p",{className:"text-[12px] text-[var(--muted-foreground)]",children:a.description})]}),!a.installed&&(0,b.jsx)(q.ChevronDown,{className:`w-4 h-4 text-[var(--muted-foreground)] transition-transform ${d?"rotate-180":""}`})]}),d&&!a.installed&&(0,b.jsxs)("div",{className:"px-4 pb-3 border-t border-[var(--card-border)]",children:[(0,b.jsxs)("div",{className:"mt-3 flex items-center gap-2 bg-[var(--secondary)] rounded-md px-3 py-2 font-mono text-[13px] text-[var(--foreground)]",children:[(0,b.jsx)(s.Terminal,{className:"w-3.5 h-3.5 text-[var(--muted-foreground)] shrink-0"}),(0,b.jsx)("code",{className:"flex-1 overflow-x-auto whitespace-nowrap",children:a.installCmd}),(0,b.jsx)(v,{text:a.installCmd})]}),(0,b.jsxs)("a",{href:a.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-[12px] text-[var(--primary)] hover:underline",children:["Documentation",(0,b.jsx)(r.ExternalLink,{className:"w-3 h-3"})]}),a.installNote?(0,b.jsx)("p",{className:"mt-2 text-[12px] text-[var(--muted-foreground)]",children:a.installNote}):null]})]})}function x(){let a=(0,d.useRouter)(),[e,f]=(0,c.useState)("checking"),[g,h]=(0,c.useState)(u.map(a=>({...a,installed:null}))),[i,j]=(0,c.useState)(!1),[k,n]=(0,c.useState)(!1),[o,p]=(0,c.useState)(null);(0,c.useEffect)(()=>{let a=!1;return(async()=>{try{let b=await fetch("/api/providers",{cache:"no-store"});if(a)return;if(!b.ok)return void f("error");let c=await b.json(),d=new Set(Array.isArray(c?.providers)?c.providers.filter(a=>a&&"string"==typeof a.id).map(a=>a.id):[]),e=u.map(a=>({...a,installed:d.has(a.id)}));!a&&(h(e),e.some(a=>a.installed)?a||f("ready"):a||(f("needs-setup"),j(!0)))}catch{a||f("error")}})(),()=>{a=!0}},[]);let r=(0,c.useCallback)(async()=>{n(!0),p(null);try{await (0,m.updateUserPreferences)({hasCompletedFirstRun:!0});let b=await fetch("/api/daemon");if(!b.ok)throw Error(`Could not read daemon status (${b.status})`);if(!(await b.json()).running){let a=await fetch("/api/daemon",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workers:1})});if(!a.ok)throw Error(`Could not start AGX (${a.status})`)}a.push("/")}catch(a){console.error("Failed to finalize onboarding",a),p(a instanceof Error?a.message:"Could not complete setup. Try again.")}finally{n(!1)}},[a]),s=g.filter(a=>a.installed).length,v=g.length,x=g.find(a=>a.recommended)??g[0]??null,y=g.filter(a=>!a.recommended);return(0,b.jsxs)("div",{className:"h-screen w-full flex flex-col bg-[var(--secondary)]",children:[(0,b.jsx)("div",{className:"text-center pt-10 pb-2 px-4",children:(0,b.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,b.jsx)(l,{}),(0,b.jsxs)("div",{className:"pb-8 pt-4 flex flex-col items-center gap-3 px-4",children:["ready"===e&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",onClick:r,disabled:k,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:k?"Starting AGX...":"Launch AGX"}),(0,b.jsxs)("button",{type:"button",onClick:()=>j(a=>!a),className:"text-[13px] text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors flex items-center gap-1",children:[(0,b.jsxs)("span",{className:"text-emerald-600",children:[s,"/",v," providers"]}),(0,b.jsx)(q.ChevronDown,{className:`w-3.5 h-3.5 transition-transform ${i?"rotate-180":""}`})]})]}),"checking"===e&&(0,b.jsx)("span",{className:"text-[13px] text-[var(--app-shell-soft-text)]",children:"Detecting installed providers..."}),"needs-setup"===e&&(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)("p",{className:"text-[14px] font-medium text-amber-600 dark:text-amber-400",children:"No providers found"}),(0,b.jsx)("p",{className:"text-[13px] text-[var(--muted-foreground)] mt-1",children:"Start with Claude Code, then come back to launch AGX"})]}),"error"===e&&(0,b.jsx)("span",{className:"text-[13px] text-[var(--app-shell-soft-text)]",children:"Could not check installed providers"}),o?(0,b.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,b.jsx)(t.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),o]}):null]}),i&&(0,b.jsx)("div",{className:"border-t border-[var(--card-border)] bg-[var(--background)] overflow-y-auto",children:(0,b.jsxs)("div",{className:"max-w-lg mx-auto px-4 py-6",children:[(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("h2",{className:"text-[14px] font-semibold text-[var(--foreground)]",children:"Provider CLIs"}),(0,b.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,b.jsxs)("div",{className:"space-y-2",children:[x?(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--secondary)] p-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Start Here"}),(0,b.jsx)("span",{className:"rounded bg-[var(--background)] px-2 py-0.5 text-[11px] font-medium text-[var(--foreground)]",children:x.name})]}),(0,b.jsx)("p",{className:"mt-2 text-[13px] text-[var(--foreground)]",children:"Install Claude Code first if you want the shortest path into AGX."}),(0,b.jsx)("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,x?(0,b.jsx)(w,{cli:x},x.id):null]}),y.length>0?(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("h3",{className:"mb-2 text-[12px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Other Options"}),(0,b.jsx)("div",{className:"space-y-2",children:y.map(a=>(0,b.jsx)(w,{cli:a},a.id))})]}):null,"ready"===e?(0,b.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"===e?(0,b.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]})})]})}a.s(["default",()=>x],561069)}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__fbe1ab4a._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[18984,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(500427);let e={name:"",description:""},f={name:"",path:"",notes:""};function g(){let[a,b]=(0,c.useState)(e),[d,g]=(0,c.useState)([f]),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(null),l=(0,c.useCallback)((a,b,c)=>{g(d=>d.map((d,e)=>e===a?{...d,[b]:c}:d))},[]),m=(0,c.useCallback)(()=>{g(a=>[...a,{...f}])},[]),n=(0,c.useCallback)(a=>{g(b=>b.filter((b,c)=>c!==a))},[]),o=(0,c.useCallback)(()=>{b(e),g([f]),k(null)},[]),p=(0,c.useCallback)(a=>{b({name:a.name||"",description:a.description||""}),a.repos&&a.repos.length>0?g(a.repos.map(a=>({id:a.id,name:a.name||"",path:a.path||"",git_url:a.git_url||"",notes:a.notes||""}))):g([f]),k(null)},[]);return{form:a,setForm:b,repos:d,handleRepoChange:l,addRepo:m,removeRepo:n,resetForm:o,hydrateFromProject:p,isSubmitting:h,setIsSubmitting:i,formError:j,setFormError:k}}function h(a,b){let c=b.filter(a=>a.name.trim()&&a.path.trim()).map(a=>({...a.id?{id:a.id}:{},name:a.name.trim(),path:a.path.trim(),...a.git_url?.trim()?{git_url:a.git_url.trim()}:{},notes:a.notes.trim()||void 0}));return{name:a.name.trim(),description:a.description.trim()||void 0,repos:c.length?c:void 0}}function i({form:a,repos:e,isEditingProject:f,isSubmitting:g,onFieldChange:h,onRepoChange:i,onAddRepo:j,onRemoveRepo:k}){let[l,m]=(0,c.useState)([]),[n,o]=(0,c.useState)(null),p=(0,c.useRef)(0);(0,c.useEffect)(()=>{f?m([]):m(e.map((a,b)=>b)),p.current=e.length},[f,e.length]),(0,c.useEffect)(()=>{if(!f){p.current=e.length;return}let a=p.current;m(b=>{let c=b.filter(a=>a<e.length);return e.length>a&&c.push(...Array.from({length:e.length-a},(b,c)=>a+c)),c}),p.current=e.length},[f,e.length]);let q=(0,c.useCallback)(a=>{m(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])},[]),r=(0,c.useCallback)(a=>!f||l.includes(a),[l,f]);return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)("div",{className:"grid gap-4",children:(0,b.jsxs)("label",{className:"space-y-1.5 block",children:[(0,b.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,b.jsx)("input",{value:a.name,onChange:a=>h("name",a.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:g})]})}),(0,b.jsxs)("label",{className:"space-y-1.5 block",children:[(0,b.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,b.jsx)("textarea",{value:a.description,onChange:a=>h("description",a.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:g})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Folders"}),(0,b.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,b.jsx)("button",{type:"button",onClick:j,className:"text-xs font-semibold text-[var(--primary)] hover:underline flex-shrink-0",disabled:g,children:"+ Add Folder"})]}),(0,b.jsx)("div",{className:"space-y-4",children:e.map((a,c)=>(0,b.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 space-y-3 relative group",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Folder #",c+1]}),f&&!r(c)?(0,b.jsxs)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)("div",{children:a.name||"Unnamed folder"}),(0,b.jsx)("div",{className:"truncate",children:a.path||"No local path set"})]}):null]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[f&&(0,b.jsx)("button",{type:"button",onClick:()=>q(c),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:g,children:r(c)?"Done":"Edit"}),e.length>1&&(0,b.jsx)("button",{type:"button",onClick:()=>k(c),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:g,children:"Remove"})]})]}),r(c)?(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)("input",{value:a.name,onChange:a=>i(c,"name",a.target.value),placeholder:"Name (e.g. Frontend, API Docs, Design System)",className:"input text-sm",disabled:g}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{value:a.path,onChange:a=>i(c,"path",a.target.value),placeholder:"Local path to folder",className:"input text-sm flex-1",disabled:g}),(0,b.jsx)("button",{type:"button",onClick:async()=>{try{let a=await fetch("/api/filesystem/pick-folder",{method:"POST"}),b=await a.json();b.path&&i(c,"path",b.path)}catch{o(n===c?null:c)}},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:g,children:"Browse"})]}),n===c&&(0,b.jsx)("div",{className:"md:col-span-2",children:(0,b.jsx)(d.default,{initialPath:a.path||"",onSelect:a=>{i(c,"path",a),o(null)},onCancel:()=>o(null)})}),(0,b.jsx)("div",{className:"md:col-span-2",children:(0,b.jsx)("textarea",{value:a.notes,onChange:a=>i(c,"notes",a.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:g})})]}):null]},c))})]})]})}function j({isOpen:a,onClose:d,onSubmit:e,editingProject:f,form:g,repos:h,isSubmitting:j,formError:k,onFieldChange:l,onRepoChange:m,onAddRepo:n,onRemoveRepo:o}){let[p,q]=(0,c.useState)([]);return((0,c.useEffect)(()=>{let a=!1;return async function(){if(!f)return q([]);try{let b=await fetch(`/api/knowledge-notes?scope=project&subjectId=${encodeURIComponent(f.id)}`),c=(b.ok?await b.json():{note:null}).note;a||q(c?.content?[{id:c.id,content:c.content,created_at:c.updatedAt??c.createdAt,source:c.sourceType}]:[])}catch{a||q([])}}(),()=>{a=!0}},[f]),a)?(0,b.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:a=>a.target===a.currentTarget&&d(),children:(0,b.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,b.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,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-xl font-bold",children:f?"Edit Project":"Create New Project"}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:f?"Update your project settings and folders.":"Define a new project and connect folders."})]}),(0,b.jsx)("button",{onClick:d,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,b.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 sm:p-8",children:[f&&(0,b.jsx)("div",{className:"mb-6",children:(0,b.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,b.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Living Project Note"}),p.length>0?(0,b.jsx)("div",{className:"mt-3 space-y-2",children:p.slice(0,5).map(a=>(0,b.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,b.jsx)("div",{children:a.content}),a.created_at?(0,b.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(a.created_at).toLocaleString()}):null]},a.id))}):(0,b.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No project note yet."})]})}),(0,b.jsx)(i,{form:g,repos:h,isEditingProject:!!f,isSubmitting:j,onFieldChange:l,onRepoChange:m,onAddRepo:n,onRemoveRepo:o}),k&&(0,b.jsx)("div",{className:"mt-6 p-4 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:k})]}),(0,b.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,b.jsx)("button",{onClick:d,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,b.jsx)("button",{onClick:e,disabled:j,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:j?(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Saving..."]}):f?"Save Changes":"Create Project"})]})]})}):null}a.s(["createProjectPayload",()=>h,"default",()=>j,"useProjectFormState",()=>g])},492596,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Folder",()=>b],492596)},734531,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["FolderGit2",()=>b],734531)},500427,a=>{"use strict";var b=a.i(187924),c=a.i(572131);function d({initialPath:a,onSelect:d,onCancel:e}){let[f,g]=(0,c.useState)(a||""),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(null),n=(0,c.useRef)(null),o=(0,c.useCallback)(async a=>{k(!0),m(null);try{let b=a?`?path=${encodeURIComponent(a)}`:"",c=await fetch(`/api/filesystem/browse${b}`),d=await c.json();if(!c.ok)return void m(d.error||"Failed to browse");i(d),g(d.current),n.current?.scrollTo(0,0)}catch{m("Failed to connect")}finally{k(!1)}},[]);return(0,c.useEffect)(()=>{o(a||"")},[]),(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden shadow-lg",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,b.jsx)("input",{value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"===a.key&&o(f)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,b.jsx)("button",{type:"button",onClick:()=>o(f),className:"text-[10px] font-bold uppercase tracking-wider text-[var(--primary)] hover:underline px-2 py-1 shrink-0",children:"Go"})]}),(0,b.jsxs)("div",{ref:n,className:"max-h-48 overflow-y-auto",children:[j&&(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)] text-center",children:"Loading..."}),l&&(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--destructive)] text-center",children:l}),!j&&h&&(0,b.jsxs)("div",{className:"py-1",children:[h.parent&&(0,b.jsxs)("button",{type:"button",onClick:()=>o(h.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,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"↑"}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:".."})]}),0===h.dirs.length&&!h.parent&&(0,b.jsx)("div",{className:"px-3 py-3 text-xs text-[var(--muted-foreground)] text-center",children:"No subdirectories"}),h.dirs.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>o(a.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,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"📁"}),(0,b.jsx)("span",{className:"truncate",children:a.name})]},a.path))]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] truncate max-w-[60%]",children:h?.current||f}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("button",{type:"button",onClick:e,className:"text-xs font-medium text-[var(--muted-foreground)] hover:underline px-2 py-1",children:"Cancel"}),(0,b.jsx)("button",{type:"button",onClick:()=>d(h?.current||f),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}a.s(["default",()=>d])},860614,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["ExternalLink",()=>b],860614)},781560,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Trash2",()=>b],781560)},587532,a=>{"use strict";let b=(0,a.i(883706).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);a.s(["Search",()=>b],587532)},321161,176388,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Settings",()=>b],321161);let c={bounds:null,sidebar:{workspaceWidth:260,logPanelHeight:200,workspaceVisible:!0,logPanelVisible:!1,linearTicketPanelWidth:576,linearRunsPanelWidth:224},scroll:{lastThreadId:null,lastWorkspaceId:null}};function d(){return({...c}).sidebar}function e(a){let b={...c};b.sidebar={...b.sidebar,...a}}function f(){return d().workspaceWidth}function g(a){e({workspaceWidth:a})}function h(){return d().linearTicketPanelWidth}function i(a){e({linearTicketPanelWidth:a})}function j(){return d().linearRunsPanelWidth}function k(a){e({linearRunsPanelWidth:a})}a.s(["loadLinearRunsPanelWidth",()=>j,"loadLinearTicketPanelWidth",()=>h,"loadWorkspaceWidth",()=>f,"persistLinearRunsPanelWidth",()=>k,"persistLinearTicketPanelWidth",()=>i,"persistWorkspaceWidth",()=>g],176388)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1e9b9b1e._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[50522,a=>{"use strict";let b=(0,a.i(883706).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],50522)},2835,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Hash",()=>b],2835)},56196,a=>{"use strict";var b=a.i(572131);function c(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!1),[f,g]=(0,b.useState)(null),h=(0,b.useCallback)(async()=>{e(!0);try{let a=await fetch("/api/projects");if(!a.ok)throw Error("Failed to fetch projects");let b=await a.json();c(b.projects??[]),g(null)}catch(a){g(a instanceof Error?a:Error("Unknown error"))}finally{e(!1)}},[]);(0,b.useEffect)(()=>{h()},[h]);let i=(0,b.useCallback)(async a=>{let b=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to create project");let d=(await b.json()).project;return c(a=>[d,...a]),d},[]);return{projects:a,isLoading:d,error:f,refetch:h,createProject:i,updateProject:(0,b.useCallback)(async(a,b)=>{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error||"Failed to update project");let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?e:b)),e},[]),deleteProject:(0,b.useCallback)(async a=>{let b=await fetch(`/api/projects/${a}`,{method:"DELETE"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to delete project");c(b=>b.filter(b=>b.id!==a))},[])}}function d(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!0),f=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/projects");if(!a.ok)return;let{projects:b}=await a.json(),d=await Promise.all((b??[]).map(async a=>{let b=[],c=[];try{let[d,e]=await Promise.all([fetch(`/api/projects/${a.id}/agents`),fetch(`/api/projects/${a.id}/threads`)]);d.ok&&(b=(await d.json()).agents??[]),e.ok&&(c=((await e.json()).threads??[]).map(a=>a.thread_id))}catch{}return{...a,repos:a.repos??[],agents:b.map(b=>({project_id:a.id,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at})),thread_ids:c,workspace_ids:c}}));c(d)}catch{}finally{e(!1)}},[]);(0,b.useEffect)(()=>{f()},[f]);let g=(0,b.useCallback)(async(a,b)=>{try{let d="string"==typeof a?{name:a}:a,e=d.name.trim(),f=(d.slug||e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),g=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...d,name:e,slug:f})});if(!g.ok)return null;let{project:h}=await g.json(),i=Array.isArray(b)?b:b?[b]:[];for(let a of i)await fetch(`/api/projects/${h.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:a})}).catch(()=>{});let j={...h,repos:h.repos??[],agents:[],thread_ids:i,workspace_ids:i};return c(a=>[...a,j].sort((a,b)=>a.name.localeCompare(b.name))),j}catch{return null}},[]),h=(0,b.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})})).ok)return;c(c=>c.map(c=>c.id===a?{...c,name:b}:c).sort((a,b)=>a.name.localeCompare(b.name)))}catch{}},[]),i=(0,b.useCallback)(async a=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"DELETE"})).ok)return;c(b=>b.filter(b=>b.id!==a))}catch{}},[]),j=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok){let a=await d.json().catch(()=>({}));throw Error(a.error||"Failed to update project")}let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?{...b,...e,repos:e.repos??b.repos}:b)),e}catch{return null}},[]),k=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),l=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents?agentId=${b}`,{method:"DELETE"});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]);return{projects:a,isLoading:d,createProject:g,updateProject:j,renameProject:h,deleteProject:i,addAgent:k,removeAgent:l,reorderAgents:(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),moveAgent:(0,b.useCallback)(async(a,b,c)=>{try{await fetch(`/api/projects/${b}/agents?agentId=${a}`,{method:"DELETE"}),await fetch(`/api/projects/${c}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:a})}),await f()}catch{}},[f]),refresh:f}}a.s(["useProjects",()=>c,"useProjectsWithAgents",()=>d])},883706,a=>{"use strict";var b=a.i(572131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={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 f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]])),g=(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g};a.s(["default",()=>g],883706)},915618,a=>{"use strict";let b=(0,a.i(883706).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",()=>b],915618)},633508,a=>{"use strict";let b=(0,a.i(883706).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],633508)},699464,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Pencil",()=>b],699464)},909270,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.AppRouterContext},738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},68063,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},739118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},47349,(a,b,c)=>{"use strict";var d=a.r(572131);d.useState,d.useEffect,d.useLayoutEffect,d.useDebugValue,c.useSyncExternalStore=void 0!==d.useSyncExternalStore?d.useSyncExternalStore:function(a,b){return b()}},487610,(a,b,c)=>{"use strict";b.exports=a.r(47349)},997514,(a,b,c)=>{"use strict";var d=a.r(572131),e=a.r(487610),f="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},g=e.useSyncExternalStore,h=d.useRef,i=d.useEffect,j=d.useMemo,k=d.useDebugValue;c.useSyncExternalStoreWithSelector=function(a,b,c,d,e){var l=h(null);if(null===l.current){var m={hasValue:!1,value:null};l.current=m}else m=l.current;var n=g(a,(l=j(function(){function a(a){if(!i){if(i=!0,g=a,a=d(a),void 0!==e&&m.hasValue){var b=m.value;if(e(b,a))return h=b}return h=a}if(b=h,f(g,a))return b;var c=d(a);return void 0!==e&&e(b,c)?(g=a,b):(g=a,h=c)}var g,h,i=!1,j=void 0===c?null:c;return[function(){return a(b())},null===j?void 0:function(){return a(j())}]},[b,c,d,e]))[0],l[1]);return i(function(){m.hasValue=!0,m.value=n},[n]),k(n),n}},864442,(a,b,c)=>{"use strict";b.exports=a.r(997514)},808406,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Sparkles",()=>b],808406)},546842,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["User",()=>b],546842)},533441,a=>{"use strict";let b=(0,a.i(883706).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",()=>b],533441)},405784,a=>{"use strict";let b=(0,a.i(883706).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],405784)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_24fe6213._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[47349,(a,b,c)=>{"use strict";var d=a.r(572131);d.useState,d.useEffect,d.useLayoutEffect,d.useDebugValue,c.useSyncExternalStore=void 0!==d.useSyncExternalStore?d.useSyncExternalStore:function(a,b){return b()}},487610,(a,b,c)=>{"use strict";b.exports=a.r(47349)},997514,(a,b,c)=>{"use strict";var d=a.r(572131),e=a.r(487610),f="function"==typeof Object.is?Object.is:function(a,b){return a===b&&(0!==a||1/a==1/b)||a!=a&&b!=b},g=e.useSyncExternalStore,h=d.useRef,i=d.useEffect,j=d.useMemo,k=d.useDebugValue;c.useSyncExternalStoreWithSelector=function(a,b,c,d,e){var l=h(null);if(null===l.current){var m={hasValue:!1,value:null};l.current=m}else m=l.current;var n=g(a,(l=j(function(){function a(a){if(!i){if(i=!0,g=a,a=d(a),void 0!==e&&m.hasValue){var b=m.value;if(e(b,a))return h=b}return h=a}if(b=h,f(g,a))return b;var c=d(a);return void 0!==e&&e(b,c)?(g=a,b):(g=a,h=c)}var g,h,i=!1,j=void 0===c?null:c;return[function(){return a(b())},null===j?void 0:function(){return a(j())}]},[b,c,d,e]))[0],l[1]);return i(function(){m.hasValue=!0,m.value=n},[n]),k(n),n}},864442,(a,b,c)=>{"use strict";b.exports=a.r(997514)},68063,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},739118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},441997,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},808406,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Sparkles",()=>b],808406)},546842,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["User",()=>b],546842)},533441,a=>{"use strict";let b=(0,a.i(883706).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",()=>b],533441)},405784,a=>{"use strict";let b=(0,a.i(883706).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],405784)},56196,a=>{"use strict";var b=a.i(572131);function c(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!1),[f,g]=(0,b.useState)(null),h=(0,b.useCallback)(async()=>{e(!0);try{let a=await fetch("/api/projects");if(!a.ok)throw Error("Failed to fetch projects");let b=await a.json();c(b.projects??[]),g(null)}catch(a){g(a instanceof Error?a:Error("Unknown error"))}finally{e(!1)}},[]);(0,b.useEffect)(()=>{h()},[h]);let i=(0,b.useCallback)(async a=>{let b=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to create project");let d=(await b.json()).project;return c(a=>[d,...a]),d},[]);return{projects:a,isLoading:d,error:f,refetch:h,createProject:i,updateProject:(0,b.useCallback)(async(a,b)=>{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error||"Failed to update project");let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?e:b)),e},[]),deleteProject:(0,b.useCallback)(async a=>{let b=await fetch(`/api/projects/${a}`,{method:"DELETE"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to delete project");c(b=>b.filter(b=>b.id!==a))},[])}}function d(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!0),f=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/projects");if(!a.ok)return;let{projects:b}=await a.json(),d=await Promise.all((b??[]).map(async a=>{let b=[],c=[];try{let[d,e]=await Promise.all([fetch(`/api/projects/${a.id}/agents`),fetch(`/api/projects/${a.id}/threads`)]);d.ok&&(b=(await d.json()).agents??[]),e.ok&&(c=((await e.json()).threads??[]).map(a=>a.thread_id))}catch{}return{...a,repos:a.repos??[],agents:b.map(b=>({project_id:a.id,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at})),thread_ids:c,workspace_ids:c}}));c(d)}catch{}finally{e(!1)}},[]);(0,b.useEffect)(()=>{f()},[f]);let g=(0,b.useCallback)(async(a,b)=>{try{let d="string"==typeof a?{name:a}:a,e=d.name.trim(),f=(d.slug||e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),g=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...d,name:e,slug:f})});if(!g.ok)return null;let{project:h}=await g.json(),i=Array.isArray(b)?b:b?[b]:[];for(let a of i)await fetch(`/api/projects/${h.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:a})}).catch(()=>{});let j={...h,repos:h.repos??[],agents:[],thread_ids:i,workspace_ids:i};return c(a=>[...a,j].sort((a,b)=>a.name.localeCompare(b.name))),j}catch{return null}},[]),h=(0,b.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})})).ok)return;c(c=>c.map(c=>c.id===a?{...c,name:b}:c).sort((a,b)=>a.name.localeCompare(b.name)))}catch{}},[]),i=(0,b.useCallback)(async a=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"DELETE"})).ok)return;c(b=>b.filter(b=>b.id!==a))}catch{}},[]),j=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok){let a=await d.json().catch(()=>({}));throw Error(a.error||"Failed to update project")}let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?{...b,...e,repos:e.repos??b.repos}:b)),e}catch{return null}},[]),k=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),l=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents?agentId=${b}`,{method:"DELETE"});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]);return{projects:a,isLoading:d,createProject:g,updateProject:j,renameProject:h,deleteProject:i,addAgent:k,removeAgent:l,reorderAgents:(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),moveAgent:(0,b.useCallback)(async(a,b,c)=>{try{await fetch(`/api/projects/${b}/agents?agentId=${a}`,{method:"DELETE"}),await fetch(`/api/projects/${c}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:a})}),await f()}catch{}},[f]),refresh:f}}a.s(["useProjects",()=>c,"useProjectsWithAgents",()=>d])},883706,a=>{"use strict";var b=a.i(572131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={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 f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]])),g=(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g};a.s(["default",()=>g],883706)},915618,a=>{"use strict";let b=(0,a.i(883706).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",()=>b],915618)},633508,a=>{"use strict";let b=(0,a.i(883706).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],633508)},699464,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Pencil",()=>b],699464)},50522,a=>{"use strict";let b=(0,a.i(883706).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],50522)},2835,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Hash",()=>b],2835)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_36a0c486._.js.map
|