@mndrk/agx 2.0.46 β 2.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/prerender-manifest.json +27 -3
- package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js +5 -2
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/folders/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page.js +15 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/folders.html +21 -0
- package/cloud-runtime/standalone/.next/server/app/folders.meta +15 -0
- package/cloud-runtime/standalone/.next/server/app/folders.rsc +24 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_full.segment.rsc +24 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_head.segment.rsc +5 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_index.segment.rsc +10 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_tree.segment.rsc +5 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +9 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/folders.segment.rsc +4 -0
- package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[externals]__31e26905._.js β [externals]__7b4c6b2b._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[externals]__a21cc96d._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__015d40a6._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__067034dd._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5aaf8c25._.js β [root-of-the-server]__143fdf69._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__74a37ca4._.js β [root-of-the-server]__158df4bf._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c029daab._.js β [root-of-the-server]__179cb224._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3fd3c5b1._.js β [root-of-the-server]__1a1f66b1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20a2cb22._.js +150 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d2ac93f2._.js β [root-of-the-server]__23b075bd._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3bf516b6._.js β [root-of-the-server]__3170b7bf._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__558389f7._.js β [root-of-the-server]__33865410._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4c2d07e0._.js β [root-of-the-server]__36d15de5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__37844df7._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d9f2041b._.js β [root-of-the-server]__3a93931b._.js} +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3fae531a._.js +89 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__76658fd6._.js β [root-of-the-server]__4cb22e4d._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ebece93b._.js β [root-of-the-server]__4ce74056._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__635fe0f9._.js β [root-of-the-server]__538b0bdd._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3b1431b6._.js β [root-of-the-server]__5c55f67a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e20922e8._.js β [root-of-the-server]__69a3c480._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__42804c1d._.js β [root-of-the-server]__6c53437e._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8cbd8c56._.js +79 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__92ed2961._.js +48 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__509b1dd2._.js β [root-of-the-server]__94499e9a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ddb3aa76._.js β [root-of-the-server]__a280fa63._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8c7d1318._.js β [root-of-the-server]__a2d31df1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a3955224._.js +150 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4b0b5fe1._.js β [root-of-the-server]__a7b2350e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5b13e7a5._.js β [root-of-the-server]__ab655b9f._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac6326b6._.js +106 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0284ea89._.js β [root-of-the-server]__b2748382._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e7be56ba._.js β [root-of-the-server]__b627cb83._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0e98af48._.js β [root-of-the-server]__bab85495._.js} +63 -18
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dca6026a._.js β [root-of-the-server]__c21747df._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c22dd3a6._.js +179 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8890cd6._.js +150 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__aad349b4._.js β [root-of-the-server]__ca4987eb._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__fcdaf6d8._.js β [root-of-the-server]__d16caed5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1f53e82e._.js β [root-of-the-server]__d324f8a1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6988985c._.js β [root-of-the-server]__da645a5e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d4f42f49._.js β [root-of-the-server]__e58e9f91._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b3df16._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c8195768._.js β [root-of-the-server]__f7f336c7._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcfa3690._.js +93 -0
- package/cloud-runtime/standalone/.next/server/chunks/_4d07f8db._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_7f7835f1._.js +66 -21
- package/cloud-runtime/standalone/.next/server/chunks/lib_9f439b27._.js +61 -16
- package/cloud-runtime/standalone/.next/server/chunks/lib_f81d6da9._.js +70 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__4c9d0778._.js β [root-of-the-server]__01e1641e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b2a2b86._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__32546242._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__4140bb73._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ffbc2e98._.js β [root-of-the-server]__5e73414b._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ff9ead4._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ec81a3d9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f2c3b7ab._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a42e4555._.js β [root-of-the-server]__fbe1ab4a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1e9b9b1e._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_24fe6213._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_36a0c486._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_3b21d3b2._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_3eeac8f9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_48db42b7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_59f30a73._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_7d3b0032._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_916950b3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_b598ae8a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_b7009996._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cc8c8302._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_d972a4e1._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd7bb6fb._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd9880fb._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_e70d5625._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f02d786a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f53d31e0._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fd8cafe9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_folders_page_actions_9c8dfb6c.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_linear_page_tsx_971a6ba7._.js +15 -12
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_54bf563f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/instrumentation.js +1 -1
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/next-font-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/04c135686161dbb1.js +40 -0
- package/cloud-runtime/standalone/.next/static/chunks/0d63db0c39c0a3b2.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/136ed07d84b14632.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/18866ed04ed3a063.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/1b808cdaa28a10b4.js +16 -0
- package/cloud-runtime/standalone/.next/static/chunks/{ccaf68956da192f8.js β 1bb38e61d891453c.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/2c7c8259c2b56bf5.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2da1f13d50dc4e54.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/442eb8ef62bef9f9.js +3 -0
- package/cloud-runtime/standalone/.next/static/chunks/5f33b52d582b0bb4.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{1fa91c34c99502bf.js β 64c2961edd3a3b13.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{db131a0b6350e416.js β 692ce04abdbb3970.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/83be8569d298c6b0.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/87b3afe828c8cc52.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{14922fd23cdc223b.js β 9328740727c6456d.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/95d47e285ae9c031.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/b9bf5d3ee92a1313.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/ea35fb870141bcff.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f59722264449b61c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f727d2c8f039511d.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{f4360c3e4089263f.js β f8706212baa8ec67.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/fd823c9d1381335d.js +1 -0
- package/cloud-runtime/standalone/app/api/linear/issues/route.ts +9 -2
- package/cloud-runtime/standalone/app/api/linear/options/route.ts +16 -4
- package/cloud-runtime/standalone/app/automations/page.tsx +11 -1
- package/cloud-runtime/standalone/app/folders/page.tsx +318 -0
- package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +11 -1
- package/cloud-runtime/standalone/components/LinearBoard.tsx +211 -28
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +10 -0
- package/cloud-runtime/standalone/components/linear/RunScriptManager.tsx +356 -0
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +55 -10
- package/cloud-runtime/standalone/hooks/useLinearIssues.ts +7 -3
- package/cloud-runtime/standalone/hooks/useLinearRunScripts.ts +115 -0
- package/cloud-runtime/standalone/instrumentation.ts +3 -0
- package/cloud-runtime/standalone/lib/cli-runner.ts +27 -6
- package/cloud-runtime/standalone/lib/linear-client.ts +33 -3
- package/cloud-runtime/standalone/lib/linear-execution-prompt.ts +92 -15
- package/cloud-runtime/standalone/lib/linear-issue-store.ts +33 -5
- package/cloud-runtime/standalone/lib/scheduled-task-skill.ts +119 -0
- package/cloud-runtime/standalone/state/automations/.state/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.json +8 -0
- package/cloud-runtime/standalone/state/automations/active/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.md +15 -0
- package/cloud-runtime/standalone/state/linearBoardFilters.ts +90 -0
- package/cloud-runtime/standalone/state/linearRunScripts.test.ts +99 -0
- package/cloud-runtime/standalone/state/linearRunScripts.ts +132 -0
- package/cloud-runtime/standalone/state/windowState.ts +21 -0
- package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
- package/cloud-runtime/standalone/worker/index.js +147 -28
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1154e5b3._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b83b657._.js +0 -147
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6921fe3f._.js +0 -44
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__70327010._.js +0 -134
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__748c718f._.js +0 -147
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__76290829._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79fa35e4._.js +0 -101
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8d205f82._.js +0 -48
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a7e0ac67._.js +0 -25
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ad6d6402._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b133856b._.js +0 -61
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ce2a1672._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +0 -25
- package/cloud-runtime/standalone/.next/server/chunks/_a93e80e8._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1c4256ce._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__69887882._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bb149a22._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_11ce4c04._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1d26be78._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_22e99a52._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_260b10ce._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_32c878b9._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_4bfdfb14._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_52fe115d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_69164b06._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_77e1407a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_7f7a828a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_84a166cb._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_ba5903a7._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cee3cf86._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_ed4fece9._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f51a3112._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e8bdedc5._.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/2362d5c0dcaa5d64.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/2730394502dd3664.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/2a9c83f8211196e0.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/34dd491bc4ce9561.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/37f07896b044d69f.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/3dc50de1c86e1ce9.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/4ea8f08087116055.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/98c20da4973991f0.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/a72fbac84e32f665.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/a9da98f883ac833b.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b2127dc67c5ade9f.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b3377e39d47c71cf.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/b553dba1f51e709b.js +0 -16
- package/cloud-runtime/standalone/.next/static/chunks/bf2a2fafb710e63c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/c0d17e0c37ba8e7a.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/cca7c8e4ade050f0.js +0 -37
- package/cloud-runtime/standalone/state/automations/.state/24a6a5db-3b14-49c4-841f-29f10f015fbb.json +0 -8
- package/cloud-runtime/standalone/state/automations/active/24a6a5db-3b14-49c4-841f-29f10f015fbb.md +0 -17
- /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD β gty0FO80D_lbq3o9lSpQQ}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD β gty0FO80D_lbq3o9lSpQQ}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD β gty0FO80D_lbq3o9lSpQQ}/_ssgManifest.js +0 -0
|
@@ -1,25 +1,70 @@
|
|
|
1
|
-
module.exports=[37269,e=>{"use strict";var t=e.i(522734),r=e.i(446786),n=e.i(814747);let i=process.env.AGX_DATA_DIR||n.default.join(r.default.homedir(),".agx"),s=process.env.AGX_DEBUG_LOG_PATH||n.default.join(i,"logs","desktop-chat-debug.log");function
|
|
2
|
-
`,"utf8")}catch{}}e.s(["getDebugLogPath",()=>
|
|
3
|
-
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},
|
|
4
|
-
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},
|
|
5
|
-
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},
|
|
1
|
+
module.exports=[37269,e=>{"use strict";var t=e.i(522734),r=e.i(446786),n=e.i(814747);let i=process.env.AGX_DATA_DIR||n.default.join(r.default.homedir(),".agx"),s=process.env.AGX_DEBUG_LOG_PATH||n.default.join(i,"logs","desktop-chat-debug.log");function a(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"string"==typeof t&&t.length>2e3?`${t.slice(0,2e3)}...<truncated>`:t}function o(){return s}function l(e,r){try{t.default.mkdirSync(n.default.dirname(s),{recursive:!0});let i=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},a);t.default.appendFileSync(s,`${i}
|
|
2
|
+
`,"utf8")}catch{}}e.s(["getDebugLogPath",()=>o,"writeDebugLog",()=>l])},701435,e=>{"use strict";let t;var r=e.i(233405);function n(){return process.env.SHELL?.trim()||"/bin/bash"}function i(e){let i=function(){if(void 0!==t)return t;try{let e=n(),i=(0,r.spawnSync)(e,["-lc",'printf %s "$PATH"'],{encoding:"utf8",timeout:5e3});t=(0===i.status?i.stdout.trim():"")||null}catch{t=null}return t}();return{...process.env,...i?{PATH:i}:{},CLAUDECODE:void 0,...e}}function s(e){try{if(!/^[A-Za-z0-9._-]+$/.test(e))return!1;let t=n();return 0===(0,r.spawnSync)(t,["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8",timeout:5e3}).status}catch{return!1}}e.s(["buildSpawnEnv",()=>i,"commandExists",()=>s])},914350,e=>{"use strict";var t=e.i(233405),r=e.i(522734),n=e.i(814747),i=e.i(37269),s=e.i(701435),a=e.i(902157),o=e.i(660526),l=e.i(750227);function u(e){return e.replace(/\\/g,"/")}let d=e=>"string"==typeof e&&e.trim().length>0,c=e=>({push:e,flush:()=>{}}),p=e=>{let t="",r=0,n=!1,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);n=!0;let s=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&d(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&d(t?.delta?.text)?t.delta.text:""})(t);if(!s||t?.type==="assistant"&&r>0)return;r+=s.length,e(s)}catch{n||e(`${t}
|
|
3
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},m=e=>{let t="",r=!1,n="",i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);r=!0,t?.type==="message"&&t?.role==="assistant"&&d(t?.content)&&((t,r)=>{if(t){if(r){if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}e(t),n+=t;return}if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}n||(e(t),n=t)}})(t.content,t?.delta===!0)}catch{r||e(`${t}
|
|
4
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},h=e=>{let t="",r=!1,n=new Set,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);if(r=!0,t?.type==="item.completed"&&d(t?.item?.id)){if(n.has(t.item.id))return;n.add(t.item.id)}let s=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&d(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&d(t.delta?.text)?t.delta.text:"":"";s&&e(s)}catch{r||e(`${t}
|
|
5
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},f=e=>{let t="",r=!1,n=[/^Thinking\.\.\./,/^<think>/i],i=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:s=>{t+=s,(()=>{for(;t.length>0;){if(r){let e=-1,n=0;for(let r of i){let i=t.match(r);i&&void 0!==i.index&&(i.index,i[0].length,(-1===e||i.index<e)&&(e=i.index,n=i[0].length))}if(-1!==e){t=t.slice(e+n),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let i of n){let n=t.match(i);if(n&&void 0!==n.index){let i=t.slice(0,n.index);i&&e.push(i),t=t.slice(n.index+n[0].length),r=!0;break}}if(r)continue;let s=Math.max(0,t.length-30);s>0&&(e.push(t.slice(0,s)),t=t.slice(s));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},g=new Set(["claude","gemini","ollama","codex"]);function v({provider:e,model:t,prompt:r,systemPrompt:n}){switch(e){case"claude":{let e=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&e.push("--model",t),n&&e.push("--system-prompt",n),e.push(r),{command:"claude",args:e,parser:"claude-stream-json"}}case"gemini":return{command:"gemini",args:["--yolo","-p",n?`${n}
|
|
6
6
|
|
|
7
7
|
${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",n?`${n}
|
|
8
8
|
|
|
9
9
|
${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(n?`${n}
|
|
10
10
|
|
|
11
|
-
${r}`:r),{command:"codex",args:e,parser:"codex-json"}}case"zai":{let e=process.env.ZAI_API_KEY?.trim(),i=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&i.push("--model",t),n&&i.push("--system-prompt",n),i.push(r),{command:"claude",args:i,parser:"claude-stream-json",env:{ANTHROPIC_BASE_URL:"https://api.z.ai/api/anthropic",...e?{ANTHROPIC_AUTH_TOKEN:e}:{}}}}default:return null}}function
|
|
11
|
+
${r}`:r),{command:"codex",args:e,parser:"codex-json"}}case"zai":{let e=process.env.ZAI_API_KEY?.trim(),i=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&i.push("--model",t),n&&i.push("--system-prompt",n),i.push(r),{command:"claude",args:i,parser:"claude-stream-json",env:{ANTHROPIC_BASE_URL:"https://api.z.ai/api/anthropic",...e?{ANTHROPIC_AUTH_TOKEN:e}:{}}}}default:return null}}function x(){let e=process.env.AGX_CLI_PATH?.trim();if(e&&r.default.existsSync(e))return e;for(let e of[n.default.resolve(process.cwd(),"..","cli","index.js"),n.default.resolve("/ROOT/lib","..","cli","index.js"),n.default.resolve(process.execPath,"..","..","Resources","cli","index.js")])if(r.default.existsSync(e))return e;return null}function y({provider:e,model:t,prompt:r,systemPrompt:n,passthroughArgs:i},a={}){let o=a.commandExists??s.commandExists,l=void 0===a.bundledCliPath?x():a.bundledCliPath,u=[],d=n?`${n}
|
|
12
12
|
|
|
13
|
-
${r}`:r;if(
|
|
14
|
-
`);let m=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:(0,s.buildSpawnEnv)(
|
|
13
|
+
${r}`:r;if(g.has(e)){let s=function({provider:e,model:t,prompt:r,cliPath:n,passthroughArgs:i}){let s=void 0===n?x():n;if(!s)return null;let a=[s,e,"-y","--print","--prompt",r];return t&&a.push("--model",t),i&&i.length>0&&a.push("--",...i),{command:process.execPath,args:a,parser:"raw"}}({provider:e,model:t,prompt:d,cliPath:l,passthroughArgs:i});s&&u.push(s),o("agx")&&u.push(function({provider:e,model:t,prompt:r,passthroughArgs:n}){let i=[e,"-y","--print","--prompt",r];return t&&i.push("--model",t),n&&n.length>0&&i.push("--",...n),{command:"agx",args:i,parser:"raw"}}({provider:e,model:t,prompt:d,passthroughArgs:i}));let a=v({provider:e,model:t,prompt:r,systemPrompt:n});return a&&o(a.command)&&u.push(a),u}let c=v({provider:e,model:t,prompt:r,systemPrompt:n});return c&&o(c.command)&&u.push(c),u}async function b({command:e,args:r,timeoutMs:n,signal:a,onDelta:o,onLog:l,onSpawn:u,env:d}){await new Promise((c,p)=>{(0,i.writeDebugLog)("cli-runner.spawn",{command:e,args:r,timeoutMs:n,bundledCliPath:x(),isElectron:process.env.AGX_ELECTRON||null}),l&&l("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"β¦":e).join(" ")}
|
|
14
|
+
`);let m=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:(0,s.buildSpawnEnv)(d)}),h=!1,f="",g=!1,v=e=>{h||(h=!0,clearTimeout(b),a&&a.removeEventListener("abort",y),e?p(e):c())},y=()=>{(0,i.writeDebugLog)("cli-runner.abort",{command:e,args:r,pid:m.pid??null}),m.kill("SIGTERM"),v(Error("Chat request aborted."))};a&&a.addEventListener("abort",y,{once:!0}),u&&m.pid&&u(m.pid),(0,i.writeDebugLog)("cli-runner.spawned",{command:e,args:r,pid:m.pid??null});let b=setTimeout(()=>{g=!0,(0,i.writeDebugLog)("cli-runner.timeout",{command:e,args:r,pid:m.pid??null,timeoutMs:n}),m.kill("SIGKILL"),v(Error(`CLI request timed out after ${n}ms.`))},n);m.stdout.on("data",e=>{let t=e.toString();f+=t,o(t),l&&l("stdout",t)}),m.stderr.on("data",e=>{let t=e.toString();f+=t,l&&l("stderr",t)}),m.on("error",t=>{(0,i.writeDebugLog)("cli-runner.process_error",{command:e,args:r,pid:m.pid??null,error:t}),v(t)}),m.on("close",(t,n)=>{if(!h&&!g){if((0,i.writeDebugLog)("cli-runner.close",{command:e,args:r,pid:m.pid??null,code:t??null,signal:n??null}),0===t)return void v();v(Error(`CLI command failed (exit=${t??"unknown"} signal=${n??"none"}).${f.trim()?` ${f.trim()}`:""}`))}})})}async function k({provider:e,model:t,prompt:r,identity:n,self:s,skills:a,systemContext:o,passthroughArgs:l,signal:u,onDelta:d,onLog:g,onSpawn:v}){let k,j,$,A,S=(k=!1,j=!1,$="",A=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!k?(k=!0,"\n"):"";let r=k?t.replace(/^\n+/,"\n"):t,n=r.trimStart(),i=A.test(n),s=j&&i&&!k,a=j&&!k&&!s&&!/^\s/.test(r)&&/[.!?)]/.test($)&&/^[A-Z0-9`(]/.test(r),o=s?`
|
|
15
15
|
|
|
16
|
-
${r}`:
|
|
17
|
-
${r}`:r;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
${r}`:a?`
|
|
17
|
+
${r}`:r;k=o.endsWith("\n"),j=j||o.trim().length>0;let l=o.replace(/\s+$/g,"");return l.length>0&&($=l[l.length-1]??$),o}),E=e=>{let t=S(e);t&&d(t)},L=y({provider:e,model:t,prompt:r,systemPrompt:w({identity:n,self:s,skills:a,systemContext:o}),passthroughArgs:l});if(0===L.length)throw(0,i.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:x(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let P=null;for(let r of L){(0,i.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let n="claude-stream-json"===r.parser?p(E):"codex-json"===r.parser?h(E):"gemini-stream-json"===r.parser?m(E):c(E),s=r.filterThoughts?f(n):n;try{await b({command:r.command,args:r.args,timeoutMs:18e5,signal:u,onDelta:s.push,onLog:g,onSpawn:v,env:r.env}),s.flush(),(0,i.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(n){P=n instanceof Error?n:Error(String(n)),(0,i.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:P})}}throw P||Error("CLI execution failed.")}function w({identity:e,self:t,skills:r,systemContext:n}){let i=[];return n&&i.push(n),i.push(function(e={}){let t=function(e={}){let t=function(e={}){return l.default.join(function(e){let t=e?.trim();if(t)return t;let r=process.env.AGX_DATA_DIR?.trim();return r||l.default.join(o.default.homedir(),".agx")}(e.agxDataDir),"skills","scheduled-task-manager","SKILL.md")}(e),r=function(e={}){var t;let r,n=(t=e.workspaceRoot,(r=t?.trim())||process.cwd()),i=u(l.default.join(n,"planning","automation-frontmatter-migration-spec.md")),s=u(l.default.join(n,"src","automations")),a=u(l.default.join(n,"src","prompt-scheduler")),o=u(l.default.join(n,"src","graph","schedule-runner.ts")),d=u(l.default.join(n,"src","graph","store.ts")),c=u(l.default.join(n,"app","api","automations","route.ts")),p=u(l.default.join(n,"app","api","prompt-jobs","route.ts"));return`---
|
|
18
|
+
name: scheduled-task-manager
|
|
19
|
+
description: Use when creating, editing, migrating, debugging, or reviewing AGX scheduled tasks, automations, prompt jobs, execution graph schedules, or frontmatter-backed automation definitions.
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Scheduled Task Manager
|
|
23
|
+
|
|
24
|
+
Use this skill whenever the task touches scheduled tasks, automations, prompt jobs, execution graph schedules, or automation frontmatter.
|
|
25
|
+
|
|
26
|
+
## Read First
|
|
27
|
+
|
|
28
|
+
- [automation-frontmatter-migration-spec](${i})
|
|
29
|
+
- Shared automation model lives in [src/automations](${s})
|
|
30
|
+
- Prompt-job scheduling lives in [src/prompt-scheduler](${a})
|
|
31
|
+
- Execution-graph scheduling flows through [schedule-runner.ts](${o}) and [store.ts](${d})
|
|
32
|
+
- API entry points are [app/api/automations/route.ts](${c}) and [app/api/prompt-jobs/route.ts](${p})
|
|
33
|
+
|
|
34
|
+
## Guardrails
|
|
35
|
+
|
|
36
|
+
- Reject malformed frontmatter. Do not coerce invalid enum values into defaults.
|
|
37
|
+
- Preserve stable automation ids. Renaming a task must not create a new id.
|
|
38
|
+
- Keep runtime state such as last run, next run, and archival flags out of frontmatter unless the spec explicitly says otherwise.
|
|
39
|
+
- Preserve sub-minute scheduled cadences when they are represented as \`intervalMs\`.
|
|
40
|
+
- For \`execution_graph\` targets, keep \`graphId\` and \`taskId\` resolution correct. Do not assume \`definition.id === taskId\`.
|
|
41
|
+
- Updating an automation definition should advance user-visible \`updatedAt\`.
|
|
42
|
+
- Avoid eager file-backed repository initialization on request paths that should stay lazy or rollout-gated.
|
|
43
|
+
- Keep parser and serializer behavior round-trippable unless the spec explicitly requires normalization.
|
|
44
|
+
|
|
45
|
+
## Working Pattern
|
|
46
|
+
|
|
47
|
+
1. Read the migration spec before changing storage, rollout, or validation behavior.
|
|
48
|
+
2. Trace the full path: parser -> validation -> repository -> scheduler -> API.
|
|
49
|
+
3. Add or update regression tests for parsing, serialization, due selection, and the affected API or runtime path.
|
|
50
|
+
4. Prefer small fixes in the shared automation layer over duplicating logic in adapters.
|
|
51
|
+
|
|
52
|
+
## Validation Checklist
|
|
53
|
+
|
|
54
|
+
- Scheduled triggers keep \`cronExpr\`, \`cadence\`, and sub-minute \`intervalMs\` semantics intact.
|
|
55
|
+
- Condition triggers validate required fields and reject unsupported polling intervals.
|
|
56
|
+
- Target-specific required fields are enforced.
|
|
57
|
+
- Invalid definitions fail closed and are excluded instead of silently rewritten.
|
|
58
|
+
- Prompt-job and execution-graph adapters preserve the same runtime meaning before and after frontmatter serialization.
|
|
59
|
+
`}(e);try{a.default.mkdirSync(l.default.dirname(t),{recursive:!0}),(a.default.existsSync(t)?a.default.readFileSync(t,"utf8"):null)!==r&&a.default.writeFileSync(t,r,"utf8")}catch(e){console.warn("[scheduled-task-skill] Failed to install skill:",e)}return t}(e);return`<scheduled-task-skill>
|
|
60
|
+
Path: ${u(t)}
|
|
61
|
+
Read this skill whenever the task involves scheduled tasks, automations, prompt jobs, execution graph schedules, or frontmatter-backed automation definitions.
|
|
62
|
+
</scheduled-task-skill>`}()),e&&i.push(`<identity>
|
|
63
|
+
${e}
|
|
64
|
+
</identity>`),t&&i.push(`<self>
|
|
65
|
+
${t}
|
|
66
|
+
</self>`),r&&i.push(`<skills>
|
|
67
|
+
${r}
|
|
68
|
+
</skills>`),i.length>0?i.join("\n\n"):void 0}e.s(["buildCliAttempts",()=>y,"buildCliSystemPrompt",()=>w,"runCliResponse",()=>k],914350)}];
|
|
24
69
|
|
|
25
70
|
//# sourceMappingURL=lib_9f439b27._.js.map
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
module.exports=[157306,e=>{"use strict";var t=e.i(522734),r=e.i(446786),n=e.i(814747);let i=process.env.AGX_DATA_DIR||n.default.join(r.default.homedir(),".agx"),s=process.env.AGX_DEBUG_LOG_PATH||n.default.join(i,"logs","desktop-chat-debug.log");function a(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"string"==typeof t&&t.length>2e3?`${t.slice(0,2e3)}...<truncated>`:t}function l(e,r){try{t.default.mkdirSync(n.default.dirname(s),{recursive:!0});let i=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},a);t.default.appendFileSync(s,`${i}
|
|
2
|
+
`,"utf8")}catch{}}e.s(["writeDebugLog",()=>l])},7804,e=>{"use strict";var t=e.i(902157),r=e.i(660526),n=e.i(750227);function i(e){return e.replace(/\\/g,"/")}function s(e={}){return n.default.join(function(e){let t=e?.trim();if(t)return t;let i=process.env.AGX_DATA_DIR?.trim();return i||n.default.join(r.default.homedir(),".agx")}(e.agxDataDir),"skills","scheduled-task-manager","SKILL.md")}function a(e={}){var t;let r,s=(t=e.workspaceRoot,(r=t?.trim())||process.cwd()),l=i(n.default.join(s,"planning","automation-frontmatter-migration-spec.md")),o=i(n.default.join(s,"src","automations")),u=i(n.default.join(s,"src","prompt-scheduler")),d=i(n.default.join(s,"src","graph","schedule-runner.ts")),c=i(n.default.join(s,"src","graph","store.ts")),p=i(n.default.join(s,"app","api","automations","route.ts")),m=i(n.default.join(s,"app","api","prompt-jobs","route.ts"));return`---
|
|
3
|
+
name: scheduled-task-manager
|
|
4
|
+
description: Use when creating, editing, migrating, debugging, or reviewing AGX scheduled tasks, automations, prompt jobs, execution graph schedules, or frontmatter-backed automation definitions.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Scheduled Task Manager
|
|
8
|
+
|
|
9
|
+
Use this skill whenever the task touches scheduled tasks, automations, prompt jobs, execution graph schedules, or automation frontmatter.
|
|
10
|
+
|
|
11
|
+
## Read First
|
|
12
|
+
|
|
13
|
+
- [automation-frontmatter-migration-spec](${l})
|
|
14
|
+
- Shared automation model lives in [src/automations](${o})
|
|
15
|
+
- Prompt-job scheduling lives in [src/prompt-scheduler](${u})
|
|
16
|
+
- Execution-graph scheduling flows through [schedule-runner.ts](${d}) and [store.ts](${c})
|
|
17
|
+
- API entry points are [app/api/automations/route.ts](${p}) and [app/api/prompt-jobs/route.ts](${m})
|
|
18
|
+
|
|
19
|
+
## Guardrails
|
|
20
|
+
|
|
21
|
+
- Reject malformed frontmatter. Do not coerce invalid enum values into defaults.
|
|
22
|
+
- Preserve stable automation ids. Renaming a task must not create a new id.
|
|
23
|
+
- Keep runtime state such as last run, next run, and archival flags out of frontmatter unless the spec explicitly says otherwise.
|
|
24
|
+
- Preserve sub-minute scheduled cadences when they are represented as \`intervalMs\`.
|
|
25
|
+
- For \`execution_graph\` targets, keep \`graphId\` and \`taskId\` resolution correct. Do not assume \`definition.id === taskId\`.
|
|
26
|
+
- Updating an automation definition should advance user-visible \`updatedAt\`.
|
|
27
|
+
- Avoid eager file-backed repository initialization on request paths that should stay lazy or rollout-gated.
|
|
28
|
+
- Keep parser and serializer behavior round-trippable unless the spec explicitly requires normalization.
|
|
29
|
+
|
|
30
|
+
## Working Pattern
|
|
31
|
+
|
|
32
|
+
1. Read the migration spec before changing storage, rollout, or validation behavior.
|
|
33
|
+
2. Trace the full path: parser -> validation -> repository -> scheduler -> API.
|
|
34
|
+
3. Add or update regression tests for parsing, serialization, due selection, and the affected API or runtime path.
|
|
35
|
+
4. Prefer small fixes in the shared automation layer over duplicating logic in adapters.
|
|
36
|
+
|
|
37
|
+
## Validation Checklist
|
|
38
|
+
|
|
39
|
+
- Scheduled triggers keep \`cronExpr\`, \`cadence\`, and sub-minute \`intervalMs\` semantics intact.
|
|
40
|
+
- Condition triggers validate required fields and reject unsupported polling intervals.
|
|
41
|
+
- Target-specific required fields are enforced.
|
|
42
|
+
- Invalid definitions fail closed and are excluded instead of silently rewritten.
|
|
43
|
+
- Prompt-job and execution-graph adapters preserve the same runtime meaning before and after frontmatter serialization.
|
|
44
|
+
`}function l(e={}){let r=s(e),i=a(e);try{t.default.mkdirSync(n.default.dirname(r),{recursive:!0}),(t.default.existsSync(r)?t.default.readFileSync(r,"utf8"):null)!==i&&t.default.writeFileSync(r,i,"utf8")}catch(e){console.warn("[scheduled-task-skill] Failed to install skill:",e)}return r}function o(e={}){let t=l(e);return`<scheduled-task-skill>
|
|
45
|
+
Path: ${i(t)}
|
|
46
|
+
Read this skill whenever the task involves scheduled tasks, automations, prompt jobs, execution graph schedules, or frontmatter-backed automation definitions.
|
|
47
|
+
</scheduled-task-skill>`}e.s(["buildScheduledTaskSkillContent",()=>a,"buildScheduledTaskSkillPromptContext",()=>o,"ensureScheduledTaskSkillInstalled",()=>l,"getScheduledTaskSkillPath",()=>s])},390107,e=>{"use strict";let t;var r=e.i(233405),n=e.i(522734),i=e.i(814747),s=e.i(157306);function a(){return process.env.SHELL?.trim()||"/bin/bash"}function l(e){try{if(!/^[A-Za-z0-9._-]+$/.test(e))return!1;let t=a();return 0===(0,r.spawnSync)(t,["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8",timeout:5e3}).status}catch{return!1}}var o=e.i(7804);let u=e=>"string"==typeof e&&e.trim().length>0,d=e=>({push:e,flush:()=>{}}),c=e=>{let t="",r=0,n=!1,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);n=!0;let s=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&u(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&u(t?.delta?.text)?t.delta.text:""})(t);if(!s||t?.type==="assistant"&&r>0)return;r+=s.length,e(s)}catch{n||e(`${t}
|
|
48
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},p=e=>{let t="",r=!1,n="",i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);r=!0,t?.type==="message"&&t?.role==="assistant"&&u(t?.content)&&((t,r)=>{if(t){if(r){if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}e(t),n+=t;return}if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}n||(e(t),n=t)}})(t.content,t?.delta===!0)}catch{r||e(`${t}
|
|
49
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},m=e=>{let t="",r=!1,n=new Set,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);if(r=!0,t?.type==="item.completed"&&u(t?.item?.id)){if(n.has(t.item.id))return;n.add(t.item.id)}let s=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&u(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&u(t.delta?.text)?t.delta.text:"":"";s&&e(s)}catch{r||e(`${t}
|
|
50
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},h=e=>{let t="",r=!1,n=[/^Thinking\.\.\./,/^<think>/i],i=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:s=>{t+=s,(()=>{for(;t.length>0;){if(r){let e=-1,n=0;for(let r of i){let i=t.match(r);i&&void 0!==i.index&&(i.index,i[0].length,(-1===e||i.index<e)&&(e=i.index,n=i[0].length))}if(-1!==e){t=t.slice(e+n),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let i of n){let n=t.match(i);if(n&&void 0!==n.index){let i=t.slice(0,n.index);i&&e.push(i),t=t.slice(n.index+n[0].length),r=!0;break}}if(r)continue;let s=Math.max(0,t.length-30);s>0&&(e.push(t.slice(0,s)),t=t.slice(s));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},f=new Set(["claude","gemini","ollama","codex"]);function g({provider:e,model:t,prompt:r,systemPrompt:n}){switch(e){case"claude":{let e=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&e.push("--model",t),n&&e.push("--system-prompt",n),e.push(r),{command:"claude",args:e,parser:"claude-stream-json"}}case"gemini":return{command:"gemini",args:["--yolo","-p",n?`${n}
|
|
51
|
+
|
|
52
|
+
${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",n?`${n}
|
|
53
|
+
|
|
54
|
+
${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(n?`${n}
|
|
55
|
+
|
|
56
|
+
${r}`:r),{command:"codex",args:e,parser:"codex-json"}}case"zai":{let e=process.env.ZAI_API_KEY?.trim(),i=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&i.push("--model",t),n&&i.push("--system-prompt",n),i.push(r),{command:"claude",args:i,parser:"claude-stream-json",env:{ANTHROPIC_BASE_URL:"https://api.z.ai/api/anthropic",...e?{ANTHROPIC_AUTH_TOKEN:e}:{}}}}default:return null}}function v(){let e=process.env.AGX_CLI_PATH?.trim();if(e&&n.default.existsSync(e))return e;for(let e of[i.default.resolve(process.cwd(),"..","cli","index.js"),i.default.resolve("/ROOT/lib","..","cli","index.js"),i.default.resolve(process.execPath,"..","..","Resources","cli","index.js")])if(n.default.existsSync(e))return e;return null}function x({provider:e,model:t,prompt:r,systemPrompt:n,passthroughArgs:i},s={}){let a=s.commandExists??l,o=void 0===s.bundledCliPath?v():s.bundledCliPath,u=[],d=n?`${n}
|
|
57
|
+
|
|
58
|
+
${r}`:r;if(f.has(e)){let s=function({provider:e,model:t,prompt:r,cliPath:n,passthroughArgs:i}){let s=void 0===n?v():n;if(!s)return null;let a=[s,e,"-y","--print","--prompt",r];return t&&a.push("--model",t),i&&i.length>0&&a.push("--",...i),{command:process.execPath,args:a,parser:"raw"}}({provider:e,model:t,prompt:d,cliPath:o,passthroughArgs:i});s&&u.push(s),a("agx")&&u.push(function({provider:e,model:t,prompt:r,passthroughArgs:n}){let i=[e,"-y","--print","--prompt",r];return t&&i.push("--model",t),n&&n.length>0&&i.push("--",...n),{command:"agx",args:i,parser:"raw"}}({provider:e,model:t,prompt:d,passthroughArgs:i}));let l=g({provider:e,model:t,prompt:r,systemPrompt:n});return l&&a(l.command)&&u.push(l),u}let c=g({provider:e,model:t,prompt:r,systemPrompt:n});return c&&a(c.command)&&u.push(c),u}async function y({command:e,args:n,timeoutMs:i,signal:l,onDelta:o,onLog:u,onSpawn:d,env:c}){await new Promise((p,m)=>{let h;(0,s.writeDebugLog)("cli-runner.spawn",{command:e,args:n,timeoutMs:i,bundledCliPath:v(),isElectron:process.env.AGX_ELECTRON||null}),u&&u("stderr",`$ ${e} ${n.map(e=>e.length>80?e.slice(0,80)+"β¦":e).join(" ")}
|
|
59
|
+
`);let f=(0,r.spawn)(e,n,{stdio:["ignore","pipe","pipe"],env:(h=function(){if(void 0!==t)return t;try{let e=a(),n=(0,r.spawnSync)(e,["-lc",'printf %s "$PATH"'],{encoding:"utf8",timeout:5e3});t=(0===n.status?n.stdout.trim():"")||null}catch{t=null}return t}(),{...process.env,...h?{PATH:h}:{},CLAUDECODE:void 0,...c})}),g=!1,x="",y=!1,b=e=>{g||(g=!0,clearTimeout(w),l&&l.removeEventListener("abort",k),e?m(e):p())},k=()=>{(0,s.writeDebugLog)("cli-runner.abort",{command:e,args:n,pid:f.pid??null}),f.kill("SIGTERM"),b(Error("Chat request aborted."))};l&&l.addEventListener("abort",k,{once:!0}),d&&f.pid&&d(f.pid),(0,s.writeDebugLog)("cli-runner.spawned",{command:e,args:n,pid:f.pid??null});let w=setTimeout(()=>{y=!0,(0,s.writeDebugLog)("cli-runner.timeout",{command:e,args:n,pid:f.pid??null,timeoutMs:i}),f.kill("SIGKILL"),b(Error(`CLI request timed out after ${i}ms.`))},i);f.stdout.on("data",e=>{let t=e.toString();x+=t,o(t),u&&u("stdout",t)}),f.stderr.on("data",e=>{let t=e.toString();x+=t,u&&u("stderr",t)}),f.on("error",t=>{(0,s.writeDebugLog)("cli-runner.process_error",{command:e,args:n,pid:f.pid??null,error:t}),b(t)}),f.on("close",(t,r)=>{if(!g&&!y){if((0,s.writeDebugLog)("cli-runner.close",{command:e,args:n,pid:f.pid??null,code:t??null,signal:r??null}),0===t)return void b();b(Error(`CLI command failed (exit=${t??"unknown"} signal=${r??"none"}).${x.trim()?` ${x.trim()}`:""}`))}})})}async function b({provider:e,model:t,prompt:r,identity:n,self:i,skills:a,systemContext:l,passthroughArgs:o,signal:u,onDelta:f,onLog:g,onSpawn:b}){let w,S,j,$,A=(w=!1,S=!1,j="",$=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!w?(w=!0,"\n"):"";let r=w?t.replace(/^\n+/,"\n"):t,n=r.trimStart(),i=$.test(n),s=S&&i&&!w,a=S&&!w&&!s&&!/^\s/.test(r)&&/[.!?)]/.test(j)&&/^[A-Z0-9`(]/.test(r),l=s?`
|
|
60
|
+
|
|
61
|
+
${r}`:a?`
|
|
62
|
+
${r}`:r;w=l.endsWith("\n"),S=S||l.trim().length>0;let o=l.replace(/\s+$/g,"");return o.length>0&&(j=o[o.length-1]??j),l}),L=e=>{let t=A(e);t&&f(t)},P=x({provider:e,model:t,prompt:r,systemPrompt:k({identity:n,self:i,skills:a,systemContext:l}),passthroughArgs:o});if(0===P.length)throw(0,s.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:v(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let E=null;for(let r of P){(0,s.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let n="claude-stream-json"===r.parser?c(L):"codex-json"===r.parser?m(L):"gemini-stream-json"===r.parser?p(L):d(L),i=r.filterThoughts?h(n):n;try{await y({command:r.command,args:r.args,timeoutMs:18e5,signal:u,onDelta:i.push,onLog:g,onSpawn:b,env:r.env}),i.flush(),(0,s.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(n){E=n instanceof Error?n:Error(String(n)),(0,s.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:E})}}throw E||Error("CLI execution failed.")}function k({identity:e,self:t,skills:r,systemContext:n}){let i=[];return n&&i.push(n),i.push((0,o.buildScheduledTaskSkillPromptContext)()),e&&i.push(`<identity>
|
|
63
|
+
${e}
|
|
64
|
+
</identity>`),t&&i.push(`<self>
|
|
65
|
+
${t}
|
|
66
|
+
</self>`),r&&i.push(`<skills>
|
|
67
|
+
${r}
|
|
68
|
+
</skills>`),i.length>0?i.join("\n\n"):void 0}e.s(["buildCliAttempts",()=>x,"buildCliSystemPrompt",()=>k,"runCliResponse",()=>b],390107)}];
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=lib_f81d6da9._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},400210,a=>{"use strict";let b=(0,a.i(883706).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],400210)},165385,a=>{"use strict";let b=(0,a.i(883706).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",()=>b],165385)},
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},400210,a=>{"use strict";let b=(0,a.i(883706).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],400210)},165385,a=>{"use strict";let b=(0,a.i(883706).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",()=>b],165385)},80386,a=>{"use strict";let b=(0,a.i(883706).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],80386)},325015,a=>{"use strict";let b=(0,a.i(883706).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",()=>b],325015)},835671,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(56196),e=a.i(877214);function f({params:a}){let{slug:f}=(0,c.use)(a),{projects:g}=(0,d.useProjects)(),h=g.find(a=>a.slug===f);return(0,b.jsx)(e.default,{projectId:h?.id})}a.s(["default",()=>f])}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__01e1641e._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},292e3,a=>{"use strict";let b=(0,a.i(883706).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",()=>b],292e3)},167453,a=>{"use strict";let b=(0,a.i(883706).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],167453)},613749,a=>{"use strict";let b=(0,a.i(883706).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>b],613749)},73570,a=>{"use strict";let b=(0,a.i(883706).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",()=>b],73570)},65151,a=>{"use strict";let b=(0,a.i(883706).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",()=>b],65151)},862722,a=>{"use strict";let b=(0,a.i(883706).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",()=>b],862722)},284505,a=>{"use strict";let b=(0,a.i(883706).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",()=>b],284505)},660246,a=>{"use strict";let b=(0,a.i(883706).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);a.s(["Users",()=>b],660246)},563588,a=>{"use strict";let b=(0,a.i(883706).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);a.s(["MessageSquare",()=>b],563588)},215040,a=>{"use strict";let b={threadSidebarVisible:!1,workspaceRoots:[],homeSearchConsent:!1,hasCompletedFirstRun:!1,fileIgnorePatterns:[]};function c(a){return a&&"object"==typeof a?{threadSidebarVisible:"boolean"==typeof a.threadSidebarVisible?a.threadSidebarVisible:b.threadSidebarVisible,workspaceRoots:Array.isArray(a.workspaceRoots)?a.workspaceRoots.filter(a=>"string"==typeof a):b.workspaceRoots,homeSearchConsent:"boolean"==typeof a.homeSearchConsent?a.homeSearchConsent:b.homeSearchConsent,hasCompletedFirstRun:"boolean"==typeof a.hasCompletedFirstRun?a.hasCompletedFirstRun:b.hasCompletedFirstRun,fileIgnorePatterns:Array.isArray(a.fileIgnorePatterns)?a.fileIgnorePatterns.filter(a=>"string"==typeof a):b.fileIgnorePatterns}:b}let d="/api/userPreferences";function e(a){return a.json().then(a=>a&&"object"==typeof a?c(a.preferences??a):c(a)).catch(()=>c(null))}function f(a){return a.statusText||`Failed to reach ${d} (${a.status})`}async function g(){let a=await fetch(d,{cache:"no-store"});if(!a.ok)throw Error(f(a));return e(a)}async function h(a){let b=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},cache:"no-store",body:JSON.stringify({preferences:a})});if(!b.ok)throw Error(f(b));return e(b)}a.s(["fetchUserPreferences",()=>g,"updateUserPreferences",()=>h],215040)},503931,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(124610);function e({params:a}){let{slug:e,threadId:f}=(0,c.use)(a);return(0,b.jsx)(d.ChatContainer,{projectSlug:e,initialThreadId:f,showSidebar:!1})}a.s(["default",()=>e])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0b2a2b86._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},400210,a=>{"use strict";let b=(0,a.i(883706).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],400210)},669520,a=>{"use strict";let b=(0,a.i(883706).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",()=>b],669520)},194125,a=>{"use strict";function b(a){return a.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}a.s(["stripMarkers",()=>b])},501027,a=>{"use strict";let b=(0,a.i(883706).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);a.s(["Zap",()=>b],501027)},641710,a=>{"use strict";let b=(0,a.i(883706).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",()=>b],641710)},204301,a=>{"use strict";var b=a.i(572131);let c=new Set(["spawning","running"]);function d(a,d){let e=d?.intervalMs??1500,f=d?.idleIntervalMs??1e4,[g,h]=(0,b.useState)(new Set),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)({}),[m,n]=(0,b.useState)([]),o=(0,b.useRef)(a);o.current=a;let p=(0,b.useRef)(d?.messages??[]);p.current=d?.messages??[];let q=(0,b.useRef)(d?.setMessages);q.current=d?.setMessages;let r=(0,b.useRef)(0);(0,b.useEffect)(()=>{let a=d?.messages??[];if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b)}},[d?.messages]);let s=(0,b.useCallback)(async()=>{let a=o.current;if(!a){h(new Set),j([]),l({}),n([]);return}let b=null;if(a.threadId?b=`/api/processes?threadId=${encodeURIComponent(a.threadId)}`:a.workspaceId&&(b=`/api/processes?workspaceId=${encodeURIComponent(a.workspaceId)}`),!b){h(new Set),j([]),l({}),n([]);return}try{let e=a.workspaceId||a.threadId,f=e?`/api/history?threadId=${encodeURIComponent(e)}&since=${r.current}`:null,g=e?`/api/chat-runs?threadId=${encodeURIComponent(e)}&limit=20`:null,i=[fetch(b)];f&&i.push(fetch(f)),g&&i.push(fetch(g));let[k,m,s]=await Promise.all(i),t=o.current;if(t?.threadId!==a.threadId||t?.workspaceId!==a.workspaceId)return;if(k.ok){let a=await k.json();j(a);let b=new Set(a.filter(a=>c.has(a.state)).map(a=>a.agentId));h(b);let d={};for(let b of a){if(!c.has(b.state))continue;let a=p.current.find(a=>a.id===b.sinceMessageId),e=a?.rootMessageId??b.sinceMessageId;d[b.agentId]={content:"",rootMessageId:e}}l(d)}if(s?.ok){var d;let a=(d=await s.json(),Array.isArray(d)?d.map(a=>{if(!a||"object"!=typeof a)return null;let b="string"==typeof a.chatRunId?a.chatRunId:"string"==typeof a.id?a.id:null,c="string"==typeof a.threadId?a.threadId:null,d="string"==typeof a.status?a.status:null,e="string"==typeof a.rootMessageId?a.rootMessageId:(a.rootMessageId,null);return b&&c&&d&&("queued"===d||"running"===d||"awaiting_user"===d||"blocked"===d||"completed"===d||"failed"===d||"cancelled"===d)?{chatRunId:b,threadId:c,rootMessageId:e,status:d,optimistic:!1}:null}).filter(a=>!!a):[]);n(a)}if(m?.ok&&q.current){let a=await m.json();if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b),q.current(b=>{let c=new Set(b.map(a=>a.id)),d=a.filter(a=>!c.has(a.id)),e=b.map(b=>a.find(a=>a.id===b.id)??b);return 0===d.length?e:[...e,...d].sort((a,b)=>a.timestamp-b.timestamp)})}}}catch{}},[]),t=a?.threadId||a?.workspaceId||null,u=m.some(a=>"queued"===a.status||"running"===a.status),v=i.some(a=>c.has(a.state)),w=u||v?e:f;return(0,b.useEffect)(()=>{if(!t){h(new Set),j([]),l({}),n([]);return}s();let a=setInterval(s,w);return()=>clearInterval(a)},[t,w,s]),{activeAgents:g,processes:i,streaming:k,chatRuns:m,poll:s}}a.s(["useProcessPolling",()=>d])},331748,356283,a=>{"use strict";var b=a.i(572131);function c(a){return`threadId=${encodeURIComponent(a)}`}function d(a){return`workspaceId=${encodeURIComponent(a)}`}function e(a){let[e,f]=(0,b.useState)([]),[g,h]=(0,b.useState)([]),[i,j]=(0,b.useState)([]),k=(0,b.useRef)(a),l=(0,b.useRef)(a);k.current=a,l.current!==a&&(l.current=a,f([]),h([]),j([]));let m=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);try{let[a,c]=await Promise.all([fetch(`/api/history?${e}`),fetch(`/api/logs?${d(b)}`)]);if(k.current!==b)return;a.ok&&f(await a.json()),c.ok&&h(await c.json())}catch{}},[]),n=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);await Promise.all([fetch(`/api/history?${e}`,{method:"DELETE"}),fetch(`/api/logs?${d(b)}`,{method:"DELETE"})]),k.current===b&&(f([]),h([]))},[]),o=(0,b.useCallback)(async(a,b=10,c,d,e,g,h,i,l,m)=>{let n=c?.trim()||k.current?.trim();if(!n)return;let o=Date.now(),p=crypto.randomUUID(),q={id:p,role:"user",participantId:null,content:a,timestamp:o,rootMessageId:d||null,parentMessageId:d||null,depth:+!!d,...g&&g.length>0?{attachments:g}:{}};f(a=>[...a,q]);try{let c=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,prompt:a,promptPrefix:l||void 0,maxRounds:b,userMessageId:p,rootMessageId:d||void 0,attachmentIds:e?.length?e:void 0,activeParticipantIds:Array.isArray(h)?h:void 0,projectSlug:i?.trim()||void 0,routing:m})}),f=await c.json().catch(()=>null);c.ok&&f?.chatRunId&&j(a=>[{chatRunId:f.chatRunId,threadId:n,rootMessageId:d||p,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...a.filter(a=>a.chatRunId!==f.chatRunId)])}catch{}return p},[]),p=(0,b.useCallback)(async()=>{let a=k.current?.trim();if(a)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]),q=(0,b.useCallback)(async a=>{let b=k.current?.trim();if(b)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(b)}&threadId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]);return{messages:e,setMessages:f,logs:g,sendMessage:o,loadHistory:m,clearHistory:n,clearLogs:(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();b?(await fetch(`/api/logs?${d(b)}`,{method:"DELETE"}).catch(()=>{}),k.current===b&&h([])):h([])},[]),chatRuns:i,setChatRuns:j,stop:p,stopThread:q}}function f(a){if("string"==typeof a)return a.trim()||void 0}function g(a,b){let c=new Set,d=new Set;!function a(b,c){if(b)for(let d of b)c(d),a(d.content,c)}(a.content,a=>{if("participantMention"!==a.type)return;let b=a.attrs??{},e="string"==typeof b.id?b.id.trim():"",f="string"==typeof b.kind?b.kind:"agent";e&&"agent"===f&&(c.add(e),"parallel"===b.mode&&d.add(e))});let e=f(b);return{...e?{pinnedParticipantId:e}:{},mentionedParticipantIds:Array.from(c),parallelParticipantIds:Array.from(d)}}function h(a,b){let c=function(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();!a||b.has(a)||(b.add(a),c.push(a))}return c}(a),d=f(b);return d&&c.includes(d)?[d,...c.filter(a=>a!==d)]:c}a.s(["useGroupChat",()=>e],331748),a.s(["extractComposerRouting",()=>g,"orderParticipantIds",()=>h],356283)},165385,a=>{"use strict";let b=(0,a.i(883706).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",()=>b],165385)},325015,a=>{"use strict";let b=(0,a.i(883706).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",()=>b],325015)},80386,a=>{"use strict";let b=(0,a.i(883706).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],80386)},132245,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=a.r(441997);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},307773,(a,b,c)=>{"use strict";function d(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"encodeURIPath",{enumerable:!0,get:function(){return d}})},297458,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=a.r(187924),e=a.r(935112),f=a.r(556704),g=a.r(307773),h=a.r(68063);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let i=(0,h.getDeploymentIdQueryOrEmptyString)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${i}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},969853,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return j}});let d=a.r(187924),e=a.r(572131),f=a.r(132245),g=a.r(297458);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},819721,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return e}});let d=a.r(833354)._(a.r(969853));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},45815,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(986976),e=a.i(655672),f=a.i(176388),g=a.i(56196),h=a.i(877214);function i(){let[a,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(368);(0,c.useEffect)(()=>{i((0,e.loadWorkspaceSidebarVisible)()),k((0,f.loadWorkspaceWidth)()||368)},[]);let l=(0,c.useCallback)(a=>{k(a),(0,f.persistWorkspaceWidth)(a)},[]),{projects:m,createProject:n,deleteProject:o}=(0,g.useProjectsWithAgents)(),{updateProject:p}=(0,g.useProjects)();return(0,b.jsxs)("div",{className:"flex h-screen bg-[var(--card-bg)] text-[var(--foreground)]",children:[(0,b.jsx)(d.WorkspaceSidebar,{threads:[],activeThreadId:null,isLoading:!1,isCreating:!1,onSelectThread:()=>{},onCreateThread:()=>{},onRenameThread:()=>{},onDeleteThread:()=>{},visible:a,onToggle:()=>{i(a=>{let b=!a;return(0,e.persistWorkspaceSidebarVisible)(b),b})},width:j,onWidthChange:l,projects:m,onCreateProject:n,onUpdateProject:p,onDeleteProject:o}),(0,b.jsx)("div",{className:"flex-1 min-w-0 overflow-auto",children:(0,b.jsx)(h.default,{})})]})}a.s(["default",()=>i])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__32546242._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},400210,a=>{"use strict";let b=(0,a.i(883706).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],400210)},27508,a=>{"use strict";var b=a.i(187924),c=a.i(238246),d=a.i(572131);function e(){let[a,c]=(0,d.useState)(null),[e,f]=(0,d.useState)("loading");(0,d.useEffect)(()=>{let a=!0;async function b(){try{let b=await fetch("/api/health");if(!a)return;if(!b.ok)return void f("error");let d=await b.json();c(d),f(d.connected?"connected":"disconnected")}catch{a&&f("error")}}b();let d=setInterval(b,3e4);return()=>{a=!1,clearInterval(d)}},[]);let g={loading:"Checking databaseβ¦",connected:`${a?.adapter??"db"} connected (${a?.latencyMs??"?"}ms)`,disconnected:`${a?.adapter??"db"} disconnected`,error:"Database unreachable"};return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--muted-foreground)]",role:"status","aria-label":g[e],children:[(0,b.jsx)("span",{className:`w-2 h-2 rounded-full ${{loading:"bg-yellow-400",connected:"bg-green-500",disconnected:"bg-red-500",error:"bg-red-500"}[e]}`}),(0,b.jsx)("span",{className:"hidden sm:inline",children:g[e]})]})}function f({children:a,fullWidth:d=!1,noFooter:f=!1}){return(0,b.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,b.jsx)("nav",{className:"desktop-titlebar flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,b.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,b.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,b.jsx)("div",{className:"flex items-center gap-8",children:(0,b.jsx)(c.default,{href:"/",className:"flex items-center gap-3 group",children:(0,b.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"transition-transform group-hover:scale-105",children:[(0,b.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,b.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,b.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,b.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,b.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,b.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})})}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(c.default,{href:"/",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Open Chat"}),(0,b.jsx)(c.default,{href:"/automations",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Automations"}),(0,b.jsx)(c.default,{href:"/skills",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Skills"}),(0,b.jsx)(c.default,{href:"/settings",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Settings"})]})]})})}),(0,b.jsx)("main",{className:`flex-1 min-h-0 flex flex-col ${d?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"}`,children:a}),!f&&(0,b.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,b.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,b.jsx)("span",{children:"AGX Board β’ Autonomous Agent Orchestration"}),(0,b.jsxs)("span",{className:"hidden sm:inline-flex items-center gap-3",children:[(0,b.jsx)(e,{}),(0,b.jsx)("span",{children:"Built with Next.js + Db"})]})]})})]})}function g(a){return(0,b.jsx)(d.Suspense,{fallback:(0,b.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,b.jsx)(f,{...a})})}a.s(["default",()=>g],27508)},277198,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(238246),e=a.i(400210),f=a.i(492596),g=a.i(734531),h=a.i(699464),i=a.i(915618),j=a.i(781560),k=a.i(533441),l=a.i(633508),m=a.i(27508),n=a.i(815682),o=a.i(500427),p=a.i(56196);function q(){let{projects:a,isLoading:q,refetch:r,updateProject:s}=(0,p.useProjects)(),[t,u]=(0,c.useState)(null),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(null),[B,C]=(0,c.useState)(""),D=(0,c.useRef)(null),E=a.flatMap(a=>(a.repos??[]).map(b=>({repoId:b.id,name:b.name,path:b.path??"",git_url:b.git_url??"",notes:b.notes??"",projectId:a.id,projectName:a.name,projectSlug:a.slug}))),F=new Map;for(let b of a)F.set(b.id,{project:{id:b.id,name:b.name,slug:b.slug},repos:[]});for(let a of E)F.get(a.projectId).repos.push(a);let G=(0,c.useCallback)(()=>{let a=D.current;a&&(a.style.height="auto",a.style.height=`${a.scrollHeight}px`)},[]);(0,c.useEffect)(()=>{t&&D.current&&(D.current.focus(),D.current.setSelectionRange(D.current.value.length,D.current.value.length),G())},[t,G]);let H=()=>{u(null),w("")},I=(0,c.useCallback)(async b=>{y(!0);try{let c=a.find(a=>a.id===b.projectId);if(!c)return;let d=(c.repos??[]).map(a=>({id:a.id,name:a.name,path:a.path??"",git_url:a.git_url??"",notes:a.id===b.repoId?v:a.notes??""}));await s(b.projectId,{repos:d}),u(null),w("")}catch(a){console.error("Failed to update notes:",a)}finally{y(!1)}},[a,v,s]),J=(0,c.useCallback)(async b=>{let c=a.find(a=>a.id===b.projectId);if(!c)return;let d=(c.repos??[]).filter(a=>a.id!==b.repoId).map(a=>({id:a.id,name:a.name,path:a.path??"",git_url:a.git_url??"",notes:a.notes??""}));await s(b.projectId,{repos:d})},[a,s]),K=(0,c.useCallback)(async(b,c)=>{let d=a.find(a=>a.id===b);if(!d)return;let e=B.trim()||c.split("/").filter(Boolean).pop()||"folder",f=(d.repos??[]).map(a=>({id:a.id,name:a.name,path:a.path??"",git_url:a.git_url??"",notes:a.notes??""}));await s(b,{repos:[...f,{name:e,path:c}]}),A(null),C("")},[a,B,s]);return(0,b.jsx)(m.default,{children:(0,b.jsxs)("div",{className:"max-w-5xl mx-auto w-full flex flex-col min-h-full",children:[(0,b.jsxs)("header",{className:"flex items-center gap-4 py-8",children:[(0,b.jsx)(d.default,{href:"/",className:"p-2 rounded-lg border border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--primary)] transition-all",children:(0,b.jsx)(e.ArrowLeft,{size:16})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Folders"}),(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] mt-1",children:"All folder paths across your projects."})]})]}),q?(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center py-20",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] animate-pulse",children:"Loading folders..."})]})}):0===a.length?(0,b.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center py-20 animate-fade-in",children:[(0,b.jsx)("div",{className:"w-24 h-24 rounded-3xl bg-[var(--card-bg)] border border-[var(--card-border)] flex items-center justify-center text-4xl mb-6 shadow-xl",children:(0,b.jsx)(f.Folder,{size:40,className:"text-[var(--muted-foreground)]"})}),(0,b.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"No projects yet"}),(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] text-center max-w-sm mb-8 leading-relaxed",children:"Create a project first, then add folders to it."}),(0,b.jsx)(d.default,{href:"/projects",className:"btn-primary px-8 py-3 text-lg shadow-xl shadow-[var(--primary)]/20",children:"Go to Projects"})]}):(0,b.jsx)("div",{className:"space-y-8 pb-20",children:Array.from(F.values()).map(({project:a,repos:c})=>(0,b.jsxs)("section",{children:[(0,b.jsx)("div",{className:"flex items-center gap-2 mb-3",children:(0,b.jsx)(d.default,{href:`/projects/${a.slug}`,className:"text-sm font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors uppercase tracking-wide",children:a.name})}),(0,b.jsxs)("div",{className:"space-y-2",children:[c.map(a=>{let c=t===a.repoId;return(0,b.jsx)("div",{className:"group rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-4 transition-all hover:border-[var(--card-border-hover,var(--card-border))]",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("div",{className:"mt-0.5 flex-shrink-0 text-[var(--muted-foreground)]",children:a.git_url?(0,b.jsx)(g.FolderGit2,{size:16}):(0,b.jsx)(f.Folder,{size:16})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("button",{type:"button",onClick:()=>void J(a),className:"float-right ml-2 p-1 rounded-md text-[var(--muted-foreground)] opacity-0 group-hover:opacity-100 hover:text-red-400 hover:bg-red-400/10 transition-all","aria-label":"Remove folder",title:"Remove folder",children:(0,b.jsx)(j.Trash2,{size:14})}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium text-sm truncate",children:a.name||a.path}),a.name&&a.path&&(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] truncate font-mono",children:a.path})]}),a.git_url&&(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5 font-mono truncate",children:a.git_url}),c?(0,b.jsxs)("div",{className:"mt-2",children:[(0,b.jsx)("textarea",{ref:D,value:v,onChange:a=>{w(a.target.value),G()},onKeyDown:b=>{"Enter"===b.key&&(b.metaKey||b.ctrlKey)?(b.preventDefault(),I(a)):"Escape"===b.key&&H()},placeholder:"What is this folder about? (Markdown supported)",rows:1,className:"w-full rounded-lg border border-[var(--card-border)] bg-[var(--background)] px-3 py-2 text-sm font-mono focus:border-[var(--primary)] focus:outline-none resize-none overflow-hidden"}),(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-1.5",children:[(0,b.jsxs)("button",{onClick:()=>void I(a),disabled:x,className:"inline-flex items-center gap-1 px-2.5 py-1 rounded-md text-xs font-medium bg-[var(--primary)] text-white hover:opacity-90 transition-opacity disabled:opacity-50",children:[(0,b.jsx)(k.Check,{size:12}),x?"Saving...":"Save"]}),(0,b.jsxs)("button",{onClick:H,className:"inline-flex items-center gap-1 px-2.5 py-1 rounded-md text-xs font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:[(0,b.jsx)(l.X,{size:12}),"Cancel"]}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] ml-auto",children:"Cmd+Enter to save"})]})]}):(0,b.jsx)("div",{className:"group/notes mt-1 cursor-pointer",onClick:()=>{u(a.repoId),w(a.notes)},children:a.notes?(0,b.jsxs)("div",{className:"text-sm text-[var(--muted-foreground)] leading-relaxed relative",children:[(0,b.jsx)(n.Markdown,{content:a.notes}),(0,b.jsx)(h.Pencil,{size:11,className:"absolute top-0 right-0 opacity-0 group-hover/notes:opacity-60 transition-opacity"})]}):(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] opacity-0 group-hover:opacity-60 transition-opacity italic",children:"Click to add notes..."})})]})]})},a.repoId)}),z===a.id?(0,b.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,b.jsx)("input",{type:"text",value:B,onChange:a=>C(a.target.value),placeholder:"Folder name (optional)",className:"w-full rounded-lg border border-[var(--card-border)] bg-[var(--background)] px-3 py-2 text-sm focus:border-[var(--primary)] focus:outline-none"}),(0,b.jsx)(o.default,{initialPath:"",onSelect:b=>void K(a.id,b),onCancel:()=>{A(null),C("")}})]}):(0,b.jsxs)("button",{type:"button",onClick:()=>A(a.id),className:"mt-3 inline-flex items-center gap-1.5 text-xs font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:[(0,b.jsx)(i.Plus,{size:14}),"Add folder"]})]})]},a.id))})]})})}a.s(["default",()=>q])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__4140bb73._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},909270,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.AppRouterContext},738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},736313,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.HooksClientContext},818341,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.ServerInsertedHtml},
|
|
1
|
+
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},909270,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.AppRouterContext},738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},736313,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.HooksClientContext},818341,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.ServerInsertedHtml},27508,a=>{"use strict";var b=a.i(187924),c=a.i(238246),d=a.i(572131);function e(){let[a,c]=(0,d.useState)(null),[e,f]=(0,d.useState)("loading");(0,d.useEffect)(()=>{let a=!0;async function b(){try{let b=await fetch("/api/health");if(!a)return;if(!b.ok)return void f("error");let d=await b.json();c(d),f(d.connected?"connected":"disconnected")}catch{a&&f("error")}}b();let d=setInterval(b,3e4);return()=>{a=!1,clearInterval(d)}},[]);let g={loading:"Checking databaseβ¦",connected:`${a?.adapter??"db"} connected (${a?.latencyMs??"?"}ms)`,disconnected:`${a?.adapter??"db"} disconnected`,error:"Database unreachable"};return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--muted-foreground)]",role:"status","aria-label":g[e],children:[(0,b.jsx)("span",{className:`w-2 h-2 rounded-full ${{loading:"bg-yellow-400",connected:"bg-green-500",disconnected:"bg-red-500",error:"bg-red-500"}[e]}`}),(0,b.jsx)("span",{className:"hidden sm:inline",children:g[e]})]})}function f({children:a,fullWidth:d=!1,noFooter:f=!1}){return(0,b.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,b.jsx)("nav",{className:"desktop-titlebar flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,b.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,b.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,b.jsx)("div",{className:"flex items-center gap-8",children:(0,b.jsx)(c.default,{href:"/",className:"flex items-center gap-3 group",children:(0,b.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"transition-transform group-hover:scale-105",children:[(0,b.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,b.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,b.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,b.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,b.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,b.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})})}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(c.default,{href:"/",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Open Chat"}),(0,b.jsx)(c.default,{href:"/automations",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Automations"}),(0,b.jsx)(c.default,{href:"/skills",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Skills"}),(0,b.jsx)(c.default,{href:"/settings",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Settings"})]})]})})}),(0,b.jsx)("main",{className:`flex-1 min-h-0 flex flex-col ${d?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"}`,children:a}),!f&&(0,b.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,b.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,b.jsx)("span",{children:"AGX Board β’ Autonomous Agent Orchestration"}),(0,b.jsxs)("span",{className:"hidden sm:inline-flex items-center gap-3",children:[(0,b.jsx)(e,{}),(0,b.jsx)("span",{children:"Built with Next.js + Db"})]})]})})]})}function g(a){return(0,b.jsx)(d.Suspense,{fallback:(0,b.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,b.jsx)(f,{...a})})}a.s(["default",()=>g],27508)},315776,a=>{"use strict";let b=new Set(["done","passed"]),c=new Set(["pending","running","awaiting_human","blocked"]);function d(a){return`node--${a}`}function e(a){return a.replace(/_/gu," ")}function f(a,b){return"root"===b.type?b.title?.trim()||"Task Objective":"work"===b.type||"function"===b.type?b.title?.trim()||a:"gate"===b.type?b.gateType.replace(/_gate$/u,"").replace(/_/gu," ").replace(/\b\w/gu,a=>a.toUpperCase()):"fork"===b.type?"Fork":"join"===b.type?`Join (${b.joinStrategy})`:"Conditional"}function g(a){for(let[b,c]of Object.entries(a.nodes))if("root"===c.type)return{id:b,node:c};return null}function h(a){let d,e=g(a);return{mode:a.mode,graphVersion:a.graphVersion,nodeCount:Object.keys(a.nodes).length,progress:0===(d=Object.values(a.nodes).filter(a=>"skipped"!==a.status)).length?100:Math.round(d.filter(a=>b.has(a.status)).length/d.length*100),currentBlocker:function(a){let b=function(a){let b=Object.entries(a.nodes),c=b.filter(([,a])=>"gate"===a.type&&a.required),d=c.find(([,a])=>"failed"===a.status);if(d)return d[0];let e=c.find(([,a])=>"awaiting_human"===a.status);if(e)return e[0];let f=c.find(([,a])=>"pending"===a.status||"running"===a.status);if(f)return f[0];let g=b.find(([,a])=>"work"===a.type&&"blocked"===a.status);return g?.[0]??null}(a);if(!b)return null;let c=a.nodes[b];return c?{nodeId:b,label:f(b,c),status:c.status,required:"gate"===c.type&&c.required}:null}(a),derivedStatus:function(a){let b=Object.keys(a.nodes).length;if(0===b)return"INTAKE";if(1===b){let b=Object.values(a.nodes)[0];if("root"===b.type&&!b.graphCreated)return"INTAKE"}return Object.values(a.nodes).some(a=>c.has(a.status))?"PROGRESS":"DONE"}(a),hasRootNode:null!==e,rootNodeId:e?.id??null}}a.s(["buildGraphSummary",()=>h,"findRootNode",()=>g,"formatNodeStatusLabel",()=>e,"getNodeLabel",()=>f,"toNodeStatusClass",()=>d],315776)},177593,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(238246),e=a.i(50944),f=a.i(27508);function g({project:a,onEdit:c,onDelete:d,onClick:e,onManageTasks:f}){let g=a.repos&&a.repos.length>0;return(0,b.jsxs)("div",{onClick:()=>e?.(a),className:`p-5 surface-card space-y-4
|
|
2
2
|
${e?"cursor-pointer hover:border-gray-300 dark:hover:border-gray-700 hover:shadow-md active:scale-[0.99]":""}`,children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:a.name}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] tracking-wide uppercase",children:a.slug})]}),(0,b.jsxs)("div",{className:"flex flex-col items-end gap-2",children:[(0,b.jsxs)("span",{className:"text-[11px] font-semibold text-[var(--muted-foreground)]",children:["Updated ",new Date(a.updated_at).toLocaleDateString()]}),(c||d||f)&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[f&&(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),f(a)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] bg-[var(--background)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all",children:"Tasks"}),c&&(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),c(a)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all bg-[var(--background)]",children:"Edit"}),d&&(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] text-[var(--destructive)] hover:border-[var(--destructive)] transition-all bg-[var(--background)]",children:"Delete"})]})]})]}),a.description&&(0,b.jsx)("p",{className:"text-sm text-[var(--foreground)] line-clamp-2",children:a.description}),a.ci_cd_info&&(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] text-[12px] uppercase tracking-wide",children:"CI / CD"}),(0,b.jsx)("p",{className:"text-[14px] text-[var(--accent)] font-medium truncate",children:a.ci_cd_info})]}),a.metadata&&Object.keys(a.metadata).length>0&&(0,b.jsxs)("div",{className:"p-3 rounded-lg bg-[var(--muted)]/20 border border-dashed border-[var(--card-border)] space-y-1",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Metadata"}),(0,b.jsx)("div",{className:"space-y-1",children:Object.entries(a.metadata??{}).filter(([a])=>"undefined"!==a&&""!==a).map(([a,c])=>(0,b.jsxs)("div",{className:"text-[12px] text-[var(--muted-foreground)] flex justify-between",children:[(0,b.jsx)("span",{className:"font-semibold",children:a}),(0,b.jsx)("span",{className:"truncate text-right",children:"string"==typeof c?c:JSON.stringify(c)})]},a))})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-[12px] uppercase tracking-wider text-[var(--muted-foreground)]",children:"Repositories"}),(0,b.jsx)("span",{className:"text-[12px] text-[var(--muted-foreground)]",children:g?`${a.repos.length} connected`:"Unlinked"})]}),g?(0,b.jsxs)("div",{className:"mt-3 space-y-2",children:[a.repos.slice(0,2).map(a=>(0,b.jsxs)("div",{className:"p-2 rounded-lg border border-[var(--card-border)] bg-[var(--background)] text-[11px]",children:[(0,b.jsx)("div",{className:"font-semibold truncate",children:a.name}),a.path&&(0,b.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] truncate",children:a.path})]},a.id)),a.repos.length>2&&(0,b.jsxs)("p",{className:"text-[10px] text-center text-[var(--muted-foreground)]",children:["+ ",a.repos.length-2," more"]})]}):(0,b.jsx)("p",{className:"mt-3 text-[12px] text-[var(--muted-foreground)]",children:"No repositories added yet."})]})]})}var h=a.i(18984),i=a.i(999581);let j={in_progress:{title:"In Progress",icon:"π",color:"var(--status-in-progress)",description:"Currently being worked on by the daemon"},blocked:{title:"Blocked",icon:"π§",color:"var(--status-blocked)",description:"Waiting for input or resolution"},queued:{title:"Queued",icon:"π",color:"var(--status-queued)",description:"Ready to be picked up"},completed:{title:"Completed",icon:"β
",color:"var(--status-completed)",description:"Successfully finished"}};function k({tasks:a,onSelectTask:c,onStatusChange:d}){if(0===a.length)return(0,b.jsxs)("div",{className:"text-center py-20 animate-fade-in",children:[(0,b.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-[var(--card-bg)] border border-[var(--card-border)] mb-4",children:(0,b.jsx)("span",{className:"text-3xl",children:"π"})}),(0,b.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No tasks yet"}),(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm max-w-md mx-auto",children:"Create your first task to get started. Tasks will appear here organized by status."})]});let e=a.filter(a=>"in_progress"===a.status),f=a.filter(a=>"queued"===a.status),g=a.filter(a=>"blocked"===a.status),h=a.filter(a=>"completed"===a.status||"failed"===a.status),k=(a,e)=>{if(0===e.length)return null;let f=j[a];return(0,b.jsxs)("section",{className:"mb-8 animate-fade-in-up",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg",style:{backgroundColor:`color-mix(in srgb, ${f.color} 10%, transparent)`},children:[(0,b.jsx)("span",{className:"text-lg",children:f.icon}),(0,b.jsx)("h3",{className:"text-sm font-semibold",style:{color:f.color},children:f.title}),(0,b.jsx)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{backgroundColor:`color-mix(in srgb, ${f.color} 15%, transparent)`,color:f.color},children:e.length})]}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] hidden sm:block",children:f.description})]}),(0,b.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:e.map((a,e)=>(0,b.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:`${50*e}ms`},children:(0,b.jsx)(i.default,{task:a,onClick:()=>c?.(a),onStatusChange:d?b=>d(a.id,b):void 0})},a.id))})]})};return(0,b.jsxs)("div",{children:[k("in_progress",e),k("blocked",g),k("queued",f),k("completed",h)]})}var l=a.i(659102),m=a.i(56196);function n(){let a=(0,e.useRouter)(),i=(0,e.useSearchParams)(),{projects:j,isLoading:k,error:l,refetch:n,createProject:p,updateProject:q,deleteProject:r}=(0,m.useProjects)(),s=(0,h.useProjectFormState)(),[t,u]=(0,c.useState)(null),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(null),{form:z,repos:A,handleRepoChange:B,addRepo:C,removeRepo:D,resetForm:E,hydrateFromProject:F,isSubmitting:G,setIsSubmitting:H,formError:I,setFormError:J,setForm:K}=s,L=()=>{u(null),E(),w(!0)},M=a=>{u(a),F(a),w(!0)};(0,c.useEffect)(()=>{let a=i.get("edit");if(!a||0===j.length||v)return;let b=j.find(b=>b.id===a);b&&M(b)},[i,j,v]);let N=(0,c.useCallback)(b=>{b.slug&&a.push(`/projects/${b.slug}`)},[a]),O=(0,c.useCallback)(a=>{y(a)},[]),P=(0,c.useCallback)(()=>{y(null)},[]),Q=()=>{E(),w(!1),u(null),i.get("edit")&&a.replace("/projects")},R=async()=>{if(!z.name.trim())return void J("Project name is required");let a=A.find(a=>a.name.trim()&&!a.path.trim());if(a)return void J(`Local path is required for folder "${a.name}"`);J(null),H(!0);let b=(0,h.createProjectPayload)(z,A);try{t?await q(t.id,b):await p(b),Q()}catch(a){J(a instanceof Error?a.message:"Failed to save project")}finally{H(!1)}},S=async a=>{if(window.confirm(`Delete project "${a.name}"? This cannot be undone.`))try{await r(a.id)}catch(a){alert(a instanceof Error?a.message:"Failed to delete project")}};return(0,b.jsx)(f.default,{children:(0,b.jsxs)("div",{className:"max-w-7xl mx-auto w-full flex flex-col min-h-full",children:[(0,b.jsxs)("header",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4 py-8",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Projects"}),(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] mt-1",children:"Manage your projects and their folder contexts."})]}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)("button",{onClick:n,className:"px-4 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--primary)] transition-all text-sm font-medium",children:"Refresh"}),(0,b.jsx)("button",{onClick:L,className:"btn-primary px-6 py-2 shadow-lg shadow-[var(--primary)]/20",children:"+ New Project"})]})]}),k?(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center py-20",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] animate-pulse",children:"Loading projects..."})]})}):0===j.length?(0,b.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center py-20 animate-fade-in",children:[(0,b.jsx)("div",{className:"w-24 h-24 rounded-3xl bg-[var(--card-bg)] border border-[var(--card-border)] flex items-center justify-center text-4xl mb-6 shadow-xl",children:"π"}),(0,b.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"You have no projects"}),(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] text-center max-w-sm mb-8 leading-relaxed",children:"Create your first project to start organizing your tasks and connecting your folders."}),(0,b.jsx)("button",{onClick:L,className:"btn-primary px-8 py-3 text-lg shadow-xl shadow-[var(--primary)]/20",children:"Create a Project"})]}):(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 pb-20",children:[(0,b.jsxs)(d.default,{href:"/projects/orphans",className:"p-5 rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)] shadow-sm space-y-4 transition-all hover:border-[var(--primary)] hover:shadow-md",children:[(0,b.jsx)("div",{className:"flex items-start justify-between gap-4",children:(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:"Orphan Tasks"}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] tracking-wide uppercase",children:"Unassigned"})]})}),(0,b.jsx)("p",{className:"text-sm text-[var(--foreground)]",children:"Review tasks with empty project assignment and move them into the correct project."})]}),j.map(a=>(0,b.jsx)(g,{project:a,onEdit:M,onDelete:S,onManageTasks:O,onClick:N},a.id))]}),(0,b.jsx)(h.default,{isOpen:v,onClose:Q,onSubmit:R,editingProject:t,form:z,repos:A,isSubmitting:G,formError:I,onFieldChange:(a,b)=>K(c=>({...c,[a]:b})),onRepoChange:B,onAddRepo:C,onRemoveRepo:D}),x&&(0,b.jsx)(o,{project:x,onClose:P})]})})}function o({project:a,onClose:c}){let{tasks:d,isLoading:e}=(0,l.useTasks)({project:a.slug});return(0,b.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:a=>a.target===a.currentTarget&&c(),children:(0,b.jsxs)("div",{className:"modal-content w-full max-w-5xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,b.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h2",{className:"text-xl font-bold",children:["Tasks for ",a.name]}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:"Viewing all tasks associated with this project."})]}),(0,b.jsx)("button",{onClick:c,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,b.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-8",children:e?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20",children:[(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full mb-4"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading project tasks..."})]}):(0,b.jsx)(k,{tasks:d})}),(0,b.jsx)("div",{className:"px-8 py-6 border-t border-[var(--card-border)] flex justify-end flex-shrink-0",children:(0,b.jsx)("button",{onClick:c,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Close"})})]})})}a.s(["default",()=>n],177593)}];
|
|
3
3
|
|
|
4
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
4
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__5e73414b._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},325015,a=>{"use strict";let b=(0,a.i(883706).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",()=>b],325015)},132245,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=a.r(441997);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},307773,(a,b,c)=>{"use strict";function d(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"encodeURIPath",{enumerable:!0,get:function(){return d}})},297458,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=a.r(187924),e=a.r(935112),f=a.r(556704),g=a.r(307773),h=a.r(68063);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let i=(0,h.getDeploymentIdQueryOrEmptyString)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${i}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},969853,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return j}});let d=a.r(187924),e=a.r(572131),f=a.r(132245),g=a.r(297458);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},819721,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return e}});let d=a.r(833354)._(a.r(969853));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__5ff9ead4._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},994367,a=>{a.n(a.i(216893))},70864,a=>{a.n(a.i(233290))},43619,a=>{a.n(a.i(379962))},13718,a=>{a.n(a.i(685523))},118198,a=>{a.n(a.i(545518))},190476,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/folders/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/folders/page.tsx <module evaluation>","default")},689252,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/folders/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/folders/page.tsx","default")},891578,a=>{"use strict";a.i(190476);var b=a.i(689252);a.n(b)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__ec81a3d9._.js.map
|
package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f2c3b7ab._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},909270,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.AppRouterContext},738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},736313,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.HooksClientContext},818341,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.ServerInsertedHtml},589116,a=>{"use strict";let b="agx-chat:threads";function c(){let a=globalThis.localStorage;if(!a)throw Error("LocalThreadAdapter requires a browser-like environment with `localStorage`.");return a}function d(){let a=c().getItem(b);if(!a)return{threads:{}};try{let b=JSON.parse(a);if(b&&"object"==typeof b&&b.threads&&"object"==typeof b.threads)return{threads:Object.fromEntries(Object.entries(b.threads).map(([a,b])=>{var c,d;return[a,(c=a,d=b,{id:c,title:d?.title,messages:Array.isArray(d?.messages)?[...d.messages]:[],createdAt:"number"==typeof d?.createdAt?d.createdAt:Date.now(),updatedAt:"number"==typeof d?.updatedAt?d.updatedAt:Date.now(),metadata:d?.metadata,status:d?.status,outcomeNote:d?.outcomeNote,projectId:"string"==typeof d?.projectId?d.projectId:"string"==typeof d?.teamId?d.teamId:d?.projectId===null||d?.teamId===null?null:void 0})]}))}}catch{}return{threads:{}}}function e(a){c().setItem(b,JSON.stringify(a))}function f(a){return{...a,messages:a.messages.map(a=>({...a})),metadata:a.metadata?{...a.metadata}:void 0}}let g=new class{async saveThread(a){let b=Date.now(),c=d(),g=c.threads[a.id],h=g?.createdAt??a.createdAt??b,i=a.updatedAt??b,j={id:a.id,title:a.title,messages:a.messages.map(a=>({...a})),metadata:a.metadata,createdAt:h,updatedAt:i,status:a.status,outcomeNote:a.outcomeNote,projectId:a.projectId??a.teamId};return c.threads[a.id]=j,e(c),f(j)}async loadThread(a){let b=d().threads[a];return b?f(b):null}async listThreads(a){let b=Object.values(d().threads),c=a?.order??"desc",e=[...b].sort((a,b)=>"asc"===c?a.updatedAt-b.updatedAt:b.updatedAt-a.updatedAt),g=Math.max(0,a?.offset??0),h=a?.limit,i="number"==typeof h&&h>=0?e.slice(g,g+h):e.slice(g);return{total:b.length,threads:i.map(f)}}async deleteThread(a){let b=d();b.threads[a]&&(delete b.threads[a],e(b))}};a.s(["threadService",0,{listThreads:async()=>[...(await g.listThreads({order:"desc"})).threads.filter(a=>!0!==a.metadata?.archived)].sort((a,b)=>b.updatedAt-a.updatedAt),async createThread(a){let b="string"==typeof a?.id?a.id.trim():"";if(b){let c=await g.loadThread(b);if(c){let b={...c.metadata??{},...a?.metadata??{},archived:!1,archivedAt:null};return g.saveThread({id:c.id,title:a?.title??c.title,messages:a?.messages?.length?a.messages:c.messages,metadata:b,createdAt:c.createdAt})}}let c={id:b||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`thread-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:a?.messages?.length?a.messages:[],title:a?.title,metadata:a?.metadata};return g.saveThread(c)},async deleteThread(a){let b=a.trim();if(!b)return;let c=await g.loadThread(b);if(!c)return;let d={...c.metadata??{},archived:!0,archivedAt:Date.now()};await g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:d,createdAt:c.createdAt})},async renameThread(a,b){let c=a.trim(),d=b.trim();if(!c||!d)return null;let e=await g.loadThread(c);return e?(e.title?.trim()??"")===d?e:g.saveThread({id:e.id,title:d,messages:e.messages,metadata:e.metadata,createdAt:e.createdAt}):null},async updateThreadStatus(a,b){let c=await g.loadThread(a);return c?c.status===b?c:g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:c.metadata,createdAt:c.createdAt,status:b,outcomeNote:c.outcomeNote}):null},async updateThreadOutcomeNote(a,b){let c=await g.loadThread(a);return c?c.outcomeNote===b?c:g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:c.metadata,createdAt:c.createdAt,status:c.status,outcomeNote:b}):null},async updateMessageThreadStatus(a,b,c){let d=await g.loadThread(a);if(!d)return null;let e=d.messages.map(a=>a.id===b?{...a,threadStatus:c}:a);return g.saveThread({id:d.id,title:d.title,messages:e,metadata:d.metadata,createdAt:d.createdAt,status:d.status,outcomeNote:d.outcomeNote})},async updateMessageOutcomeNote(a,b,c){let d=await g.loadThread(a);if(!d)return null;let e=d.messages.map(a=>a.id===b?{...a,outcomeNote:c}:a);return g.saveThread({id:d.id,title:d.title,messages:e,metadata:d.metadata,createdAt:d.createdAt,status:d.status,outcomeNote:d.outcomeNote})},async saveThreadMessages(a,b){let c=await g.loadThread(a);if(!c)return null;let d=c.title?.trim()||function(a){let b=a.find(a=>"user"===a.role)?.content?.trim();if(!b)return;let c=b.replace(/\s+/g," ");return c.length>60?`${c.slice(0,60).trim()}β¦`:c}(b);return function(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c+=1){let d=a[c],e=b[c];if(d.id!==e.id||d.role!==e.role||d.participantId!==e.participantId||d.content!==e.content||d.timestamp!==e.timestamp)return!1}return!0}(c.messages,b)&&(c.title?.trim()||void 0)===d?c:g.saveThread({id:c.id,title:d,messages:b,metadata:c.metadata,createdAt:c.createdAt})}}],589116)},195348,a=>{"use strict";var b=a.i(572131),c=a.i(50944),d=a.i(589116);function e(){}let f=a=>[...a].sort((a,b)=>b.createdAt-a.createdAt);function g(a){let g=(0,c.useSearchParams)(),h=(0,b.useRef)(!0),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)(null),[m,n]=(0,b.useState)(!0),[o,p]=(0,b.useState)(!0),[q,r]=(0,b.useState)(!1),[s,t]=(0,b.useState)(null),[u,v]=(0,b.useState)(null),w=(0,b.useRef)(!1),x=(0,b.useCallback)(a=>{l(a)},[]);(0,b.useEffect)(()=>(h.current=!0,()=>{h.current=!1}),[]),(0,b.useEffect)(()=>{let b=!1;return(async()=>{try{var c;let i,k=(a||g.get("thread")||"").trim()||null,m=await d.threadService.listThreads();if(k&&!m.some(a=>a.id===k)){let a=await d.threadService.createThread({id:k});m=f([...m.filter(b=>b.id!==a.id),a])}if(b||!h.current)return;j(m);let n=k||null,{threadId:o,shouldClearSavedId:p,restoredFromStorage:q}=(c=m,i=c[0]?.id??null,n?c.some(a=>a.id===n)?{threadId:n,shouldClearSavedId:!1,restoredFromStorage:!0}:{threadId:i,shouldClearSavedId:!0,restoredFromStorage:!1}:{threadId:i,shouldClearSavedId:!1,restoredFromStorage:!1});p&&e(),w.current||(w.current=!0),q&&o?x(o):o?l(a=>a??o):l(null)}catch(a){console.error("Failed to load threads",a)}finally{h.current&&(n(!1),p(!1))}})(),()=>{b=!0}},[x,g,a]),(0,b.useEffect)(()=>{w.current&&(k||e())},[k]);let y=(0,b.useCallback)(async a=>{r(!0);try{let b=await d.threadService.createThread(a);if(!h.current)return b;return j(a=>f([...a.filter(a=>a.id!==b.id),b])),l(b.id),b}catch(a){throw console.error("Failed to create thread",a),a}finally{h.current&&r(!1)}},[]),z=(0,b.useCallback)(async a=>{if(a){t(a);try{if(await d.threadService.deleteThread(a),!h.current)return;let b=[];j(c=>b=f(c.filter(b=>b.id!==a))),l(c=>c===a?b[0]?.id??null:c)}catch(a){throw console.error("Failed to delete thread",a),a}finally{h.current&&t(null)}}},[]),A=(0,b.useCallback)(async(a,b)=>{let c=a.trim(),e=b.trim();if(c&&e){v(c);try{let a=await d.threadService.renameThread(c,e);if(!a||!h.current)return;j(b=>f(b.map(b=>b.id===a.id?a:b)))}catch(a){throw console.error("Failed to rename thread",a),a}finally{h.current&&v(a=>a===c?null:a)}}},[]),B=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.saveThreadMessages(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread messages",a)}},[]),C=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.updateThreadStatus(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread status",a)}},[]),D=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.updateThreadOutcomeNote(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread outcome note",a)}},[]),E=(0,b.useCallback)(async(a,b,c)=>{if(a&&b)try{let e=await d.threadService.updateMessageThreadStatus(a,b,c);if(!e||!h.current)return;j(a=>f(a.map(a=>a.id===e.id?e:a)))}catch(a){console.error("Failed to update message thread status",a)}},[]),F=(0,b.useCallback)(async(a,b,c)=>{if(a&&b)try{let e=await d.threadService.updateMessageOutcomeNote(a,b,c);if(!e||!h.current)return;j(a=>f(a.map(a=>a.id===e.id?e:a)))}catch(a){console.error("Failed to update message outcome note",a)}},[]),G=null!==k&&s===k;return{threads:i,activeThreadId:k,selectThread:x,createThread:y,deleteThread:z,isLoading:m,isRestoringActiveThread:o,isCreating:q,deletingThreadId:s,renamingThreadId:u,isDeletingActiveThread:G,updateThreadMessages:B,renameThread:A,updateThreadStatus:C,updateThreadOutcomeNote:D,updateMessageThreadStatus:E,updateMessageOutcomeNote:F}}a.s(["useThreadState",()=>g],195348)},194783,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(986976),f=a.i(56196),g=a.i(195348),h=a.i(655672);function i({children:a,params:i}){let{slug:j}=(0,c.use)(i),k=(0,d.useRouter)(),l=(0,d.usePathname)(),{projects:m,isLoading:n,createProject:o,updateProject:p,deleteProject:q,addAgent:r,removeAgent:s}=(0,f.useProjectsWithAgents)(),{threads:t,isLoading:u,isCreating:v,deletingThreadId:w,renamingThreadId:x,isRestoringActiveThread:y,createThread:z,renameThread:A,deleteThread:B}=(0,g.useThreadState)(),[C,D]=(0,c.useState)([]),[E,F]=(0,c.useState)(!1);(0,c.useEffect)(()=>{F((0,h.loadWorkspaceSidebarVisible)())},[]),(0,c.useEffect)(()=>{fetch("/api/participants").then(a=>a.json()).then(a=>D(Array.isArray(a)?a:[])).catch(()=>D([]))},[]);let G=(0,c.useMemo)(()=>m.find(a=>a.slug===j)??null,[m,j]),H=(0,c.useMemo)(()=>{let a=l.match(/\/projects\/[^/]+\/thread\/([^/]+)/);return a?.[1]?decodeURIComponent(a[1]):G?.thread_ids[0]??null},[G?.thread_ids,l]),I=(0,c.useMemo)(()=>l.includes("/linear")?"linear":l.includes("/automations")?"automations":l.includes("/thread/")?"thread":l.includes("/knowledge")?"knowledge":"board",[l]);return n?(0,b.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}):G?(0,b.jsxs)("div",{className:"flex h-dvh min-h-0 overflow-hidden bg-[var(--background)]",children:[(0,b.jsx)(e.WorkspaceSidebar,{threads:t,participants:C,activeThreadId:H,isLoading:u,isRestoringActiveThread:y,isCreating:v,deletingThreadId:w,renamingThreadId:x,onSelectThread:a=>k.push(`/projects/${j}/thread/${encodeURIComponent(a)}`),onCreateThread:z,onRenameThread:A,onDeleteThread:B,visible:E,onToggle:()=>{let a=!E;F(a),(0,h.persistWorkspaceSidebarVisible)(a)},projects:m,onCreateProject:o,onUpdateProject:p,onDeleteProject:q,onAddAgentToProject:r,onRemoveAgentFromProject:s,activeProjectId:G.id,activeProjectView:I,onUpdateParticipant:async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error("Failed to update agent");let c=await b.json();D(a=>a.map(a=>a.id===c.id?c:a))},onSelectProject:a=>{let b=m.find(b=>b.id===a);b&&k.push(`/projects/${b.slug}`)}}),(0,b.jsx)("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 h-full overflow-hidden",children:a})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-2",children:"Project Not Found"}),(0,b.jsxs)("p",{className:"text-[var(--muted-foreground)] mb-4",children:["The project β",j,"β does not exist or you do not have access to it."]}),(0,b.jsx)("button",{onClick:()=>k.push("/projects"),className:"px-4 py-2 bg-[var(--primary)] text-white rounded-lg hover:bg-[var(--primary-dark)] transition-colors",children:"Back to Projects"})]})}function j({children:a,params:d}){return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-[var(--muted-foreground)]",children:"Loading projectβ¦"}),children:(0,b.jsx)(i,{params:d,children:a})})}a.s(["default",()=>j])}];
|
|
1
|
+
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},909270,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.AppRouterContext},738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},736313,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.HooksClientContext},818341,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.ServerInsertedHtml},589116,a=>{"use strict";let b="agx-chat:threads";function c(){let a=globalThis.localStorage;if(!a)throw Error("LocalThreadAdapter requires a browser-like environment with `localStorage`.");return a}function d(){let a=c().getItem(b);if(!a)return{threads:{}};try{let b=JSON.parse(a);if(b&&"object"==typeof b&&b.threads&&"object"==typeof b.threads)return{threads:Object.fromEntries(Object.entries(b.threads).map(([a,b])=>{var c,d;return[a,(c=a,d=b,{id:c,title:d?.title,messages:Array.isArray(d?.messages)?[...d.messages]:[],createdAt:"number"==typeof d?.createdAt?d.createdAt:Date.now(),updatedAt:"number"==typeof d?.updatedAt?d.updatedAt:Date.now(),metadata:d?.metadata,status:d?.status,outcomeNote:d?.outcomeNote,projectId:"string"==typeof d?.projectId?d.projectId:"string"==typeof d?.teamId?d.teamId:d?.projectId===null||d?.teamId===null?null:void 0})]}))}}catch{}return{threads:{}}}function e(a){c().setItem(b,JSON.stringify(a))}function f(a){return{...a,messages:a.messages.map(a=>({...a})),metadata:a.metadata?{...a.metadata}:void 0}}let g=new class{async saveThread(a){let b=Date.now(),c=d(),g=c.threads[a.id],h=g?.createdAt??a.createdAt??b,i=a.updatedAt??b,j={id:a.id,title:a.title,messages:a.messages.map(a=>({...a})),metadata:a.metadata,createdAt:h,updatedAt:i,status:a.status,outcomeNote:a.outcomeNote,projectId:a.projectId??a.teamId};return c.threads[a.id]=j,e(c),f(j)}async loadThread(a){let b=d().threads[a];return b?f(b):null}async listThreads(a){let b=Object.values(d().threads),c=a?.order??"desc",e=[...b].sort((a,b)=>"asc"===c?a.updatedAt-b.updatedAt:b.updatedAt-a.updatedAt),g=Math.max(0,a?.offset??0),h=a?.limit,i="number"==typeof h&&h>=0?e.slice(g,g+h):e.slice(g);return{total:b.length,threads:i.map(f)}}async deleteThread(a){let b=d();b.threads[a]&&(delete b.threads[a],e(b))}};a.s(["threadService",0,{listThreads:async()=>[...(await g.listThreads({order:"desc"})).threads.filter(a=>!0!==a.metadata?.archived)].sort((a,b)=>b.updatedAt-a.updatedAt),async createThread(a){let b="string"==typeof a?.id?a.id.trim():"";if(b){let c=await g.loadThread(b);if(c){let b={...c.metadata??{},...a?.metadata??{},archived:!1,archivedAt:null};return g.saveThread({id:c.id,title:a?.title??c.title,messages:a?.messages?.length?a.messages:c.messages,metadata:b,createdAt:c.createdAt})}}let c={id:b||("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`thread-${Date.now()}-${Math.random().toString(16).slice(2)}`),messages:a?.messages?.length?a.messages:[],title:a?.title,metadata:a?.metadata};return g.saveThread(c)},async deleteThread(a){let b=a.trim();if(!b)return;let c=await g.loadThread(b);if(!c)return;let d={...c.metadata??{},archived:!0,archivedAt:Date.now()};await g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:d,createdAt:c.createdAt})},async renameThread(a,b){let c=a.trim(),d=b.trim();if(!c||!d)return null;let e=await g.loadThread(c);return e?(e.title?.trim()??"")===d?e:g.saveThread({id:e.id,title:d,messages:e.messages,metadata:e.metadata,createdAt:e.createdAt}):null},async updateThreadStatus(a,b){let c=await g.loadThread(a);return c?c.status===b?c:g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:c.metadata,createdAt:c.createdAt,status:b,outcomeNote:c.outcomeNote}):null},async updateThreadOutcomeNote(a,b){let c=await g.loadThread(a);return c?c.outcomeNote===b?c:g.saveThread({id:c.id,title:c.title,messages:c.messages,metadata:c.metadata,createdAt:c.createdAt,status:c.status,outcomeNote:b}):null},async updateMessageThreadStatus(a,b,c){let d=await g.loadThread(a);if(!d)return null;let e=d.messages.map(a=>a.id===b?{...a,threadStatus:c}:a);return g.saveThread({id:d.id,title:d.title,messages:e,metadata:d.metadata,createdAt:d.createdAt,status:d.status,outcomeNote:d.outcomeNote})},async updateMessageOutcomeNote(a,b,c){let d=await g.loadThread(a);if(!d)return null;let e=d.messages.map(a=>a.id===b?{...a,outcomeNote:c}:a);return g.saveThread({id:d.id,title:d.title,messages:e,metadata:d.metadata,createdAt:d.createdAt,status:d.status,outcomeNote:d.outcomeNote})},async saveThreadMessages(a,b){let c=await g.loadThread(a);if(!c)return null;let d=c.title?.trim()||function(a){let b=a.find(a=>"user"===a.role)?.content?.trim();if(!b)return;let c=b.replace(/\s+/g," ");return c.length>60?`${c.slice(0,60).trim()}β¦`:c}(b);return function(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c+=1){let d=a[c],e=b[c];if(d.id!==e.id||d.role!==e.role||d.participantId!==e.participantId||d.content!==e.content||d.timestamp!==e.timestamp)return!1}return!0}(c.messages,b)&&(c.title?.trim()||void 0)===d?c:g.saveThread({id:c.id,title:d,messages:b,metadata:c.metadata,createdAt:c.createdAt})}}],589116)},195348,a=>{"use strict";var b=a.i(572131),c=a.i(50944),d=a.i(589116);function e(){}let f=a=>[...a].sort((a,b)=>b.createdAt-a.createdAt);function g(a){let g=(0,c.useSearchParams)(),h=(0,b.useRef)(!0),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)(null),[m,n]=(0,b.useState)(!0),[o,p]=(0,b.useState)(!0),[q,r]=(0,b.useState)(!1),[s,t]=(0,b.useState)(null),[u,v]=(0,b.useState)(null),w=(0,b.useRef)(!1),x=(0,b.useCallback)(a=>{l(a)},[]);(0,b.useEffect)(()=>(h.current=!0,()=>{h.current=!1}),[]),(0,b.useEffect)(()=>{let b=!1;return(async()=>{try{var c;let i,k=(a||g.get("thread")||"").trim()||null,m=await d.threadService.listThreads();if(k&&!m.some(a=>a.id===k)){let a=await d.threadService.createThread({id:k});m=f([...m.filter(b=>b.id!==a.id),a])}if(b||!h.current)return;j(m);let n=k||null,{threadId:o,shouldClearSavedId:p,restoredFromStorage:q}=(c=m,i=c[0]?.id??null,n?c.some(a=>a.id===n)?{threadId:n,shouldClearSavedId:!1,restoredFromStorage:!0}:{threadId:i,shouldClearSavedId:!0,restoredFromStorage:!1}:{threadId:i,shouldClearSavedId:!1,restoredFromStorage:!1});p&&e(),w.current||(w.current=!0),q&&o?x(o):o?l(a=>a??o):l(null)}catch(a){console.error("Failed to load threads",a)}finally{h.current&&(n(!1),p(!1))}})(),()=>{b=!0}},[x,g,a]),(0,b.useEffect)(()=>{w.current&&(k||e())},[k]);let y=(0,b.useCallback)(async a=>{r(!0);try{let b=await d.threadService.createThread(a);if(!h.current)return b;return j(a=>f([...a.filter(a=>a.id!==b.id),b])),l(b.id),b}catch(a){throw console.error("Failed to create thread",a),a}finally{h.current&&r(!1)}},[]),z=(0,b.useCallback)(async a=>{if(a){t(a);try{if(await d.threadService.deleteThread(a),!h.current)return;let b=[];j(c=>b=f(c.filter(b=>b.id!==a))),l(c=>c===a?b[0]?.id??null:c)}catch(a){throw console.error("Failed to delete thread",a),a}finally{h.current&&t(null)}}},[]),A=(0,b.useCallback)(async(a,b)=>{let c=a.trim(),e=b.trim();if(c&&e){v(c);try{let a=await d.threadService.renameThread(c,e);if(!a||!h.current)return;j(b=>f(b.map(b=>b.id===a.id?a:b)))}catch(a){throw console.error("Failed to rename thread",a),a}finally{h.current&&v(a=>a===c?null:a)}}},[]),B=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.saveThreadMessages(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread messages",a)}},[]),C=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.updateThreadStatus(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread status",a)}},[]),D=(0,b.useCallback)(async(a,b)=>{if(a)try{let c=await d.threadService.updateThreadOutcomeNote(a,b);if(!c||!h.current)return;j(a=>f(a.map(a=>a.id===c.id?c:a)))}catch(a){console.error("Failed to update thread outcome note",a)}},[]),E=(0,b.useCallback)(async(a,b,c)=>{if(a&&b)try{let e=await d.threadService.updateMessageThreadStatus(a,b,c);if(!e||!h.current)return;j(a=>f(a.map(a=>a.id===e.id?e:a)))}catch(a){console.error("Failed to update message thread status",a)}},[]),F=(0,b.useCallback)(async(a,b,c)=>{if(a&&b)try{let e=await d.threadService.updateMessageOutcomeNote(a,b,c);if(!e||!h.current)return;j(a=>f(a.map(a=>a.id===e.id?e:a)))}catch(a){console.error("Failed to update message outcome note",a)}},[]),G=null!==k&&s===k;return{threads:i,activeThreadId:k,selectThread:x,createThread:y,deleteThread:z,isLoading:m,isRestoringActiveThread:o,isCreating:q,deletingThreadId:s,renamingThreadId:u,isDeletingActiveThread:G,updateThreadMessages:B,renameThread:A,updateThreadStatus:C,updateThreadOutcomeNote:D,updateMessageThreadStatus:E,updateMessageOutcomeNote:F}}a.s(["useThreadState",()=>g],195348)},194783,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(986976),f=a.i(56196),g=a.i(195348),h=a.i(655672),i=a.i(176388);function j({children:a,params:j}){let{slug:k}=(0,c.use)(j),l=(0,d.useRouter)(),m=(0,d.usePathname)(),{projects:n,isLoading:o,createProject:p,updateProject:q,deleteProject:r,addAgent:s,removeAgent:t}=(0,f.useProjectsWithAgents)(),{threads:u,isLoading:v,isCreating:w,deletingThreadId:x,renamingThreadId:y,isRestoringActiveThread:z,createThread:A,renameThread:B,deleteThread:C}=(0,g.useThreadState)(),[D,E]=(0,c.useState)([]),[F,G]=(0,c.useState)(!1),[H,I]=(0,c.useState)(368);(0,c.useEffect)(()=>{G((0,h.loadWorkspaceSidebarVisible)()),I((0,i.loadWorkspaceWidth)()||368)},[]),(0,c.useEffect)(()=>{fetch("/api/participants").then(a=>a.json()).then(a=>E(Array.isArray(a)?a:[])).catch(()=>E([]))},[]);let J=(0,c.useMemo)(()=>n.find(a=>a.slug===k)??null,[n,k]),K=(0,c.useMemo)(()=>{let a=m.match(/\/projects\/[^/]+\/thread\/([^/]+)/);return a?.[1]?decodeURIComponent(a[1]):J?.thread_ids[0]??null},[J?.thread_ids,m]),L=(0,c.useMemo)(()=>m.includes("/linear")?"linear":m.includes("/automations")?"automations":m.includes("/thread/")?"thread":m.includes("/knowledge")?"knowledge":"board",[m]),M=(0,c.useCallback)(a=>{I(a),(0,i.persistWorkspaceWidth)(a)},[]);return o?(0,b.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}):J?(0,b.jsxs)("div",{className:"flex h-dvh min-h-0 overflow-hidden bg-[var(--background)]",children:[(0,b.jsx)(e.WorkspaceSidebar,{threads:u,participants:D,activeThreadId:K,isLoading:v,isRestoringActiveThread:z,isCreating:w,deletingThreadId:x,renamingThreadId:y,onSelectThread:a=>l.push(`/projects/${k}/thread/${encodeURIComponent(a)}`),onCreateThread:A,onRenameThread:B,onDeleteThread:C,visible:F,onToggle:()=>{let a=!F;G(a),(0,h.persistWorkspaceSidebarVisible)(a)},width:H,onWidthChange:M,projects:n,onCreateProject:p,onUpdateProject:q,onDeleteProject:r,onAddAgentToProject:s,onRemoveAgentFromProject:t,activeProjectId:J.id,activeProjectView:L,onUpdateParticipant:async a=>{let b=await fetch("/api/participants",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error("Failed to update agent");let c=await b.json();E(a=>a.map(a=>a.id===c.id?c:a))},onSelectProject:a=>{let b=n.find(b=>b.id===a);b&&l.push(`/projects/${b.slug}`)}}),(0,b.jsx)("div",{className:"flex-1 min-h-0 flex flex-col min-w-0 h-full overflow-hidden",children:a})]}):(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center h-full",children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-2",children:"Project Not Found"}),(0,b.jsxs)("p",{className:"text-[var(--muted-foreground)] mb-4",children:["The project β",k,"β does not exist or you do not have access to it."]}),(0,b.jsx)("button",{onClick:()=>l.push("/projects"),className:"px-4 py-2 bg-[var(--primary)] text-white rounded-lg hover:bg-[var(--primary-dark)] transition-colors",children:"Back to Projects"})]})}function k({children:a,params:d}){return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-[var(--muted-foreground)]",children:"Loading projectβ¦"}),children:(0,b.jsx)(j,{params:d,children:a})})}a.s(["default",()=>k])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__f2c3b7ab._.js.map
|