@mndrk/agx 2.0.33 → 2.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +17 -0
- package/cloud-runtime/standalone/.next/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/prerender-manifest.json +27 -3
- package/cloud-runtime/standalone/.next/routes-manifest.json +110 -0
- package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +10 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js +10 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js +10 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +9 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +12 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js +10 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +8 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/board/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +5 -5
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +8 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js +16 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/skills/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/.next/server/app/skills/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/skills/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/skills/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/skills/page.js +15 -0
- package/cloud-runtime/standalone/.next/server/app/skills/page.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/skills/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/skills.html +21 -0
- package/cloud-runtime/standalone/.next/server/app/skills.meta +15 -0
- package/cloud-runtime/standalone/.next/server/app/skills.rsc +23 -0
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +23 -0
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +5 -0
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +9 -0
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +5 -0
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +9 -0
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +4 -0
- package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +4 -4
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +17 -0
- package/cloud-runtime/standalone/.next/server/chunks/[externals]__cf9f18a6._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__875279cb._.js → [root-of-the-server]__005b3c82._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4837d72a._.js → [root-of-the-server]__056d94e4._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__068b4f08._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b3ed0a00._.js → [root-of-the-server]__0bb52353._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0f580808._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c26221d._.js → [root-of-the-server]__1a8e0957._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6acb940d._.js → [root-of-the-server]__23ad03bf._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__7ffcc20c._.js → [root-of-the-server]__2948f712._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__18423486._.js → [root-of-the-server]__32ef6623._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1c18c0d1._.js → [root-of-the-server]__34cb1b98._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d865017._.js +48 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5031f8d4._.js +30 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5a348fba._.js → [root-of-the-server]__596d0e81._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__64712846._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__707c32af._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7370bb86._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__749af50f._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ffffceac._.js → [root-of-the-server]__75cedecf._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__19520d85._.js → [root-of-the-server]__7ee9b7b6._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4d8c6e3d._.js → [root-of-the-server]__8ac0286e._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__927cfc20._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__96ae701e._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b63cb741._.js → [root-of-the-server]__981d92dd._.js} +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98b352f7._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a44db634._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a55c16a5._.js +158 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ab2bf82d._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__32b13ba9._.js → [root-of-the-server]__b4931ee1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e122cae2._.js → [root-of-the-server]__b500f1bf._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c480c9c2._.js → [root-of-the-server]__b707e701._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bf5803eb._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ccd4846e._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d4126e05._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d908c9ea._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b9b3fde6._.js → [root-of-the-server]__dcdeee3d._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e3a4fd97._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4a87984._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ee6511a0._.js +44 -0
- package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_filesystem_pick-folder_route_actions_162664ff.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_cancel_route_actions_fbd5be89.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_route_actions_774a2e21.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_runs_route_actions_6e59ee83.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_agents_route_actions_399e1f19.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_poll_route_actions_23fbbfa1.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_route_actions_acf03860.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_assign_route_actions_15267be8.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_available_route_actions_24023111.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_detail_route_actions_1148baef.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_history_route_actions_5e5c4757.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_learn_route_actions_d3a37d25.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_route_actions_780e175f.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_unlearn_route_actions_3dfee433.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_thread-repos_route_actions_e95d24ee.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{lib_7cad5c77._.js → lib_a5adca60._.js} +25 -25
- package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +28 -23
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +28 -23
- package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +38 -11
- package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +43 -16
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +19 -19
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_def8bfbe.js +10 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +4 -3
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +4 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__096c39a3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__226f8a19._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__67d5f883._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8b4e7816._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8fe8b9dd._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a37fb1c3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a456581d._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__d74022f1._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__fcbe03e6._.js → [root-of-the-server]__e0c64529._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ea035cd9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ffbc2e98._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_05c8a494._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0c5c111f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ffd2660._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_23656a95._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_23f5fddc._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_24feb541._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_27a789b3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_508cd32f._.js → _314f4c49._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_36b413cc._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_46e00a9b._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_478f4991._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_4bfdfb14._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_52fe115d._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_547b6462._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_547f19ec._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_93914ecd._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_9e07dcac._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a1b966f7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a68d8f62._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a80e12c8._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_b1e1ef71._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_e1349560._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_automations_page_actions_9371bc66.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_skills_page_actions_4ac82b1e.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_[id]_page_tsx_9c49d8c8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_page_tsx_f5f08ed8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +4 -5
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_e70f9321._.js → node_modules_lucide-react_dist_esm_b82e03da._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_61a87db9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_920e7746._.js → node_modules_next_f2865b38._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +14 -0
- package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +4 -4
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/next-font-manifest.json +8 -0
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/01428247f94115a6.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/06cf0ed16bf8aa70.js +28 -0
- package/cloud-runtime/standalone/.next/static/chunks/19dd745b663fdffa.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/1a3298f21d1040e9.js +4 -0
- package/cloud-runtime/standalone/.next/static/chunks/1c8583feefee0765.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/1e3dede69b464364.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/238a28856e739dc9.js +2 -0
- package/cloud-runtime/standalone/.next/static/chunks/24772e179852c73e.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2d1d138d8ea3234c.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2e011469003993e9.js +28 -0
- package/cloud-runtime/standalone/.next/static/chunks/31a4164e40ca71e5.js +6 -0
- package/cloud-runtime/standalone/.next/static/chunks/3c202e89da05d9b9.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/3c72becf6dff5597.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/44dafb5e85578e12.js +16 -0
- package/cloud-runtime/standalone/.next/static/chunks/47f22a56011af8d3.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/48e332ac3e9ed56c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/5b567b289ca2273e.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/5d52c79d9812d06e.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/617db51b7444f818.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/673bb6094cea9ded.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/787436fad75f5bc6.js +5 -0
- package/cloud-runtime/standalone/.next/static/chunks/8304e8487aa74059.css +2 -0
- package/cloud-runtime/standalone/.next/static/chunks/8a4684388ca0f6de.js +7 -0
- package/cloud-runtime/standalone/.next/static/chunks/9f236cc9572783b9.js +93 -0
- package/cloud-runtime/standalone/.next/static/chunks/a9aaec85125f69b1.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/b4c29a62f9255268.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/bf2bb1662353aff5.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/c1fb885eed94aa8c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/c653186036e56204.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/cb5581d868e78205.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/cbdeb17a36b99000.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/d5cc62984dc4205c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/d73f1cc3ebc9993b.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{8d15ced2dc70090a.js → da2b00558cf32f37.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{turbopack-97e846241a3a64af.js → turbopack-22475f0dd0c18f92.js} +1 -1
- package/cloud-runtime/standalone/app/agents/[id]/page.tsx +4 -1
- package/cloud-runtime/standalone/app/agents/page.tsx +22 -2
- package/cloud-runtime/standalone/app/api/agent-specs/route.ts +4 -0
- package/cloud-runtime/standalone/app/api/agents/export/route.ts +4 -0
- package/cloud-runtime/standalone/app/api/chat/route.ts +8 -2
- package/cloud-runtime/standalone/app/api/filesystem/pick-folder/route.ts +56 -0
- package/cloud-runtime/standalone/app/api/participants/route.ts +50 -1
- package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/cancel/route.ts +44 -0
- package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/route.ts +94 -0
- package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/runs/route.ts +30 -0
- package/cloud-runtime/standalone/app/api/prompt-jobs/agents/route.ts +25 -0
- package/cloud-runtime/standalone/app/api/prompt-jobs/poll/route.ts +232 -0
- package/cloud-runtime/standalone/app/api/prompt-jobs/route.ts +125 -0
- package/cloud-runtime/standalone/app/api/skills/assign/route.ts +30 -0
- package/cloud-runtime/standalone/app/api/skills/available/route.ts +20 -0
- package/cloud-runtime/standalone/app/api/skills/detail/route.ts +23 -0
- package/cloud-runtime/standalone/app/api/skills/history/route.ts +18 -0
- package/cloud-runtime/standalone/app/api/skills/learn/route.ts +31 -0
- package/cloud-runtime/standalone/app/api/skills/route.ts +19 -0
- package/cloud-runtime/standalone/app/api/skills/unlearn/route.ts +30 -0
- package/cloud-runtime/standalone/app/api/thread-repos/route.ts +30 -0
- package/cloud-runtime/standalone/app/automations/page.tsx +15 -3
- package/cloud-runtime/standalone/app/execution-graph/page.tsx +2 -2
- package/cloud-runtime/standalone/app/globals.css +2 -0
- package/cloud-runtime/standalone/app/layout.tsx +1 -1
- package/cloud-runtime/standalone/app/projects/[slug]/automations/page.tsx +17 -0
- package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +3 -2
- package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +401 -86
- package/cloud-runtime/standalone/app/projects/orphans/page.tsx +1 -0
- package/cloud-runtime/standalone/app/projects/page.tsx +3 -3
- package/cloud-runtime/standalone/app/skills/page.tsx +399 -0
- package/cloud-runtime/standalone/components/FloatingPanel.tsx +200 -0
- package/cloud-runtime/standalone/components/Layout.tsx +7 -1
- package/cloud-runtime/standalone/components/NowRunningPanel.tsx +86 -76
- package/cloud-runtime/standalone/components/ProjectModal.tsx +29 -12
- package/cloud-runtime/standalone/components/PromptJobBoard.tsx +1434 -0
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +86 -17
- package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +215 -19
- package/cloud-runtime/standalone/components/chat-ui/ParticipantBar.tsx +233 -213
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +99 -41
- package/cloud-runtime/standalone/db/sqlite/001_agx_board_schema.sql +28 -0
- package/cloud-runtime/standalone/db/sqlite/002_prompt_scheduler_schema.sql +45 -0
- package/cloud-runtime/standalone/db/sqlite/003_prompt_scheduler_v2.sql +13 -0
- package/cloud-runtime/standalone/hooks/useAttachments.ts +2 -1
- package/cloud-runtime/standalone/hooks/useGroupChat.ts +4 -1
- package/cloud-runtime/standalone/hooks/usePromptJobs.ts +111 -0
- package/cloud-runtime/standalone/lib/agent-participants.ts +7 -0
- package/cloud-runtime/standalone/lib/agent-skill-bindings.ts +118 -0
- package/cloud-runtime/standalone/lib/chat/paste-attachments.ts +152 -0
- package/cloud-runtime/standalone/lib/db.ts +5 -0
- package/cloud-runtime/standalone/lib/history-store.ts +38 -0
- package/cloud-runtime/standalone/lib/skills-library.ts +450 -0
- package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +32 -0
- package/cloud-runtime/standalone/lib/stream-multiplexer.ts +59 -11
- package/cloud-runtime/standalone/lib/types.ts +10 -0
- package/cloud-runtime/standalone/migrations/sqlite_schema.sql +28 -0
- package/cloud-runtime/standalone/src/graph/llm-review.ts +19 -2
- package/cloud-runtime/standalone/src/prompt-scheduler/cron.ts +46 -0
- package/cloud-runtime/standalone/src/prompt-scheduler/engine.ts +87 -0
- package/cloud-runtime/standalone/src/prompt-scheduler/get-store.ts +36 -0
- package/cloud-runtime/standalone/src/prompt-scheduler/runner.ts +144 -0
- package/cloud-runtime/standalone/src/prompt-scheduler/store.ts +327 -0
- package/cloud-runtime/standalone/src/prompt-scheduler/types.ts +82 -0
- package/cloud-runtime/standalone/state/floatingPanels.ts +47 -0
- package/cloud-runtime/standalone/styles/composer-pills.css +156 -2
- package/cloud-runtime/standalone/styles/workspaceSidebar.css +5 -3
- package/cloud-runtime/standalone/test/adapters/sqlite.ts +1 -0
- package/cloud-runtime/standalone/update_officeapp.js +36 -0
- package/cloud-runtime/standalone/update_store.js +47 -0
- package/cloud-runtime/standalone/worker/index.js +292 -45
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[externals]__1f4b15dd._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c8624cc._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__666f8712._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a189593a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d6e1ee6e._.js +0 -32
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1b7932f._.js +0 -36
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f701b208._.js +0 -146
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__04d1aa70._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__2d80540b._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a416df95._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__c108f06c._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0061ebd8._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_41f60c52._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_54af99c5._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_6b14826d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_84879a01._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_9eeb2fa0._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a1d30b20._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_c87c359c._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_ccb409c5._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd31b6e0._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f0ce6183._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_automations_page_tsx_3d732184._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bf855424._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_852965c2._.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/010aff7b601302de.js +0 -16
- package/cloud-runtime/standalone/.next/static/chunks/012e3e9699415997.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/031d99fbe758545a.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/09f9eeea393db0fd.js +0 -4
- package/cloud-runtime/standalone/.next/static/chunks/0c467f54bc78a380.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/10b0642440302e99.css +0 -2
- package/cloud-runtime/standalone/.next/static/chunks/116985039c24f1f8.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/2ee8d24314eec47c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/3e4e8857f875c964.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/43f6157bc3db9c52.js +0 -6
- package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +0 -5
- package/cloud-runtime/standalone/.next/static/chunks/56a01238098d495d.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/601996727991149e.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/651c7c97d3bd77e0.js +0 -28
- package/cloud-runtime/standalone/.next/static/chunks/7d4c1d97169c8522.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/851b1d97179bd39b.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/9048e44ed538b21a.js +0 -2
- package/cloud-runtime/standalone/.next/static/chunks/90b581e9631d8cea.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/99174504a201d23e.js +0 -28
- package/cloud-runtime/standalone/.next/static/chunks/a8e8ef440c4daa5a.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b22947e6df238fd5.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b2dcd19ebe3af3f6.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/bc06988336ffd261.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/c93b9643c81c134e.js +0 -8
- package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/ebaf4e8f04bae7b6.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/f4909e7ae8229b1c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/fd221a50082e5128.js +0 -1
- package/cloud-runtime/standalone/agx-board.json +0 -264
- package/cloud-runtime/standalone/agx-cli.json +0 -2195
- package/cloud-runtime/standalone/fix-primary.js +0 -30
- package/cloud-runtime/standalone/fix-theme.js +0 -78
- package/cloud-runtime/standalone/test-file +0 -0
- package/cloud-runtime/standalone/testfile +0 -0
- package/cloud-runtime/standalone/transcri +0 -0
- /package/cloud-runtime/standalone/.next/static/{68nLQxEpwR_feFvB8T4tR → G0Hrt7JKBM1EtMPT0lUIr}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{68nLQxEpwR_feFvB8T4tR → G0Hrt7JKBM1EtMPT0lUIr}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{68nLQxEpwR_feFvB8T4tR → G0Hrt7JKBM1EtMPT0lUIr}/_ssgManifest.js +0 -0
|
@@ -8,6 +8,12 @@ export type ReviewDispatcher = (
|
|
|
8
8
|
graph: ExecutionGraph,
|
|
9
9
|
) => Promise<WorkDispatchResult>;
|
|
10
10
|
|
|
11
|
+
export interface ReviewerProfile {
|
|
12
|
+
name?: string;
|
|
13
|
+
voice?: string;
|
|
14
|
+
seed?: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
11
17
|
/**
|
|
12
18
|
* Fetches the git diff for the current working directory.
|
|
13
19
|
*/
|
|
@@ -46,6 +52,7 @@ export function buildReviewWorkNode(
|
|
|
46
52
|
root: RootNode,
|
|
47
53
|
diff: string,
|
|
48
54
|
gateId: string,
|
|
55
|
+
reviewer?: ReviewerProfile,
|
|
49
56
|
): WorkNode {
|
|
50
57
|
const criteriaSection = root.criteria?.length
|
|
51
58
|
? `\n\nAcceptance Criteria:\n${root.criteria.map((c, i) => `${i + 1}. ${c}`).join('\n')}`
|
|
@@ -55,13 +62,22 @@ export function buildReviewWorkNode(
|
|
|
55
62
|
? diff.slice(0, 30_000) + '\n\n... (diff truncated)'
|
|
56
63
|
: diff;
|
|
57
64
|
|
|
65
|
+
const reviewerContext = [
|
|
66
|
+
reviewer?.name?.trim() ? `Reviewer: ${reviewer.name.trim()}` : null,
|
|
67
|
+
reviewer?.voice?.trim() ? `Voice: ${reviewer.voice.trim()}` : null,
|
|
68
|
+
reviewer?.seed?.trim() ? `Core orientation: ${reviewer.seed.trim()}` : null,
|
|
69
|
+
].filter(Boolean);
|
|
70
|
+
|
|
58
71
|
return {
|
|
59
72
|
type: 'work',
|
|
60
73
|
status: 'pending',
|
|
61
74
|
workType: 'spike',
|
|
62
75
|
title: `Quality gate review: ${root.title}`,
|
|
63
76
|
description: [
|
|
64
|
-
'You are
|
|
77
|
+
'You are reviewing this change against the task objective.',
|
|
78
|
+
reviewerContext.length > 0
|
|
79
|
+
? `Preserve the reviewer\'s distinct perspective instead of flattening into generic review language.\n${reviewerContext.join('\n')}`
|
|
80
|
+
: 'Preserve your configured reviewer voice and perspective. Do not flatten into generic review language.',
|
|
65
81
|
'',
|
|
66
82
|
`## Task Objective`,
|
|
67
83
|
root.objective,
|
|
@@ -96,6 +112,7 @@ export async function dispatchLlmReview(
|
|
|
96
112
|
gateId: string,
|
|
97
113
|
dispatcher: ReviewDispatcher,
|
|
98
114
|
cwd?: string,
|
|
115
|
+
reviewer?: ReviewerProfile,
|
|
99
116
|
): Promise<ExecutedCheckResult> {
|
|
100
117
|
const root = findRootNode(graph);
|
|
101
118
|
if (!root) {
|
|
@@ -107,7 +124,7 @@ export async function dispatchLlmReview(
|
|
|
107
124
|
return makeSkipResult('LLM review skipped: no changes detected');
|
|
108
125
|
}
|
|
109
126
|
|
|
110
|
-
const reviewNode = buildReviewWorkNode(root, diff, gateId);
|
|
127
|
+
const reviewNode = buildReviewWorkNode(root, diff, gateId, reviewer);
|
|
111
128
|
const result = await dispatcher(reviewNode, graph);
|
|
112
129
|
|
|
113
130
|
if (result.status === 'success') {
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { toCronExpr } from '../graph/nl-schedule';
|
|
2
|
+
import { CronExpressionParser } from 'cron-parser';
|
|
3
|
+
|
|
4
|
+
export interface ParsedCadence {
|
|
5
|
+
cronExpr: string;
|
|
6
|
+
cadence: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export function parseCadence(input: string): ParsedCadence | null {
|
|
10
|
+
const trimmed = input.trim();
|
|
11
|
+
if (!trimmed) return null;
|
|
12
|
+
|
|
13
|
+
const nlResult = toCronExpr(trimmed);
|
|
14
|
+
if (nlResult) {
|
|
15
|
+
return { cronExpr: nlResult.cronExpr, cadence: nlResult.cadence };
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Try parsing as raw cron (5 fields)
|
|
19
|
+
if (isValidCron(trimmed)) {
|
|
20
|
+
return { cronExpr: trimmed, cadence: trimmed };
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function computeNextRun(cronExpr: string, fromMs?: number): number | null {
|
|
27
|
+
try {
|
|
28
|
+
const expr = CronExpressionParser.parse(cronExpr, {
|
|
29
|
+
currentDate: fromMs ? new Date(fromMs) : new Date(),
|
|
30
|
+
});
|
|
31
|
+
return expr.next().toDate().getTime();
|
|
32
|
+
} catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function isValidCron(expr: string): boolean {
|
|
38
|
+
const parts = expr.split(/\s+/);
|
|
39
|
+
if (parts.length !== 5) return false;
|
|
40
|
+
try {
|
|
41
|
+
CronExpressionParser.parse(expr);
|
|
42
|
+
return true;
|
|
43
|
+
} catch {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { PromptJob, PromptRun } from './types';
|
|
2
|
+
import type { PromptJobStore } from './store';
|
|
3
|
+
import { computeNextRun } from './cron';
|
|
4
|
+
|
|
5
|
+
export interface PollResult {
|
|
6
|
+
queued: PromptRun[];
|
|
7
|
+
skipped: Array<{ jobId: string; reason: string }>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function pollDueJobs(store: PromptJobStore, now: number = Date.now()): PollResult {
|
|
11
|
+
// Heal active jobs with null nextRunAt
|
|
12
|
+
const allJobs = store.listJobs({ state: 'active' as any });
|
|
13
|
+
for (const job of allJobs) {
|
|
14
|
+
if (job.nextRunAt === null && job.cronExpr) {
|
|
15
|
+
const nextRunAt = computeNextRunAt(job, now);
|
|
16
|
+
if (nextRunAt) store.updateJob(job.id, { nextRunAt });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const dueJobs = store.getDueJobs(now);
|
|
21
|
+
const queued: PromptRun[] = [];
|
|
22
|
+
const skipped: Array<{ jobId: string; reason: string }> = [];
|
|
23
|
+
|
|
24
|
+
for (const job of dueJobs) {
|
|
25
|
+
if (job.overlapPolicy === 'skip' && store.hasRunningRun(job.id)) {
|
|
26
|
+
skipped.push({ jobId: job.id, reason: 'overlap_skip' });
|
|
27
|
+
const nextRunAt = computeNextRunAt(job, now);
|
|
28
|
+
store.updateJob(job.id, { nextRunAt });
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Handle catch-up policy for missed runs
|
|
33
|
+
const missedCount = countMissedOccurrences(job, now);
|
|
34
|
+
|
|
35
|
+
if (job.catchUpPolicy === 'skip' && missedCount > 1) {
|
|
36
|
+
// Skip all missed, just advance to next future tick
|
|
37
|
+
skipped.push({ jobId: job.id, reason: `catch_up_skip (${missedCount} missed)` });
|
|
38
|
+
const nextRunAt = computeNextRunAt(job, now);
|
|
39
|
+
store.updateJob(job.id, { nextRunAt, lastRunAt: now });
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (job.catchUpPolicy === 'replay_all' && missedCount > 1) {
|
|
44
|
+
// Queue one run per missed occurrence
|
|
45
|
+
for (let i = 0; i < missedCount; i++) {
|
|
46
|
+
const run = store.createRun(job.id);
|
|
47
|
+
queued.push(run);
|
|
48
|
+
}
|
|
49
|
+
} else {
|
|
50
|
+
// fire_once (default): just run once regardless of how many were missed
|
|
51
|
+
const run = store.createRun(job.id);
|
|
52
|
+
queued.push(run);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const nextRunAt = computeNextRunAt(job, now);
|
|
56
|
+
store.updateJob(job.id, { nextRunAt, lastRunAt: now });
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return { queued, skipped };
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** Compute next run based on trigger type */
|
|
63
|
+
function computeNextRunAt(job: { triggerType: string; checkEveryMs: number; cronExpr: string }, now: number): number | null {
|
|
64
|
+
if (job.triggerType === 'condition') {
|
|
65
|
+
return now + job.checkEveryMs;
|
|
66
|
+
}
|
|
67
|
+
return computeNextRun(job.cronExpr, now);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/** Count how many cron occurrences were missed between lastRunAt/nextRunAt and now */
|
|
71
|
+
function countMissedOccurrences(job: PromptJob, now: number): number {
|
|
72
|
+
if (job.triggerType === 'condition') return 1;
|
|
73
|
+
if (!job.nextRunAt) return 1;
|
|
74
|
+
|
|
75
|
+
let count = 0;
|
|
76
|
+
let cursor = job.nextRunAt;
|
|
77
|
+
const maxCount = 100; // safety cap
|
|
78
|
+
|
|
79
|
+
while (cursor <= now && count < maxCount) {
|
|
80
|
+
count++;
|
|
81
|
+
const next = computeNextRun(job.cronExpr, cursor);
|
|
82
|
+
if (!next || next <= cursor) break;
|
|
83
|
+
cursor = next;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return Math.max(1, count);
|
|
87
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { PromptJobStore } from './store';
|
|
2
|
+
import { readFileSync } from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { getSQLiteDb } from '@/lib/sqlite-query-adapter';
|
|
5
|
+
|
|
6
|
+
let _store: PromptJobStore | null = null;
|
|
7
|
+
|
|
8
|
+
export function getPromptJobStore(): PromptJobStore {
|
|
9
|
+
if (!_store) {
|
|
10
|
+
const db = getSQLiteDb();
|
|
11
|
+
const tableExists = db
|
|
12
|
+
.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='prompt_jobs'")
|
|
13
|
+
.get();
|
|
14
|
+
if (!tableExists) {
|
|
15
|
+
const migration = readFileSync(
|
|
16
|
+
path.join(process.cwd(), 'db/sqlite/002_prompt_scheduler_schema.sql'),
|
|
17
|
+
'utf-8',
|
|
18
|
+
);
|
|
19
|
+
db.exec(migration);
|
|
20
|
+
} else {
|
|
21
|
+
// Run v2 migration if provider column doesn't exist yet
|
|
22
|
+
const hasProvider = db
|
|
23
|
+
.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='catch_up_policy'")
|
|
24
|
+
.get();
|
|
25
|
+
if (!hasProvider) {
|
|
26
|
+
const v2Migration = readFileSync(
|
|
27
|
+
path.join(process.cwd(), 'db/sqlite/003_prompt_scheduler_v2.sql'),
|
|
28
|
+
'utf-8',
|
|
29
|
+
);
|
|
30
|
+
db.exec(v2Migration);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
_store = new PromptJobStore(db);
|
|
34
|
+
}
|
|
35
|
+
return _store;
|
|
36
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { spawn } from 'child_process';
|
|
2
|
+
|
|
3
|
+
export interface RunResult {
|
|
4
|
+
status: 'success' | 'failed' | 'cancelled';
|
|
5
|
+
output: string;
|
|
6
|
+
error: string;
|
|
7
|
+
durationMs: number;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface ExecuteRunOptions {
|
|
11
|
+
provider: string;
|
|
12
|
+
model: string;
|
|
13
|
+
cliArgs: string;
|
|
14
|
+
prompt: string;
|
|
15
|
+
cancelCheckSec: number;
|
|
16
|
+
isCancelled: () => Promise<boolean>;
|
|
17
|
+
onStart: () => void;
|
|
18
|
+
onComplete: (result: RunResult) => void;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
interface CliCommand {
|
|
22
|
+
cmd: string;
|
|
23
|
+
args: string[];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const KNOWN_PROVIDERS: Record<string, { cmd: string; promptFlag: string; modelFlag?: string }> = {
|
|
27
|
+
claude: { cmd: 'claude', promptFlag: '-p', modelFlag: '--model' },
|
|
28
|
+
codex: { cmd: 'codex', promptFlag: '-p' },
|
|
29
|
+
gemini: { cmd: 'gemini', promptFlag: '-p', modelFlag: '--model' },
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export function buildCliCommand(provider: string, prompt: string, model?: string, cliArgs?: string): CliCommand {
|
|
33
|
+
const known = KNOWN_PROVIDERS[provider];
|
|
34
|
+
if (known) {
|
|
35
|
+
const args: string[] = [];
|
|
36
|
+
if (model && known.modelFlag) {
|
|
37
|
+
args.push(known.modelFlag, model);
|
|
38
|
+
}
|
|
39
|
+
if (cliArgs) {
|
|
40
|
+
args.push(...cliArgs.split(/\s+/).filter(Boolean));
|
|
41
|
+
}
|
|
42
|
+
args.push(known.promptFlag, prompt);
|
|
43
|
+
return { cmd: known.cmd, args };
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Custom provider: treat as raw command
|
|
47
|
+
const parts = provider.split(' ');
|
|
48
|
+
const cmd = parts[0];
|
|
49
|
+
const baseArgs = parts.slice(1);
|
|
50
|
+
|
|
51
|
+
if (cliArgs) {
|
|
52
|
+
baseArgs.push(...cliArgs.split(/\s+/).filter(Boolean));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (provider.includes('{prompt}')) {
|
|
56
|
+
const args = baseArgs.map((part) => part.replace('{prompt}', prompt));
|
|
57
|
+
return { cmd, args };
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return { cmd, args: [...baseArgs, prompt] };
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function executeRun(opts: ExecuteRunOptions): void {
|
|
64
|
+
const { provider, model, cliArgs, prompt, cancelCheckSec, isCancelled, onStart, onComplete } = opts;
|
|
65
|
+
|
|
66
|
+
const { cmd, args } = buildCliCommand(provider, prompt, model, cliArgs);
|
|
67
|
+
const startMs = Date.now();
|
|
68
|
+
|
|
69
|
+
onStart();
|
|
70
|
+
|
|
71
|
+
let stdout = '';
|
|
72
|
+
let stderr = '';
|
|
73
|
+
let done = false;
|
|
74
|
+
let cancelInterval: ReturnType<typeof setInterval> | null = null;
|
|
75
|
+
|
|
76
|
+
const child = spawn(cmd, args, {
|
|
77
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
78
|
+
shell: false,
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
child.stdout.on('data', (chunk: Buffer) => {
|
|
82
|
+
stdout += chunk.toString();
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
child.stderr.on('data', (chunk: Buffer) => {
|
|
86
|
+
stderr += chunk.toString();
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
const finish = (result: RunResult) => {
|
|
90
|
+
if (done) return;
|
|
91
|
+
done = true;
|
|
92
|
+
if (cancelInterval !== null) {
|
|
93
|
+
clearInterval(cancelInterval);
|
|
94
|
+
cancelInterval = null;
|
|
95
|
+
}
|
|
96
|
+
onComplete(result);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
child.on('error', (err: Error) => {
|
|
100
|
+
finish({
|
|
101
|
+
status: 'failed',
|
|
102
|
+
output: stdout,
|
|
103
|
+
error: err.message,
|
|
104
|
+
durationMs: Date.now() - startMs,
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
child.on('close', (code: number | null) => {
|
|
109
|
+
if (done) return;
|
|
110
|
+
const status = code === 0 ? 'success' : 'failed';
|
|
111
|
+
finish({
|
|
112
|
+
status,
|
|
113
|
+
output: stdout,
|
|
114
|
+
error: stderr,
|
|
115
|
+
durationMs: Date.now() - startMs,
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
// Set up cancel checking interval
|
|
120
|
+
const intervalMs = cancelCheckSec * 1000;
|
|
121
|
+
cancelInterval = setInterval(async () => {
|
|
122
|
+
if (done) {
|
|
123
|
+
if (cancelInterval !== null) {
|
|
124
|
+
clearInterval(cancelInterval);
|
|
125
|
+
cancelInterval = null;
|
|
126
|
+
}
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
try {
|
|
130
|
+
const cancelled = await isCancelled();
|
|
131
|
+
if (cancelled && !done) {
|
|
132
|
+
child.kill('SIGTERM');
|
|
133
|
+
finish({
|
|
134
|
+
status: 'cancelled',
|
|
135
|
+
output: stdout,
|
|
136
|
+
error: stderr,
|
|
137
|
+
durationMs: Date.now() - startMs,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
} catch {
|
|
141
|
+
// ignore cancel check errors
|
|
142
|
+
}
|
|
143
|
+
}, intervalMs);
|
|
144
|
+
}
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { randomUUID } from 'crypto';
|
|
2
|
+
import type Database from 'better-sqlite3';
|
|
3
|
+
import { computeNextTickFromCron } from '../graph/scheduler';
|
|
4
|
+
import type {
|
|
5
|
+
PromptJob,
|
|
6
|
+
PromptRun,
|
|
7
|
+
PromptJobState,
|
|
8
|
+
RunStatus,
|
|
9
|
+
CreatePromptJobInput,
|
|
10
|
+
UpdatePromptJobInput,
|
|
11
|
+
} from './types';
|
|
12
|
+
|
|
13
|
+
// ── Row shapes from SQLite ────────────────────────────────────────────────────
|
|
14
|
+
|
|
15
|
+
interface PromptJobRow {
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
prompt: string;
|
|
19
|
+
cli: string;
|
|
20
|
+
agent_id: string | null;
|
|
21
|
+
project_id: string | null;
|
|
22
|
+
provider: string;
|
|
23
|
+
model: string;
|
|
24
|
+
cli_args: string;
|
|
25
|
+
cron_expr: string;
|
|
26
|
+
cadence: string;
|
|
27
|
+
state: string;
|
|
28
|
+
overlap_policy: string;
|
|
29
|
+
catch_up_policy: string;
|
|
30
|
+
cancel_check_sec: number;
|
|
31
|
+
trigger_type: string;
|
|
32
|
+
condition: string;
|
|
33
|
+
check_every_ms: number;
|
|
34
|
+
next_run_at: number | null;
|
|
35
|
+
last_run_at: number | null;
|
|
36
|
+
last_outcome: string | null;
|
|
37
|
+
created_at: string;
|
|
38
|
+
updated_at: string;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
interface PromptRunRow {
|
|
42
|
+
id: string;
|
|
43
|
+
job_id: string;
|
|
44
|
+
status: string;
|
|
45
|
+
output: string | null;
|
|
46
|
+
error: string | null;
|
|
47
|
+
duration_ms: number | null;
|
|
48
|
+
started_at: string | null;
|
|
49
|
+
finished_at: string | null;
|
|
50
|
+
cancelled_at: string | null;
|
|
51
|
+
created_at: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// ── Field mappers ─────────────────────────────────────────────────────────────
|
|
55
|
+
|
|
56
|
+
function rowToJob(row: PromptJobRow): PromptJob {
|
|
57
|
+
return {
|
|
58
|
+
id: row.id,
|
|
59
|
+
name: row.name,
|
|
60
|
+
prompt: row.prompt,
|
|
61
|
+
agentId: row.agent_id || '',
|
|
62
|
+
projectId: row.project_id || '',
|
|
63
|
+
provider: row.provider || row.cli || 'claude',
|
|
64
|
+
model: row.model || '',
|
|
65
|
+
cliArgs: row.cli_args || '',
|
|
66
|
+
cronExpr: row.cron_expr,
|
|
67
|
+
cadence: row.cadence,
|
|
68
|
+
state: row.state as PromptJobState,
|
|
69
|
+
overlapPolicy: row.overlap_policy as PromptJob['overlapPolicy'],
|
|
70
|
+
catchUpPolicy: (row.catch_up_policy || 'fire_once') as PromptJob['catchUpPolicy'],
|
|
71
|
+
cancelCheckSec: row.cancel_check_sec,
|
|
72
|
+
triggerType: (row.trigger_type || 'scheduled') as PromptJob['triggerType'],
|
|
73
|
+
condition: row.condition || '',
|
|
74
|
+
checkEveryMs: row.check_every_ms || 300000,
|
|
75
|
+
nextRunAt: row.next_run_at,
|
|
76
|
+
lastRunAt: row.last_run_at,
|
|
77
|
+
lastOutcome: row.last_outcome as RunStatus | null,
|
|
78
|
+
createdAt: row.created_at,
|
|
79
|
+
updatedAt: row.updated_at,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function rowToRun(row: PromptRunRow): PromptRun {
|
|
84
|
+
return {
|
|
85
|
+
id: row.id,
|
|
86
|
+
jobId: row.job_id,
|
|
87
|
+
status: row.status as RunStatus,
|
|
88
|
+
output: row.output,
|
|
89
|
+
error: row.error,
|
|
90
|
+
durationMs: row.duration_ms,
|
|
91
|
+
startedAt: row.started_at,
|
|
92
|
+
finishedAt: row.finished_at,
|
|
93
|
+
cancelledAt: row.cancelled_at,
|
|
94
|
+
createdAt: row.created_at,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// ── Store ─────────────────────────────────────────────────────────────────────
|
|
99
|
+
|
|
100
|
+
export class PromptJobStore {
|
|
101
|
+
constructor(private readonly db: Database.Database) {}
|
|
102
|
+
|
|
103
|
+
// ── Job operations ──────────────────────────────────────────────────────────
|
|
104
|
+
|
|
105
|
+
createJob(input: CreatePromptJobInput): PromptJob {
|
|
106
|
+
const id = randomUUID();
|
|
107
|
+
const cadence = input.cadence;
|
|
108
|
+
const cronExpr = input.cronExpr || cadence;
|
|
109
|
+
const triggerType = input.triggerType ?? 'scheduled';
|
|
110
|
+
const provider = input.provider ?? 'claude';
|
|
111
|
+
|
|
112
|
+
// For condition triggers, nextRunAt is based on checkEveryMs from now
|
|
113
|
+
// For scheduled triggers, nextRunAt is the next cron tick
|
|
114
|
+
let nextRunAt: number | null;
|
|
115
|
+
if (triggerType === 'condition') {
|
|
116
|
+
nextRunAt = Date.now() + (input.checkEveryMs ?? 300000);
|
|
117
|
+
} else {
|
|
118
|
+
nextRunAt = computeNextTickFromCron(cronExpr) ?? null;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
this.db
|
|
122
|
+
.prepare(
|
|
123
|
+
`INSERT INTO prompt_jobs (id, name, prompt, cli, agent_id, project_id, provider, model, cli_args, cron_expr, cadence, overlap_policy, catch_up_policy, cancel_check_sec, trigger_type, condition, check_every_ms, next_run_at)
|
|
124
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
|
125
|
+
)
|
|
126
|
+
.run(
|
|
127
|
+
id,
|
|
128
|
+
input.name,
|
|
129
|
+
input.prompt,
|
|
130
|
+
provider,
|
|
131
|
+
input.agentId || null,
|
|
132
|
+
input.projectId || null,
|
|
133
|
+
provider,
|
|
134
|
+
input.model ?? '',
|
|
135
|
+
input.cliArgs ?? '',
|
|
136
|
+
cronExpr,
|
|
137
|
+
cadence,
|
|
138
|
+
input.overlapPolicy ?? 'skip',
|
|
139
|
+
input.catchUpPolicy ?? 'fire_once',
|
|
140
|
+
input.cancelCheckSec ?? 5,
|
|
141
|
+
triggerType,
|
|
142
|
+
input.condition ?? '',
|
|
143
|
+
input.checkEveryMs ?? 300000,
|
|
144
|
+
nextRunAt,
|
|
145
|
+
);
|
|
146
|
+
|
|
147
|
+
return this.getJob(id) as PromptJob;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
getJob(id: string): PromptJob | null {
|
|
151
|
+
const row = this.db
|
|
152
|
+
.prepare('SELECT * FROM prompt_jobs WHERE id = ?')
|
|
153
|
+
.get(id) as PromptJobRow | undefined;
|
|
154
|
+
return row ? rowToJob(row) : null;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
listJobs(filter?: { state?: PromptJobState; projectId?: string }): PromptJob[] {
|
|
158
|
+
let sql = 'SELECT * FROM prompt_jobs';
|
|
159
|
+
const conditions: string[] = [];
|
|
160
|
+
const params: string[] = [];
|
|
161
|
+
if (filter?.state) {
|
|
162
|
+
conditions.push('state = ?');
|
|
163
|
+
params.push(filter.state);
|
|
164
|
+
}
|
|
165
|
+
if (filter?.projectId) {
|
|
166
|
+
conditions.push('project_id = ?');
|
|
167
|
+
params.push(filter.projectId);
|
|
168
|
+
}
|
|
169
|
+
if (conditions.length > 0) sql += ' WHERE ' + conditions.join(' AND ');
|
|
170
|
+
sql += ' ORDER BY created_at DESC';
|
|
171
|
+
const rows = this.db.prepare(sql).all(...params) as PromptJobRow[];
|
|
172
|
+
return rows.map(rowToJob);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
updateJob(id: string, updates: UpdatePromptJobInput): PromptJob | null {
|
|
176
|
+
const fieldMap: Record<string, string> = {
|
|
177
|
+
name: 'name',
|
|
178
|
+
prompt: 'prompt',
|
|
179
|
+
cli: 'cli',
|
|
180
|
+
agentId: 'agent_id',
|
|
181
|
+
projectId: 'project_id',
|
|
182
|
+
provider: 'provider',
|
|
183
|
+
cronExpr: 'cron_expr',
|
|
184
|
+
model: 'model',
|
|
185
|
+
cliArgs: 'cli_args',
|
|
186
|
+
cadence: 'cadence',
|
|
187
|
+
state: 'state',
|
|
188
|
+
overlapPolicy: 'overlap_policy',
|
|
189
|
+
catchUpPolicy: 'catch_up_policy',
|
|
190
|
+
cancelCheckSec: 'cancel_check_sec',
|
|
191
|
+
triggerType: 'trigger_type',
|
|
192
|
+
condition: 'condition',
|
|
193
|
+
checkEveryMs: 'check_every_ms',
|
|
194
|
+
nextRunAt: 'next_run_at',
|
|
195
|
+
lastRunAt: 'last_run_at',
|
|
196
|
+
lastOutcome: 'last_outcome',
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
const setClauses: string[] = [];
|
|
200
|
+
const values: unknown[] = [];
|
|
201
|
+
|
|
202
|
+
for (const [key, value] of Object.entries(updates)) {
|
|
203
|
+
const col = fieldMap[key];
|
|
204
|
+
if (!col || value === undefined) continue;
|
|
205
|
+
setClauses.push(`${col} = ?`);
|
|
206
|
+
values.push(value);
|
|
207
|
+
|
|
208
|
+
// If cadence changed, also recompute cron_expr and next_run_at
|
|
209
|
+
if (key === 'cadence' && typeof value === 'string') {
|
|
210
|
+
setClauses.push('cron_expr = ?');
|
|
211
|
+
values.push(value);
|
|
212
|
+
const nextRunAt = computeNextTickFromCron(value) ?? null;
|
|
213
|
+
setClauses.push('next_run_at = ?');
|
|
214
|
+
values.push(nextRunAt);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if (setClauses.length === 0) {
|
|
219
|
+
return this.getJob(id);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
setClauses.push("updated_at = datetime('now')");
|
|
223
|
+
values.push(id);
|
|
224
|
+
|
|
225
|
+
this.db
|
|
226
|
+
.prepare(`UPDATE prompt_jobs SET ${setClauses.join(', ')} WHERE id = ?`)
|
|
227
|
+
.run(...values);
|
|
228
|
+
|
|
229
|
+
return this.getJob(id);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
deleteJob(id: string): void {
|
|
233
|
+
this.db.prepare('DELETE FROM prompt_jobs WHERE id = ?').run(id);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
getDueJobs(now: number = Date.now()): PromptJob[] {
|
|
237
|
+
const nowSec = Math.floor(now / 1000);
|
|
238
|
+
// next_run_at is stored as epoch ms; compare directly
|
|
239
|
+
const rows = this.db
|
|
240
|
+
.prepare(
|
|
241
|
+
`SELECT * FROM prompt_jobs
|
|
242
|
+
WHERE state = 'active'
|
|
243
|
+
AND next_run_at IS NOT NULL
|
|
244
|
+
AND next_run_at <= ?
|
|
245
|
+
ORDER BY next_run_at ASC`,
|
|
246
|
+
)
|
|
247
|
+
.all(now) as PromptJobRow[];
|
|
248
|
+
return rows.map(rowToJob);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// ── Run operations ──────────────────────────────────────────────────────────
|
|
252
|
+
|
|
253
|
+
createRun(jobId: string): PromptRun {
|
|
254
|
+
const id = randomUUID();
|
|
255
|
+
this.db
|
|
256
|
+
.prepare(
|
|
257
|
+
`INSERT INTO prompt_runs (id, job_id) VALUES (?, ?)`,
|
|
258
|
+
)
|
|
259
|
+
.run(id, jobId);
|
|
260
|
+
return this.getRun(id) as PromptRun;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
getRun(id: string): PromptRun | null {
|
|
264
|
+
const row = this.db
|
|
265
|
+
.prepare('SELECT * FROM prompt_runs WHERE id = ?')
|
|
266
|
+
.get(id) as PromptRunRow | undefined;
|
|
267
|
+
return row ? rowToRun(row) : null;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
listRuns(jobId: string, limit = 50): PromptRun[] {
|
|
271
|
+
const rows = this.db
|
|
272
|
+
.prepare(
|
|
273
|
+
`SELECT * FROM prompt_runs WHERE job_id = ? ORDER BY created_at DESC LIMIT ?`,
|
|
274
|
+
)
|
|
275
|
+
.all(jobId, limit) as PromptRunRow[];
|
|
276
|
+
return rows.map(rowToRun);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
updateRun(id: string, updates: Partial<Omit<PromptRun, 'id' | 'jobId' | 'createdAt'>>): PromptRun | null {
|
|
280
|
+
const fieldMap: Record<string, string> = {
|
|
281
|
+
status: 'status',
|
|
282
|
+
output: 'output',
|
|
283
|
+
error: 'error',
|
|
284
|
+
durationMs: 'duration_ms',
|
|
285
|
+
startedAt: 'started_at',
|
|
286
|
+
finishedAt: 'finished_at',
|
|
287
|
+
cancelledAt: 'cancelled_at',
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
const setClauses: string[] = [];
|
|
291
|
+
const values: unknown[] = [];
|
|
292
|
+
|
|
293
|
+
for (const [key, value] of Object.entries(updates)) {
|
|
294
|
+
const col = fieldMap[key];
|
|
295
|
+
if (!col) continue;
|
|
296
|
+
setClauses.push(`${col} = ?`);
|
|
297
|
+
values.push(value ?? null);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
if (setClauses.length === 0) {
|
|
301
|
+
return this.getRun(id);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
values.push(id);
|
|
305
|
+
this.db
|
|
306
|
+
.prepare(`UPDATE prompt_runs SET ${setClauses.join(', ')} WHERE id = ?`)
|
|
307
|
+
.run(...values);
|
|
308
|
+
|
|
309
|
+
return this.getRun(id);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
hasRunningRun(jobId: string): boolean {
|
|
313
|
+
const row = this.db
|
|
314
|
+
.prepare(
|
|
315
|
+
`SELECT id FROM prompt_runs WHERE job_id = ? AND status IN ('queued', 'running') LIMIT 1`,
|
|
316
|
+
)
|
|
317
|
+
.get(jobId);
|
|
318
|
+
return row !== undefined;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
isRunCancelled(runId: string): boolean {
|
|
322
|
+
const row = this.db
|
|
323
|
+
.prepare(`SELECT status FROM prompt_runs WHERE id = ?`)
|
|
324
|
+
.get(runId) as { status: string } | undefined;
|
|
325
|
+
return row?.status === 'cancelled';
|
|
326
|
+
}
|
|
327
|
+
}
|