@mndrk/agx 2.3.3 → 2.4.2
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 +1 -1
- package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +27 -19
- package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +213 -125
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +2 -2
- 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.js.nft.json +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 +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/skills/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js +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/automations/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js +10 -10
- 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/chat-runs/[id]/events/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat-runs/[id]/events/route.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/activity → chat-runs/[id]/events}/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/context → chat-runs/[id]/events}/route_client-reference-manifest.js +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/daemon/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -3
- 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/health/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/learnings/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/memories/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/memories/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js +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]/agents/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/agents/unassigned/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/agents/unassigned/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +13 -13
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js +14 -14
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js +8 -8
- 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]/skills/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/agents/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/[teamId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/export/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/import/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/import/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js +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/projects/[id]/threads/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/[key]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/[key]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +15 -15
- 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/prompt-jobs/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/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/complete/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +2 -2
- 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 +9 -9
- 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 +12 -12
- 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 +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 +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/task-groups/[id]/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/[id]/route.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/mcp-setup → task-groups/[id]}/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/mcp-setup → task-groups/[id]}/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/[id]/tasks/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/[id]/tasks/route.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/active-agents → task-groups/[id]/tasks}/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/activity → task-groups/[id]/tasks}/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/route.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/task-groups/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/auth → task-groups}/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +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 +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]/costs/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/history/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +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 +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/assign-orphans/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +2 -2
- 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/terminal/sessions/[id]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js +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 +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/api/tracker/notes/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tracker/notes/route.js +6 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/auth → tracker/notes}/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/status → tracker/notes}/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/active-agents/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/active-agents/route.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs/[id] → trackers/[tracker]/active-agents}/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/active-agents/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id] → trackers/[tracker]/auth}/route.js +8 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route.js +12 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/active-agents → trackers/[tracker]/callback}/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route.js +12 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route.js +12 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js +13 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route.js +12 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route.js +12 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id]/recap → trackers/[tracker]/items}/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route.js +13 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route.js +12 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route.js +12 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/context → trackers/[tracker]/runs}/route.js +8 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js +12 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js +12 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js +12 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js +12 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/callback → trackers/connections}/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs/scripted → trackers/connections}/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/token → update-check}/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/user-settings/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/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]/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/[slug]/tracking/[tracker]/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/{linear → tracking/[tracker]}/page/react-loadable-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/{linear → tracking}/page/next-font-manifest.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/react-loadable-manifest.json +16 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/{linear → tracking}/page.js +6 -6
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/{linear → tracking}/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/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 +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +2 -2
- 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 +1 -1
- 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/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-paths-manifest.json +27 -19
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/083c9_next-internal_server_app_api_trackers_[tracker]_callback_route_actions_e1d8c3e4.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/0da96_local__next-internal_server_app_api_trackers_connections_route_actions_35145606.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_active-agents_route_actions_e9c27b60.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_items_[id]_activity_route_actions_bb364795.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_items_[id]_recap_route_actions_aaed4138.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_items_[id]_route_actions_6382f424.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_mcp-setup_route_actions_1279e3c1.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_runs_[id]_route_actions_4c32ff23.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_runs_scripted_route_actions_3c16062e.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_token-receive_route_actions_f831c68f.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__cb7264ab._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]_fs_promises_0bfe4114._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__8ea8c1b9._.js → [root-of-the-server]__03585144._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__9a457fa6._.js → [root-of-the-server]__04ee9637._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__079c42ac._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08a40fc7._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__bad0734e._.js → [root-of-the-server]__0a528fae._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__29ef193f._.js → [root-of-the-server]__0b317b6d._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0fbbaf2d._.js +95 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__101fe653._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10a90219._.js +69 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__305e10a8._.js → [root-of-the-server]__10bfac8f._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__121d8e45._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1629da24._.js +9 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__9a4dd378._.js → [root-of-the-server]__19d0fac1._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1d3e684e._.js +70 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__203428c1._.js +6 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__21721841._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__240d98b0._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__a7163d7b._.js → [root-of-the-server]__2ab23e45._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2bb933c7._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2c148e2b._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2ff70366._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__17474404._.js → [root-of-the-server]__368f5ffd._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__80be3fd0._.js → [root-of-the-server]__39baf5f6._.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3a038592._.js +10 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3b27260f._.js +114 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__f99bf39d._.js → [root-of-the-server]__41534d9e._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__9f7dc3d5._.js → [root-of-the-server]__4641ba3f._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0408eb2d._.js → [root-of-the-server]__4b167927._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0e11afc3._.js → [root-of-the-server]__4b9d4f5c._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__45988247._.js → [root-of-the-server]__4e296e1f._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__3a639150._.js → [root-of-the-server]__4fbf7baa._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__cf874bd3._.js → [root-of-the-server]__5184da61._.js} +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__5859156d._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6062bf0a._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__68b692c4._.js +131 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__92dfd9af._.js → [root-of-the-server]__6b0b354d._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__8363ba26._.js → [root-of-the-server]__6e0ef488._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__68c85bdd._.js → [root-of-the-server]__6e73b6e1._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__a8861f5b._.js → [root-of-the-server]__6ead08b8._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__fd3e97e7._.js → [root-of-the-server]__6f6afa0f._.js} +20 -20
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__73f80c8c._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__7be142e5._.js → [root-of-the-server]__7b7b4601._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7cd28ae0._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7db7c421._.js +119 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__1888961f._.js → [root-of-the-server]__7fcbb0c2._.js} +96 -94
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__83baa76e._.js → [root-of-the-server]__80aea589._.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__8269cb17._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__847236fb._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__847ab7ae._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__91dd4b59._.js → [root-of-the-server]__8dd3b8c5._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__268327fe._.js → [root-of-the-server]__905a5b44._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__8c1f1ac0._.js → [root-of-the-server]__90dd5edd._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__97b5dbf7._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__bb6304da._.js → [root-of-the-server]__97e51964._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0ce28b4a._.js → [root-of-the-server]__97e7a600._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__9e4c0741._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__9e9149cd._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__cea6728f._.js → [root-of-the-server]__a74338e8._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__816926cc._.js → [root-of-the-server]__aa4e5942._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ab9b38d8._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__4c4892ef._.js → [root-of-the-server]__ac854687._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__c18c59db._.js → [root-of-the-server]__ae54e5ab._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b0a94c41._.js +70 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b1357960._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__53af378f._.js → [root-of-the-server]__b810670d._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ba72d342._.js +91 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__da39c8a8._.js → [root-of-the-server]__bb757af8._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c07d22ff._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c3408141._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c4a986f6._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__6e876a97._.js → [root-of-the-server]__c614c26c._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c936d679._.js +17 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__caa79472._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__dc146f58._.js → [root-of-the-server]__cbd45246._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__8316aa3e._.js → [root-of-the-server]__d402ed75._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d8cc43c7._.js +114 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__e9ff8266._.js → [root-of-the-server]__d8efbb6c._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__e679695d._.js → [root-of-the-server]__dd538d32._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__c16e8d2d._.js → [root-of-the-server]__df0f00fd._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__131f801a._.js → [root-of-the-server]__e237981c._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__7d454180._.js → [root-of-the-server]__e583235c._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__ccd1a823._.js → [root-of-the-server]__ece576c1._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ef1c393e._.js +70 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__c97ac79d._.js → [root-of-the-server]__f21be9eb._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f598d976._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f7a936d9._.js +114 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__d7e4a538._.js → [root-of-the-server]__fb5944d3._.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__fb694089._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__fbe43c0a._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{_3a4bfa8b._.js → _08b93004._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_1a4cb196._.js +95 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_2124f905._.js +25 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_21812330._.js +23 -23
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_25136564._.js +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_520e6344._.js +25 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5b3f1f41._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5e5f36c4._.js +91 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_80b34b78._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_8f9f647d._.js +128 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_task-groups_[id]_route_actions_b10cc67c.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_task-groups_route_actions_0079ff4a.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_tracker_notes_route_actions_b8a47be9.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_update-check_route_actions_29ba83b6.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{apps_local_3e0a6a05._.js → apps_local_a15e73a6._.js} +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_aac0e4cb._.js +109 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_b8cc7add._.js +23 -23
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{apps_local_2c8c923a._.js → apps_local_c101ba9e._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_d256aa32._.js +286 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e12b284f._.js +23 -23
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e1f4d9ad._.js +91 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e55f28ef._.js +296 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_ea2bca7e._.js +109 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_f8b3abae._.js +91 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_3ddc6591._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_6bd3d8a2._.js +15 -15
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_cli-runner_ts_ead5489c._.js +18 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_d268503a._.js +15 -15
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_history-store_ts_e4ff7678._.js +19 -12
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_history-store_ts_e98db4de._.js +19 -12
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{apps_local_58f0d34e._.js → apps_local_lib_linear-issues_ts_50093d17._.js} +15 -20
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_orchestrator_chat-processor_ts_46384f36._.js +14 -13
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_7b90c71f._.js +49 -23
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_7ee03cea._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_a3d4d8f4._.js +48 -22
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_tracker_tracker-run-store_ts_5aa9592e._.js +114 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_chat-runs_[id]_events_route_actions_2099e8ec.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_task-groups_[id]_tasks_route_actions_9a8b437b.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_auth_route_actions_93e51026.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_groups_route_actions_950eeaf7.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_items_route_actions_41ec2af7.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_options_route_actions_19b0ffef.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_runs_route_actions_54d24a56.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_status_route_actions_1f8ce507.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_token_route_actions_93eeb2d1.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_worker_route_actions_22ced26f.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/083c9_next-internal_server_app_projects_[slug]_tracking_connect_page_actions_72d4a587.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0da96_local__next-internal_server_app_projects_[slug]_tracking_page_actions_ad982907.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/30bdd_server_app_projects_[slug]_tracking_[tracker]_page_actions_c27c0fcc.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/9fb8c_lucide-react_dist_esm_icons_5e38c2ed._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__6e4038bb._.js → [root-of-the-server]__2c4531d0._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__30bf097e._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__46ae9d33._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__50fd8680._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__64cb5d93._.js → [root-of-the-server]__51edc9b6._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__5aa35736._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__5c817ed1._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__799f4d13._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__8059a285._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__886953ec._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__97160565._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__b8a00d09._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bc60b3cf._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bce1fbf7._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__c2c07c79._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__c7e1ea27._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__24007358._.js → [root-of-the-server]__ce586680._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__fdfb2d96._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_55671310._.js +13 -13
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_ba2abc47._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_e00b6c25._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_e485f527._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_064c7b93._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_16902bc1._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_1e4a0236._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_35d90b5d._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3e5712aa._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3f9f6417._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_5d6a3ce2._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_5eebb5cb._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_7395ab20._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_86f59be8._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_988d29c0._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_3bb31889._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_76330306._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_0933eeaf._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_thread_[threadId]_page_tsx_2a1d1d5e._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_c5e75cc1._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TrackerBoard_tsx_98970bab._.js +48 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_f0554cb4._.js +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_751ab3d3._.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_d9a0fd57._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_da1774f7._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_5b388b71._.js → apps_local_e46807f8._.js} +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_e7a823e9._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_f67bb291._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +20 -17
- 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 +12 -4
- package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +2 -2
- 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/0876dfd6ce07abaf.js +9 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/114ea1bfd6907330.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/1533a70763aff97d.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/1ec83777a9abd420.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/1fef9364e8667e88.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/286758b0fd546c68.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/31eb3dfbf34049d2.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/31fa61ac9eccd69e.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/37f4e8258ca4d3fb.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/416f4124364c7ec8.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/4eaf7bca1be5edfa.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/6c278ae4535b6d5c.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/6c777fe66e042eec.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{2b946f9d53da482e.js → 77cea126364aab3c.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/85b0b6ed57b5df52.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/87e4fb11329a358d.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{4bc34bec0c539bb8.js → 8a9626e4d7c259ee.js} +6 -6
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/a72ed5cb3feb0d51.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/b02c180ad1d968eb.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/b048a4812b51f97a.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/be9022a471666b85.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/c63d97c917d96f47.js +46 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/cb19d71dd7ffb935.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/cbb4dbdc63177701.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{bf4057d9deff2a78.js → cd19b123505dd26c.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/d3bf70e2fbdc0ae5.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{592bca7fe1fc1455.js → d500a3f5d15b31d5.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/d5b14e14665024a9.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/dd5a56eea2d4c067.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/dd7d7c382389b8b9.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{571e45336377eb45.js → e72724fd8225ec39.js} +3 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/ec92e3bd6c2db6e6.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/f3c1b6295b9442c6.js +1 -0
- package/cloud-runtime/standalone/apps/local/app/api/chat-runs/[id]/events/route.ts +98 -0
- package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +1 -1
- package/cloud-runtime/standalone/apps/local/app/api/task-groups/[id]/route.ts +38 -0
- package/cloud-runtime/standalone/apps/local/app/api/task-groups/[id]/tasks/route.ts +42 -0
- package/cloud-runtime/standalone/apps/local/app/api/task-groups/route.ts +38 -0
- package/cloud-runtime/standalone/apps/local/app/api/tracker/notes/route.ts +65 -0
- package/cloud-runtime/standalone/apps/local/app/api/{linear/issues → trackers/[tracker]}/active-agents/route.ts +3 -2
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/auth/route.ts +29 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/callback/route.ts +58 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/groups/route.ts +24 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/items/[id]/activity/route.ts +24 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/items/[id]/recap/route.ts +125 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/items/[id]/route.ts +60 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/items/route.ts +44 -0
- package/cloud-runtime/standalone/apps/local/app/api/{linear → trackers/[tracker]}/mcp-setup/route.ts +90 -33
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/options/route.ts +33 -0
- package/cloud-runtime/standalone/apps/local/app/api/{linear → trackers/[tracker]}/runs/[id]/route.ts +24 -16
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/runs/route.ts +87 -0
- package/cloud-runtime/standalone/apps/local/app/api/{linear → trackers/[tracker]}/runs/scripted/route.ts +13 -6
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/status/route.ts +48 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/token/route.ts +49 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/token-receive/route.ts +52 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/worker/route.ts +163 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/connections/route.ts +96 -0
- package/cloud-runtime/standalone/apps/local/app/api/update-check/route.ts +50 -0
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +2 -1
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/terminal/page.tsx +4 -1
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/{linear → tracking/[tracker]}/page.tsx +11 -6
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/tracking/connect/page.tsx +180 -0
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/tracking/page.tsx +36 -0
- package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/{LinearBoard.tsx → TrackerBoard.tsx} +654 -302
- package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +18 -75
- package/cloud-runtime/standalone/apps/local/components/chat-ui/MessageBubble.tsx +6 -1
- package/cloud-runtime/standalone/apps/local/components/chat-ui/MessageList.tsx +34 -8
- package/cloud-runtime/standalone/apps/local/components/chat-ui/StreamingSegments.tsx +88 -0
- package/cloud-runtime/standalone/apps/local/components/chat-ui/ThreadView.tsx +23 -13
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +18 -2
- package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathsSection.tsx +7 -7
- package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +28 -5
- package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +61 -46
- package/cloud-runtime/standalone/apps/local/components/tracker/FolderRow.tsx +161 -0
- package/cloud-runtime/standalone/apps/local/components/tracker/GroupNamePrompt.tsx +110 -0
- package/cloud-runtime/standalone/apps/local/components/tracker/GroupPanel.tsx +306 -0
- package/cloud-runtime/standalone/apps/local/components/tracker/NoteSticker.tsx +161 -0
- package/cloud-runtime/standalone/apps/local/components/{linear → tracker}/RunScriptManager.tsx +7 -7
- package/cloud-runtime/standalone/apps/local/components/tracker/SelectionBar.tsx +38 -0
- package/cloud-runtime/standalone/apps/local/components/{linear → tracker}/TicketPanel.tsx +39 -37
- package/cloud-runtime/standalone/apps/local/components/{linear → tracker}/TicketRecapSection.tsx +9 -5
- package/cloud-runtime/standalone/apps/local/components/tracker/TicketRow.tsx +279 -0
- package/cloud-runtime/standalone/apps/local/components/{linear → tracker}/TicketSessionList.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/{linear/LinearSettingsModal.tsx → tracker/TrackerSettingsModal.tsx} +26 -22
- package/cloud-runtime/standalone/apps/local/components/{linear/LinearWorkerConfig.tsx → tracker/TrackerWorkerConfig.tsx} +12 -12
- package/cloud-runtime/standalone/apps/local/components/{linear/LinearWorkerRunLog.tsx → tracker/TrackerWorkerRunLog.tsx} +4 -4
- package/cloud-runtime/standalone/apps/local/components/tracking/TaskTrackingNav.tsx +125 -0
- package/cloud-runtime/standalone/apps/local/components/tracking/TrackerIcon.tsx +58 -0
- package/cloud-runtime/standalone/apps/local/components/tracking/TrackerSetup.tsx +264 -0
- package/cloud-runtime/standalone/apps/local/hooks/useGroupChat.ts +1 -0
- package/cloud-runtime/standalone/apps/local/hooks/useProcessPolling.ts +155 -12
- package/cloud-runtime/standalone/apps/local/hooks/useSidebarStage.ts +54 -18
- package/cloud-runtime/standalone/apps/local/hooks/useTaskGroups.ts +133 -0
- package/cloud-runtime/standalone/apps/local/hooks/{useLinearActiveAgents.ts → useTrackerActiveAgents.ts} +19 -6
- package/cloud-runtime/standalone/apps/local/hooks/{useLinearConnection.ts → useTrackerConnection.ts} +107 -26
- package/cloud-runtime/standalone/apps/local/hooks/useTrackerConnections.ts +99 -0
- package/cloud-runtime/standalone/apps/local/hooks/{useLinearIssueMentions.ts → useTrackerItemMentions.ts} +15 -8
- package/cloud-runtime/standalone/apps/local/hooks/useTrackerItems.ts +120 -0
- package/cloud-runtime/standalone/apps/local/hooks/{useLinearParticipants.ts → useTrackerParticipants.ts} +4 -4
- package/cloud-runtime/standalone/apps/local/hooks/{useLinearRunScripts.ts → useTrackerRunScripts.ts} +15 -15
- package/cloud-runtime/standalone/apps/local/hooks/{useLinearRuns.ts → useTrackerRuns.ts} +33 -55
- package/cloud-runtime/standalone/apps/local/hooks/useUpdateCheck.ts +37 -0
- package/cloud-runtime/standalone/apps/local/hooks/useUrlSelection.ts +19 -0
- package/cloud-runtime/standalone/apps/local/lib/agent-process-registry.ts +29 -6
- package/cloud-runtime/standalone/apps/local/lib/chat/tracker-issue-context.ts +11 -0
- package/cloud-runtime/standalone/apps/local/lib/chat/{linear-issue-context.ts → tracker-item-context.ts} +19 -10
- package/cloud-runtime/standalone/apps/local/lib/chat-event-bus.ts +84 -0
- package/cloud-runtime/standalone/apps/local/lib/chat-utils.ts +68 -0
- package/cloud-runtime/standalone/apps/local/lib/cli-runner.ts +46 -21
- package/cloud-runtime/standalone/apps/local/lib/constants/timing.ts +1 -0
- package/cloud-runtime/standalone/apps/local/lib/history-store.ts +14 -0
- package/cloud-runtime/standalone/apps/local/lib/linear-run-status.ts +3 -1
- package/cloud-runtime/standalone/apps/local/lib/{objective-linear-issues.ts → objective-tracker-issues.ts} +12 -6
- package/cloud-runtime/standalone/apps/local/lib/orchestrator/chat-processor.ts +35 -1
- package/cloud-runtime/standalone/apps/local/lib/sqlite-query-adapter.ts +32 -0
- package/cloud-runtime/standalone/apps/local/lib/stream-multiplexer.ts +5 -0
- package/cloud-runtime/standalone/apps/local/lib/task-groups-db.ts +130 -0
- package/cloud-runtime/standalone/apps/local/lib/tiptap/composer-mentions.ts +5 -5
- package/cloud-runtime/standalone/apps/local/lib/tiptap/editor-utils.ts +1 -1
- package/cloud-runtime/standalone/apps/local/lib/tiptap/serialize-composer.ts +2 -2
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/adapter.tsx +324 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/client.ts +517 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/index.ts +18 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/issues.ts +268 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/jira-icon.tsx +22 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/adapter.tsx +307 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/client.ts +907 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/index.ts +9 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/issues.ts +376 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/linear-icon.tsx +14 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/connections.ts +67 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/index.ts +44 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/recap.ts +246 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/registry.ts +32 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/route-helpers.ts +27 -0
- package/cloud-runtime/standalone/apps/local/lib/{linear-scripted-session.ts → tracker/scripted-session.ts} +28 -23
- package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-adapter.ts +64 -0
- package/cloud-runtime/standalone/apps/local/lib/{linear-execution-prompt.ts → tracker/tracker-execution-prompt.ts} +27 -23
- package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-item-store.ts +804 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-run-store.ts +560 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/types.ts +119 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker-board-utils.ts +4 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker-run-status.ts +88 -0
- package/cloud-runtime/standalone/apps/local/lib/types.ts +1 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +4 -4
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +7 -6
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/{linear-worker-constants.ts → task-worker-constants.ts} +11 -11
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/task-worker-job.ts +49 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/{linear-worker.ts → task-worker.ts} +47 -31
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +5 -3
- package/cloud-runtime/standalone/apps/local/state/lastSession.test.ts +83 -0
- package/cloud-runtime/standalone/apps/local/state/lastSession.ts +46 -0
- package/cloud-runtime/standalone/apps/local/state/trackerBoardFilters.ts +112 -0
- package/cloud-runtime/standalone/apps/local/state/{linearBoardPins.ts → trackerBoardPins.ts} +14 -9
- package/cloud-runtime/standalone/apps/local/state/{linearRunScripts.ts → trackerRunScripts.ts} +32 -24
- package/cloud-runtime/standalone/apps/local/worker/index.js +194 -14
- package/lib/commands/chat.js +0 -4
- package/lib/logger.ts +72 -0
- package/package.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/auth/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/auth/route.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/callback/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/callback/route.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/callback/route_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/cycles/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/cycles/route.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/cycles/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/cycles/route_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/recap/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/recap/route.js +0 -12
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/recap/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/active-agents/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/active-agents/route.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/activity/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/activity/route.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js +0 -11
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/mcp-setup/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/mcp-setup/route.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js +0 -11
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/[id]/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/[id]/route.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/[id]/route_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/route.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/route_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js +0 -24
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/token/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/token/route.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/token/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js +0 -13
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js +0 -14
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/083c9_next-internal_server_app_api_linear_issues_active-agents_route_actions_e49a4900.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/0da96_local__next-internal_server_app_api_linear_issues_[id]_route_actions_8966da68.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/0da96_local__next-internal_server_app_api_linear_runs_scripted_route_actions_65d0c32b.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/9fb8c_next_dist_esm_build_templates_app-route_4a0d9040.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__c397277f._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__ec108b52._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0e80a97a._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0fc11060._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1926415e._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1a87c857._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1d278aeb._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1ee65b64._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__2f038740._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4b05c44d._.js +0 -141
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__4c070f04._.js +0 -165
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__6183b682._.js +0 -67
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__63752370._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__713ff4cf._.js +0 -145
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7ce30f24._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__87abf03f._.js +0 -141
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__a22e30c6._.js +0 -22
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__b176d4d9._.js +0 -160
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c84eafe2._.js +0 -141
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d28ace89._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d7e18064._.js +0 -160
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d9bbc1a6._.js +0 -141
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__dfd77ac4._.js +0 -31
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ef75c5b6._.js +0 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f66666f9._.js +0 -141
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f844df91._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ff6a99f0._.js +0 -160
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_00ea3122._.js +0 -415
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_022eee16._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_08d3c605._.js +0 -25
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_671682cc._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_7222e528._.js +0 -9
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_755b8689._.js +0 -415
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_auth_route_actions_845dd997.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_callback_route_actions_90a636e1.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_cycles_route_actions_20618fe1.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_issues_route_actions_f798ab06.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_mcp-setup_route_actions_9c461973.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_options_route_actions_3455e6c0.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_runs_[id]_route_actions_4bd5ad16.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_runs_route_actions_8613ec29.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_status_route_actions_746bcaf4.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_token_route_actions_8fed80a2.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_worker_route_actions_ef891304.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_af73c5e8._.js +0 -155
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_b3086d93._.js +0 -25
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_c530bd77._.js +0 -11
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_f13708ae._.js +0 -415
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_077d49c2._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_62edff06._.js +0 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_941822a8._.js +0 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_e7ef8bcb._.js +0 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/e2f97_api_projects_[id]_objectives_[objectiveId]_linear-issues_route_actions_d506d8a3.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_linear_issues_[id]_recap_route_actions_7b9ac0ec.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_linear_issues_activity_route_actions_a25a56a3.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_linear_issues_context_route_actions_b8ed252b.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0da96_local__next-internal_server_app_projects_[slug]_linear_page_actions_d3e5c399.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/9fb8c_lucide-react_dist_esm_icons_c5dc4091._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__31c61bac._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__364fdd09._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__45e37c6d._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__7c5959c3._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__8666da53._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__94ab2a92._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__97e9f8c3._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__a3cf8479._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__d47e7e93._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__e9f82952._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_480cf274._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_4e95976c._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_5ec7006b._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0ac2a791._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0c3f9085._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_37d519f7._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_96dee4fc._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_3fd25408._.js +0 -37
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_d30cc504._.js +0 -11
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_df7bb32d._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_f1b23697._.js +0 -11
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09a9b0ff9fedfd4c.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/1d442896a9e6f641.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/26078932a72e240a.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/28f49fb8b0515698.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/2d455dcd9ffde753.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/37015d5c91f9a893.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/5cfcd19e814c5846.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/678144d458893b62.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/79fc27e54d194ae1.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/8c64b8a9eee8e202.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/8f8da5f39011a5fb.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/9a293e4003752b7f.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/9be47f89ded22972.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/a6bfcaae2ac8b716.js +0 -35
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/b2bbe7bc1d2e8729.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/b4175ba3d8d2c54a.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/b6ef2665e828eb71.js +0 -9
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/be15308d13860246.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/c91eaf8278deda9c.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/d36cc96f4da78fc6.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/d96375ecaaf51dbd.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/e845c01d0cc3b9a2.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/ec699df05370dd42.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/f67c9e5af56eb2d0.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/f693c7ecc12d1d78.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/fa9d7bb55267b173.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/fdebf03746baf784.js +0 -9
- package/cloud-runtime/standalone/apps/local/app/api/linear/auth/route.ts +0 -32
- package/cloud-runtime/standalone/apps/local/app/api/linear/callback/route.ts +0 -49
- package/cloud-runtime/standalone/apps/local/app/api/linear/cycles/route.ts +0 -27
- package/cloud-runtime/standalone/apps/local/app/api/linear/issues/[id]/recap/route.ts +0 -30
- package/cloud-runtime/standalone/apps/local/app/api/linear/issues/[id]/route.ts +0 -92
- package/cloud-runtime/standalone/apps/local/app/api/linear/issues/activity/route.ts +0 -23
- package/cloud-runtime/standalone/apps/local/app/api/linear/issues/context/route.ts +0 -26
- package/cloud-runtime/standalone/apps/local/app/api/linear/issues/route.ts +0 -96
- package/cloud-runtime/standalone/apps/local/app/api/linear/options/route.ts +0 -48
- package/cloud-runtime/standalone/apps/local/app/api/linear/runs/route.ts +0 -106
- package/cloud-runtime/standalone/apps/local/app/api/linear/status/route.ts +0 -51
- package/cloud-runtime/standalone/apps/local/app/api/linear/token/route.ts +0 -72
- package/cloud-runtime/standalone/apps/local/app/api/linear/worker/route.ts +0 -151
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.ts +0 -197
- package/cloud-runtime/standalone/apps/local/components/LinearSetup.tsx +0 -239
- package/cloud-runtime/standalone/apps/local/components/linear/LinearIcon.tsx +0 -19
- package/cloud-runtime/standalone/apps/local/components/linear/TicketRow.tsx +0 -158
- package/cloud-runtime/standalone/apps/local/hooks/useLinearIssues.ts +0 -122
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-job.ts +0 -52
- package/cloud-runtime/standalone/apps/local/state/linearBoardFilters.ts +0 -108
- package/cloud-runtime/standalone/apps/local/state/linearRunScripts.test.ts +0 -99
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/auth → chat-runs/[id]/events}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/auth → chat-runs/[id]/events}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/auth → chat-runs/[id]/events}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/callback → task-groups/[id]}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/callback → task-groups/[id]}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/callback → task-groups/[id]}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/cycles → task-groups/[id]/tasks}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/cycles → task-groups/[id]/tasks}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/cycles → task-groups/[id]/tasks}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id]/recap → task-groups}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id]/recap → task-groups}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id]/recap → task-groups}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id] → tracker/notes}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id] → tracker/notes}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/[id] → tracker/notes}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]}/active-agents/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]}/active-agents/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]}/active-agents/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/activity → trackers/[tracker]/auth}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/activity → trackers/[tracker]/auth}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/activity → trackers/[tracker]/auth}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/context → trackers/[tracker]/callback}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/context → trackers/[tracker]/callback}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues/context → trackers/[tracker]/callback}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]/groups}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]/groups}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/issues → trackers/[tracker]/groups}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/mcp-setup → trackers/[tracker]/items/[id]/activity}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/mcp-setup → trackers/[tracker]/items/[id]/activity}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/mcp-setup → trackers/[tracker]/items/[id]/activity}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/options → trackers/[tracker]/items/[id]/recap}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/options → trackers/[tracker]/items/[id]/recap}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/options → trackers/[tracker]/items/[id]/recap}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/[id]/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/[id]/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/[id]/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs → trackers/[tracker]/items}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs/scripted → trackers/[tracker]/mcp-setup}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs/scripted → trackers/[tracker]/mcp-setup}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/runs/scripted → trackers/[tracker]/mcp-setup}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/status → trackers/[tracker]/options}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/status → trackers/[tracker]/options}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/status → trackers/[tracker]/options}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/token → trackers/[tracker]/runs/[id]}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/token → trackers/[tracker]/runs/[id]}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/token → trackers/[tracker]/runs/[id]}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/worker → trackers/[tracker]/runs}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/worker → trackers/[tracker]/runs}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{linear/worker → trackers/[tracker]/runs}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{projects/[id]/objectives/[objectiveId]/linear-issues → trackers/[tracker]/runs/scripted}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{projects/[id]/objectives/[objectiveId]/linear-issues → trackers/[tracker]/runs/scripted}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/api/{projects/[id]/objectives/[objectiveId]/linear-issues → trackers/[tracker]/runs/scripted}/route.js.map +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/{projects/[slug]/linear/page → api/trackers/[tracker]/status/route}/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/{projects/[slug]/linear/page.js.map → api/trackers/[tracker]/status/route.js.map} +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/{linear → tracking/[tracker]}/page/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{a4zqdHSrJMueXhCPqODSx → QEldoF1LdgJqO0PgpmUmx}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{a4zqdHSrJMueXhCPqODSx → QEldoF1LdgJqO0PgpmUmx}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{a4zqdHSrJMueXhCPqODSx → QEldoF1LdgJqO0PgpmUmx}/_ssgManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/components/{linear/LinearBoardFilters.tsx → tracker/TrackerBoardFilters.tsx} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[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_UPDATE_CHECK_MS",0,18e5])},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)},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",()=>b],599086)},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",()=>b],736868)},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,b,c){return p(a,new Set(b.filter(a=>a.id!==c).map(a=>o(a.key||a.title||a.id))),c??a)}function r(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),progress:m(a.progress),status:"string"==typeof(b=a.status)&&d.has(b)?b:"on_track",createdAt:g,updatedAt:c}}function s(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 t(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 u(){return{objectives:[],activities:[],activityThreads:{}}}function v(a){let b;if(!e(a))return u();let c=Array.isArray(a.objectives)?a.objectives.map(a=>r(a)).filter(a=>null!==a):[],d=Array.isArray(a.activities)?a.activities.map(a=>s(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=>t(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}}function w(a){if(!e(a))return u();let d=a[b];if(void 0!==d){let a=v(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 u();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 r({...a,summary:c})})(a)).filter(a=>null!==a):[],b=Array.isArray(f.manualActivities)?f.manualActivities.map(a=>s({...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=>t({...b,activityId:a})).filter(a=>null!==a):[])])):{};return{objectives:g(a),activities:i(b),activityThreads:c}}return u()}function x(a,d){let e={...a};return delete e[c],e[b]=v(d),e}function y(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()??"",progress:m(a.progress??0),status:a.status??"on_track",createdAt:a.now,updatedAt:a.now}}function z(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)}}function A(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}}function B({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))}a.s(["CURRENT_OBJECTIVE_CHAT_SESSION_VERSION",0,2,"LEGACY_PROJECT_GOALS_METADATA_KEY",0,c,"PROJECT_HEALTH_METADATA_KEY",0,"project_health_snapshot","PROJECT_OBJECTIVES_METADATA_KEY",0,b,"buildObjectiveTimelineActivities",()=>B,"createProjectObjective",()=>y,"generateProjectObjectiveKey",()=>q,"readProjectObjectivesWorkspace",()=>w,"removeProjectObjective",()=>A,"upsertProjectObjective",()=>z,"writeProjectObjectivesWorkspace",()=>x])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=apps_local_5d6a3ce2._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[356239,a=>{"use strict";let b=(0,a.i(831709).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],356239)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",()=>b],693896)},44668,a=>{"use strict";let b=(0,a.i(831709).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],44668)},947218,a=>{"use strict";var b=a.i(786220);let c=new Map;function d(a){let b=c.get(a);return b?Date.now()-b.ts>3e5?(c.delete(a),null):b:null}function e(a){c.delete(a)}function f(a,f){let[g,h]=(0,b.useState)(!1),[i,j]=(0,b.useState)(!0),[k,l]=(0,b.useState)(null),[m,n]=(0,b.useState)({claude:!1,codex:!1,gemini:!1}),[o,p]=(0,b.useState)({}),q=(0,b.useRef)(null),r=`/api/trackers/${encodeURIComponent(a)}`,s=`${a}:${f}`,t=(0,b.useCallback)(async()=>{try{let a=await fetch(`${r}/mcp-setup`),b=await a.json();p(b.configured??{})}catch{}},[r]),u=(0,b.useCallback)(async()=>{if(!f)return h(!1),!1;let a=d(s);if(a)return h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1),a.connected;try{var b;let a=`?projectId=${encodeURIComponent(f)}`,[d,e]=await Promise.all([fetch(`${r}/status${a}`),fetch(`${r}/mcp-setup`)]),g=await d.json(),i=await e.json(),j=g.clis??{claude:!1,codex:!1,gemini:!1},k=i.configured??{},m=g.user??null;return h(g.connected),l(m),n(j),p(k),b={connected:g.connected,user:m,clis:j,mcpConfigured:k},c.set(s,{...b,ts:Date.now()}),g.connected}catch{return h(!1),!1}finally{j(!1)}},[f,r,s]);(0,b.useEffect)(()=>{let a=d(s);a?(h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1)):(j(!0),h(!1),l(null))},[a,f,s]),(0,b.useEffect)(()=>(u(),()=>{q.current&&clearInterval(q.current)}),[u]);let v=(0,b.useCallback)(()=>{f&&(e(s),window.open(`${r}/auth?projectId=${encodeURIComponent(f)}`,"_blank","noopener"),q.current&&clearInterval(q.current),q.current=setInterval(async()=>{e(s),await u()&&q.current&&(clearInterval(q.current),q.current=null)},2e3))},[f,r,s,u]),w=(0,b.useCallback)(async a=>{if(!f)return{ok:!1,error:"Missing projectId"};try{let b=await fetch(`${r}/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:f,accessToken:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to save token"}}return e(s),await u(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[f,r,s,u]);return{connected:g,loading:i,user:k,clis:m,mcpConfigured:o,connect:v,connectWithKey:w,disconnect:(0,b.useCallback)(async()=>{f&&(e(s),await fetch(`${r}/status?projectId=${encodeURIComponent(f)}`,{method:"DELETE"}),h(!1),l(null))},[f,r,s]),configureMcp:(0,b.useCallback)(async a=>{try{let b=await fetch(`${r}/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 t(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[r,t]),refresh:u}}a.s(["useTrackerConnection",()=>f])},500650,a=>{"use strict";let b=(0,a.i(831709).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);a.s(["LogOut",()=>b],500650)},663504,235992,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);a.s(["Key",()=>c],663504);let d=(0,b.default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);a.s(["Globe",()=>d],235992)},778784,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(44668),e=a.i(663504),f=a.i(235992),g=a.i(349692),h=a.i(693896),i=a.i(356239),j=a.i(500650),k=a.i(392045);let l={claude:{name:"Claude Code",configPath:"~/.claude/settings.json"},codex:{name:"Codex CLI",configPath:"~/.codex/config.toml"},gemini:{name:"Gemini CLI",configPath:"~/.gemini/settings.json"}};function m({trackerType:a,projectId:m,connected:n,onConnect:o,onConnectWithKey:p,onDisconnect:q,loading:r=!1,clis:s,mcpConfigured:t,onConfigureMcp:u}){let[v,w]=c.default.useState(""),[x,y]=c.default.useState(null),[z,A]=c.default.useState(!1),[B,C]=c.default.useState(!1),[D,E]=c.default.useState(null),[F,G]=c.default.useState({}),H=async a=>{if(!u)return;E(a),G(b=>({...b,[a]:""}));let b=await u(a);b.ok||G(c=>({...c,[a]:b.error??"Failed to install MCP"})),E(null)},I=s?["claude","codex","gemini"].filter(a=>s[a]):["claude"];if(r)return(0,b.jsx)("div",{className:"flex items-center justify-center p-12",children:(0,b.jsx)(g.Loader2,{className:"animate-spin h-8 w-8 text-muted-foreground"})});if(n)return(0,b.jsxs)("div",{className:"p-8 flex flex-col items-center gap-6",children:[(0,b.jsxs)("div",{className:"w-full max-w-md p-8 border border-green-500/20 bg-green-500/5 rounded-2xl flex flex-col items-center gap-4 text-center",children:[(0,b.jsx)("div",{className:"h-16 w-16 rounded-full bg-green-500/10 flex items-center justify-center text-green-600 shadow-inner",children:(0,b.jsx)(d.CheckCircle2,{className:"h-8 w-8"})}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("h3",{className:"text-xl font-bold text-foreground capitalize",children:[a," Connected"]}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground leading-relaxed",children:["Your ",a," workspace is successfully connected. The agent can now sync issues and manage your backlog."]})]}),(0,b.jsxs)("div",{className:"mt-2 px-4 py-1.5 rounded-full bg-background border text-xs font-medium text-muted-foreground flex items-center gap-2",children:[(0,b.jsx)("div",{className:"h-1.5 w-1.5 rounded-full bg-green-500 animate-pulse"}),"Active Connection"]}),q&&(0,b.jsxs)("button",{onClick:q,className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-destructive transition-colors mt-1",children:[(0,b.jsx)(j.LogOut,{className:"h-3.5 w-3.5"}),"Disconnect"]})]}),I.length>0&&(0,b.jsx)("div",{className:"w-full max-w-md",children:(0,b.jsxs)("div",{className:"border rounded-xl p-5 flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(i.Terminal,{className:"h-4 w-4 text-muted-foreground"}),(0,b.jsx)("span",{className:"text-sm font-medium",children:"MCP Server"})]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground leading-relaxed -mt-2",children:["Install the ",a," MCP server so agents can access ",a," directly."]}),I.map(a=>{let c=l[a],e=t?.[a]??!1,f=D===a,i=F[a];return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:c.name}),e?(0,b.jsxs)("span",{className:"text-xs font-medium text-green-600 flex items-center gap-1",children:[(0,b.jsx)(d.CheckCircle2,{className:"h-3.5 w-3.5"}),"Installed"]}):(0,b.jsx)("button",{onClick:()=>H(a),disabled:f||!u,className:"flex items-center gap-1.5 px-3 py-1 bg-secondary text-secondary-foreground rounded-md text-xs font-semibold hover:bg-secondary/90 disabled:opacity-50 transition-all active:scale-[0.98]",children:f?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Loader2,{className:"h-3 w-3 animate-spin"}),"Installing…"]}):(0,b.jsx)(b.Fragment,{children:"Install"})})]}),e&&(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground",children:["Configured in ",(0,b.jsx)("code",{className:"font-mono",children:c.configPath})]}),i&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-destructive bg-destructive/10 p-2 rounded-md",children:[(0,b.jsx)(h.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),i]})]},a)})]})})]});let J=async()=>{if(v.trim()){C(!0),y(null);try{let a=await p(v.trim());a.ok?(w(""),A(!1)):y(a.error??"Failed to connect")}catch(a){y("An unexpected error occurred")}finally{C(!1)}}};return(0,b.jsxs)("div",{className:"flex flex-col items-center gap-6 p-8",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(k.TrackerIcon,{trackerType:a,className:"h-16 w-16"}),(0,b.jsx)("div",{className:"absolute -bottom-1 -right-1 h-6 w-6 rounded-full bg-background border flex items-center justify-center shadow-sm",children:(0,b.jsx)(f.Globe,{className:"h-3 w-3 text-muted-foreground"})})]}),(0,b.jsxs)("div",{className:"text-center space-y-2",children:[(0,b.jsxs)("h3",{className:"text-lg font-semibold capitalize",children:["Connect to ",a]}),(0,b.jsxs)("p",{className:"text-sm text-muted-foreground text-center max-w-sm leading-relaxed",children:["Link your ",a," account to import issues, track progress, and automate your workflow."]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-3 w-full max-w-xs pt-2",children:[(0,b.jsxs)("button",{onClick:o,className:"flex items-center justify-center gap-2 w-full px-4 py-2.5 bg-primary text-primary-foreground rounded-lg text-sm font-semibold hover:bg-primary/90 transition-all active:scale-[0.98] shadow-sm",children:[(0,b.jsx)(f.Globe,{className:"h-4 w-4"}),"Connect with OAuth"]}),(0,b.jsxs)("button",{onClick:()=>{A(!z),y(null)},className:"flex items-center justify-center gap-2 w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors font-medium",children:[(0,b.jsx)(e.Key,{className:"h-3.5 w-3.5"}),z?"Use OAuth instead":"Connect with API key"]}),(0,b.jsx)("div",{className:`grid transition-all duration-300 ease-in-out ${z?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0 pointer-events-none"}`,children:(0,b.jsx)("div",{className:"overflow-hidden",children:(0,b.jsxs)("div",{className:"flex flex-col gap-3 pt-2",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("input",{type:"password",value:v,onChange:a=>{w(a.target.value),x&&y(null)},placeholder:"Paste your API key here",className:`w-full px-3 py-2 border rounded-lg text-sm bg-background transition-colors focus:outline-none focus:ring-2 focus:ring-primary/20 ${x?"border-destructive":"focus:border-primary"}`,onKeyDown:a=>"Enter"===a.key&&J()}),(0,b.jsx)(e.Key,{className:"absolute right-3 top-2.5 h-4 w-4 text-muted-foreground/50"})]}),x&&(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-destructive bg-destructive/10 p-2 rounded-md",children:[(0,b.jsx)(h.AlertCircle,{className:"h-3.5 w-3.5 shrink-0"}),(0,b.jsx)("p",{children:x})]}),(0,b.jsx)("button",{onClick:J,disabled:B||!v.trim(),className:"flex items-center justify-center gap-2 w-full px-4 py-2 bg-secondary text-secondary-foreground rounded-lg text-sm font-semibold hover:bg-secondary/90 disabled:opacity-50 transition-all active:scale-[0.98]",children:B?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.Loader2,{className:"h-4 w-4 animate-spin"}),"Connecting..."]}):"Verify & Connect"}),(0,b.jsxs)("p",{className:"text-[10px] text-muted-foreground text-center px-2",children:["Your API key is stored securely and only used for ",a," integration."]})]})})})]})]})}a.s(["default",()=>m])},742557,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(285320),e=a.i(44668),f=a.i(500650),g=a.i(778784),h=a.i(392045),i=a.i(830284),j=a.i(947218),k=a.i(227444);let l=[{type:"linear",label:"Linear"},{type:"jira",label:"Jira Cloud"}];function m(){return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-[calc(100vh-3.5rem)] gap-8 p-8 -mt-7 animate-pulse",children:[(0,b.jsxs)("div",{className:"space-y-3 text-center flex flex-col items-center",children:[(0,b.jsx)("div",{className:"h-7 w-56 rounded-lg bg-muted"}),(0,b.jsx)("div",{className:"h-4 w-80 rounded bg-muted"})]}),(0,b.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 w-full max-w-lg",children:[0,1].map(a=>(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4 p-8 rounded-xl border border-border",children:[(0,b.jsx)("div",{className:"h-16 w-16 rounded-xl bg-muted"}),(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,b.jsx)("div",{className:"h-4 w-20 rounded bg-muted"}),(0,b.jsx)("div",{className:"h-3 w-24 rounded bg-muted"})]})]},a))})]})}function n(){return(0,b.jsxs)("div",{className:"flex flex-col items-center gap-6 p-8 animate-pulse",children:[(0,b.jsx)("div",{className:"h-16 w-16 rounded-xl bg-muted"}),(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 w-full max-w-sm",children:[(0,b.jsx)("div",{className:"h-5 w-40 rounded bg-muted"}),(0,b.jsx)("div",{className:"h-3 w-72 rounded bg-muted"}),(0,b.jsx)("div",{className:"h-3 w-56 rounded bg-muted"})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-3 w-full max-w-xs pt-2",children:[(0,b.jsx)("div",{className:"h-10 w-full rounded-lg bg-muted"}),(0,b.jsx)("div",{className:"h-8 w-full rounded-lg bg-muted/60"})]})]})}function o({params:a}){let{slug:o}=(0,c.use)(a),{projects:p}=(0,i.useProjects)(),q=p.find(a=>a.slug===o),r=q?.id??"",{connections:s,loading:t,removeConnection:u}=(0,k.useTrackerConnections)(r),v=new Set(s.filter(a=>a.connected).map(a=>a.type)),[w,x]=(0,c.useState)(null),{connected:y,loading:z,connect:A,connectWithKey:B,disconnect:C,clis:D,mcpConfigured:E,configureMcp:F}=(0,j.useTrackerConnection)(w??"linear",r);return(0,b.jsx)("div",{className:"flex flex-col h-full bg-background",children:(0,b.jsx)("main",{className:"flex-1 overflow-auto",children:w?(0,b.jsx)("div",{className:"flex flex-col items-center px-6 py-12",children:(0,b.jsxs)("div",{className:"w-full max-w-2xl",children:[(0,b.jsxs)("button",{onClick:()=>x(null),className:"group flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground mb-8 transition-colors",children:[(0,b.jsx)(d.ArrowLeft,{className:"h-3 w-3 transition-transform group-hover:-translate-x-0.5"}),"Back to tracker picker"]}),(0,b.jsxs)("div",{className:"bg-card border rounded-xl shadow-sm overflow-hidden",children:[(0,b.jsx)("div",{className:"px-6 pt-8 pb-1 text-center",children:(0,b.jsxs)("h2",{className:"text-2xl font-semibold tracking-tight",children:["Connect ",l.find(a=>a.type===w)?.label??w]})}),z?(0,b.jsx)(n,{}):(0,b.jsx)(g.default,{projectId:r,trackerType:w,connected:y,loading:!1,onConnect:A,onConnectWithKey:B,onDisconnect:()=>{C(),x(null)},clis:D,mcpConfigured:E,onConfigureMcp:F})]})]})}):t?(0,b.jsx)(m,{}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-[calc(100vh-3.5rem)] gap-8 p-8 -mt-7",children:[(0,b.jsxs)("div",{className:"space-y-2 text-center",children:[(0,b.jsx)("h2",{className:"text-2xl font-bold tracking-tight",children:"Connect Issue Tracker"}),(0,b.jsx)("p",{className:"text-muted-foreground max-w-md mx-auto",children:"Choose an issue tracker to connect to this project to enable issue tracking and agent workflows."})]}),(0,b.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 w-full max-w-lg",children:l.map(a=>{let c=v.has(a.type);return(0,b.jsxs)("div",{className:"relative flex flex-col items-center gap-4 p-8 rounded-xl border transition-all duration-200 group "+(c?"border-green-500/20 bg-green-500/5":"border-border hover:border-primary/50 hover:bg-accent/50 hover:shadow-md cursor-pointer active:scale-[0.98]"),onClick:()=>!c&&x(a.type),children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(h.TrackerIcon,{trackerType:a.type,className:"h-16 w-16 transition-transform group-hover:scale-105"}),c&&(0,b.jsx)("div",{className:"absolute -top-1 -right-1 h-6 w-6 rounded-full bg-green-500 border-2 border-background flex items-center justify-center text-white shadow-sm",children:(0,b.jsx)(e.CheckCircle2,{className:"h-4 w-4"})})]}),(0,b.jsxs)("div",{className:"flex flex-col items-center gap-1",children:[(0,b.jsx)("span",{className:"text-base font-semibold",children:a.label}),c?(0,b.jsx)("span",{className:"text-xs font-medium text-green-600",children:"Connected"}):(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"Click to connect"})]}),c&&(0,b.jsxs)("button",{onClick:b=>{b.stopPropagation(),u(a.type)},className:"flex items-center gap-1.5 text-xs text-muted-foreground hover:text-destructive transition-colors",children:[(0,b.jsx)(f.LogOut,{className:"h-3.5 w-3.5"}),"Disconnect"]})]},a.type)})})]})})})}a.s(["default",()=>o])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=apps_local_5eebb5cb._.js.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module.exports=[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",()=>b],697183)},520612,a=>{"use strict";var b=a.i(786220),c=a.i(516909);function d(a){return"string"!=typeof a?null:a.trim()||null}function e(a,b){return(a.get(b)?.trim()??"")||null}function f(){let a=(0,c.useRouter)(),f=(0,c.usePathname)(),g=(0,c.useSearchParams)(),h=(0,b.useCallback)(a=>e(g,a),[g]),i=(0,b.useCallback)((a,b)=>(function(a,b,c){let f=function(a,b){let c={...b},f=a=>Object.prototype.hasOwnProperty.call(b,a);if(f("issue")&&!f("run")){let f=e(a,"issue");d(b.issue)!==f&&(c.run=null)}if(f("job")&&!f("run")){let f=e(a,"job");d(b.job)!==f&&(c.run=null)}if(f("open")&&!f("message")){let f=e(a,"open");d(b.open)!==f&&(c.message=null)}if(f("group")&&!f("issue")){let f=e(a,"group");d(b.group)!==f&&(c.issue=null,c.run=null)}if(f("issue")&&!f("group")){let f=e(a,"issue");d(b.issue)!==f&&(c.group=null)}return c}(b,c),g=new URLSearchParams(b.toString());for(let[a,b]of Object.entries(f)){let c=d(b);c?g.set(a,c):g.delete(a)}let h=g.toString();return h?`${a}?${h}`:a})(b??f,g,a),[f,g]),j=(0,b.useCallback)((b,c)=>{a.push(i(b,c))},[i,a]),k=(0,b.useCallback)((b,c)=>{a.replace(i(b,c))},[i,a]);return{pathname:f,searchParams:g,getSelection:h,buildHref:i,pushSelection:j,replaceSelection:k}}a.s(["useUrlSelection",()=>f])},155829,496368,a=>{"use strict";var b=a.i(786220);function c(a){return`threadId=${encodeURIComponent(a)}`}function d(a){return`workspaceId=${encodeURIComponent(a)}`}function e(a){let[e,f]=(0,b.useState)([]),[g,h]=(0,b.useState)([]),[i,j]=(0,b.useState)([]),k=(0,b.useRef)(a),l=(0,b.useRef)(a);k.current=a,l.current!==a&&(l.current=a,f([]),h([]),j([]));let m=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);try{let[a,c]=await Promise.all([fetch(`/api/history?${e}`),fetch(`/api/logs?${d(b)}`)]);if(k.current!==b)return;a.ok&&f(await a.json()),c.ok&&h(await c.json())}catch{}},[]),n=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);await Promise.all([fetch(`/api/history?${e}`,{method:"DELETE"}),fetch(`/api/logs?${d(b)}`,{method:"DELETE"})]),k.current===b&&(f([]),h([]))},[]),o=(0,b.useCallback)(async(a,b=10,c,d,e,g,h,i,l,m)=>{let n=c?.trim()||k.current?.trim();if(!n)return;let o=Date.now(),p=crypto.randomUUID(),q={id:p,role:"user",participantId:null,content:a,timestamp:o,rootMessageId:d||null,parentMessageId:d||null,depth:+!!d,...g&&g.length>0?{attachments:g}:{}};f(a=>[...a,q]);try{let c=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,prompt:a,promptPrefix:l||void 0,maxRounds:b,userMessageId:p,rootMessageId:d||void 0,attachmentIds:e?.length?e:void 0,activeParticipantIds:Array.isArray(h)?h:void 0,projectSlug:i?.trim()||void 0,routing:m})}),g=await c.json().catch(a=>(console.warn("[useGroupChat] failed to parse run response:",a),null));c.ok&&g?.chatRunId?j(a=>[{chatRunId:g.chatRunId,threadId:n,rootMessageId:d||p,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...a.filter(a=>a.chatRunId!==g.chatRunId)]):c.ok||(console.error(`[useGroupChat] POST /api/chat failed (${c.status}):`,g?.error||c.statusText),f(a=>a.map(a=>a.id===p?{...a,sendFailed:!0}:a)))}catch(a){console.error("[useGroupChat] network error sending message:",a),f(a=>a.map(a=>a.id===p?{...a,sendFailed:!0}:a))}return p},[]),p=(0,b.useCallback)(async()=>{let a=k.current?.trim();if(a)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]),q=(0,b.useCallback)(async a=>{let b=k.current?.trim();if(b)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(b)}&threadId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]);return{messages:e,setMessages:f,logs:g,sendMessage:o,loadHistory:m,clearHistory:n,clearLogs:(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();b?(await fetch(`/api/logs?${d(b)}`,{method:"DELETE"}).catch(a=>console.warn("[useGroupChat] delete logs failed:",a)),k.current===b&&h([])):h([])},[]),chatRuns:i,setChatRuns:j,stop:p,stopThread:q}}a.s(["useGroupChat",()=>e],155829);let f=new Set(["spawning","running"]);function g(a,c){let d=c?.intervalMs??1500,e=c?.idleIntervalMs??1e4,[g,h]=(0,b.useState)(new Set),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)({}),[m,n]=(0,b.useState)([]),o=(0,b.useRef)(a);o.current=a,(0,b.useRef)(c?.messages??[]).current=c?.messages??[];let p=(0,b.useRef)(c?.setMessages);p.current=c?.setMessages;let q=(0,b.useRef)(0),r=(0,b.useRef)(new Map),s=(0,b.useRef)(new Map);(0,b.useEffect)(()=>{let a=c?.messages??[];if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>q.current&&(q.current=b)}},[c?.messages]),(0,b.useEffect)(()=>()=>{for(let a of r.current.values())a.close();r.current.clear()},[]);let t=(0,b.useCallback)(async()=>{let a=o.current;if(!a){h(new Set),j([]),l({}),n([]);return}let b=null;if(a.threadId?b=`/api/processes?threadId=${encodeURIComponent(a.threadId)}`:a.workspaceId&&(b=`/api/processes?workspaceId=${encodeURIComponent(a.workspaceId)}`),!b){h(new Set),j([]),l({}),n([]);return}try{let d=a.workspaceId||a.threadId,e=d?`/api/history?threadId=${encodeURIComponent(d)}&since=${q.current}`:null,g=d?`/api/chat-runs?threadId=${encodeURIComponent(d)}&limit=20`:null,i=[fetch(b)];e&&i.push(fetch(e)),g&&i.push(fetch(g));let[k,l,m]=await Promise.all(i),r=o.current;if(r?.threadId!==a.threadId||r?.workspaceId!==a.workspaceId)return;if(k.ok){let a=await k.json();j(a);let b=new Set(a.filter(a=>f.has(a.state)).map(a=>a.agentId));h(b)}if(m?.ok){var c;let a=(c=await m.json(),Array.isArray(c)?c.map(a=>{if(!a||"object"!=typeof a)return null;let b="string"==typeof a.chatRunId?a.chatRunId:"string"==typeof a.id?a.id:null,c="string"==typeof a.threadId?a.threadId:null,d="string"==typeof a.status?a.status:null,e="string"==typeof a.rootMessageId?a.rootMessageId:(a.rootMessageId,null);return b&&c&&d&&("queued"===d||"running"===d||"awaiting_user"===d||"blocked"===d||"completed"===d||"failed"===d||"cancelled"===d)?{chatRunId:b,threadId:c,rootMessageId:e,status:d,optimistic:!1}:null}).filter(a=>!!a):[]);n(a)}if(l?.ok&&p.current){let a=await l.json();if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>q.current&&(q.current=b),p.current(b=>{let c=new Set(b.map(a=>a.id)),d=a.filter(a=>!c.has(a.id)),e=b.map(b=>a.find(a=>a.id===b.id)??b);return 0===d.length?e:[...e,...d].sort((a,b)=>a.timestamp-b.timestamp)})}}}catch{}},[]);(0,b.useEffect)(()=>{let a=m.filter(a=>"queued"===a.status||"running"===a.status),b=new Set(a.map(a=>a.chatRunId));for(let[a,c]of r.current.entries())b.has(a)||(c.close(),r.current.delete(a),s.current.delete(a));for(let b of a){if(r.current.has(b.chatRunId))continue;let a=new EventSource(`/api/chat-runs/${encodeURIComponent(b.chatRunId)}/events`);r.current.set(b.chatRunId,a);let c=new Map;s.current.set(b.chatRunId,c);let d=new Set;a.addEventListener("chat",e=>{let f;try{f=JSON.parse(e.data)}catch{return}switch(f.type){case"participant-start":case"participant-thinking":d.add(f.participantId),c.has(f.participantId)||c.set(f.participantId,{text:"",thoughts:[]}),l(a=>a[f.participantId]?a:{...a,[f.participantId]:{content:"",rootMessageId:b.rootMessageId??null}});break;case"text-delta":{c.has(f.participantId)||c.set(f.participantId,{text:"",thoughts:[]});let a=c.get(f.participantId);a&&(a.text+=f.delta,l(c=>{let d={...c},e=b.rootMessageId??null;return d[f.participantId]={content:a.text,rootMessageId:e},d}));break}case"participant-thought":{let a=c.get(f.participantId);a&&(a.thoughts.push(f.content),l(b=>{let c=b[f.participantId];return c?{...b,[f.participantId]:{...c,thoughts:[...a.thoughts]}}:b}));break}case"participant-end":d.delete(f.participantId),t().then(()=>{l(a=>{let b={...a};return delete b[f.participantId],b})});break;case"participant-error":d.delete(f.participantId),t().then(()=>{l(a=>{let b={...a};return delete b[f.participantId],b})});break;case"done":a.close(),r.current.delete(b.chatRunId),s.current.delete(b.chatRunId)}}),a.onerror=()=>{a.close(),r.current.delete(b.chatRunId),s.current.delete(b.chatRunId)}}},[m]);let u=a?.threadId||a?.workspaceId||null,v=m.some(a=>"queued"===a.status||"running"===a.status),w=i.some(a=>f.has(a.state)),x=v||w?d:e;return(0,b.useEffect)(()=>{if(!u){h(new Set),j([]),l({}),n([]);return}t();let a=setInterval(t,x);return()=>clearInterval(a)},[u,x,t]),{activeAgents:g,processes:i,streaming:k,chatRuns:m,poll:t}}a.s(["useProcessPolling",()=>g],496368)},785061,a=>{"use strict";function b(a){if("string"==typeof a)return a.trim()||void 0}function c(a,c){let d=new Set,e=new Set;!function a(b,c){if(b)for(let d of b)c(d),a(d.content,c)}(a.content,a=>{if("participantMention"!==a.type)return;let b=a.attrs??{},c="string"==typeof b.id?b.id.trim():"",f="string"==typeof b.kind?b.kind:"agent";c&&"agent"===f&&(d.add(c),"parallel"===b.mode&&e.add(c))});let f=b(c);return{...f?{pinnedParticipantId:f}:{},mentionedParticipantIds:Array.from(d),parallelParticipantIds:Array.from(e)}}function d(a,c){let d=function(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();!a||b.has(a)||(b.add(a),c.push(a))}return c}(a),e=b(c);return e&&d.includes(e)?[e,...d.filter(a=>a!==e)]:d}a.s(["extractComposerRouting",()=>c,"orderParticipantIds",()=>d])},734709,a=>{"use strict";var b=a.i(308316),c=a.i(786220);function d({isOpen:a,title:d,message:e,preview:f,confirmLabel:g="Confirm",cancelLabel:h="Cancel",variant:i="default",onConfirm:j,onCancel:k}){let l=(0,c.useRef)(null),m=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(a){let a=setTimeout(()=>l.current?.focus(),50);return()=>clearTimeout(a)}},[a]);let n=(0,c.useCallback)(a=>{"Escape"===a.key&&k()},[k]);if(!a)return null;let o="danger"===i;return(0,b.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:a=>a.target===a.currentTarget&&k(),onKeyDown:n,children:[(0,b.jsxs)("div",{ref:m,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,b.jsx)("div",{className:"px-6 pt-6 pb-3",children:(0,b.jsxs)("div",{className:"flex items-start gap-4",children:[o&&(0,b.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,b.jsx)("svg",{className:"w-5 h-5 text-red-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:(0,b.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,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("h3",{className:"text-[15px] font-semibold text-[var(--foreground)]",children:d}),(0,b.jsx)("p",{className:"mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:e})]})]})}),f&&(0,b.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,b.jsxs)("p",{className:"text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",f,"”"]})}),(0,b.jsx)("div",{className:"mx-6 border-t border-[var(--card-border)]"}),(0,b.jsxs)("div",{className:"px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,b.jsx)("button",{onClick:k,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:h}),(0,b.jsx)("button",{ref:l,onClick:j,className:`px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${o?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:g})]})]}),(0,b.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
|
+
`})]})}a.s(["default",()=>d])}];
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=apps_local_7395ab20._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[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",()=>b],697183)},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",()=>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",()=>b],820859)},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",()=>b],549429)},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",()=>b],654340)},44668,a=>{"use strict";let b=(0,a.i(831709).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],44668)},947218,a=>{"use strict";var b=a.i(786220);let c=new Map;function d(a){let b=c.get(a);return b?Date.now()-b.ts>3e5?(c.delete(a),null):b:null}function e(a){c.delete(a)}function f(a,f){let[g,h]=(0,b.useState)(!1),[i,j]=(0,b.useState)(!0),[k,l]=(0,b.useState)(null),[m,n]=(0,b.useState)({claude:!1,codex:!1,gemini:!1}),[o,p]=(0,b.useState)({}),q=(0,b.useRef)(null),r=`/api/trackers/${encodeURIComponent(a)}`,s=`${a}:${f}`,t=(0,b.useCallback)(async()=>{try{let a=await fetch(`${r}/mcp-setup`),b=await a.json();p(b.configured??{})}catch{}},[r]),u=(0,b.useCallback)(async()=>{if(!f)return h(!1),!1;let a=d(s);if(a)return h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1),a.connected;try{var b;let a=`?projectId=${encodeURIComponent(f)}`,[d,e]=await Promise.all([fetch(`${r}/status${a}`),fetch(`${r}/mcp-setup`)]),g=await d.json(),i=await e.json(),j=g.clis??{claude:!1,codex:!1,gemini:!1},k=i.configured??{},m=g.user??null;return h(g.connected),l(m),n(j),p(k),b={connected:g.connected,user:m,clis:j,mcpConfigured:k},c.set(s,{...b,ts:Date.now()}),g.connected}catch{return h(!1),!1}finally{j(!1)}},[f,r,s]);(0,b.useEffect)(()=>{let a=d(s);a?(h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1)):(j(!0),h(!1),l(null))},[a,f,s]),(0,b.useEffect)(()=>(u(),()=>{q.current&&clearInterval(q.current)}),[u]);let v=(0,b.useCallback)(()=>{f&&(e(s),window.open(`${r}/auth?projectId=${encodeURIComponent(f)}`,"_blank","noopener"),q.current&&clearInterval(q.current),q.current=setInterval(async()=>{e(s),await u()&&q.current&&(clearInterval(q.current),q.current=null)},2e3))},[f,r,s,u]),w=(0,b.useCallback)(async a=>{if(!f)return{ok:!1,error:"Missing projectId"};try{let b=await fetch(`${r}/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:f,accessToken:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to save token"}}return e(s),await u(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[f,r,s,u]);return{connected:g,loading:i,user:k,clis:m,mcpConfigured:o,connect:v,connectWithKey:w,disconnect:(0,b.useCallback)(async()=>{f&&(e(s),await fetch(`${r}/status?projectId=${encodeURIComponent(f)}`,{method:"DELETE"}),h(!1),l(null))},[f,r,s]),configureMcp:(0,b.useCallback)(async a=>{try{let b=await fetch(`${r}/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 t(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[r,t]),refresh:u}}a.s(["useTrackerConnection",()=>f])},53954,a=>{"use strict";var b=a.i(308316),c=a.i(850985);function d({icon:a,title:d,description:e,ctaLabel:f,ctaHref:g}){return(0,b.jsx)("div",{className:"h-full w-full flex items-center justify-center bg-[var(--background)] px-6 py-12",children:(0,b.jsxs)("div",{className:"max-w-md w-full text-center space-y-6",children:[(0,b.jsx)("div",{className:"mx-auto w-14 h-14 rounded-2xl bg-[var(--secondary)] flex items-center justify-center",children:a}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("h1",{className:"text-[22px] font-bold text-[var(--foreground)] tracking-tight",children:d}),(0,b.jsx)("p",{className:"text-[14px] text-[var(--muted-foreground)] leading-relaxed",children:e})]}),(0,b.jsx)(c.default,{href:g,className:"inline-flex items-center gap-2 px-6 py-2.5 bg-[var(--foreground)] text-[var(--background)] text-[14px] font-semibold rounded-lg hover:opacity-90 transition-all",children:f})]})})}a.s(["EmptyStateCard",()=>d])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=apps_local_86f59be8._.js.map
|
package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_988d29c0._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[970393,a=>{"use strict";let b=(0,a.i(831709).default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);a.s(["PanelLeftOpen",()=>b],970393)},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",()=>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",()=>b],523321)},166621,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(850985),e=a.i(639211);function f(){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]})]})]})}a.s(["StatusIndicator",()=>f])},550158,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(197180),e=a.i(811760),f=a.i(66456),g=a.i(157633),h=a.i(736868),i=a.i(831709);let j=(0,i.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);var k=a.i(353532),l=a.i(542341),m=a.i(824179),n=a.i(642784),o=a.i(489461),p=a.i(985339);let q=(0,i.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var r=a.i(737313),s=a.i(144462);let t=(0,i.default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var u=a.i(850985),v=a.i(529889),w=a.i(8e4),x=a.i(188834),y=a.i(769677),z=a.i(719550);function A({compact:a=!1}){return(0,b.jsxs)("span",{className:`workspace-sidebar__brand-logo${a?" workspace-sidebar__brand-logo--compact":""}`,"aria-hidden":"true",children:[(0,b.jsxs)("span",{className:"workspace-sidebar__brand-grid",children:[(0,b.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--blue"}),(0,b.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--yellow"}),(0,b.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--mint"}),(0,b.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--red"})]}),(0,b.jsx)("span",{className:"workspace-sidebar__brand-text",children:"AGX"})]})}function B({label:a,children:e}){let f=(0,c.useRef)(null),[g,h]=(0,c.useState)(null);return(0,b.jsxs)("div",{ref:f,onMouseEnter:()=>{let a=f.current?.firstElementChild??f.current;if(!a)return;let b=a.getBoundingClientRect();h({top:b.top+b.height/2,left:b.right+8})},onMouseLeave:()=>h(null),style:{display:"contents"},children:[e,g&&(0,d.createPortal)((0,b.jsx)("div",{className:"workspace-sidebar__rail-tooltip",style:{top:g.top,left:g.left,transform:"translateY(-50%)"},children:a}),document.body)]})}function C({projects:a,activeProjectId:d,onSelectProject:f,onCreateProject:h}){let[i,j]=(0,c.useState)(!1),[n,o]=(0,c.useState)(""),p=(0,c.useRef)(null),q=(0,c.useRef)(null),r=a.find(a=>a.id===d)??a[0],s=n.trim()?a.filter(a=>a.name.toLowerCase().includes(n.toLowerCase())):a;return(0,c.useEffect)(()=>{if(!i)return;let a=a=>{p.current&&!p.current.contains(a.target)&&(j(!1),o(""))};return document.addEventListener("pointerdown",a),()=>document.removeEventListener("pointerdown",a)},[i]),(0,c.useEffect)(()=>{i&&q.current&&q.current.focus()},[i]),(0,b.jsxs)("div",{className:"relative px-3 pt-3 pb-2",ref:p,children:[(0,b.jsxs)("button",{type:"button",onClick:()=>j(!i),className:"flex w-full items-center gap-2 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] px-2.5 py-2 text-sm text-[var(--foreground)] transition-all hover:border-[var(--app-shell-border-strong)]",children:[(0,b.jsx)(g.Folder,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"flex-1 truncate text-left font-medium",children:r?.name??"Select project"}),(0,b.jsx)(e.ChevronDown,{size:14,className:`flex-shrink-0 text-[var(--muted-foreground)] transition-transform ${i?"rotate-180":""}`})]}),i&&(0,b.jsxs)("div",{className:"absolute left-3 right-3 z-50 mt-1 rounded-lg 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(--app-shell-border)]",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-2 py-1.5",children:[(0,b.jsx)(l.Search,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("input",{ref:q,type:"text",value:n,onChange:a=>o(a.target.value),placeholder:"Search projects...",className:"flex-1 bg-transparent text-xs text-[var(--foreground)] placeholder:text-[var(--muted-foreground)] outline-none"}),n&&(0,b.jsx)("button",{type:"button",onClick:()=>o(""),className:"text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,b.jsx)(m.X,{size:10})})]})}),(0,b.jsxs)("div",{className:"max-h-52 overflow-y-auto py-1",children:[s.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{f?.(a.id),j(!1),o("")},className:`flex w-full items-center gap-2 px-3 py-1.5 text-sm transition-colors hover:bg-[var(--app-shell-subtle)] ${a.id===r?.id?"text-[var(--foreground)] font-medium":"text-[var(--muted-foreground)]"}`,children:[(0,b.jsx)(g.Folder,{size:12,className:"flex-shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.name})]},a.id)),0===s.length&&(0,b.jsx)("p",{className:"px-3 py-2 text-xs text-[var(--muted-foreground)]",children:"No projects found"})]}),(0,b.jsx)("div",{className:"border-t border-[var(--app-shell-border)] p-1",children:(0,b.jsxs)("button",{type:"button",onClick:()=>{j(!1),o(""),h()},className:"flex w-full items-center gap-2 rounded-md px-2.5 py-1.5 text-xs text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:[(0,b.jsx)(k.Plus,{size:12}),(0,b.jsx)("span",{children:"New project"})]})})]})]})}function D({threads:a,participants:e=[],activeThreadId:g,isLoading:i,isCreating:l,onSelectThread:D,onCreateThread:E,onRenameThread:F,onDeleteThread:G,deletingThreadId:H=null,renamingThreadId:I=null,activeParticipantIds:J=[],onToggleParticipantActive:K,visible:L=!1,isRestoringActiveThread:M=!1,onToggle:N,onSearch:O,projects:P=[],onCreateProject:Q,onUpdateProject:R,onDeleteProject:S,onAddAgentToProject:T,onRemoveAgentFromProject:U,onAddAgentViaForm:V,onReorderProjectAgents:W,onUpdateParticipant:X,onSelectProject:Y,activeProjectId:Z=null,activeProjectView:$=null,width:_,onWidthChange:aa,onAddTeam:ab,stageShow:ac}){let ad,ae,{isTouchLayout:af,isPhone:ag}=(0,v.useInputCapabilities)(),ah=(0,c.useRef)(!1);(0,c.useRef)(0);let ai=(0,c.useRef)(null),[aj,ak]=(0,c.useState)(!1),[al,am]=(0,c.useState)(new Set);(0,c.useEffect)(()=>{if(al.size>0||!P?.length)return;let a=P.find(a=>!1);am(new Set([a?.id??P[0].id]))},[P]);let[an,ao]=(0,c.useState)(null),[ap,aq]=(0,c.useState)(new Set),[ar,as]=(0,c.useState)(!1),[at,au]=(0,c.useState)(null),[av,aw]=(0,c.useState)(null),ax=(0,x.useProjectFormState)(),[ay,az]=(0,c.useState)(null),aA=(0,c.useCallback)(a=>{a&&(a.focus(),a.select())},[]),[aB,aC]=(0,c.useState)(null),[aD,aE]=(0,c.useState)(null),aF=aD?e.find(a=>a.id===aD)??null:null,[aG,aH]=(0,c.useState)(null),[aI,aJ]=(0,c.useState)({});(0,c.useEffect)(()=>{if(!P?.length)return;let a=!1,b=async()=>{try{let b=await fetch("/api/processes?enrich=1");if(!b.ok||a)return;let c=await b.json();if(a)return;let d=c.filter(a=>"spawning"===a.state||"running"===a.state),f={};for(let a of P){let b=a.slug.trim().toLowerCase(),c=new Set((a.thread_ids??[]).map(a=>a.trim()).filter(Boolean)),g=[],h=[],i=[],j=new Set,k=new Set,l=new Set;for(let a of d){let d=a.projectSlug?.trim().toLowerCase();if(!(d&&d===b||c.has(a.workspaceId)||c.has(a.threadId)))continue;let f=e.find(b=>b.id===a.agentId),m={agentId:a.agentId,color:f?.color??"#10b981"};a.linearIssueId?k.has(a.agentId)||(k.add(a.agentId),h.push(m)):a.threadId?.startsWith("objective-chat:")||a.workspaceId?.startsWith("objective-chat:")?j.has(a.agentId)||(j.add(a.agentId),g.push(m)):l.has(a.agentId)||(l.add(a.agentId),i.push(m))}(g.length||h.length||i.length)&&(f[a.id]={objectives:g,linear:h,chat:i})}aJ(f)}catch{}};b();let c=setInterval(b,3e3);return()=>{a=!0,clearInterval(c)}},[P,e]);let[aK,aL]=(0,c.useState)({}),[aM,aN]=(0,c.useState)(new Set),[aO,aP]=(0,c.useState)(new Set),aQ=(0,c.useRef)(new Set);(0,c.useEffect)(()=>{Array.from(al).forEach(a=>{aO.has(a)||(aP(b=>new Set(b).add(a)),(async()=>{try{let b=await fetch(`/api/projects/${a}/teams`);if(!b.ok)return;let c=await b.json();aL(b=>({...b,[a]:c.teams??[]}))}catch{}})())})},[al,aO]);let[aR,aS]=(0,c.useState)(null),aT=async()=>{if(!at&&!av)return;if(!ax.form.name.trim())return void ax.setFormError("Project name is required");let a=ax.repos.find(a=>a.name.trim()&&!a.path.trim());if(a)return void ax.setFormError(`Local path is required for folder "${a.name}"`);ax.setFormError(null),ax.setIsSubmitting(!0);let b=(0,x.createProjectPayload)(ax.form,ax.repos);av?await R?.(av.id,b):await Q?.(b,at?.threadId),ax.setIsSubmitting(!1),au(null),aw(null)};(0,c.useEffect)(()=>{ak(!0)},[]),(0,c.useEffect)(()=>{let a=!1;async function b(){if(aG?.repoId)try{let b=await fetch(`/api/knowledge-notes?scope=repo&subjectId=${encodeURIComponent(aG.repoId)}`),c=(b.ok?await b.json():{note:null}).note;a||aH(a=>a&&a.repoId===aG.repoId?{...a,generatedKnowledge:c?.content?[{id:c.id,content:c.content,created_at:c.updatedAt??c.createdAt}]:[],isLoadingKnowledge:!1}:a)}catch{a||aH(a=>a&&a.repoId===aG.repoId?{...a,generatedKnowledge:[],isLoadingKnowledge:!1}:a)}}return aG?.repoId&&b(),()=>{a=!0}},[aG?.repoId]);let aU=an?P.find(a=>a.id===an.projectId):null,aV=new Set(aU?.agents.map(a=>a.agent_id)??[]),aW=an?e.filter(a=>!aV.has(a.id)):[],aX=a.length>0,aY=!!L,aZ=(0,c.useCallback)(()=>{af&&N?.()},[af,N]),a$=[...a].sort((a,b)=>(a.title??"").localeCompare(b.title??"")),a_=new Map(a.map(a=>[a.id,a])),a0=P.filter(a=>!a.is_default),a1=a0.find(a=>a.id===Z)??a0[0]??null,a2=ac??{home:!0,threads:!0,terminal:!0,objectives:!1,objectivesIsNew:!1,linear:!1,teams:!1,folders:!1,scheduledTasks:!1,envVars:!1};if((0,c.useEffect)(()=>{if(0===a0.length)return;let b=new Map,c=new Set,d=new Map;for(let a of a0){for(let b of a.thread_ids??[])"string"==typeof b&&b.trim()&&c.add(b);for(let c of(0,y.readProjectObjectivesWorkspace)(a.metadata).objectives){let d=c.id.trim();d&&b.set(d,{projectId:a.id,canonicalThreadId:c.threadId?.trim()||`objective-chat:${d}`})}}for(let b of a){let a=b.metadata&&"object"==typeof b.metadata?b.metadata:null,c="objective"===("string"==typeof a?.scope?a.scope:"")||b.id.startsWith("objective-chat:"),e=b.title?.trim().toLowerCase()??"";if(!c||!e)continue;let f=d.get(e)??[];f.push(b),d.set(e,f)}for(let[a,b]of d)d.set(a,[...b].sort((a,b)=>b.updatedAt-a.updatedAt));for(let e of a){let a=e.metadata&&"object"==typeof e.metadata?e.metadata:null,f="string"==typeof a?.scope?a.scope:"",g="string"==typeof a?.objectiveId?a.objectiveId.trim():"",h=e.id.startsWith("objective-chat:")?e.id.slice(15).trim():"",i=g||h,j="objective"===f||!!h,k=e.title?.trim().toLowerCase()??"",l=0===e.messages.length&&e.updatedAt<Date.now()-3e5;if(!j)continue;let m=i?b.get(i):void 0;if(m){if(e.id!==m.canonicalThreadId&&l){let a=`delete:${e.id}`;if(aQ.current.has(a))continue;aQ.current.add(a),Promise.resolve(G(e.id)).catch(b=>{aQ.current.delete(a),console.warn("Failed to delete legacy objective thread",b)});continue}if(!c.has(e.id)){let a=`link:${e.id}`;if(aQ.current.has(a))continue;aQ.current.add(a),fetch(`/api/projects/${m.projectId}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e.id})}).then(a=>{if(!a.ok)throw Error(`Request failed with status ${a.status}`)}).catch(b=>{aQ.current.delete(a),console.warn("Failed to re-link objective thread",b)})}continue}if(!l)continue;let n=k?d.get(k)??[]:[];if(n.length<2||n[0]?.id===e.id)continue;let o=`delete:${e.id}`;aQ.current.has(o)||(aQ.current.add(o),Promise.resolve(G(e.id)).catch(a=>{aQ.current.delete(o),console.warn("Failed to delete orphan objective thread",a)}))}},[a0,G,a]),!function({focusTarget:a,shouldFocus:b}){(0,c.useEffect)(()=>{if(!b||"u"<typeof document)return;let c=a.current;if(!c||c instanceof HTMLButtonElement&&c.disabled)return;let d=document.activeElement;if(!(d&&(c===d||c.contains(d))))try{c.focus({preventScroll:!0})}catch{c.focus()}},[a,b])}({focusTarget:ai,shouldFocus:aY&&!(i&&!aX||M&&aX)&&!aX&&!l}),!aY){if(af)return null;let c=a1?.slug;return(0,b.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar workspace-sidebar--collapsed","aria-label":"Workspace sidebar",children:[(0,b.jsx)("div",{className:"workspace-sidebar__brand",children:(0,b.jsx)("button",{type:"button",onClick:N,className:"workspace-sidebar__brand-trigger border-none outline-none cursor-pointer","aria-label":"Show chats",title:"Show chats",children:(0,b.jsx)(A,{compact:!0})})}),c&&(0,b.jsxs)("nav",{className:"workspace-sidebar__collapsed-rail",children:[(0,b.jsx)(B,{label:"Home",children:(0,b.jsx)(u.default,{href:`/projects/${c}`,className:`workspace-sidebar__rail-icon${"home"===$?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(q,{size:16})})}),(a2.objectives||a2.linear||a2.scheduledTasks)&&(0,b.jsx)("div",{className:"workspace-sidebar__rail-separator"}),a2.objectives&&(0,b.jsx)(B,{label:"Objectives",children:(0,b.jsx)(u.default,{href:`/projects/${c}/objectives`,className:`workspace-sidebar__rail-icon${"objectives"===$?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(o.Target,{size:16})})}),a2.linear&&(0,b.jsx)(B,{label:"Tasks",children:(0,b.jsx)(u.default,{href:`/projects/${c}/linear`,className:`workspace-sidebar__rail-icon${"linear"===$?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(z.LinearIcon,{size:16})})}),a2.scheduledTasks&&(0,b.jsx)(B,{label:"Scheduled Jobs",children:(0,b.jsx)(u.default,{href:`/projects/${c}/automations`,className:`workspace-sidebar__rail-icon${"automations"===$?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(f.Zap,{size:16})})}),(0,b.jsx)("div",{className:"workspace-sidebar__rail-separator"}),(0,b.jsx)(B,{label:"Terminal",children:(0,b.jsx)(u.default,{href:`/projects/${c}/terminal`,className:`workspace-sidebar__rail-icon${"terminal"===$?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(s.TerminalSquare,{size:16})})}),(0,b.jsx)(B,{label:"Chat",children:(0,b.jsx)("button",{type:"button",className:`workspace-sidebar__rail-icon${"thread"===$?" workspace-sidebar__rail-icon--active":""}`,onClick:()=>{let b=a$.filter(a=>a1?.thread_ids?.includes(a.id)),c=a1?.thread_ids?.find(b=>a.some(a=>a.id===b))??b[0]?.id;c&&D(c)},children:(0,b.jsx)(r.MessageSquare,{size:16})})}),(a2.teams||a2.folders||a2.envVars)&&(0,b.jsx)("div",{className:"workspace-sidebar__rail-separator"}),a2.teams&&(0,b.jsx)(B,{label:"Teams",children:(0,b.jsx)(u.default,{href:`/projects/${c}/teams`,className:`workspace-sidebar__rail-icon${"teams"===$?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(p.Users,{size:16})})}),a2.folders&&(0,b.jsx)(B,{label:"Folders",children:(0,b.jsx)(u.default,{href:`/projects/${c}/folders`,className:`workspace-sidebar__rail-icon${"folders"===$?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(h.FolderGit2,{size:16})})}),a2.envVars&&(0,b.jsx)(B,{label:"Env Variables",children:(0,b.jsx)(u.default,{href:`/projects/${c}/env-vars`,className:`workspace-sidebar__rail-icon${"env-vars"===$?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(t,{size:16})})})]}),(0,b.jsx)("div",{className:"mt-auto p-2",children:(0,b.jsx)(B,{label:"Join Discord",children:(0,b.jsx)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"workspace-sidebar__rail-icon",style:{backgroundColor:"#5865F2",color:"white"},onMouseEnter:a=>a.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:a=>a.currentTarget.style.backgroundColor="#5865F2",children:(0,b.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,b.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})})})})})]})}return(0,b.jsxs)(b.Fragment,{children:[af?(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__backdrop",onClick:N,"aria-label":"Close sidebar"}):null,(0,b.jsxs)("aside",{id:"workspace-sidebar",className:`workspace-sidebar${af?" workspace-sidebar--drawer":""}${af&&ag?" workspace-sidebar--drawer-phone":""}`,"aria-label":"Workspace sidebar","aria-busy":i?"true":void 0,"aria-modal":af?"true":void 0,role:af?"dialog":void 0,style:!af&&_?{width:`${_}px`,minWidth:`${_}px`}:void 0,children:[(0,b.jsxs)("div",{className:"workspace-sidebar__brand",children:[(0,b.jsx)("div",{className:"workspace-sidebar__brand-content",children:(0,b.jsx)(A,{})}),N&&(0,b.jsx)("button",{type:"button",onClick:N,"aria-label":"Hide chats",title:"Hide chats",className:"workspace-sidebar__brand-toggle ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-all hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:(0,b.jsx)(j,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,b.jsxs)("div",{className:"workspace-sidebar__content",children:[(0,b.jsx)(C,{projects:a0,activeProjectId:Z,onSelectProject:a=>{Y?.(a),aZ()},onCreateProject:()=>{ax.resetForm(),aw(null),au({})}}),(()=>{if(!a1)return null;let a=a$.filter(a=>a1.thread_ids?.includes(a.id)),c=a1.thread_ids?.find(a=>a_.has(a))??a1.thread_ids?.[0]??a[0]?.id??null,d=a1.id===Z,i=d&&"home"===$,j=d&&"objectives"===$,k=d&&"linear"===$,l=d&&"automations"===$,m=d&&"terminal"===$,v=d&&"thread"===$&&c===g,x=d&&"teams"===$,y=d&&"folders"===$,A=d&&"env-vars"===$,B=aI[a1.id],C=a2.objectives||a2.linear||a2.scheduledTasks,E=a2.teams||a2.folders||a2.envVars;return(0,b.jsxs)("nav",{className:"workspace-sidebar__section",children:[(0,b.jsx)("div",{className:"px-2 mt-2 mb-3",children:(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a1.slug}`,onClick:aZ,className:`workspace-sidebar__nav-item ${i?"workspace-sidebar__nav-item--active":""}`,"aria-current":i?"page":void 0,children:[(0,b.jsx)(q,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Home"})]})})}),C&&(0,b.jsxs)("div",{className:"mb-3",children:[(0,b.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,b.jsx)("p",{className:"workspace-sidebar__section-label",children:"Work"})}),(0,b.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[a2.objectives&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a1.slug}/objectives`,onClick:aZ,className:`workspace-sidebar__nav-item ${j?"workspace-sidebar__nav-item--active":""}`,"aria-current":j?"page":void 0,children:[(0,b.jsx)(o.Target,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Objectives"}),a2.objectivesIsNew&&(0,b.jsx)("span",{className:"ml-auto inline-flex items-center rounded-full bg-indigo-500/15 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider text-indigo-500 animate-pulse",children:"NEW"}),!a2.objectivesIsNew&&B?.objectives.length>0&&(0,b.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:B.objectives.slice(0,3).map(a=>{let c=e.find(b=>b.id===a.agentId);return(0,b.jsxs)("span",{className:"relative inline-block",title:c?.name,children:[(0,b.jsx)("img",{src:(0,w.agentAvatarUrl)(c?.id??a.agentId,16,a.color),alt:c?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,b.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},a.agentId)})})]})}),a2.linear&&(0,b.jsxs)("div",{className:"workspace-sidebar__workspace-item group/linear flex items-center",children:[(0,b.jsxs)(u.default,{href:`/projects/${a1.slug}/linear`,onClick:aZ,className:`workspace-sidebar__nav-item flex-1 ${k?"workspace-sidebar__nav-item--active":""}`,"aria-current":k?"page":void 0,children:[(0,b.jsx)(z.LinearIcon,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Tasks"}),B?.linear.length>0&&(0,b.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:B.linear.slice(0,3).map(a=>{let c=e.find(b=>b.id===a.agentId);return(0,b.jsxs)("span",{className:"relative inline-block",title:c?.name,children:[(0,b.jsx)("img",{src:(0,w.agentAvatarUrl)(c?.id??a.agentId,16,a.color),alt:c?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,b.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},a.agentId)})})]}),(0,b.jsx)(u.default,{href:`/projects/${a1.slug}/linear?settings=true`,onClick:aZ,className:"flex h-5 w-5 items-center justify-center rounded opacity-0 group-hover/linear:opacity-100 hover:bg-[var(--sidebar-hover)] transition-opacity",title:"Linear settings",children:(0,b.jsx)(n.Settings,{size:11,className:"text-[var(--muted-foreground)]"})})]}),a2.scheduledTasks&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a1.slug}/automations`,onClick:aZ,className:`workspace-sidebar__nav-item ${l?"workspace-sidebar__nav-item--active":""}`,"aria-current":l?"page":void 0,children:[(0,b.jsx)(f.Zap,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Scheduled Jobs"})]})})]})]}),(0,b.jsxs)("div",{className:"mb-3",children:[(0,b.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,b.jsx)("p",{className:"workspace-sidebar__section-label",children:"Tools"})}),(0,b.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a1.slug}/terminal`,onClick:aZ,className:`workspace-sidebar__nav-item ${m?"workspace-sidebar__nav-item--active":""}`,"aria-current":m?"page":void 0,children:[(0,b.jsx)(s.TerminalSquare,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Terminal"})]})}),(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:c?(0,b.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item ${v?"workspace-sidebar__nav-item--active":""}`,onClick:()=>{D(c),aZ()},"aria-current":v?"page":void 0,children:[(0,b.jsx)(r.MessageSquare,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Chat"}),B?.chat.length>0&&(0,b.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:B.chat.slice(0,3).map(a=>{let c=e.find(b=>b.id===a.agentId);return(0,b.jsxs)("span",{className:"relative inline-block",title:c?.name,children:[(0,b.jsx)("img",{src:(0,w.agentAvatarUrl)(c?.id??a.agentId,16,a.color),alt:c?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,b.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},a.agentId)})})]}):null})]})]}),E&&(0,b.jsxs)("div",{className:"mb-3",children:[(0,b.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,b.jsx)("p",{className:"workspace-sidebar__section-label",children:"Settings"})}),(0,b.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[a2.teams&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a1.slug}/teams`,onClick:aZ,className:`workspace-sidebar__nav-item ${x?"workspace-sidebar__nav-item--active":""}`,"aria-current":x?"page":void 0,children:[(0,b.jsx)(p.Users,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Teams"})]})}),a2.folders&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a1.slug}/folders`,onClick:aZ,className:`workspace-sidebar__nav-item ${y?"workspace-sidebar__nav-item--active":""}`,"aria-current":y?"page":void 0,children:[(0,b.jsx)(h.FolderGit2,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Folders"})]})}),a2.envVars&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a1.slug}/env-vars`,onClick:aZ,className:`workspace-sidebar__nav-item ${A?"workspace-sidebar__nav-item--active":""}`,"aria-current":A?"page":void 0,children:[(0,b.jsx)(t,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Environment Variables"})]})})]})]})]})})()]}),(0,b.jsx)("div",{className:"mt-auto px-3 pb-3",children:(0,b.jsxs)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 w-full py-2 rounded-lg text-white text-sm font-medium transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:a=>a.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:a=>a.currentTarget.style.backgroundColor="#5865F2",children:[(0,b.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,b.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})}),"Join Discord"]})}),aj&&aG&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{aG.isSaving||aH(null)},children:(0,b.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] shadow-2xl",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-[var(--border)] px-5 py-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:aG.projectName}),(0,b.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--foreground)]",children:aG.repoId?aG.name||"Folder":"Add Folder"})]}),(0,b.jsx)("button",{type:"button",className:"rounded-md p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)] hover:text-[var(--muted-foreground)]",onClick:()=>{aG.isSaving||aH(null)},"aria-label":"Close folder details",disabled:aG.isSaving,children:(0,b.jsx)(m.X,{size:16})})]}),(0,b.jsxs)("div",{className:"space-y-4 px-5 py-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Name"}),(0,b.jsx)("input",{value:aG.name,onChange:a=>aH(b=>b?{...b,name:a.target.value,error:null}:b),className:"w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",disabled:aG.isSaving,placeholder:"e.g. Frontend, API Docs, Design System"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Path"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{value:aG.path,onChange:a=>aH(b=>b?{...b,path:a.target.value,error:null}:b),className:"flex-1 rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 font-mono text-xs text-[var(--foreground)]",disabled:aG.isSaving,placeholder:"Local path to folder"}),(0,b.jsx)("button",{type:"button",className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",disabled:aG.isSaving,onClick:async()=>{try{let a=await fetch("/api/filesystem/pick-folder",{method:"POST"}),b=await a.json();b.path&&aH(a=>a?{...a,path:b.path,error:null}:a)}catch{}},children:"Browse"})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Notes"}),(0,b.jsx)("textarea",{value:aG.notes,onChange:a=>aH(b=>b?{...b,notes:a.target.value,error:null}:b),className:"min-h-28 w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-3 text-sm text-[var(--foreground)] whitespace-pre-wrap",disabled:aG.isSaving,placeholder:"Coding conventions, deploy steps, doc standards, ownership rules..."})]}),aG.repoId?(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Living Note"}),aG.isLoadingKnowledge?(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading note…"}):aG.generatedKnowledge.length>0?(0,b.jsx)("div",{className:"space-y-2",children:aG.generatedKnowledge.slice(0,5).map(a=>(0,b.jsxs)("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,b.jsx)("div",{children:a.content}),a.created_at?(0,b.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(a.created_at).toLocaleString()}):null]},a.id))}):(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No note yet."})]}):null,aG.error?(0,b.jsx)("p",{className:"text-xs text-red-600",children:aG.error}):null,(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] pt-4",children:[(0,b.jsx)("button",{type:"button",className:"rounded-lg px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",onClick:()=>aH(null),disabled:aG.isSaving,children:"Cancel"}),(0,b.jsx)("button",{type:"button",className:"rounded-lg bg-[var(--foreground)] px-3 py-2 text-sm font-medium text-[var(--card-bg)] transition-colors hover:bg-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-60",disabled:aG.isSaving||!R,onClick:async()=>{let a=P.find(a=>a.id===aG.projectId);if(!a)return void aH(a=>a?{...a,error:"Project not found."}:a);let b=aG.name.trim(),c=aG.path.trim();if(!b)return void aH(a=>a?{...a,error:"Folder name is required."}:a);if(!c)return void aH(a=>a?{...a,error:"Folder path is required."}:a);aH(a=>a?{...a,isSaving:!0,error:null}:a);try{let d=aG.repoId?a.repos.map(a=>a.id===aG.repoId?{id:a.id,name:b,path:c,git_url:aG.gitUrl.trim()||void 0,notes:aG.notes.trim()||void 0}:{id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes}):[...a.repos.map(a=>({id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes})),{name:b,path:c,git_url:aG.gitUrl.trim()||void 0,notes:aG.notes.trim()||void 0}];await R?.(a.id,{repos:d}),aH(null)}catch(a){aH(b=>b?{...b,isSaving:!1,error:a instanceof Error?a.message:"Failed to save folder details."}:b)}},children:aG.isSaving?"Saving...":aG.repoId?"Save":"Add Folder"})]})]})]})}),document.body),aj&&an&&!ar&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>ao(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 max-h-[70vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsxs)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:["Add to ",aU?.name??"project"]}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>ao(null),children:(0,b.jsx)(m.X,{size:16})})]}),(0,b.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,b.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 px-4 py-2.5 text-sm text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors border-b border-[var(--border)]",onClick:()=>as(!0),children:[(0,b.jsx)(k.Plus,{size:14,className:"text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===aW.length?(0,b.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--muted-foreground)] text-center",children:"All agents are already in this project"}):aW.map(a=>{let c=ap.has(a.id);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${c?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{aq(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:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${c?"bg-[var(--foreground)] border-[var(--foreground)]":"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)("img",{src:(0,w.agentAvatarUrl)(a.id,24,a.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,b.jsx)("div",{className:"truncate font-medium text-xs",children:a.name}),(0,b.jsx)("div",{className:"truncate text-[11px] text-[var(--muted-foreground)]",children:a.model})]})]},a.id)})]}),aW.length>0&&(0,b.jsxs)("div",{className:"px-4 py-3 border-t border-[var(--border)] flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>ao(null),children:"Cancel"}),(0,b.jsxs)("button",{type:"button",disabled:0===ap.size,className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let a of ap)T?.(an.projectId,a);ao(null)},children:["Add ",ap.size>0?`(${ap.size})`:""]})]})]})}),document.body),aj&&ar&&(0,d.createPortal)((0,b.jsx)(w.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[],skillBindings:[]},submitLabel:"Create & Add",projects:P?.filter(a=>!a.is_default).map(b=>{let c=(b.thread_ids??[]).map(b=>a.find(a=>a.id===b)?.title?.trim()).filter(Boolean).join(", ")||"No chat";return{id:b.id,name:b.name,label:`${c} › ${b.name}`}}),initialProjectIds:an?[an.projectId]:[],onSubmit:async(a,b)=>{let c=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],d=c[e.length%c.length],f=a.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),g=b?.[0],h=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:f,name:a.name,provider:a.provider,model:a.model,color:a.color??d,...a.role?{role:a.role}:{},...a.identity?{identity:a.identity}:{},skills:a.skills??[],skillBindings:a.skillBindings??[],...g?{projectId:g}:{}})});if(h.ok){let a=await h.json().catch(()=>({})),c="string"==typeof a?.id&&a.id.trim()?a.id.trim():f;for(let a of(b??[]).slice(1))T?.(a,c);as(!1),ao(null)}},onCancel:()=>{as(!1)}}),document.body),aj&&ay&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>az(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:ay.title}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>az(null),children:(0,b.jsx)(m.X,{size:16})})]}),(0,b.jsxs)("form",{className:"px-4 py-4 flex flex-col gap-3",onSubmit:a=>{a.preventDefault();let b=new FormData(a.currentTarget),c=b.get("value")?.trim();c&&(ay.onSubmit(c),az(null))},children:[(0,b.jsx)("input",{ref:aA,name:"value",type:"text",defaultValue:ay.defaultValue,placeholder:ay.placeholder,className:"w-full px-3 py-2 text-sm border border-[var(--border)] rounded-lg outline-none focus:border-[var(--border)] focus:ring-1 focus:ring-[var(--border)] transition-all"}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>az(null),children:"Cancel"}),(0,b.jsx)("button",{type:"submit",className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] transition-colors",children:ay.defaultValue?"Save":"Create"})]})]})]})}),document.body),aj&&aB&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>aC(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:aB.title}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>aC(null),children:(0,b.jsx)(m.X,{size:16})})]}),(0,b.jsxs)("div",{className:"px-4 py-4 flex flex-col gap-4",children:[(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:aB.message}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>aC(null),children:"Cancel"}),(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs font-medium text-white bg-red-600 rounded-lg hover:bg-red-700 transition-colors",onClick:()=>{aB.onConfirm(),aC(null)},children:"Delete"})]})]})]})}),document.body),aj&&(at||av)&&(0,d.createPortal)((0,b.jsx)(x.default,{isOpen:!0,onClose:()=>{ax.resetForm(),au(null),aw(null)},onSubmit:()=>void aT(),editingProject:av,form:ax.form,repos:ax.repos,isSubmitting:ax.isSubmitting,formError:ax.formError,onFieldChange:(a,b)=>ax.setForm(c=>({...c,[a]:b})),onRepoChange:ax.handleRepoChange,onAddRepo:ax.addRepo,onRemoveRepo:ax.removeRepo}),document.body),aj&&aF&&(0,d.createPortal)((ad=P.filter(a=>a.agents.some(a=>a.agent_id===aF.id)),ae=P.filter(a=>!a.agents.some(a=>a.agent_id===aF.id)),(0,b.jsx)(w.AgentForm,{title:"Edit agent",initial:{name:aF.name,role:aF.role||"",provider:aF.provider,model:aF.model||"",identity:aF.identity||"",color:aF.color,skills:aF.skills||[],skillBindings:aF.skillBindings||[]},agentId:aF.id,submitLabel:"Save",projectMemberships:{current:ad.map(a=>({id:a.id,name:a.name,is_default:!!a.is_default})),available:ae.map(a=>({id:a.id,name:a.name}))},onAddToProject:T?a=>T(a,aF.id):void 0,onRemoveFromProject:U?a=>U(a,aF.id):void 0,onSubmit:async a=>{X&&await X({...aF,name:a.name,role:a.role||void 0,provider:a.provider,model:a.model,color:a.color??aF.color,...a.identity?{identity:a.identity}:{},skills:a.skills??[],skillBindings:a.skillBindings??[]}),aE(null)},onCancel:()=>aE(null)})),document.body),aa&&!af&&(0,b.jsx)("div",{className:"absolute right-0 top-0 bottom-0 z-20 w-1 cursor-col-resize group",onMouseDown:a=>{a.preventDefault(),ah.current=!0;let b=a.clientX,c=_??368;document.body.style.cursor="col-resize",document.body.style.userSelect="none";let d=a=>{aa(Math.max(200,Math.min(600,c+a.clientX-b)))},e=()=>{ah.current=!1,document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",e)};window.addEventListener("mousemove",d),window.addEventListener("mouseup",e)},children:(0,b.jsx)("div",{className:"absolute inset-y-0 right-0 w-1 transition-colors hover:bg-[var(--primary)]/40 group-hover:bg-[var(--primary)]/40"})})]})]})}a.s(["WorkspaceSidebar",()=>D],550158)},111013,a=>{"use strict";var b=a.i(786220),c=a.i(516909),d=a.i(870630);function e(){}let f=a=>[...a].sort((a,b)=>b.createdAt-a.createdAt);function g(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}}a.s(["useThreadState",()=>g],111013)},455106,a=>{"use strict";let b={threadSidebarVisible:!1};function c(){return({...b}).threadSidebarVisible}function d(a){}a.s(["loadWorkspaceSidebarVisible",()=>c,"persistWorkspaceSidebarVisible",()=>d])}];
|
|
1
|
+
module.exports=[970393,a=>{"use strict";let b=(0,a.i(831709).default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);a.s(["PanelLeftOpen",()=>b],970393)},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",()=>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",()=>b],523321)},166621,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(850985),e=a.i(639211);function f(){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]})]})]})}a.s(["StatusIndicator",()=>f])},550158,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(197180),e=a.i(811760),f=a.i(66456),g=a.i(157633),h=a.i(736868),i=a.i(831709);let j=(0,i.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);var k=a.i(353532),l=a.i(542341),m=a.i(824179),n=a.i(489461),o=a.i(985339);let p=(0,i.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var q=a.i(737313),r=a.i(144462);let s=(0,i.default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]),t=(0,i.default)("circle-arrow-up",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]);var u=a.i(850985),v=a.i(529889),w=a.i(639211),x=a.i(8e4),y=a.i(188834),z=a.i(769677),A=a.i(599086),B=a.i(392045);let C={linear:"Linear",jira:"Jira",intercom:"Intercom",freshdesk:"Freshdesk",github:"GitHub Issues"};function D(a){return C[a]??a.charAt(0).toUpperCase()+a.slice(1)}function E({projectSlug:a,trackerConnections:c,activeTrackerType:d,isTrackingActive:e,onLinkClick:f}){let g=[...c].sort((a,b)=>new Date(a.connectedAt).getTime()-new Date(b.connectedAt).getTime()),h=g.filter(a=>a.connected),i=g.filter(a=>!a.connected);return(0,b.jsxs)(b.Fragment,{children:[0===h.length&&0===i.length&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a}/tracking/connect`,onClick:f,className:`workspace-sidebar__nav-item ${e?"workspace-sidebar__nav-item--active":""}`,children:[(0,b.jsx)(k.Plus,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm text-[var(--muted-foreground)]",children:"Connect Tracker"})]})}),h.map(c=>{let g=e&&d===c.type;return(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a}/tracking/${c.type}`,onClick:f,className:`workspace-sidebar__nav-item ${g?"workspace-sidebar__nav-item--active":""}`,"aria-current":g?"page":void 0,children:[(0,b.jsx)(B.TrackerIcon,{trackerType:c.type,className:"flex-shrink-0 h-3.5 w-3.5 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:D(c.type)})]})},c.type)}),i.map(c=>(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a}/tracking/${c.type}`,onClick:f,className:"workspace-sidebar__nav-item",children:[(0,b.jsx)(B.TrackerIcon,{trackerType:c.type,className:"flex-shrink-0 h-3.5 w-3.5 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:D(c.type)}),(0,b.jsx)("span",{className:"ml-auto shrink-0",title:"Connection issue — click to reconnect",children:(0,b.jsx)(A.AlertTriangle,{size:12,className:"text-yellow-500"})})]})},c.type)),(h.length>0||i.length>0)&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a}/tracking/connect`,onClick:f,className:"workspace-sidebar__nav-item",children:[(0,b.jsx)(k.Plus,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm text-[var(--muted-foreground)]",children:"Connect"})]})})]})}var F=a.i(70014),G=a.i(227444);function H({compact:a=!1}){return(0,b.jsxs)("span",{className:`workspace-sidebar__brand-logo${a?" workspace-sidebar__brand-logo--compact":""}`,"aria-hidden":"true",children:[(0,b.jsxs)("span",{className:"workspace-sidebar__brand-grid",children:[(0,b.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--blue"}),(0,b.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--yellow"}),(0,b.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--mint"}),(0,b.jsx)("span",{className:"workspace-sidebar__brand-dot workspace-sidebar__brand-dot--red"})]}),(0,b.jsx)("span",{className:"workspace-sidebar__brand-text",children:"AGX"})]})}function I({label:a,children:e}){let f=(0,c.useRef)(null),[g,h]=(0,c.useState)(null);return(0,b.jsxs)("div",{ref:f,onMouseEnter:()=>{let a=f.current?.firstElementChild??f.current;if(!a)return;let b=a.getBoundingClientRect();h({top:b.top+b.height/2,left:b.right+8})},onMouseLeave:()=>h(null),style:{display:"contents"},children:[e,g&&(0,d.createPortal)((0,b.jsx)("div",{className:"workspace-sidebar__rail-tooltip",style:{top:g.top,left:g.left,transform:"translateY(-50%)"},children:a}),document.body)]})}function J({projects:a,activeProjectId:d,onSelectProject:f,onCreateProject:h}){let[i,j]=(0,c.useState)(!1),[n,o]=(0,c.useState)(""),p=(0,c.useRef)(null),q=(0,c.useRef)(null),r=a.find(a=>a.id===d)??a[0],s=n.trim()?a.filter(a=>a.name.toLowerCase().includes(n.toLowerCase())):a;return(0,c.useEffect)(()=>{if(!i)return;let a=a=>{p.current&&!p.current.contains(a.target)&&(j(!1),o(""))};return document.addEventListener("pointerdown",a),()=>document.removeEventListener("pointerdown",a)},[i]),(0,c.useEffect)(()=>{i&&q.current&&q.current.focus()},[i]),(0,b.jsxs)("div",{className:"relative px-3 pt-3 pb-2",ref:p,children:[(0,b.jsxs)("button",{type:"button",onClick:()=>j(!i),className:"flex w-full items-center gap-2 rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] px-2.5 py-2 text-sm text-[var(--foreground)] transition-all hover:border-[var(--app-shell-border-strong)]",children:[(0,b.jsx)(g.Folder,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"flex-1 truncate text-left font-medium",children:r?.name??"Select project"}),(0,b.jsx)(e.ChevronDown,{size:14,className:`flex-shrink-0 text-[var(--muted-foreground)] transition-transform ${i?"rotate-180":""}`})]}),i&&(0,b.jsxs)("div",{className:"absolute left-3 right-3 z-50 mt-1 rounded-lg 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(--app-shell-border)]",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-2 py-1.5",children:[(0,b.jsx)(l.Search,{size:12,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("input",{ref:q,type:"text",value:n,onChange:a=>o(a.target.value),placeholder:"Search projects...",className:"flex-1 bg-transparent text-xs text-[var(--foreground)] placeholder:text-[var(--muted-foreground)] outline-none"}),n&&(0,b.jsx)("button",{type:"button",onClick:()=>o(""),className:"text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,b.jsx)(m.X,{size:10})})]})}),(0,b.jsxs)("div",{className:"max-h-52 overflow-y-auto py-1",children:[s.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{f?.(a.id),j(!1),o("")},className:`flex w-full items-center gap-2 px-3 py-1.5 text-sm transition-colors hover:bg-[var(--app-shell-subtle)] ${a.id===r?.id?"text-[var(--foreground)] font-medium":"text-[var(--muted-foreground)]"}`,children:[(0,b.jsx)(g.Folder,{size:12,className:"flex-shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.name})]},a.id)),0===s.length&&(0,b.jsx)("p",{className:"px-3 py-2 text-xs text-[var(--muted-foreground)]",children:"No projects found"})]}),(0,b.jsx)("div",{className:"border-t border-[var(--app-shell-border)] p-1",children:(0,b.jsxs)("button",{type:"button",onClick:()=>{j(!1),o(""),h()},className:"flex w-full items-center gap-2 rounded-md px-2.5 py-1.5 text-xs text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:[(0,b.jsx)(k.Plus,{size:12}),(0,b.jsx)("span",{children:"New project"})]})})]})]})}function K({threads:a,participants:e=[],activeThreadId:g,isLoading:i,isCreating:l,onSelectThread:A,onCreateThread:B,onRenameThread:C,onDeleteThread:D,deletingThreadId:K=null,renamingThreadId:L=null,activeParticipantIds:M=[],onToggleParticipantActive:N,visible:O=!1,isRestoringActiveThread:P=!1,onToggle:Q,onSearch:R,projects:S=[],onCreateProject:T,onUpdateProject:U,onDeleteProject:V,onAddAgentToProject:W,onRemoveAgentFromProject:X,onAddAgentViaForm:Y,onReorderProjectAgents:Z,onUpdateParticipant:$,onSelectProject:_,activeProjectId:aa=null,activeProjectView:ab=null,width:ac,onWidthChange:ad,onAddTeam:ae,stageShow:af,trackerConnections:ag=[]}){let ah,ai,{isTouchLayout:aj,isPhone:ak}=(0,v.useInputCapabilities)(),{updateAvailable:al}=function(){let[a,b]=(0,c.useState)({updateAvailable:!1,latestVersion:null});return(0,c.useEffect)(()=>{async function a(){try{let a=await fetch("/api/update-check");if(!a.ok)return;let c=await a.json(),d=c?.updateAvailable===!0,e="string"==typeof c?.latestVersion?c.latestVersion:null;b({updateAvailable:d,latestVersion:e})}catch{}}a();let c=setInterval(()=>{a()},w.UI_POLL_UPDATE_CHECK_MS);return()=>clearInterval(c)},[]),a}(),am=(0,c.useRef)(!1);(0,c.useRef)(0);let an=(0,c.useRef)(null),[ao,ap]=(0,c.useState)(!1),[aq,ar]=(0,c.useState)(new Set);(0,c.useEffect)(()=>{if(aq.size>0||!S?.length)return;let a=S.find(a=>!1);ar(new Set([a?.id??S[0].id]))},[S]);let[as,at]=(0,c.useState)(null),[au,av]=(0,c.useState)(new Set),[aw,ax]=(0,c.useState)(!1),[ay,az]=(0,c.useState)(null),[aA,aB]=(0,c.useState)(null),aC=(0,y.useProjectFormState)(),[aD,aE]=(0,c.useState)(null),aF=(0,c.useCallback)(a=>{a&&(a.focus(),a.select())},[]),[aG,aH]=(0,c.useState)(null),[aI,aJ]=(0,c.useState)(null),aK=aI?e.find(a=>a.id===aI)??null:null,[aL,aM]=(0,c.useState)(null),[aN,aO]=(0,c.useState)({});(0,c.useEffect)(()=>{if(!S?.length)return;let a=!1,b=async()=>{try{let b=await fetch("/api/processes?enrich=1");if(!b.ok||a)return;let c=await b.json();if(a)return;let d=c.filter(a=>"spawning"===a.state||"running"===a.state),f={};for(let a of S){let b=a.slug.trim().toLowerCase(),c=new Set((a.thread_ids??[]).map(a=>a.trim()).filter(Boolean)),g=[],h=[],i=[],j=new Set,k=new Set,l=new Set;for(let a of d){let d=a.projectSlug?.trim().toLowerCase();if(!(d&&d===b||c.has(a.workspaceId)||c.has(a.threadId)))continue;let f=e.find(b=>b.id===a.agentId),m={agentId:a.agentId,color:f?.color??"#10b981"};a.linearIssueId?k.has(a.agentId)||(k.add(a.agentId),h.push(m)):a.threadId?.startsWith("objective-chat:")||a.workspaceId?.startsWith("objective-chat:")?j.has(a.agentId)||(j.add(a.agentId),g.push(m)):l.has(a.agentId)||(l.add(a.agentId),i.push(m))}(g.length||h.length||i.length)&&(f[a.id]={objectives:g,linear:h,chat:i})}aO(f)}catch{}};b();let c=setInterval(b,3e3);return()=>{a=!0,clearInterval(c)}},[S,e]);let[aP,aQ]=(0,c.useState)({}),[aR,aS]=(0,c.useState)(new Set),[aT,aU]=(0,c.useState)(new Set),aV=(0,c.useRef)(new Set);(0,c.useEffect)(()=>{Array.from(aq).forEach(a=>{aT.has(a)||(aU(b=>new Set(b).add(a)),(async()=>{try{let b=await fetch(`/api/projects/${a}/teams`);if(!b.ok)return;let c=await b.json();aQ(b=>({...b,[a]:c.teams??[]}))}catch{}})())})},[aq,aT]);let[aW,aX]=(0,c.useState)(null),aY=async()=>{if(!ay&&!aA)return;if(!aC.form.name.trim())return void aC.setFormError("Project name is required");let a=aC.repos.find(a=>a.name.trim()&&!a.path.trim());if(a)return void aC.setFormError(`Local path is required for folder "${a.name}"`);aC.setFormError(null),aC.setIsSubmitting(!0);let b=(0,y.createProjectPayload)(aC.form,aC.repos);aA?await U?.(aA.id,b):await T?.(b,ay?.threadId),aC.setIsSubmitting(!1),az(null),aB(null)};(0,c.useEffect)(()=>{ap(!0)},[]),(0,c.useEffect)(()=>{let a=!1;async function b(){if(aL?.repoId)try{let b=await fetch(`/api/knowledge-notes?scope=repo&subjectId=${encodeURIComponent(aL.repoId)}`),c=(b.ok?await b.json():{note:null}).note;a||aM(a=>a&&a.repoId===aL.repoId?{...a,generatedKnowledge:c?.content?[{id:c.id,content:c.content,created_at:c.updatedAt??c.createdAt}]:[],isLoadingKnowledge:!1}:a)}catch{a||aM(a=>a&&a.repoId===aL.repoId?{...a,generatedKnowledge:[],isLoadingKnowledge:!1}:a)}}return aL?.repoId&&b(),()=>{a=!0}},[aL?.repoId]);let aZ=as?S.find(a=>a.id===as.projectId):null,a$=new Set(aZ?.agents.map(a=>a.agent_id)??[]),a_=as?e.filter(a=>!a$.has(a.id)):[],a0=a.length>0,a1=!!O,a2=(0,c.useCallback)(()=>{aj&&Q?.()},[aj,Q]),a3=[...a].sort((a,b)=>(a.title??"").localeCompare(b.title??"")),a4=new Map(a.map(a=>[a.id,a])),a5=S.filter(a=>!a.is_default),a6=a5.find(a=>a.id===aa)??a5[0]??null,{connections:a7}=(0,G.useTrackerConnections)(a6?.id??null),a8=af??{home:!0,threads:!0,terminal:!0,objectives:!1,objectivesIsNew:!1,tracking:!1,teams:!1,folders:!1,scheduledTasks:!1,envVars:!1};if((0,c.useEffect)(()=>{if(0===a5.length)return;let b=new Map,c=new Set,d=new Map;for(let a of a5){for(let b of a.thread_ids??[])"string"==typeof b&&b.trim()&&c.add(b);for(let c of(0,z.readProjectObjectivesWorkspace)(a.metadata).objectives){let d=c.id.trim();d&&b.set(d,{projectId:a.id,canonicalThreadId:c.threadId?.trim()||`objective-chat:${d}`})}}for(let b of a){let a=b.metadata&&"object"==typeof b.metadata?b.metadata:null,c="objective"===("string"==typeof a?.scope?a.scope:"")||b.id.startsWith("objective-chat:"),e=b.title?.trim().toLowerCase()??"";if(!c||!e)continue;let f=d.get(e)??[];f.push(b),d.set(e,f)}for(let[a,b]of d)d.set(a,[...b].sort((a,b)=>b.updatedAt-a.updatedAt));for(let e of a){let a=e.metadata&&"object"==typeof e.metadata?e.metadata:null,f="string"==typeof a?.scope?a.scope:"",g="string"==typeof a?.objectiveId?a.objectiveId.trim():"",h=e.id.startsWith("objective-chat:")?e.id.slice(15).trim():"",i=g||h,j="objective"===f||!!h,k=e.title?.trim().toLowerCase()??"",l=0===e.messages.length&&e.updatedAt<Date.now()-3e5;if(!j)continue;let m=i?b.get(i):void 0;if(m){if(e.id!==m.canonicalThreadId&&l){let a=`delete:${e.id}`;if(aV.current.has(a))continue;aV.current.add(a),Promise.resolve(D(e.id)).catch(b=>{aV.current.delete(a),console.warn("Failed to delete legacy objective thread",b)});continue}if(!c.has(e.id)){let a=`link:${e.id}`;if(aV.current.has(a))continue;aV.current.add(a),fetch(`/api/projects/${m.projectId}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e.id})}).then(a=>{if(!a.ok)throw Error(`Request failed with status ${a.status}`)}).catch(b=>{aV.current.delete(a),console.warn("Failed to re-link objective thread",b)})}continue}if(!l)continue;let n=k?d.get(k)??[]:[];if(n.length<2||n[0]?.id===e.id)continue;let o=`delete:${e.id}`;aV.current.has(o)||(aV.current.add(o),Promise.resolve(D(e.id)).catch(a=>{aV.current.delete(o),console.warn("Failed to delete orphan objective thread",a)}))}},[a5,D,a]),!function({focusTarget:a,shouldFocus:b}){(0,c.useEffect)(()=>{if(!b||"u"<typeof document)return;let c=a.current;if(!c||c instanceof HTMLButtonElement&&c.disabled)return;let d=document.activeElement;if(!(d&&(c===d||c.contains(d))))try{c.focus({preventScroll:!0})}catch{c.focus()}},[a,b])}({focusTarget:an,shouldFocus:a1&&!(i&&!a0||P&&a0)&&!a0&&!l}),!a1){if(aj)return null;let c=a6?.slug;return(0,b.jsxs)("aside",{id:"workspace-sidebar",className:"workspace-sidebar workspace-sidebar--collapsed","aria-label":"Workspace sidebar",children:[(0,b.jsx)("div",{className:"workspace-sidebar__brand",children:(0,b.jsx)("button",{type:"button",onClick:Q,className:"workspace-sidebar__brand-trigger border-none outline-none cursor-pointer","aria-label":"Show chats",title:"Show chats",children:(0,b.jsx)(H,{compact:!0})})}),c&&(0,b.jsxs)("nav",{className:"workspace-sidebar__collapsed-rail",children:[(0,b.jsx)(I,{label:"Home",children:(0,b.jsx)(u.default,{href:`/projects/${c}`,className:`workspace-sidebar__rail-icon${"home"===ab?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(p,{size:16})})}),(a8.objectives||a8.tracking||a8.scheduledTasks)&&(0,b.jsx)("div",{className:"workspace-sidebar__rail-separator"}),a8.objectives&&(0,b.jsx)(I,{label:"Objectives",children:(0,b.jsx)(u.default,{href:`/projects/${c}/objectives`,className:`workspace-sidebar__rail-icon${"objectives"===ab?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(n.Target,{size:16})})}),a8.tracking&&(0,b.jsx)(I,{label:"Task Tracking",children:(0,b.jsx)(u.default,{href:`/projects/${c}/tracking`,className:`workspace-sidebar__rail-icon${"linear"===ab||"tracking"===ab?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(F.LinearIcon,{className:"h-4 w-4"})})}),a8.scheduledTasks&&(0,b.jsx)(I,{label:"Scheduled Jobs",children:(0,b.jsx)(u.default,{href:`/projects/${c}/automations`,className:`workspace-sidebar__rail-icon${"automations"===ab?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(f.Zap,{size:16})})}),(0,b.jsx)("div",{className:"workspace-sidebar__rail-separator"}),(0,b.jsx)(I,{label:"Terminal",children:(0,b.jsx)(u.default,{href:`/projects/${c}/terminal`,className:`workspace-sidebar__rail-icon${"terminal"===ab?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(r.TerminalSquare,{size:16})})}),(0,b.jsx)(I,{label:"Chat",children:(0,b.jsx)("button",{type:"button",className:`workspace-sidebar__rail-icon${"thread"===ab?" workspace-sidebar__rail-icon--active":""}`,onClick:()=>{let b=a3.filter(a=>a6?.thread_ids?.includes(a.id)),c=a6?.thread_ids?.find(b=>a.some(a=>a.id===b))??b[0]?.id;c&&A(c)},children:(0,b.jsx)(q.MessageSquare,{size:16})})}),(a8.teams||a8.folders||a8.envVars)&&(0,b.jsx)("div",{className:"workspace-sidebar__rail-separator"}),a8.teams&&(0,b.jsx)(I,{label:"Teams",children:(0,b.jsx)(u.default,{href:`/projects/${c}/teams`,className:`workspace-sidebar__rail-icon${"teams"===ab?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(o.Users,{size:16})})}),a8.folders&&(0,b.jsx)(I,{label:"Folders",children:(0,b.jsx)(u.default,{href:`/projects/${c}/folders`,className:`workspace-sidebar__rail-icon${"folders"===ab?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(h.FolderGit2,{size:16})})}),a8.envVars&&(0,b.jsx)(I,{label:"Env Variables",children:(0,b.jsx)(u.default,{href:`/projects/${c}/env-vars`,className:`workspace-sidebar__rail-icon${"env-vars"===ab?" workspace-sidebar__rail-icon--active":""}`,children:(0,b.jsx)(s,{size:16})})})]}),(0,b.jsxs)("div",{className:"mt-auto p-2 flex flex-col gap-2",children:[al&&c&&(0,b.jsx)(I,{label:"Update available",children:(0,b.jsx)(u.default,{href:`/projects/${c}/terminal?cmd=${encodeURIComponent("agx update && agx chat start")}`,className:"workspace-sidebar__rail-icon",children:(0,b.jsx)(t,{size:16})})}),(0,b.jsx)(I,{label:"Join Discord",children:(0,b.jsx)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"workspace-sidebar__rail-icon",style:{backgroundColor:"#5865F2",color:"white"},onMouseEnter:a=>a.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:a=>a.currentTarget.style.backgroundColor="#5865F2",children:(0,b.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,b.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})})})})]})]})}return(0,b.jsxs)(b.Fragment,{children:[aj?(0,b.jsx)("button",{type:"button",className:"workspace-sidebar__backdrop",onClick:Q,"aria-label":"Close sidebar"}):null,(0,b.jsxs)("aside",{id:"workspace-sidebar",className:`workspace-sidebar${aj?" workspace-sidebar--drawer":""}${aj&&ak?" workspace-sidebar--drawer-phone":""}`,"aria-label":"Workspace sidebar","aria-busy":i?"true":void 0,"aria-modal":aj?"true":void 0,role:aj?"dialog":void 0,style:!aj&&ac?{width:`${ac}px`,minWidth:`${ac}px`}:void 0,children:[(0,b.jsxs)("div",{className:"workspace-sidebar__brand",children:[(0,b.jsx)("div",{className:"workspace-sidebar__brand-content",children:(0,b.jsx)(H,{})}),Q&&(0,b.jsx)("button",{type:"button",onClick:Q,"aria-label":"Hide chats",title:"Hide chats",className:"workspace-sidebar__brand-toggle ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-all hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",children:(0,b.jsx)(j,{className:"h-4 w-4",strokeWidth:1.75})})]}),(0,b.jsxs)("div",{className:"workspace-sidebar__content",children:[(0,b.jsx)(J,{projects:a5,activeProjectId:aa,onSelectProject:a=>{_?.(a),a2()},onCreateProject:()=>{aC.resetForm(),aB(null),az({})}}),(()=>{if(!a6)return null;let a=a3.filter(a=>a6.thread_ids?.includes(a.id)),c=a6.thread_ids?.find(a=>a4.has(a))??a6.thread_ids?.[0]??a[0]?.id??null,d=a6.id===aa,i=d&&"home"===ab,j=d&&"objectives"===ab,k=d&&"automations"===ab,l=d&&"terminal"===ab,m=d&&"thread"===ab&&c===g,t=d&&"teams"===ab,v=d&&"folders"===ab,w=d&&"env-vars"===ab,y=aN[a6.id],z=a8.objectives||a8.scheduledTasks,B=a8.teams||a8.folders||a8.envVars;return(0,b.jsxs)("nav",{className:"workspace-sidebar__section",children:[(0,b.jsx)("div",{className:"px-2 mt-2 mb-3",children:(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a6.slug}`,onClick:a2,className:`workspace-sidebar__nav-item ${i?"workspace-sidebar__nav-item--active":""}`,"aria-current":i?"page":void 0,children:[(0,b.jsx)(p,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Home"})]})})}),z&&(0,b.jsxs)("div",{className:"mb-3",children:[(0,b.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,b.jsx)("p",{className:"workspace-sidebar__section-label",children:"Work"})}),(0,b.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[a8.objectives&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a6.slug}/objectives`,onClick:a2,className:`workspace-sidebar__nav-item ${j?"workspace-sidebar__nav-item--active":""}`,"aria-current":j?"page":void 0,children:[(0,b.jsx)(n.Target,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Objectives"}),a8.objectivesIsNew&&(0,b.jsx)("span",{className:"ml-auto inline-flex items-center rounded-full bg-indigo-500/15 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider text-indigo-500 animate-pulse",children:"NEW"}),!a8.objectivesIsNew&&y?.objectives.length>0&&(0,b.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:y.objectives.slice(0,3).map(a=>{let c=e.find(b=>b.id===a.agentId);return(0,b.jsxs)("span",{className:"relative inline-block",title:c?.name,children:[(0,b.jsx)("img",{src:(0,x.agentAvatarUrl)(c?.id??a.agentId,16,a.color),alt:c?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,b.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},a.agentId)})})]})}),a8.scheduledTasks&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a6.slug}/automations`,onClick:a2,className:`workspace-sidebar__nav-item ${k?"workspace-sidebar__nav-item--active":""}`,"aria-current":k?"page":void 0,children:[(0,b.jsx)(f.Zap,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Scheduled Jobs"})]})})]})]}),a8.tracking&&(0,b.jsxs)("div",{className:"mb-3",children:[(0,b.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,b.jsx)("p",{className:"workspace-sidebar__section-label",children:"Task Tracking"})}),(0,b.jsx)("div",{className:"px-2 flex flex-col gap-0.5",children:(0,b.jsx)(E,{projectSlug:a6.slug,trackerConnections:ag,activeTrackerType:null,isTrackingActive:d&&("linear"===ab||"tracking"===ab),onLinkClick:a2})})]}),(0,b.jsxs)("div",{className:"mb-3",children:[(0,b.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,b.jsx)("p",{className:"workspace-sidebar__section-label",children:"Tools"})}),(0,b.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a6.slug}/terminal`,onClick:a2,className:`workspace-sidebar__nav-item ${l?"workspace-sidebar__nav-item--active":""}`,"aria-current":l?"page":void 0,children:[(0,b.jsx)(r.TerminalSquare,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Terminal"})]})}),(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:c?(0,b.jsxs)("button",{type:"button",className:`workspace-sidebar__nav-item ${m?"workspace-sidebar__nav-item--active":""}`,onClick:()=>{A(c),a2()},"aria-current":m?"page":void 0,children:[(0,b.jsx)(q.MessageSquare,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Chat"}),y?.chat.length>0&&(0,b.jsx)("span",{className:"inline-flex items-center -space-x-1 ml-auto shrink-0",children:y.chat.slice(0,3).map(a=>{let c=e.find(b=>b.id===a.agentId);return(0,b.jsxs)("span",{className:"relative inline-block",title:c?.name,children:[(0,b.jsx)("img",{src:(0,x.agentAvatarUrl)(c?.id??a.agentId,16,a.color),alt:c?.name??"",className:"h-3.5 w-3.5 rounded-full ring-[1.5px] ring-[var(--app-shell-pane)]"}),(0,b.jsx)("span",{className:"absolute -bottom-px -right-px h-1.5 w-1.5 rounded-full bg-green-500 ring-[1px] ring-[var(--app-shell-pane)]"})]},a.agentId)})})]}):null})]})]}),B&&(0,b.jsxs)("div",{className:"mb-3",children:[(0,b.jsx)("div",{className:"workspace-sidebar__section-header",children:(0,b.jsx)("p",{className:"workspace-sidebar__section-label",children:"Settings"})}),(0,b.jsxs)("div",{className:"px-2 flex flex-col gap-0.5",children:[a8.teams&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a6.slug}/teams`,onClick:a2,className:`workspace-sidebar__nav-item ${t?"workspace-sidebar__nav-item--active":""}`,"aria-current":t?"page":void 0,children:[(0,b.jsx)(o.Users,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Teams"})]})}),a8.folders&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a6.slug}/folders`,onClick:a2,className:`workspace-sidebar__nav-item ${v?"workspace-sidebar__nav-item--active":""}`,"aria-current":v?"page":void 0,children:[(0,b.jsx)(h.FolderGit2,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Folders"})]})}),a8.envVars&&(0,b.jsx)("div",{className:"workspace-sidebar__workspace-item",children:(0,b.jsxs)(u.default,{href:`/projects/${a6.slug}/env-vars`,onClick:a2,className:`workspace-sidebar__nav-item ${w?"workspace-sidebar__nav-item--active":""}`,"aria-current":w?"page":void 0,children:[(0,b.jsx)(s,{size:14,className:"flex-shrink-0 text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"workspace-sidebar__workspace-title text-sm",children:"Environment Variables"})]})})]})]})]})})()]}),(0,b.jsxs)("div",{className:"mt-auto px-3 pb-3 flex flex-col gap-2",children:[al&&a6&&(0,b.jsxs)(u.default,{href:`/projects/${a6.slug}/terminal?cmd=${encodeURIComponent("agx update && agx chat start")}`,className:"flex items-center justify-center gap-2 w-full py-2 rounded-lg text-sm font-medium transition-colors text-[var(--foreground)] bg-[var(--app-shell-subtle)] hover:bg-[var(--app-shell-border)]",children:[(0,b.jsx)(t,{size:14}),"Update available"]}),(0,b.jsxs)("a",{href:"https://discord.gg/G9afUYKKY3",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 w-full py-2 rounded-lg text-white text-sm font-medium transition-colors",style:{backgroundColor:"#5865F2"},onMouseEnter:a=>a.currentTarget.style.backgroundColor="#4752C4",onMouseLeave:a=>a.currentTarget.style.backgroundColor="#5865F2",children:[(0,b.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 71 55",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,b.jsx)("path",{d:"M60.1 4.9A58.5 58.5 0 0045.4.2a.2.2 0 00-.2.1 40.8 40.8 0 00-1.8 3.7 54 54 0 00-16.2 0A37.4 37.4 0 0025.4.3a.2.2 0 00-.2-.1A58.4 58.4 0 0010.5 4.9a.2.2 0 00-.1.1C1.5 18.7-.9 32.2.3 45.5v.1a58.8 58.8 0 0017.7 9a.2.2 0 00.3-.1 42 42 0 003.6-5.9.2.2 0 00-.1-.3 38.8 38.8 0 01-5.5-2.6.2.2 0 01 0-.4l1.1-.9a.2.2 0 01.2 0 42 42 0 0035.6 0 .2.2 0 01.2 0l1.1.9a.2.2 0 010 .4 36.4 36.4 0 01-5.5 2.6.2.2 0 00-.1.3 47.2 47.2 0 003.6 5.9.2.2 0 00.3.1 58.6 58.6 0 0017.7-9v-.1c1.4-15.2-2.4-28.4-10-40.1a.2.2 0 00-.1-.1zM23.7 37.3c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7zm23.3 0c-3.5 0-6.3-3.2-6.3-7s2.8-7 6.3-7 6.4 3.2 6.3 7-2.8 7-6.3 7z"})}),"Join Discord"]})]}),ao&&aL&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30 p-4",onClick:()=>{aL.isSaving||aM(null)},children:(0,b.jsxs)("div",{className:"w-full max-w-lg rounded-2xl border border-[var(--border)] bg-[var(--card-bg)] shadow-2xl",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-[var(--border)] px-5 py-4",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:aL.projectName}),(0,b.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--foreground)]",children:aL.repoId?aL.name||"Folder":"Add Folder"})]}),(0,b.jsx)("button",{type:"button",className:"rounded-md p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)] hover:text-[var(--muted-foreground)]",onClick:()=>{aL.isSaving||aM(null)},"aria-label":"Close folder details",disabled:aL.isSaving,children:(0,b.jsx)(m.X,{size:16})})]}),(0,b.jsxs)("div",{className:"space-y-4 px-5 py-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Name"}),(0,b.jsx)("input",{value:aL.name,onChange:a=>aM(b=>b?{...b,name:a.target.value,error:null}:b),className:"w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",disabled:aL.isSaving,placeholder:"e.g. Frontend, API Docs, Design System"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Path"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{value:aL.path,onChange:a=>aM(b=>b?{...b,path:a.target.value,error:null}:b),className:"flex-1 rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 font-mono text-xs text-[var(--foreground)]",disabled:aL.isSaving,placeholder:"Local path to folder"}),(0,b.jsx)("button",{type:"button",className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",disabled:aL.isSaving,onClick:async()=>{try{let a=await fetch("/api/filesystem/pick-folder",{method:"POST"}),b=await a.json();b.path&&aM(a=>a?{...a,path:b.path,error:null}:a)}catch{}},children:"Browse"})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Notes"}),(0,b.jsx)("textarea",{value:aL.notes,onChange:a=>aM(b=>b?{...b,notes:a.target.value,error:null}:b),className:"min-h-28 w-full rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-3 text-sm text-[var(--foreground)] whitespace-pre-wrap",disabled:aL.isSaving,placeholder:"Coding conventions, deploy steps, doc standards, ownership rules..."})]}),aL.repoId?(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"mb-1 text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:"Living Note"}),aL.isLoadingKnowledge?(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading note…"}):aL.generatedKnowledge.length>0?(0,b.jsx)("div",{className:"space-y-2",children:aL.generatedKnowledge.slice(0,5).map(a=>(0,b.jsxs)("div",{className:"rounded-lg border border-[var(--border)] bg-[var(--app-shell-subtle)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,b.jsx)("div",{children:a.content}),a.created_at?(0,b.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(a.created_at).toLocaleString()}):null]},a.id))}):(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No note yet."})]}):null,aL.error?(0,b.jsx)("p",{className:"text-xs text-red-600",children:aL.error}):null,(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] pt-4",children:[(0,b.jsx)("button",{type:"button",className:"rounded-lg px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]",onClick:()=>aM(null),disabled:aL.isSaving,children:"Cancel"}),(0,b.jsx)("button",{type:"button",className:"rounded-lg bg-[var(--foreground)] px-3 py-2 text-sm font-medium text-[var(--card-bg)] transition-colors hover:bg-[var(--foreground)] disabled:cursor-not-allowed disabled:opacity-60",disabled:aL.isSaving||!U,onClick:async()=>{let a=S.find(a=>a.id===aL.projectId);if(!a)return void aM(a=>a?{...a,error:"Project not found."}:a);let b=aL.name.trim(),c=aL.path.trim();if(!b)return void aM(a=>a?{...a,error:"Folder name is required."}:a);if(!c)return void aM(a=>a?{...a,error:"Folder path is required."}:a);aM(a=>a?{...a,isSaving:!0,error:null}:a);try{let d=aL.repoId?a.repos.map(a=>a.id===aL.repoId?{id:a.id,name:b,path:c,git_url:aL.gitUrl.trim()||void 0,notes:aL.notes.trim()||void 0}:{id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes}):[...a.repos.map(a=>({id:a.id,name:a.name,path:a.path,git_url:a.git_url,notes:a.notes})),{name:b,path:c,git_url:aL.gitUrl.trim()||void 0,notes:aL.notes.trim()||void 0}];await U?.(a.id,{repos:d}),aM(null)}catch(a){aM(b=>b?{...b,isSaving:!1,error:a instanceof Error?a.message:"Failed to save folder details."}:b)}},children:aL.isSaving?"Saving...":aL.repoId?"Save":"Add Folder"})]})]})]})}),document.body),ao&&as&&!aw&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>at(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 max-h-[70vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsxs)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:["Add to ",aZ?.name??"project"]}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>at(null),children:(0,b.jsx)(m.X,{size:16})})]}),(0,b.jsxs)("div",{className:"overflow-y-auto py-1 flex-1",children:[(0,b.jsxs)("button",{type:"button",className:"w-full flex items-center gap-3 px-4 py-2.5 text-sm text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors border-b border-[var(--border)]",onClick:()=>ax(!0),children:[(0,b.jsx)(k.Plus,{size:14,className:"text-[var(--muted-foreground)]"}),(0,b.jsx)("span",{className:"text-xs font-medium",children:"Create new agent"})]}),0===a_.length?(0,b.jsx)("p",{className:"px-4 py-6 text-xs text-[var(--muted-foreground)] text-center",children:"All agents are already in this project"}):a_.map(a=>{let c=au.has(a.id);return(0,b.jsxs)("button",{type:"button",className:`w-full flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${c?"bg-[var(--muted)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,onClick:()=>{av(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:`w-4 h-4 rounded border flex-shrink-0 flex items-center justify-center ${c?"bg-[var(--foreground)] border-[var(--foreground)]":"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)("img",{src:(0,x.agentAvatarUrl)(a.id,24,a.color),alt:"",className:"w-6 h-6 rounded-full flex-shrink-0"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,b.jsx)("div",{className:"truncate font-medium text-xs",children:a.name}),(0,b.jsx)("div",{className:"truncate text-[11px] text-[var(--muted-foreground)]",children:a.model})]})]},a.id)})]}),a_.length>0&&(0,b.jsxs)("div",{className:"px-4 py-3 border-t border-[var(--border)] flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>at(null),children:"Cancel"}),(0,b.jsxs)("button",{type:"button",disabled:0===au.size,className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] disabled:opacity-40 disabled:cursor-not-allowed transition-colors",onClick:()=>{for(let a of au)W?.(as.projectId,a);at(null)},children:["Add ",au.size>0?`(${au.size})`:""]})]})]})}),document.body),ao&&aw&&(0,d.createPortal)((0,b.jsx)(x.AgentForm,{title:"Create new agent",initial:{name:"",provider:"claude",model:"",identity:"",skills:[],skillBindings:[]},submitLabel:"Create & Add",projects:S?.filter(a=>!a.is_default).map(b=>{let c=(b.thread_ids??[]).map(b=>a.find(a=>a.id===b)?.title?.trim()).filter(Boolean).join(", ")||"No chat";return{id:b.id,name:b.name,label:`${c} › ${b.name}`}}),initialProjectIds:as?[as.projectId]:[],onSubmit:async(a,b)=>{let c=["#D97706","#2563EB","#059669","#DC2626","#7C3AED","#DB2777","#0891B2"],d=c[e.length%c.length],f=a.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),g=b?.[0],h=await fetch("/api/participants",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:f,name:a.name,provider:a.provider,model:a.model,color:a.color??d,...a.role?{role:a.role}:{},...a.identity?{identity:a.identity}:{},skills:a.skills??[],skillBindings:a.skillBindings??[],...g?{projectId:g}:{}})});if(h.ok){let a=await h.json().catch(()=>({})),c="string"==typeof a?.id&&a.id.trim()?a.id.trim():f;for(let a of(b??[]).slice(1))W?.(a,c);ax(!1),at(null)}},onCancel:()=>{ax(!1)}}),document.body),ao&&aD&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>aE(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:aD.title}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>aE(null),children:(0,b.jsx)(m.X,{size:16})})]}),(0,b.jsxs)("form",{className:"px-4 py-4 flex flex-col gap-3",onSubmit:a=>{a.preventDefault();let b=new FormData(a.currentTarget),c=b.get("value")?.trim();c&&(aD.onSubmit(c),aE(null))},children:[(0,b.jsx)("input",{ref:aF,name:"value",type:"text",defaultValue:aD.defaultValue,placeholder:aD.placeholder,className:"w-full px-3 py-2 text-sm border border-[var(--border)] rounded-lg outline-none focus:border-[var(--border)] focus:ring-1 focus:ring-[var(--border)] transition-all"}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>aE(null),children:"Cancel"}),(0,b.jsx)("button",{type:"submit",className:"px-3 py-1.5 text-xs font-medium text-[var(--card-bg)] bg-[var(--foreground)] rounded-lg hover:bg-[var(--foreground)] transition-colors",children:aD.defaultValue?"Save":"Create"})]})]})]})}),document.body),ao&&aG&&(0,d.createPortal)((0,b.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/30",onClick:()=>aH(null),children:(0,b.jsxs)("div",{className:"bg-[var(--card-bg)] rounded-xl shadow-xl border border-[var(--border)] w-80 flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-[var(--border)]",children:[(0,b.jsx)("h3",{className:"text-sm font-medium text-[var(--foreground)]",children:aG.title}),(0,b.jsx)("button",{type:"button",className:"text-[var(--muted-foreground)] hover:text-[var(--muted-foreground)]",onClick:()=>aH(null),children:(0,b.jsx)(m.X,{size:16})})]}),(0,b.jsxs)("div",{className:"px-4 py-4 flex flex-col gap-4",children:[(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:aG.message}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",onClick:()=>aH(null),children:"Cancel"}),(0,b.jsx)("button",{type:"button",className:"px-3 py-1.5 text-xs font-medium text-white bg-red-600 rounded-lg hover:bg-red-700 transition-colors",onClick:()=>{aG.onConfirm(),aH(null)},children:"Delete"})]})]})]})}),document.body),ao&&(ay||aA)&&(0,d.createPortal)((0,b.jsx)(y.default,{isOpen:!0,onClose:()=>{aC.resetForm(),az(null),aB(null)},onSubmit:()=>void aY(),editingProject:aA,form:aC.form,repos:aC.repos,isSubmitting:aC.isSubmitting,formError:aC.formError,onFieldChange:(a,b)=>aC.setForm(c=>({...c,[a]:b})),onRepoChange:aC.handleRepoChange,onAddRepo:aC.addRepo,onRemoveRepo:aC.removeRepo}),document.body),ao&&aK&&(0,d.createPortal)((ah=S.filter(a=>a.agents.some(a=>a.agent_id===aK.id)),ai=S.filter(a=>!a.agents.some(a=>a.agent_id===aK.id)),(0,b.jsx)(x.AgentForm,{title:"Edit agent",initial:{name:aK.name,role:aK.role||"",provider:aK.provider,model:aK.model||"",identity:aK.identity||"",color:aK.color,skills:aK.skills||[],skillBindings:aK.skillBindings||[]},agentId:aK.id,submitLabel:"Save",projectMemberships:{current:ah.map(a=>({id:a.id,name:a.name,is_default:!!a.is_default})),available:ai.map(a=>({id:a.id,name:a.name}))},onAddToProject:W?a=>W(a,aK.id):void 0,onRemoveFromProject:X?a=>X(a,aK.id):void 0,onSubmit:async a=>{$&&await $({...aK,name:a.name,role:a.role||void 0,provider:a.provider,model:a.model,color:a.color??aK.color,...a.identity?{identity:a.identity}:{},skills:a.skills??[],skillBindings:a.skillBindings??[]}),aJ(null)},onCancel:()=>aJ(null)})),document.body),ad&&!aj&&(0,b.jsx)("div",{className:"absolute right-0 top-0 bottom-0 z-20 w-1 cursor-col-resize group",onMouseDown:a=>{a.preventDefault(),am.current=!0;let b=a.clientX,c=ac??368;document.body.style.cursor="col-resize",document.body.style.userSelect="none";let d=a=>{ad(Math.max(200,Math.min(600,c+a.clientX-b)))},e=()=>{am.current=!1,document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",e)};window.addEventListener("mousemove",d),window.addEventListener("mouseup",e)},children:(0,b.jsx)("div",{className:"absolute inset-y-0 right-0 w-1 transition-colors hover:bg-[var(--primary)]/40 group-hover:bg-[var(--primary)]/40"})})]})]})}a.s(["WorkspaceSidebar",()=>K],550158)},111013,a=>{"use strict";var b=a.i(786220),c=a.i(516909),d=a.i(870630);function e(){}let f=a=>[...a].sort((a,b)=>b.createdAt-a.createdAt);function g(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}}a.s(["useThreadState",()=>g],111013)},455106,a=>{"use strict";let b={threadSidebarVisible:!1};function c(){return({...b}).threadSidebarVisible}function d(a){}a.s(["loadWorkspaceSidebarVisible",()=>c,"persistWorkspaceSidebarVisible",()=>d])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=apps_local_988d29c0._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[657613,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(516909),e=a.i(285320),f=a.i(970393),g=a.i(508869),h=a.i(523321),i=a.i(166621),j=a.i(971382);let k=(0,a.i(831709).default)("clock-3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]]);var l=a.i(552605),m=a.i(349692),n=a.i(737313),o=a.i(542341),p=a.i(489461),q=a.i(985339),r=a.i(824179),s=a.i(529889);function t({projectId:a}){let{isTouchLayout:e}=(0,s.useInputCapabilities)(),f=(0,d.useRouter)(),g=(0,d.usePathname)(),h=(0,c.useRef)(null),i=(0,c.useRef)(null),[t,u]=(0,c.useState)(""),[v,w]=(0,c.useState)([]),[x,y]=(0,c.useState)(0),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)(null),[D,E]=(0,c.useState)(!1),[F,G]=(0,c.useState)(0),[H,I]=(0,c.useState)(new Set),J=t.trim(),K=(0,c.useMemo)(()=>v.map(a=>({...a,visibleResults:H.has(a.id)?a.results:a.results.slice(0,3),hiddenCount:Math.max(0,a.results.length-3)})),[H,v]),L=(0,c.useMemo)(()=>K.flatMap(a=>a.visibleResults),[K]),M=(0,c.useMemo)(()=>L.map(a=>`${a.kind}:${a.id}`),[L]),N=(0,c.useCallback)(()=>{u(""),w([]),y(0),C(null),A(!1),G(0)},[]),O=(0,c.useCallback)(a=>{N(),E(!1),f.push(a.href)},[N,f]);(0,c.useEffect)(()=>{N(),E(!1),I(new Set)},[N,g]),(0,c.useEffect)(()=>{let a=a=>{h.current?.contains(a.target)||E(!1)};return window.addEventListener("pointerdown",a),()=>window.removeEventListener("pointerdown",a)},[]),(0,c.useEffect)(()=>{let a=a=>{(a.metaKey||a.ctrlKey)&&"k"===a.key.toLowerCase()&&(a.preventDefault(),i.current?.focus(),i.current?.select())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[]),(0,c.useEffect)(()=>{D&&G(0)},[D,v]),(0,c.useEffect)(()=>{if(!J||J.length<2){w([]),y(0),C(null),A(!1),I(new Set);return}let b=!1;A(!0);let c=window.setTimeout(()=>{(async()=>{try{let c=new URLSearchParams({q:J}),d=await fetch(`/api/projects/${encodeURIComponent(a)}/search?${c.toString()}`,{cache:"no-store"}),e=await d.json().catch(()=>null);if(b)return;if(!d.ok){let a=e&&"object"==typeof e&&"error"in e?String(e.error):"Search failed";w([]),y(0),C(a);return}w(Array.isArray(e.sections)?e.sections:[]),y("number"==typeof e.total?e.total:0),C(null),I(new Set)}catch(a){if(b)return;console.error("Project search failed",a),w([]),y(0),C("Search failed")}finally{b||A(!1)}})()},220);return()=>{b=!0,window.clearTimeout(c)}},[J,a]);let P=D&&(J.length>0||z||null!==B),Q=L.length>0?L[Math.max(0,Math.min(F,L.length-1))]:null,R=(0,c.useCallback)(a=>{I(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]);return(0,b.jsxs)("div",{ref:h,className:"relative w-full max-w-xl",children:[(0,b.jsxs)("div",{className:"group/search relative",children:[(0,b.jsx)(o.Search,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--app-shell-soft-text)] transition-colors group-focus-within/search:text-[var(--primary)]",strokeWidth:1.8}),(0,b.jsx)("input",{ref:i,type:"text",value:t,onFocus:()=>E(!0),onChange:a=>{u(a.target.value),E(!0)},onKeyDown:a=>{if("ArrowDown"===a.key&&L.length>0){a.preventDefault(),G(a=>(a+1)%L.length);return}if("ArrowUp"===a.key&&L.length>0){a.preventDefault(),G(a=>(a-1+L.length)%L.length);return}if("Enter"===a.key&&Q){a.preventDefault(),O(Q);return}"Escape"===a.key&&(J?N():(E(!1),i.current?.blur()))},placeholder:"Search objectives, tickets, tasks, teams, agents, and chat…",className:"h-8 w-full rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] pl-9 pr-16 text-xs font-medium text-[var(--foreground)] outline-none placeholder:text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] focus:border-[var(--primary)] focus:ring-2 focus:ring-[var(--ring)]"}),J?(0,b.jsxs)("div",{className:"absolute right-2 top-1/2 flex -translate-y-1/2 items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:z?"…":x}),(0,b.jsx)("button",{type:"button",onClick:()=>{N(),i.current?.focus()},className:"inline-flex h-5 w-5 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]","aria-label":"Clear search",children:(0,b.jsx)(r.X,{className:"h-3.5 w-3.5"})})]}):e?null:(0,b.jsx)("kbd",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1.5 py-0.5 font-sans text-[10px] font-bold text-[var(--app-shell-soft-text)]",children:"⌘K"})]}),P?(0,b.jsx)("div",{className:"absolute left-0 right-0 top-[calc(100%+0.5rem)] z-50 overflow-hidden rounded-2xl border border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] shadow-2xl shadow-black/20",children:(0,b.jsxs)("div",{className:"max-h-[28rem] overflow-y-auto p-2",children:[J.length<2?(0,b.jsx)("div",{className:"rounded-xl px-3 py-4 text-sm text-[var(--muted-foreground)]",children:"Keep typing to search across project entities."}):null,z?(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-xl px-3 py-4 text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)(m.Loader2,{className:"h-4 w-4 animate-spin"}),"Searching this project…"]}):null,!z&&B?(0,b.jsx)("div",{className:"rounded-xl px-3 py-4 text-sm text-rose-500",children:B}):null,z||B||!(J.length>=2)||0!==v.length?null:(0,b.jsx)("div",{className:"rounded-xl px-3 py-4 text-sm text-[var(--muted-foreground)]",children:"No matches in this project."}),!z&&!B&&K.map(a=>(0,b.jsxs)("div",{className:"mb-2 last:mb-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 px-3 pb-1 pt-2",children:[(0,b.jsxs)("div",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--app-shell-soft-text)]",children:[a.label,(0,b.jsx)("span",{className:"ml-1.5 text-[9px] text-[var(--muted-foreground)]",children:a.results.length})]}),a.results.length>3?(0,b.jsx)("button",{type:"button",onMouseDown:a=>a.preventDefault(),onClick:()=>R(a.id),className:"text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",children:H.has(a.id)?"Collapse":`Show ${a.hiddenCount} more`}):null]}),(0,b.jsx)("div",{className:"space-y-1",children:a.visibleResults.map(a=>{let c,d,e=`${a.kind}:${a.id}`,f=M.findIndex(a=>a===e),g=f===F,h=function(a){switch(a){case"objective":return p.Target;case"linear_issue":return l.FileText;case"scheduled_task":return k;case"team":return q.Users;case"agent":return j.Bot;case"chat_thread":case"chat_message":return n.MessageSquare;default:return o.Search}}(a.kind);return(0,b.jsxs)("button",{type:"button",onMouseDown:a=>a.preventDefault(),onMouseEnter:()=>G(f),onClick:()=>O(a),className:`flex w-full items-start gap-3 rounded-xl px-3 py-2.5 text-left transition-colors ${g?"bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,children:[(0,b.jsx)("span",{className:"mt-0.5 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)]",children:(0,b.jsx)(h,{className:"h-3.5 w-3.5",strokeWidth:1.75})}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:a.title}),(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-[var(--app-shell-subtle)] px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-[var(--app-shell-soft-text)]",children:a.label})]}),a.context?(0,b.jsx)("span",{className:"mt-0.5 block truncate text-xs text-[var(--muted-foreground)]",children:a.context}):null,a.description?(0,b.jsx)("span",{className:"mt-1 block text-xs leading-5 text-[var(--muted-foreground)]",children:(c=a.description.split(/(<\/?mark>)/g),d=!1,c.map((a,c)=>"<mark>"===a?(d=!0,null):"</mark>"===a?(d=!1,null):a?d?(0,b.jsx)("mark",{className:"rounded bg-amber-200/80 px-0.5 text-inherit",children:a},`mark-${c}`):(0,b.jsx)("span",{children:a},`text-${c}`):null))}):null]})]},e)})})]},a.id))]})}):null]})}var u=a.i(550158),v=a.i(830284),w=a.i(111013);let x={stage:"stage4",loading:!1,show:{home:!0,threads:!0,terminal:!0,objectives:!0,objectivesIsNew:!1,linear:!0,teams:!0,folders:!0,scheduledTasks:!0,envVars:!0}};var y=a.i(455106),z=a.i(427411);function A({children:a,params:j}){let{slug:k}=(0,c.use)(j),{isTouchLayout:l}=(0,s.useInputCapabilities)(),m=(0,d.useRouter)(),n=(0,d.usePathname)(),{projects:o,isLoading:p,createProject:q,updateProject:r,deleteProject:A,addAgent:B,removeAgent:C}=(0,v.useProjectsWithAgents)(),{threads:D,isLoading:E,isCreating:F,deletingThreadId:G,renamingThreadId:H,isRestoringActiveThread:I,createThread:J,renameThread:K,deleteThread:L}=(0,w.useThreadState)(),[M,N]=(0,c.useState)([]),[O,P]=(0,c.useState)(!1),[Q,R]=(0,c.useState)(368),[S,T]=(0,c.useState)(()=>"light");(0,c.useEffect)(()=>{P((0,y.loadWorkspaceSidebarVisible)()),R((0,z.loadWorkspaceWidth)()||368)},[]),(0,c.useEffect)(()=>{},[S]),(0,c.useEffect)(()=>{fetch("/api/participants").then(a=>a.json()).then(a=>N(Array.isArray(a)?a:[])).catch(()=>N([]))},[]);let U=(0,c.useMemo)(()=>o.find(a=>a.slug===k)??null,[o,k]),V=(0,c.useMemo)(()=>{let a=n.match(/\/projects\/[^/]+\/thread\/([^/]+)/);return a?.[1]?decodeURIComponent(a[1]):U?.thread_ids[0]??null},[U?.thread_ids,n]),W=(0,c.useMemo)(()=>n.includes("/linear")?"linear":n.includes("/automations")?"automations":n.includes("/thread/")?"thread":n.includes("/objectives")?"objectives":n.includes("/teams")?"teams":n.includes("/folders")?"folders":n.includes("/env-vars")?"env-vars":n.includes("/terminal")?"terminal":"home",[n]),{show:X}=x,Y=()=>{let a=!O;P(a),(0,y.persistWorkspaceSidebarVisible)(a)},Z=(0,c.useCallback)(a=>{R(a),(0,z.persistWorkspaceWidth)(a)},[]);return p?(0,b.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}):U?(0,b.jsxs)("div",{className:"flex h-dvh min-h-0 overflow-hidden bg-[var(--background)]",children:[(0,b.jsx)(u.WorkspaceSidebar,{threads:D,participants:M,activeThreadId:V,isLoading:E,isRestoringActiveThread:I,isCreating:F,deletingThreadId:G,renamingThreadId:H,onSelectThread:a=>m.push(`/projects/${k}/thread/${encodeURIComponent(a)}`),onCreateThread:J,onRenameThread:K,onDeleteThread:L,visible:O,onToggle:Y,width:Q,onWidthChange:Z,projects:o,onCreateProject:q,onUpdateProject:r,onDeleteProject:A,onAddAgentToProject:B,onRemoveAgentFromProject:C,activeProjectId:U.id,activeProjectView:W,stageShow:X,onUpdateParticipant:async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error("Failed to update agent");let c=await b.json();N(a=>a.map(a=>a.id===c.id?c:a))},onSelectProject:a=>{let b=o.find(b=>b.id===a);b&&m.push(`/projects/${b.slug}`)}}),(0,b.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 h-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"desktop-titlebar flex items-center px-4 py-2 border-b border-[var(--app-shell-border)] bg-[var(--background)] shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0 flex-shrink-0",children:[!O&&(0,b.jsx)("button",{type:"button",onClick:Y,className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",title:"Show sidebar","aria-label":"Show sidebar",children:(0,b.jsx)(f.PanelLeftOpen,{className:"h-4 w-4"})}),n!==`/projects/${k}`&&(0,b.jsx)("button",{type:"button",onClick:()=>m.back(),className:"p-1 -ml-1 rounded-lg text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors",children:(0,b.jsx)(e.ArrowLeft,{className:"w-4 h-4"})}),(0,b.jsx)("button",{type:"button",onClick:()=>m.push(`/projects/${k}`),className:`text-xs transition-colors ${"home"===W?"text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:U.name}),"home"!==W&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"\\"}),(0,b.jsx)("button",{type:"button",onClick:()=>m.push(`/projects/${k}/${"thread"===W?"":W}`),className:"text-xs text-[var(--foreground)] hover:text-[var(--muted-foreground)] transition-colors",children:{objectives:"Objectives",teams:"Teams",folders:"Folders","env-vars":"Environment Variables",linear:"Tasks",automations:"Scheduled Jobs",thread:"Chat",terminal:"Terminal"}[W]??W}),(0,b.jsx)("span",{id:"topbar-breadcrumb",className:"contents"})]})]}),(0,b.jsx)("div",{className:"flex-1 flex justify-center min-w-0 px-4",children:(0,b.jsx)(t,{projectId:U.id})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(0,b.jsx)(i.StatusIndicator,{}),(0,b.jsx)("button",{type:"button",onClick:()=>T(a=>"dark"===a?"light":"dark"),"aria-label":"dark"===S?"Switch to light theme":"Switch to dark theme",title:"dark"===S?"Switch to light theme":"Switch to dark theme",className:`inline-flex items-center justify-center rounded-lg text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] ${l?"h-9 w-9":"h-7 w-7"}`,children:"dark"===S?(0,b.jsx)(g.Sun,{className:l?"h-4 w-4":"h-3.5 w-3.5"}):(0,b.jsx)(h.Moon,{className:l?"h-4 w-4":"h-3.5 w-3.5"})})]})]}),a]})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-2",children:"Project Not Found"}),(0,b.jsxs)("p",{className:"text-[var(--muted-foreground)] mb-4",children:["The project “",k,"” does not exist or you do not have access to it."]}),(0,b.jsx)("button",{onClick:()=>m.push("/projects"),className:"px-4 py-2 bg-[var(--primary)] text-white rounded-lg hover:bg-[var(--primary-dark)] transition-colors",children:"Back to Projects"})]})}function B({children:a,params:d}){return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-[var(--muted-foreground)]",children:"Loading project…"}),children:(0,b.jsx)(A,{params:d,children:a})})}a.s(["default",()=>B],657613)}];
|
|
1
|
+
module.exports=[657613,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(516909),e=a.i(285320),f=a.i(970393),g=a.i(508869),h=a.i(523321),i=a.i(166621),j=a.i(971382);let k=(0,a.i(831709).default)("clock-3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]]);var l=a.i(552605),m=a.i(349692),n=a.i(737313),o=a.i(542341),p=a.i(489461),q=a.i(985339),r=a.i(824179),s=a.i(529889);function t({projectId:a}){let{isTouchLayout:e}=(0,s.useInputCapabilities)(),f=(0,d.useRouter)(),g=(0,d.usePathname)(),h=(0,c.useRef)(null),i=(0,c.useRef)(null),[t,u]=(0,c.useState)(""),[v,w]=(0,c.useState)([]),[x,y]=(0,c.useState)(0),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)(null),[D,E]=(0,c.useState)(!1),[F,G]=(0,c.useState)(0),[H,I]=(0,c.useState)(new Set),J=t.trim(),K=(0,c.useMemo)(()=>v.map(a=>({...a,visibleResults:H.has(a.id)?a.results:a.results.slice(0,3),hiddenCount:Math.max(0,a.results.length-3)})),[H,v]),L=(0,c.useMemo)(()=>K.flatMap(a=>a.visibleResults),[K]),M=(0,c.useMemo)(()=>L.map(a=>`${a.kind}:${a.id}`),[L]),N=(0,c.useCallback)(()=>{u(""),w([]),y(0),C(null),A(!1),G(0)},[]),O=(0,c.useCallback)(a=>{N(),E(!1),f.push(a.href)},[N,f]);(0,c.useEffect)(()=>{N(),E(!1),I(new Set)},[N,g]),(0,c.useEffect)(()=>{let a=a=>{h.current?.contains(a.target)||E(!1)};return window.addEventListener("pointerdown",a),()=>window.removeEventListener("pointerdown",a)},[]),(0,c.useEffect)(()=>{let a=a=>{(a.metaKey||a.ctrlKey)&&"k"===a.key.toLowerCase()&&(a.preventDefault(),i.current?.focus(),i.current?.select())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[]),(0,c.useEffect)(()=>{D&&G(0)},[D,v]),(0,c.useEffect)(()=>{if(!J||J.length<2){w([]),y(0),C(null),A(!1),I(new Set);return}let b=!1;A(!0);let c=window.setTimeout(()=>{(async()=>{try{let c=new URLSearchParams({q:J}),d=await fetch(`/api/projects/${encodeURIComponent(a)}/search?${c.toString()}`,{cache:"no-store"}),e=await d.json().catch(()=>null);if(b)return;if(!d.ok){let a=e&&"object"==typeof e&&"error"in e?String(e.error):"Search failed";w([]),y(0),C(a);return}w(Array.isArray(e.sections)?e.sections:[]),y("number"==typeof e.total?e.total:0),C(null),I(new Set)}catch(a){if(b)return;console.error("Project search failed",a),w([]),y(0),C("Search failed")}finally{b||A(!1)}})()},220);return()=>{b=!0,window.clearTimeout(c)}},[J,a]);let P=D&&(J.length>0||z||null!==B),Q=L.length>0?L[Math.max(0,Math.min(F,L.length-1))]:null,R=(0,c.useCallback)(a=>{I(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]);return(0,b.jsxs)("div",{ref:h,className:"relative w-full max-w-xl",children:[(0,b.jsxs)("div",{className:"group/search relative",children:[(0,b.jsx)(o.Search,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--app-shell-soft-text)] transition-colors group-focus-within/search:text-[var(--primary)]",strokeWidth:1.8}),(0,b.jsx)("input",{ref:i,type:"text",value:t,onFocus:()=>E(!0),onChange:a=>{u(a.target.value),E(!0)},onKeyDown:a=>{if("ArrowDown"===a.key&&L.length>0){a.preventDefault(),G(a=>(a+1)%L.length);return}if("ArrowUp"===a.key&&L.length>0){a.preventDefault(),G(a=>(a-1+L.length)%L.length);return}if("Enter"===a.key&&Q){a.preventDefault(),O(Q);return}"Escape"===a.key&&(J?N():(E(!1),i.current?.blur()))},placeholder:"Search objectives, tickets, tasks, teams, agents, and chat…",className:"h-8 w-full rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] pl-9 pr-16 text-xs font-medium text-[var(--foreground)] outline-none placeholder:text-[var(--app-shell-soft-text)] transition-all hover:border-[var(--app-shell-border-strong)] focus:border-[var(--primary)] focus:ring-2 focus:ring-[var(--ring)]"}),J?(0,b.jsxs)("div",{className:"absolute right-2 top-1/2 flex -translate-y-1/2 items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[11px] font-bold text-[var(--muted-foreground)]",children:z?"…":x}),(0,b.jsx)("button",{type:"button",onClick:()=>{N(),i.current?.focus()},className:"inline-flex h-5 w-5 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]","aria-label":"Clear search",children:(0,b.jsx)(r.X,{className:"h-3.5 w-3.5"})})]}):e?null:(0,b.jsx)("kbd",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1.5 py-0.5 font-sans text-[10px] font-bold text-[var(--app-shell-soft-text)]",children:"⌘K"})]}),P?(0,b.jsx)("div",{className:"absolute left-0 right-0 top-[calc(100%+0.5rem)] z-50 overflow-hidden rounded-2xl border border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] shadow-2xl shadow-black/20",children:(0,b.jsxs)("div",{className:"max-h-[28rem] overflow-y-auto p-2",children:[J.length<2?(0,b.jsx)("div",{className:"rounded-xl px-3 py-4 text-sm text-[var(--muted-foreground)]",children:"Keep typing to search across project entities."}):null,z?(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-xl px-3 py-4 text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)(m.Loader2,{className:"h-4 w-4 animate-spin"}),"Searching this project…"]}):null,!z&&B?(0,b.jsx)("div",{className:"rounded-xl px-3 py-4 text-sm text-rose-500",children:B}):null,z||B||!(J.length>=2)||0!==v.length?null:(0,b.jsx)("div",{className:"rounded-xl px-3 py-4 text-sm text-[var(--muted-foreground)]",children:"No matches in this project."}),!z&&!B&&K.map(a=>(0,b.jsxs)("div",{className:"mb-2 last:mb-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3 px-3 pb-1 pt-2",children:[(0,b.jsxs)("div",{className:"text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--app-shell-soft-text)]",children:[a.label,(0,b.jsx)("span",{className:"ml-1.5 text-[9px] text-[var(--muted-foreground)]",children:a.results.length})]}),a.results.length>3?(0,b.jsx)("button",{type:"button",onMouseDown:a=>a.preventDefault(),onClick:()=>R(a.id),className:"text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",children:H.has(a.id)?"Collapse":`Show ${a.hiddenCount} more`}):null]}),(0,b.jsx)("div",{className:"space-y-1",children:a.visibleResults.map(a=>{let c,d,e=`${a.kind}:${a.id}`,f=M.findIndex(a=>a===e),g=f===F,h=function(a){switch(a){case"objective":return p.Target;case"linear_issue":return l.FileText;case"scheduled_task":return k;case"team":return q.Users;case"agent":return j.Bot;case"chat_thread":case"chat_message":return n.MessageSquare;default:return o.Search}}(a.kind);return(0,b.jsxs)("button",{type:"button",onMouseDown:a=>a.preventDefault(),onMouseEnter:()=>G(f),onClick:()=>O(a),className:`flex w-full items-start gap-3 rounded-xl px-3 py-2.5 text-left transition-colors ${g?"bg-[var(--app-shell-subtle)] text-[var(--foreground)]":"text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)]"}`,children:[(0,b.jsx)("span",{className:"mt-0.5 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)]",children:(0,b.jsx)(h,{className:"h-3.5 w-3.5",strokeWidth:1.75})}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:a.title}),(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-[var(--app-shell-subtle)] px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-[var(--app-shell-soft-text)]",children:a.label})]}),a.context?(0,b.jsx)("span",{className:"mt-0.5 block truncate text-xs text-[var(--muted-foreground)]",children:a.context}):null,a.description?(0,b.jsx)("span",{className:"mt-1 block text-xs leading-5 text-[var(--muted-foreground)]",children:(c=a.description.split(/(<\/?mark>)/g),d=!1,c.map((a,c)=>"<mark>"===a?(d=!0,null):"</mark>"===a?(d=!1,null):a?d?(0,b.jsx)("mark",{className:"rounded bg-amber-200/80 px-0.5 text-inherit",children:a},`mark-${c}`):(0,b.jsx)("span",{children:a},`text-${c}`):null))}):null]})]},e)})})]},a.id))]})}):null]})}var u=a.i(550158),v=a.i(830284),w=a.i(111013),x=a.i(227444);let y={home:!0,threads:!0,terminal:!0,objectives:!0,objectivesIsNew:!1,tracking:!0,teams:!0,folders:!0,scheduledTasks:!0,envVars:!0};var z=a.i(455106),A=a.i(427411);function B({children:a,params:j}){let{slug:k}=(0,c.use)(j),{isTouchLayout:l}=(0,s.useInputCapabilities)(),m=(0,d.useRouter)(),n=(0,d.usePathname)(),{projects:o,isLoading:p,createProject:q,updateProject:r,deleteProject:B,addAgent:C,removeAgent:D}=(0,v.useProjectsWithAgents)(),{threads:E,isLoading:F,isCreating:G,deletingThreadId:H,renamingThreadId:I,isRestoringActiveThread:J,createThread:K,renameThread:L,deleteThread:M}=(0,w.useThreadState)(),[N,O]=(0,c.useState)([]),[P,Q]=(0,c.useState)(!1),[R,S]=(0,c.useState)(368),[T,U]=(0,c.useState)(()=>"light");(0,c.useEffect)(()=>{Q((0,z.loadWorkspaceSidebarVisible)()),S((0,A.loadWorkspaceWidth)()||368)},[]),(0,c.useEffect)(()=>{},[T]),(0,c.useEffect)(()=>{fetch("/api/participants").then(a=>a.json()).then(a=>O(Array.isArray(a)?a:[])).catch(()=>O([]))},[]);let V=(0,c.useMemo)(()=>o.find(a=>a.slug===k)??null,[o,k]),W=(0,c.useMemo)(()=>{let a=n.match(/\/projects\/[^/]+\/thread\/([^/]+)/);return a?.[1]?decodeURIComponent(a[1]):V?.thread_ids[0]??null},[V?.thread_ids,n]),X=(0,c.useMemo)(()=>n.includes("/linear")?"linear":n.includes("/automations")?"automations":n.includes("/thread/")?"thread":n.includes("/objectives")?"objectives":n.includes("/teams")?"teams":n.includes("/folders")?"folders":n.includes("/env-vars")?"env-vars":n.includes("/terminal")?"terminal":"home",[n]),{show:Y,trackerConnections:Z}=function(a){let{connections:b,loading:d}=(0,x.useTrackerConnections)(a?.id??null);return(0,c.useMemo)(()=>{let a=b.map(a=>({type:a.type,connected:a.connected,connectedAt:a.connectedAt}));return d?{stage:"stage1",loading:!0,show:{...y},trackerConnections:[]}:{stage:"stage4",loading:!1,show:{...y},trackerConnections:a}},[d,b])}(V),$=()=>{let a=!P;Q(a),(0,z.persistWorkspaceSidebarVisible)(a)},_=(0,c.useCallback)(a=>{S(a),(0,A.persistWorkspaceWidth)(a)},[]);return p?(0,b.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}):V?(0,b.jsxs)("div",{className:"flex h-dvh min-h-0 overflow-hidden bg-[var(--background)]",children:[(0,b.jsx)(u.WorkspaceSidebar,{threads:E,participants:N,activeThreadId:W,isLoading:F,isRestoringActiveThread:J,isCreating:G,deletingThreadId:H,renamingThreadId:I,onSelectThread:a=>m.push(`/projects/${k}/thread/${encodeURIComponent(a)}`),onCreateThread:K,onRenameThread:L,onDeleteThread:M,visible:P,onToggle:$,width:R,onWidthChange:_,projects:o,onCreateProject:q,onUpdateProject:r,onDeleteProject:B,onAddAgentToProject:C,onRemoveAgentFromProject:D,activeProjectId:V.id,activeProjectView:X,stageShow:Y,trackerConnections:Z,onUpdateParticipant:async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error("Failed to update agent");let c=await b.json();O(a=>a.map(a=>a.id===c.id?c:a))},onSelectProject:a=>{let b=o.find(b=>b.id===a);b&&m.push(`/projects/${b.slug}`)}}),(0,b.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 h-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"desktop-titlebar flex items-center px-4 py-2 border-b border-[var(--app-shell-border)] bg-[var(--background)] shrink-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0 flex-shrink-0",children:[!P&&(0,b.jsx)("button",{type:"button",onClick:$,className:"inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]",title:"Show sidebar","aria-label":"Show sidebar",children:(0,b.jsx)(f.PanelLeftOpen,{className:"h-4 w-4"})}),n!==`/projects/${k}`&&(0,b.jsx)("button",{type:"button",onClick:()=>m.back(),className:"p-1 -ml-1 rounded-lg text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] transition-colors",children:(0,b.jsx)(e.ArrowLeft,{className:"w-4 h-4"})}),(0,b.jsx)("button",{type:"button",onClick:()=>m.push(`/projects/${k}`),className:`text-xs transition-colors ${"home"===X?"text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:text-[var(--foreground)]"}`,children:V.name}),"home"!==X&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"\\"}),(0,b.jsx)("button",{type:"button",onClick:()=>m.push(`/projects/${k}/${"thread"===X?"":X}`),className:"text-xs text-[var(--foreground)] hover:text-[var(--muted-foreground)] transition-colors",children:{objectives:"Objectives",teams:"Teams",folders:"Folders","env-vars":"Environment Variables",linear:"Tasks",automations:"Scheduled Jobs",thread:"Chat",terminal:"Terminal"}[X]??X}),(0,b.jsx)("span",{id:"topbar-breadcrumb",className:"contents"})]})]}),(0,b.jsx)("div",{className:"flex-1 flex justify-center min-w-0 px-4",children:(0,b.jsx)(t,{projectId:V.id})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(0,b.jsx)(i.StatusIndicator,{}),(0,b.jsx)("button",{type:"button",onClick:()=>U(a=>"dark"===a?"light":"dark"),"aria-label":"dark"===T?"Switch to light theme":"Switch to dark theme",title:"dark"===T?"Switch to light theme":"Switch to dark theme",className:`inline-flex items-center justify-center rounded-lg text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)] hover:bg-[var(--app-shell-subtle)] ${l?"h-9 w-9":"h-7 w-7"}`,children:"dark"===T?(0,b.jsx)(g.Sun,{className:l?"h-4 w-4":"h-3.5 w-3.5"}):(0,b.jsx)(h.Moon,{className:l?"h-4 w-4":"h-3.5 w-3.5"})})]})]}),a]})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-2",children:"Project Not Found"}),(0,b.jsxs)("p",{className:"text-[var(--muted-foreground)] mb-4",children:["The project “",k,"” does not exist or you do not have access to it."]}),(0,b.jsx)("button",{onClick:()=>m.push("/projects"),className:"px-4 py-2 bg-[var(--primary)] text-white rounded-lg hover:bg-[var(--primary-dark)] transition-colors",children:"Back to Projects"})]})}function C({children:a,params:d}){return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-[var(--muted-foreground)]",children:"Loading project…"}),children:(0,b.jsx)(B,{params:d,children:a})})}a.s(["default",()=>C],657613)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=apps_local_app_projects_%5Bslug%5D_layout_tsx_3bb31889._.js.map
|