@mndrk/agx 2.0.55 → 2.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/required-server-files.json +5 -0
- package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +3 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +17 -7
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +13 -13
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page/react-loadable-manifest.json +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +14 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g50c6p._.js +237 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0o315az._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0t2jk2r._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tdixb0._.js +49 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0gvjvx7._.js → [root-of-the-server]__0xdp_8-._.js} +25 -25
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0y42h_~._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~fjhfa._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_12yasaj._.js +9 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_022nz2u._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +11 -10
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0yvelwy.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/02dz_local__next-internal_server_app_projects_[slug]_folders_page_actions_03fg4j9.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0qzjdog._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0a-mbbj._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0e2_v_.._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0w3hl3p._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__07johgg._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__08d5c~o._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0_n~ybp._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0fl7_-o._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0h~rb5r._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r3w68h._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0x7k~pk._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__0hd2vo4._.js → [root-of-the-server]__0y8j6el._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0yme9fy._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~7q5sw._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13eqcxp._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0s~0ump._.js → _064h43p._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0742x_.._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_09b42z9._.js → _09~glsn._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0fwy5tm._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0sjchy6._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ufdu.z._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_03rf_sb._.js → _0wk3skw._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_03z24q2._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_04hvzn_._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_4hk8x._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_ac-.f._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0a-8i4p._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0h3mfm7._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0nvzo3y._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_11k_-8~._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_execution-graph_page_tsx_0tn2sx9._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_folders_page_tsx_0ju618z._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_0aaa3~t._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TaskCard_tsx_0e35_z5._.js +6 -6
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_ChatContainer_tsx_0c9fjtl._.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mk0s0o.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-_ukhpeg429c.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-olq~7zw3wjy.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0142ce0jj3j7r.js → 0-vo_x2cxmjm3.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.4d8rshxivwh.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1011~1x9nj4ny.js → 00lise4d-u8d1.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0~apd0q5_i88z.js → 02p3n7faotpr9.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/02zcxdul-1jaf.js +28 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/055bzj5jfgzr0.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/05c-~4v_jrblf.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/07646a0h94826.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/08~pgzjb13k_v.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09wzd7y~tk-3~.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0px65ynyk3t1d.js → 0bchtyu6m.2yv.js} +7 -7
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0brmd4~76pthy.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0f7i3ae1ynhf3.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0.a4-dh~x9sa3.js → 0hudzktaaxr4g.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{09-_2lcshmjl5.js → 0hzq698w6f4m6.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0i.su2yr26wb6.js +37 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jonp-o8lh-4j.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jsbvcyub73d9.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l2pt2td_87wr.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l3v45kd.9is_.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lgb.0~i1xvv-.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lkal3uvr6_~2.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0mvqoz13v0o2a.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0o9cxba_5mv2c.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p7s38p3bcffh.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0q2dgbluvgxf2.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0r0c9y6.8.m5p.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0h_bwlg~kk8lz.js → 0rey9zfvm3yhd.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ucg8e2wkd8gf.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0uve8xrt~0a2e.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0x_pewz9npq~q.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xwny92a.ad_i.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0ov5lu0tz2o2e.js → 104xjvrf6y-zq.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rm7v.1y6qcni.js → 11-u35xqxu~i-.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/14v~9vx3tdv85.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0826uh6nmsi5l.js → 1503vb7lb6.g1.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0o0hwfzwwty4b.js → 15jlly_p-g4c8.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/16nozeadjid9-.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/177-q0wwdi0qe.js +1 -0
- package/cloud-runtime/standalone/apps/local/agx-server.js +4055 -0
- package/cloud-runtime/standalone/apps/local/app/api/automations/route.ts +10 -2
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +16 -0
- package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +8 -1
- package/cloud-runtime/standalone/apps/local/app/globals.css +67 -5
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/folders/page.tsx +25 -0
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +19 -5
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/objectives/[objectiveId]/page.tsx +7 -2
- package/cloud-runtime/standalone/apps/local/bundled-server.ts +45 -0
- package/cloud-runtime/standalone/apps/local/components/ActionToolbar.tsx +5 -2
- package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +35 -3
- package/cloud-runtime/standalone/apps/local/components/ContextMenu.tsx +2 -2
- package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +36 -14
- package/cloud-runtime/standalone/apps/local/components/IconButton.tsx +10 -2
- package/cloud-runtime/standalone/apps/local/components/KanbanBoard.tsx +84 -3
- package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +382 -13
- package/cloud-runtime/standalone/apps/local/components/LogTimeline.tsx +4 -1
- package/cloud-runtime/standalone/apps/local/components/NowRunningPanel.tsx +3 -1
- package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +46 -6
- package/cloud-runtime/standalone/apps/local/components/SearchCombo.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/SortableTaskCard.tsx +21 -3
- package/cloud-runtime/standalone/apps/local/components/StatusCircle.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/TaskCard.tsx +51 -1
- package/cloud-runtime/standalone/apps/local/components/chat-ui/ChatContainer.tsx +15 -2
- package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/chat-ui/ParticipantBar.tsx +76 -9
- package/cloud-runtime/standalone/apps/local/components/graph/ExecutionGraphPanel.tsx +4 -1
- package/cloud-runtime/standalone/apps/local/components/graph/GraphFirstView.tsx +6 -2
- package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +29 -14
- package/cloud-runtime/standalone/apps/local/components/graph/NodeInspector.tsx +9 -6
- package/cloud-runtime/standalone/apps/local/components/projects/FoldersSummaryCard.tsx +16 -16
- package/cloud-runtime/standalone/apps/local/components/projects/FoldersView.tsx +856 -0
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveActivityTimeline.tsx +40 -32
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +172 -49
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +4 -4
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +347 -168
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectSearchBar.tsx +4 -2
- package/cloud-runtime/standalone/apps/local/components/projects/ScheduledTasksSummaryCard.tsx +19 -19
- package/cloud-runtime/standalone/apps/local/components/projects/TeamsSummaryCard.tsx +10 -10
- package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +50 -50
- package/cloud-runtime/standalone/apps/local/components/projects/WorkingNowCard.tsx +12 -12
- package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectiveCard.tsx +13 -10
- package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectivesSection.tsx +7 -7
- package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathCard.tsx +2 -2
- package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathsSection.tsx +9 -9
- package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +3 -3
- package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +211 -77
- package/cloud-runtime/standalone/apps/local/components/terminal/TerminalSessionList.tsx +3 -1
- package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +72 -21
- package/cloud-runtime/standalone/apps/local/hooks/useInputCapabilities.ts +74 -0
- package/cloud-runtime/standalone/apps/local/lib/app-config.ts +35 -0
- package/cloud-runtime/standalone/apps/local/lib/pty-manager.ts +5 -1
- package/cloud-runtime/standalone/apps/local/lib/terminal-server.ts +182 -0
- package/cloud-runtime/standalone/apps/local/next.config.ts +2 -1
- package/cloud-runtime/standalone/apps/local/package.json +2 -2
- package/cloud-runtime/standalone/apps/local/playwright.config.ts +8 -0
- package/cloud-runtime/standalone/apps/local/server.js +1 -1
- package/cloud-runtime/standalone/apps/local/server.ts +14 -158
- package/cloud-runtime/standalone/apps/local/src/graph/types.ts +2 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/cron.ts +11 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +325 -88
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +20 -0
- package/cloud-runtime/standalone/apps/local/state/windowState.ts +11 -0
- package/cloud-runtime/standalone/apps/local/styles/workspaceSidebar.css +65 -0
- package/cloud-runtime/standalone/apps/local/worker/index.js +0 -4
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.node +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.exe +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.pdb +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.dll +0 -0
- package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.pdb +0 -0
- package/lib/cli/daemon.js +13 -2
- package/lib/cli/onboarding.js +5 -6
- package/lib/cli/runCli.js +1 -1
- package/lib/cloud/client.js +1 -1
- package/lib/commands/chat.js +37 -11
- package/lib/commands/daemonBoard.js +19 -13
- package/lib/config/cloudConfig.js +1 -1
- package/lib/orchestrator/httpClient.js +1 -1
- package/lib/prompts/templates.js +8 -9
- package/package.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01ol22y._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__088h0r2._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__094z9yf._.js +0 -9
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0avz575._.js +0 -49
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0xxf2a0.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0xd_mxu._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__044xm0q._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__066ay_e._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__09smg3p._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0iix1sf._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r54zr9._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0s8z2_c._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w1mm2j._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0wq3ukc._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13h-0om._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03-mlx0._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ag3.tl._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0dh_hx0._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0h8cbsi._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0i1ffhz._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0nlki7b._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_q01av._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0eh.4j7._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0qaowqy._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0s0iy2_._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0zr-_na._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_10qsqky._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.bv3h68wo33z.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/016.x9zt9~rsh.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/027-6dwgpb0cy.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/031720jijg_th.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/03m1xs0rztynh.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/07o~9mm~xds_b.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/08zgoptetnxjj.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09_yj-9nfh48m.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09c7ssmgohk7l.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0awbe2r3qazge.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0dro-bz6f72z0.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gbunx8z.~i4x.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ge81r~ap.u7n.js +0 -28
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ghg5160qeazw.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gl_8hdxl5qnd.js +0 -37
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0g~v8p6_pc46-.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jb4f8425s.-2.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0kukkarp4un0o.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0m.2b-cekea8b.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pt8_y9asrg~7.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0wyg4lymaq0hg.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xl~1ux2f~rcu.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y7-eze-w7~b4.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y8e--tok1214.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0yy~0bgsz~o6-.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/100xrwo-45nrg.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/14h3qxwuo~1q9.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/17oesq5eds3xi.js +0 -1
- /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_clientMiddlewareManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_ssgManifest.js +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { useState } from "react";
|
|
4
|
+
import { Markdown } from "@/components/chat-ui/Markdown";
|
|
4
5
|
|
|
5
6
|
interface TaskComment {
|
|
6
7
|
id: string;
|
|
@@ -177,7 +178,9 @@ export default function LogTimeline({ comments, onAddComment, onDeleteComment }:
|
|
|
177
178
|
</button>
|
|
178
179
|
)}
|
|
179
180
|
</div>
|
|
180
|
-
<
|
|
181
|
+
<div className="text-sm leading-relaxed">
|
|
182
|
+
<Markdown content={comment.content} isUser={comment.author_type === "user"} />
|
|
183
|
+
</div>
|
|
181
184
|
</div>
|
|
182
185
|
</div>
|
|
183
186
|
))}
|
|
@@ -5,6 +5,7 @@ import { useEffect, useState, useMemo } from "react";
|
|
|
5
5
|
import { UI_POLL_TASK_DURATION_MS } from "@/lib/constants/timing";
|
|
6
6
|
import type { AgentProcessEntry } from "@/lib/agent-process-registry";
|
|
7
7
|
import FloatingPanel from "@/components/FloatingPanel";
|
|
8
|
+
import { useInputCapabilities } from "@/hooks/useInputCapabilities";
|
|
8
9
|
|
|
9
10
|
const MAX_WORKERS = Number(process.env.NEXT_PUBLIC_AGX_MAX_WORKERS) || 10;
|
|
10
11
|
|
|
@@ -27,6 +28,7 @@ export default function NowRunningPanel({
|
|
|
27
28
|
cancellingTaskId,
|
|
28
29
|
panelId = "now-running-panel",
|
|
29
30
|
}: NowRunningPanelProps) {
|
|
31
|
+
const { isTouchLayout } = useInputCapabilities();
|
|
30
32
|
// Active processes (spawning or running)
|
|
31
33
|
const activeProcesses = useMemo(
|
|
32
34
|
() => processes.filter((p) => p.state === "spawning" || p.state === "running"),
|
|
@@ -148,7 +150,7 @@ export default function NowRunningPanel({
|
|
|
148
150
|
</div>
|
|
149
151
|
</div>
|
|
150
152
|
|
|
151
|
-
<div className=
|
|
153
|
+
<div className={`flex items-center gap-1 pl-2 border-l border-[var(--border)] transition-opacity ${isTouchLayout ? "opacity-100" : "opacity-0 group-hover:opacity-100"}`}>
|
|
152
154
|
<button
|
|
153
155
|
type="button"
|
|
154
156
|
onClick={(e) => {
|
|
@@ -46,12 +46,26 @@ const RichTextEditor = dynamic(() => import("@/components/RichTextEditor"), {
|
|
|
46
46
|
|
|
47
47
|
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
48
48
|
|
|
49
|
+
function isJobOverdue(job: { nextRunAt: number | null; lastRunAt: number | null; prevScheduledAt?: number | null; state: string }): boolean {
|
|
50
|
+
if (job.state !== "active") return false;
|
|
51
|
+
// Case 1: next run is in the past and hasn't run yet
|
|
52
|
+
if (job.nextRunAt !== null && job.nextRunAt - Date.now() < 0) {
|
|
53
|
+
if (job.lastRunAt && job.lastRunAt >= job.nextRunAt) return false;
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
// Case 2: task ran, but late — compare last run against previous scheduled time
|
|
57
|
+
if (job.prevScheduledAt && job.lastRunAt) {
|
|
58
|
+
return job.lastRunAt > job.prevScheduledAt + 5 * 60_000; // 5 min grace
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
|
|
49
63
|
function formatNextRun(epochMs: number | null, state: string): string {
|
|
50
64
|
if (state === "paused") return "Paused";
|
|
51
65
|
if (state === "stopped") return "Stopped";
|
|
52
66
|
if (epochMs === null) return "Pending...";
|
|
53
67
|
const diff = epochMs - Date.now();
|
|
54
|
-
if (diff < 0) return "
|
|
68
|
+
if (diff < 0) return "Overdue";
|
|
55
69
|
if (diff < 60_000) return `in ${Math.round(diff / 1000)}s`;
|
|
56
70
|
if (diff < 3_600_000) return `in ${Math.round(diff / 60_000)}m`;
|
|
57
71
|
if (diff < 86_400_000) return `in ${Math.round(diff / 3_600_000)}h`;
|
|
@@ -1001,7 +1015,13 @@ function JobDetailView({
|
|
|
1001
1015
|
gated
|
|
1002
1016
|
</span>
|
|
1003
1017
|
) : null}
|
|
1004
|
-
|
|
1018
|
+
{isJobOverdue(job) && (
|
|
1019
|
+
<span className="rounded-md border border-amber-500/20 bg-amber-500/10 px-2 py-1 text-[10px] font-semibold uppercase tracking-wider text-amber-400 inline-flex items-center gap-1">
|
|
1020
|
+
<Clock size={10} />
|
|
1021
|
+
overdue
|
|
1022
|
+
</span>
|
|
1023
|
+
)}
|
|
1024
|
+
<span className={`text-[11px] ${isJobOverdue(job) ? "text-amber-400 font-medium" : "text-[var(--muted-foreground)]"}`}>
|
|
1005
1025
|
Next run {formatNextRun(job.nextRunAt, job.state)}
|
|
1006
1026
|
</span>
|
|
1007
1027
|
<span className="text-[11px] text-[var(--muted-foreground)]">
|
|
@@ -1374,7 +1394,7 @@ export default function PromptJobBoard({
|
|
|
1374
1394
|
</>
|
|
1375
1395
|
)}
|
|
1376
1396
|
</span>
|
|
1377
|
-
<span className=
|
|
1397
|
+
<span className={`flex items-center gap-1 ${isJobOverdue(job) ? "text-amber-400 font-medium" : ""}`}>
|
|
1378
1398
|
<Clock size={11} />
|
|
1379
1399
|
{formatNextRun(job.nextRunAt, job.state)}
|
|
1380
1400
|
</span>
|
|
@@ -1391,9 +1411,29 @@ export default function PromptJobBoard({
|
|
|
1391
1411
|
) : null}
|
|
1392
1412
|
</div>
|
|
1393
1413
|
</div>
|
|
1394
|
-
<
|
|
1395
|
-
|
|
1396
|
-
|
|
1414
|
+
<button
|
|
1415
|
+
onClick={(e) => {
|
|
1416
|
+
e.stopPropagation();
|
|
1417
|
+
void handleToggle(job);
|
|
1418
|
+
}}
|
|
1419
|
+
type="button"
|
|
1420
|
+
role="switch"
|
|
1421
|
+
aria-checked={job.state === "active"}
|
|
1422
|
+
title={job.state === "active" ? "Pause" : "Resume"}
|
|
1423
|
+
className={`relative inline-flex h-[18px] w-[32px] shrink-0 cursor-pointer rounded-full border transition-colors ${
|
|
1424
|
+
job.state === "active"
|
|
1425
|
+
? "border-emerald-400/30 bg-emerald-500/40"
|
|
1426
|
+
: "border-[var(--card-border)] bg-[var(--muted)]"
|
|
1427
|
+
}`}
|
|
1428
|
+
>
|
|
1429
|
+
<span
|
|
1430
|
+
className={`pointer-events-none absolute top-[2px] size-[12px] rounded-full bg-white/90 shadow-sm transition-transform ${
|
|
1431
|
+
job.state === "active"
|
|
1432
|
+
? "translate-x-[16px]"
|
|
1433
|
+
: "translate-x-[2px]"
|
|
1434
|
+
}`}
|
|
1435
|
+
/>
|
|
1436
|
+
</button>
|
|
1397
1437
|
</div>
|
|
1398
1438
|
</div>
|
|
1399
1439
|
);
|
|
@@ -42,13 +42,13 @@ export default function SearchCombo({
|
|
|
42
42
|
|
|
43
43
|
const selected = useMemo(() => options.find((o) => o.id === value), [options, value]);
|
|
44
44
|
|
|
45
|
-
const handleClickOutside = useCallback((e:
|
|
45
|
+
const handleClickOutside = useCallback((e: PointerEvent) => {
|
|
46
46
|
if (ref.current && !ref.current.contains(e.target as Node)) setOpen(false);
|
|
47
47
|
}, []);
|
|
48
48
|
|
|
49
49
|
useEffect(() => {
|
|
50
|
-
document.addEventListener("
|
|
51
|
-
return () => document.removeEventListener("
|
|
50
|
+
document.addEventListener("pointerdown", handleClickOutside);
|
|
51
|
+
return () => document.removeEventListener("pointerdown", handleClickOutside);
|
|
52
52
|
}, [handleClickOutside]);
|
|
53
53
|
|
|
54
54
|
return (
|
|
@@ -3,18 +3,33 @@
|
|
|
3
3
|
import React from "react";
|
|
4
4
|
import { useSortable } from "@dnd-kit/sortable";
|
|
5
5
|
import { CSS } from "@dnd-kit/utilities";
|
|
6
|
-
import TaskCard, { Task, TaskStatus } from "./TaskCard";
|
|
6
|
+
import TaskCard, { Task, TaskStage, TaskStatus } from "./TaskCard";
|
|
7
7
|
|
|
8
8
|
interface SortableTaskCardProps {
|
|
9
9
|
task: Task;
|
|
10
10
|
onClick?: () => void;
|
|
11
11
|
onStatusChange?: (status: TaskStatus) => void;
|
|
12
12
|
onApprovalModeChange?: (mode: "auto" | "manual") => void;
|
|
13
|
+
onStageChange?: (stage: Task["stage"]) => void;
|
|
14
|
+
stageOptions?: readonly TaskStage[];
|
|
15
|
+
currentStage?: TaskStage;
|
|
16
|
+
dragDisabled?: boolean;
|
|
13
17
|
allTasks?: Task[];
|
|
14
18
|
relationship?: 'active' | 'blocking' | 'dependent' | 'dimmed' | 'none';
|
|
15
19
|
}
|
|
16
20
|
|
|
17
|
-
export default function SortableTaskCard({
|
|
21
|
+
export default function SortableTaskCard({
|
|
22
|
+
task,
|
|
23
|
+
onClick,
|
|
24
|
+
onStatusChange,
|
|
25
|
+
onApprovalModeChange,
|
|
26
|
+
onStageChange,
|
|
27
|
+
stageOptions,
|
|
28
|
+
currentStage,
|
|
29
|
+
dragDisabled = false,
|
|
30
|
+
allTasks,
|
|
31
|
+
relationship = 'none',
|
|
32
|
+
}: SortableTaskCardProps) {
|
|
18
33
|
const {
|
|
19
34
|
attributes,
|
|
20
35
|
listeners,
|
|
@@ -22,7 +37,7 @@ export default function SortableTaskCard({ task, onClick, onStatusChange, onAppr
|
|
|
22
37
|
transform,
|
|
23
38
|
transition,
|
|
24
39
|
isDragging,
|
|
25
|
-
} = useSortable({ id: task.id });
|
|
40
|
+
} = useSortable({ id: task.id, disabled: dragDisabled });
|
|
26
41
|
|
|
27
42
|
const style = {
|
|
28
43
|
transform: CSS.Transform.toString(transform),
|
|
@@ -44,6 +59,9 @@ export default function SortableTaskCard({ task, onClick, onStatusChange, onAppr
|
|
|
44
59
|
onClick={onClick}
|
|
45
60
|
onStatusChange={onStatusChange}
|
|
46
61
|
onApprovalModeChange={onApprovalModeChange}
|
|
62
|
+
onStageChange={onStageChange}
|
|
63
|
+
stageOptions={stageOptions}
|
|
64
|
+
currentStage={currentStage}
|
|
47
65
|
allTasks={allTasks}
|
|
48
66
|
relationship={relationship}
|
|
49
67
|
/>
|
|
@@ -32,7 +32,7 @@ export default function StatusCircle({ status, onStatusChange }: StatusCirclePro
|
|
|
32
32
|
useEffect(() => {
|
|
33
33
|
if (!open) return;
|
|
34
34
|
updatePosition();
|
|
35
|
-
const handler = (e:
|
|
35
|
+
const handler = (e: PointerEvent) => {
|
|
36
36
|
if (
|
|
37
37
|
ref.current && !ref.current.contains(e.target as Node) &&
|
|
38
38
|
dropdownRef.current && !dropdownRef.current.contains(e.target as Node)
|
|
@@ -40,8 +40,8 @@ export default function StatusCircle({ status, onStatusChange }: StatusCirclePro
|
|
|
40
40
|
setOpen(false);
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
|
-
document.addEventListener("
|
|
44
|
-
return () => document.removeEventListener("
|
|
43
|
+
document.addEventListener("pointerdown", handler);
|
|
44
|
+
return () => document.removeEventListener("pointerdown", handler);
|
|
45
45
|
}, [open, updatePosition]);
|
|
46
46
|
|
|
47
47
|
// Close dropdown when status changes externally (e.g., realtime update)
|
|
@@ -101,15 +101,36 @@ interface TaskCardProps {
|
|
|
101
101
|
compact?: boolean;
|
|
102
102
|
onStatusChange?: (status: TaskStatus) => void;
|
|
103
103
|
onApprovalModeChange?: (mode: "auto" | "manual") => void;
|
|
104
|
+
onStageChange?: (stage: TaskStage) => void;
|
|
105
|
+
stageOptions?: readonly TaskStage[];
|
|
106
|
+
currentStage?: TaskStage;
|
|
104
107
|
/** All tasks in the board, used to resolve dependency status */
|
|
105
108
|
allTasks?: Task[];
|
|
106
109
|
relationship?: 'active' | 'blocking' | 'dependent' | 'dimmed' | 'none';
|
|
107
110
|
}
|
|
108
111
|
|
|
109
|
-
export default function TaskCard({
|
|
112
|
+
export default function TaskCard({
|
|
113
|
+
task,
|
|
114
|
+
onClick,
|
|
115
|
+
compact = false,
|
|
116
|
+
onStatusChange,
|
|
117
|
+
onApprovalModeChange,
|
|
118
|
+
onStageChange,
|
|
119
|
+
stageOptions,
|
|
120
|
+
currentStage,
|
|
121
|
+
allTasks,
|
|
122
|
+
relationship = 'none',
|
|
123
|
+
}: TaskCardProps) {
|
|
110
124
|
const status = statusConfig[task.status || "queued"];
|
|
111
125
|
const stage = task.stage ? stageConfig[task.stage] : null;
|
|
112
126
|
const { summary, isLoading: isGraphSummaryLoading } = useTaskGraphSummary(task.id !== "draft" ? task.id : null);
|
|
127
|
+
const effectiveStage = currentStage ?? task.stage;
|
|
128
|
+
const stageIndex = effectiveStage && stageOptions ? stageOptions.indexOf(effectiveStage) : -1;
|
|
129
|
+
const previousStage = stageIndex > 0 && stageOptions ? stageOptions[stageIndex - 1] : null;
|
|
130
|
+
const nextStage =
|
|
131
|
+
stageIndex >= 0 && stageOptions && stageIndex < stageOptions.length - 1
|
|
132
|
+
? stageOptions[stageIndex + 1]
|
|
133
|
+
: null;
|
|
113
134
|
|
|
114
135
|
// Resolve dependency status
|
|
115
136
|
const deps = task.depends_on?.length ? task.depends_on.map((depId) => {
|
|
@@ -197,6 +218,35 @@ export default function TaskCard({ task, onClick, compact = false, onStatusChang
|
|
|
197
218
|
)}
|
|
198
219
|
</div>
|
|
199
220
|
</div>
|
|
221
|
+
|
|
222
|
+
{onStageChange && effectiveStage && (previousStage || nextStage) ? (
|
|
223
|
+
<div className="flex items-center gap-2 pt-1">
|
|
224
|
+
{previousStage ? (
|
|
225
|
+
<button
|
|
226
|
+
type="button"
|
|
227
|
+
className="rounded-full border border-[var(--border)] px-2.5 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"
|
|
228
|
+
onClick={(event) => {
|
|
229
|
+
event.stopPropagation();
|
|
230
|
+
onStageChange(previousStage);
|
|
231
|
+
}}
|
|
232
|
+
>
|
|
233
|
+
Back to {previousStage}
|
|
234
|
+
</button>
|
|
235
|
+
) : null}
|
|
236
|
+
{nextStage ? (
|
|
237
|
+
<button
|
|
238
|
+
type="button"
|
|
239
|
+
className="rounded-full border border-[var(--border)] px-2.5 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"
|
|
240
|
+
onClick={(event) => {
|
|
241
|
+
event.stopPropagation();
|
|
242
|
+
onStageChange(nextStage);
|
|
243
|
+
}}
|
|
244
|
+
>
|
|
245
|
+
Move to {nextStage}
|
|
246
|
+
</button>
|
|
247
|
+
) : null}
|
|
248
|
+
</div>
|
|
249
|
+
) : null}
|
|
200
250
|
</div>
|
|
201
251
|
);
|
|
202
252
|
}
|
|
@@ -6,6 +6,7 @@ import { useUrlSelection } from "@/hooks/useUrlSelection";
|
|
|
6
6
|
import { useGroupChat } from "@/hooks/useGroupChat";
|
|
7
7
|
import { useProcessPolling } from "@/hooks/useProcessPolling";
|
|
8
8
|
import { useThreadState } from "@/hooks/useThreadState";
|
|
9
|
+
import { useInputCapabilities } from "@/hooks/useInputCapabilities";
|
|
9
10
|
import { WorkspaceSidebar } from "@/components/thread/WorkspaceSidebar";
|
|
10
11
|
import "@/styles/workspaceSidebar.css";
|
|
11
12
|
import { MessageList } from "./MessageList";
|
|
@@ -221,6 +222,7 @@ export function ChatContainer({
|
|
|
221
222
|
initialRootMessageId,
|
|
222
223
|
showSidebar = true,
|
|
223
224
|
}: ChatContainerProps = {}) {
|
|
225
|
+
const { isTouchLayout } = useInputCapabilities();
|
|
224
226
|
const { getSelection, pushSelection, replaceSelection } = useUrlSelection();
|
|
225
227
|
const {
|
|
226
228
|
threads,
|
|
@@ -1757,9 +1759,9 @@ export function ChatContainer({
|
|
|
1757
1759
|
✕
|
|
1758
1760
|
</button>
|
|
1759
1761
|
</div>
|
|
1760
|
-
) : (
|
|
1762
|
+
) : !isTouchLayout ? (
|
|
1761
1763
|
<kbd className="pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded-md border border-[var(--app-shell-border)] bg-[var(--app-shell-subtle)] px-1.5 py-0.5 font-sans text-[10px] font-bold text-[var(--app-shell-soft-text)]">⌘K</kbd>
|
|
1762
|
-
)}
|
|
1764
|
+
) : null}
|
|
1763
1765
|
</div>
|
|
1764
1766
|
);
|
|
1765
1767
|
|
|
@@ -1854,6 +1856,17 @@ export function ChatContainer({
|
|
|
1854
1856
|
{openThreadId ? (
|
|
1855
1857
|
<div className="desktop-titlebar border-b border-[var(--app-shell-border)] bg-[var(--app-shell-surface)] px-4 py-2.5 backdrop-blur-xl md:px-6 transition-colors duration-200 shrink-0">
|
|
1856
1858
|
<div className="mx-auto flex max-w-5xl items-center gap-3 min-w-0">
|
|
1859
|
+
{showSidebar && !workspaceSidebarVisible ? (
|
|
1860
|
+
<button
|
|
1861
|
+
type="button"
|
|
1862
|
+
onClick={toggleWorkspaceSidebar}
|
|
1863
|
+
className="inline-flex h-9 w-9 items-center justify-center rounded-xl border border-[var(--app-shell-border)] bg-[var(--app-shell-elevated)] text-[var(--app-shell-muted)] transition hover:border-[var(--app-shell-border-strong)] hover:text-[var(--foreground)]"
|
|
1864
|
+
title="Show sidebar"
|
|
1865
|
+
aria-label="Show sidebar"
|
|
1866
|
+
>
|
|
1867
|
+
<PanelLeftOpen className="h-4 w-4" strokeWidth={1.75} />
|
|
1868
|
+
</button>
|
|
1869
|
+
) : null}
|
|
1857
1870
|
<button
|
|
1858
1871
|
onClick={() => navigateToThread(null)}
|
|
1859
1872
|
className="p-1.5 text-[var(--app-shell-muted)] hover:text-[var(--primary)] hover:bg-[var(--app-shell-subtle)] rounded-xl transition-all active:scale-95 flex-shrink-0"
|
|
@@ -211,13 +211,13 @@ export function Composer({
|
|
|
211
211
|
// Close repo dropdown on click outside
|
|
212
212
|
useEffect(() => {
|
|
213
213
|
if (!repoDropdownOpen) return;
|
|
214
|
-
const handleClickOutside = (e:
|
|
214
|
+
const handleClickOutside = (e: PointerEvent) => {
|
|
215
215
|
if (repoDropdownRef.current && !repoDropdownRef.current.contains(e.target as Node)) {
|
|
216
216
|
setRepoDropdownOpen(false);
|
|
217
217
|
}
|
|
218
218
|
};
|
|
219
|
-
document.addEventListener("
|
|
220
|
-
return () => document.removeEventListener("
|
|
219
|
+
document.addEventListener("pointerdown", handleClickOutside);
|
|
220
|
+
return () => document.removeEventListener("pointerdown", handleClickOutside);
|
|
221
221
|
}, [repoDropdownOpen]);
|
|
222
222
|
|
|
223
223
|
// Clear stale repo selections when available repos change (uncontrolled mode only).
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
Plus,
|
|
11
11
|
FolderOpen,
|
|
12
12
|
ChevronDown,
|
|
13
|
+
ChevronUp,
|
|
13
14
|
GripVertical,
|
|
14
15
|
Copy,
|
|
15
16
|
Check,
|
|
@@ -33,6 +34,7 @@ import {
|
|
|
33
34
|
import { CSS } from "@dnd-kit/utilities";
|
|
34
35
|
import type { Participant, ChatProvider, SkillBinding } from "@/lib/types";
|
|
35
36
|
import SearchCombo, { type ComboOption } from "@/components/SearchCombo";
|
|
37
|
+
import { useInputCapabilities } from "@/hooks/useInputCapabilities";
|
|
36
38
|
|
|
37
39
|
const COLORS = ["#D97706", "#2563EB", "#059669", "#DC2626", "#7C3AED", "#DB2777", "#0891B2"];
|
|
38
40
|
|
|
@@ -60,12 +62,22 @@ function SortableAgentItem({
|
|
|
60
62
|
p,
|
|
61
63
|
isActive,
|
|
62
64
|
isFirst,
|
|
65
|
+
dragDisabled = false,
|
|
66
|
+
canMoveUp = false,
|
|
67
|
+
canMoveDown = false,
|
|
68
|
+
onMoveUp,
|
|
69
|
+
onMoveDown,
|
|
63
70
|
onToggleActive,
|
|
64
71
|
onClickEdit,
|
|
65
72
|
}: {
|
|
66
73
|
p: Participant;
|
|
67
74
|
isActive: boolean;
|
|
68
75
|
isFirst: boolean;
|
|
76
|
+
dragDisabled?: boolean;
|
|
77
|
+
canMoveUp?: boolean;
|
|
78
|
+
canMoveDown?: boolean;
|
|
79
|
+
onMoveUp?: () => void;
|
|
80
|
+
onMoveDown?: () => void;
|
|
69
81
|
onToggleActive?: (participantId: string, active: boolean) => void;
|
|
70
82
|
onClickEdit: () => void;
|
|
71
83
|
}) {
|
|
@@ -76,7 +88,7 @@ function SortableAgentItem({
|
|
|
76
88
|
transform,
|
|
77
89
|
transition,
|
|
78
90
|
isDragging,
|
|
79
|
-
} = useSortable({ id: p.id });
|
|
91
|
+
} = useSortable({ id: p.id, disabled: dragDisabled });
|
|
80
92
|
|
|
81
93
|
const style = {
|
|
82
94
|
transform: CSS.Transform.toString(transform),
|
|
@@ -92,9 +104,10 @@ function SortableAgentItem({
|
|
|
92
104
|
>
|
|
93
105
|
<button
|
|
94
106
|
type="button"
|
|
95
|
-
className=
|
|
107
|
+
className={`flex-shrink-0 p-1 text-[var(--muted-foreground)] transition-colors ${dragDisabled ? "cursor-default opacity-40" : "cursor-grab active:cursor-grabbing hover:text-[var(--muted-foreground)]"}`}
|
|
96
108
|
{...attributes}
|
|
97
109
|
{...listeners}
|
|
110
|
+
disabled={dragDisabled}
|
|
98
111
|
>
|
|
99
112
|
<GripVertical size={12} />
|
|
100
113
|
</button>
|
|
@@ -127,6 +140,36 @@ function SortableAgentItem({
|
|
|
127
140
|
>
|
|
128
141
|
<span className={`absolute top-[2px] left-[2px] w-2 h-2 bg-[var(--card-bg)] rounded-full shadow-sm transition-transform ${isActive ? "translate-x-2" : "translate-x-0"}`} />
|
|
129
142
|
</button>
|
|
143
|
+
{dragDisabled && (canMoveUp || canMoveDown) ? (
|
|
144
|
+
<div className="flex items-center gap-0.5">
|
|
145
|
+
{canMoveUp ? (
|
|
146
|
+
<button
|
|
147
|
+
type="button"
|
|
148
|
+
onClick={(event) => {
|
|
149
|
+
event.stopPropagation();
|
|
150
|
+
onMoveUp?.();
|
|
151
|
+
}}
|
|
152
|
+
className="rounded p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]"
|
|
153
|
+
aria-label={`Move ${p.name} up`}
|
|
154
|
+
>
|
|
155
|
+
<ChevronUp size={12} />
|
|
156
|
+
</button>
|
|
157
|
+
) : null}
|
|
158
|
+
{canMoveDown ? (
|
|
159
|
+
<button
|
|
160
|
+
type="button"
|
|
161
|
+
onClick={(event) => {
|
|
162
|
+
event.stopPropagation();
|
|
163
|
+
onMoveDown?.();
|
|
164
|
+
}}
|
|
165
|
+
className="rounded p-1 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)]"
|
|
166
|
+
aria-label={`Move ${p.name} down`}
|
|
167
|
+
>
|
|
168
|
+
<ChevronDown size={12} />
|
|
169
|
+
</button>
|
|
170
|
+
) : null}
|
|
171
|
+
</div>
|
|
172
|
+
) : null}
|
|
130
173
|
</div>
|
|
131
174
|
</div>
|
|
132
175
|
);
|
|
@@ -134,16 +177,16 @@ function SortableAgentItem({
|
|
|
134
177
|
|
|
135
178
|
function useClickOutside(ref: React.RefObject<HTMLElement | null>, onClose: () => void) {
|
|
136
179
|
useEffect(() => {
|
|
137
|
-
const handle = (e:
|
|
180
|
+
const handle = (e: PointerEvent) => {
|
|
138
181
|
if (ref.current && !ref.current.contains(e.target as Node)) {
|
|
139
182
|
onClose();
|
|
140
183
|
}
|
|
141
184
|
};
|
|
142
185
|
// Use timeout so the current click event finishes before we start listening
|
|
143
|
-
const id = setTimeout(() => document.addEventListener("
|
|
186
|
+
const id = setTimeout(() => document.addEventListener("pointerdown", handle), 0);
|
|
144
187
|
return () => {
|
|
145
188
|
clearTimeout(id);
|
|
146
|
-
document.removeEventListener("
|
|
189
|
+
document.removeEventListener("pointerdown", handle);
|
|
147
190
|
};
|
|
148
191
|
}, [ref, onClose]);
|
|
149
192
|
}
|
|
@@ -348,13 +391,13 @@ export function AgentForm({
|
|
|
348
391
|
|
|
349
392
|
useEffect(() => {
|
|
350
393
|
if (!skillPickerOpen) return;
|
|
351
|
-
const handle = (event:
|
|
394
|
+
const handle = (event: PointerEvent) => {
|
|
352
395
|
if (skillPickerRef.current && !skillPickerRef.current.contains(event.target as Node)) {
|
|
353
396
|
setSkillPickerOpen(false);
|
|
354
397
|
}
|
|
355
398
|
};
|
|
356
|
-
document.addEventListener("
|
|
357
|
-
return () => document.removeEventListener("
|
|
399
|
+
document.addEventListener("pointerdown", handle);
|
|
400
|
+
return () => document.removeEventListener("pointerdown", handle);
|
|
358
401
|
}, [skillPickerOpen]);
|
|
359
402
|
|
|
360
403
|
useEffect(() => {
|
|
@@ -1011,6 +1054,7 @@ export function ParticipantBar({
|
|
|
1011
1054
|
openAddNonce,
|
|
1012
1055
|
variant = "default",
|
|
1013
1056
|
}: Props) {
|
|
1057
|
+
const { isTouchLayout } = useInputCapabilities();
|
|
1014
1058
|
// "add" or participant id being edited, or null
|
|
1015
1059
|
const [openPanel, setOpenPanel] = useState<string | null>(null);
|
|
1016
1060
|
const isSidebar = variant === "sidebar";
|
|
@@ -1063,10 +1107,33 @@ export function ParticipantBar({
|
|
|
1063
1107
|
{showDivider && (
|
|
1064
1108
|
<div className="mx-2 my-1 border-t border-dashed border-[var(--border)]" />
|
|
1065
1109
|
)}
|
|
1066
|
-
|
|
1110
|
+
<SortableAgentItem
|
|
1067
1111
|
p={p}
|
|
1068
1112
|
isActive={activeSet.has(p.id)}
|
|
1069
1113
|
isFirst={index === 0}
|
|
1114
|
+
dragDisabled={isTouchLayout}
|
|
1115
|
+
canMoveUp={
|
|
1116
|
+
Boolean(onReorder) &&
|
|
1117
|
+
index > 0 &&
|
|
1118
|
+
activeSet.has(sortedParticipants[index - 1].id) === isActive
|
|
1119
|
+
}
|
|
1120
|
+
canMoveDown={
|
|
1121
|
+
Boolean(onReorder) &&
|
|
1122
|
+
index < sortedParticipants.length - 1 &&
|
|
1123
|
+
activeSet.has(sortedParticipants[index + 1].id) === isActive
|
|
1124
|
+
}
|
|
1125
|
+
onMoveUp={() => {
|
|
1126
|
+
if (!onReorder || index === 0) return;
|
|
1127
|
+
const reordered = [...sortedParticipants];
|
|
1128
|
+
[reordered[index - 1], reordered[index]] = [reordered[index], reordered[index - 1]];
|
|
1129
|
+
onReorder(reordered.map((participant) => participant.id));
|
|
1130
|
+
}}
|
|
1131
|
+
onMoveDown={() => {
|
|
1132
|
+
if (!onReorder || index >= sortedParticipants.length - 1) return;
|
|
1133
|
+
const reordered = [...sortedParticipants];
|
|
1134
|
+
[reordered[index], reordered[index + 1]] = [reordered[index + 1], reordered[index]];
|
|
1135
|
+
onReorder(reordered.map((participant) => participant.id));
|
|
1136
|
+
}}
|
|
1070
1137
|
onToggleActive={onToggleActive}
|
|
1071
1138
|
onClickEdit={() => setOpenPanel(openPanel === p.id ? null : p.id)}
|
|
1072
1139
|
/>
|
|
@@ -28,6 +28,7 @@ import TaskDetailNodeComponent from "@/components/graph/TaskDetailNodeComponent"
|
|
|
28
28
|
import { getNodeLabel } from "@/components/graph/graph-derived";
|
|
29
29
|
import type { GraphFlowNode, TaskDetailNodeData } from "@/components/graph/graph-flow-types";
|
|
30
30
|
import { useGraphUIStore } from "@/components/graph/useGraphUIStore";
|
|
31
|
+
import { useInputCapabilities } from "@/hooks/useInputCapabilities";
|
|
31
32
|
import type { ExecutionGraph, GraphNode, NodeStatus } from "@/src/graph/types";
|
|
32
33
|
|
|
33
34
|
const NODE_TYPES = {
|
|
@@ -334,6 +335,7 @@ export default function ExecutionGraphPanel({
|
|
|
334
335
|
taskDetailNode,
|
|
335
336
|
onNodeClick,
|
|
336
337
|
}: ExecutionGraphPanelProps) {
|
|
338
|
+
const { isTouchLayout } = useInputCapabilities();
|
|
337
339
|
const [direction, setDirection] = useState<"TB" | "LR">("LR");
|
|
338
340
|
const flowRef = useRef<ReactFlowInstance<GraphFlowNode, Edge> | null>(null);
|
|
339
341
|
const initialFitDone = useRef(false);
|
|
@@ -423,11 +425,12 @@ export default function ExecutionGraphPanel({
|
|
|
423
425
|
onNodesChange={onNodesChange}
|
|
424
426
|
onNodeDragStop={onNodeDragStop}
|
|
425
427
|
onNodeClick={handleNodeClick}
|
|
428
|
+
nodesDraggable={!isTouchLayout}
|
|
426
429
|
panOnScroll
|
|
427
430
|
>
|
|
428
431
|
<Background gap={24} size={1.2} color="rgba(100, 116, 139, 0.25)" />
|
|
429
432
|
<MiniMap pannable zoomable />
|
|
430
|
-
<Controls>
|
|
433
|
+
<Controls className={isTouchLayout ? "execution-graph-panel__controls execution-graph-panel__controls--touch" : "execution-graph-panel__controls"}>
|
|
431
434
|
<ControlButton
|
|
432
435
|
title="Fit graph"
|
|
433
436
|
onClick={() => {
|
|
@@ -11,6 +11,7 @@ import GraphVersionHistory from "@/components/graph/GraphVersionHistory";
|
|
|
11
11
|
import GraphComparisonModal from "@/components/graph/GraphComparisonModal";
|
|
12
12
|
import { findRootNode } from "@/components/graph/graph-derived";
|
|
13
13
|
import { useGraphUIStore, type NodeAction } from "@/components/graph/useGraphUIStore";
|
|
14
|
+
import { useInputCapabilities } from "@/hooks/useInputCapabilities";
|
|
14
15
|
import type { ExecutionGraph, ExecutionLifecycleState } from "@/src/graph/types";
|
|
15
16
|
import type { Task } from "@/components/TaskCard";
|
|
16
17
|
|
|
@@ -43,6 +44,7 @@ export default function GraphFirstView({
|
|
|
43
44
|
onDeleteTask,
|
|
44
45
|
isDeletingTask = false,
|
|
45
46
|
}: GraphFirstViewProps) {
|
|
47
|
+
const { isTouchLayout } = useInputCapabilities();
|
|
46
48
|
const [showLogs, setShowLogs] = useState(false);
|
|
47
49
|
const [logsNodeId, setLogsNodeId] = useState<string | null>(null);
|
|
48
50
|
const [error, setError] = useState<string | null>(null);
|
|
@@ -275,7 +277,8 @@ export default function GraphFirstView({
|
|
|
275
277
|
</div>
|
|
276
278
|
|
|
277
279
|
{/* Right sidebar - node details */}
|
|
278
|
-
|
|
280
|
+
{!isTouchLayout ? (
|
|
281
|
+
<aside className="graph-first-view__sidebar">
|
|
279
282
|
{/* Collapsible task details */}
|
|
280
283
|
<div className="graph-sidebar-section">
|
|
281
284
|
<button
|
|
@@ -402,7 +405,8 @@ export default function GraphFirstView({
|
|
|
402
405
|
/>
|
|
403
406
|
|
|
404
407
|
<GraphVersionHistory graph={graph} />
|
|
405
|
-
|
|
408
|
+
</aside>
|
|
409
|
+
) : null}
|
|
406
410
|
</div>
|
|
407
411
|
|
|
408
412
|
{/* Comparison modal */}
|