@mndrk/agx 1.4.64 → 2.0.0-next.0
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 +2 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-build-manifest.json +391 -142
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +43 -16
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +7 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/dynamic-css-manifest.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +57 -9
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/required-server-files.json +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +197 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +6 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/audit/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/daemon-secret/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/code/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/code/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/token/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/device/token/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/refresh/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/history/route.js +28 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/history/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/history/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js +111 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/chat/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/[id]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/domains/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/stage-prompts/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js +74 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js +74 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/restart-stage/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/nodes/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/callback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/callback/route_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js +5 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/auth/device.rsc +7 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js +5 -10
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/dashboard.rsc +8 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page.js +17 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.html +13 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.meta +7 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.rsc +23 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +6 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page.js +4 -4
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/login.rsc +7 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/[taskId]/page.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/[taskId]/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/[taskId]/page_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js +2 -7
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/tasks/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page.js +2 -13
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/workflow/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.html +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.meta +7 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.rsc +24 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js +3 -8
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +7 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js +2 -13
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +7 -6
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +43 -16
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/1175.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/1891.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/{5611.js → 2341.js} +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/3009.js +9 -17
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/359.js +91 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/4183.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/4483.js +145 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/4684.js +53 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/5047.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/5336.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/5873.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/5998.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6317.js +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7143.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7552.js +74 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7625.js +12 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/8100.js +17 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/8521.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/8879.js +11 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/9218.js +74 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/9764.js +37 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/9933.js +2 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/dynamic-css-manifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/functions-config-manifest.json +4 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/instrumentation.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-build-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_app.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_app.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_document.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_document.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_error.js +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/_error.js.nft.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages-manifest.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/1560-c96304e8b5b09982.js +49 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/1a258343-bcfff2df53db439e.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/3634-903008664601478e.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/4380-34fd8d852553a877.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5182-23ff4470a8cd697e.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5962-e45590f9f1f0fb6a.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/6488-dc0cbab539e14b14.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/7329-81a6c7ab69ca4a52.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9092-1eed225ca8c0f4b5.js +13 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-41c7297232fc7095.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/968-bbc30100546b7647.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9855-e3fbd51dd373e0c5.js +3 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/audit/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/[...nextauth]/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/daemon-secret/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/code/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/chat/history/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/chat/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/migrate-v1/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/migrate-v2/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/costs/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/dependencies/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/events/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/history/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/metrics/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/pause/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/replan/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/restart/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/resume/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/rollback/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/start/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/graph/stop/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/stream/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/comments/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/complete/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/fail/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/resume/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/start/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/stop/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/nodes/[nodeId]/verify/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/restart-stage/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/assign-orphans/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-4146f5e9f52467cf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/page-360e0d9743267f83.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/dashboard/page-9fc2f72aa263afbf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/execution-graph/page-3d2f92c9f3a9c32b.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-b1371d0718b61729.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/login/page-cc727e6121024adf.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/graph/[taskId]/page-35e701dd9d03607a.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/layout-3497c64539d1d0d6.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/page-7c440360390120d2.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/[taskId]/page-b5a1aca4ff048270.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-d324777fc0d2b28e.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/workflow/page-d944b3d435e6c096.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/orphans/page-f2d9a658ebd59e25.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-cfa09df7a60e3c9e.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/settings/page-5d8b5e8b4a41e553.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/ba12c10f-bf8f81460a1e4961.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/pages/_app-d4c3a651e078ce62.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/pages/_error-645f0cf542a3bcc5.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{webpack-d282787ed3063711.js → webpack-ba6fd5b47c63daed.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/599369d853c61df7.css +31 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/cecf148132e1eabb.css +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/fa5c997ce0e64112.css +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/ouqRjDQF23L-SLuiHJHB7/_buildManifest.js +1 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/api/context.js +81 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/api/diag.js +93 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/api/metrics.js +61 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/api/propagation.js +89 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/api/trace.js +79 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js +63 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js +55 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js +23 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/baggage/utils.js +51 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js +38 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/context/context.js +55 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/context-api.js +24 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js +59 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js +57 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js +45 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/diag/types.js +44 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/diag-api.js +29 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/index.js +81 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/internal/global-utils.js +64 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/internal/semver.js +122 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/metrics/Metric.js +25 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js +127 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js +31 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/metrics-api.js +24 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/platform/index.js +29 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/platform/node/globalThis.js +22 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/platform/node/index.js +29 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js +34 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js +41 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/propagation-api.js +24 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js +69 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js +75 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js +32 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js +55 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js +54 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js +42 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/context-utils.js +82 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js +103 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js +24 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js +27 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/span_kind.js +46 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js +49 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/status.js +23 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js +26 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/trace-api.js +24 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/build/src/version.js +21 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/@opentelemetry/api/package.json +113 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/package.json +17 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/pages/_app.tsx +5 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/pages/_document.tsx +13 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/scripts/migrate-v1-to-v2.ts +34 -0
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +104 -20
- package/lib/cli/chat/index.js +203 -0
- package/lib/cli/cloud/aggregate.js +4 -0
- package/lib/cli/cloud/command.js +3 -0
- package/lib/cli/cloud/executeGraphV2.js +1791 -0
- package/lib/cli/cloud/executeVerifySingle.js +5 -1
- package/lib/cli/cloud/executeVerifySwarm.js +5 -1
- package/lib/cli/cloud/index.js +6 -0
- package/lib/cli/cloud/iterations.js +56 -1
- package/lib/cli/cloud/persist.js +1 -2
- package/lib/cli/cloud/prompts.js +9 -3
- package/lib/cli/cloud/taskLogger.js +37 -28
- package/lib/cli/cloudArtifacts.js +29 -12
- package/lib/cli/configStore.js +15 -4
- package/lib/cli/daemon.js +98 -25
- package/lib/cli/interactiveMenu.js +8 -15
- package/lib/cli/runCli.js +732 -71
- package/lib/cli/v2TaskRouting.js +82 -0
- package/lib/cloud/status.js +12 -6
- package/lib/cloud-sync.js +267 -0
- package/lib/commands/chat.js +95 -0
- package/lib/commands/daemonBoard.js +132 -0
- package/lib/executor.js +334 -9
- package/lib/graph/constants.js +25 -0
- package/lib/graph/scheduler.js +137 -0
- package/lib/graph/types.js +24 -0
- package/lib/prompts/cloudTask.js +12 -6
- package/lib/prompts/resume.js +353 -0
- package/lib/prompts/templates.js +27 -11
- package/lib/stage-requirements.js +2 -2
- package/lib/storage/checkpoints.js +222 -0
- package/lib/storage/git.js +147 -0
- package/lib/storage/graph.js +80 -0
- package/lib/storage/index.js +12 -0
- package/lib/storage/paths.js +11 -0
- package/lib/storage/state.js +2 -0
- package/lib/verify-gate.js +301 -0
- package/package.json +16 -2
- package/templates/stack/postgres/init/001_agx_board_schema.sql +122 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/6158.js +0 -19
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/8666.js +0 -23
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/9159.js +0 -93
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/FYPvFkL9PvoVJhHnr9Upx/_buildManifest.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5608-674cd57e975c9b36.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/650-38439e55899ae2bf.js +0 -15
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/8960-720130c8c9bf5b1c.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9337-f4cb4820efca03a1.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/audit/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/[...nextauth]/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/daemon-secret/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/code/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/device/token/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/refresh/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/auth/status/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/[id]/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/domains/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/health/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/learnings/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/logs/stream/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/cancel/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/signal/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/start/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/orchestrator/tasks/[taskId]/status/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/[id]/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/projects/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/providers/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/complete/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/queue/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/stage-prompts/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/[commentId]/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/comments/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/costs/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/dependencies/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/history/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/logs/stream/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/restart-stage/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/[id]/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/tasks/stream/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/user-settings/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/nodes/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/[id]/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/api/workflows/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/callback/route-bee7977512f30f17.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/auth/device/page-bd5f443ef9da0c0a.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/dashboard/page-6140206ded1cc4ae.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/layout-6b46da9e6091abb3.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/login/page-8172fa023b259e7e.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/layout-11d4290500b37271.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/page-d097a2c0e0fc17cf.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/tasks/page-444e63f0464b1d40.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/[slug]/workflow/page-9ccbd3d9db1bcef8.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/projects/page-6c545e9e5f5f66bc.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/app/settings/page-749ebaf650848f08.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/pages/_app-6c8c2371b16a04b8.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/pages/_error-94812ad32cad7365.js +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/css/ea93fda1b0bdd3b9.css +0 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/next/dist/pages/_app.js +0 -42
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/node_modules/next/dist/pages/_document.js +0 -834
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{FYPvFkL9PvoVJhHnr9Upx → ouqRjDQF23L-SLuiHJHB7}/_ssgManifest.js +0 -0
package/lib/cli/runCli.js
CHANGED
|
@@ -72,6 +72,7 @@ const { handleSkillCommand } = require('./skills');
|
|
|
72
72
|
const { runOnboarding, showConfigStatus, runConfigMenu } = require('./onboarding');
|
|
73
73
|
const { runInteractiveMenu } = require('./interactiveMenu');
|
|
74
74
|
const cloudArtifacts = require('./cloudArtifacts');
|
|
75
|
+
const { classifyTaskExecutionTrack, buildV2RoutingError } = require('./v2TaskRouting');
|
|
75
76
|
const { sendWebhookEvent } = require('../notifications/webhooks');
|
|
76
77
|
const fallbackExtractSection = (markdown, heading) => {
|
|
77
78
|
if (!markdown) return '';
|
|
@@ -199,7 +200,7 @@ async function abortIfCancelled(watcher) {
|
|
|
199
200
|
|
|
200
201
|
// NOTE: commandExists/spawnCloudTaskProcess/sanitize/truncate/etc are imported above.
|
|
201
202
|
|
|
202
|
-
async function postTaskLog(taskId, content, logType) {
|
|
203
|
+
async function postTaskLog(taskId, content, logType, nodeId) {
|
|
203
204
|
const cloudConfig = loadCloudConfigFile();
|
|
204
205
|
if (!cloudConfig?.apiUrl) return;
|
|
205
206
|
|
|
@@ -209,6 +210,7 @@ async function postTaskLog(taskId, content, logType) {
|
|
|
209
210
|
if (!text.trim()) return;
|
|
210
211
|
|
|
211
212
|
const type = (typeof logType === 'string' && logType.trim()) ? logType.trim() : 'output';
|
|
213
|
+
const normalizedNodeId = (typeof nodeId === 'string' && nodeId.trim()) ? nodeId.trim() : null;
|
|
212
214
|
await fetch(`${cloudConfig.apiUrl}/api/tasks/${taskId}/logs`, {
|
|
213
215
|
method: 'POST',
|
|
214
216
|
headers: {
|
|
@@ -216,7 +218,11 @@ async function postTaskLog(taskId, content, logType) {
|
|
|
216
218
|
...(cloudConfig?.token ? { 'Authorization': `Bearer ${cloudConfig.token}` } : {}),
|
|
217
219
|
'x-user-id': cloudConfig.userId || '',
|
|
218
220
|
},
|
|
219
|
-
body: JSON.stringify({
|
|
221
|
+
body: JSON.stringify({
|
|
222
|
+
content: text,
|
|
223
|
+
log_type: type,
|
|
224
|
+
...(normalizedNodeId ? { node_id: normalizedNodeId } : {})
|
|
225
|
+
})
|
|
220
226
|
});
|
|
221
227
|
} catch { }
|
|
222
228
|
}
|
|
@@ -351,6 +357,7 @@ const {
|
|
|
351
357
|
finalizeRunSafe,
|
|
352
358
|
runSingleAgentExecuteVerifyLoop,
|
|
353
359
|
runSwarmExecuteVerifyLoop,
|
|
360
|
+
runV2GraphExecutionLoop,
|
|
354
361
|
runSwarmAggregate,
|
|
355
362
|
runSwarmLoop,
|
|
356
363
|
} = cloudRunner;
|
|
@@ -505,13 +512,22 @@ async function checkOnboarding() {
|
|
|
505
512
|
const apiStart = Date.now();
|
|
506
513
|
try {
|
|
507
514
|
const makeRequest = async (cfg) => {
|
|
515
|
+
const internalServiceToken =
|
|
516
|
+
(process.env.AGX_INTERNAL_SERVICE_TOKEN || process.env.INTERNAL_SERVICE_TOKEN || '').trim();
|
|
517
|
+
const internalCallerId =
|
|
518
|
+
(process.env.AGX_EXECUTOR_CALLER_ID || 'executor-engine').trim();
|
|
508
519
|
const options = {
|
|
509
520
|
method,
|
|
510
521
|
headers: {
|
|
511
522
|
'Content-Type': 'application/json',
|
|
512
523
|
'x-user-id': cfg.userId || '',
|
|
524
|
+
'x-agx-caller': internalCallerId,
|
|
525
|
+
'x-executor-caller-id': internalCallerId,
|
|
513
526
|
},
|
|
514
527
|
};
|
|
528
|
+
if (internalServiceToken) {
|
|
529
|
+
options.headers['x-internal-service-token'] = internalServiceToken;
|
|
530
|
+
}
|
|
515
531
|
if (cfg?.token) options.headers.Authorization = `Bearer ${cfg.token}`;
|
|
516
532
|
if (body) options.body = JSON.stringify(body);
|
|
517
533
|
const response = await fetch(url, options);
|
|
@@ -703,8 +719,37 @@ async function checkOnboarding() {
|
|
|
703
719
|
}
|
|
704
720
|
}
|
|
705
721
|
|
|
722
|
+
function extractGraphFromTaskGraphResponse(response) {
|
|
723
|
+
if (!response || typeof response !== 'object') return null;
|
|
724
|
+
if (response.graph && typeof response.graph === 'object') return response.graph;
|
|
725
|
+
if (response.execution_graph && typeof response.execution_graph === 'object') return response.execution_graph;
|
|
726
|
+
if (response.executionGraph && typeof response.executionGraph === 'object') return response.executionGraph;
|
|
727
|
+
return response;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
async function hydrateTaskWithGraphContext(taskId, task) {
|
|
731
|
+
if (!task || typeof task !== 'object') return task;
|
|
732
|
+
|
|
733
|
+
try {
|
|
734
|
+
const graphResponse = await cloudRequest('GET', `/api/tasks/${taskId}/graph`);
|
|
735
|
+
const graph = extractGraphFromTaskGraphResponse(graphResponse);
|
|
736
|
+
if (!graph || typeof graph !== 'object') return task;
|
|
737
|
+
|
|
738
|
+
const graphId = String(graph.id || graph.graph_id || '').trim();
|
|
739
|
+
const mode = String(graph.mode || '').trim();
|
|
740
|
+
return {
|
|
741
|
+
...task,
|
|
742
|
+
...(graphId ? { graph_id: graphId } : {}),
|
|
743
|
+
...(mode ? { graph_mode: mode } : {}),
|
|
744
|
+
execution_graph: graph,
|
|
745
|
+
};
|
|
746
|
+
} catch {
|
|
747
|
+
return task;
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
|
|
706
751
|
async function runTaskInline(rawTaskId, options = {}) {
|
|
707
|
-
const { resetFirst = false, forceSwarm = false, fromStage = null } = options;
|
|
752
|
+
const { resetFirst = false, forceSwarm = false, fromStage = null, resumePrompt = '' } = options;
|
|
708
753
|
const taskId = await resolveTaskId(rawTaskId);
|
|
709
754
|
|
|
710
755
|
if (fromStage) {
|
|
@@ -719,6 +764,39 @@ async function checkOnboarding() {
|
|
|
719
764
|
});
|
|
720
765
|
}
|
|
721
766
|
|
|
767
|
+
const ensureDependenciesReady = async () => {
|
|
768
|
+
let depGraph = null;
|
|
769
|
+
try {
|
|
770
|
+
depGraph = await cloudRequest('GET', `/api/tasks/${taskId}/dependencies`);
|
|
771
|
+
} catch {
|
|
772
|
+
return;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
const deps = Array.isArray(depGraph?.depends_on_tasks) ? depGraph.depends_on_tasks : [];
|
|
776
|
+
if (!deps.length) return;
|
|
777
|
+
|
|
778
|
+
const missing = deps.filter((dep) => String(dep?.status || '').toLowerCase() !== 'completed');
|
|
779
|
+
if (!missing.length) return;
|
|
780
|
+
|
|
781
|
+
const preview = missing
|
|
782
|
+
.slice(0, 3)
|
|
783
|
+
.map((dep) => {
|
|
784
|
+
const label = String(dep?.slug || dep?.title || dep?.id || '(unknown)').trim();
|
|
785
|
+
const status = String(dep?.status || '').trim();
|
|
786
|
+
return status ? `${label} (${status})` : label;
|
|
787
|
+
})
|
|
788
|
+
.join(', ');
|
|
789
|
+
const extra = missing.length > 3 ? ` +${missing.length - 3} more` : '';
|
|
790
|
+
const reason = `Waiting on dependencies: ${preview}${extra}`;
|
|
791
|
+
|
|
792
|
+
try {
|
|
793
|
+
await cloudRequest('PATCH', `/api/tasks/${taskId}`, { status: 'blocked' });
|
|
794
|
+
} catch { }
|
|
795
|
+
|
|
796
|
+
throw new Error(reason);
|
|
797
|
+
};
|
|
798
|
+
await ensureDependenciesReady();
|
|
799
|
+
|
|
722
800
|
// NOTE: `agx run` should not implicitly start the embedded orchestrator worker.
|
|
723
801
|
// If you want the worker running, start it explicitly via `agx daemon start`.
|
|
724
802
|
|
|
@@ -736,7 +814,12 @@ async function checkOnboarding() {
|
|
|
736
814
|
throw new Error(`Task not found: ${taskId}`);
|
|
737
815
|
}
|
|
738
816
|
|
|
739
|
-
const
|
|
817
|
+
const hydratedTask = await hydrateTaskWithGraphContext(taskId, task);
|
|
818
|
+
const effectiveTask = forceSwarm ? { ...hydratedTask, swarm: true } : { ...hydratedTask };
|
|
819
|
+
const normalizedResumePrompt = typeof resumePrompt === 'string' ? resumePrompt.trim() : '';
|
|
820
|
+
if (normalizedResumePrompt) {
|
|
821
|
+
effectiveTask.prompt = normalizedResumePrompt;
|
|
822
|
+
}
|
|
740
823
|
console.log(`${c.green}✓${c.reset} Running task inline`);
|
|
741
824
|
console.log(`${c.dim}Task: ${taskId}${c.reset}`);
|
|
742
825
|
|
|
@@ -786,6 +869,10 @@ async function checkOnboarding() {
|
|
|
786
869
|
throw new Error('Queue returned task without id');
|
|
787
870
|
}
|
|
788
871
|
|
|
872
|
+
// Always hydrate graph context before routing. Queue payloads can omit graph fields,
|
|
873
|
+
// which would incorrectly route v2 tasks into legacy execution paths.
|
|
874
|
+
task = await hydrateTaskWithGraphContext(taskId, task);
|
|
875
|
+
|
|
789
876
|
const provider = String(task?.provider || task?.engine || 'claude').toLowerCase();
|
|
790
877
|
const model = typeof task?.model === 'string' && task.model.trim() ? task.model.trim() : null;
|
|
791
878
|
const logger = createTaskLogger(taskId);
|
|
@@ -806,7 +893,10 @@ async function checkOnboarding() {
|
|
|
806
893
|
console.log(`${c.dim}[daemon] picked ${taskId} (${task?.stage || 'unknown'}) via ${provider}${model ? `/${model}` : ''}${c.reset}`);
|
|
807
894
|
|
|
808
895
|
let decisionPayload;
|
|
896
|
+
let runResult = null;
|
|
809
897
|
try {
|
|
898
|
+
const executionTrack = classifyTaskExecutionTrack(task);
|
|
899
|
+
|
|
810
900
|
if (localArtifacts) {
|
|
811
901
|
// Derive project slug from task, or auto-detect from cwd
|
|
812
902
|
let derivedProjectSlug = task?.project_slug || task?.project?.slug || task?.project_name || task?.project?.name;
|
|
@@ -908,22 +998,13 @@ async function checkOnboarding() {
|
|
|
908
998
|
// Mark local task as running once before iterating.
|
|
909
999
|
await storage.updateTaskState(projectSlug, taskSlug, { status: 'running' });
|
|
910
1000
|
|
|
911
|
-
//
|
|
1001
|
+
// v2 tasks execute through graph runtime path; legacy tasks use stage execute/verify loops.
|
|
912
1002
|
let loopResult;
|
|
913
|
-
if (
|
|
914
|
-
|
|
915
|
-
taskId
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
storage,
|
|
919
|
-
projectSlug,
|
|
920
|
-
taskSlug,
|
|
921
|
-
stageLocal,
|
|
922
|
-
initialPromptContext: fullPromptContext,
|
|
923
|
-
cancellationWatcher,
|
|
924
|
-
});
|
|
925
|
-
} else {
|
|
926
|
-
loopResult = await runSingleAgentExecuteVerifyLoop({
|
|
1003
|
+
if (executionTrack.track === 'v2') {
|
|
1004
|
+
if (task?.swarm) {
|
|
1005
|
+
throw new Error(`[v2-required] Swarm mode is not supported for v2 graph tasks (task ${taskId}).`);
|
|
1006
|
+
}
|
|
1007
|
+
loopResult = await runV2GraphExecutionLoop({
|
|
927
1008
|
taskId,
|
|
928
1009
|
task,
|
|
929
1010
|
provider,
|
|
@@ -935,7 +1016,36 @@ async function checkOnboarding() {
|
|
|
935
1016
|
stageLocal,
|
|
936
1017
|
initialPromptContext: fullPromptContext,
|
|
937
1018
|
cancellationWatcher,
|
|
1019
|
+
cloudRequest,
|
|
938
1020
|
});
|
|
1021
|
+
} else {
|
|
1022
|
+
if (task?.swarm) {
|
|
1023
|
+
loopResult = await runSwarmExecuteVerifyLoop({
|
|
1024
|
+
taskId,
|
|
1025
|
+
task,
|
|
1026
|
+
logger,
|
|
1027
|
+
storage,
|
|
1028
|
+
projectSlug,
|
|
1029
|
+
taskSlug,
|
|
1030
|
+
stageLocal,
|
|
1031
|
+
initialPromptContext: fullPromptContext,
|
|
1032
|
+
cancellationWatcher,
|
|
1033
|
+
});
|
|
1034
|
+
} else {
|
|
1035
|
+
loopResult = await runSingleAgentExecuteVerifyLoop({
|
|
1036
|
+
taskId,
|
|
1037
|
+
task,
|
|
1038
|
+
provider,
|
|
1039
|
+
model,
|
|
1040
|
+
logger,
|
|
1041
|
+
storage,
|
|
1042
|
+
projectSlug,
|
|
1043
|
+
taskSlug,
|
|
1044
|
+
stageLocal,
|
|
1045
|
+
initialPromptContext: fullPromptContext,
|
|
1046
|
+
cancellationWatcher,
|
|
1047
|
+
});
|
|
1048
|
+
}
|
|
939
1049
|
}
|
|
940
1050
|
|
|
941
1051
|
lastRun = loopResult?.lastRun || null;
|
|
@@ -946,29 +1056,33 @@ async function checkOnboarding() {
|
|
|
946
1056
|
{ error: task?.error || '' }
|
|
947
1057
|
);
|
|
948
1058
|
} else {
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
runResult = await runSwarmLoop({ taskId, task, artifacts: null, cancellationWatcher });
|
|
952
|
-
decisionPayload = normalizeDaemonDecision(
|
|
953
|
-
runResult?.decision,
|
|
954
|
-
runResult?.code === 0 ? 'Swarm execution completed.' : 'Swarm execution failed.',
|
|
955
|
-
{ error: task?.error || '' }
|
|
956
|
-
);
|
|
1059
|
+
if (executionTrack.track === 'v2') {
|
|
1060
|
+
throw new Error(buildV2RoutingError(task, executionTrack));
|
|
957
1061
|
} else {
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
task,
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
}
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
1062
|
+
// Fallback: cloud-only execution path (legacy).
|
|
1063
|
+
if (task?.swarm) {
|
|
1064
|
+
runResult = await runSwarmLoop({ taskId, task, artifacts: null, cancellationWatcher });
|
|
1065
|
+
decisionPayload = normalizeDaemonDecision(
|
|
1066
|
+
runResult?.decision,
|
|
1067
|
+
runResult?.code === 0 ? 'Swarm execution completed.' : 'Swarm execution failed.',
|
|
1068
|
+
{ error: task?.error || '' }
|
|
1069
|
+
);
|
|
1070
|
+
} else {
|
|
1071
|
+
runResult = await runSingleAgentLoop({
|
|
1072
|
+
taskId,
|
|
1073
|
+
task,
|
|
1074
|
+
provider,
|
|
1075
|
+
model,
|
|
1076
|
+
logger,
|
|
1077
|
+
artifacts: null,
|
|
1078
|
+
cancellationWatcher,
|
|
1079
|
+
});
|
|
1080
|
+
decisionPayload = normalizeDaemonDecision(
|
|
1081
|
+
runResult?.decision,
|
|
1082
|
+
runResult?.code === 0 ? 'Single-agent execution completed.' : 'Single-agent execution failed.',
|
|
1083
|
+
{ error: task?.error || '' }
|
|
1084
|
+
);
|
|
1085
|
+
}
|
|
972
1086
|
}
|
|
973
1087
|
}
|
|
974
1088
|
} catch (err) {
|
|
@@ -1032,7 +1146,11 @@ async function checkOnboarding() {
|
|
|
1032
1146
|
newStage = refreshed?.stage || null;
|
|
1033
1147
|
} catch { }
|
|
1034
1148
|
}
|
|
1035
|
-
const patch = buildCloudTaskTerminalPatch({
|
|
1149
|
+
const patch = buildCloudTaskTerminalPatch({
|
|
1150
|
+
decision: decisionPayload?.decision,
|
|
1151
|
+
newStage,
|
|
1152
|
+
previousStage: task?.stage,
|
|
1153
|
+
});
|
|
1036
1154
|
if (patch) {
|
|
1037
1155
|
await cloudRequest('PATCH', `/api/tasks/${taskId}`, patch);
|
|
1038
1156
|
}
|
|
@@ -1234,6 +1352,18 @@ async function checkOnboarding() {
|
|
|
1234
1352
|
'o': 'ollama', 'ol': 'ollama', 'ollama': 'ollama'
|
|
1235
1353
|
};
|
|
1236
1354
|
|
|
1355
|
+
function normalizeApprovalMode(value) {
|
|
1356
|
+
const normalized = String(value || '').trim().toLowerCase();
|
|
1357
|
+
if (!normalized) return null;
|
|
1358
|
+
if (normalized === 'auto' || normalized === 'auto_approve' || normalized === 'auto-approve' || normalized === 'automatic') {
|
|
1359
|
+
return 'auto';
|
|
1360
|
+
}
|
|
1361
|
+
if (normalized === 'manual' || normalized === 'human' || normalized === 'require_approval' || normalized === 'require-approval') {
|
|
1362
|
+
return 'manual';
|
|
1363
|
+
}
|
|
1364
|
+
return null;
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1237
1367
|
function collectFlagValues(args, flag) {
|
|
1238
1368
|
const values = [];
|
|
1239
1369
|
const consumedIndices = new Set();
|
|
@@ -1251,6 +1381,11 @@ async function checkOnboarding() {
|
|
|
1251
1381
|
return { values, consumedIndices };
|
|
1252
1382
|
}
|
|
1253
1383
|
|
|
1384
|
+
function printProjectFlagDeprecationWarning({ jsonMode = false } = {}) {
|
|
1385
|
+
if (jsonMode) return;
|
|
1386
|
+
console.log(`${c.yellow}Warning:${c.reset} --project is deprecated. Use --project-slug <slug> or --project-id <uuid>.`);
|
|
1387
|
+
}
|
|
1388
|
+
|
|
1254
1389
|
// ============================================================
|
|
1255
1390
|
// LOCAL-FIRST CLI COMMANDS
|
|
1256
1391
|
// These commands use ~/.agx/projects/ filesystem storage.
|
|
@@ -1274,7 +1409,7 @@ async function checkOnboarding() {
|
|
|
1274
1409
|
// Local-first command handlers live in lib/commands/local.js.
|
|
1275
1410
|
|
|
1276
1411
|
// ============================================================
|
|
1277
|
-
// agx new "<goal>" [--provider c|g|o|x] [--project <slug>] [--run] [--json]
|
|
1412
|
+
// agx new "<goal>" [--provider c|g|o|x] [--project-slug <slug>|--project-id <uuid>] [--approval manual|auto] [--run] [--json]
|
|
1278
1413
|
// Creates a new task via cloud API
|
|
1279
1414
|
// ============================================================
|
|
1280
1415
|
if (cmd === 'new') {
|
|
@@ -1308,10 +1443,25 @@ async function checkOnboarding() {
|
|
|
1308
1443
|
}
|
|
1309
1444
|
const modelArgProvided = model !== null;
|
|
1310
1445
|
let projectSlug = null;
|
|
1446
|
+
let projectId = null;
|
|
1447
|
+
let usedDeprecatedProjectFlag = false;
|
|
1311
1448
|
const projectIdx = args.findIndex(a => a === '--project');
|
|
1312
1449
|
if (projectIdx !== -1 && args[projectIdx + 1]) {
|
|
1313
1450
|
projectSlug = args[projectIdx + 1];
|
|
1314
|
-
|
|
1451
|
+
usedDeprecatedProjectFlag = true;
|
|
1452
|
+
}
|
|
1453
|
+
const projectSlugIdx = args.findIndex(a => a === '--project-slug');
|
|
1454
|
+
if (projectSlugIdx !== -1 && args[projectSlugIdx + 1]) {
|
|
1455
|
+
projectSlug = args[projectSlugIdx + 1];
|
|
1456
|
+
}
|
|
1457
|
+
const projectIdIdx = args.findIndex(a => a === '--project-id');
|
|
1458
|
+
if (projectIdIdx !== -1 && args[projectIdIdx + 1]) {
|
|
1459
|
+
projectId = args[projectIdIdx + 1];
|
|
1460
|
+
}
|
|
1461
|
+
if (usedDeprecatedProjectFlag) {
|
|
1462
|
+
printProjectFlagDeprecationWarning({ jsonMode });
|
|
1463
|
+
}
|
|
1464
|
+
if (!projectSlug && !projectId) {
|
|
1315
1465
|
// Auto-detect project from cwd (git repo folder name or current folder)
|
|
1316
1466
|
const cwd = process.cwd();
|
|
1317
1467
|
let dir = cwd;
|
|
@@ -1321,7 +1471,7 @@ async function checkOnboarding() {
|
|
|
1321
1471
|
try {
|
|
1322
1472
|
const stat = require('fs').statSync(gitPath);
|
|
1323
1473
|
if (stat.isDirectory() || stat.isFile()) {
|
|
1324
|
-
projectSlug =
|
|
1474
|
+
projectSlug = slugify(require('path').basename(dir));
|
|
1325
1475
|
foundGit = true;
|
|
1326
1476
|
break;
|
|
1327
1477
|
}
|
|
@@ -1329,7 +1479,7 @@ async function checkOnboarding() {
|
|
|
1329
1479
|
dir = require('path').dirname(dir);
|
|
1330
1480
|
}
|
|
1331
1481
|
if (!foundGit) {
|
|
1332
|
-
projectSlug =
|
|
1482
|
+
projectSlug = slugify(require('path').basename(cwd));
|
|
1333
1483
|
}
|
|
1334
1484
|
}
|
|
1335
1485
|
let ticketType = null;
|
|
@@ -1338,6 +1488,32 @@ async function checkOnboarding() {
|
|
|
1338
1488
|
const resolvedType = normalizeTicketType(args[ticketTypeIdx + 1]);
|
|
1339
1489
|
ticketType = resolvedType === 'spike' ? 'spike' : 'task';
|
|
1340
1490
|
}
|
|
1491
|
+
let approvalMode = 'manual';
|
|
1492
|
+
for (let i = 1; i < args.length; i += 1) {
|
|
1493
|
+
if (args[i] === '--auto-approve') {
|
|
1494
|
+
approvalMode = 'auto';
|
|
1495
|
+
continue;
|
|
1496
|
+
}
|
|
1497
|
+
if (args[i] === '--manual-approve') {
|
|
1498
|
+
approvalMode = 'manual';
|
|
1499
|
+
continue;
|
|
1500
|
+
}
|
|
1501
|
+
if (args[i] === '--approval' || args[i] === '--approval-mode') {
|
|
1502
|
+
const raw = args[i + 1];
|
|
1503
|
+
const resolved = normalizeApprovalMode(raw);
|
|
1504
|
+
if (!resolved) {
|
|
1505
|
+
if (jsonMode) {
|
|
1506
|
+
console.log(JSON.stringify({ error: 'invalid_approval_mode', value: raw || null }));
|
|
1507
|
+
} else {
|
|
1508
|
+
console.log(`${c.red}Invalid approval mode:${c.reset} ${raw || '(missing)'}`);
|
|
1509
|
+
console.log(`${c.dim}Valid: manual, auto${c.reset}`);
|
|
1510
|
+
}
|
|
1511
|
+
process.exit(1);
|
|
1512
|
+
}
|
|
1513
|
+
approvalMode = resolved;
|
|
1514
|
+
i += 1;
|
|
1515
|
+
}
|
|
1516
|
+
}
|
|
1341
1517
|
let templateName = null;
|
|
1342
1518
|
const templateIdx = args.findIndex(a => a === '--template');
|
|
1343
1519
|
if (templateIdx !== -1 && args[templateIdx + 1]) {
|
|
@@ -1354,9 +1530,15 @@ async function checkOnboarding() {
|
|
|
1354
1530
|
'--model',
|
|
1355
1531
|
'-m',
|
|
1356
1532
|
'--project',
|
|
1533
|
+
'--project-slug',
|
|
1534
|
+
'--project-id',
|
|
1357
1535
|
'--type',
|
|
1358
1536
|
'--ticket-type',
|
|
1359
1537
|
'--template',
|
|
1538
|
+
'--approval',
|
|
1539
|
+
'--approval-mode',
|
|
1540
|
+
'--auto-approve',
|
|
1541
|
+
'--manual-approve',
|
|
1360
1542
|
];
|
|
1361
1543
|
const goalParts = [];
|
|
1362
1544
|
for (let i = 1; i < args.length; i++) {
|
|
@@ -1367,8 +1549,11 @@ async function checkOnboarding() {
|
|
|
1367
1549
|
if (args[i] === '--provider' || args[i] === '-P') i++;
|
|
1368
1550
|
if (args[i] === '--model' || args[i] === '-m') i++;
|
|
1369
1551
|
if (args[i] === '--project') i++;
|
|
1552
|
+
if (args[i] === '--project-slug') i++;
|
|
1553
|
+
if (args[i] === '--project-id') i++;
|
|
1370
1554
|
if (args[i] === '--type' || args[i] === '--ticket-type') i++;
|
|
1371
1555
|
if (args[i] === '--template') i++;
|
|
1556
|
+
if (args[i] === '--approval' || args[i] === '--approval-mode') i++;
|
|
1372
1557
|
continue;
|
|
1373
1558
|
}
|
|
1374
1559
|
goalParts.push(args[i]);
|
|
@@ -1377,9 +1562,9 @@ async function checkOnboarding() {
|
|
|
1377
1562
|
|
|
1378
1563
|
if (!goalText) {
|
|
1379
1564
|
if (jsonMode) {
|
|
1380
|
-
console.log(JSON.stringify({ error: 'missing_goal', usage: 'agx new "<goal>" [--provider c] [--project <slug>] [--type spike|task] [--run] [--depends-on <task-id>]' }));
|
|
1565
|
+
console.log(JSON.stringify({ error: 'missing_goal', usage: 'agx new "<goal>" [--provider c] [--project-slug <slug>|--project-id <uuid>] [--type spike|task] [--approval manual|auto] [--run] [--depends-on <task-id>]' }));
|
|
1381
1566
|
} else {
|
|
1382
|
-
console.log(`${c.red}Usage:${c.reset} agx new "<goal>" [--provider c|g|o|x] [--project <slug>] [--type spike|task] [--run] [--depends-on <task-id>]`);
|
|
1567
|
+
console.log(`${c.red}Usage:${c.reset} agx new "<goal>" [--provider c|g|o|x] [--project-slug <slug>|--project-id <uuid>] [--type spike|task] [--approval manual|auto] [--run] [--depends-on <task-id>]`);
|
|
1383
1568
|
}
|
|
1384
1569
|
process.exit(1);
|
|
1385
1570
|
}
|
|
@@ -1412,14 +1597,14 @@ async function checkOnboarding() {
|
|
|
1412
1597
|
model = defaults.model;
|
|
1413
1598
|
|
|
1414
1599
|
try {
|
|
1415
|
-
|
|
1416
|
-
if (projectSlug) {
|
|
1600
|
+
if (projectSlug || projectId) {
|
|
1417
1601
|
try {
|
|
1418
|
-
const project = await resolveProjectByIdentifier(projectSlug);
|
|
1602
|
+
const project = await resolveProjectByIdentifier(projectId || projectSlug);
|
|
1419
1603
|
projectId = project?.id || null;
|
|
1604
|
+
projectSlug = project?.slug || projectSlug;
|
|
1420
1605
|
} catch (err) {
|
|
1421
|
-
const
|
|
1422
|
-
const projectErr = `Project ${
|
|
1606
|
+
const identifier = String(projectId || projectSlug || '').trim();
|
|
1607
|
+
const projectErr = `Project ${identifier} not found. Run agx project list to see available projects.`;
|
|
1423
1608
|
if (jsonMode) {
|
|
1424
1609
|
console.log(JSON.stringify({ error: projectErr }));
|
|
1425
1610
|
} else {
|
|
@@ -1430,7 +1615,7 @@ async function checkOnboarding() {
|
|
|
1430
1615
|
}
|
|
1431
1616
|
|
|
1432
1617
|
// Create task via cloud API
|
|
1433
|
-
const frontmatter = ['status: queued', 'stage:
|
|
1618
|
+
const frontmatter = ['status: queued', 'stage: intake'];
|
|
1434
1619
|
frontmatter.push(`engine: ${provider}`);
|
|
1435
1620
|
frontmatter.push(`provider: ${provider}`);
|
|
1436
1621
|
if (projectSlug) frontmatter.push(`project: ${projectSlug}`);
|
|
@@ -1438,6 +1623,10 @@ async function checkOnboarding() {
|
|
|
1438
1623
|
if (model) frontmatter.push(`model: ${model}`);
|
|
1439
1624
|
if (ticketType) frontmatter.push(`type: ${ticketType}`);
|
|
1440
1625
|
if (template) frontmatter.push(`template: ${template.slug}`);
|
|
1626
|
+
frontmatter.push(`approval_mode: ${approvalMode}`);
|
|
1627
|
+
if (dependsOnValues.length) {
|
|
1628
|
+
frontmatter.push(`depends_on: ${JSON.stringify(dependsOnValues)}`);
|
|
1629
|
+
}
|
|
1441
1630
|
|
|
1442
1631
|
let bodyContent = `# ${goalText}\n`;
|
|
1443
1632
|
if (template) {
|
|
@@ -1506,6 +1695,7 @@ async function checkOnboarding() {
|
|
|
1506
1695
|
args,
|
|
1507
1696
|
ctx: {
|
|
1508
1697
|
c,
|
|
1698
|
+
cloudRequest,
|
|
1509
1699
|
loadCloudConfig,
|
|
1510
1700
|
runCloudDaemonLoop,
|
|
1511
1701
|
startDaemon,
|
|
@@ -1609,7 +1799,13 @@ async function checkOnboarding() {
|
|
|
1609
1799
|
if (handledWorkflow) return true;
|
|
1610
1800
|
}
|
|
1611
1801
|
|
|
1612
|
-
|
|
1802
|
+
{
|
|
1803
|
+
const { maybeHandleChatCommand } = require('../commands/chat');
|
|
1804
|
+
const handledChat = await maybeHandleChatCommand({ cmd, args, ctx: { c } });
|
|
1805
|
+
if (handledChat) return true;
|
|
1806
|
+
}
|
|
1807
|
+
|
|
1808
|
+
// agx new "<task description>" [--project <name>] [--priority <n>] [--engine <name>] [--approval manual|auto]
|
|
1613
1809
|
if (cmd === 'new' || cmd === 'push') {
|
|
1614
1810
|
const config = loadCloudConfig();
|
|
1615
1811
|
if (!config) {
|
|
@@ -1620,13 +1816,15 @@ async function checkOnboarding() {
|
|
|
1620
1816
|
const { values: dependsOnValues, consumedIndices: dependsOnSkipIndices } = collectFlagValues(args, '--depends-on');
|
|
1621
1817
|
|
|
1622
1818
|
// Parse flags
|
|
1623
|
-
let projectSlug = null, projectId = null, priority = null, engine = null, provider = null, model = null, ticketType = null, createdBy = 'user';
|
|
1819
|
+
let projectSlug = null, projectId = null, priority = null, engine = null, provider = null, model = null, ticketType = null, createdBy = 'user', approvalMode = 'manual';
|
|
1820
|
+
let usedDeprecatedProjectFlag = false;
|
|
1624
1821
|
const taskParts = [];
|
|
1625
1822
|
for (let i = 1; i < args.length; i++) {
|
|
1626
1823
|
if (dependsOnSkipIndices.has(i)) {
|
|
1627
1824
|
continue;
|
|
1628
1825
|
}
|
|
1629
1826
|
if (args[i] === '--project' || args[i] === '-p') {
|
|
1827
|
+
usedDeprecatedProjectFlag = true;
|
|
1630
1828
|
projectSlug = args[++i];
|
|
1631
1829
|
} else if (args[i] === '--project-slug') {
|
|
1632
1830
|
projectSlug = args[++i];
|
|
@@ -1642,6 +1840,19 @@ async function checkOnboarding() {
|
|
|
1642
1840
|
model = args[++i];
|
|
1643
1841
|
} else if (args[i] === '--type' || args[i] === '--ticket-type') {
|
|
1644
1842
|
ticketType = normalizeTicketType(args[++i]);
|
|
1843
|
+
} else if (args[i] === '--approval' || args[i] === '--approval-mode') {
|
|
1844
|
+
const raw = args[++i];
|
|
1845
|
+
const resolved = normalizeApprovalMode(raw);
|
|
1846
|
+
if (!resolved) {
|
|
1847
|
+
console.log(`${c.red}Invalid approval mode:${c.reset} ${raw || '(missing)'}`);
|
|
1848
|
+
console.log(`${c.dim}Valid: manual, auto${c.reset}`);
|
|
1849
|
+
process.exit(1);
|
|
1850
|
+
}
|
|
1851
|
+
approvalMode = resolved;
|
|
1852
|
+
} else if (args[i] === '--auto-approve') {
|
|
1853
|
+
approvalMode = 'auto';
|
|
1854
|
+
} else if (args[i] === '--manual-approve') {
|
|
1855
|
+
approvalMode = 'manual';
|
|
1645
1856
|
} else if (args[i] === '--ai') {
|
|
1646
1857
|
createdBy = 'ai';
|
|
1647
1858
|
} else {
|
|
@@ -1651,23 +1862,28 @@ async function checkOnboarding() {
|
|
|
1651
1862
|
|
|
1652
1863
|
const taskDesc = taskParts.join(' ');
|
|
1653
1864
|
if (!taskDesc) {
|
|
1654
|
-
console.log(`${c.yellow}Usage:${c.reset} agx new "<task>" [--project <slug>] [--project-slug <slug>] [--project-id <uuid>] [--priority n] [--engine claude|gemini|ollama|codex] [--type spike|task] [--depends-on <task-id>]`);
|
|
1865
|
+
console.log(`${c.yellow}Usage:${c.reset} agx new "<task>" [--project <slug>] [--project-slug <slug>] [--project-id <uuid>] [--priority n] [--engine claude|gemini|ollama|codex] [--type spike|task] [--approval manual|auto] [--depends-on <task-id>]`);
|
|
1655
1866
|
process.exit(1);
|
|
1656
1867
|
}
|
|
1657
1868
|
|
|
1658
|
-
if (
|
|
1869
|
+
if (usedDeprecatedProjectFlag) {
|
|
1870
|
+
printProjectFlagDeprecationWarning();
|
|
1871
|
+
}
|
|
1872
|
+
|
|
1873
|
+
if (projectSlug || projectId) {
|
|
1659
1874
|
try {
|
|
1660
|
-
const project = await resolveProjectByIdentifier(projectSlug);
|
|
1875
|
+
const project = await resolveProjectByIdentifier(projectId || projectSlug);
|
|
1661
1876
|
projectId = project?.id || projectId;
|
|
1877
|
+
projectSlug = project?.slug || projectSlug;
|
|
1662
1878
|
} catch (err) {
|
|
1663
|
-
const
|
|
1664
|
-
console.log(`${c.red}Project ${
|
|
1879
|
+
const identifier = String(projectId || projectSlug || '').trim();
|
|
1880
|
+
console.log(`${c.red}Project ${identifier} not found. Run agx project list to see available projects.${c.reset}`);
|
|
1665
1881
|
process.exit(1);
|
|
1666
1882
|
}
|
|
1667
1883
|
}
|
|
1668
1884
|
|
|
1669
1885
|
// Build markdown content
|
|
1670
|
-
const frontmatter = ['status: queued', 'stage:
|
|
1886
|
+
const frontmatter = ['status: queued', 'stage: intake'];
|
|
1671
1887
|
if (projectSlug) frontmatter.push(`project: ${projectSlug}`);
|
|
1672
1888
|
if (projectId) frontmatter.push(`project_id: ${projectId}`);
|
|
1673
1889
|
if (priority) frontmatter.push(`priority: ${priority}`);
|
|
@@ -1677,6 +1893,10 @@ async function checkOnboarding() {
|
|
|
1677
1893
|
if (ticketType) frontmatter.push(`type: ${ticketType}`);
|
|
1678
1894
|
if (createdBy !== 'user') frontmatter.push(`created_by: ${createdBy}`);
|
|
1679
1895
|
if (!engine && provider) frontmatter.push(`engine: ${provider}`);
|
|
1896
|
+
frontmatter.push(`approval_mode: ${approvalMode}`);
|
|
1897
|
+
if (dependsOnValues.length) {
|
|
1898
|
+
frontmatter.push(`depends_on: ${JSON.stringify(dependsOnValues)}`);
|
|
1899
|
+
}
|
|
1680
1900
|
|
|
1681
1901
|
const content = `---\n${frontmatter.join('\n')}\n---\n\n# ${taskDesc}\n`;
|
|
1682
1902
|
|
|
@@ -1691,7 +1911,7 @@ async function checkOnboarding() {
|
|
|
1691
1911
|
if (task.slug) {
|
|
1692
1912
|
console.log(` Slug: ${task.slug}`);
|
|
1693
1913
|
}
|
|
1694
|
-
console.log(` Stage: ${task.stage || '
|
|
1914
|
+
console.log(` Stage: ${task.stage || 'intake'}`);
|
|
1695
1915
|
if (projectSlug) console.log(` Project: ${projectSlug}`);
|
|
1696
1916
|
if (projectId) console.log(` Project ID: ${projectId}`);
|
|
1697
1917
|
console.log(`${c.dim}Use: agx run ${task.slug || task.id}${c.reset}`);
|
|
@@ -1801,6 +2021,213 @@ async function checkOnboarding() {
|
|
|
1801
2021
|
process.exit(0);
|
|
1802
2022
|
}
|
|
1803
2023
|
|
|
2024
|
+
// agx resume [<project>:]<task> [--from <checkpoint-id>] [--git-restore] [--dry-run]
|
|
2025
|
+
// Resume execution from last checkpoint (or specified checkpoint)
|
|
2026
|
+
if (cmd === 'resume') {
|
|
2027
|
+
const { getHead, readCheckpointsFile } = require('../storage/checkpoints');
|
|
2028
|
+
const { restoreGitState } = require('../storage/git');
|
|
2029
|
+
const { buildResumePrompt } = require('../prompts/resume');
|
|
2030
|
+
|
|
2031
|
+
let taskIdentifier = null;
|
|
2032
|
+
let fromCheckpointId = null;
|
|
2033
|
+
let gitRestore = false;
|
|
2034
|
+
let dryRun = false;
|
|
2035
|
+
|
|
2036
|
+
for (let i = 1; i < args.length; i++) {
|
|
2037
|
+
if (args[i] === '--from' || args[i] === '-f') {
|
|
2038
|
+
fromCheckpointId = args[++i];
|
|
2039
|
+
} else if (args[i] === '--git-restore' || args[i] === '--restore-git') {
|
|
2040
|
+
gitRestore = true;
|
|
2041
|
+
} else if (args[i] === '--dry-run' || args[i] === '-n') {
|
|
2042
|
+
dryRun = true;
|
|
2043
|
+
} else if (!args[i].startsWith('-')) {
|
|
2044
|
+
taskIdentifier = args[i];
|
|
2045
|
+
}
|
|
2046
|
+
}
|
|
2047
|
+
|
|
2048
|
+
if (!taskIdentifier) {
|
|
2049
|
+
console.log(`${c.yellow}Usage:${c.reset} agx resume [<project>:]<task>`);
|
|
2050
|
+
console.log(`${c.dim}Options:${c.reset}`);
|
|
2051
|
+
console.log(` --from <id> Resume from specific checkpoint (default: latest)`);
|
|
2052
|
+
console.log(` --git-restore Restore git state from checkpoint`);
|
|
2053
|
+
console.log(` --dry-run Show what would be resumed without executing`);
|
|
2054
|
+
process.exit(1);
|
|
2055
|
+
}
|
|
2056
|
+
|
|
2057
|
+
// Parse project:task or just task
|
|
2058
|
+
let projectSlug = null;
|
|
2059
|
+
let taskSlug = null;
|
|
2060
|
+
if (taskIdentifier.includes(':')) {
|
|
2061
|
+
[projectSlug, taskSlug] = taskIdentifier.split(':');
|
|
2062
|
+
} else {
|
|
2063
|
+
// Try to infer project from current directory or use default
|
|
2064
|
+
taskSlug = taskIdentifier;
|
|
2065
|
+
// Look for most recent project with this task
|
|
2066
|
+
const projectsDir = path.join(os.homedir(), '.agx', 'projects');
|
|
2067
|
+
if (fs.existsSync(projectsDir)) {
|
|
2068
|
+
const projects = fs.readdirSync(projectsDir).filter(p => {
|
|
2069
|
+
const taskDir = path.join(projectsDir, p, 'tasks', taskSlug);
|
|
2070
|
+
return fs.existsSync(taskDir);
|
|
2071
|
+
});
|
|
2072
|
+
if (projects.length === 1) {
|
|
2073
|
+
projectSlug = projects[0];
|
|
2074
|
+
} else if (projects.length > 1) {
|
|
2075
|
+
console.log(`${c.yellow}Multiple projects contain task '${taskSlug}':${c.reset}`);
|
|
2076
|
+
projects.forEach(p => console.log(` - ${p}:${taskSlug}`));
|
|
2077
|
+
console.log(`${c.dim}Specify project: agx resume <project>:${taskSlug}${c.reset}`);
|
|
2078
|
+
process.exit(1);
|
|
2079
|
+
}
|
|
2080
|
+
}
|
|
2081
|
+
}
|
|
2082
|
+
|
|
2083
|
+
if (!projectSlug || !taskSlug) {
|
|
2084
|
+
console.log(`${c.red}✗${c.reset} Could not resolve task '${taskIdentifier}'`);
|
|
2085
|
+
console.log(`${c.dim}Use format: agx resume <project>:<task>${c.reset}`);
|
|
2086
|
+
process.exit(1);
|
|
2087
|
+
}
|
|
2088
|
+
|
|
2089
|
+
try {
|
|
2090
|
+
// Load checkpoint
|
|
2091
|
+
let checkpoint = null;
|
|
2092
|
+
if (fromCheckpointId) {
|
|
2093
|
+
const checkpointsData = await readCheckpointsFile(projectSlug, taskSlug);
|
|
2094
|
+
checkpoint = checkpointsData.history.find(cp => cp.id === fromCheckpointId);
|
|
2095
|
+
if (!checkpoint) {
|
|
2096
|
+
console.log(`${c.red}✗${c.reset} Checkpoint '${fromCheckpointId}' not found`);
|
|
2097
|
+
const available = checkpointsData.history.slice(0, 5).map(cp => cp.id).join(', ');
|
|
2098
|
+
if (available) {
|
|
2099
|
+
console.log(`${c.dim}Available: ${available}${c.reset}`);
|
|
2100
|
+
}
|
|
2101
|
+
process.exit(1);
|
|
2102
|
+
}
|
|
2103
|
+
} else {
|
|
2104
|
+
checkpoint = await getHead(projectSlug, taskSlug);
|
|
2105
|
+
}
|
|
2106
|
+
|
|
2107
|
+
if (!checkpoint) {
|
|
2108
|
+
console.log(`${c.red}✗${c.reset} No checkpoints found for ${projectSlug}:${taskSlug}`);
|
|
2109
|
+
console.log(`${c.dim}Task must have emitted [checkpoint: ...] markers to resume${c.reset}`);
|
|
2110
|
+
process.exit(1);
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2113
|
+
// Display checkpoint info
|
|
2114
|
+
console.log(`${c.bold}Resume from Checkpoint${c.reset}\n`);
|
|
2115
|
+
console.log(` ${c.dim}ID:${c.reset} ${checkpoint.id}`);
|
|
2116
|
+
console.log(` ${c.dim}Created:${c.reset} ${checkpoint.createdAt || 'unknown'}`);
|
|
2117
|
+
if (checkpoint.label) {
|
|
2118
|
+
console.log(` ${c.dim}Label:${c.reset} ${checkpoint.label}`);
|
|
2119
|
+
}
|
|
2120
|
+
if (checkpoint.iteration !== undefined) {
|
|
2121
|
+
console.log(` ${c.dim}Iter:${c.reset} ${checkpoint.iteration}`);
|
|
2122
|
+
}
|
|
2123
|
+
|
|
2124
|
+
// Show git state if present
|
|
2125
|
+
if (checkpoint.git) {
|
|
2126
|
+
const { sha, branch, dirty, patchFile } = checkpoint.git;
|
|
2127
|
+
console.log(`\n ${c.dim}Git:${c.reset} ${branch || 'detached'} @ ${(sha || '').slice(0, 7)}${dirty ? ' (dirty)' : ''}`);
|
|
2128
|
+
if (patchFile) {
|
|
2129
|
+
console.log(` ${c.dim}Patch:${c.reset} ${patchFile}`);
|
|
2130
|
+
}
|
|
2131
|
+
}
|
|
2132
|
+
|
|
2133
|
+
// Build resume prompt
|
|
2134
|
+
const resumePrompt = buildResumePrompt(checkpoint);
|
|
2135
|
+
console.log(`\n${c.bold}Resume Prompt${c.reset} (${resumePrompt.length} chars)\n`);
|
|
2136
|
+
console.log(c.dim + '─'.repeat(60) + c.reset);
|
|
2137
|
+
console.log(resumePrompt.slice(0, 1500) + (resumePrompt.length > 1500 ? '\n...(truncated)' : ''));
|
|
2138
|
+
console.log(c.dim + '─'.repeat(60) + c.reset);
|
|
2139
|
+
|
|
2140
|
+
if (dryRun) {
|
|
2141
|
+
console.log(`\n${c.yellow}Dry run - no execution${c.reset}`);
|
|
2142
|
+
process.exit(0);
|
|
2143
|
+
}
|
|
2144
|
+
|
|
2145
|
+
// Optionally restore git state
|
|
2146
|
+
if (gitRestore && checkpoint.git) {
|
|
2147
|
+
console.log(`\n${c.dim}Restoring git state...${c.reset}`);
|
|
2148
|
+
try {
|
|
2149
|
+
const cwd = process.cwd();
|
|
2150
|
+
restoreGitState(checkpoint.git, cwd, { force: false });
|
|
2151
|
+
console.log(`${c.green}✓${c.reset} Git state restored`);
|
|
2152
|
+
} catch (err) {
|
|
2153
|
+
console.log(`${c.yellow}⚠${c.reset} Git restore failed: ${err.message}`);
|
|
2154
|
+
console.log(`${c.dim}Continuing without git restore. Use --force if working tree has changes.${c.reset}`);
|
|
2155
|
+
}
|
|
2156
|
+
}
|
|
2157
|
+
|
|
2158
|
+
// Continue execution with resume prompt
|
|
2159
|
+
if (!dryRun) {
|
|
2160
|
+
// Load task.json to get cloud task ID
|
|
2161
|
+
const storage = require('../storage');
|
|
2162
|
+
const taskJsonPath = path.join(storage.projectRoot(projectSlug), taskSlug, 'task.json');
|
|
2163
|
+
let cloudTaskId = null;
|
|
2164
|
+
|
|
2165
|
+
if (fs.existsSync(taskJsonPath)) {
|
|
2166
|
+
try {
|
|
2167
|
+
const taskData = JSON.parse(fs.readFileSync(taskJsonPath, 'utf8'));
|
|
2168
|
+
cloudTaskId = taskData?.cloud?.task_id;
|
|
2169
|
+
} catch {
|
|
2170
|
+
// Ignore parse errors
|
|
2171
|
+
}
|
|
2172
|
+
}
|
|
2173
|
+
|
|
2174
|
+
if (!cloudTaskId) {
|
|
2175
|
+
console.log(`${c.yellow}⚠${c.reset} No cloud task ID found. Running locally.`);
|
|
2176
|
+
// For now, just use the resume prompt with the default provider
|
|
2177
|
+
const provider = 'claude';
|
|
2178
|
+
console.log(`\n${c.dim}Executing with ${provider}...${c.reset}`);
|
|
2179
|
+
|
|
2180
|
+
try {
|
|
2181
|
+
const { executeTask } = require('../executor');
|
|
2182
|
+
await executeTask({
|
|
2183
|
+
taskId: `${projectSlug}:${taskSlug}`,
|
|
2184
|
+
title: checkpoint.objective || 'Resume task',
|
|
2185
|
+
content: resumePrompt,
|
|
2186
|
+
stage: 'execute',
|
|
2187
|
+
engine: provider,
|
|
2188
|
+
projectSlug,
|
|
2189
|
+
taskSlug,
|
|
2190
|
+
iteration: (checkpoint.iteration || 0) + 1,
|
|
2191
|
+
objective: checkpoint.objective,
|
|
2192
|
+
constraints: checkpoint.constraints,
|
|
2193
|
+
dontRepeat: checkpoint.dontRepeat,
|
|
2194
|
+
verifyFailures: checkpoint.verifyFailures || 0,
|
|
2195
|
+
plan: checkpoint.plan,
|
|
2196
|
+
criteria: checkpoint.criteria,
|
|
2197
|
+
onLog: (msg) => console.log(msg),
|
|
2198
|
+
onProgress: () => {},
|
|
2199
|
+
});
|
|
2200
|
+
console.log(`${c.green}✓${c.reset} Resume execution completed`);
|
|
2201
|
+
} catch (err) {
|
|
2202
|
+
console.log(`${c.red}✗${c.reset} Execution failed: ${err.message}`);
|
|
2203
|
+
process.exit(1);
|
|
2204
|
+
}
|
|
2205
|
+
} else {
|
|
2206
|
+
// Use cloud task flow
|
|
2207
|
+
console.log(`\n${c.dim}Resuming cloud task ${cloudTaskId.slice(0, 8)}...${c.reset}`);
|
|
2208
|
+
try {
|
|
2209
|
+
const exitCode = await runTaskInline(cloudTaskId, {
|
|
2210
|
+
resumePrompt,
|
|
2211
|
+
fromStage: 'execution',
|
|
2212
|
+
});
|
|
2213
|
+
process.exit(exitCode);
|
|
2214
|
+
} catch (err) {
|
|
2215
|
+
console.log(`${c.red}✗${c.reset} Resume failed: ${err.message}`);
|
|
2216
|
+
process.exit(1);
|
|
2217
|
+
}
|
|
2218
|
+
}
|
|
2219
|
+
}
|
|
2220
|
+
|
|
2221
|
+
process.exit(0);
|
|
2222
|
+
} catch (err) {
|
|
2223
|
+
console.log(`${c.red}✗${c.reset} Resume failed: ${err.message}`);
|
|
2224
|
+
if (process.env.DEBUG) {
|
|
2225
|
+
console.error(err);
|
|
2226
|
+
}
|
|
2227
|
+
process.exit(1);
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
|
|
1804
2231
|
// agx retry <taskId> [--task <id>] [--swarm] [--async]
|
|
1805
2232
|
if (cmd === 'retry' || (cmd === 'task' && args[1] === 'retry')) {
|
|
1806
2233
|
const runArgs = cmd === 'task' ? args.slice(1) : args;
|
|
@@ -1820,7 +2247,7 @@ async function checkOnboarding() {
|
|
|
1820
2247
|
} else if (runArgs[i] === '--from') {
|
|
1821
2248
|
const candidate = runArgs[++i];
|
|
1822
2249
|
if (!candidate || candidate.startsWith('-')) {
|
|
1823
|
-
console.log(`${c.red}✗${c.reset} --from requires a stage name (
|
|
2250
|
+
console.log(`${c.red}✗${c.reset} --from requires a stage name (intake/planning/execution/verification)`);
|
|
1824
2251
|
process.exit(1);
|
|
1825
2252
|
}
|
|
1826
2253
|
fromStageArg = candidate;
|
|
@@ -1834,7 +2261,7 @@ async function checkOnboarding() {
|
|
|
1834
2261
|
logExecutionFlow('retry command', 'output', 'missing task id');
|
|
1835
2262
|
console.log(`${c.yellow}Usage:${c.reset} agx retry <taskId> [--from <stage>] [--task <id>] [--swarm] [--async]`);
|
|
1836
2263
|
console.log(`${c.dim} or:${c.reset} agx task retry <taskId> [--from <stage>] [--task <id>] [--swarm] [--async]`);
|
|
1837
|
-
console.log(`${c.dim}--from: Restart from
|
|
2264
|
+
console.log(`${c.dim}--from: Restart from intake/planning/execution/verification${c.reset}`);
|
|
1838
2265
|
console.log(`${c.dim}--async: Reset status and let daemon handle (non-blocking)${c.reset}`);
|
|
1839
2266
|
process.exit(1);
|
|
1840
2267
|
}
|
|
@@ -1940,7 +2367,7 @@ async function checkOnboarding() {
|
|
|
1940
2367
|
: (task.model || '');
|
|
1941
2368
|
const modelSuffix = displayModel ? `/${displayModel}` : '';
|
|
1942
2369
|
const swarmSuffix = task.swarm ? ' (swarm)' : '';
|
|
1943
|
-
console.log(` ${c.dim}${task.stage || '
|
|
2370
|
+
console.log(` ${c.dim}${task.stage || 'intake'} · ${displayProvider}${modelSuffix}${swarmSuffix} · ${task.id.slice(0, 8)}${c.reset}`);
|
|
1944
2371
|
idx++;
|
|
1945
2372
|
}
|
|
1946
2373
|
} catch (err) {
|
|
@@ -2015,7 +2442,11 @@ async function checkOnboarding() {
|
|
|
2015
2442
|
|
|
2016
2443
|
// If this completion transitioned the task into a terminal stage, align `status` too.
|
|
2017
2444
|
try {
|
|
2018
|
-
const patch = buildCloudTaskTerminalPatch({
|
|
2445
|
+
const patch = buildCloudTaskTerminalPatch({
|
|
2446
|
+
decision: 'done',
|
|
2447
|
+
newStage: stageAfter,
|
|
2448
|
+
previousStage: existingStage,
|
|
2449
|
+
});
|
|
2019
2450
|
if (patch) {
|
|
2020
2451
|
await cloudRequest('PATCH', `/api/tasks/${resolvedTaskId}`, patch);
|
|
2021
2452
|
}
|
|
@@ -2068,7 +2499,7 @@ async function checkOnboarding() {
|
|
|
2068
2499
|
} else if (data.type === 'log') {
|
|
2069
2500
|
console.log(`${c.blue}[${timestamp}] LOG${c.reset} ${data.log?.content || '(empty)'}`);
|
|
2070
2501
|
} else if (data.type === 'INSERT') {
|
|
2071
|
-
console.log(`${c.green}[${timestamp}] NEW${c.reset} ${data.task?.title || 'Untitled'} → ${data.task?.stage || '
|
|
2502
|
+
console.log(`${c.green}[${timestamp}] NEW${c.reset} ${data.task?.title || 'Untitled'} → ${data.task?.stage || 'intake'}`);
|
|
2072
2503
|
} else if (data.type === 'UPDATE') {
|
|
2073
2504
|
console.log(`${c.yellow}[${timestamp}] UPD${c.reset} ${data.task?.title || 'Untitled'} → ${data.task?.stage || '?'} (${data.task?.status || '?'})`);
|
|
2074
2505
|
} else if (data.type === 'DELETE') {
|
|
@@ -2500,6 +2931,209 @@ async function checkOnboarding() {
|
|
|
2500
2931
|
process.exit(0);
|
|
2501
2932
|
}
|
|
2502
2933
|
|
|
2934
|
+
// agx task stop <taskId> (Docker-style namespace)
|
|
2935
|
+
// agx deps <taskId|slug|#> [--depends-on <taskId|slug|#> ...] [--clear]
|
|
2936
|
+
// agx task deps <taskId|slug|#> [--depends-on <taskId|slug|#> ...] [--clear]
|
|
2937
|
+
if (cmd === 'deps' || (cmd === 'task' && args[1] === 'deps')) {
|
|
2938
|
+
const config = loadCloudConfig();
|
|
2939
|
+
if (!config) {
|
|
2940
|
+
console.log(`${c.red}Cloud API URL not configured.${c.reset} Set AGX_CLOUD_URL (default is http://localhost:41741)`);
|
|
2941
|
+
process.exit(1);
|
|
2942
|
+
}
|
|
2943
|
+
|
|
2944
|
+
const depArgs = cmd === 'task' ? args.slice(2) : args.slice(1);
|
|
2945
|
+
let rawTaskId = null;
|
|
2946
|
+
let clearDependencies = false;
|
|
2947
|
+
const dependsOnInputs = [];
|
|
2948
|
+
|
|
2949
|
+
for (let i = 0; i < depArgs.length; i += 1) {
|
|
2950
|
+
const token = depArgs[i];
|
|
2951
|
+
if (token === '--task' || token === '-t') {
|
|
2952
|
+
rawTaskId = depArgs[i + 1] || null;
|
|
2953
|
+
i += 1;
|
|
2954
|
+
continue;
|
|
2955
|
+
}
|
|
2956
|
+
if (token === '--depends-on') {
|
|
2957
|
+
const depValue = depArgs[i + 1];
|
|
2958
|
+
if (!depValue || depValue.startsWith('-')) {
|
|
2959
|
+
console.log(`${c.yellow}Usage:${c.reset} agx deps <taskId|slug|#> [--depends-on <taskId|slug|#> ...] [--clear]`);
|
|
2960
|
+
process.exit(1);
|
|
2961
|
+
}
|
|
2962
|
+
dependsOnInputs.push(depValue);
|
|
2963
|
+
i += 1;
|
|
2964
|
+
continue;
|
|
2965
|
+
}
|
|
2966
|
+
if (token === '--clear') {
|
|
2967
|
+
clearDependencies = true;
|
|
2968
|
+
continue;
|
|
2969
|
+
}
|
|
2970
|
+
if (token.startsWith('-')) {
|
|
2971
|
+
console.log(`${c.red}✗${c.reset} Unknown flag: ${token}`);
|
|
2972
|
+
console.log(`${c.yellow}Usage:${c.reset} agx deps <taskId|slug|#> [--depends-on <taskId|slug|#> ...] [--clear]`);
|
|
2973
|
+
process.exit(1);
|
|
2974
|
+
}
|
|
2975
|
+
if (!rawTaskId) {
|
|
2976
|
+
rawTaskId = token;
|
|
2977
|
+
continue;
|
|
2978
|
+
}
|
|
2979
|
+
console.log(`${c.red}✗${c.reset} Unexpected argument: ${token}`);
|
|
2980
|
+
console.log(`${c.yellow}Usage:${c.reset} agx deps <taskId|slug|#> [--depends-on <taskId|slug|#> ...] [--clear]`);
|
|
2981
|
+
process.exit(1);
|
|
2982
|
+
}
|
|
2983
|
+
|
|
2984
|
+
if (!rawTaskId) {
|
|
2985
|
+
console.log(`${c.yellow}Usage:${c.reset} agx deps <taskId|slug|#> [--depends-on <taskId|slug|#> ...] [--clear]`);
|
|
2986
|
+
console.log(`${c.dim} or:${c.reset} agx task deps <taskId|slug|#> [--depends-on <taskId|slug|#> ...] [--clear]`);
|
|
2987
|
+
console.log(`${c.dim}Examples:${c.reset}`);
|
|
2988
|
+
console.log(` ${c.cyan}agx deps task-c${c.reset}`);
|
|
2989
|
+
console.log(` ${c.cyan}agx deps task-c --depends-on task-a --depends-on task-b${c.reset}`);
|
|
2990
|
+
console.log(` ${c.cyan}agx deps task-c --clear${c.reset}`);
|
|
2991
|
+
process.exit(1);
|
|
2992
|
+
}
|
|
2993
|
+
|
|
2994
|
+
if (clearDependencies && dependsOnInputs.length > 0) {
|
|
2995
|
+
console.log(`${c.red}✗${c.reset} Cannot use --clear with --depends-on in the same command.`);
|
|
2996
|
+
process.exit(1);
|
|
2997
|
+
}
|
|
2998
|
+
|
|
2999
|
+
try {
|
|
3000
|
+
const resolvedTaskId = await resolveTaskId(rawTaskId);
|
|
3001
|
+
const isUpdate = clearDependencies || dependsOnInputs.length > 0;
|
|
3002
|
+
|
|
3003
|
+
const formatTaskRef = (entry) => {
|
|
3004
|
+
const slug = String(entry?.slug || '').trim();
|
|
3005
|
+
if (slug) return slug;
|
|
3006
|
+
const title = String(entry?.title || '').trim();
|
|
3007
|
+
if (title) return title;
|
|
3008
|
+
const id = String(entry?.id || '').trim();
|
|
3009
|
+
return id || '(unknown)';
|
|
3010
|
+
};
|
|
3011
|
+
|
|
3012
|
+
const readDependencyGraph = async () => {
|
|
3013
|
+
try {
|
|
3014
|
+
return await cloudRequest('GET', `/api/tasks/${resolvedTaskId}/dependencies`);
|
|
3015
|
+
} catch {
|
|
3016
|
+
return {
|
|
3017
|
+
depends_on_tasks: [],
|
|
3018
|
+
dependent_tasks: [],
|
|
3019
|
+
};
|
|
3020
|
+
}
|
|
3021
|
+
};
|
|
3022
|
+
|
|
3023
|
+
if (!isUpdate) {
|
|
3024
|
+
const { task } = await cloudRequest('GET', `/api/tasks/${resolvedTaskId}`);
|
|
3025
|
+
const depGraph = await readDependencyGraph();
|
|
3026
|
+
const dependsOn = Array.isArray(depGraph?.depends_on_tasks) ? depGraph.depends_on_tasks : [];
|
|
3027
|
+
console.log(`${c.bold}Task Dependencies${c.reset}`);
|
|
3028
|
+
console.log(` Task: ${task?.slug || task?.id || resolvedTaskId}`);
|
|
3029
|
+
if (!dependsOn.length) {
|
|
3030
|
+
console.log(` Depends on: ${c.dim}(none)${c.reset}`);
|
|
3031
|
+
} else {
|
|
3032
|
+
console.log(` Depends on (${dependsOn.length}):`);
|
|
3033
|
+
for (const dep of dependsOn) {
|
|
3034
|
+
const suffix = dep?.status ? ` (${dep.status})` : '';
|
|
3035
|
+
console.log(` - ${formatTaskRef(dep)}${suffix}`);
|
|
3036
|
+
}
|
|
3037
|
+
}
|
|
3038
|
+
|
|
3039
|
+
const dependents = Array.isArray(depGraph?.dependent_tasks) ? depGraph.dependent_tasks : [];
|
|
3040
|
+
if (!dependents.length) {
|
|
3041
|
+
console.log(` Dependents: ${c.dim}(none)${c.reset}`);
|
|
3042
|
+
} else {
|
|
3043
|
+
console.log(` Dependents (${dependents.length}):`);
|
|
3044
|
+
for (const dependent of dependents) {
|
|
3045
|
+
const suffix = dependent?.status ? ` (${dependent.status})` : '';
|
|
3046
|
+
console.log(` - ${formatTaskRef(dependent)}${suffix}`);
|
|
3047
|
+
}
|
|
3048
|
+
}
|
|
3049
|
+
process.exit(0);
|
|
3050
|
+
}
|
|
3051
|
+
|
|
3052
|
+
let resolvedDependsOn = [];
|
|
3053
|
+
if (!clearDependencies) {
|
|
3054
|
+
const seen = new Set();
|
|
3055
|
+
for (const rawDep of dependsOnInputs) {
|
|
3056
|
+
const resolvedDepId = await resolveTaskId(rawDep);
|
|
3057
|
+
if (resolvedDepId === resolvedTaskId) {
|
|
3058
|
+
throw new Error('Task cannot depend on itself.');
|
|
3059
|
+
}
|
|
3060
|
+
if (!seen.has(resolvedDepId)) {
|
|
3061
|
+
seen.add(resolvedDepId);
|
|
3062
|
+
resolvedDependsOn.push(resolvedDepId);
|
|
3063
|
+
}
|
|
3064
|
+
}
|
|
3065
|
+
}
|
|
3066
|
+
|
|
3067
|
+
const desiredDependsOn = clearDependencies ? [] : resolvedDependsOn;
|
|
3068
|
+
const payload = { depends_on: desiredDependsOn };
|
|
3069
|
+
|
|
3070
|
+
const setDependsOnInFrontmatter = (rawContent, nextDependsOn) => {
|
|
3071
|
+
const serialized = JSON.stringify(nextDependsOn);
|
|
3072
|
+
const match = String(rawContent || '').match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);
|
|
3073
|
+
if (match) {
|
|
3074
|
+
const frontmatterLines = match[1]
|
|
3075
|
+
.split('\n')
|
|
3076
|
+
.filter((line) => !line.trim().toLowerCase().startsWith('depends_on:'));
|
|
3077
|
+
frontmatterLines.push(`depends_on: ${serialized}`);
|
|
3078
|
+
return `---\n${frontmatterLines.join('\n')}\n---\n${match[2] || ''}`;
|
|
3079
|
+
}
|
|
3080
|
+
return `---\ndepends_on: ${serialized}\n---\n\n${rawContent || ''}`;
|
|
3081
|
+
};
|
|
3082
|
+
|
|
3083
|
+
const updateDependenciesViaPutFallback = async () => {
|
|
3084
|
+
const { task: latestTask } = await cloudRequest('GET', `/api/tasks/${resolvedTaskId}`);
|
|
3085
|
+
const rawContent = typeof latestTask?.content === 'string' ? latestTask.content : '';
|
|
3086
|
+
if (!rawContent) {
|
|
3087
|
+
throw new Error('Task content unavailable for dependency update fallback.');
|
|
3088
|
+
}
|
|
3089
|
+
const nextContent = setDependsOnInFrontmatter(rawContent, desiredDependsOn);
|
|
3090
|
+
await cloudRequest('PUT', `/api/tasks/${resolvedTaskId}`, { content: nextContent });
|
|
3091
|
+
};
|
|
3092
|
+
|
|
3093
|
+
try {
|
|
3094
|
+
await cloudRequest('PATCH', `/api/tasks/${resolvedTaskId}`, payload);
|
|
3095
|
+
} catch {
|
|
3096
|
+
// Fallback to PUT path for older cloud versions that don't accept depends_on on PATCH.
|
|
3097
|
+
await updateDependenciesViaPutFallback();
|
|
3098
|
+
}
|
|
3099
|
+
|
|
3100
|
+
let depGraph = await readDependencyGraph();
|
|
3101
|
+
let nextDependsOn = Array.isArray(depGraph?.depends_on_tasks)
|
|
3102
|
+
? depGraph.depends_on_tasks.map((dep) => String(dep?.id || '').trim()).filter(Boolean)
|
|
3103
|
+
: [];
|
|
3104
|
+
const matchesDesired =
|
|
3105
|
+
nextDependsOn.length === desiredDependsOn.length &&
|
|
3106
|
+
desiredDependsOn.every((id) => nextDependsOn.includes(id));
|
|
3107
|
+
|
|
3108
|
+
if (!matchesDesired) {
|
|
3109
|
+
await updateDependenciesViaPutFallback();
|
|
3110
|
+
depGraph = await readDependencyGraph();
|
|
3111
|
+
nextDependsOn = Array.isArray(depGraph?.depends_on_tasks)
|
|
3112
|
+
? depGraph.depends_on_tasks.map((dep) => String(dep?.id || '').trim()).filter(Boolean)
|
|
3113
|
+
: [];
|
|
3114
|
+
}
|
|
3115
|
+
|
|
3116
|
+
console.log(`${c.green}✓${c.reset} Updated task dependencies`);
|
|
3117
|
+
const { task: refreshedTask } = await cloudRequest('GET', `/api/tasks/${resolvedTaskId}`);
|
|
3118
|
+
console.log(` Task: ${refreshedTask?.slug || refreshedTask?.id || resolvedTaskId}`);
|
|
3119
|
+
if (!nextDependsOn.length) {
|
|
3120
|
+
console.log(` Depends on: ${c.dim}(none)${c.reset}`);
|
|
3121
|
+
} else {
|
|
3122
|
+
console.log(` Depends on (${nextDependsOn.length}):`);
|
|
3123
|
+
const knownDeps = Array.isArray(depGraph?.depends_on_tasks) ? depGraph.depends_on_tasks : [];
|
|
3124
|
+
for (const depId of nextDependsOn) {
|
|
3125
|
+
const details = knownDeps.find((dep) => dep?.id === depId);
|
|
3126
|
+
const suffix = details?.status ? ` (${details.status})` : '';
|
|
3127
|
+
console.log(` - ${formatTaskRef(details || { id: depId })}${suffix}`);
|
|
3128
|
+
}
|
|
3129
|
+
}
|
|
3130
|
+
} catch (err) {
|
|
3131
|
+
console.log(`${c.red}✗${c.reset} Failed: ${err.message}`);
|
|
3132
|
+
process.exit(1);
|
|
3133
|
+
}
|
|
3134
|
+
process.exit(0);
|
|
3135
|
+
}
|
|
3136
|
+
|
|
2503
3137
|
// agx task stop <taskId> (Docker-style namespace)
|
|
2504
3138
|
if (cmd === 'task' && args[1] === 'stop') {
|
|
2505
3139
|
const rawTaskId = args[2];
|
|
@@ -3087,6 +3721,7 @@ PROVIDERS:
|
|
|
3087
3721
|
agx retry <id|slug|#> Reset + retry a task (--async for non-blocking, --from <stage> to restart at a stage)
|
|
3088
3722
|
agx status Show cloud status
|
|
3089
3723
|
agx complete <taskId> Mark task stage complete
|
|
3724
|
+
agx deps <id|slug|#> [--depends-on <id|slug|#> ... | --clear] Show/update task dependencies
|
|
3090
3725
|
agx project assign <project> --task <task> Assign task to project
|
|
3091
3726
|
agx project unassign --task <task> Remove project assignment from task
|
|
3092
3727
|
|
|
@@ -3095,6 +3730,7 @@ CHECKING ON TASKS:
|
|
|
3095
3730
|
agx task run <id|slug|#> Claim and run a task
|
|
3096
3731
|
agx task reset <id> Reset a task to queued
|
|
3097
3732
|
agx task logs <id> -f View/tail task logs
|
|
3733
|
+
agx task deps <id|slug|#> [--depends-on <id|slug|#> ... | --clear] Show/update dependencies
|
|
3098
3734
|
agx task tail <id> Tail task logs
|
|
3099
3735
|
agx task clear <id|slug|#> Clear comments and logs
|
|
3100
3736
|
agx comments clear <id|slug|#> Clear comments only
|
|
@@ -3184,7 +3820,8 @@ SUPPORT:
|
|
|
3184
3820
|
cloud: null, // null = auto-detect, true = force on, false = force off
|
|
3185
3821
|
cloudTaskId: null,
|
|
3186
3822
|
autonomous: false,
|
|
3187
|
-
daemon: false
|
|
3823
|
+
daemon: false,
|
|
3824
|
+
approvalMode: 'manual',
|
|
3188
3825
|
};
|
|
3189
3826
|
|
|
3190
3827
|
// Collect positional args (legacy support, but --prompt is preferred)
|
|
@@ -3240,6 +3877,27 @@ SUPPORT:
|
|
|
3240
3877
|
options.autonomous = true;
|
|
3241
3878
|
options.yolo = true; // Autonomous = unattended, skip prompts
|
|
3242
3879
|
break;
|
|
3880
|
+
case '--approval':
|
|
3881
|
+
case '--approval-mode':
|
|
3882
|
+
if (nextArg && !nextArg.startsWith('-')) {
|
|
3883
|
+
const resolved = normalizeApprovalMode(nextArg);
|
|
3884
|
+
if (!resolved) {
|
|
3885
|
+
console.error(`${c.red}Error:${c.reset} Invalid approval mode "${nextArg}". Use manual|auto.`);
|
|
3886
|
+
process.exit(1);
|
|
3887
|
+
}
|
|
3888
|
+
options.approvalMode = resolved;
|
|
3889
|
+
i++;
|
|
3890
|
+
} else {
|
|
3891
|
+
console.error(`${c.red}Error:${c.reset} Missing value for ${arg}. Use manual|auto.`);
|
|
3892
|
+
process.exit(1);
|
|
3893
|
+
}
|
|
3894
|
+
break;
|
|
3895
|
+
case '--auto-approve':
|
|
3896
|
+
options.approvalMode = 'auto';
|
|
3897
|
+
break;
|
|
3898
|
+
case '--manual-approve':
|
|
3899
|
+
options.approvalMode = 'manual';
|
|
3900
|
+
break;
|
|
3243
3901
|
case '--cloud-task':
|
|
3244
3902
|
if (nextArg && !nextArg.startsWith('-')) {
|
|
3245
3903
|
options.cloudTaskId = nextArg;
|
|
@@ -3501,7 +4159,9 @@ SUPPORT:
|
|
|
3501
4159
|
}
|
|
3502
4160
|
}
|
|
3503
4161
|
|
|
3504
|
-
|
|
4162
|
+
if (!process.env.AGX_CLI_CHAT_MODE) {
|
|
4163
|
+
console.log(`${c.dim}[cloud] Loaded task: ${task.title || task.id}${c.reset}\n`);
|
|
4164
|
+
}
|
|
3505
4165
|
} catch (err) {
|
|
3506
4166
|
console.error(`${c.red}Failed to load cloud task:${c.reset} ${err.message}`);
|
|
3507
4167
|
process.exit(1);
|
|
@@ -3515,8 +4175,9 @@ SUPPORT:
|
|
|
3515
4175
|
try {
|
|
3516
4176
|
const cloudConfig = loadCloudConfig();
|
|
3517
4177
|
if (cloudConfig?.apiUrl) {
|
|
3518
|
-
const frontmatter = ['status: queued', 'stage:
|
|
4178
|
+
const frontmatter = ['status: queued', 'stage: intake'];
|
|
3519
4179
|
frontmatter.push(`engine: ${provider}`);
|
|
4180
|
+
frontmatter.push(`approval_mode: ${options.approvalMode}`);
|
|
3520
4181
|
|
|
3521
4182
|
const content = `---\n${frontmatter.join('\n')}\n---\n\n# ${finalPrompt}\n`;
|
|
3522
4183
|
|