@mndrk/agx 2.0.55 → 2.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/required-server-files.json +5 -0
- package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +3 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +17 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +13 -13
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page/react-loadable-manifest.json +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +14 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g50c6p._.js +237 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0o315az._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0t2jk2r._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tdixb0._.js +49 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0gvjvx7._.js → [root-of-the-server]__0xdp_8-._.js} +25 -25
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0y42h_~._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~fjhfa._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_12yasaj._.js +9 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_022nz2u._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +11 -10
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0yvelwy.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/02dz_local__next-internal_server_app_projects_[slug]_folders_page_actions_03fg4j9.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0qzjdog._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0a-mbbj._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0e2_v_.._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0w3hl3p._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__07johgg._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__08d5c~o._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0_n~ybp._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0fl7_-o._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0h~rb5r._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r3w68h._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0x7k~pk._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__0hd2vo4._.js → [root-of-the-server]__0y8j6el._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0yme9fy._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~7q5sw._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13eqcxp._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0s~0ump._.js → _064h43p._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0742x_.._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_09b42z9._.js → _09~glsn._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0fwy5tm._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0sjchy6._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ufdu.z._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_03rf_sb._.js → _0wk3skw._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_03z24q2._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_04hvzn_._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_4hk8x._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_ac-.f._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0a-8i4p._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0h3mfm7._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0nvzo3y._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_11k_-8~._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_execution-graph_page_tsx_0tn2sx9._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_folders_page_tsx_0ju618z._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_0aaa3~t._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TaskCard_tsx_0e35_z5._.js +6 -6
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_ChatContainer_tsx_0c9fjtl._.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mk0s0o.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-_ukhpeg429c.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-olq~7zw3wjy.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0142ce0jj3j7r.js → 0-vo_x2cxmjm3.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.4d8rshxivwh.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1011~1x9nj4ny.js → 00lise4d-u8d1.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0~apd0q5_i88z.js → 02p3n7faotpr9.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/02zcxdul-1jaf.js +28 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/055bzj5jfgzr0.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/05c-~4v_jrblf.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/07646a0h94826.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/08~pgzjb13k_v.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09wzd7y~tk-3~.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0px65ynyk3t1d.js → 0bchtyu6m.2yv.js} +7 -7
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0brmd4~76pthy.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0f7i3ae1ynhf3.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0.a4-dh~x9sa3.js → 0hudzktaaxr4g.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{09-_2lcshmjl5.js → 0hzq698w6f4m6.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0i.su2yr26wb6.js +37 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jonp-o8lh-4j.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jsbvcyub73d9.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l2pt2td_87wr.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l3v45kd.9is_.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lgb.0~i1xvv-.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lkal3uvr6_~2.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0mvqoz13v0o2a.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0o9cxba_5mv2c.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p7s38p3bcffh.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0q2dgbluvgxf2.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0r0c9y6.8.m5p.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0h_bwlg~kk8lz.js → 0rey9zfvm3yhd.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ucg8e2wkd8gf.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0uve8xrt~0a2e.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0x_pewz9npq~q.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xwny92a.ad_i.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0ov5lu0tz2o2e.js → 104xjvrf6y-zq.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rm7v.1y6qcni.js → 11-u35xqxu~i-.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/14v~9vx3tdv85.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0826uh6nmsi5l.js → 1503vb7lb6.g1.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0o0hwfzwwty4b.js → 15jlly_p-g4c8.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/16nozeadjid9-.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/177-q0wwdi0qe.js +1 -0
- package/cloud-runtime/standalone/apps/local/agx-server.js +4055 -0
- package/cloud-runtime/standalone/apps/local/app/api/automations/route.ts +10 -2
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +16 -0
- package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +8 -1
- package/cloud-runtime/standalone/apps/local/app/globals.css +67 -5
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/folders/page.tsx +25 -0
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +19 -5
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/objectives/[objectiveId]/page.tsx +7 -2
- package/cloud-runtime/standalone/apps/local/bundled-server.ts +45 -0
- package/cloud-runtime/standalone/apps/local/components/ActionToolbar.tsx +5 -2
- package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +35 -3
- package/cloud-runtime/standalone/apps/local/components/ContextMenu.tsx +2 -2
- package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +36 -14
- package/cloud-runtime/standalone/apps/local/components/IconButton.tsx +10 -2
- package/cloud-runtime/standalone/apps/local/components/KanbanBoard.tsx +84 -3
- package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +382 -13
- package/cloud-runtime/standalone/apps/local/components/LogTimeline.tsx +4 -1
- package/cloud-runtime/standalone/apps/local/components/NowRunningPanel.tsx +3 -1
- package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +46 -6
- package/cloud-runtime/standalone/apps/local/components/SearchCombo.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/SortableTaskCard.tsx +21 -3
- package/cloud-runtime/standalone/apps/local/components/StatusCircle.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/TaskCard.tsx +51 -1
- package/cloud-runtime/standalone/apps/local/components/chat-ui/ChatContainer.tsx +15 -2
- package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/chat-ui/ParticipantBar.tsx +76 -9
- package/cloud-runtime/standalone/apps/local/components/graph/ExecutionGraphPanel.tsx +4 -1
- package/cloud-runtime/standalone/apps/local/components/graph/GraphFirstView.tsx +6 -2
- package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +29 -14
- package/cloud-runtime/standalone/apps/local/components/graph/NodeInspector.tsx +9 -6
- package/cloud-runtime/standalone/apps/local/components/projects/FoldersSummaryCard.tsx +16 -16
- package/cloud-runtime/standalone/apps/local/components/projects/FoldersView.tsx +856 -0
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveActivityTimeline.tsx +40 -32
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +172 -49
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +4 -4
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +347 -168
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectSearchBar.tsx +4 -2
- package/cloud-runtime/standalone/apps/local/components/projects/ScheduledTasksSummaryCard.tsx +19 -19
- package/cloud-runtime/standalone/apps/local/components/projects/TeamsSummaryCard.tsx +10 -10
- package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +50 -50
- package/cloud-runtime/standalone/apps/local/components/projects/WorkingNowCard.tsx +12 -12
- package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectiveCard.tsx +13 -10
- package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectivesSection.tsx +7 -7
- package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathCard.tsx +2 -2
- package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathsSection.tsx +9 -9
- package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +211 -77
- package/cloud-runtime/standalone/apps/local/components/terminal/TerminalSessionList.tsx +3 -1
- package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +72 -21
- package/cloud-runtime/standalone/apps/local/hooks/useInputCapabilities.ts +74 -0
- package/cloud-runtime/standalone/apps/local/lib/app-config.ts +35 -0
- package/cloud-runtime/standalone/apps/local/lib/pty-manager.ts +5 -1
- package/cloud-runtime/standalone/apps/local/lib/terminal-server.ts +182 -0
- package/cloud-runtime/standalone/apps/local/next.config.ts +2 -1
- package/cloud-runtime/standalone/apps/local/package.json +2 -2
- package/cloud-runtime/standalone/apps/local/playwright.config.ts +8 -0
- package/cloud-runtime/standalone/apps/local/server.js +1 -1
- package/cloud-runtime/standalone/apps/local/server.ts +14 -158
- package/cloud-runtime/standalone/apps/local/src/graph/types.ts +2 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/cron.ts +11 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +325 -88
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +20 -0
- package/cloud-runtime/standalone/apps/local/state/windowState.ts +11 -0
- package/cloud-runtime/standalone/apps/local/styles/workspaceSidebar.css +65 -0
- package/cloud-runtime/standalone/apps/local/worker/index.js +0 -4
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.pdb +0 -0
- package/lib/cli/daemon.js +13 -2
- package/lib/cli/onboarding.js +5 -6
- package/lib/cli/runCli.js +1 -1
- package/lib/cloud/client.js +1 -1
- package/lib/commands/chat.js +37 -11
- package/lib/commands/daemonBoard.js +19 -13
- package/lib/config/cloudConfig.js +1 -1
- package/lib/orchestrator/httpClient.js +1 -1
- package/lib/prompts/templates.js +8 -9
- package/package.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01ol22y._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__088h0r2._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__094z9yf._.js +0 -9
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0avz575._.js +0 -49
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0xxf2a0.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0xd_mxu._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__044xm0q._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__066ay_e._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__09smg3p._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0iix1sf._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r54zr9._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0s8z2_c._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w1mm2j._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0wq3ukc._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13h-0om._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03-mlx0._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ag3.tl._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0dh_hx0._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0h8cbsi._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0i1ffhz._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0nlki7b._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_q01av._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0eh.4j7._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0qaowqy._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0s0iy2_._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0zr-_na._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_10qsqky._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.bv3h68wo33z.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/016.x9zt9~rsh.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/027-6dwgpb0cy.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/031720jijg_th.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/03m1xs0rztynh.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/07o~9mm~xds_b.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/08zgoptetnxjj.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09_yj-9nfh48m.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09c7ssmgohk7l.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0awbe2r3qazge.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0dro-bz6f72z0.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gbunx8z.~i4x.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ge81r~ap.u7n.js +0 -28
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ghg5160qeazw.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gl_8hdxl5qnd.js +0 -37
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0g~v8p6_pc46-.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jb4f8425s.-2.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0kukkarp4un0o.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0m.2b-cekea8b.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pt8_y9asrg~7.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0wyg4lymaq0hg.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xl~1ux2f~rcu.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y7-eze-w7~b4.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y8e--tok1214.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0yy~0bgsz~o6-.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/100xrwo-45nrg.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/14h3qxwuo~1q9.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/17oesq5eds3xi.js +0 -1
- /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_clientMiddlewareManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_ssgManifest.js +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[68063,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},639211,a=>{"use strict";a.s(["GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"UI_POLL_CHAT_ALT_MS",0,15e3,"UI_POLL_CHAT_CHECK_MS",0,1e4,"UI_POLL_DB_HEALTH_MS",0,3e4,"UI_POLL_PROMPT_RUNS_MS",0,5e3,"UI_POLL_SYSTEM_STATUS_MS",0,3e4,"UI_POLL_TASK_DURATION_MS",0,6e4])},157633,a=>{"use strict";let b=(0,a.i(831709).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",0,b],157633)},769677,a=>{"use strict";let b="project_objectives_workspace",c="project_goals_workspace",d=new Set(["on_track","at_risk","off_track","done"]);function e(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function f(a){return`${a}_${Math.random().toString(36).slice(2,10)}`}function g(a){return[...a].sort((a,b)=>Date.parse(b.updatedAt)-Date.parse(a.updatedAt))}function h(a){return[...a].sort((a,b)=>Date.parse(a.createdAt)-Date.parse(b.createdAt))}function i(a){return[...a].sort((a,b)=>Date.parse(b.createdAt)-Date.parse(a.createdAt))}function j(a,b=""){return"string"==typeof a?a:b}function k(a){return Array.isArray(a)?Array.from(new Set(a.map(a=>"string"==typeof a?a.trim():"").filter(Boolean))):[]}function l(a,b="1970-01-01T00:00:00.000Z"){if("string"!=typeof a)return b;let c=Date.parse(a);return Number.isNaN(c)?b:new Date(c).toISOString()}function m(a){return"number"==typeof a&&Number.isFinite(a)?Math.max(0,Math.min(100,Math.round(a))):0}function n(a,b=0){return"number"==typeof a&&Number.isFinite(a)?Math.max(0,Math.floor(a)):b}function o(a,b="objective"){let c=a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-").slice(0,32);return c||b.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"objective"}function p(a,b,c="objective"){let d=o(c),e=o(a,d),f=e,g=2;for(;b.has(f);){let a=`-${g}`,b=Math.max(1,32-a.length);f=`${e.slice(0,b)}${a}`,g+=1}return b.add(f),f}function q(a){var b;if(!e(a))return null;let c=l(a.updatedAt??a.createdAt),g=l(a.createdAt,c);return{id:j(a.id,f("objective")),title:j(a.title,"Untitled objective"),teamId:j(a.teamId??a.team_id??a.ownerTeamId),key:o(j(a.key??a.slug??a.label),j(a.title??a.id,"objective")),threadId:j(a.threadId)||null,chatSessionVersion:n(a.chatSessionVersion,0),scheduledTaskIds:k(a.scheduledTaskIds??a.promptJobIds),summary:j(a.summary),cadence:j(a.cadence),condition:j(a.condition),progress:m(a.progress),status:"string"==typeof(b=a.status)&&d.has(b)?b:"on_track",createdAt:g,updatedAt:c}}function r(a){if(!e(a))return null;let b=l(a.updatedAt??a.createdAt),c=l(a.createdAt,b),d=j(a.objectiveId??a.goalId);return d?{id:j(a.id,f("objective_activity")),objectiveId:d,sourceType:"note",sourceLabel:j(a.sourceLabel,"Update"),title:j(a.title,"Untitled activity"),body:j(a.body),createdAt:c,updatedAt:b,relatedTaskId:j(a.relatedTaskId)||null}:null}function s(a){if(!e(a))return null;let b=j(a.activityId);return b?{id:j(a.id,f("objective_thread_message")),activityId:b,author:j(a.author,"You"),body:j(a.body),createdAt:l(a.createdAt)}:null}function t(){return{objectives:[],activities:[],activityThreads:{}}}function u(a){let b;if(!e(a))return t();let c=Array.isArray(a.objectives)?a.objectives.map(a=>q(a)).filter(a=>null!==a):[],d=Array.isArray(a.activities)?a.activities.map(a=>r(a)).filter(a=>null!==a):[],f=e(a.activityThreads)?Object.fromEntries(Object.entries(a.activityThreads).map(([a,b])=>[a,h(Array.isArray(b)?b.map(a=>s(a)).filter(a=>null!==a):[])])):{};return{objectives:g((b=new Set,c.map(a=>{let c=p(a.key||a.title||a.id,b,a.id||a.title||"objective");return a.key===c?a:{...a,key:c}}))),activities:i(d),activityThreads:f}}a.s(["CURRENT_OBJECTIVE_CHAT_SESSION_VERSION",0,2,"buildObjectiveTimelineActivities",0,function({objective:a,workspace:b}){return b.activities.filter(b=>b.objectiveId===a.id).map(a=>({...a,threadCount:b.activityThreads[a.id]?.length??0})).sort((a,b)=>Date.parse(b.createdAt)-Date.parse(a.createdAt))},"createProjectObjective",0,function(a){return{id:a.id??f("objective"),title:a.title.trim(),teamId:a.teamId.trim(),key:o(a.key?.trim()??a.title.trim(),a.id??a.title),threadId:"string"==typeof a.threadId&&a.threadId.trim()?a.threadId.trim():null,chatSessionVersion:n(a.chatSessionVersion??2,2),scheduledTaskIds:k(a.scheduledTaskIds??[]),summary:a.summary?.trim()??"",cadence:a.cadence?.trim()??"",condition:a.condition?.trim()??"",progress:m(a.progress??0),status:a.status??"on_track",createdAt:a.now,updatedAt:a.now}},"generateProjectObjectiveKey",0,function(a,b,c){return p(a,new Set(b.filter(a=>a.id!==c).map(a=>o(a.key||a.title||a.id))),c??a)},"readProjectObjectivesWorkspace",0,function(a){if(!e(a))return t();let d=a[b];if(void 0!==d){let a=u(d);if(a.objectives.length>0||a.activities.length>0||Object.keys(a.activityThreads).length>0)return a}let f=a[c];if(void 0!==f){if(!e(f))return t();let a=Array.isArray(f.goals)?f.goals.map(a=>(function(a){if(!e(a))return null;let b=j(a.target),c=[j(a.summary),b?`Measure: ${b}`:""].filter(Boolean).join("\n\n");return q({...a,summary:c,cadence:""})})(a)).filter(a=>null!==a):[],b=Array.isArray(f.manualActivities)?f.manualActivities.map(a=>r({...a,sourceLabel:"Update"})).filter(a=>null!==a):[],c=e(f.activityThreads)?Object.fromEntries(Object.entries(f.activityThreads).map(([a,b])=>[a,h(Array.isArray(b)?b.map(b=>s({...b,activityId:a})).filter(a=>null!==a):[])])):{};return{objectives:g(a),activities:i(b),activityThreads:c}}return t()},"removeProjectObjective",0,function(a,b){let c=new Set(a.activities.filter(a=>a.objectiveId===b).map(a=>a.id)),d=Object.fromEntries(Object.entries(a.activityThreads).filter(([a])=>!c.has(a)));return{objectives:a.objectives.filter(a=>a.id!==b),activities:a.activities.filter(a=>a.objectiveId!==b),activityThreads:d}},"upsertProjectObjective",0,function(a,b){let c=a.objectives.findIndex(a=>a.id===b.id)>=0?a.objectives.map(a=>a.id===b.id?b:a):[b,...a.objectives];return{...a,objectives:g(c)}},"writeProjectObjectivesWorkspace",0,function(a,d){let e={...a};return delete e[c],e[b]=u(d),e}])},719550,a=>{"use strict";var b=a.i(187924);a.s(["LinearIcon",0,function({size:a=16,...c}){return(0,b.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:a,height:a,viewBox:"0 0 100 100",fill:"currentColor",...c,children:(0,b.jsx)("path",{d:"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z"})})}])},349692,372871,a=>{"use strict";let b=(0,a.i(831709).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["default",0,b],372871),a.s(["Loader2",0,b],349692)},552605,a=>{"use strict";let b=(0,a.i(831709).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);a.s(["FileText",0,b],552605)},427411,a=>{"use strict";let b={bounds:null,sidebar:{workspaceWidth:260,logPanelHeight:200,workspaceVisible:!0,logPanelVisible:!1,linearTicketPanelWidth:576,linearRunsPanelWidth:224,objectiveChatPanelWidth:440},scroll:{lastThreadId:null,lastWorkspaceId:null}};function c(){return({...b}).sidebar}function d(a){let c={...b};c.sidebar={...c.sidebar,...a}}a.s(["loadLinearRunsPanelWidth",0,function(){return c().linearRunsPanelWidth},"loadLinearTicketPanelWidth",0,function(){return c().linearTicketPanelWidth},"loadObjectiveChatPanelWidth",0,function(){return c().objectiveChatPanelWidth},"loadWorkspaceWidth",0,function(){return c().workspaceWidth},"persistLinearRunsPanelWidth",0,function(a){d({linearRunsPanelWidth:a})},"persistLinearTicketPanelWidth",0,function(a){d({linearTicketPanelWidth:a})},"persistObjectiveChatPanelWidth",0,function(a){d({objectiveChatPanelWidth:a})},"persistWorkspaceWidth",0,function(a){d({workspaceWidth:a})}])},870630,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})}}],870630)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_0h8cbsi._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[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"},588644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},554427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},831709,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]]));a.s(["default",0,(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}],831709)},349692,372871,a=>{"use strict";let b=(0,a.i(831709).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["default",0,b],372871),a.s(["Loader2",0,b],349692)},110149,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(349692);a.s(["default",0,function(){let a=(0,d.useRouter)(),[f,g]=(0,c.useState)(!0);return((0,c.useEffect)(()=>{let b=!1;return(async()=>{try{let c=await fetch("/api/projects",{cache:"no-store"});if(b)return;if(c.ok){let b=await c.json(),d=Array.isArray(b?.projects)?b.projects:[];0===d.length?a.replace("/setup"):a.replace(`/projects/${d[0].slug}`);return}}catch{}b||a.replace("/setup")})(),()=>{b=!0}},[a]),f)?(0,b.jsx)("div",{className:"h-screen w-full flex items-center justify-center bg-[var(--background)]",children:(0,b.jsx)(e.Loader2,{className:"w-6 h-6 animate-spin text-[var(--muted-foreground)]"})}):null}])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_0i1ffhz._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[588644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},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"},554427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},831709,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]]));a.s(["default",0,(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}],831709)},542341,a=>{"use strict";let b=(0,a.i(831709).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);a.s(["Search",0,b],542341)},68063,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},639211,a=>{"use strict";a.s(["GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"UI_POLL_CHAT_ALT_MS",0,15e3,"UI_POLL_CHAT_CHECK_MS",0,1e4,"UI_POLL_DB_HEALTH_MS",0,3e4,"UI_POLL_PROMPT_RUNS_MS",0,5e3,"UI_POLL_SYSTEM_STATUS_MS",0,3e4,"UI_POLL_TASK_DURATION_MS",0,6e4])},168811,a=>{"use strict";var b=a.i(187924),c=a.i(238246),d=a.i(572131),e=a.i(639211);function f(){let[a,c]=(0,d.useState)(null),[f,g]=(0,d.useState)("loading");(0,d.useEffect)(()=>{let a=!0;async function b(){try{let b=await fetch("/api/health");if(!a)return;if(!b.ok)return void g("error");let d=await b.json();c(d),g(d.connected?"connected":"disconnected")}catch{a&&g("error")}}b();let d=setInterval(b,e.UI_POLL_DB_HEALTH_MS);return()=>{a=!1,clearInterval(d)}},[]);let h={loading:"Checking database…",connected:`${a?.adapter??"db"} connected (${a?.latencyMs??"?"}ms)`,disconnected:`${a?.adapter??"db"} disconnected`,error:"Database unreachable"};return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--muted-foreground)]",role:"status","aria-label":h[f],children:[(0,b.jsx)("span",{className:`w-2 h-2 rounded-full ${{loading:"bg-yellow-400",connected:"bg-green-500",disconnected:"bg-red-500",error:"bg-red-500"}[f]}`}),(0,b.jsx)("span",{className:"hidden sm:inline",children:h[f]})]})}function g({children:a,fullWidth:d=!1,noFooter:e=!1}){return(0,b.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,b.jsx)("nav",{className:"desktop-titlebar flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,b.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,b.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,b.jsx)("div",{className:"flex items-center gap-8",children:(0,b.jsx)(c.default,{href:"/",className:"flex items-center gap-3 group",children:(0,b.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"transition-transform group-hover:scale-105",children:[(0,b.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,b.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,b.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,b.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,b.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,b.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})})}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(c.default,{href:"/",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Open Chat"}),(0,b.jsx)(c.default,{href:"/automations",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Automations"}),(0,b.jsx)(c.default,{href:"/skills",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Skills"}),(0,b.jsx)(c.default,{href:"/settings",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Settings"})]})]})})}),(0,b.jsx)("main",{className:`flex-1 min-h-0 flex flex-col ${d?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"}`,children:a}),!e&&(0,b.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,b.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,b.jsx)("span",{children:"AGX Board • Autonomous Agent Orchestration"}),(0,b.jsxs)("span",{className:"hidden sm:inline-flex items-center gap-3",children:[(0,b.jsx)(f,{}),(0,b.jsx)("span",{children:"Built with Next.js + Db"})]})]})})]})}a.s(["default",0,function(a){return(0,b.jsx)(d.Suspense,{fallback:(0,b.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,b.jsx)(g,{...a})})}],168811)},553893,a=>{"use strict";var b=a.i(639211);b.NODE_TIMEOUT_DEFAULT_MS,b.GRAPH_TIMEOUT_DEFAULT_MS;let c=new Set(["done","passed"]),d=new Set(["pending","running","awaiting_human","blocked"]);function e(a,b){return"root"===b.type?b.title?.trim()||"Task Objective":"work"===b.type||"function"===b.type?b.title?.trim()||a:"gate"===b.type?b.gateType.replace(/_gate$/u,"").replace(/_/gu," ").replace(/\b\w/gu,a=>a.toUpperCase()):"fork"===b.type?"Fork":"join"===b.type?`Join (${b.joinStrategy})`:"Conditional"}function f(a){for(let[b,c]of Object.entries(a.nodes))if("root"===c.type)return{id:b,node:c};return null}a.s(["buildGraphSummary",0,function(a){let b,g=f(a);return{mode:a.mode,graphVersion:a.graphVersion,nodeCount:Object.keys(a.nodes).length,progress:0===(b=Object.values(a.nodes).filter(a=>"skipped"!==a.status)).length?100:Math.round(b.filter(a=>c.has(a.status)).length/b.length*100),currentBlocker:function(a){let b=function(a){let b=Object.entries(a.nodes),c=b.filter(([,a])=>"gate"===a.type&&a.required),d=c.find(([,a])=>"failed"===a.status);if(d)return d[0];let e=c.find(([,a])=>"awaiting_human"===a.status);if(e)return e[0];let f=c.find(([,a])=>"pending"===a.status||"running"===a.status);if(f)return f[0];let g=b.find(([,a])=>"work"===a.type&&"blocked"===a.status);return g?.[0]??null}(a);if(!b)return null;let c=a.nodes[b];return c?{nodeId:b,label:e(b,c),status:c.status,required:"gate"===c.type&&c.required}:null}(a),derivedStatus:function(a){let b=Object.keys(a.nodes).length;if(0===b)return"INTAKE";if(1===b){let b=Object.values(a.nodes)[0];if("root"===b.type&&!b.graphCreated)return"INTAKE"}return Object.values(a.nodes).some(a=>d.has(a.status))?"PROGRESS":"DONE"}(a),hasRootNode:null!==g,rootNodeId:g?.id??null}},"findRootNode",0,f,"formatNodeStatusLabel",0,function(a){return a.replace(/_/gu," ")},"getNodeLabel",0,e,"toNodeStatusClass",0,function(a){return`node--${a}`}],553893)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_0nlki7b._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",0,b],756490)},599086,a=>{"use strict";let b=(0,a.i(831709).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",0,b],599086)},654340,a=>{"use strict";let b=(0,a.i(831709).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",0,b],654340)},220016,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(654340),f=a.i(599086),g=a.i(756490),h=a.i(349692),i=a.i(353532),j=a.i(985339);function k(a){return a.threadTitle?.trim()?a.threadTitle.trim():a.threadId?.trim()?`Thread ${a.threadId.slice(0,12)}...`:"Main thread"}function l({projectId:a,projectSlug:m,projectAgents:n,projectThreadIds:o=[]}){let p=(0,d.useRouter)(),[q,r]=(0,c.useState)([]),[s,t]=(0,c.useState)([]),[u,v]=(0,c.useState)([]),[w,x]=(0,c.useState)(!0),[y,z]=(0,c.useState)(null),A=(0,c.useCallback)(async()=>{x(!0),z(null);try{let b=await fetch(`/api/projects/${a}/teams`);if(!b.ok)throw Error(`Failed to load teams (${b.status})`);let c=await b.json();r(c.teams??[])}catch(a){z(a instanceof Error?a.message:"Unknown error")}finally{x(!1)}},[a]),B=(0,c.useCallback)(async()=>{try{let a=await fetch("/api/participants");if(!a.ok)return;let b=await a.json();t(Array.isArray(b)?b:b.participants??[])}catch{}},[]);(0,c.useEffect)(()=>{A(),B()},[A,B]),(0,c.useEffect)(()=>{let a=!1,b=m.trim().toLowerCase(),c=new Set(o.map(a=>a.trim()).filter(Boolean)),d=async()=>{try{let d=await fetch("/api/processes?enrich=1");if(!d.ok)return;let e=await d.json();if(a)return;let f=e.filter(a=>"spawning"===a.state||"running"===a.state).filter(a=>{let d=a.projectSlug.trim().toLowerCase();return!!d&&d===b||c.has(a.workspaceId)||c.has(a.threadId)}).sort((a,b)=>b.lastActivity-a.lastActivity);v(f)}catch{}};d();let e=setInterval(d,3e3);return()=>{a=!0,clearInterval(e)}},[m,o]);let C=new Map(s.map(a=>[a.id,a.name]));function D(a){return C.get(a)||a.slice(0,8)}let E=new Set(u.map(a=>a.agentId)),F=E.size,G=new Set(q.flatMap(a=>a.agents.map(a=>a.agent_id))),H=n.filter(a=>!G.has(a.agent_id)),I=new Set(H.map(a=>a.agent_id)),J=u.filter(a=>I.has(a.agentId)),K=new Set(J.map(a=>a.agentId)).size,L=q.filter(a=>a.agents.some(a=>E.has(a.agent_id))).length,M=q.flatMap(a=>{let b=new Set(a.agents.map(a=>a.agent_id));return u.filter(a=>b.has(a.agentId)).map(b=>({key:`${a.id}-${b.workspaceId}-${b.threadId}-${b.agentId}`,teamId:a.id,teamName:a.name,workspaceId:b.workspaceId,threadId:b.threadId,agentName:D(b.agentId),state:b.state,threadLabel:k(b),lastActiveLabel:function(a){let b=Math.max(0,Math.floor((Date.now()-a)/1e3));if(b<5)return"Just now";if(b<60)return`${b}s ago`;let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);if(d<24)return`${d}h ago`;let e=Math.floor(d/24);return`${e}d ago`}(b.lastActivity),linearIssueId:b.linearIssueId,linearRunId:b.linearRunId}))});return w?(0,b.jsxs)("div",{className:"flex items-center justify-center p-12 text-zinc-400",children:[(0,b.jsx)(h.Loader2,{className:"w-5 h-5 animate-spin mr-2"}),"Loading teams..."]}):y?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center p-12 gap-2 text-zinc-400",children:[(0,b.jsx)(f.AlertTriangle,{className:"w-5 h-5 text-red-400"}),(0,b.jsx)("p",{className:"text-sm text-red-400",children:y}),(0,b.jsx)("button",{onClick:A,className:"text-xs text-zinc-500 hover:text-zinc-300 underline",children:"Retry"})]}):(0,b.jsx)("div",{className:"h-full overflow-y-auto",children:(0,b.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-6 px-6 py-8",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs uppercase tracking-[0.18em] text-zinc-500",children:[(0,b.jsx)(e.Activity,{className:"h-3.5 w-3.5"}),"Live Team Activity"]}),(0,b.jsx)("p",{className:"mt-1 text-sm text-zinc-400",children:F>0?`${F} active ${1===F?"agent":"agents"} across ${L} ${1===L?"team":"teams"}`:"No agents are active right now."})]}),(0,b.jsxs)("button",{onClick:()=>p.push(`/projects/${m}/teams/new`),className:"flex items-center gap-1.5 px-3 py-1.5 rounded-lg bg-blue-600 hover:bg-blue-500 text-white text-sm font-medium transition-colors",children:[(0,b.jsx)(i.Plus,{className:"w-4 h-4"}),"Add Team"]})]}),0===q.length?(0,b.jsxs)("div",{className:"rounded-2xl border border-zinc-800 bg-zinc-900/50 p-8 text-center",children:[(0,b.jsx)(j.Users,{className:"w-8 h-8 text-zinc-600 mx-auto mb-3"}),(0,b.jsx)("p",{className:"text-sm text-zinc-400 mb-1",children:"No teams yet"}),(0,b.jsx)("p",{className:"text-xs text-zinc-500",children:"Add a team to organize your agents into specialized roles."})]}):(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:q.map(a=>{let c=new Set(a.agents.map(a=>a.agent_id)),d=u.filter(a=>c.has(a.agentId)),e=new Set(d.map(a=>a.agentId)).size;return(0,b.jsxs)("div",{className:`rounded-2xl border p-4 flex flex-col gap-3 cursor-pointer transition-colors group ${d.length>0?"border-emerald-700/70 bg-emerald-950/20 shadow-[0_0_0_1px_rgba(16,185,129,0.12)] hover:border-emerald-600":"border-zinc-800 bg-zinc-900/50 hover:border-zinc-700"}`,onClick:()=>p.push(`/projects/${m}/teams/${a.id}`),children:[(0,b.jsxs)("div",{className:"flex items-start justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)(j.Users,{className:`w-4 h-4 shrink-0 ${d.length>0?"text-emerald-400":"text-zinc-400"}`}),(0,b.jsx)("span",{className:"text-sm font-medium text-zinc-100 truncate",children:a.name})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[e>0&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-emerald-700/60 bg-emerald-500/10 px-2 py-0.5 text-[10px] font-medium uppercase tracking-wider text-emerald-300",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"}),e," live"]}),a.template_id&&(0,b.jsx)("span",{className:"text-[10px] font-medium uppercase tracking-wider px-2 py-0.5 rounded-full bg-zinc-800 text-zinc-400 border border-zinc-700",children:a.template_id}),(0,b.jsx)(g.ChevronRight,{className:"w-4 h-4 text-zinc-600 opacity-0 group-hover:opacity-100 transition-opacity"})]})]}),(0,b.jsxs)("p",{className:"text-xs text-zinc-500",children:[a.agents.length," agent",1!==a.agents.length?"s":"",e>0?` \xb7 ${e} active now`:""]}),a.agents.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.agents.sort((a,b)=>a.routing_order-b.routing_order).map(a=>{let c=E.has(a.agent_id);return(0,b.jsxs)("span",{title:`${D(a.agent_id)} (${a.role_key})`,className:`inline-flex items-center gap-1 text-[11px] px-2 py-0.5 rounded-full border ${c?"bg-emerald-500/10 text-emerald-200 border-emerald-700/60":"bg-zinc-800 text-zinc-300 border-zinc-700"}`,children:[(0,b.jsx)("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${c?"bg-emerald-400":"bg-zinc-500"}`}),D(a.agent_id)]},a.agent_id)})})]},a.id)})}),M.length>0&&(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-800 bg-zinc-900/50 overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-zinc-800 px-4 py-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs uppercase tracking-[0.18em] text-zinc-500",children:[(0,b.jsx)(e.Activity,{className:"h-3.5 w-3.5"}),"Working Now"]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-zinc-500",children:"Live activity across all teams."})]}),(0,b.jsxs)("span",{className:"rounded-full border border-emerald-700/60 bg-emerald-500/10 px-2.5 py-1 text-[10px] font-medium uppercase tracking-wider text-emerald-300",children:[M.length," live ",1===M.length?"entry":"entries"]})]}),(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:"min-w-full text-sm",children:[(0,b.jsx)("thead",{className:"bg-zinc-950/40",children:(0,b.jsxs)("tr",{className:"text-left text-[11px] uppercase tracking-[0.18em] text-zinc-500",children:[(0,b.jsx)("th",{className:"px-4 py-3 font-medium",children:"Team"}),(0,b.jsx)("th",{className:"px-4 py-3 font-medium",children:"Agent"}),(0,b.jsx)("th",{className:"px-4 py-3 font-medium",children:"Status"}),(0,b.jsx)("th",{className:"px-4 py-3 font-medium",children:"Thread"}),(0,b.jsx)("th",{className:"px-4 py-3 font-medium",children:"Last active"})]})}),(0,b.jsx)("tbody",{children:M.map(a=>(0,b.jsxs)("tr",{className:"cursor-pointer border-t border-zinc-800/80 text-zinc-300 transition-colors hover:bg-zinc-800/30",onClick:()=>p.push(a.linearIssueId&&a.linearRunId?`/projects/${m}/linear?issue=${encodeURIComponent(a.linearIssueId)}&run=${encodeURIComponent(a.linearRunId)}`:`/projects/${m}/thread/${encodeURIComponent(a.workspaceId)}${a.threadId?`?open=${encodeURIComponent(a.threadId)}`:""}`),children:[(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsx)("button",{onClick:b=>{b.stopPropagation(),p.push(`/projects/${m}/teams/${a.teamId}`)},className:"text-left font-medium text-zinc-100 hover:text-white",children:a.teamName})}),(0,b.jsx)("td",{className:"px-4 py-3 text-zinc-200",children:a.agentName}),(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-emerald-700/60 bg-emerald-500/10 px-2 py-0.5 text-[11px] font-medium text-emerald-300",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400"}),"spawning"===a.state?"Starting":"Working"]})}),(0,b.jsx)("td",{className:"max-w-[24rem] px-4 py-3 text-zinc-400",children:(0,b.jsx)("span",{className:"block truncate",children:a.threadLabel})}),(0,b.jsx)("td",{className:"px-4 py-3 text-zinc-500",children:a.lastActiveLabel})]},a.key))})]})})]}),H.length>0&&(0,b.jsxs)("div",{className:"rounded-2xl border border-amber-800/50 bg-amber-900/10 p-4 flex flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(f.AlertTriangle,{className:"w-4 h-4 text-amber-500 shrink-0"}),(0,b.jsx)("span",{className:"text-sm font-medium text-zinc-200",children:"Unassigned Agents"}),(0,b.jsx)("span",{className:"rounded-full bg-zinc-800 px-2 py-0.5 text-xs text-zinc-400",children:H.length}),K>0&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-emerald-700/60 bg-emerald-500/10 px-2 py-0.5 text-[10px] font-medium uppercase tracking-wider text-emerald-300",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"}),K," live"]})]}),(0,b.jsx)("p",{className:"text-xs text-zinc-500",children:"These agents are in the project but not assigned to any team."}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:H.map(a=>(0,b.jsxs)("span",{className:`inline-flex items-center gap-1 text-[11px] px-2 py-0.5 rounded-full border ${E.has(a.agent_id)?"bg-emerald-500/10 text-emerald-200 border-emerald-700/60":"bg-zinc-800 text-zinc-300 border-zinc-700"}`,children:[(0,b.jsx)("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${E.has(a.agent_id)?"bg-emerald-400":"bg-zinc-500"}`}),D(a.agent_id)]},a.agent_id))}),J.length>0&&(0,b.jsxs)("div",{className:"rounded-xl border border-emerald-800/40 bg-emerald-900/10 p-3 flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[10px] font-medium uppercase tracking-[0.18em] text-emerald-300",children:[(0,b.jsx)(e.Activity,{className:"h-3.5 w-3.5"}),"Unassigned Activity"]}),J.slice(0,3).map(a=>(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)("span",{className:"mt-1 h-1.5 w-1.5 rounded-full bg-emerald-400 shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-200 truncate",children:[(0,b.jsx)("span",{className:"font-medium",children:D(a.agentId)})," ","spawning"===a.state?"is starting up":"is working"]}),(0,b.jsx)("p",{className:"text-[11px] text-zinc-500 truncate",children:k(a)})]})]},`unassigned-${a.workspaceId}-${a.threadId}-${a.agentId}`))]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pt-1",children:[(0,b.jsx)("button",{className:"text-xs px-3 py-1 rounded-lg border border-zinc-700 text-zinc-400 hover:text-zinc-200 hover:border-zinc-600 transition-colors",onClick:()=>p.push(`/projects/${m}/teams/adopt`),children:"Adopt into team"}),(0,b.jsx)("button",{className:"text-xs px-3 py-1 rounded-lg border border-zinc-700 text-zinc-400 hover:text-zinc-200 hover:border-zinc-600 transition-colors",onClick:()=>p.push(`/projects/${m}/teams/replace`),children:"Replace with preset"})]})]})]})})}var m=a.i(830284);a.s(["default",0,function({params:a}){let{slug:d}=(0,c.use)(a),{projects:e}=(0,m.useProjectsWithAgents)(),f=e.find(a=>a.slug===d);return f?(0,b.jsx)(l,{projectId:f.id,projectSlug:f.slug,projectAgents:f.agents,projectThreadIds:f.thread_ids}):(0,b.jsx)("div",{className:"flex items-center justify-center h-full text-sm text-zinc-500",children:"Loading..."})}],220016)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=apps_local_0_q01av._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[285320,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],285320)},66456,a=>{"use strict";let b=(0,a.i(831709).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",0,b],66456)},737313,a=>{"use strict";let b=(0,a.i(831709).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",0,b],737313)},489461,a=>{"use strict";let b=(0,a.i(831709).default)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);a.s(["Target",0,b],489461)},144462,962684,a=>{"use strict";let b=(0,a.i(831709).default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);a.s(["default",0,b],962684),a.s(["TerminalSquare",0,b],144462)},642784,a=>{"use strict";let b=(0,a.i(831709).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",0,b],642784)},508869,a=>{"use strict";let b=(0,a.i(831709).default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);a.s(["Sun",0,b],508869)},523321,a=>{"use strict";let b=(0,a.i(831709).default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);a.s(["Moon",0,b],523321)},166621,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(238246),e=a.i(639211);a.s(["StatusIndicator",0,function(){let[a,f]=(0,c.useState)("unknown"),[g,h]=(0,c.useState)([]),[i,j]=(0,c.useState)(""),[k,l]=(0,c.useState)(!1),m=(0,c.useCallback)(async()=>{try{let a=await fetch("/api/status");if(!a.ok)return void f("unknown");let b=await a.json();f("ok"===b.status?"ok":"degraded");let c=b.services.filter(a=>"agx-chat"===a.name||"agx-cloud"===a.name);h(c),j(new Date().toLocaleTimeString())}catch{f("unknown"),h([])}},[]);return(0,c.useEffect)(()=>{m();let a=setInterval(m,e.UI_POLL_SYSTEM_STATUS_MS);return()=>clearInterval(a)},[m]),(0,b.jsxs)("div",{className:"relative",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[(0,b.jsx)(d.default,{href:"/status",className:"inline-flex h-8 w-8 items-center justify-center rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] transition-all hover:bg-[var(--app-shell-subtle)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--ring)]",title:"System status",children:(0,b.jsx)("span",{className:`h-2.5 w-2.5 rounded-full ${"ok"===a?"bg-emerald-400":"degraded"===a?"bg-amber-400":"bg-[var(--app-shell-muted)]"} ${"degraded"===a?"animate-pulse":""}`})}),k&&(0,b.jsxs)("div",{className:"absolute top-full right-0 z-50 mt-1.5 w-52 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] p-3 text-xs shadow-lg",children:[g.length>0?(0,b.jsx)("ul",{className:"space-y-1.5",children:g.map(a=>(0,b.jsxs)("li",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:a.name}),(0,b.jsx)("span",{className:"ok"===a.status?"text-emerald-600":"error"===a.status?"text-red-500":"text-[var(--muted-foreground)]",children:"ok"===a.status?"Healthy":"error"===a.status?a.detail||"Error":"Unavailable"})]},a.name))}):(0,b.jsx)("p",{className:"text-[var(--app-shell-soft-text)]",children:"Checking..."}),i&&(0,b.jsxs)("p",{className:"mt-2 border-t border-[var(--app-shell-border)] pt-1.5 text-[var(--app-shell-soft-text)]",children:["Last check: ",i]})]})]})}])},971382,a=>{"use strict";let b=(0,a.i(831709).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);a.s(["Bot",0,b],971382)},111013,a=>{"use strict";var b=a.i(572131),c=a.i(50944),d=a.i(870630);function e(){}let f=a=>[...a].sort((a,b)=>b.createdAt-a.createdAt);a.s(["useThreadState",0,function(a){let g=(0,c.useSearchParams)(),h=(a||g.get("thread")||"").trim()||null,i=(0,b.useRef)(!0),[j,k]=(0,b.useState)([]),[l,m]=(0,b.useState)(null),[n,o]=(0,b.useState)(!0),[p,q]=(0,b.useState)(!0),[r,s]=(0,b.useState)(!1),[t,u]=(0,b.useState)(null),[v,w]=(0,b.useState)(null),x=(0,b.useRef)(!1),y=(0,b.useCallback)(a=>{m(a)},[]);(0,b.useEffect)(()=>(i.current=!0,()=>{i.current=!1}),[]),(0,b.useEffect)(()=>{let a=!1;return(async()=>{try{var b;let c,g=await d.threadService.listThreads();if(h&&!g.some(a=>a.id===h)){let a=await d.threadService.createThread({id:h});g=f([...g.filter(b=>b.id!==a.id),a])}if(a||!i.current)return;k(g);let j=h||null,{threadId:l,shouldClearSavedId:n,restoredFromStorage:o}=(b=g,c=b[0]?.id??null,j?b.some(a=>a.id===j)?{threadId:j,shouldClearSavedId:!1,restoredFromStorage:!0}:{threadId:c,shouldClearSavedId:!0,restoredFromStorage:!1}:{threadId:c,shouldClearSavedId:!1,restoredFromStorage:!1});n&&e(),x.current||(x.current=!0),o&&l?y(l):l?m(a=>a??l):m(null)}catch(a){console.error("Failed to load threads",a)}finally{i.current&&(o(!1),q(!1))}})(),()=>{a=!0}},[h,y]),(0,b.useEffect)(()=>{x.current&&(l||e())},[l]);let z=(0,b.useCallback)(async a=>{s(!0);try{let b=await d.threadService.createThread(a);if(!i.current)return b;return k(a=>f([...a.filter(a=>a.id!==b.id),b])),m(b.id),b}catch(a){throw console.error("Failed to create thread",a),a}finally{i.current&&s(!1)}},[]),A=(0,b.useCallback)(async a=>{if(a){u(a);try{if(await d.threadService.deleteThread(a),!i.current)return;let b=[];k(c=>b=f(c.filter(b=>b.id!==a))),m(c=>c===a?b[0]?.id??null:c)}catch(a){throw console.error("Failed to delete thread",a),a}finally{i.current&&u(null)}}},[]),B=(0,b.useCallback)(async(a,b)=>{let c=a.trim(),e=b.trim();if(c&&e){w(c);try{let a=await d.threadService.renameThread(c,e);if(!a||!i.current)return;k(b=>f(b.map(b=>b.id===a.id?a:b)))}catch(a){throw console.error("Failed to rename thread",a),a}finally{i.current&&w(a=>a===c?null:a)}}},[]),C=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.saveThreadMessages(a,b);if(!c||!i.current)return;k(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread messages",a)}},[]),D=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.updateThreadStatus(a,b);if(!c||!i.current)return;k(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread status",a)}},[]),E=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.updateThreadOutcomeNote(a,b);if(!c||!i.current)return;k(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread outcome note",a)}},[]),F=(0,b.useCallback)(async(a,b,c)=>{if(a&&b)try{let e=await d.threadService.updateMessageThreadStatus(a,b,c);if(!e||!i.current)return;k(a=>f(a.map(a=>a.id===e.id?e:a)))}catch(a){console.error("Failed to update message thread status",a)}},[]),G=(0,b.useCallback)(async(a,b,c)=>{if(a&&b)try{let e=await d.threadService.updateMessageOutcomeNote(a,b,c);if(!e||!i.current)return;k(a=>f(a.map(a=>a.id===e.id?e:a)))}catch(a){console.error("Failed to update message outcome note",a)}},[]),H=null!==l&&t===l;return{threads:j,activeThreadId:l,selectThread:y,createThread:z,deleteThread:A,isLoading:n,isRestoringActiveThread:p,isCreating:r,deletingThreadId:t,renamingThreadId:v,isDeletingActiveThread:H,updateThreadMessages:C,renameThread:B,updateThreadStatus:D,updateThreadOutcomeNote:E,updateMessageThreadStatus:F,updateMessageOutcomeNote:G}}],111013)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=apps_local_0eh.4j7._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[517259,562428,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);a.s(["Cpu",0,c],517259);let d=(0,b.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);a.s(["Box",0,d],562428)},328400,a=>{"use strict";let b=(0,a.i(831709).default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);a.s(["BookOpen",0,b],328400)},89613,a=>{"use strict";let b=(0,a.i(831709).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",0,b],89613)},8e4,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(824179),e=a.i(252197),f=a.i(517259),g=a.i(562428),h=a.i(328400),i=a.i(724938),j=a.i(353532),k=a.i(89613),l=a.i(811760),m=a.i(804632),n=a.i(627421),o=a.i(86466);a.i(749741),a.i(449140),a.i(214512);var p=a.i(766412);function q(a,b=32,c){let d=`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${encodeURIComponent(a)}&size=${b}`;if(!c)return d;let e=c.replace("#","");return`${d}&backgroundColor=${e}`}let r=["claude","ollama","gemini","codex","zai"];function s(a){return(a??[]).map(a=>a.condition?.trim()?`${a.file} | ${a.condition}`:a.file).join("\n")}function t(a){return a.split("\n").map(a=>a.trim()).filter(Boolean).map(a=>{let[b,...c]=a.split("|");return{file:b.trim(),condition:c.join("|").trim()}}).filter(a=>a.file.length>0)}function u(a,b){return JSON.stringify({name:a.name,...a.roleId?{roleId:a.roleId}:{},...a.title?{title:a.title}:{},provider:a.provider,model:a.model,identity:a.identity,color:a.color??"#6B7280",skills:a.skills??[],skillBindings:a.skillBindings??[],...b?{projectIds:b}:{}},null,2)}a.s(["AgentForm",0,function({title:a,initial:v,submitLabel:w,onSubmit:x,onCancel:y,projects:z,initialProjectIds:A,agentId:B,projectMemberships:C,onAddToProject:D,onRemoveFromProject:E,roleOptions:F,roleLabel:G="Role",onRolePresetChange:H}){let[I,J]=(0,c.useState)(v.name),[K,L]=(0,c.useState)(v.roleId??""),[M,N]=(0,c.useState)(v.title??""),[O,P]=(0,c.useState)(v.provider),[Q,R]=(0,c.useState)(v.model),[S,T]=(0,c.useState)(v.identity),[U,V]=(0,c.useState)(v.color??"#6B7280"),[W,X]=(0,c.useState)(s(v.skills)),[Y,Z]=(0,c.useState)(new Set(A??[])),[$,_]=(0,c.useState)("form"),[aa,ab]=(0,c.useState)(()=>u(v,z?A??[]:void 0)),[ac,ad]=(0,c.useState)(null),[ae,af]=(0,c.useState)(!1),[ag,ah]=(0,c.useState)([]),[ai,aj]=(0,c.useState)(""),[ak,al]=(0,c.useState)(!1),[am,an]=(0,c.useState)(v.skillBindings??[]),ao=(0,c.useRef)(null),ap=(0,c.useRef)(null),aq=!!(F&&F.length>0),ar=B||I.trim()||v.name||"agent";(0,c.useEffect)(()=>{let a=a=>{ap.current&&!ap.current.contains(a.target)&&y()},b=setTimeout(()=>document.addEventListener("mousedown",a),0);return()=>{clearTimeout(b),document.removeEventListener("mousedown",a)}},[ap,y]),(0,c.useEffect)(()=>{if(!ak)return;let a=a=>{ao.current&&!ao.current.contains(a.target)&&al(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[ak]),(0,c.useEffect)(()=>{"form"===$&&ab(u({name:I,...aq&&K?{roleId:K}:{},title:M,provider:O,model:Q,identity:S,color:U,skills:t(W),skillBindings:am},z?Array.from(Y):void 0))},[$,I,K,aq,M,O,Q,S,U,W,am,Y,z]),(0,c.useEffect)(()=>{if(!ae)return;let a=window.setTimeout(()=>af(!1),1200);return()=>window.clearTimeout(a)},[ae]),(0,c.useEffect)(()=>{let a=!1;return async function(){try{let b=await fetch("/api/skills");if(!b.ok)return;let c=await b.json();if(a)return;let d=Array.isArray(c.skills)?c.skills.filter(a=>!!a&&"object"==typeof a).map(a=>({skillId:String(a.skillId??"").trim(),repo:String(a.repo??"").trim(),name:String(a.name??a.skillId??"").trim()})).filter(a=>a.skillId.length>0&&a.repo.length>0):[];ah(d)}catch{a||ah([])}}(),()=>{a=!0}},[]);let as=(a,b)=>{let c=z?(b??[]).filter(a=>z.some(b=>b.id===a)):void 0;return J(a.name),L(a.roleId??""),N(a.title??""),P(a.provider),R(a.model),T(a.identity),V(a.color??"#6B7280"),X(s(a.skills)),an(a.skillBindings??[]),z&&Z(new Set(c??[])),ab(u(a,z?c??[]:void 0)),ad(null),c},at=a=>{let b=function(a,b){let c;try{c=JSON.parse(a)}catch{throw Error("JSON is invalid.")}if(!c||"object"!=typeof c||Array.isArray(c))throw Error("JSON must be an object.");let d=c,e="string"==typeof d.provider?d.provider:b,f=r.includes(e)?e:b,g=(Array.isArray(d.skills)?d.skills:[]).flatMap(a=>{if("string"==typeof a){let[b,...c]=a.split("|"),d=b.trim();return d?[{file:d,condition:c.join("|").trim()}]:[]}if(!a||"object"!=typeof a||Array.isArray(a))return[];let b="string"==typeof a.file?a.file.trim():"";return b?[{file:b,condition:"string"==typeof a.condition?a.condition.trim():""}]:[]}),h=Array.isArray(d.projectIds)?d.projectIds.filter(a=>"string"==typeof a&&a.trim().length>0):void 0,i=(Array.isArray(d.skillBindings)?d.skillBindings:[]).flatMap(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return[];let b="string"==typeof a.repo?a.repo.trim():"",c="string"==typeof a.skillId?a.skillId.trim():"";return b&&c?[{repo:b,skillId:c,condition:"string"==typeof a.condition?a.condition.trim():""}]:[]});return{data:{name:"string"==typeof d.name?d.name:"",roleId:"string"==typeof d.roleId?d.roleId:void 0,title:"string"==typeof d.title?d.title:"",provider:f,model:"string"==typeof d.model?d.model:"",identity:"string"==typeof d.identity?d.identity:"",color:"string"==typeof d.color&&d.color.trim()?d.color:"#6B7280",skills:g,skillBindings:i},projectIds:h}}(a,O),c=as(b.data,b.projectIds);return{...b,projectIds:c}},au=()=>{if("form"!==$)try{at(aa),_("form")}catch(a){ad(a instanceof Error?a.message:"Unable to parse JSON.")}},av=async()=>{try{await navigator.clipboard.writeText(aa),af(!0)}catch{af(!1)}},aw=(0,c.useMemo)(()=>{let a=ai.trim().toLowerCase();return a?ag.filter(b=>[b.name,b.skillId,b.repo].some(b=>b.toLowerCase().includes(a))).slice(0,50):ag.slice(0,50)},[ag,ai]),ax=(0,c.useMemo)(()=>new Set(am.map(a=>`${a.repo}::${a.skillId}`)),[am]);return(0,b.jsx)("div",{ref:ap,className:"fixed inset-0 z-[100] flex items-center justify-center p-4 bg-black/30 backdrop-blur-sm",onKeyDown:a=>{"Escape"===a.key&&y()},children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-[32px] shadow-2xl overflow-hidden w-full max-w-2xl max-h-[90vh] flex flex-col animate-in fade-in zoom-in duration-300",children:[(0,b.jsxs)("div",{className:"px-8 pt-8 pb-4 shrink-0 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-col items-center gap-1.5",children:[(0,b.jsx)("img",{src:q(ar,64,U),alt:I,className:"w-14 h-14 rounded-full bg-[var(--muted)]"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-[10px] text-[var(--muted-foreground)]",children:"Color"}),(0,b.jsx)("input",{type:"color",value:U,onChange:a=>V(a.target.value),className:"w-5 h-5 rounded border border-[var(--border)] cursor-pointer p-0"})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-[10px] font-bold tracking-widest text-[var(--muted-foreground)] uppercase",children:a}),(0,b.jsx)("h1",{className:"text-2xl font-semibold mt-1",children:I||"Configure Agent"})]})]}),(0,b.jsx)("button",{onClick:y,className:"p-2 text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] hover:bg-[var(--muted)] rounded-full transition-all",children:(0,b.jsx)(d.X,{size:20})})]}),(0,b.jsxs)("div",{className:"px-8 pb-8 space-y-6 overflow-y-auto",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"inline-flex rounded-xl bg-[var(--muted)] p-1",children:[(0,b.jsx)("button",{type:"button",onClick:au,className:"form"===$?"px-3 py-1.5 text-xs font-semibold rounded-lg bg-[var(--card-bg)] text-[var(--foreground)] shadow-sm":"px-3 py-1.5 text-xs font-semibold rounded-lg text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:"Form"}),(0,b.jsx)("button",{type:"button",onClick:()=>{ab(u({name:I,...aq&&K?{roleId:K}:{},title:M,provider:O,model:Q,identity:S,color:U,skills:t(W),skillBindings:am},z?Array.from(Y):void 0)),ad(null),_("json")},className:"json"===$?"px-3 py-1.5 text-xs font-semibold rounded-lg bg-[var(--card-bg)] text-[var(--foreground)] shadow-sm":"px-3 py-1.5 text-xs font-semibold rounded-lg text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:"JSON"})]}),"json"===$&&(0,b.jsxs)("button",{type:"button",onClick:av,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] rounded-lg transition-colors",children:[ae?(0,b.jsx)(n.Check,{size:14,className:"text-emerald-500"}):(0,b.jsx)(m.Copy,{size:14}),ae?"Copied":"Copy"]})]}),"form"===$?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(e.User,{size:16})," Name"]}),(0,b.jsx)("input",{type:"text",value:I,onChange:a=>J(a.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all",placeholder:"e.g. Ada, Kai, Sage...",autoFocus:!0})]}),aq?(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:G}),(0,b.jsx)(p.default,{options:F??[],value:K||null,onChange:a=>{if(!aq)return;let b={name:I,roleId:a,title:M,provider:O,model:Q,identity:S,color:U,skills:t(W),skillBindings:am},c=H?.(a,b);c?as({...c,roleId:a},z?Array.from(Y):void 0):L(a)},placeholder:"Select a role preset..."})]}):(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:"Title"}),(0,b.jsx)("input",{type:"text",value:M,onChange:a=>N(a.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all",placeholder:"e.g. VP of Engineering"})]})]}),aq&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:"Title"}),(0,b.jsx)("input",{type:"text",value:M,onChange:a=>N(a.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all",placeholder:"e.g. VP of Engineering"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(g.Box,{size:16})," Provider"]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("select",{value:O,onChange:a=>P(a.target.value),className:"w-full appearance-none px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all pr-10 cursor-pointer",children:[(0,b.jsx)("option",{value:"claude",children:"Claude"}),(0,b.jsx)("option",{value:"ollama",children:"Ollama"}),(0,b.jsx)("option",{value:"gemini",children:"Gemini"}),(0,b.jsx)("option",{value:"codex",children:"Codex"}),(0,b.jsx)("option",{value:"zai",children:"Z.AI"})]}),(0,b.jsx)(l.ChevronDown,{className:"absolute right-3 top-1/2 -translate-y-1/2 text-[var(--muted-foreground)] pointer-events-none",size:16})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(f.Cpu,{size:16})," Model"]}),(0,b.jsx)("input",{type:"text",value:Q,onChange:a=>R(a.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all font-mono text-sm",placeholder:"e.g. claude-sonnet-4-6"})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(h.BookOpen,{size:16})," Identity"]}),(0,b.jsx)("div",{className:"border border-[var(--border)] rounded-xl overflow-hidden bg-[var(--app-shell-subtle)] focus-within:ring-2 focus-within:ring-indigo-500/20 focus-within:border-indigo-500 transition-all",children:(0,b.jsx)(o.default,{content:S,onChange:a=>T(a),placeholder:"You are a ..."})}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Identity defines who the agent is. Keep portable knowledge separate below; project and repo knowledge belong on their scoped surfaces."})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(i.Sparkles,{size:16})," Portable Knowledge"]}),(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--border)] bg-[var(--app-shell-subtle)] p-3 space-y-3",children:[(0,b.jsx)("div",{className:"flex items-center justify-between gap-3",children:(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs font-semibold text-[var(--foreground)]",children:"Skills Picker"}),(0,b.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)]",children:"Pick a skill here. AGX will install it later only if the run actually needs it."})]})}),ag.length>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"relative",ref:ao,children:[(0,b.jsxs)("button",{type:"button",onClick:()=>al(a=>!a),className:"w-full flex items-center justify-between px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--card-bg)] text-sm font-medium hover:border-indigo-500",children:[(0,b.jsx)("span",{className:"truncate text-left",children:"Search and add skills"}),(0,b.jsx)(l.ChevronDown,{size:16,className:`shrink-0 text-[var(--muted-foreground)] transition-transform ${ak?"rotate-180":""}`})]}),ak&&(0,b.jsxs)("div",{className:"absolute left-0 right-0 top-full mt-2 z-30 rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg overflow-hidden",children:[(0,b.jsx)("div",{className:"p-2 border-b border-[var(--border)]",children:(0,b.jsx)("input",{type:"text",value:ai,onChange:a=>aj(a.target.value),placeholder:"Search skills",className:"w-full px-3 py-2 bg-[var(--card-bg)] border border-[var(--border)] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500",autoFocus:!0})}),(0,b.jsx)("div",{className:"max-h-64 overflow-y-auto",children:aw.length>0?aw.map(a=>{let c=`${a.repo}::${a.skillId}`,d=ax.has(c);return(0,b.jsx)("button",{type:"button",className:`w-full px-3 py-2 text-left text-sm transition-colors ${d?"bg-emerald-50 text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:a=>a.preventDefault(),onClick:()=>{var b,c;return b=a.repo,c=a.skillId,void(an(a=>a.some(a=>a.repo===b&&a.skillId===c)?a.filter(a=>a.repo!==b||a.skillId!==c):[...a,{repo:b,skillId:c}]),aj(""))},children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"font-medium",children:a.name||a.skillId}),(0,b.jsx)("div",{className:"text-[11px] text-[var(--muted-foreground)]",children:a.repo})]}),d&&(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-emerald-100 px-2 py-0.5 text-[10px] font-semibold text-emerald-700",children:"Added"})]})},c)}):(0,b.jsx)("div",{className:"px-3 py-3 text-sm text-[var(--muted-foreground)]",children:"No matching skills."})})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[am.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-emerald-50 text-emerald-700 border border-emerald-200 px-2.5 py-1 text-[11px] font-medium",children:[a.skillId,(0,b.jsx)("button",{type:"button",onClick:()=>{var b,c;return b=a.repo,c=a.skillId,void an(a=>a.filter(a=>a.repo!==b||a.skillId!==c))},className:"text-emerald-700/70 hover:text-emerald-900",title:`Remove ${a.skillId}`,children:(0,b.jsx)(d.X,{size:12})})]},`${a.repo}::${a.skillId}`)),0===am.length&&(0,b.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:"No library skills selected yet."})]})]}):(0,b.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)]",children:"No catalog skills available right now."})]}),(0,b.jsx)("textarea",{value:W,onChange:a=>X(a.target.value),rows:5,className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all font-mono text-xs",placeholder:"one/path/to/skill.md\npath/to/skill.md | when coding in TypeScript"}),(0,b.jsxs)("p",{className:"text-xs text-[var(--muted-foreground)]",children:["Portable agent knowledge only. One reference per line. Use ",(0,b.jsx)("code",{children:"|"})," to add an optional condition."]})]}),z&&z.length>0&&(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(k.FolderOpen,{size:16})," Assign To Projects"]}),(0,b.jsx)("div",{className:"space-y-1 max-h-[160px] overflow-y-auto",children:z.map(a=>{let c=Y.has(a.id);return(0,b.jsxs)("button",{type:"button",className:c?"w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors bg-indigo-50 text-indigo-700":"w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]",onClick:()=>Z(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c}),children:[(0,b.jsx)("div",{className:c?"w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center bg-indigo-600 border-indigo-600":"w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center border-[var(--border)]",children:c&&(0,b.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,b.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,b.jsx)("span",{className:"text-xs font-medium text-left",children:a.label??a.name})]},a.id)})})]}),C&&(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(k.FolderOpen,{size:16})," Project Memberships"]}),C.current.length>0?(0,b.jsx)("div",{className:"flex flex-col gap-1",children:C.current.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs bg-[var(--app-shell-subtle)] rounded-lg px-3 py-2",children:[(0,b.jsx)(k.FolderOpen,{size:12,className:"text-[var(--muted-foreground)] shrink-0"}),(0,b.jsx)("span",{className:"truncate flex-1",children:a.name}),E&&!a.is_default&&(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-red-500 transition-colors",onClick:()=>E(a.id),title:"Remove from project",children:(0,b.jsx)(d.X,{size:12})})]},a.id))}):(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] italic",children:"Not assigned to any projects"}),C.available.length>0&&D&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1",children:C.available.map(a=>(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 text-[10px] px-2 py-1 rounded-lg border border-dashed border-[var(--border)] text-[var(--muted-foreground)] hover:border-[var(--border)] hover:text-[var(--foreground)] transition-colors",onClick:()=>D(a.id),children:[(0,b.jsx)(j.Plus,{size:10}),a.name]},a.id))})]})]}):(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Paste agent JSON here. Switching back to Form or saving will apply valid JSON to the form state."}),(0,b.jsx)("button",{type:"button",onClick:au,className:"px-3 py-1.5 text-xs font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] rounded-lg transition-colors",children:"Apply to Form"})]}),(0,b.jsx)("textarea",{value:aa,onChange:a=>{ab(a.target.value),ac&&ad(null)},rows:22,className:"w-full px-4 py-3 bg-[var(--app-shell-bg)] text-[var(--foreground)] border border-[var(--app-shell-border)] rounded-2xl focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:border-[var(--primary)] transition-all font-mono text-xs",spellCheck:!1,autoFocus:!0}),ac&&(0,b.jsx)("p",{className:"text-xs text-red-500",children:ac})]}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-3 pt-4 border-t border-[var(--border)]",children:[(0,b.jsx)("button",{onClick:y,className:"px-6 py-2.5 text-sm font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] rounded-xl transition-all",children:"Cancel"}),(0,b.jsx)("button",{onClick:()=>{let a=I.trim(),b=K,c=M.trim(),d=O,e=Q.trim(),f=S.trim(),g=U,h=t(W),i=am,j=z?Array.from(Y):void 0;if("json"===$)try{let k=at(aa);a=k.data.name.trim(),b=k.data.roleId??"",c=(k.data.title??"").trim(),d=k.data.provider,e=k.data.model.trim(),f=k.data.identity.trim(),g=k.data.color??"#6B7280",h=k.data.skills??[],i=k.data.skillBindings??[],j=z?k.projectIds??[]:void 0}catch(a){ad(a instanceof Error?a.message:"Unable to parse JSON.");return}a&&e&&x({name:a,...aq&&b?{roleId:b}:{},title:c||void 0,provider:d,model:e,identity:f,color:g,skills:h,skillBindings:i},j)},disabled:"form"===$&&(!I.trim()||!Q.trim()),className:"px-8 py-2.5 bg-indigo-600 text-white text-sm font-semibold rounded-xl shadow-[0_4px_12px_rgba(79,70,229,0.3)] hover:bg-indigo-700 active:scale-95 disabled:opacity-50 transition-all font-bold",children:w})]})]})]})})},"agentAvatarUrl",0,q])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=apps_local_0qaowqy._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[328400,a=>{"use strict";let b=(0,a.i(831709).default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);a.s(["BookOpen",0,b],328400)},517259,562428,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);a.s(["Cpu",0,c],517259);let d=(0,b.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);a.s(["Box",0,d],562428)},89613,a=>{"use strict";let b=(0,a.i(831709).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",0,b],89613)},8e4,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(824179),e=a.i(252197),f=a.i(517259),g=a.i(562428),h=a.i(328400),i=a.i(724938),j=a.i(353532),k=a.i(89613),l=a.i(811760),m=a.i(804632),n=a.i(627421),o=a.i(86466);a.i(749741),a.i(449140),a.i(214512);var p=a.i(766412);function q(a,b=32,c){let d=`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${encodeURIComponent(a)}&size=${b}`;if(!c)return d;let e=c.replace("#","");return`${d}&backgroundColor=${e}`}let r=["claude","ollama","gemini","codex","zai"];function s(a){return(a??[]).map(a=>a.condition?.trim()?`${a.file} | ${a.condition}`:a.file).join("\n")}function t(a){return a.split("\n").map(a=>a.trim()).filter(Boolean).map(a=>{let[b,...c]=a.split("|");return{file:b.trim(),condition:c.join("|").trim()}}).filter(a=>a.file.length>0)}function u(a,b){return JSON.stringify({name:a.name,...a.roleId?{roleId:a.roleId}:{},...a.title?{title:a.title}:{},provider:a.provider,model:a.model,identity:a.identity,color:a.color??"#6B7280",skills:a.skills??[],skillBindings:a.skillBindings??[],...b?{projectIds:b}:{}},null,2)}a.s(["AgentForm",0,function({title:a,initial:v,submitLabel:w,onSubmit:x,onCancel:y,projects:z,initialProjectIds:A,agentId:B,projectMemberships:C,onAddToProject:D,onRemoveFromProject:E,roleOptions:F,roleLabel:G="Role",onRolePresetChange:H}){let[I,J]=(0,c.useState)(v.name),[K,L]=(0,c.useState)(v.roleId??""),[M,N]=(0,c.useState)(v.title??""),[O,P]=(0,c.useState)(v.provider),[Q,R]=(0,c.useState)(v.model),[S,T]=(0,c.useState)(v.identity),[U,V]=(0,c.useState)(v.color??"#6B7280"),[W,X]=(0,c.useState)(s(v.skills)),[Y,Z]=(0,c.useState)(new Set(A??[])),[$,_]=(0,c.useState)("form"),[aa,ab]=(0,c.useState)(()=>u(v,z?A??[]:void 0)),[ac,ad]=(0,c.useState)(null),[ae,af]=(0,c.useState)(!1),[ag,ah]=(0,c.useState)([]),[ai,aj]=(0,c.useState)(""),[ak,al]=(0,c.useState)(!1),[am,an]=(0,c.useState)(v.skillBindings??[]),ao=(0,c.useRef)(null),ap=(0,c.useRef)(null),aq=!!(F&&F.length>0),ar=B||I.trim()||v.name||"agent";(0,c.useEffect)(()=>{let a=a=>{ap.current&&!ap.current.contains(a.target)&&y()},b=setTimeout(()=>document.addEventListener("mousedown",a),0);return()=>{clearTimeout(b),document.removeEventListener("mousedown",a)}},[ap,y]),(0,c.useEffect)(()=>{if(!ak)return;let a=a=>{ao.current&&!ao.current.contains(a.target)&&al(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[ak]),(0,c.useEffect)(()=>{"form"===$&&ab(u({name:I,...aq&&K?{roleId:K}:{},title:M,provider:O,model:Q,identity:S,color:U,skills:t(W),skillBindings:am},z?Array.from(Y):void 0))},[$,I,K,aq,M,O,Q,S,U,W,am,Y,z]),(0,c.useEffect)(()=>{if(!ae)return;let a=window.setTimeout(()=>af(!1),1200);return()=>window.clearTimeout(a)},[ae]),(0,c.useEffect)(()=>{let a=!1;return async function(){try{let b=await fetch("/api/skills");if(!b.ok)return;let c=await b.json();if(a)return;let d=Array.isArray(c.skills)?c.skills.filter(a=>!!a&&"object"==typeof a).map(a=>({skillId:String(a.skillId??"").trim(),repo:String(a.repo??"").trim(),name:String(a.name??a.skillId??"").trim()})).filter(a=>a.skillId.length>0&&a.repo.length>0):[];ah(d)}catch{a||ah([])}}(),()=>{a=!0}},[]);let as=(a,b)=>{let c=z?(b??[]).filter(a=>z.some(b=>b.id===a)):void 0;return J(a.name),L(a.roleId??""),N(a.title??""),P(a.provider),R(a.model),T(a.identity),V(a.color??"#6B7280"),X(s(a.skills)),an(a.skillBindings??[]),z&&Z(new Set(c??[])),ab(u(a,z?c??[]:void 0)),ad(null),c},at=a=>{let b=function(a,b){let c;try{c=JSON.parse(a)}catch{throw Error("JSON is invalid.")}if(!c||"object"!=typeof c||Array.isArray(c))throw Error("JSON must be an object.");let d=c,e="string"==typeof d.provider?d.provider:b,f=r.includes(e)?e:b,g=(Array.isArray(d.skills)?d.skills:[]).flatMap(a=>{if("string"==typeof a){let[b,...c]=a.split("|"),d=b.trim();return d?[{file:d,condition:c.join("|").trim()}]:[]}if(!a||"object"!=typeof a||Array.isArray(a))return[];let b="string"==typeof a.file?a.file.trim():"";return b?[{file:b,condition:"string"==typeof a.condition?a.condition.trim():""}]:[]}),h=Array.isArray(d.projectIds)?d.projectIds.filter(a=>"string"==typeof a&&a.trim().length>0):void 0,i=(Array.isArray(d.skillBindings)?d.skillBindings:[]).flatMap(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return[];let b="string"==typeof a.repo?a.repo.trim():"",c="string"==typeof a.skillId?a.skillId.trim():"";return b&&c?[{repo:b,skillId:c,condition:"string"==typeof a.condition?a.condition.trim():""}]:[]});return{data:{name:"string"==typeof d.name?d.name:"",roleId:"string"==typeof d.roleId?d.roleId:void 0,title:"string"==typeof d.title?d.title:"",provider:f,model:"string"==typeof d.model?d.model:"",identity:"string"==typeof d.identity?d.identity:"",color:"string"==typeof d.color&&d.color.trim()?d.color:"#6B7280",skills:g,skillBindings:i},projectIds:h}}(a,O),c=as(b.data,b.projectIds);return{...b,projectIds:c}},au=()=>{if("form"!==$)try{at(aa),_("form")}catch(a){ad(a instanceof Error?a.message:"Unable to parse JSON.")}},av=async()=>{try{await navigator.clipboard.writeText(aa),af(!0)}catch{af(!1)}},aw=(0,c.useMemo)(()=>{let a=ai.trim().toLowerCase();return a?ag.filter(b=>[b.name,b.skillId,b.repo].some(b=>b.toLowerCase().includes(a))).slice(0,50):ag.slice(0,50)},[ag,ai]),ax=(0,c.useMemo)(()=>new Set(am.map(a=>`${a.repo}::${a.skillId}`)),[am]);return(0,b.jsx)("div",{ref:ap,className:"fixed inset-0 z-[100] flex items-center justify-center p-4 bg-black/30 backdrop-blur-sm",onKeyDown:a=>{"Escape"===a.key&&y()},children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-[32px] shadow-2xl overflow-hidden w-full max-w-2xl max-h-[90vh] flex flex-col animate-in fade-in zoom-in duration-300",children:[(0,b.jsxs)("div",{className:"px-8 pt-8 pb-4 shrink-0 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-col items-center gap-1.5",children:[(0,b.jsx)("img",{src:q(ar,64,U),alt:I,className:"w-14 h-14 rounded-full bg-[var(--muted)]"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-[10px] text-[var(--muted-foreground)]",children:"Color"}),(0,b.jsx)("input",{type:"color",value:U,onChange:a=>V(a.target.value),className:"w-5 h-5 rounded border border-[var(--border)] cursor-pointer p-0"})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-[10px] font-bold tracking-widest text-[var(--muted-foreground)] uppercase",children:a}),(0,b.jsx)("h1",{className:"text-2xl font-semibold mt-1",children:I||"Configure Agent"})]})]}),(0,b.jsx)("button",{onClick:y,className:"p-2 text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] hover:bg-[var(--muted)] rounded-full transition-all",children:(0,b.jsx)(d.X,{size:20})})]}),(0,b.jsxs)("div",{className:"px-8 pb-8 space-y-6 overflow-y-auto",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"inline-flex rounded-xl bg-[var(--muted)] p-1",children:[(0,b.jsx)("button",{type:"button",onClick:au,className:"form"===$?"px-3 py-1.5 text-xs font-semibold rounded-lg bg-[var(--card-bg)] text-[var(--foreground)] shadow-sm":"px-3 py-1.5 text-xs font-semibold rounded-lg text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:"Form"}),(0,b.jsx)("button",{type:"button",onClick:()=>{ab(u({name:I,...aq&&K?{roleId:K}:{},title:M,provider:O,model:Q,identity:S,color:U,skills:t(W),skillBindings:am},z?Array.from(Y):void 0)),ad(null),_("json")},className:"json"===$?"px-3 py-1.5 text-xs font-semibold rounded-lg bg-[var(--card-bg)] text-[var(--foreground)] shadow-sm":"px-3 py-1.5 text-xs font-semibold rounded-lg text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:"JSON"})]}),"json"===$&&(0,b.jsxs)("button",{type:"button",onClick:av,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] rounded-lg transition-colors",children:[ae?(0,b.jsx)(n.Check,{size:14,className:"text-emerald-500"}):(0,b.jsx)(m.Copy,{size:14}),ae?"Copied":"Copy"]})]}),"form"===$?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(e.User,{size:16})," Name"]}),(0,b.jsx)("input",{type:"text",value:I,onChange:a=>J(a.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all",placeholder:"e.g. Ada, Kai, Sage...",autoFocus:!0})]}),aq?(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:G}),(0,b.jsx)(p.default,{options:F??[],value:K||null,onChange:a=>{if(!aq)return;let b={name:I,roleId:a,title:M,provider:O,model:Q,identity:S,color:U,skills:t(W),skillBindings:am},c=H?.(a,b);c?as({...c,roleId:a},z?Array.from(Y):void 0):L(a)},placeholder:"Select a role preset..."})]}):(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:"Title"}),(0,b.jsx)("input",{type:"text",value:M,onChange:a=>N(a.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all",placeholder:"e.g. VP of Engineering"})]})]}),aq&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:"Title"}),(0,b.jsx)("input",{type:"text",value:M,onChange:a=>N(a.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all",placeholder:"e.g. VP of Engineering"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(g.Box,{size:16})," Provider"]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("select",{value:O,onChange:a=>P(a.target.value),className:"w-full appearance-none px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all pr-10 cursor-pointer",children:[(0,b.jsx)("option",{value:"claude",children:"Claude"}),(0,b.jsx)("option",{value:"ollama",children:"Ollama"}),(0,b.jsx)("option",{value:"gemini",children:"Gemini"}),(0,b.jsx)("option",{value:"codex",children:"Codex"}),(0,b.jsx)("option",{value:"zai",children:"Z.AI"})]}),(0,b.jsx)(l.ChevronDown,{className:"absolute right-3 top-1/2 -translate-y-1/2 text-[var(--muted-foreground)] pointer-events-none",size:16})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(f.Cpu,{size:16})," Model"]}),(0,b.jsx)("input",{type:"text",value:Q,onChange:a=>R(a.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all font-mono text-sm",placeholder:"e.g. claude-sonnet-4-6"})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(h.BookOpen,{size:16})," Identity"]}),(0,b.jsx)("div",{className:"border border-[var(--border)] rounded-xl overflow-hidden bg-[var(--app-shell-subtle)] focus-within:ring-2 focus-within:ring-indigo-500/20 focus-within:border-indigo-500 transition-all",children:(0,b.jsx)(o.default,{content:S,onChange:a=>T(a),placeholder:"You are a ..."})}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Identity defines who the agent is. Keep portable knowledge separate below; project and repo knowledge belong on their scoped surfaces."})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(i.Sparkles,{size:16})," Portable Knowledge"]}),(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--border)] bg-[var(--app-shell-subtle)] p-3 space-y-3",children:[(0,b.jsx)("div",{className:"flex items-center justify-between gap-3",children:(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xs font-semibold text-[var(--foreground)]",children:"Skills Picker"}),(0,b.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)]",children:"Pick a skill here. AGX will install it later only if the run actually needs it."})]})}),ag.length>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"relative",ref:ao,children:[(0,b.jsxs)("button",{type:"button",onClick:()=>al(a=>!a),className:"w-full flex items-center justify-between px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--card-bg)] text-sm font-medium hover:border-indigo-500",children:[(0,b.jsx)("span",{className:"truncate text-left",children:"Search and add skills"}),(0,b.jsx)(l.ChevronDown,{size:16,className:`shrink-0 text-[var(--muted-foreground)] transition-transform ${ak?"rotate-180":""}`})]}),ak&&(0,b.jsxs)("div",{className:"absolute left-0 right-0 top-full mt-2 z-30 rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg overflow-hidden",children:[(0,b.jsx)("div",{className:"p-2 border-b border-[var(--border)]",children:(0,b.jsx)("input",{type:"text",value:ai,onChange:a=>aj(a.target.value),placeholder:"Search skills",className:"w-full px-3 py-2 bg-[var(--card-bg)] border border-[var(--border)] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500",autoFocus:!0})}),(0,b.jsx)("div",{className:"max-h-64 overflow-y-auto",children:aw.length>0?aw.map(a=>{let c=`${a.repo}::${a.skillId}`,d=ax.has(c);return(0,b.jsx)("button",{type:"button",className:`w-full px-3 py-2 text-left text-sm transition-colors ${d?"bg-emerald-50 text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:a=>a.preventDefault(),onClick:()=>{var b,c;return b=a.repo,c=a.skillId,void(an(a=>a.some(a=>a.repo===b&&a.skillId===c)?a.filter(a=>a.repo!==b||a.skillId!==c):[...a,{repo:b,skillId:c}]),aj(""))},children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"font-medium",children:a.name||a.skillId}),(0,b.jsx)("div",{className:"text-[11px] text-[var(--muted-foreground)]",children:a.repo})]}),d&&(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-emerald-100 px-2 py-0.5 text-[10px] font-semibold text-emerald-700",children:"Added"})]})},c)}):(0,b.jsx)("div",{className:"px-3 py-3 text-sm text-[var(--muted-foreground)]",children:"No matching skills."})})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[am.map(a=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-emerald-50 text-emerald-700 border border-emerald-200 px-2.5 py-1 text-[11px] font-medium",children:[a.skillId,(0,b.jsx)("button",{type:"button",onClick:()=>{var b,c;return b=a.repo,c=a.skillId,void an(a=>a.filter(a=>a.repo!==b||a.skillId!==c))},className:"text-emerald-700/70 hover:text-emerald-900",title:`Remove ${a.skillId}`,children:(0,b.jsx)(d.X,{size:12})})]},`${a.repo}::${a.skillId}`)),0===am.length&&(0,b.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:"No library skills selected yet."})]})]}):(0,b.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)]",children:"No catalog skills available right now."})]}),(0,b.jsx)("textarea",{value:W,onChange:a=>X(a.target.value),rows:5,className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all font-mono text-xs",placeholder:"one/path/to/skill.md\npath/to/skill.md | when coding in TypeScript"}),(0,b.jsxs)("p",{className:"text-xs text-[var(--muted-foreground)]",children:["Portable agent knowledge only. One reference per line. Use ",(0,b.jsx)("code",{children:"|"})," to add an optional condition."]})]}),z&&z.length>0&&(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(k.FolderOpen,{size:16})," Assign To Projects"]}),(0,b.jsx)("div",{className:"space-y-1 max-h-[160px] overflow-y-auto",children:z.map(a=>{let c=Y.has(a.id);return(0,b.jsxs)("button",{type:"button",className:c?"w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors bg-indigo-50 text-indigo-700":"w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]",onClick:()=>Z(b=>{let c=new Set(b);return c.has(a.id)?c.delete(a.id):c.add(a.id),c}),children:[(0,b.jsx)("div",{className:c?"w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center bg-indigo-600 border-indigo-600":"w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center border-[var(--border)]",children:c&&(0,b.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,b.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,b.jsx)("span",{className:"text-xs font-medium text-left",children:a.label??a.name})]},a.id)})})]}),C&&(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,b.jsx)(k.FolderOpen,{size:16})," Project Memberships"]}),C.current.length>0?(0,b.jsx)("div",{className:"flex flex-col gap-1",children:C.current.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs bg-[var(--app-shell-subtle)] rounded-lg px-3 py-2",children:[(0,b.jsx)(k.FolderOpen,{size:12,className:"text-[var(--muted-foreground)] shrink-0"}),(0,b.jsx)("span",{className:"truncate flex-1",children:a.name}),E&&!a.is_default&&(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-red-500 transition-colors",onClick:()=>E(a.id),title:"Remove from project",children:(0,b.jsx)(d.X,{size:12})})]},a.id))}):(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] italic",children:"Not assigned to any projects"}),C.available.length>0&&D&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1",children:C.available.map(a=>(0,b.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 text-[10px] px-2 py-1 rounded-lg border border-dashed border-[var(--border)] text-[var(--muted-foreground)] hover:border-[var(--border)] hover:text-[var(--foreground)] transition-colors",onClick:()=>D(a.id),children:[(0,b.jsx)(j.Plus,{size:10}),a.name]},a.id))})]})]}):(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Paste agent JSON here. Switching back to Form or saving will apply valid JSON to the form state."}),(0,b.jsx)("button",{type:"button",onClick:au,className:"px-3 py-1.5 text-xs font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] rounded-lg transition-colors",children:"Apply to Form"})]}),(0,b.jsx)("textarea",{value:aa,onChange:a=>{ab(a.target.value),ac&&ad(null)},rows:22,className:"w-full px-4 py-3 bg-[var(--app-shell-bg)] text-[var(--foreground)] border border-[var(--app-shell-border)] rounded-2xl focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:border-[var(--primary)] transition-all font-mono text-xs",spellCheck:!1,autoFocus:!0}),ac&&(0,b.jsx)("p",{className:"text-xs text-red-500",children:ac})]}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-3 pt-4 border-t border-[var(--border)]",children:[(0,b.jsx)("button",{onClick:y,className:"px-6 py-2.5 text-sm font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] rounded-xl transition-all",children:"Cancel"}),(0,b.jsx)("button",{onClick:()=>{let a=I.trim(),b=K,c=M.trim(),d=O,e=Q.trim(),f=S.trim(),g=U,h=t(W),i=am,j=z?Array.from(Y):void 0;if("json"===$)try{let k=at(aa);a=k.data.name.trim(),b=k.data.roleId??"",c=(k.data.title??"").trim(),d=k.data.provider,e=k.data.model.trim(),f=k.data.identity.trim(),g=k.data.color??"#6B7280",h=k.data.skills??[],i=k.data.skillBindings??[],j=z?k.projectIds??[]:void 0}catch(a){ad(a instanceof Error?a.message:"Unable to parse JSON.");return}a&&e&&x({name:a,...aq&&b?{roleId:b}:{},title:c||void 0,provider:d,model:e,identity:f,color:g,skills:h,skillBindings:i},j)},disabled:"form"===$&&(!I.trim()||!Q.trim()),className:"px-8 py-2.5 bg-indigo-600 text-white text-sm font-semibold rounded-xl shadow-[0_4px_12px_rgba(79,70,229,0.3)] hover:bg-indigo-700 active:scale-95 disabled:opacity-50 transition-all font-bold",children:w})]})]})]})})},"agentAvatarUrl",0,q])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=apps_local_0s0iy2_._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[667597,a=>{"use strict";let b=(0,a.i(831709).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",0,b],667597)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,b],820859)},697183,a=>{"use strict";let b=(0,a.i(831709).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",0,b],697183)},736868,a=>{"use strict";let b=(0,a.i(831709).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",0,b],736868)},654340,a=>{"use strict";let b=(0,a.i(831709).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",0,b],654340)},549429,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",0,b],549429)},675665,a=>{"use strict";var b=a.i(572131);a.s(["useLinearConnection",0,function(){let[a,c]=(0,b.useState)(!1),[d,e]=(0,b.useState)(!0),[f,g]=(0,b.useState)(null),[h,i]=(0,b.useState)({claude:!1,codex:!1,gemini:!1}),[j,k]=(0,b.useState)({}),l=(0,b.useRef)(null),m=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/linear/mcp-setup"),b=await a.json();k(b.configured??{})}catch{}},[]),n=(0,b.useCallback)(async()=>{try{let[a,b]=await Promise.all([fetch("/api/linear/status"),fetch("/api/linear/mcp-setup")]),d=await a.json(),e=await b.json();return c(d.connected),g(d.user??null),i(d.clis??{claude:!1,codex:!1,gemini:!1}),k(e.configured??{}),d.connected}catch{return c(!1),!1}finally{e(!1)}},[]);(0,b.useEffect)(()=>(n(),()=>{l.current&&clearInterval(l.current)}),[n]);let o=(0,b.useCallback)(()=>{window.open("/api/linear/auth","_blank","noopener"),l.current&&clearInterval(l.current),l.current=setInterval(async()=>{await n()&&l.current&&(clearInterval(l.current),l.current=null)},2e3)},[n]),p=(0,b.useCallback)(async a=>{try{let b=await fetch("/api/linear/token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to save token"}}return await n(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[n]);return{connected:a,loading:d,user:f,clis:h,mcpConfigured:j,connect:o,connectWithKey:p,disconnect:(0,b.useCallback)(async()=>{await fetch("/api/linear/status",{method:"DELETE"}),c(!1),g(null)},[]),configureMcp:(0,b.useCallback)(async a=>{try{let b=await fetch("/api/linear/mcp-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to configure MCP"}}return await m(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[m]),refresh:n}}])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=apps_local_0zr-_na._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[599086,a=>{"use strict";let b=(0,a.i(831709).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",0,b],599086)},697183,a=>{"use strict";let b=(0,a.i(831709).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",0,b],697183)},736868,a=>{"use strict";let b=(0,a.i(831709).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",0,b],736868)},340492,a=>{"use strict";let b=(0,a.i(831709).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",0,b],340492)},262403,a=>{"use strict";let b=(0,a.i(831709).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);a.s(["Upload",0,b],262403)},137061,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(736868),f=a.i(340492),g=a.i(262403),h=a.i(697183),i=a.i(599086),j=a.i(353532);function k({project:a,onUpdate:l,onDelete:m}){let n=(0,d.useRouter)(),[o,p]=(0,c.useState)(a.name),[q,r]=(0,c.useState)(a.description??""),[s,t]=(0,c.useState)(null),u=(0,c.useCallback)(async(b,c)=>{let d=c.trim();if(("name"!==b||d)&&("name"!==b||d!==a.name)&&("description"!==b||d!==(a.description??"")))try{await l(a.id,{[b]:d}),t("Saved"),setTimeout(()=>t(null),2e3)}catch{t("Failed to save"),setTimeout(()=>t(null),3e3)}},[l,a.id,a.name,a.description]),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(""),[z,A]=(0,c.useState)(""),[B,C]=(0,c.useState)(null),D=(0,c.useCallback)(async b=>{try{await l(a.id,{repos:b}),C("Saved"),setTimeout(()=>C(null),2e3)}catch{C("Failed to save"),setTimeout(()=>C(null),3e3)}},[l,a.id]),E=(0,c.useCallback)(async()=>{let b=x.trim(),c=z.trim();if(!b||!c)return;let d=(a.repos??[]).map(a=>({id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes}));await D([...d,{name:b,path:c}]),y(""),A(""),w(!1)},[x,z,a.repos,D]),F=(0,c.useCallback)(async b=>{let c=(a.repos??[]).filter(a=>a.id!==b).map(a=>({id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes}));await D(c)},[a.repos,D]),G=(0,c.useRef)(null),[H,I]=(0,c.useState)(null),J=(0,c.useCallback)(()=>{window.open(`/api/projects/${a.id}/teams/export`,"_blank")},[a.id]),K=(0,c.useCallback)(async b=>{let c=b.target.files?.[0];if(c){try{let b=await c.text(),d=await fetch(`/api/projects/${a.id}/teams/import`,{method:"POST",headers:{"Content-Type":"application/x-yaml"},body:b});if(d.ok)I("Import successful");else{let a=await d.json().catch(()=>({}));I(`Import failed: ${a.error||d.statusText}`)}}catch{I("Import failed")}G.current&&(G.current.value=""),setTimeout(()=>I(null),4e3)}},[a.id]),[L,M]=(0,c.useState)(!1),[N,O]=(0,c.useState)(!1),P=(0,c.useCallback)(async()=>{O(!0);try{await m(a.id),n.push("/")}catch{O(!1),M(!1)}},[m,a.id,n]);return(0,b.jsx)("div",{className:"h-full overflow-y-auto",children:(0,b.jsxs)("div",{className:"max-w-2xl mx-auto px-6 py-8 space-y-8",children:[(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-800 bg-zinc-900/50 p-6 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-zinc-800 pb-3",children:[(0,b.jsx)("h2",{className:"text-sm font-bold uppercase tracking-widest text-zinc-400",children:"Project Info"}),s&&(0,b.jsx)("span",{className:"text-xs text-zinc-500",children:s})]}),(0,b.jsxs)("label",{className:"block space-y-1.5",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-zinc-500",children:"Name"}),(0,b.jsx)("input",{value:o,onChange:a=>p(a.target.value),onBlur:()=>u("name",o),className:"input w-full",placeholder:"Project name"})]}),(0,b.jsxs)("label",{className:"block space-y-1.5",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-zinc-500",children:"Description"}),(0,b.jsx)("textarea",{value:q,onChange:a=>r(a.target.value),onBlur:()=>u("description",q),className:"input w-full h-24 resize-none",placeholder:"What is this project about?"})]})]}),(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-800 bg-zinc-900/50 p-6 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-zinc-800 pb-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(e.FolderGit2,{className:"w-4 h-4 text-zinc-400"}),(0,b.jsx)("h2",{className:"text-sm font-bold uppercase tracking-widest text-zinc-400",children:"Folders"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[B&&(0,b.jsx)("span",{className:"text-xs text-zinc-500",children:B}),(0,b.jsxs)("button",{onClick:()=>w(!0),className:"text-xs font-semibold text-blue-400 hover:text-blue-300 flex items-center gap-1",children:[(0,b.jsx)(j.Plus,{className:"w-3 h-3"}),"Add Folder"]})]})]}),0===(a.repos??[]).length&&!v&&(0,b.jsx)("p",{className:"text-sm text-zinc-500",children:"No folders linked to this project."}),(0,b.jsx)("div",{className:"space-y-2",children:(a.repos??[]).map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-zinc-800 bg-zinc-900/30 px-4 py-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-sm font-medium text-zinc-200 truncate",children:a.name}),(0,b.jsx)("div",{className:"text-xs text-zinc-500 truncate",children:a.path||a.git_url||"No path set"})]}),(0,b.jsx)("button",{onClick:()=>F(a.id),className:"ml-3 p-1.5 rounded-lg text-zinc-600 hover:text-red-400 hover:bg-zinc-800 transition-colors flex-shrink-0",title:"Remove repository",children:(0,b.jsx)(h.Trash2,{className:"w-4 h-4"})})]},a.id))}),v&&(0,b.jsxs)("div",{className:"rounded-xl border border-zinc-700 bg-zinc-800/50 p-4 space-y-3",children:[(0,b.jsx)("input",{value:x,onChange:a=>y(a.target.value),className:"input w-full text-sm",placeholder:"Folder name",autoFocus:!0}),(0,b.jsx)("input",{value:z,onChange:a=>A(a.target.value),className:"input w-full text-sm",placeholder:"Local path (e.g. /Users/you/projects/repo)"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("button",{onClick:E,disabled:!x.trim()||!z.trim(),className:"btn-primary px-4 py-1.5 text-sm disabled:opacity-40",children:"Save"}),(0,b.jsx)("button",{onClick:()=>{w(!1),y(""),A("")},className:"px-4 py-1.5 text-sm text-zinc-400 hover:text-zinc-200",children:"Cancel"})]})]})]}),(0,b.jsxs)("section",{className:"rounded-2xl border border-zinc-800 bg-zinc-900/50 p-6 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-zinc-800 pb-3",children:[(0,b.jsx)("h2",{className:"text-sm font-bold uppercase tracking-widest text-zinc-400",children:"Team Config"}),H&&(0,b.jsx)("span",{className:"text-xs text-zinc-500",children:H})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsxs)("button",{onClick:J,className:"flex items-center gap-2 px-4 py-2 rounded-xl border border-zinc-700 bg-zinc-800/50 hover:bg-zinc-800 transition-colors text-sm text-zinc-300",children:[(0,b.jsx)(f.Download,{className:"w-4 h-4"}),"Export YAML"]}),(0,b.jsxs)("label",{className:"flex items-center gap-2 px-4 py-2 rounded-xl border border-zinc-700 bg-zinc-800/50 hover:bg-zinc-800 transition-colors text-sm text-zinc-300 cursor-pointer",children:[(0,b.jsx)(g.Upload,{className:"w-4 h-4"}),"Import YAML",(0,b.jsx)("input",{ref:G,type:"file",accept:".yaml,.yml",onChange:K,className:"hidden"})]})]})]}),(0,b.jsxs)("section",{className:"rounded-2xl border border-red-900/50 bg-zinc-900/50 p-6 space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b border-red-900/30 pb-3",children:[(0,b.jsx)(i.AlertTriangle,{className:"w-4 h-4 text-red-500"}),(0,b.jsx)("h2",{className:"text-sm font-bold uppercase tracking-widest text-red-400",children:"Danger Zone"})]}),(0,b.jsx)("p",{className:"text-sm text-zinc-400",children:"Deleting this project will remove all associated data including folders, agent assignments, and threads."}),L?(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("button",{onClick:P,disabled:N,className:"flex items-center gap-2 px-4 py-2 rounded-xl bg-red-600 hover:bg-red-700 transition-colors text-sm text-white font-medium disabled:opacity-50",children:N?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Deleting..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.Trash2,{className:"w-4 h-4"}),"Confirm Delete"]})}),(0,b.jsx)("button",{onClick:()=>M(!1),className:"px-4 py-2 text-sm text-zinc-400 hover:text-zinc-200",children:"Cancel"})]}):(0,b.jsxs)("button",{onClick:()=>M(!0),className:"flex items-center gap-2 px-4 py-2 rounded-xl border border-red-900/50 bg-red-950/30 hover:bg-red-950/50 transition-colors text-sm text-red-400",children:[(0,b.jsx)(h.Trash2,{className:"w-4 h-4"}),"Delete Project"]})]})]})})}var l=a.i(830284);a.s(["default",0,function({params:a}){let{slug:d}=(0,c.use)(a),{projects:e,updateProject:f,deleteProject:g}=(0,l.useProjectsWithAgents)(),h=e.find(a=>a.slug===d);return h?(0,b.jsx)(k,{project:h,onUpdate:f,onDelete:g}):(0,b.jsx)("div",{className:"flex items-center justify-center h-full text-sm text-zinc-500",children:"Loading..."})}],137061)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=apps_local_10qsqky._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,837958,e=>{"use strict";let t=(0,e.i(363732).default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);e.s(["BookOpen",0,t],837958)},812549,871920,e=>{"use strict";var t=e.i(363732);let r=(0,t.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);e.s(["Cpu",0,r],812549);let s=(0,t.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);e.s(["Box",0,s],871920)},884564,e=>{"use strict";var t=e.i(843476),r=e.i(271645),s=e.i(797167),l=e.i(169610),o=e.i(812549),i=e.i(871920),a=e.i(837958),n=e.i(519132),d=e.i(929870),c=e.i(538292),u=e.i(498027),m=e.i(19035),x=e.i(529471),p=e.i(40527);e.i(477183),e.i(76590),e.i(807311);var f=e.i(378764);function g(e,t=32,r){let s=`https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${encodeURIComponent(e)}&size=${t}`;if(!r)return s;let l=r.replace("#","");return`${s}&backgroundColor=${l}`}let h=["claude","ollama","gemini","codex","zai"];function v(e){return(e??[]).map(e=>e.condition?.trim()?`${e.file} | ${e.condition}`:e.file).join("\n")}function b(e){return e.split("\n").map(e=>e.trim()).filter(Boolean).map(e=>{let[t,...r]=e.split("|");return{file:t.trim(),condition:r.join("|").trim()}}).filter(e=>e.file.length>0)}function y(e,t){return JSON.stringify({name:e.name,...e.roleId?{roleId:e.roleId}:{},...e.title?{title:e.title}:{},provider:e.provider,model:e.model,identity:e.identity,color:e.color??"#6B7280",skills:e.skills??[],skillBindings:e.skillBindings??[],...t?{projectIds:t}:{}},null,2)}e.s(["AgentForm",0,function({title:e,initial:j,submitLabel:k,onSubmit:N,onCancel:w,projects:C,initialProjectIds:S,agentId:I,projectMemberships:A,onAddToProject:z,onRemoveFromProject:M,roleOptions:B,roleLabel:O="Role",onRolePresetChange:E}){let[$,P]=(0,r.useState)(j.name),[T,F]=(0,r.useState)(j.roleId??""),[J,L]=(0,r.useState)(j.title??""),[R,U]=(0,r.useState)(j.provider),[K,D]=(0,r.useState)(j.model),[V,X]=(0,r.useState)(j.identity),[_,q]=(0,r.useState)(j.color??"#6B7280"),[G,Z]=(0,r.useState)(v(j.skills)),[W,Y]=(0,r.useState)(new Set(S??[])),[H,Q]=(0,r.useState)("form"),[ee,et]=(0,r.useState)(()=>y(j,C?S??[]:void 0)),[er,es]=(0,r.useState)(null),[el,eo]=(0,r.useState)(!1),[ei,ea]=(0,r.useState)([]),[en,ed]=(0,r.useState)(""),[ec,eu]=(0,r.useState)(!1),[em,ex]=(0,r.useState)(j.skillBindings??[]),ep=(0,r.useRef)(null),ef=(0,r.useRef)(null),eg=!!(B&&B.length>0),eh=I||$.trim()||j.name||"agent";(0,r.useEffect)(()=>{let e=e=>{ef.current&&!ef.current.contains(e.target)&&w()},t=setTimeout(()=>document.addEventListener("mousedown",e),0);return()=>{clearTimeout(t),document.removeEventListener("mousedown",e)}},[ef,w]),(0,r.useEffect)(()=>{if(!ec)return;let e=e=>{ep.current&&!ep.current.contains(e.target)&&eu(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[ec]),(0,r.useEffect)(()=>{"form"===H&&et(y({name:$,...eg&&T?{roleId:T}:{},title:J,provider:R,model:K,identity:V,color:_,skills:b(G),skillBindings:em},C?Array.from(W):void 0))},[H,$,T,eg,J,R,K,V,_,G,em,W,C]),(0,r.useEffect)(()=>{if(!el)return;let e=window.setTimeout(()=>eo(!1),1200);return()=>window.clearTimeout(e)},[el]),(0,r.useEffect)(()=>{let e=!1;return async function(){try{let t=await fetch("/api/skills");if(!t.ok)return;let r=await t.json();if(e)return;let s=Array.isArray(r.skills)?r.skills.filter(e=>!!e&&"object"==typeof e).map(e=>({skillId:String(e.skillId??"").trim(),repo:String(e.repo??"").trim(),name:String(e.name??e.skillId??"").trim()})).filter(e=>e.skillId.length>0&&e.repo.length>0):[];ea(s)}catch{e||ea([])}}(),()=>{e=!0}},[]);let ev=(e,t)=>{let r=C?(t??[]).filter(e=>C.some(t=>t.id===e)):void 0;return P(e.name),F(e.roleId??""),L(e.title??""),U(e.provider),D(e.model),X(e.identity),q(e.color??"#6B7280"),Z(v(e.skills)),ex(e.skillBindings??[]),C&&Y(new Set(r??[])),et(y(e,C?r??[]:void 0)),es(null),r},eb=e=>{let t=function(e,t){let r;try{r=JSON.parse(e)}catch{throw Error("JSON is invalid.")}if(!r||"object"!=typeof r||Array.isArray(r))throw Error("JSON must be an object.");let s=r,l="string"==typeof s.provider?s.provider:t,o=h.includes(l)?l:t,i=(Array.isArray(s.skills)?s.skills:[]).flatMap(e=>{if("string"==typeof e){let[t,...r]=e.split("|"),s=t.trim();return s?[{file:s,condition:r.join("|").trim()}]:[]}if(!e||"object"!=typeof e||Array.isArray(e))return[];let t="string"==typeof e.file?e.file.trim():"";return t?[{file:t,condition:"string"==typeof e.condition?e.condition.trim():""}]:[]}),a=Array.isArray(s.projectIds)?s.projectIds.filter(e=>"string"==typeof e&&e.trim().length>0):void 0,n=(Array.isArray(s.skillBindings)?s.skillBindings:[]).flatMap(e=>{if(!e||"object"!=typeof e||Array.isArray(e))return[];let t="string"==typeof e.repo?e.repo.trim():"",r="string"==typeof e.skillId?e.skillId.trim():"";return t&&r?[{repo:t,skillId:r,condition:"string"==typeof e.condition?e.condition.trim():""}]:[]});return{data:{name:"string"==typeof s.name?s.name:"",roleId:"string"==typeof s.roleId?s.roleId:void 0,title:"string"==typeof s.title?s.title:"",provider:o,model:"string"==typeof s.model?s.model:"",identity:"string"==typeof s.identity?s.identity:"",color:"string"==typeof s.color&&s.color.trim()?s.color:"#6B7280",skills:i,skillBindings:n},projectIds:a}}(e,R),r=ev(t.data,t.projectIds);return{...t,projectIds:r}},ey=()=>{if("form"!==H)try{eb(ee),Q("form")}catch(e){es(e instanceof Error?e.message:"Unable to parse JSON.")}},ej=async()=>{try{await navigator.clipboard.writeText(ee),eo(!0)}catch{eo(!1)}},ek=(0,r.useMemo)(()=>{let e=en.trim().toLowerCase();return e?ei.filter(t=>[t.name,t.skillId,t.repo].some(t=>t.toLowerCase().includes(e))).slice(0,50):ei.slice(0,50)},[ei,en]),eN=(0,r.useMemo)(()=>new Set(em.map(e=>`${e.repo}::${e.skillId}`)),[em]);return(0,t.jsx)("div",{ref:ef,className:"fixed inset-0 z-[100] flex items-center justify-center p-4 bg-black/30 backdrop-blur-sm",onKeyDown:e=>{"Escape"===e.key&&w()},children:(0,t.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-[32px] shadow-2xl overflow-hidden w-full max-w-2xl max-h-[90vh] flex flex-col animate-in fade-in zoom-in duration-300",children:[(0,t.jsxs)("div",{className:"px-8 pt-8 pb-4 shrink-0 flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center gap-1.5",children:[(0,t.jsx)("img",{src:g(eh,64,_),alt:$,className:"w-14 h-14 rounded-full bg-[var(--muted)]"}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("label",{className:"text-[10px] text-[var(--muted-foreground)]",children:"Color"}),(0,t.jsx)("input",{type:"color",value:_,onChange:e=>q(e.target.value),className:"w-5 h-5 rounded border border-[var(--border)] cursor-pointer p-0"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-[10px] font-bold tracking-widest text-[var(--muted-foreground)] uppercase",children:e}),(0,t.jsx)("h1",{className:"text-2xl font-semibold mt-1",children:$||"Configure Agent"})]})]}),(0,t.jsx)("button",{onClick:w,className:"p-2 text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)] hover:bg-[var(--muted)] rounded-full transition-all",children:(0,t.jsx)(s.X,{size:20})})]}),(0,t.jsxs)("div",{className:"px-8 pb-8 space-y-6 overflow-y-auto",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"inline-flex rounded-xl bg-[var(--muted)] p-1",children:[(0,t.jsx)("button",{type:"button",onClick:ey,className:"form"===H?"px-3 py-1.5 text-xs font-semibold rounded-lg bg-[var(--card-bg)] text-[var(--foreground)] shadow-sm":"px-3 py-1.5 text-xs font-semibold rounded-lg text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:"Form"}),(0,t.jsx)("button",{type:"button",onClick:()=>{et(y({name:$,...eg&&T?{roleId:T}:{},title:J,provider:R,model:K,identity:V,color:_,skills:b(G),skillBindings:em},C?Array.from(W):void 0)),es(null),Q("json")},className:"json"===H?"px-3 py-1.5 text-xs font-semibold rounded-lg bg-[var(--card-bg)] text-[var(--foreground)] shadow-sm":"px-3 py-1.5 text-xs font-semibold rounded-lg text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:"JSON"})]}),"json"===H&&(0,t.jsxs)("button",{type:"button",onClick:ej,className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] rounded-lg transition-colors",children:[el?(0,t.jsx)(x.Check,{size:14,className:"text-emerald-500"}):(0,t.jsx)(m.Copy,{size:14}),el?"Copied":"Copy"]})]}),"form"===H?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,t.jsx)(l.User,{size:16})," Name"]}),(0,t.jsx)("input",{type:"text",value:$,onChange:e=>P(e.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all",placeholder:"e.g. Ada, Kai, Sage...",autoFocus:!0})]}),eg?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:O}),(0,t.jsx)(f.default,{options:B??[],value:T||null,onChange:e=>{if(!eg)return;let t={name:$,roleId:e,title:J,provider:R,model:K,identity:V,color:_,skills:b(G),skillBindings:em},r=E?.(e,t);r?ev({...r,roleId:e},C?Array.from(W):void 0):F(e)},placeholder:"Select a role preset..."})]}):(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:"Title"}),(0,t.jsx)("input",{type:"text",value:J,onChange:e=>L(e.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all",placeholder:"e.g. VP of Engineering"})]})]}),eg&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:"Title"}),(0,t.jsx)("input",{type:"text",value:J,onChange:e=>L(e.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all",placeholder:"e.g. VP of Engineering"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,t.jsx)(i.Box,{size:16})," Provider"]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("select",{value:R,onChange:e=>U(e.target.value),className:"w-full appearance-none px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all pr-10 cursor-pointer",children:[(0,t.jsx)("option",{value:"claude",children:"Claude"}),(0,t.jsx)("option",{value:"ollama",children:"Ollama"}),(0,t.jsx)("option",{value:"gemini",children:"Gemini"}),(0,t.jsx)("option",{value:"codex",children:"Codex"}),(0,t.jsx)("option",{value:"zai",children:"Z.AI"})]}),(0,t.jsx)(u.ChevronDown,{className:"absolute right-3 top-1/2 -translate-y-1/2 text-[var(--muted-foreground)] pointer-events-none",size:16})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,t.jsx)(o.Cpu,{size:16})," Model"]}),(0,t.jsx)("input",{type:"text",value:K,onChange:e=>D(e.target.value),className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all font-mono text-sm",placeholder:"e.g. claude-sonnet-4-6"})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,t.jsx)(a.BookOpen,{size:16})," Identity"]}),(0,t.jsx)("div",{className:"border border-[var(--border)] rounded-xl overflow-hidden bg-[var(--app-shell-subtle)] focus-within:ring-2 focus-within:ring-indigo-500/20 focus-within:border-indigo-500 transition-all",children:(0,t.jsx)(p.default,{content:V,onChange:e=>X(e),placeholder:"You are a ..."})}),(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Identity defines who the agent is. Keep portable knowledge separate below; project and repo knowledge belong on their scoped surfaces."})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,t.jsx)(n.Sparkles,{size:16})," Portable Knowledge"]}),(0,t.jsxs)("div",{className:"rounded-xl border border-[var(--border)] bg-[var(--app-shell-subtle)] p-3 space-y-3",children:[(0,t.jsx)("div",{className:"flex items-center justify-between gap-3",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-semibold text-[var(--foreground)]",children:"Skills Picker"}),(0,t.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)]",children:"Pick a skill here. AGX will install it later only if the run actually needs it."})]})}),ei.length>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"relative",ref:ep,children:[(0,t.jsxs)("button",{type:"button",onClick:()=>eu(e=>!e),className:"w-full flex items-center justify-between px-3 py-2 rounded-xl border border-[var(--border)] bg-[var(--card-bg)] text-sm font-medium hover:border-indigo-500",children:[(0,t.jsx)("span",{className:"truncate text-left",children:"Search and add skills"}),(0,t.jsx)(u.ChevronDown,{size:16,className:`shrink-0 text-[var(--muted-foreground)] transition-transform ${ec?"rotate-180":""}`})]}),ec&&(0,t.jsxs)("div",{className:"absolute left-0 right-0 top-full mt-2 z-30 rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] shadow-lg overflow-hidden",children:[(0,t.jsx)("div",{className:"p-2 border-b border-[var(--border)]",children:(0,t.jsx)("input",{type:"text",value:en,onChange:e=>ed(e.target.value),placeholder:"Search skills",className:"w-full px-3 py-2 bg-[var(--card-bg)] border border-[var(--border)] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500",autoFocus:!0})}),(0,t.jsx)("div",{className:"max-h-64 overflow-y-auto",children:ek.length>0?ek.map(e=>{let r=`${e.repo}::${e.skillId}`,s=eN.has(r);return(0,t.jsx)("button",{type:"button",className:`w-full px-3 py-2 text-left text-sm transition-colors ${s?"bg-emerald-50 text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onMouseDown:e=>e.preventDefault(),onClick:()=>{var t,r;return t=e.repo,r=e.skillId,void(ex(e=>e.some(e=>e.repo===t&&e.skillId===r)?e.filter(e=>e.repo!==t||e.skillId!==r):[...e,{repo:t,skillId:r}]),ed(""))},children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"font-medium",children:e.name||e.skillId}),(0,t.jsx)("div",{className:"text-[11px] text-[var(--muted-foreground)]",children:e.repo})]}),s&&(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-emerald-100 px-2 py-0.5 text-[10px] font-semibold text-emerald-700",children:"Added"})]})},r)}):(0,t.jsx)("div",{className:"px-3 py-3 text-sm text-[var(--muted-foreground)]",children:"No matching skills."})})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[em.map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-emerald-50 text-emerald-700 border border-emerald-200 px-2.5 py-1 text-[11px] font-medium",children:[e.skillId,(0,t.jsx)("button",{type:"button",onClick:()=>{var t,r;return t=e.repo,r=e.skillId,void ex(e=>e.filter(e=>e.repo!==t||e.skillId!==r))},className:"text-emerald-700/70 hover:text-emerald-900",title:`Remove ${e.skillId}`,children:(0,t.jsx)(s.X,{size:12})})]},`${e.repo}::${e.skillId}`)),0===em.length&&(0,t.jsx)("span",{className:"text-[11px] text-[var(--muted-foreground)]",children:"No library skills selected yet."})]})]}):(0,t.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)]",children:"No catalog skills available right now."})]}),(0,t.jsx)("textarea",{value:G,onChange:e=>Z(e.target.value),rows:5,className:"w-full px-4 py-3 bg-[var(--app-shell-subtle)] border border-[var(--border)] rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all font-mono text-xs",placeholder:"one/path/to/skill.md\npath/to/skill.md | when coding in TypeScript"}),(0,t.jsxs)("p",{className:"text-xs text-[var(--muted-foreground)]",children:["Portable agent knowledge only. One reference per line. Use ",(0,t.jsx)("code",{children:"|"})," to add an optional condition."]})]}),C&&C.length>0&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,t.jsx)(c.FolderOpen,{size:16})," Assign To Projects"]}),(0,t.jsx)("div",{className:"space-y-1 max-h-[160px] overflow-y-auto",children:C.map(e=>{let r=W.has(e.id);return(0,t.jsxs)("button",{type:"button",className:r?"w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors bg-indigo-50 text-indigo-700":"w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors text-[var(--muted-foreground)] hover:bg-[var(--app-shell-subtle)]",onClick:()=>Y(t=>{let r=new Set(t);return r.has(e.id)?r.delete(e.id):r.add(e.id),r}),children:[(0,t.jsx)("div",{className:r?"w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center bg-indigo-600 border-indigo-600":"w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center border-[var(--border)]",children:r&&(0,t.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",children:(0,t.jsx)("path",{d:"M2 5l2 2 4-4",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("span",{className:"text-xs font-medium text-left",children:e.label??e.name})]},e.id)})})]}),A&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm font-medium text-[var(--muted-foreground)]",children:[(0,t.jsx)(c.FolderOpen,{size:16})," Project Memberships"]}),A.current.length>0?(0,t.jsx)("div",{className:"flex flex-col gap-1",children:A.current.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs bg-[var(--app-shell-subtle)] rounded-lg px-3 py-2",children:[(0,t.jsx)(c.FolderOpen,{size:12,className:"text-[var(--muted-foreground)] shrink-0"}),(0,t.jsx)("span",{className:"truncate flex-1",children:e.name}),M&&!e.is_default&&(0,t.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-red-500 transition-colors",onClick:()=>M(e.id),title:"Remove from project",children:(0,t.jsx)(s.X,{size:12})})]},e.id))}):(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] italic",children:"Not assigned to any projects"}),A.available.length>0&&z&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:A.available.map(e=>(0,t.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 text-[10px] px-2 py-1 rounded-lg border border-dashed border-[var(--border)] text-[var(--muted-foreground)] hover:border-[var(--border)] hover:text-[var(--foreground)] transition-colors",onClick:()=>z(e.id),children:[(0,t.jsx)(d.Plus,{size:10}),e.name]},e.id))})]})]}):(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Paste agent JSON here. Switching back to Form or saving will apply valid JSON to the form state."}),(0,t.jsx)("button",{type:"button",onClick:ey,className:"px-3 py-1.5 text-xs font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)] rounded-lg transition-colors",children:"Apply to Form"})]}),(0,t.jsx)("textarea",{value:ee,onChange:e=>{et(e.target.value),er&&es(null)},rows:22,className:"w-full px-4 py-3 bg-[var(--app-shell-bg)] text-[var(--foreground)] border border-[var(--app-shell-border)] rounded-2xl focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:border-[var(--primary)] transition-all font-mono text-xs",spellCheck:!1,autoFocus:!0}),er&&(0,t.jsx)("p",{className:"text-xs text-red-500",children:er})]}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-3 pt-4 border-t border-[var(--border)]",children:[(0,t.jsx)("button",{onClick:w,className:"px-6 py-2.5 text-sm font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] rounded-xl transition-all",children:"Cancel"}),(0,t.jsx)("button",{onClick:()=>{let e=$.trim(),t=T,r=J.trim(),s=R,l=K.trim(),o=V.trim(),i=_,a=b(G),n=em,d=C?Array.from(W):void 0;if("json"===H)try{let c=eb(ee);e=c.data.name.trim(),t=c.data.roleId??"",r=(c.data.title??"").trim(),s=c.data.provider,l=c.data.model.trim(),o=c.data.identity.trim(),i=c.data.color??"#6B7280",a=c.data.skills??[],n=c.data.skillBindings??[],d=C?c.projectIds??[]:void 0}catch(e){es(e instanceof Error?e.message:"Unable to parse JSON.");return}e&&l&&N({name:e,...eg&&t?{roleId:t}:{},title:r||void 0,provider:s,model:l,identity:o,color:i,skills:a,skillBindings:n},d)},disabled:"form"===H&&(!$.trim()||!K.trim()),className:"px-8 py-2.5 bg-indigo-600 text-white text-sm font-semibold rounded-xl shadow-[0_4px_12px_rgba(79,70,229,0.3)] hover:bg-indigo-700 active:scale-95 disabled:opacity-50 transition-all font-bold",children:k})]})]})]})})},"agentAvatarUrl",0,g])}]);
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,741746,e=>{"use strict";let t=(0,e.i(363732).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",0,t],741746)},794731,e=>{"use strict";let t=(0,e.i(363732).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],794731)},196630,e=>{"use strict";let t=(0,e.i(363732).default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);e.s(["FolderGit2",0,t],196630)},580873,e=>{"use strict";let t=(0,e.i(363732).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",0,t],580873)},203096,e=>{"use strict";let t=(0,e.i(363732).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],203096)},423709,e=>{"use strict";e.s(["stripMarkers",0,function(e){return e.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}])},990933,e=>{"use strict";function t(e){if("string"==typeof e)return e.trim()||void 0}e.s(["extractComposerRouting",0,function(e,r){let a=new Set,n=new Set;!function e(t,r){if(t)for(let a of t)r(a),e(a.content,r)}(e.content,e=>{if("participantMention"!==e.type)return;let t=e.attrs??{},r="string"==typeof t.id?t.id.trim():"",s="string"==typeof t.kind?t.kind:"agent";r&&"agent"===s&&(a.add(r),"parallel"===t.mode&&n.add(r))});let s=t(r);return{...s?{pinnedParticipantId:s}:{},mentionedParticipantIds:Array.from(a),parallelParticipantIds:Array.from(n)}},"orderParticipantIds",0,function(e,r){let a=function(e){if(!Array.isArray(e))return[];let t=new Set,r=[];for(let a of e){if("string"!=typeof a)continue;let e=a.trim();!e||t.has(e)||(t.add(e),r.push(e))}return r}(e),n=t(r);return n&&a.includes(n)?[n,...a.filter(e=>e!==n)]:a}])},66386,e=>{"use strict";var t=e.i(271645),r=e.i(618566);function a(e){return"string"!=typeof e?null:e.trim()||null}function n(e,t){return(e.get(t)?.trim()??"")||null}e.s(["useUrlSelection",0,function(){let e=(0,r.useRouter)(),s=(0,r.usePathname)(),i=(0,r.useSearchParams)(),l=(0,t.useCallback)(e=>n(i,e),[i]),c=(0,t.useCallback)((e,t)=>(function(e,t,r){let s=function(e,t){let r={...t},s=e=>Object.prototype.hasOwnProperty.call(t,e);if(s("issue")&&!s("run")){let s=n(e,"issue");a(t.issue)!==s&&(r.run=null)}if(s("job")&&!s("run")){let s=n(e,"job");a(t.job)!==s&&(r.run=null)}if(s("open")&&!s("message")){let s=n(e,"open");a(t.open)!==s&&(r.message=null)}return r}(t,r),i=new URLSearchParams(t.toString());for(let[e,t]of Object.entries(s)){let r=a(t);r?i.set(e,r):i.delete(e)}let l=i.toString();return l?`${e}?${l}`:e})(t??s,i,e),[s,i]),o=(0,t.useCallback)((t,r)=>{e.push(c(t,r))},[c,e]),d=(0,t.useCallback)((t,r)=>{e.replace(c(t,r))},[c,e]);return{pathname:s,searchParams:i,getSelection:l,buildHref:c,pushSelection:o,replaceSelection:d}}])},945028,490011,e=>{"use strict";var t=e.i(271645);function r(e){return`threadId=${encodeURIComponent(e)}`}function a(e){return`workspaceId=${encodeURIComponent(e)}`}e.s(["useGroupChat",0,function(e){let[n,s]=(0,t.useState)([]),[i,l]=(0,t.useState)([]),[c,o]=(0,t.useState)([]),d=(0,t.useRef)(e),u=(0,t.useRef)(e);d.current=e,u.current!==e&&(u.current=e,s([]),l([]),o([]));let p=(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();if(!t){s([]),l([]);return}let n=r(t);try{let[e,r]=await Promise.all([fetch(`/api/history?${n}`),fetch(`/api/logs?${a(t)}`)]);if(d.current!==t)return;e.ok&&s(await e.json()),r.ok&&l(await r.json())}catch{}},[]),m=(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();if(!t){s([]),l([]);return}let n=r(t);await Promise.all([fetch(`/api/history?${n}`,{method:"DELETE"}),fetch(`/api/logs?${a(t)}`,{method:"DELETE"})]),d.current===t&&(s([]),l([]))},[]),h=(0,t.useCallback)(async(e,t=10,r,a,n,i,l,c,u,p)=>{let m=r?.trim()||d.current?.trim();if(!m)return;let h=Date.now(),f=crypto.randomUUID(),y={id:f,role:"user",participantId:null,content:e,timestamp:h,rootMessageId:a||null,parentMessageId:a||null,depth:+!!a,...i&&i.length>0?{attachments:i}:{}};s(e=>[...e,y]);try{let r=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:m,prompt:e,promptPrefix:u||void 0,maxRounds:t,userMessageId:f,rootMessageId:a||void 0,attachmentIds:n?.length?n:void 0,activeParticipantIds:Array.isArray(l)?l:void 0,projectSlug:c?.trim()||void 0,routing:p})}),i=await r.json().catch(e=>(console.warn("[useGroupChat] failed to parse run response:",e),null));r.ok&&i?.chatRunId?o(e=>[{chatRunId:i.chatRunId,threadId:m,rootMessageId:a||f,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...e.filter(e=>e.chatRunId!==i.chatRunId)]):r.ok||(console.error(`[useGroupChat] POST /api/chat failed (${r.status}):`,i?.error||r.statusText),s(e=>e.map(e=>e.id===f?{...e,sendFailed:!0}:e)))}catch(e){console.error("[useGroupChat] network error sending message:",e),s(e=>e.map(e=>e.id===f?{...e,sendFailed:!0}:e))}return f},[]),f=(0,t.useCallback)(async()=>{let e=d.current?.trim();if(e)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]),y=(0,t.useCallback)(async e=>{let t=d.current?.trim();if(t)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(t)}&threadId=${encodeURIComponent(e)}`,{method:"DELETE"})}catch{}},[]);return{messages:n,setMessages:s,logs:i,sendMessage:h,loadHistory:p,clearHistory:m,clearLogs:(0,t.useCallback)(async e=>{let t=e?.trim()||d.current?.trim();t?(await fetch(`/api/logs?${a(t)}`,{method:"DELETE"}).catch(e=>console.warn("[useGroupChat] delete logs failed:",e)),d.current===t&&l([])):l([])},[]),chatRuns:c,setChatRuns:o,stop:f,stopThread:y}}],945028);let n=new Set(["spawning","running"]);e.s(["useProcessPolling",0,function(e,r){let a=r?.intervalMs??1500,s=r?.idleIntervalMs??1e4,[i,l]=(0,t.useState)(new Set),[c,o]=(0,t.useState)([]),[d,u]=(0,t.useState)({}),[p,m]=(0,t.useState)([]),h=(0,t.useRef)(e);h.current=e;let f=(0,t.useRef)(r?.messages??[]);f.current=r?.messages??[];let y=(0,t.useRef)(r?.setMessages);y.current=r?.setMessages;let g=(0,t.useRef)(0);(0,t.useEffect)(()=>{let e=r?.messages??[];if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t)}},[r?.messages]);let k=(0,t.useCallback)(async()=>{let e=h.current;if(!e){l(new Set),o([]),u({}),m([]);return}let t=null;if(e.threadId?t=`/api/processes?threadId=${encodeURIComponent(e.threadId)}`:e.workspaceId&&(t=`/api/processes?workspaceId=${encodeURIComponent(e.workspaceId)}`),!t){l(new Set),o([]),u({}),m([]);return}try{let a=e.workspaceId||e.threadId,s=a?`/api/history?threadId=${encodeURIComponent(a)}&since=${g.current}`:null,i=a?`/api/chat-runs?threadId=${encodeURIComponent(a)}&limit=20`:null,c=[fetch(t)];s&&c.push(fetch(s)),i&&c.push(fetch(i));let[d,p,k]=await Promise.all(c),x=h.current;if(x?.threadId!==e.threadId||x?.workspaceId!==e.workspaceId)return;if(d.ok){let e=await d.json();o(e);let t=new Set(e.filter(e=>n.has(e.state)).map(e=>e.agentId));l(t);let r={};for(let t of e){if(!n.has(t.state))continue;let e=f.current.find(e=>e.id===t.sinceMessageId),a=e?.rootMessageId??t.sinceMessageId;r[t.agentId]={content:"",rootMessageId:a}}u(r)}if(k?.ok){var r;let e=(r=await k.json(),Array.isArray(r)?r.map(e=>{if(!e||"object"!=typeof e)return null;let t="string"==typeof e.chatRunId?e.chatRunId:"string"==typeof e.id?e.id:null,r="string"==typeof e.threadId?e.threadId:null,a="string"==typeof e.status?e.status:null,n="string"==typeof e.rootMessageId?e.rootMessageId:(e.rootMessageId,null);return t&&r&&a&&("queued"===a||"running"===a||"awaiting_user"===a||"blocked"===a||"completed"===a||"failed"===a||"cancelled"===a)?{chatRunId:t,threadId:r,rootMessageId:n,status:a,optimistic:!1}:null}).filter(e=>!!e):[]);m(e)}if(p?.ok&&y.current){let e=await p.json();if(e.length>0){let t=Math.max(...e.map(e=>e.timestamp));t>g.current&&(g.current=t),y.current(t=>{let r=new Set(t.map(e=>e.id)),a=e.filter(e=>!r.has(e.id)),n=t.map(t=>e.find(e=>e.id===t.id)??t);return 0===a.length?n:[...n,...a].sort((e,t)=>e.timestamp-t.timestamp)})}}}catch{}},[]),x=e?.threadId||e?.workspaceId||null,v=p.some(e=>"queued"===e.status||"running"===e.status),I=c.some(e=>n.has(e.state)),w=v||I?a:s;return(0,t.useEffect)(()=>{if(!x){l(new Set),o([]),u({}),m([]);return}k();let e=setInterval(k,w);return()=>clearInterval(e)},[x,w,k]),{activeAgents:i,processes:c,streaming:d,chatRuns:p,poll:k}}],490011)},367859,e=>{"use strict";let t=(0,e.i(363732).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",0,t],367859)},958164,e=>{"use strict";let t=(0,e.i(363732).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",0,t],958164)},80673,e=>{"use strict";let t=(0,e.i(363732).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["Download",0,t],80673)},629155,e=>{"use strict";let t=(0,e.i(363732).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);e.s(["Hash",0,t],629155)},211464,e=>{"use strict";let t=(0,e.i(363732).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",0,t],211464)},437307,e=>{"use strict";let t=(0,e.i(363732).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,t],437307)},807087,e=>{"use strict";let t=(0,e.i(363732).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",0,t],807087)},493141,e=>{"use strict";let t=(0,e.i(363732).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",0,t],493141)},352687,e=>{"use strict";var t=e.i(843476),r=e.i(271645);e.s(["default",0,function({isOpen:e,title:a,message:n,preview:s,confirmLabel:i="Confirm",cancelLabel:l="Cancel",variant:c="default",onConfirm:o,onCancel:d}){let u=(0,r.useRef)(null),p=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(e){let e=setTimeout(()=>u.current?.focus(),50);return()=>clearTimeout(e)}},[e]);let m=(0,r.useCallback)(e=>{"Escape"===e.key&&d()},[d]);if(!e)return null;let h="danger"===c;return(0,t.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/50 backdrop-blur-md",style:{animation:"confirm-overlay-in 200ms ease-out"},onClick:e=>e.target===e.currentTarget&&d(),onKeyDown:m,children:[(0,t.jsxs)("div",{ref:p,className:"w-full max-w-md mx-4 bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-2xl overflow-hidden",style:{animation:"confirm-dialog-in 250ms cubic-bezier(0.34, 1.56, 0.64, 1)"},children:[(0,t.jsx)("div",{className:"px-6 pt-6 pb-3",children:(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[h&&(0,t.jsx)("div",{className:"flex-shrink-0 w-11 h-11 rounded-full bg-red-500/10 border border-red-500/20 flex items-center justify-center",children:(0,t.jsx)("svg",{className:"w-5 h-5 text-red-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"})})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("h3",{className:"text-[15px] font-semibold text-[var(--foreground)]",children:a}),(0,t.jsx)("p",{className:"mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:n})]})]})}),s&&(0,t.jsx)("div",{className:"mx-6 mb-3 px-3 py-2.5 rounded-lg bg-[var(--muted)]/40 border border-[var(--card-border)]",children:(0,t.jsxs)("p",{className:"text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",s,"”"]})}),(0,t.jsx)("div",{className:"mx-6 border-t border-[var(--card-border)]"}),(0,t.jsxs)("div",{className:"px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,t.jsx)("button",{onClick:d,className:"px-4 py-2 rounded-lg text-[13px] font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]/60 transition-all duration-150",children:l}),(0,t.jsx)("button",{ref:u,onClick:o,className:`px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${h?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:i})]})]}),(0,t.jsx)("style",{children:`
|
|
2
|
-
@keyframes confirm-overlay-in {
|
|
3
|
-
from { opacity: 0; }
|
|
4
|
-
to { opacity: 1; }
|
|
5
|
-
}
|
|
6
|
-
@keyframes confirm-dialog-in {
|
|
7
|
-
from {
|
|
8
|
-
opacity: 0;
|
|
9
|
-
transform: scale(0.9) translateY(10px);
|
|
10
|
-
}
|
|
11
|
-
to {
|
|
12
|
-
opacity: 1;
|
|
13
|
-
transform: scale(1) translateY(0);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
`})]})}])},574957,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(186552);e.s(["default",0,function({params:e}){let{slug:n,threadId:s}=(0,r.use)(e);return(0,t.jsx)(a.ChatContainer,{projectSlug:n,initialThreadId:s,showSidebar:!1})}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,196630,e=>{"use strict";let c=(0,e.i(363732).default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);e.s(["FolderGit2",0,c],196630)},741746,e=>{"use strict";let c=(0,e.i(363732).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",0,c],741746)},844118,e=>{e.n(e.i(984242))}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,640481,e=>{"use strict";let t=(0,e.i(363732).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],640481)},580873,e=>{"use strict";let t=(0,e.i(363732).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",0,t],580873)},794731,e=>{"use strict";let t=(0,e.i(363732).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],794731)},196630,e=>{"use strict";let t=(0,e.i(363732).default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);e.s(["FolderGit2",0,t],196630)},716436,e=>{"use strict";let t=(0,e.i(363732).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);e.s(["Activity",0,t],716436)},417442,e=>{"use strict";let t=(0,e.i(363732).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,t],417442)},33887,e=>{"use strict";var t=e.i(271645);e.s(["useLinearConnection",0,function(){let[e,s]=(0,t.useState)(!1),[a,n]=(0,t.useState)(!0),[i,r]=(0,t.useState)(null),[l,c]=(0,t.useState)({claude:!1,codex:!1,gemini:!1}),[d,o]=(0,t.useState)({}),u=(0,t.useRef)(null),m=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/linear/mcp-setup"),t=await e.json();o(t.configured??{})}catch{}},[]),x=(0,t.useCallback)(async()=>{try{let[e,t]=await Promise.all([fetch("/api/linear/status"),fetch("/api/linear/mcp-setup")]),a=await e.json(),n=await t.json();return s(a.connected),r(a.user??null),c(a.clis??{claude:!1,codex:!1,gemini:!1}),o(n.configured??{}),a.connected}catch{return s(!1),!1}finally{n(!1)}},[]);(0,t.useEffect)(()=>(x(),()=>{u.current&&clearInterval(u.current)}),[x]);let p=(0,t.useCallback)(()=>{window.open("/api/linear/auth","_blank","noopener"),u.current&&clearInterval(u.current),u.current=setInterval(async()=>{await x()&&u.current&&(clearInterval(u.current),u.current=null)},2e3)},[x]),h=(0,t.useCallback)(async e=>{try{let t=await fetch("/api/linear/token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:e})});if(!t.ok){let e=await t.json().catch(()=>({}));return{ok:!1,error:e.error||"Failed to save token"}}return await x(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[x]);return{connected:e,loading:a,user:i,clis:l,mcpConfigured:d,connect:p,connectWithKey:h,disconnect:(0,t.useCallback)(async()=>{await fetch("/api/linear/status",{method:"DELETE"}),s(!1),r(null)},[]),configureMcp:(0,t.useCallback)(async e=>{try{let t=await fetch("/api/linear/mcp-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:e})});if(!t.ok){let e=await t.json().catch(()=>({}));return{ok:!1,error:e.error||"Failed to configure MCP"}}return await m(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[m]),refresh:x}}])},317389,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(618566),n=e.i(716436);function i({projectSlug:e,projectThreadIds:r=[]}){let l=(0,a.useRouter)(),[c,d]=(0,s.useState)([]),[o,u]=(0,s.useState)([]),m=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/participants");if(!e.ok)return;let t=await e.json();u(Array.isArray(t)?t:t.participants??[])}catch{}},[]);(0,s.useEffect)(()=>{m()},[m]),(0,s.useEffect)(()=>{let t=!1,s=e.trim().toLowerCase(),a=new Set(r.map(e=>e.trim()).filter(Boolean)),n=async()=>{try{let e=await fetch("/api/processes?enrich=1");if(!e.ok||t)return;let n=await e.json();if(t)return;let i=n.filter(e=>"spawning"===e.state||"running"===e.state).filter(e=>{let t=e.projectSlug.trim().toLowerCase();return!!t&&t===s||a.has(e.workspaceId)||a.has(e.threadId)}).sort((e,t)=>t.lastActivity-e.lastActivity);d(i)}catch{}};n();let i=setInterval(n,3e3);return()=>{t=!0,clearInterval(i)}},[e,r]);let x=new Map(o.map(e=>[e.id,e.name])),p=e=>x.get(e)||e.slice(0,8),h=[],j=new Map;for(let e of c){let t=j.get(e.agentId);t||(t={agentId:e.agentId,agentName:p(e.agentId),activities:[]},j.set(e.agentId,t),h.push(t)),t.activities.push({key:`${e.workspaceId}-${e.threadId}-${e.agentId}`,workspaceId:e.workspaceId,threadId:e.threadId,state:e.state,threadLabel:e.threadTitle?.trim()?e.threadTitle.trim():e.threadId?.trim()?`Thread ${e.threadId.slice(0,12)}...`:"Main thread",lastActiveLabel:function(e){let t=Math.max(0,Math.floor((Date.now()-e)/1e3));if(t<5)return"Just now";if(t<60)return`${t}s ago`;let s=Math.floor(t/60);if(s<60)return`${s}m ago`;let a=Math.floor(s/60);if(a<24)return`${a}h ago`;let n=Math.floor(a/24);return`${n}d ago`}(e.lastActivity),lastActivity:e.lastActivity,linearIssueId:e.linearIssueId,linearRunId:e.linearRunId})}if(0===h.length)return null;let f=c.length;return(0,t.jsxs)("section",{className:"col-span-full rounded-2xl border border-zinc-800 bg-zinc-900/50 overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-zinc-800 px-4 py-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs uppercase tracking-[0.18em] text-zinc-500",children:[(0,t.jsx)(n.Activity,{className:"h-3.5 w-3.5"}),"Working Now"]}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-zinc-500",children:[h.length," ",1===h.length?"agent":"agents"," active across"," ",f," ",1===f?"thread":"threads","."]})]}),(0,t.jsxs)("span",{className:"rounded-full border border-emerald-700/60 bg-emerald-500/10 px-2.5 py-1 text-[10px] font-medium uppercase tracking-wider text-emerald-300",children:[f," live ",1===f?"entry":"entries"]})]}),(0,t.jsx)("div",{className:"divide-y divide-zinc-800/80",children:h.map(s=>(0,t.jsxs)("div",{className:"px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm font-medium text-zinc-100",children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full bg-emerald-400 animate-pulse"}),s.agentName]}),s.activities.length>1&&(0,t.jsxs)("span",{className:"rounded-full bg-zinc-800 px-2 py-0.5 text-[10px] text-zinc-400",children:[s.activities.length," threads"]})]}),(0,t.jsx)("div",{className:"space-y-1 ml-4",children:s.activities.map(s=>(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-lg px-2 py-1.5 -mx-2 cursor-pointer text-sm transition-colors hover:bg-zinc-800/40",onClick:()=>l.push(s.linearIssueId&&s.linearRunId?`/projects/${e}/linear?issue=${encodeURIComponent(s.linearIssueId)}&run=${encodeURIComponent(s.linearRunId)}`:`/projects/${e}/thread/${encodeURIComponent(s.workspaceId)}${s.threadId?`?open=${encodeURIComponent(s.threadId)}`:""}`),children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 shrink-0 rounded-full border border-emerald-700/60 bg-emerald-500/10 px-2 py-0.5 text-[11px] font-medium text-emerald-300",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400"}),"spawning"===s.state?"Starting":"Working"]}),(0,t.jsx)("span",{className:"text-zinc-400 truncate min-w-0 flex-1",children:s.threadLabel}),(0,t.jsx)("span",{className:"text-zinc-500 text-xs shrink-0",children:s.lastActiveLabel})]},s.key))})]},s.agentId))})]})}var r=e.i(572665),l=e.i(417442);function c({projectId:e,onViewAll:a}){let[n,i]=(0,s.useState)([]),[d,o]=(0,s.useState)(!0);return(0,s.useEffect)(()=>{fetch(`/api/projects/${e}/teams`).then(e=>e.ok?e.json():{teams:[]}).then(e=>i(e.teams??[])).catch(()=>i([])).finally(()=>o(!1))},[e]),(0,t.jsxs)("div",{className:"rounded-2xl border border-zinc-800 bg-zinc-900/50 p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Users,{className:"w-4 h-4 text-zinc-400"}),(0,t.jsx)("span",{className:"text-sm font-medium text-zinc-200",children:"Teams"}),!d&&n.length>0&&(0,t.jsx)("span",{className:"rounded-full bg-zinc-800 px-2 py-0.5 text-xs text-zinc-400",children:n.length})]}),a&&(0,t.jsxs)("button",{onClick:a,className:"flex items-center gap-1 text-xs text-zinc-500 hover:text-zinc-300",children:["View all ",(0,t.jsx)(l.ArrowRight,{className:"w-3 h-3"})]})]}),d?(0,t.jsx)("div",{className:"space-y-2",children:[1,2,3].map(e=>(0,t.jsx)("div",{className:"h-5 rounded bg-zinc-800 animate-pulse"},e))}):0===n.length?(0,t.jsx)("p",{className:"text-sm text-zinc-500",children:"No teams yet"}):(0,t.jsx)("div",{className:"space-y-2",children:n.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)(r.Users,{className:"w-4 h-4 text-zinc-500"}),(0,t.jsx)("span",{className:"text-zinc-300",children:e.name}),(0,t.jsxs)("span",{className:"text-zinc-500",children:[e.agents.length," agents"]})]},e.id))})]})}var d=e.i(580873);function o({projectId:e,projectSlug:n,onViewAll:i}){let r=(0,a.useRouter)(),[c,u]=(0,s.useState)([]),[m,x]=(0,s.useState)([]),[p,h]=(0,s.useState)({}),[j,f]=(0,s.useState)(!0),[g,b]=(0,s.useState)(()=>Date.now());(0,s.useEffect)(()=>{let e=window.setInterval(()=>{b(Date.now())},3e4);return()=>{window.clearInterval(e)}},[]),(0,s.useEffect)(()=>{let t=!1,s=async()=>{try{let[s,a]=await Promise.all([fetch("/api/automations"),fetch(`/api/prompt-jobs?projectId=${encodeURIComponent(e)}`)]),n=s.ok?await s.json():{automations:[]},i=a.ok?await a.json():{jobs:[]};if(t)return;let r=(n.automations??[]).filter(t=>t.projectId===e).slice(0,20),l=(i.jobs??[]).filter(t=>t.projectId===e).slice(0,20);u(r),x(l);let c=Object.fromEntries(await Promise.all(l.map(async e=>{try{let t=await fetch(`/api/prompt-jobs/${encodeURIComponent(e.id)}/runs`);if(!t.ok)return[e.id,null];let s=((await t.json()).runs??[])[0]??null;return[e.id,s]}catch{return[e.id,null]}})));if(t)return;h(c)}catch{if(t)return;u([]),x([]),h({})}finally{t||f(!1)}};return f(!0),s(),()=>{t=!0}},[e]);let N=e=>{if(!n||"prompt"!==e.kind)return;let t=new URLSearchParams({job:e.jobId});e.runId&&t.set("run",e.runId),r.push(`/projects/${n}/automations?${t.toString()}`)},v=[...m.filter(e=>{let t=p[e.id];return t?.status==="queued"||t?.status==="running"}).map(e=>({id:`prompt:${e.id}`,title:e.name,kind:"prompt",jobId:e.id,runId:p[e.id]?.id??null,updatedAt:p[e.id]?.createdAt??e.updatedAt})),...c.filter(e=>"running"===e.executionState||e.schedule?.tickInProgress).map(e=>({id:`automation:${e.graphId}`,title:e.title,kind:"automation",updatedAt:e.updatedAt}))].sort((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt)),y=new Set(v.map(e=>e.id)),w=[...m.filter(e=>"active"===e.state&&"number"==typeof e.nextRunAt).map(e=>({id:`prompt:${e.id}`,title:e.name,kind:"prompt",jobId:e.id,runId:null,nextRunAt:e.nextRunAt})),...c.filter(e=>e.schedule?.state==="active"&&"number"==typeof e.schedule?.nextTickAt).map(e=>({id:`automation:${e.graphId}`,title:e.title,kind:"automation",nextRunAt:e.schedule.nextTickAt}))].filter(e=>!y.has(e.id)).sort((e,t)=>e.nextRunAt-t.nextRunAt),k=m.length+c.length;return(0,t.jsxs)("div",{className:"rounded-2xl border border-zinc-800 bg-zinc-900/50 p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Clock,{className:"w-4 h-4 text-zinc-400"}),(0,t.jsx)("span",{className:"text-sm font-medium text-zinc-200",children:"Scheduled Tasks"}),!j&&k>0&&(0,t.jsx)("span",{className:"rounded-full bg-zinc-800 px-2 py-0.5 text-xs text-zinc-400",children:k})]}),i&&(0,t.jsxs)("button",{onClick:i,className:"flex items-center gap-1 text-xs text-zinc-500 hover:text-zinc-300",children:["View all ",(0,t.jsx)(l.ArrowRight,{className:"w-3 h-3"})]})]}),j?(0,t.jsx)("div",{className:"space-y-2",children:[1,2,3].map(e=>(0,t.jsx)("div",{className:"h-5 rounded bg-zinc-800 animate-pulse"},e))}):0===k?(0,t.jsx)("p",{className:"text-sm text-zinc-500",children:"No scheduled tasks"}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs uppercase tracking-wide text-zinc-500",children:[(0,t.jsx)("span",{children:"Currently running"}),(0,t.jsx)("span",{children:v.length})]}),0===v.length?(0,t.jsx)("p",{className:"text-sm text-zinc-500",children:"Nothing running right now"}):(0,t.jsx)("div",{className:"space-y-2",children:v.slice(0,3).map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>N(e),disabled:"prompt"!==e.kind||!n,className:`flex w-full items-center gap-2 rounded-md px-1 py-1 text-left text-sm transition-colors ${"prompt"===e.kind&&n?"cursor-pointer hover:bg-zinc-800/70":"cursor-default"}`,children:[(0,t.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full bg-emerald-400"}),(0,t.jsx)("span",{className:"truncate text-zinc-300",children:e.title}),(0,t.jsx)("span",{className:"ml-auto shrink-0 text-xs text-emerald-400",children:"running"})]},e.id))})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs uppercase tracking-wide text-zinc-500",children:[(0,t.jsx)("span",{children:"Upcoming runs"}),(0,t.jsx)("span",{children:w.length})]}),0===w.length?(0,t.jsx)("p",{className:"text-sm text-zinc-500",children:"No upcoming runs"}):(0,t.jsx)("div",{className:"space-y-2",children:w.slice(0,3).map(e=>{var s;return(0,t.jsxs)("button",{type:"button",onClick:()=>N(e),disabled:"prompt"!==e.kind||!n,className:`flex w-full items-center gap-2 rounded-md px-1 py-1 text-left text-sm transition-colors ${"prompt"===e.kind&&n?"cursor-pointer hover:bg-zinc-800/70":"cursor-default"}`,children:[(0,t.jsx)(d.Clock,{className:"h-3.5 w-3.5 shrink-0 text-zinc-500"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-zinc-300",children:e.title}),(0,t.jsxs)("div",{className:"text-xs text-zinc-500",children:["number"!=typeof(s=e.nextRunAt)?"No next run":new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(new Date(s))," ",(0,t.jsxs)("span",{className:"text-zinc-400",children:["• ",(e=>{if("number"!=typeof e)return"";let t=e-g;if(t<=0)return"now";let s=Math.ceil(t/6e4);if(s<60)return`in ${s}m`;let a=Math.floor(s/60),n=s%60;if(a<24)return 0===n?`in ${a}h`:`in ${a}h ${n}m`;let i=Math.floor(a/24),r=a%24;return 0===r?`in ${i}d`:`in ${i}d ${r}h`})(e.nextRunAt)]})]})]})]},e.id)})})]})]})]})}var u=e.i(196630),m=e.i(640481),x=e.i(929870),p=e.i(794731),h=e.i(797167),j=e.i(524123);function f({projectId:e,repos:a,onViewAll:n}){let{updateProject:i}=(0,j.useProjects)(),[r,c]=(0,s.useState)(a),[d,o]=(0,s.useState)(!1),[g,b]=(0,s.useState)(null),[N,v]=(0,s.useState)(""),[y,w]=(0,s.useState)(""),[k,z]=(0,s.useState)(null);(0,s.useEffect)(()=>{c(a)},[a]);let I=e=>{z(e),window.setTimeout(()=>z(null),2500)},C=e=>e.map(e=>({id:e.id,name:e.name,path:e.path,git_url:e.git_url})),$=()=>{v(""),w(""),b(null),o(!1)},S=async()=>{let t=N.trim(),s=y.trim();if(t&&s){c([...r,{id:`tmp-${Date.now()}`,name:t,path:s}]),$();try{await i(e,{repos:[...C(r),{name:t,path:s}]}),I("Folder added")}catch{c(r),I("Failed to add folder")}}},A=async t=>{let s=N.trim(),a=y.trim();if(!s||!a)return;let n=r.map(e=>e.id===t?{...e,name:s,path:a}:e);c(n),$();try{await i(e,{repos:C(n)}),I("Folder updated")}catch{c(r),I("Failed to update folder")}},R=async t=>{let s=r.filter(e=>e.id!==t);c(s),g===t&&$();try{await i(e,{repos:C(s)}),I("Folder deleted")}catch{c(r),I("Failed to delete folder")}};return(0,t.jsxs)("div",{className:"rounded-2xl border border-zinc-800 bg-zinc-900/50 p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(u.FolderGit2,{className:"w-4 h-4 text-zinc-400"}),(0,t.jsx)("span",{className:"text-sm font-medium text-zinc-200",children:"Folders"}),r.length>0&&(0,t.jsx)("span",{className:"rounded-full bg-zinc-800 px-2 py-0.5 text-xs text-zinc-400",children:r.length})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>{b(null),v(""),w(""),o(!0)},className:"flex items-center gap-1 text-xs text-zinc-500 hover:text-zinc-300",children:[(0,t.jsx)(x.Plus,{className:"w-3 h-3"}),"Add"]}),n&&(0,t.jsxs)("button",{onClick:n,className:"flex items-center gap-1 text-xs text-zinc-500 hover:text-zinc-300",children:["View all ",(0,t.jsx)(l.ArrowRight,{className:"w-3 h-3"})]})]})]}),k&&(0,t.jsx)("p",{className:"mb-3 text-xs text-zinc-500",children:k}),(d||g)&&(0,t.jsxs)("div",{className:"mb-3 rounded-xl border border-zinc-800 bg-zinc-950/50 p-3 space-y-2",children:[(0,t.jsx)("input",{value:N,onChange:e=>v(e.target.value),className:"input w-full text-sm",placeholder:"Folder name",autoFocus:!0}),(0,t.jsx)("input",{value:y,onChange:e=>w(e.target.value),className:"input w-full text-sm",placeholder:"Local path"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{g?A(g):S()},disabled:!N.trim()||!y.trim(),className:"rounded-lg bg-zinc-200 px-3 py-1.5 text-xs font-medium text-zinc-950 disabled:opacity-40",children:"Save"}),(0,t.jsxs)("button",{type:"button",onClick:$,className:"flex items-center gap-1 rounded-lg px-2 py-1.5 text-xs text-zinc-500 hover:text-zinc-300",children:[(0,t.jsx)(h.X,{className:"w-3 h-3"}),"Cancel"]})]})]}),0===r.length?(0,t.jsx)("p",{className:"text-sm text-zinc-500",children:"No folders linked"}):(0,t.jsx)("div",{className:"space-y-2",children:r.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)(u.FolderGit2,{className:"w-4 h-4 text-zinc-500 shrink-0"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"text-zinc-300 truncate",children:e.name}),e.path&&(0,t.jsx)("div",{className:"text-zinc-500 text-xs truncate",children:e.path})]}),(0,t.jsx)("button",{type:"button",onClick:()=>{o(!1),b(e.id),v(e.name),w(e.path??"")},className:"p-1 text-zinc-500 hover:text-zinc-300","aria-label":`Edit ${e.name}`,children:(0,t.jsx)(m.Pencil,{className:"w-3 h-3"})}),(0,t.jsx)("button",{type:"button",onClick:()=>void R(e.id),className:"p-1 text-zinc-500 hover:text-red-400","aria-label":`Delete ${e.name}`,children:(0,t.jsx)(p.Trash2,{className:"w-3 h-3"})})]},e.id))})]})}var g=e.i(938201),b=e.i(902572);let N={on_track:{label:"On Track",dot:"bg-emerald-400",badge:"text-emerald-400 border-emerald-700/60 bg-emerald-500/10"},at_risk:{label:"At Risk",dot:"bg-amber-400",badge:"text-amber-400 border-amber-700/60 bg-amber-500/10"},off_track:{label:"Off Track",dot:"bg-red-400",badge:"text-red-400 border-red-700/60 bg-red-500/10"},done:{label:"Done",dot:"bg-zinc-400",badge:"text-zinc-400 border-zinc-700/60 bg-zinc-500/10"}};function v({objective:e,teamName:s,onClick:a}){let n=N[e.status]??N.on_track,i="done"===e.status;return(0,t.jsxs)("button",{type:"button",onClick:a,className:`w-full text-left rounded-2xl border border-zinc-800 bg-zinc-900/50 p-4 transition-colors hover:bg-zinc-800/50 ${i?"opacity-60":""}`,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2 mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:`h-2 w-2 shrink-0 rounded-full ${n.dot}`}),(0,t.jsx)("span",{className:"text-sm font-medium text-zinc-200 truncate",children:e.title})]}),(0,t.jsx)("span",{className:`shrink-0 rounded-full border px-2 py-0.5 text-[11px] font-medium ${n.badge}`,children:n.label})]}),(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)("div",{className:"h-1.5 rounded-full bg-zinc-800 overflow-hidden",children:(0,t.jsx)("div",{className:"h-full rounded-full bg-emerald-500/70 transition-all",style:{width:`${Math.min(e.progress,100)}%`}})})}),(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs text-zinc-500",children:[(0,t.jsx)("span",{children:s??"No team"}),(0,t.jsxs)("span",{children:[e.progress,"%"]})]})]})}function y({projectId:e,projectSlug:n}){let i=(0,a.useRouter)(),{projects:r,isLoading:c}=(0,j.useProjects)(),d=(0,s.useMemo)(()=>r.find(e=>e.slug===n),[r,n]),o=(0,s.useMemo)(()=>(0,b.readProjectObjectivesWorkspace)(d?.metadata).objectives,[d?.metadata]),[u,m]=(0,s.useState)([]);(0,s.useEffect)(()=>{fetch(`/api/projects/${e}/teams`).then(e=>e.ok?e.json():{teams:[]}).then(e=>m(e.teams??[])).catch(()=>m([]))},[e]);let x=(0,s.useMemo)(()=>new Map(u.map(e=>[e.id,e.name])),[u]),p=o.filter(e=>e.progress>=100).length;return c?(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[1,2].map(e=>(0,t.jsx)("div",{className:"h-28 rounded-2xl bg-zinc-800 animate-pulse"},e))}):0===o.length?(0,t.jsxs)("button",{type:"button",onClick:()=>i.push(`/projects/${n}/objectives`),className:"w-full rounded-2xl border border-dashed border-zinc-700 bg-zinc-900/30 p-6 text-center transition-colors hover:border-zinc-600 hover:bg-zinc-800/30",children:[(0,t.jsx)(g.Target,{className:"w-5 h-5 text-zinc-500 mx-auto mb-2"}),(0,t.jsx)("span",{className:"text-sm text-zinc-400",children:"Add your first objective"})]}):(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 text-xs text-zinc-500",children:[(0,t.jsxs)("span",{children:[o.length," ",1===o.length?"objective":"objectives"]}),(0,t.jsx)("span",{className:"text-zinc-700",children:"|"}),(0,t.jsxs)("span",{children:[p,"/",o.length," complete"]})]}),(0,t.jsxs)("button",{onClick:()=>i.push(`/projects/${n}/objectives`),className:"flex items-center gap-1 text-xs text-zinc-500 hover:text-zinc-300",children:["View all ",(0,t.jsx)(l.ArrowRight,{className:"w-3 h-3"})]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:o.map(e=>(0,t.jsx)(v,{objective:e,teamName:x.get(e.teamId)??null,onClick:()=>i.push(`/projects/${n}/objectives/${encodeURIComponent(e.id)}`)},e.id))})]})}var w=e.i(597628),k=e.i(99296),z=e.i(33887),I=e.i(644660);function C({icon:e,title:s,accentClass:a,onClick:n,badge:i,children:r}){return(0,t.jsxs)("button",{type:"button",onClick:n,className:"w-full text-left rounded-2xl border border-zinc-800 bg-zinc-900/50 p-4 transition-colors hover:bg-zinc-800/50",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:a,children:e}),(0,t.jsx)("span",{className:"text-sm font-medium text-zinc-200",children:s})]}),i]}),r&&(0,t.jsx)("div",{className:"text-sm",children:r})]})}function $({projectId:e,projectSlug:n,primaryThreadId:i}){let r=(0,a.useRouter)(),{connected:l,loading:c}=(0,z.useLinearConnection)(),[d,o]=(0,s.useState)(null),[u,m]=(0,s.useState)(0);return(0,s.useEffect)(()=>{let t=!1;return fetch(`/api/threads?projectId=${encodeURIComponent(e)}&limit=3&format=json`).then(e=>e.ok?e.json():{threads:{},total:0}).then(e=>{if(t)return;let s=Object.values(e.threads??{}).flatMap(e=>e.threads??[]).slice(0,3);o(s),m("number"==typeof e.total?e.total:s.length)}).catch(()=>{t||(o([]),m(0))}),()=>{t=!0}},[e]),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[(0,t.jsx)(C,{icon:(0,t.jsx)(w.MessageSquare,{className:"w-4 h-4"}),title:"Chat",accentClass:"text-indigo-400",onClick:()=>{i&&r.push(`/projects/${n}/thread/${encodeURIComponent(i)}`)},badge:u>0?(0,t.jsx)("span",{className:"rounded-full bg-zinc-800 px-2 py-0.5 text-xs text-zinc-400",children:u}):void 0,children:null===d?(0,t.jsx)("div",{className:"space-y-1.5",children:[1,2].map(e=>(0,t.jsx)("div",{className:"h-5 rounded bg-zinc-800 animate-pulse"},e))}):0===d.length?(0,t.jsx)("p",{className:"text-zinc-500",children:"No threads yet"}):(0,t.jsx)("div",{className:"space-y-1",children:d.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-zinc-400 truncate",children:[(0,t.jsx)(w.MessageSquare,{className:"w-3 h-3 text-zinc-600 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.title})]},e.id))})}),(0,t.jsx)(C,{icon:(0,t.jsx)(k.TerminalSquare,{className:"w-4 h-4"}),title:"Terminal",accentClass:"text-emerald-400",onClick:()=>r.push(`/projects/${n}/terminal`),children:(0,t.jsx)("p",{className:"text-zinc-500",children:"No sessions yet"})}),(0,t.jsx)(C,{icon:(0,t.jsx)(I.LinearIcon,{className:"w-4 h-4"}),title:"Linear",accentClass:"text-blue-400",onClick:()=>r.push(`/projects/${n}/linear`),badge:c?void 0:l?(0,t.jsx)("span",{className:"rounded-full border border-emerald-700/60 bg-emerald-500/10 px-2 py-0.5 text-[11px] text-emerald-400",children:"Connected"}):(0,t.jsx)("span",{className:"rounded-full border border-zinc-700 bg-zinc-800 px-2 py-0.5 text-[11px] text-zinc-400",children:"Connect"}),children:!c&&!l&&(0,t.jsx)("p",{className:"text-zinc-500",children:"Connect to see issues"})})]})}function S({projectId:e,projectSlug:s,projectName:n,projectDescription:r,projectMetadata:l,repos:d,threadIds:u}){let m=(0,a.useRouter)(),x=u[0]??null;return(0,t.jsx)("div",{className:"h-full overflow-y-auto",children:(0,t.jsxs)("div",{className:"max-w-5xl mx-auto px-6 py-8 space-y-8",children:[r&&(0,t.jsx)("p",{className:"text-sm text-zinc-400",children:r}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h2",{className:"text-sm text-zinc-500 mb-3",children:"What you're working toward"}),(0,t.jsx)(y,{projectId:e,projectSlug:s})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h2",{className:"text-sm text-zinc-500 mb-3",children:"Start working"}),(0,t.jsx)($,{projectId:e,projectSlug:s,primaryThreadId:x})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h2",{className:"text-sm text-zinc-500 mb-3",children:"What's happening now"}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(i,{projectSlug:s,projectThreadIds:u}),(0,t.jsx)(o,{projectId:e,projectSlug:s,onViewAll:()=>m.push(`/projects/${s}/automations`)})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsx)(f,{projectId:e,repos:d}),(0,t.jsx)(c,{projectId:e,onViewAll:()=>m.push(`/projects/${s}/teams`)})]})]})})}e.s(["default",0,function({params:e}){let{slug:a}=(0,s.use)(e),{projects:n}=(0,j.useProjectsWithAgents)(),i=n.find(e=>e.slug===a);return i?(0,t.jsx)(S,{projectId:i.id,projectSlug:i.slug,projectName:i.name,projectDescription:i.description,projectMetadata:i.metadata,repos:i.repos,threadIds:i.thread_ids}):(0,t.jsx)("div",{className:"flex items-center justify-center h-full text-sm text-zinc-500",children:"Loading project..."})}],317389)}]);
|