@mndrk/agx 2.0.32 → 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 +18 -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 +116 -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 +4 -5
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +6 -6
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/daemon/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/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
- 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/memories/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +3 -2
- 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/processes/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/processes/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 +4 -3
- 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 +6 -6
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +4 -5
- 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 +3 -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/schedules/route.js +3 -4
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/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 +4 -4
- 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 +4 -4
- 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 +5 -5
- 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/pause/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +6 -6
- 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 +4 -4
- 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 +4 -4
- 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 +6 -6
- 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 +3 -3
- 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 +3 -3
- 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 +18 -0
- package/cloud-runtime/standalone/.next/server/chunks/[externals]__cf9f18a6._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c5634f17._.js → [root-of-the-server]__005b3c82._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e446cb39._.js → [root-of-the-server]__056d94e4._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
- 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]__0b3b6a47._.js +51 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0bb52353._.js +46 -0
- 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]__1cc2fe7f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c08bef05._.js → [root-of-the-server]__23ad03bf._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c187704._.js → [root-of-the-server]__2948f712._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__86f7d27b._.js → [root-of-the-server]__32ef6623._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__399b2ca9._.js → [root-of-the-server]__34cb1b98._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1dd062c1._.js → [root-of-the-server]__3c1567b6._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__29ce9c60._.js → [root-of-the-server]__3c37453e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__507a4363._.js → [root-of-the-server]__3faa64cd._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__10940c29._.js → [root-of-the-server]__49c03d66._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__75bff965._.js → [root-of-the-server]__4c861686._.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]__543ba6c4._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__94fa1edc._.js → [root-of-the-server]__588b6ab0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ccfcbcd5._.js → [root-of-the-server]__596d0e81._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9dfaaf72._.js → [root-of-the-server]__61c99680._.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]__75cedecf._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__98535eb3._.js → [root-of-the-server]__7e79d86a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dede3dcd._.js → [root-of-the-server]__7ee9b7b6._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8ac0286e._.js +58 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5b93200._.js → [root-of-the-server]__8b461158._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
- 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]__981d92dd._.js +63 -0
- 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]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
- 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]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6e59b27c._.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]__5ca87ba0._.js → [root-of-the-server]__b707e701._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f4b70b67._.js → [root-of-the-server]__be4ad4b5._.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]__c0a18648._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -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]__ceb02db8._.js +1 -1
- 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]__2388b2b3._.js → [root-of-the-server]__dcdeee3d._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__80655727._.js → [root-of-the-server]__e069c0a3._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5a2358a._.js → [root-of-the-server]__e1e51c02._.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/{[root-of-the-server]__12afd8a3._.js → [root-of-the-server]__ef82dda1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
- package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{_3e0d34cc._.js → _d22934ab._.js} +24 -24
- 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_knowledge-notes_route_actions_0ddf6109.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_87c06aeb._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_a5adca60._.js +64 -0
- 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 +50 -37
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +50 -37
- 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]__5ffa2883._.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/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +1 -1
- 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 +15 -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/3a55441b018d52e4.js +1 -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/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
- 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 +44 -2
- package/cloud-runtime/standalone/app/api/filesystem/pick-folder/route.ts +56 -0
- package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -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]/knowledge/page.tsx +210 -26
- 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 +147 -57
- package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +215 -19
- package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
- package/cloud-runtime/standalone/components/chat-ui/ParticipantBar.tsx +233 -213
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +131 -68
- 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 +8 -1
- package/cloud-runtime/standalone/hooks/useProcessPolling.ts +4 -3
- package/cloud-runtime/standalone/hooks/usePromptJobs.ts +111 -0
- package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
- 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/cli-runner.ts +212 -14
- package/cloud-runtime/standalone/lib/db.ts +6 -1
- package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
- package/cloud-runtime/standalone/lib/history-store.ts +116 -2
- package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +51 -0
- package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +6 -0
- package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
- 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 +862 -176
- package/lib/cli/runCli.js +0 -97
- package/lib/commands/update.js +159 -17
- 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]__0925dd01._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12c7e188._.js +0 -29
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__17c2d68f._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20b3baea._.js +0 -55
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__254e942f._.js +0 -20
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4761dc17._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4b1a512c._.js +0 -52
- 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]__4d318eb0._.js +0 -146
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
- 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]__7be8f159._.js +0 -52
- 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]__ac3c2f7f._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bfcedb7c._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e7dd1e._.js +0 -25
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcd3e3b8._.js +0 -15
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9c61da._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_66e1ddec._.js +0 -57
- package/cloud-runtime/standalone/.next/server/chunks/lib_09aac4e7._.js +0 -57
- package/cloud-runtime/standalone/.next/server/chunks/lib_cli-runner_ts_dfcf3fda._.js +0 -18
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_69b6b2e1.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1322ced8._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__783669c3._.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]__9166c1d6._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a8a8afdc._.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/_0f4e70b1._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_16c45024._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_54af99c5._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_5b2b8a85._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_68ac991e._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_6de3f1de._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_6fc3736e._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +0 -3
- 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/_fb292eed._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_ff5799d6._.js +0 -95
- 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_678fa868._.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/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/1f415d0ce7ebbd08.js +0 -8
- package/cloud-runtime/standalone/.next/static/chunks/24a6ee21f430da93.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/27129bea5b512ce8.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/3e4e8857f875c964.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/4200b512bdc226bc.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/463edf3533d27a56.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +0 -5
- package/cloud-runtime/standalone/.next/static/chunks/58025a80caa3629d.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/5cb0c885b085ea6c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/60c054bb8b2cffa6.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/651c7c97d3bd77e0.js +0 -28
- package/cloud-runtime/standalone/.next/static/chunks/6fbe08eab578c7d3.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/7d4c1d97169c8522.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/7e2edf97bd6c0874.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/8249f202d33d0d95.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/87f099ea02aa419d.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/9048e44ed538b21a.js +0 -2
- package/cloud-runtime/standalone/.next/static/chunks/99174504a201d23e.js +0 -28
- package/cloud-runtime/standalone/.next/static/chunks/9f8f719c4aa25e3d.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/a66e1891e808a664.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/a8e8ef440c4daa5a.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/bc727d3d9993e9be.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/cd308f61797939cd.js +0 -6
- package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/e62d5fa120fdf21f.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/.next/static/{i_9nSHyb52FGkCbRgv7EJ → G0Hrt7JKBM1EtMPT0lUIr}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → G0Hrt7JKBM1EtMPT0lUIr}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → G0Hrt7JKBM1EtMPT0lUIr}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),s=e.i(14747);let o="3.35.0",n=["json1"],a=["fts5"],i=["nfs","smb","cifs","efs","fuse.sshfs"];function d(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,l){let c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),s=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(s[e]||0);if(0!==t)return t}return 0}(p.v,o)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${o}`,found:p.v,required:`>= ${o}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),n))d(u,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of a)d(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(o){"linux"!==r.default.platform()&&r.default.platform();try{let n=s.default.resolve(o),{execSync:a}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",s="unknown";for(let t of e.split("\n")){let[,e,o]=t.split(/\s+/);e&&n.startsWith(e)&&e.length>r.length&&(r=e,s=o||"unknown")}return s}}catch{}return null}(l);h&&i.some(e=>h.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${l}' is on a network filesystem (${h})`,path:l,found:h,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},97812,e=>{"use strict";var t=e.i(60447);let r=new Set(["replan","rollback"]);class s extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class o extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class n extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class a extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function i(e){return null==e?null:JSON.stringify(e)}function d(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function l(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function c(e){let{type:t,status:r,metrics:s,output:o,...n}=e;return{type:t,status:r,config:n,output:o??null,metrics:s??null}}function p(e){let t={...l(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function h(e){return{query(t,r){let s=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(s.run(...r??[]),{rows:[]}):{rows:s.all(...r??[])}}}}class g{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),s=h(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=s.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new a(e.taskId,r.id);for(let[t,r]of(s.query(`INSERT INTO execution_graphs
|
|
2
|
+
(id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
|
|
3
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
4
|
+
ON CONFLICT (id) DO UPDATE SET
|
|
5
|
+
task_id = excluded.task_id,
|
|
6
|
+
graph_version = excluded.graph_version,
|
|
7
|
+
mode = excluded.mode,
|
|
8
|
+
policy = excluded.policy,
|
|
9
|
+
done_criteria = excluded.done_criteria,
|
|
10
|
+
schedule = excluded.schedule,
|
|
11
|
+
created_at = excluded.created_at,
|
|
12
|
+
updated_at = excluded.updated_at`,[e.id,e.taskId,e.graphVersion,e.mode,i(e.policy),i(e.doneCriteria),i(e.schedule??null),e.createdAt,e.updatedAt]),s.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),s.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let o=c(r);s.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
|
|
13
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,o.type,o.status,i(o.config),i(o.output),i(o.metrics)])}for(let t of e.edges)s.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
|
|
14
|
+
VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,i(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(s,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(s,e.id,t);t?.skipTaskBinding||s.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let n=this.getGraphForTask(s,e.taskId);if(!n)throw new o(e.id);return n})()}finally{t?.skipTaskBinding&&r.pragma("foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(h(t),e)}updateNodeRuntime(e,t,r){let s=this.getDb(),a=h(s);return s.transaction(()=>{if(!a.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new o(e);let r=Object.keys(t);if(0===r.length){let t=a.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:u(t.rows[0].updated_at)}}let s=r.map(()=>"?").join(", "),c=a.query(`SELECT node_id, type, status, config, output, metrics
|
|
15
|
+
FROM graph_nodes WHERE graph_id = ? AND node_id IN (${s})`,[e,...r]),p=new Map;for(let e of c.rows)p.set(e.node_id,e);let h=r.filter(e=>!p.has(e));if(h.length>0)throw new n(e,h);for(let s of r){let r=t[s],o=p.get(s);if(!o||!r)continue;let n={...l(d(o.config)),...l(r.configPatch)};void 0!==r.startedAt&&(n.startedAt=r.startedAt),void 0!==r.completedAt&&(n.completedAt=r.completedAt),void 0!==r.actualMinutes&&(n.actualMinutes=r.actualMinutes),a.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
|
|
16
|
+
WHERE graph_id = ? AND node_id = ?`,[r.status??o.status,i(r.metrics??d(o.metrics)),i(r.output??d(o.output)),i(n),e,s])}let g=a.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:g.rows[0].graph_version,updatedAt:u(g.rows[0].updated_at)}})()}updateGraphStructure(e,t,r){let s=this.getDb(),n=h(s);return s.transaction(()=>{let r=n.query("SELECT id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new o(e);if(t.nodes)for(let[r,s]of(n.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=c(s);n.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
|
|
17
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,i(t.config),i(t.output),i(t.metrics)])}if(t.edges)for(let r of(n.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))n.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
|
|
18
|
+
VALUES (?, ?, ?, ?, ?, ?)`,[e,r.from,r.to,r.type,r.condition??null,i(r.dataMapping??null)]);let s=n.query(`UPDATE execution_graphs
|
|
19
|
+
SET mode = ?, policy = ?, done_criteria = ?, schedule = ?, updated_at = datetime('now')
|
|
20
|
+
WHERE id = ?
|
|
21
|
+
RETURNING graph_version, updated_at`,[t.mode??r.mode,i(t.policy??d(r.policy)??{}),i(t.doneCriteria??d(r.done_criteria)??{}),i(t.schedule??d(r.schedule)??null),e]);return{graphVersion:s.rows[0].graph_version,updatedAt:u(s.rows[0].updated_at)}})()}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(h(r),e,t)}getGraphForTask(e,t){let s=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
|
|
22
|
+
FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!s)return null;let o=e.query(`SELECT node_id, type, status, config, output, metrics
|
|
23
|
+
FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[s.id]),n=e.query(`SELECT from_id, to_id, type, condition, data_mapping
|
|
24
|
+
FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[s.id]),a=e.query(`SELECT event_type, payload, timestamp
|
|
25
|
+
FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[s.id]),i={};for(let e of o.rows)i[e.node_id]=function(e){let t={...l(d(e.config)),type:e.type,status:e.status},r=d(e.metrics);null!==r&&(t.metrics=r);let s=d(e.output);return null!==s&&(t.output=s),t}(e);let c=n.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:d(e.condition)}:{},...e.data_mapping?{dataMapping:d(e.data_mapping)}:{}})),h=[],g=[];for(let e of a.rows){let t=p(e);r.has(t.eventType)?h.push(t):g.push(t)}return{id:s.id,taskId:s.task_id,graphVersion:s.graph_version,mode:s.mode,nodes:i,edges:c,policy:d(s.policy)??{},doneCriteria:d(s.done_criteria)??{},schedule:d(s.schedule)??void 0,versionHistory:h,runtimeEvents:g,createdAt:u(s.created_at),updatedAt:u(s.updated_at)}}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
|
|
26
|
+
VALUES (?, ?, ?, ?)`,[t,r.eventType,i(r),r.timestamp])}}function f(){return new g}let m=new g;function E(e,t){return m.createGraph(e,t)}function _(e){return m.getGraph(e)}function k(e,t,r){return m.updateNodeRuntime(e,t,r)}function S(e,t,r){return m.updateGraphStructure(e,t,r)}function T(e,t){return m.appendEvent(e,t)}function R(e,r={}){let s=["graph_id = ?"],o=[e];r.eventType&&(s.push("event_type = ?"),o.push(r.eventType)),r.since&&(s.push("timestamp >= ?"),o.push(r.since));let n=r.limit??1e3,a=`SELECT event_type, payload, timestamp
|
|
27
|
+
FROM graph_events
|
|
28
|
+
WHERE ${s.join(" AND ")}
|
|
29
|
+
ORDER BY timestamp ASC, event_type ASC
|
|
30
|
+
LIMIT ?`;return o.push(n),h((0,t.getSQLiteDb)()).query(a,o).rows.map(e=>p(e))}function y(e){let r=e.trim();return r?(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
|
|
31
|
+
FROM execution_graphs
|
|
32
|
+
WHERE schedule IS NOT NULL
|
|
33
|
+
AND json_extract(schedule, '$.rootMessageId') = ?
|
|
34
|
+
AND json_extract(schedule, '$.state') = 'active'
|
|
35
|
+
ORDER BY updated_at DESC
|
|
36
|
+
LIMIT 1`).get(r)??null:null}function v(){return(0,t.getSQLiteDb)().prepare(`SELECT json_extract(schedule, '$.rootMessageId') AS rootMessageId
|
|
37
|
+
FROM execution_graphs
|
|
38
|
+
WHERE schedule IS NOT NULL
|
|
39
|
+
AND json_extract(schedule, '$.state') = 'active'`).all().map(e=>e.rootMessageId).filter(Boolean)}function w(e){let r=e.trim();return r?Number((0,t.getSQLiteDb)().prepare(`UPDATE execution_graphs
|
|
40
|
+
SET schedule = json_set(schedule, '$.state', 'stopped', '$.tickInProgress', json('false')),
|
|
41
|
+
updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
|
|
42
|
+
WHERE schedule IS NOT NULL
|
|
43
|
+
AND json_extract(schedule, '$.rootMessageId') = ?
|
|
44
|
+
AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0):0}e.s(["GraphNodeNotFoundError",()=>n,"GraphNotFoundError",()=>o,"GraphStore",()=>g,"GraphTaskAlreadyBoundError",()=>a,"GraphVersionConflictError",()=>s,"appendEvent",()=>T,"createGraph",()=>E,"createGraphStore",()=>f,"deactivateSchedulesByRootMessageId",()=>w,"getActiveScheduleForRootMessageId",()=>y,"getActiveScheduleRootMessageIds",()=>v,"getGraph",()=>_,"getGraphEvents",()=>R,"updateGraphStructure",()=>S,"updateNodeRuntime",()=>k])},79042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},12057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},36269,e=>{"use strict";var t=e.i(248);function r(e,t=Date.now()){let s=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return s("no_schedule");let o=e.schedule;if("active"!==o.state)return s("not_active");if(o.tickInProgress)return s("tick_in_progress");if(null!=o.maxRuns&&o.runCount>=o.maxRuns)return s("max_runs_reached");if(o.cronExpr&&"number"==typeof o.nextTickAt){if(t<o.nextTickAt)return s("not_due")}else if(t-(o.lastTickAt??0)<o.intervalMs)return s("not_due");let n=JSON.parse(JSON.stringify(e)),a=[];for(let e of o.resetNodeIds){let t=n.nodes[e];t&&("done"===t.status||"passed"===t.status||"failed"===t.status||"skipped"===t.status)&&(n.nodes[e]={...t,status:"pending",startedAt:void 0,completedAt:void 0,metrics:void 0,..."function"===t.type?{output:void 0}:{},..."conditional"===t.type?{evaluatedTo:void 0}:{}},a.push(e))}return n.schedule={...o,tickInProgress:!0,lastTickAt:t,runCount:o.runCount+1},{graph:n,tickFired:!0,resetNodeIds:a}}function s(e){if(!e.schedule||!e.schedule.tickInProgress)return e;let r=e.schedule,s=r.nextTickAt;return r.cronExpr&&(s=(0,t.computeNextTickFromCron)(r.cronExpr)),{...e,schedule:{...r,tickInProgress:!1,nextTickAt:s}}}function o(e){if(!e.schedule)return!0;let t=new Set(["done","passed","failed","skipped"]);for(let r of e.schedule.resetNodeIds){let s=e.nodes[r];if(s&&!t.has(s.status))return!1}return!0}function n(e,t=6e4,r){return{intervalMs:t,state:"active",resetNodeIds:e,maxRuns:r,runCount:0,tickInProgress:!1,createdAt:new Date().toISOString()}}e.s(["completeScheduleTick",()=>s,"createThreadMonitorSchedule",()=>n,"isScheduleTickComplete",()=>o,"scheduleTickIfDue",()=>r])},71080,e=>{"use strict";var t=e.i(60447),r=e.i(36269),s=e.i(248),o=e.i(33601),n=e.i(97812);function a(){return(0,t.getSQLiteDb)().prepare(`
|
|
45
|
+
SELECT task_id, id, schedule
|
|
46
|
+
FROM execution_graphs
|
|
47
|
+
WHERE schedule IS NOT NULL
|
|
48
|
+
AND json_extract(schedule, '$.state') = 'active'
|
|
49
|
+
`).all().map(e=>({taskId:e.task_id,graphId:e.id,schedule:JSON.parse(e.schedule)}))}async function i(e={}){let t=new n.GraphStore,d={tickedGraphIds:[],skippedGraphIds:[],errors:[],pendingWork:[]},u=a();for(let{taskId:n}of(console.log(`[schedules:poll] found ${u.length} active schedule(s)`),u))try{let a=t.getGraph(n);if(!a){d.errors.push({graphId:n,error:Error("Graph not found")});continue}let i=(0,r.scheduleTickIfDue)(a);if(!i.tickFired){console.log(`[schedules:poll] ${n} skipped (${i.skipReason??"unknown"})`),d.skippedGraphIds.push(n);continue}console.log(`[schedules:poll] ${n} tick fired — resetting nodes`),t.updateGraphStructure(i.graph.id,{nodes:i.graph.nodes,schedule:i.graph.schedule});let u=(0,s.schedulerTick)(i.graph,e);console.log(`[schedules:poll] ${n} scheduler: fn=${u.functionToRun.length} work=${u.workToRun.length}`);let l=u.graph;for(let t of u.functionToRun){let r=l.nodes[t];if(r&&"function"===r.type)try{console.log(`[schedules:poll] ${n} executing function node "${t}"`);let r=await (0,o.executeNode)(l,t,e),s=r.graph.nodes[t];console.log(`[schedules:poll] ${n} function "${t}" → ${s?.status}`,s&&"output"in s?JSON.stringify(s.output)?.slice(0,200):""),l=r.graph}catch(e){console.error(`[schedules:poll] ${n} function "${t}" error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}t.updateGraphStructure(l.id,{nodes:l.nodes});let c=(0,s.schedulerTick)(l,e);for(let t of(console.log(`[schedules:poll] ${n} post-fn scheduler: cond=${c.control.conditionalNodeIds.length} work=${c.workToRun.length}`),l=c.graph,c.workToRun)){let r=l.nodes[t];if(r&&"work"===r.type)try{l=(await (0,o.executeNode)(l,t,e)).graph}catch(e){d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}if(c.workToRun.length>0){d.pendingWork.push({taskId:n,nodeIds:c.workToRun,graph:l}),t.updateGraphStructure(l.id,{nodes:l.nodes});let r=(0,s.schedulerTick)(l,e);for(let t of(console.log(`[schedules:poll] ${n} post-work scheduler: fn=${r.functionToRun.length} cond=${r.control.conditionalNodeIds.length}`),l=r.graph,r.functionToRun)){let r=l.nodes[t];if(r&&"function"===r.type)try{console.log(`[schedules:poll] ${n} executing post-work function "${t}"`),l=(await (0,o.executeNode)(l,t,e)).graph}catch(e){console.error(`[schedules:poll] ${n} post-work function "${t}" error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}}t.updateGraphStructure(l.id,{nodes:l.nodes});let p=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:poll] ${n} node states: ${p}`);let h=(0,r.isScheduleTickComplete)(l);if(console.log(`[schedules:poll] ${n} tick complete? ${h}`),h){let e=(0,r.completeScheduleTick)(l),s=e.schedule?.resetNodeIds.some(t=>e.nodes[t]?.status==="failed");if(e.schedule){let t=e.schedule.consecutiveFailures??0,r=s?t+1:0;e.schedule={...e.schedule,consecutiveFailures:r};let o=e.schedule.maxConsecutiveFailures;null!=o&&r>=o&&(e.schedule={...e.schedule,state:"paused"})}let o=t.getGraph(n);o?.schedule?.state==="stopped"&&(console.log(`[schedules:poll] ${n} schedule was stopped mid-tick, preserving stopped state`),e.schedule={...e.schedule,state:"stopped"}),t.updateGraphStructure(e.id,{nodes:e.nodes,schedule:e.schedule})}d.tickedGraphIds.push(n)}catch(e){console.error(`[schedules:poll] ${n} caught error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))});try{let e=t.getGraph(n);if(e?.schedule?.tickInProgress){let s=(0,r.completeScheduleTick)(e);t.updateGraphStructure(s.id,{nodes:s.nodes,schedule:s.schedule}),console.log(`[schedules:poll] ${n} force-completed stuck tick`)}}catch{}}return d}async function d(e,t={}){let a=new n.GraphStore,i=a.getGraph(e);if(!i)return{fired:!1,graph:null,error:Error("Graph not found")};if(!i.schedule)return{fired:!1,graph:i,error:Error("No schedule on graph")};let u=(0,r.scheduleTickIfDue)(i);if(!u.tickFired)return{fired:!1,graph:u.graph};a.updateGraphStructure(u.graph.id,{nodes:u.graph.nodes,schedule:u.graph.schedule});let l=u.graph,c=0;for(;;){c++;let e=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:tick] loop ${c} nodes before: ${e}`);let n=(0,s.schedulerTick)(l,t);for(let e of(console.log(`[schedules:tick] loop ${c} fn=${n.functionToRun.length} work=${n.workToRun.length} cond=${n.control.conditionalNodeIds.length}`),n.functionToRun)){let r=l.nodes[e];r&&"function"===r.type&&(l=(await (0,o.executeNode)(l,e,t)).graph,console.log(`[schedules:tick] fn "${e}" → ${l.nodes[e]?.status}`))}for(let e of(n.control.conditionalNodeIds.length>0&&(l=n.graph,console.log(`[schedules:tick] applied conditional results: ${n.control.conditionalNodeIds.join(", ")}`)),n.workToRun))l=(await (0,o.executeNode)(l,e,t)).graph;let a=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");if(console.log(`[schedules:tick] loop ${c} nodes after: ${a}`),(0,r.isScheduleTickComplete)(l)){console.log(`[schedules:tick] tick complete after loop ${c}`);break}if(n.complete||!(n.workToRun.length>0||n.functionToRun.length>0))break}let p=(0,r.completeScheduleTick)(l);return a.updateGraphStructure(p.id,{nodes:p.nodes,schedule:p.schedule}),{fired:!0,graph:p}}e.s(["executeScheduleTick",()=>d,"getGraphsWithActiveSchedules",()=>a,"pollSchedules",()=>i])},26057,e=>{"use strict";var t=e.i(33405);function r(e,t){let r="string"==typeof e.args?.rootMessageId?e.args.rootMessageId.trim():"";return r||(t.schedule?.rootMessageId?.trim()??"")}async function s(t){try{let{getSQLiteDb:r}=await e.A(18801),s=r(),o=s.prepare("SELECT project_id FROM project_threads WHERE thread_id = ? ORDER BY created_at ASC LIMIT 1").get(t);if(!o?.project_id)return null;let n=s.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC, created_at ASC LIMIT 1").get(o.project_id);return n?.agent_id??null}catch{return null}}async function o(t,s){let o=r(t,s);if(!o)return{status:"failure",message:"thread-status requires rootMessageId"};let{getMessageThread:n,getThreadStatusSnapshot:a,sweepStaleWorkingReactions:i}=await e.A(18760),d=await n(o);if(!d)return{status:"failure",message:`Thread not found for rootMessageId: ${o}`};await i(d.threadId);let u=await a({threadId:d.threadId,rootMessageId:o});return{status:"success",output:{activeProcessCount:u.processes.filter(e=>"working"===e.status).length,messageCount:u.messages?.length??0,threadId:d.threadId,lastUpdatedAt:u.lastUpdatedAt}}}async function n(t,o){let n=r(t,o);if(!n)return{status:"failure",message:"ship-mode-act requires rootMessageId"};let a=function(e,t){let r="string"==typeof e.args?.steerNodeId&&e.args.steerNodeId.trim()?e.args.steerNodeId.trim():"steer",s=t.nodes[r];if(!s||"work"!==s.type)return null;let o=s.output;return o&&"object"==typeof o?{isDone:!!o.isDone,message:"string"==typeof o.message?o.message:""}:null}(t,o);if(!a)return{status:"failure",message:"Unable to read steer node output"};let{getMessageThread:i,saveMessages:d,updateMessageStatus:u}=await e.A(18760),{deactivateSchedulesByRootMessageId:l}=await e.A(32025),c=await i(n);if(!c)return{status:"failure",message:`Thread not found for rootMessageId: ${n}`};if(a.isDone)return l(n),await u(c.threadId,n,"in-review",null),{status:"success",output:{done:!0,action:"stopped_and_in_review"}};let p=await s(c.threadId),h=crypto.randomUUID();return await d(c.threadId,[{id:h,role:"assistant",participantId:p,content:a.message,timestamp:Date.now(),rootMessageId:n,parentMessageId:n,depth:1}]),{status:"success",output:{done:!1,action:"sent_next_steps",sender:p,messageId:h}}}async function a(e,t){if("internal"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};switch(e.command){case"thread-status":return o(e,t);case"ship-mode-act":return n(e,t);default:return{status:"failure",message:`Unsupported internal function command: ${e.command}`}}}async function i(e,r){if("bash"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};let s=e.command;if(!s||""===s.trim())return{status:"failure",message:"Empty command"};let o=e.timeoutMs??3e4;return new Promise(e=>{let r="",n="",a=0,i=!1,d=!1,u=(0,t.spawn)(s,[],{shell:!0,timeout:o,killSignal:"SIGTERM"}),l=setTimeout(()=>{d=!0,u.kill("SIGTERM")},o);u.stdout.on("data",e=>{if(i)return;let t=Buffer.byteLength(e.toString(),"utf8");if(a+t>65536){i=!0;return}r+=e.toString(),a+=t}),u.stderr.on("data",e=>{n+=e.toString()}),u.on("error",t=>{clearTimeout(l),e({status:"failure",message:`Failed to spawn command: ${t.message}`,error:t})}),u.on("close",t=>{if(clearTimeout(l),d)return void e({status:"failure",message:`Command timed out after ${o}ms`});if(i)return void e({status:"failure",message:"Stdout exceeded 65536 bytes limit"});if(0!==t)return void e({status:"failure",message:`Command exited with code ${t}: ${n||"(no stderr)"}`});let s=r.trim();if(""===s)return void e({status:"success",output:{}});try{let t=JSON.parse(s);e({status:"success",output:t})}catch{e({status:"success",output:{raw:s}})}})})}function d(){return async(e,t)=>{switch(e.kind){case"bash":return i(e,t);case"internal":return a(e,t);default:return{status:"failure",message:`Unsupported function node kind: ${e.kind}`}}}}e.s(["createDispatchFunction",()=>d,"dispatchBashFunction",()=>i],26057)},97127,e=>{"use strict";var t=e.i(2157),r=e.i(50227),s=e.i(60526);let o=`You are a progress assessor. Review the conversation state below and determine:
|
|
50
|
+
1. Is the work DONE? (all objectives met, code written, tests passing)
|
|
51
|
+
2. If not done, what should the team do next?
|
|
52
|
+
|
|
53
|
+
You MUST respond with ONLY a JSON object, no markdown fences, no extra text:
|
|
54
|
+
{"isDone": true/false, "message": "your assessment"}
|
|
55
|
+
|
|
56
|
+
If done, message should confirm what was accomplished.
|
|
57
|
+
If not done, message must be exactly one message that combines:
|
|
58
|
+
- a brief assessment of what is done vs. not done
|
|
59
|
+
- the concrete next steps for the team
|
|
60
|
+
|
|
61
|
+
Do not produce separate status and instruction messages.`;function n(){return async(n,a)=>{let i=a.schedule?.rootMessageId;if(!i)return{status:"failure",message:"No rootMessageId on graph schedule"};console.log(`[work-dispatch] Dispatching steer node "${n.title}" for graph ${a.id} (root: ${i})`);try{let{getMessageThread:n,getThreadStatusSnapshot:a,sweepStaleWorkingReactions:d}=await e.A(18760),u=await n(i);if(!u)return{status:"failure",message:`Thread not found for rootMessageId: ${i}`};await d(u.threadId);let l=await a({threadId:u.threadId,rootMessageId:i}),c=l.processes.filter(e=>"working"===e.status).length,p=(l.messages??[]).slice(-10).map(e=>{let t=e.participantId??e.role??"?",r=(e.content??"").slice(0,300);return`[${t}]: ${r}`}).join("\n");console.log(`[work-dispatch] Thread: active=${c}, msgs=${l.messages?.length??0}`);let h=["--- THREAD STATE ---",`Active agents: ${c}`,`Total messages: ${l.messages?.length??0}`,"\nRecent messages:",p,"--- END THREAD STATE ---\n\nAssess the progress and respond with the JSON object."].join("\n"),{runCliResponse:g}=await e.A(31259),f=function(e){switch(e){case"claude":case"gemini":case"ollama":case"codex":case"zai":return e;default:return"claude"}}(function(){try{let e=(0,r.join)((0,s.homedir)(),".agx","config.json");return JSON.parse((0,t.readFileSync)(e,"utf8")).defaultProvider??"claude"}catch{return"claude"}}());console.log(`[work-dispatch] Calling ${f} via runCliResponse (prompt length: ${h.length})...`);let m="";await g({provider:f,model:null,prompt:h,systemContext:o,onDelta:e=>{m+=e},onLog:(e,t)=>{console.log(`[work-dispatch] [${e}] ${t}`)}}),console.log(`[work-dispatch] Raw response: ${m.slice(0,500)}`);let E=function(e){let t=e.match(/\{[\s\S]*?"isDone"\s*:\s*(true|false)[\s\S]*?\}/);if(t)try{let e=JSON.parse(t[0]);return{isDone:!!e.isDone,message:String(e.message??"")}}catch{}return e.includes("[done]")?{isDone:!0,message:e}:{isDone:!1,message:e}}(m.trim());return console.log("[work-dispatch] Parsed result:",E),{status:"success",output:E}}catch(e){return console.error("[work-dispatch] Steer dispatch failed:",e),{status:"failure",message:e instanceof Error?e.message:String(e),error:e}}}}e.s(["createDispatchWork",()=>n])},30995,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),o=e.i(59756),n=e.i(61916),a=e.i(74677),i=e.i(69741),d=e.i(16795),u=e.i(87718),l=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(74838),f=e.i(10372),m=e.i(93695);e.i(52474);var E=e.i(220),_=e.i(94028),k=e.i(71080),S=e.i(26057),T=e.i(97127);async function R(e){try{let t=await e.json().catch(()=>({})),r=(0,S.createDispatchFunction)(),s=(0,T.createDispatchWork)();if(t.taskId){let e=await (0,k.executeScheduleTick)(t.taskId,{dispatchFunction:r,dispatchWork:s});return _.NextResponse.json({success:e.fired,taskId:t.taskId,error:e.error?.message??null})}let o=await (0,k.pollSchedules)({dispatchFunction:r,dispatchWork:s});return _.NextResponse.json({success:!0,tickedGraphIds:o.tickedGraphIds,skippedGraphIds:o.skippedGraphIds,errorCount:o.errors.length,errors:o.errors.length>0?o.errors.map(e=>({graphId:e.graphId,message:e.error.message})):void 0})}catch(e){return console.error("Schedule poll error:",e),_.NextResponse.json({error:"Failed to poll schedules",message:e instanceof Error?e.message:String(e)},{status:500})}}async function y(){try{let{getGraphsWithActiveSchedules:t}=await e.A(84511),r=t();return _.NextResponse.json({count:r.length,schedules:r.map(e=>({taskId:e.taskId,graphId:e.graphId,state:e.schedule.state,intervalMs:e.schedule.intervalMs,runCount:e.schedule.runCount,lastTickAt:e.schedule.lastTickAt,tickInProgress:e.schedule.tickInProgress}))})}catch(e){return console.error("Failed to list schedules:",e),_.NextResponse.json({error:"Failed to list schedules"},{status:500})}}e.s(["GET",()=>y,"POST",()=>R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],16548);var v=e.i(16548);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/schedules/poll/route",pathname:"/api/schedules/poll",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/schedules/poll/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:x,workUnitAsyncStorage:I,serverHooks:A}=w;function N(){return(0,s.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:I})}async function $(e,t,s){w.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/schedules/poll/route";_=_.replace(/\/index$/,"")||"/";let k=await w.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:S,params:T,nextConfig:R,parsedUrl:y,isDraftMode:v,prerenderManifest:x,routerServerContext:I,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,resolvedPathname:$,clientReferenceManifest:C,serverActionsManifest:D}=k,b=(0,i.normalizeAppPath)(_),O=!!(x.dynamicRoutes[b]||x.routes[$]),L=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,y,!1):t.end("This page could not be found"),null);if(O&&!v){let e=!!x.routes[$],t=x.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await L();throw new m.NoFallbackError}}let M=null;!O||w.isDev||v||(M="/index"===(M=$)?"/":M);let j=!0===w.isDev||!O,q=O&&!j;D&&C&&(0,a.setManifestsSingleton)({page:_,clientReferenceManifest:C,serverActionsManifest:D});let F=e.method||"GET",U=(0,n.getTracer)(),G=U.getActiveScopeSpan(),P={params:T,prerenderManifest:x,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,o.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,o)=>w.onRequestError(e,t,s,o,I)},sharedContext:{buildId:S}},H=new d.NodeNextRequest(e),W=new d.NodeNextResponse(t),B=u.NextRequestAdapter.fromNodeNextRequest(H,(0,u.signalFromNodeResponse)(t));try{let a=async e=>w.handle(B,P).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${F} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${F} ${_}`)}),i=!!(0,o.getRequestMeta)(e,"minimalMode"),d=async o=>{var n,d;let u=async({previousCacheEntry:r})=>{try{if(!i&&A&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(o);e.fetchMetrics=P.renderOpts.fetchMetrics;let d=P.renderOpts.pendingWaitUntil;d&&s.waitUntil&&(s.waitUntil(d),d=void 0);let u=P.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(H,W,n,P.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[f.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==P.renderOpts.collectedRevalidate&&!(P.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&P.renderOpts.collectedRevalidate,s=void 0===P.renderOpts.collectedExpire||P.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:P.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:A})},!1,I),t}},l=await w.handleResponse({req:e,nextConfig:R,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:N,responseGenerator:u,waitUntil:s.waitUntil,isMinimalMode:i});if(!O)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(d=l.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),v&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,h.fromNodeOutgoingHttpHeaders)(l.value.headers);return i&&O||m.delete(f.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,g.getCacheControlHeader)(l.cacheControl)),await (0,p.sendResponse)(H,W,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};G?await d(G):await U.withPropagatedContext(e.headers,()=>U.trace(l.BaseServerSpan.handleRequest,{spanName:`${F} ${_}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},d))}catch(t){if(t instanceof m.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:A})},!1,I),O)throw t;return await (0,p.sendResponse)(H,W,new Response(null,{status:500})),null}}e.s(["handler",()=>$,"patchFetch",()=>N,"routeModule",()=>w,"serverHooks",()=>A,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>I],30995)},82848,e=>{e.v(e=>Promise.resolve().then(()=>e(74533)))},97757,e=>{e.v(e=>Promise.resolve().then(()=>e(26057)))},18801,e=>{e.v(e=>Promise.resolve().then(()=>e(60447)))},18760,e=>{e.v(t=>Promise.all(["server/chunks/lib_history-store_ts_2e721df2._.js"].map(t=>e.l(t))).then(()=>t(42639)))},32025,e=>{e.v(e=>Promise.resolve().then(()=>e(97812)))},31259,e=>{e.v(t=>Promise.all(["server/chunks/lib_87c06aeb._.js"].map(t=>e.l(t))).then(()=>t(14350)))},84511,e=>{e.v(e=>Promise.resolve().then(()=>e(71080)))}];
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__981d92dd._.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747);let s="3.35.0",l=["json1"],n=["fts5"],i=["nfs","smb","cifs","efs","fuse.sshfs"];function o(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function d(d,u){let c=[],p=d.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(p.v,s)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${s}`,found:p.v,required:`>= ${s}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),l))o(d,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of n)o(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let f=function(s){"linux"!==r.default.platform()&&r.default.platform();try{let l=a.default.resolve(s),{execSync:n}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",a="unknown";for(let t of e.split("\n")){let[,e,s]=t.split(/\s+/);e&&l.startsWith(e)&&e.length>r.length&&(r=e,a=s||"unknown")}return a}}catch{}return null}(u);f&&i.some(e=>f.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${u}' is on a network filesystem (${f})`,path:u,found:f,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{d.pragma("journal_mode = wal"),d.pragma("foreign_keys = 1"),d.pragma("busy_timeout = 5000"),d.pragma("synchronous = 1"),d.pragma("cache_size = -64000");let e=d.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){d.pragma("journal_mode = DELETE");let e=d.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(d.pragma("synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>d])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},37175,e=>{"use strict";var t=e.i(2157),r=e.i(50227),a=e.i(74533),s=e.i(60447);let l=null,n=new Map;function i(e){return e.replace(/\s+/g," ").trim()}function o(e){return e.replace(/<br\s*\/?>/gi,"\n").replace(/<\/(p|h1|h2|h3|h4|h5|h6|li|tr|div)>/gi,"\n").replace(/<li[^>]*>/gi,"• ").replace(/<[^>]*>/g,"").replace(/&#x([0-9a-f]+);/gi,(e,t)=>{let r=Number.parseInt(t,16);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/&#([0-9]+);/g,(e,t)=>{let r=Number.parseInt(t,10);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/ /g," ").replace(/\r/g,"").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function d(e){return"claude"===e||"codex"===e||"gemini"===e||"zai"===e?e:null}function u(e){return"claude"===e?"claude-code":"codex"===e?"codex":"gemini"===e?"gemini-cli":"zai"===e?"claude-code":null}function c(e){return r.default.join(process.cwd(),".agents","skills",e,"SKILL.md")}function p(){let e=r.default.join(process.cwd(),".agents","skills");return t.default.existsSync(e)?t.default.readdirSync(e,{withFileTypes:!0}).filter(a=>a.isDirectory()&&t.default.existsSync(r.default.join(e,a.name,"SKILL.md"))).map(e=>e.name).sort((e,t)=>e.localeCompare(t)):[]}async function f(){if(l&&Date.now()-l.loadedAt<36e5)return l.data;try{let e=await fetch("https://skills.sh");if(!e.ok)return[];let t=await e.text(),r=t.indexOf("initialSkills");if(-1===r)return[];let a=t.indexOf(":[",r);if(-1===a)return[];let s=a+1,n=0,i=s;for(let e=s;e<t.length;e+=1)if("["===t[e]&&(n+=1),"]"===t[e]&&(n-=1),0===n){i=e+1;break}let o=t.slice(s,i).replace(/\\"/g,'"'),d=JSON.parse(o).map((e,t)=>({rank:t+1,name:e.name??e.skillId??"",skillId:e.skillId??e.name??"",repo:e.source??"",installs:"number"==typeof e.installs?e.installs:0}));return l={loadedAt:Date.now(),data:d},d}catch{return[]}}async function m(e,t){let r=`${e}/${t}`,a=n.get(r);if(a&&Date.now()-a.loadedAt<36e5)return a.data;try{let a=await fetch(`https://skills.sh/${e}/${t}`);if(!a.ok)return null;let s=await a.text(),l=function(e){let t=e.match(/<div class="prose[^>]*>([\s\S]*?)<\/div>\s*<\/div>\s*<\/div>\s*<\/div>\s*<div class=" lg:col-span-3">/i);if(t?.[1])return t[1];let r=e.indexOf('<div class="prose');if(-1===r)return"";let a=e.indexOf(">",r);if(-1===a)return"";let s=e.indexOf('<div class=" lg:col-span-3">',a);return -1===s?"":e.slice(a+1,s).replace(/\s*<\/div>\s*$/i,"").trim()}(s),d=l.match(/<h1[^>]*>([\s\S]*?)<\/h1>/i),u=d?i(o(d[1])):"",c=(d?l.slice((d.index??0)+d[0].length):l).match(/<p[^>]*>([\s\S]*?)<\/p>/i),p=c?i(o(c[1])):"",f=[],m=l.match(/<h2[^>]*>\s*When to Use This Skill\s*<\/h2>([\s\S]*?)(?:<h2[^>]*>|$)/i);if(m){let e=m[1].match(/<ul[^>]*>([\s\S]*?)<\/ul>/i);if(e){let t=/<li[^>]*>([\s\S]*?)<\/li>/gi,r=null;for(;null!==(r=t.exec(e[1]));){let e=i(o(r[1]));e&&f.push(e)}}}let h=s.match(/Weekly\s+Installs[\s\S]{0,240}?>([\d,.]+[KkMm]?)<\/div>/i)?.[1]??"",g=s.match(/First\s+[Ss]een[\s\S]{0,240}?>([A-Za-z]{3}\s+\d{1,2},\s+\d{4})<\/div>/i)?.[1]??"",v=s.match(/\\"command\\":\\"((?:[^"\\]|\\.)*)\\"/),x=v?v[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\").trim():`npx skills add ${e} --skill ${t}`,_={title:u,description:p,whenToUse:f,weeklyInstalls:h,firstSeen:g,installCommand:x};return n.set(r,{loadedAt:Date.now(),data:_}),_}catch{return null}}function h(e){(0,s.getSQLiteDb)().prepare(`INSERT INTO skill_learning_history
|
|
2
|
+
(provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at)
|
|
3
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(e.provider,e.repo,e.skill_id,e.skill_label,e.status,e.command,e.error,e.run_started_at,e.run_completed_at,e.created_at,e.updated_at)}function g(e=50,t){let r=(0,s.getSQLiteDb)(),a=[],l="",n=t?d(t):null;return n&&(l="WHERE provider = ?",a.push(n)),a.push(e),r.prepare(`SELECT id, provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at
|
|
4
|
+
FROM skill_learning_history
|
|
5
|
+
${l}
|
|
6
|
+
ORDER BY updated_at DESC, created_at DESC
|
|
7
|
+
LIMIT ?`).all(...a)}function v(e){let t=(0,s.getSQLiteDb)(),r=[],a="status = 'succeeded'",l=e?d(e):null;return l&&(a+=" AND provider = ?",r.push(l)),t.prepare(`SELECT provider, repo, skill_id, skill_label, MAX(COALESCE(run_completed_at, updated_at, created_at)) AS learned_at
|
|
8
|
+
FROM skill_learning_history
|
|
9
|
+
WHERE ${a}
|
|
10
|
+
GROUP BY provider, repo, skill_id, skill_label
|
|
11
|
+
ORDER BY learned_at DESC`).all(...r)}function x(e){let t=Array.from(new Set(e.providers.map(e=>d(e)).filter(Boolean)));if(0===t.length)return{ok:!1,command:"",stdout:"",stderr:"",results:[],error:"No supported providers selected"};let r=Date.now(),s=[],l="",n="",o="",c=new Map;for(let e of t){let t=u(e);if(!t)continue;let r=c.get(t)??[];r.push(e),c.set(t,r)}for(let[t,d]of c.entries()){let u=["--yes","skills@latest","add",e.repo,"--skill",e.skillId,"--agent",t,"--yes"];o=`npx ${u.join(" ")}`;let c=(0,a.spawnSync)("npx",u,{cwd:process.cwd(),encoding:"utf8",timeout:12e4,env:{...process.env,FORCE_COLOR:"0"}});l=String(c.stdout??""),n=String(c.stderr??"");let p=0===c.status;for(let a of d)s.push({provider:a,ok:p,agent:t}),h({provider:a,repo:e.repo,skill_id:e.skillId,skill_label:e.skillId,status:p?"succeeded":"failed",command:o,error:p?null:i(n||l).slice(0,1e3),run_started_at:r,run_completed_at:Date.now(),created_at:r,updated_at:Date.now()});if(!p)return{ok:!1,command:o,stdout:l,stderr:n,results:s,error:i(n||l)||"Installation failed"}}return{ok:!0,command:o,stdout:l,stderr:n,results:s}}function _(e){let t=Array.from(new Set(e.providers.map(e=>d(e)).filter(Boolean)));if(0===t.length)return{ok:!1,command:"",stdout:"",stderr:"",results:[],error:"No supported providers selected"};let r=Date.now(),s=[],l="",n="",o="",c=new Map;for(let e of t){let t=u(e);if(!t)continue;let r=c.get(t)??[];r.push(e),c.set(t,r)}for(let[t,d]of c.entries()){let u=["--yes","skills@latest","remove",e.skillId,"--agent",t,"--yes"];o=`npx ${u.join(" ")}`;let c=(0,a.spawnSync)("npx",u,{cwd:process.cwd(),encoding:"utf8",timeout:12e4,env:{...process.env,FORCE_COLOR:"0"}});l=String(c.stdout??""),n=String(c.stderr??"");let p=0===c.status;for(let a of d)s.push({provider:a,ok:p,agent:t}),h({provider:a,repo:"local/remove",skill_id:e.skillId,skill_label:e.skillId,status:p?"succeeded":"failed",command:o,error:p?null:i(n||l).slice(0,1e3),run_started_at:r,run_completed_at:Date.now(),created_at:r,updated_at:Date.now()});if(!p)return{ok:!1,command:o,stdout:l,stderr:n,results:s,error:i(n||l)||"Removal failed"}}return{ok:!0,command:o,stdout:l,stderr:n,results:s}}e.s(["fetchSkillDetail",()=>m,"fetchSkillsCatalog",()=>f,"installSkill",()=>x,"installedSkillPath",()=>c,"listAvailableSkills",()=>v,"listInstalledSkillIds",()=>p,"listSkillHistory",()=>g,"removeSkill",()=>_])},78698,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),l=e.i(61916),n=e.i(74677),i=e.i(69741),o=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(74838),h=e.i(10372),g=e.i(93695);e.i(52474);var v=e.i(220),x=e.i(94028),_=e.i(37175);async function k(e){try{let{searchParams:t}=new URL(e.url),r=t.get("provider")??void 0;return x.NextResponse.json({ok:!0,installed:(0,_.listInstalledSkillIds)(),skills:(0,_.listAvailableSkills)(r)})}catch(e){return console.error("Error fetching available skills:",e),x.NextResponse.json({error:"Failed to fetch available skills"},{status:500})}}e.s(["GET",()=>k,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],57520);var S=e.i(57520);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/skills/available/route",pathname:"/api/skills/available",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/skills/available/route.ts",nextConfigOutput:"standalone",userland:S}),{workAsyncStorage:E,workUnitAsyncStorage:R,serverHooks:b}=w;function y(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:R})}async function A(e,t,a){w.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/skills/available/route";x=x.replace(/\/index$/,"")||"/";let _=await w.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:k,params:S,nextConfig:E,parsedUrl:R,isDraftMode:b,prerenderManifest:y,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:L,resolvedPathname:I,clientReferenceManifest:O,serverActionsManifest:T}=_,D=(0,i.normalizeAppPath)(x),N=!!(y.dynamicRoutes[D]||y.routes[I]),q=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,R,!1):t.end("This page could not be found"),null);if(N&&!b){let e=!!y.routes[I],t=y.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await q();throw new g.NoFallbackError}}let j=null;!N||w.isDev||b||(j="/index"===(j=I)?"/":j);let $=!0===w.isDev||!N,P=N&&!$;T&&O&&(0,n.setManifestsSingleton)({page:x,clientReferenceManifest:O,serverActionsManifest:T});let U=e.method||"GET",F=(0,l.getTracer)(),M=F.getActiveScopeSpan(),H={params:S,prerenderManifest:y,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:$,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>w.onRequestError(e,t,a,s,A)},sharedContext:{buildId:k}},B=new o.NodeNextRequest(e),K=new o.NodeNextResponse(t),Q=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let n=async e=>w.handle(Q,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${x}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),o=async s=>{var l,o;let d=async({previousCacheEntry:r})=>{try{if(!i&&C&&L&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let l=await n(s);e.fetchMetrics=H.renderOpts.fetchMetrics;let o=H.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=H.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(B,K,l,H.renderOpts.pendingWaitUntil),null;{let e=await l.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(l.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:l.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:C})},!1,A),t}},u=await w.handleResponse({req:e,nextConfig:E,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:L,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:i});if(!N)return null;if((null==u||null==(l=u.value)?void 0:l.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",C?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&N||g.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(B,K,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};M?await o(M):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${x}`,kind:l.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},o))}catch(t){if(t instanceof g.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:C})},!1,A),N)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>y,"routeModule",()=>w,"serverHooks",()=>b,"workAsyncStorage",()=>E,"workUnitAsyncStorage",()=>R],78698)}];
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__98b352f7._.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747);let n="3.35.0",s=["json1"],o=["fts5"],i=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function d(d,c){let p=[],u=d.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(u.v,n)&&p.push({kind:"version_mismatch",message:`SQLite version ${u.v} is below minimum ${n}`,found:u.v,required:`>= ${n}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),s))l(d,e)||p.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)l(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(n){"linux"!==r.default.platform()&&r.default.platform();try{let s=a.default.resolve(n),{execSync:o}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",a="unknown";for(let t of e.split("\n")){let[,e,n]=t.split(/\s+/);e&&s.startsWith(e)&&e.length>r.length&&(r=e,a=n||"unknown")}return a}}catch{}return null}(c);m&&i.some(e=>m.toLowerCase().includes(e))&&p.push({kind:"filesystem_error",message:`Database path '${c}' is on a network filesystem (${m})`,path:c,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{d.pragma("journal_mode = wal"),d.pragma("foreign_keys = 1"),d.pragma("busy_timeout = 5000"),d.pragma("synchronous = 1"),d.pragma("cache_size = -64000");let e=d.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){d.pragma("journal_mode = DELETE");let e=d.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(d.pragma("synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):p.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){p.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return p}e.s(["validateSQLiteEnvironment",()=>d])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},79042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},38479,e=>{"use strict";var t=e.i(54799),r=e.i(248);function a(e){return{id:e.id,name:e.name,prompt:e.prompt,agentId:e.agent_id||"",projectId:e.project_id||"",provider:e.provider||e.cli||"claude",model:e.model||"",cliArgs:e.cli_args||"",cronExpr:e.cron_expr,cadence:e.cadence,state:e.state,overlapPolicy:e.overlap_policy,catchUpPolicy:e.catch_up_policy||"fire_once",cancelCheckSec:e.cancel_check_sec,triggerType:e.trigger_type||"scheduled",condition:e.condition||"",checkEveryMs:e.check_every_ms||3e5,nextRunAt:e.next_run_at,lastRunAt:e.last_run_at,lastOutcome:e.last_outcome,createdAt:e.created_at,updatedAt:e.updated_at}}function n(e){return{id:e.id,jobId:e.job_id,status:e.status,output:e.output,error:e.error,durationMs:e.duration_ms,startedAt:e.started_at,finishedAt:e.finished_at,cancelledAt:e.cancelled_at,createdAt:e.created_at}}class s{db;constructor(e){this.db=e}createJob(e){let a,n=(0,t.randomUUID)(),s=e.cadence,o=e.cronExpr||s,i=e.triggerType??"scheduled",l=e.provider??"claude";return a="condition"===i?Date.now()+(e.checkEveryMs??3e5):(0,r.computeNextTickFromCron)(o)??null,this.db.prepare(`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)
|
|
2
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(n,e.name,e.prompt,l,e.agentId||null,e.projectId||null,l,e.model??"",e.cliArgs??"",o,s,e.overlapPolicy??"skip",e.catchUpPolicy??"fire_once",e.cancelCheckSec??5,i,e.condition??"",e.checkEveryMs??3e5,a),this.getJob(n)}getJob(e){let t=this.db.prepare("SELECT * FROM prompt_jobs WHERE id = ?").get(e);return t?a(t):null}listJobs(e){let t="SELECT * FROM prompt_jobs",r=[],n=[];return e?.state&&(r.push("state = ?"),n.push(e.state)),e?.projectId&&(r.push("project_id = ?"),n.push(e.projectId)),r.length>0&&(t+=" WHERE "+r.join(" AND ")),t+=" ORDER BY created_at DESC",this.db.prepare(t).all(...n).map(a)}updateJob(e,t){let a={name:"name",prompt:"prompt",cli:"cli",agentId:"agent_id",projectId:"project_id",provider:"provider",cronExpr:"cron_expr",model:"model",cliArgs:"cli_args",cadence:"cadence",state:"state",overlapPolicy:"overlap_policy",catchUpPolicy:"catch_up_policy",cancelCheckSec:"cancel_check_sec",triggerType:"trigger_type",condition:"condition",checkEveryMs:"check_every_ms",nextRunAt:"next_run_at",lastRunAt:"last_run_at",lastOutcome:"last_outcome"},n=[],s=[];for(let[e,o]of Object.entries(t)){let t=a[e];if(t&&void 0!==o&&(n.push(`${t} = ?`),s.push(o),"cadence"===e&&"string"==typeof o)){n.push("cron_expr = ?"),s.push(o);let e=(0,r.computeNextTickFromCron)(o)??null;n.push("next_run_at = ?"),s.push(e)}}return 0===n.length||(n.push("updated_at = datetime('now')"),s.push(e),this.db.prepare(`UPDATE prompt_jobs SET ${n.join(", ")} WHERE id = ?`).run(...s)),this.getJob(e)}deleteJob(e){this.db.prepare("DELETE FROM prompt_jobs WHERE id = ?").run(e)}getDueJobs(e=Date.now()){return this.db.prepare(`SELECT * FROM prompt_jobs
|
|
3
|
+
WHERE state = 'active'
|
|
4
|
+
AND next_run_at IS NOT NULL
|
|
5
|
+
AND next_run_at <= ?
|
|
6
|
+
ORDER BY next_run_at ASC`).all(e).map(a)}createRun(e){let r=(0,t.randomUUID)();return this.db.prepare("INSERT INTO prompt_runs (id, job_id) VALUES (?, ?)").run(r,e),this.getRun(r)}getRun(e){let t=this.db.prepare("SELECT * FROM prompt_runs WHERE id = ?").get(e);return t?n(t):null}listRuns(e,t=50){return this.db.prepare("SELECT * FROM prompt_runs WHERE job_id = ? ORDER BY created_at DESC LIMIT ?").all(e,t).map(n)}updateRun(e,t){let r={status:"status",output:"output",error:"error",durationMs:"duration_ms",startedAt:"started_at",finishedAt:"finished_at",cancelledAt:"cancelled_at"},a=[],n=[];for(let[e,s]of Object.entries(t)){let t=r[e];t&&(a.push(`${t} = ?`),n.push(s??null))}return 0===a.length||(n.push(e),this.db.prepare(`UPDATE prompt_runs SET ${a.join(", ")} WHERE id = ?`).run(...n)),this.getRun(e)}hasRunningRun(e){return void 0!==this.db.prepare("SELECT id FROM prompt_runs WHERE job_id = ? AND status IN ('queued', 'running') LIMIT 1").get(e)}isRunCancelled(e){let t=this.db.prepare("SELECT status FROM prompt_runs WHERE id = ?").get(e);return t?.status==="cancelled"}}var o=e.i(22734),i=e.i(14747),l=e.i(60447);let d=null;function c(){if(!d){let e=(0,l.getSQLiteDb)();if(e.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='prompt_jobs'").get()){if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='catch_up_policy'").get()){let t=(0,o.readFileSync)(i.default.join(process.cwd(),"db/sqlite/003_prompt_scheduler_v2.sql"),"utf-8");e.exec(t)}}else{let t=(0,o.readFileSync)(i.default.join(process.cwd(),"db/sqlite/002_prompt_scheduler_schema.sql"),"utf-8");e.exec(t)}d=new s(e)}return d}e.s(["getPromptJobStore",()=>c],38479)},44506,e=>{"use strict";let t=[{regex:/^every\s+(\d+)\s*s(?:ec(?:ond)?s?)?$/i,handler:e=>({cronExpr:`*/${Math.max(1,Math.ceil(parseInt(e[1])/60))} * * * *`,intervalMs:1e3*parseInt(e[1]),cadence:`Every ${e[1]} seconds`})},{regex:/^every\s+(\d+)\s*m(?:in(?:ute)?s?)?$/i,handler:e=>({cronExpr:`*/${e[1]} * * * *`,cadence:`Every ${e[1]} minutes`})},{regex:/^every\s+(\d+)\s*h(?:(?:ou)?rs?)?$/i,handler:e=>({cronExpr:`0 */${e[1]} * * *`,cadence:`Every ${e[1]} hours`})},{regex:/^every\s+hour$/i,handler:()=>({cronExpr:"0 * * * *",cadence:"Every hour"})},{regex:/^every\s+minute$/i,handler:()=>({cronExpr:"* * * * *",cadence:"Every minute"})},{regex:/^daily\s+at\s+(\d{1,2})(?::(\d{2}))?\s*(am|pm)?$/i,handler:e=>{let t=parseInt(e[1]),r=parseInt(e[2]||"0"),a=e[3]?.toLowerCase();return"pm"===a&&t<12&&(t+=12),"am"===a&&12===t&&(t=0),{cronExpr:`${r} ${t} * * *`,cadence:`Daily at ${t}:${String(r).padStart(2,"0")}`}}},{regex:/^daily\s+at\s+midnight$/i,handler:()=>({cronExpr:"0 0 * * *",cadence:"Daily at midnight"})},{regex:/^daily\s+at\s+noon$/i,handler:()=>({cronExpr:"0 12 * * *",cadence:"Daily at noon"})},{regex:/^weekdays?\s+at\s+(\d{1,2})(?::(\d{2}))?\s*(am|pm)?$/i,handler:e=>{let t=parseInt(e[1]),r=parseInt(e[2]||"0"),a=e[3]?.toLowerCase();return"pm"===a&&t<12&&(t+=12),"am"===a&&12===t&&(t=0),{cronExpr:`${r} ${t} * * 1-5`,cadence:`Weekdays at ${t}:${String(r).padStart(2,"0")}`}}},{regex:/^(monday|tuesday|wednesday|thursday|friday|saturday|sunday)s?\s+at\s+(\d{1,2})(?::(\d{2}))?\s*(am|pm)?$/i,handler:e=>{let t={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6}[e[1].toLowerCase()],r=parseInt(e[2]),a=parseInt(e[3]||"0"),n=e[4]?.toLowerCase();"pm"===n&&r<12&&(r+=12),"am"===n&&12===r&&(r=0);let s=e[1].charAt(0).toUpperCase()+e[1].slice(1).toLowerCase();return{cronExpr:`${a} ${r} * * ${t}`,cadence:`${s}s at ${r}:${String(a).padStart(2,"0")}`}}},{regex:/^every\s+(\d+)\s*days?$/i,handler:e=>({cronExpr:`0 0 */${e[1]} * *`,cadence:`Every ${e[1]} days`})}];function r(e){let r=e.trim();if(/^[\d*\/,-]+\s+[\d*\/,-]+\s+[\d*\/,-]+\s+[\d*\/,-]+\s+[\d*\/,-]+$/.test(r))return{cronExpr:r,cadence:r};let a=function(e){let r=e.trim();for(let{regex:e,handler:a}of t){let t=r.match(e);if(t)return a(t)}}(r);if(a)return{cronExpr:a.cronExpr,cadence:a.cadence}}e.s(["toCronExpr",()=>r])},35338,e=>{"use strict";var t=e.i(44506),r=e.i(8689);function a(e){let a=e.trim();if(!a)return null;let n=(0,t.toCronExpr)(a);return n?{cronExpr:n.cronExpr,cadence:n.cadence}:!function(e){if(5!==e.split(/\s+/).length)return!1;try{return r.CronExpressionParser.parse(e),!0}catch{return!1}}(a)?null:{cronExpr:a,cadence:a}}function n(e,t){try{return r.CronExpressionParser.parse(e,{currentDate:t?new Date(t):new Date}).next().toDate().getTime()}catch{return null}}e.s(["computeNextRun",()=>n,"parseCadence",()=>a])},30846,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),p=e.i(47587),u=e.i(66012),m=e.i(70101),h=e.i(74838),E=e.i(10372),_=e.i(93695);e.i(52474);var g=e.i(220),f=e.i(94028),x=e.i(38479),y=e.i(35338);async function R(e,{params:t}){try{let{id:e}=await t,r=(0,x.getPromptJobStore)().getJob(e);if(!r)return f.NextResponse.json({error:"Job not found"},{status:404});return f.NextResponse.json({job:r})}catch(e){return console.error("Failed to get prompt job:",e),f.NextResponse.json({error:"Failed to get prompt job",message:e instanceof Error?e.message:String(e)},{status:500})}}async function b(e,{params:t}){try{let{id:r}=await t,a=(0,x.getPromptJobStore)();if(!a.getJob(r))return f.NextResponse.json({error:"Job not found"},{status:404});let{cadence:n,...s}=await e.json(),o={...s};if(void 0!==n){let e=(0,y.parseCadence)(n);if(!e)return f.NextResponse.json({error:`Could not parse cadence: "${n}". Provide a valid cron expression or natural language schedule.`},{status:400});o.cadence=e.cadence}let i=a.updateJob(r,o);return f.NextResponse.json({job:i})}catch(e){return console.error("Failed to update prompt job:",e),f.NextResponse.json({error:"Failed to update prompt job",message:e instanceof Error?e.message:String(e)},{status:500})}}async function v(e,{params:t}){try{let{id:e}=await t,r=(0,x.getPromptJobStore)();if(!r.getJob(e))return f.NextResponse.json({error:"Job not found"},{status:404});return r.deleteJob(e),f.NextResponse.json({success:!0})}catch(e){return console.error("Failed to delete prompt job:",e),f.NextResponse.json({error:"Failed to delete prompt job",message:e instanceof Error?e.message:String(e)},{status:500})}}e.s(["DELETE",()=>v,"GET",()=>R,"PATCH",()=>b,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],81248);var S=e.i(81248);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/prompt-jobs/[id]/route",pathname:"/api/prompt-jobs/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/prompt-jobs/[id]/route.ts",nextConfigOutput:"standalone",userland:S}),{workAsyncStorage:C,workUnitAsyncStorage:T,serverHooks:w}=A;function j(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:T})}async function L(e,t,a){A.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/prompt-jobs/[id]/route";f=f.replace(/\/index$/,"")||"/";let x=await A.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:R,nextConfig:b,parsedUrl:v,isDraftMode:S,prerenderManifest:C,routerServerContext:T,isOnDemandRevalidate:w,revalidateOnlyGenerated:j,resolvedPathname:L,clientReferenceManifest:I,serverActionsManifest:N}=x,$=(0,i.normalizeAppPath)(f),k=!!(C.dynamicRoutes[$]||C.routes[L]),O=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,v,!1):t.end("This page could not be found"),null);if(k&&!S){let e=!!C.routes[L],t=C.dynamicRoutes[$];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await O();throw new _.NoFallbackError}}let D=null;!k||A.isDev||S||(D="/index"===(D=L)?"/":D);let U=!0===A.isDev||!k,P=k&&!U;N&&I&&(0,o.setManifestsSingleton)({page:f,clientReferenceManifest:I,serverActionsManifest:N});let q=e.method||"GET",M=(0,s.getTracer)(),F=M.getActiveScopeSpan(),H={params:R,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>A.onRequestError(e,t,a,n,T)},sharedContext:{buildId:y}},J=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(J,(0,d.signalFromNodeResponse)(t));try{let o=async e=>A.handle(W,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${q} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${f}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&w&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=H.renderOpts.collectedTags;if(!k)return await (0,u.sendResponse)(J,B,s,H.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[E.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=E.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:w})},!1,T),t}},c=await A.handleResponse({req:e,nextConfig:b,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:j,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:i});if(!k)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",w?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let _=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return i&&k||_.delete(E.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||_.get("Cache-Control")||_.set("Cache-Control",(0,h.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)(J,B,new Response(c.value.body,{headers:_,status:c.value.status||200})),null};F?await l(F):await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${q} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},l))}catch(t){if(t instanceof _.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:$,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:w})},!1,T),k)throw t;return await (0,u.sendResponse)(J,B,new Response(null,{status:500})),null}}e.s(["handler",()=>L,"patchFetch",()=>j,"routeModule",()=>A,"serverHooks",()=>w,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>T],30846)}];
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__a44db634._.js.map
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
module.exports=[97812,e=>{"use strict";var t=e.i(60447);let r=new Set(["replan","rollback"]);class a extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class i extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class n extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class s extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function o(e){return null==e?null:JSON.stringify(e)}function d(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function l(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function c(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function u(e){let{type:t,status:r,metrics:a,output:i,...n}=e;return{type:t,status:r,config:n,output:i??null,metrics:a??null}}function p(e){let t={...c(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=l(e.timestamp)),t}function m(e){return{query(t,r){let a=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(a.run(...r??[]),{rows:[]}):{rows:a.all(...r??[])}}}}class g{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),a=m(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=a.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new s(e.taskId,r.id);for(let[t,r]of(a.query(`INSERT INTO execution_graphs
|
|
2
|
+
(id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
|
|
3
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
4
|
+
ON CONFLICT (id) DO UPDATE SET
|
|
5
|
+
task_id = excluded.task_id,
|
|
6
|
+
graph_version = excluded.graph_version,
|
|
7
|
+
mode = excluded.mode,
|
|
8
|
+
policy = excluded.policy,
|
|
9
|
+
done_criteria = excluded.done_criteria,
|
|
10
|
+
schedule = excluded.schedule,
|
|
11
|
+
created_at = excluded.created_at,
|
|
12
|
+
updated_at = excluded.updated_at`,[e.id,e.taskId,e.graphVersion,e.mode,o(e.policy),o(e.doneCriteria),o(e.schedule??null),e.createdAt,e.updatedAt]),a.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),a.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let i=u(r);a.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
|
|
13
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,i.type,i.status,o(i.config),o(i.output),o(i.metrics)])}for(let t of e.edges)a.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
|
|
14
|
+
VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,o(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(a,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(a,e.id,t);t?.skipTaskBinding||a.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let n=this.getGraphForTask(a,e.taskId);if(!n)throw new i(e.id);return n})()}finally{t?.skipTaskBinding&&r.pragma("foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(m(t),e)}updateNodeRuntime(e,t,r){let a=this.getDb(),s=m(a);return a.transaction(()=>{if(!s.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new i(e);let r=Object.keys(t);if(0===r.length){let t=s.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:l(t.rows[0].updated_at)}}let a=r.map(()=>"?").join(", "),u=s.query(`SELECT node_id, type, status, config, output, metrics
|
|
15
|
+
FROM graph_nodes WHERE graph_id = ? AND node_id IN (${a})`,[e,...r]),p=new Map;for(let e of u.rows)p.set(e.node_id,e);let m=r.filter(e=>!p.has(e));if(m.length>0)throw new n(e,m);for(let a of r){let r=t[a],i=p.get(a);if(!i||!r)continue;let n={...c(d(i.config)),...c(r.configPatch)};void 0!==r.startedAt&&(n.startedAt=r.startedAt),void 0!==r.completedAt&&(n.completedAt=r.completedAt),void 0!==r.actualMinutes&&(n.actualMinutes=r.actualMinutes),s.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
|
|
16
|
+
WHERE graph_id = ? AND node_id = ?`,[r.status??i.status,o(r.metrics??d(i.metrics)),o(r.output??d(i.output)),o(n),e,a])}let g=s.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:g.rows[0].graph_version,updatedAt:l(g.rows[0].updated_at)}})()}updateGraphStructure(e,t,r){let a=this.getDb(),n=m(a);return a.transaction(()=>{let r=n.query("SELECT id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new i(e);if(t.nodes)for(let[r,a]of(n.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=u(a);n.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
|
|
17
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,o(t.config),o(t.output),o(t.metrics)])}if(t.edges)for(let r of(n.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))n.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
|
|
18
|
+
VALUES (?, ?, ?, ?, ?, ?)`,[e,r.from,r.to,r.type,r.condition??null,o(r.dataMapping??null)]);let a=n.query(`UPDATE execution_graphs
|
|
19
|
+
SET mode = ?, policy = ?, done_criteria = ?, schedule = ?, updated_at = datetime('now')
|
|
20
|
+
WHERE id = ?
|
|
21
|
+
RETURNING graph_version, updated_at`,[t.mode??r.mode,o(t.policy??d(r.policy)??{}),o(t.doneCriteria??d(r.done_criteria)??{}),o(t.schedule??d(r.schedule)??null),e]);return{graphVersion:a.rows[0].graph_version,updatedAt:l(a.rows[0].updated_at)}})()}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(m(r),e,t)}getGraphForTask(e,t){let a=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
|
|
22
|
+
FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!a)return null;let i=e.query(`SELECT node_id, type, status, config, output, metrics
|
|
23
|
+
FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[a.id]),n=e.query(`SELECT from_id, to_id, type, condition, data_mapping
|
|
24
|
+
FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[a.id]),s=e.query(`SELECT event_type, payload, timestamp
|
|
25
|
+
FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[a.id]),o={};for(let e of i.rows)o[e.node_id]=function(e){let t={...c(d(e.config)),type:e.type,status:e.status},r=d(e.metrics);null!==r&&(t.metrics=r);let a=d(e.output);return null!==a&&(t.output=a),t}(e);let u=n.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:d(e.condition)}:{},...e.data_mapping?{dataMapping:d(e.data_mapping)}:{}})),m=[],g=[];for(let e of s.rows){let t=p(e);r.has(t.eventType)?m.push(t):g.push(t)}return{id:a.id,taskId:a.task_id,graphVersion:a.graph_version,mode:a.mode,nodes:o,edges:u,policy:d(a.policy)??{},doneCriteria:d(a.done_criteria)??{},schedule:d(a.schedule)??void 0,versionHistory:m,runtimeEvents:g,createdAt:l(a.created_at),updatedAt:l(a.updated_at)}}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
|
|
26
|
+
VALUES (?, ?, ?, ?)`,[t,r.eventType,o(r),r.timestamp])}}function _(){return new g}let f=new g;function h(e,t){return f.createGraph(e,t)}function E(e){return f.getGraph(e)}function y(e,t,r){return f.updateNodeRuntime(e,t,r)}function T(e,t,r){return f.updateGraphStructure(e,t,r)}function k(e,t){return f.appendEvent(e,t)}function S(e,r={}){let a=["graph_id = ?"],i=[e];r.eventType&&(a.push("event_type = ?"),i.push(r.eventType)),r.since&&(a.push("timestamp >= ?"),i.push(r.since));let n=r.limit??1e3,s=`SELECT event_type, payload, timestamp
|
|
27
|
+
FROM graph_events
|
|
28
|
+
WHERE ${a.join(" AND ")}
|
|
29
|
+
ORDER BY timestamp ASC, event_type ASC
|
|
30
|
+
LIMIT ?`;return i.push(n),m((0,t.getSQLiteDb)()).query(s,i).rows.map(e=>p(e))}function w(e){let r=e.trim();return r?(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
|
|
31
|
+
FROM execution_graphs
|
|
32
|
+
WHERE schedule IS NOT NULL
|
|
33
|
+
AND json_extract(schedule, '$.rootMessageId') = ?
|
|
34
|
+
AND json_extract(schedule, '$.state') = 'active'
|
|
35
|
+
ORDER BY updated_at DESC
|
|
36
|
+
LIMIT 1`).get(r)??null:null}function A(){return(0,t.getSQLiteDb)().prepare(`SELECT json_extract(schedule, '$.rootMessageId') AS rootMessageId
|
|
37
|
+
FROM execution_graphs
|
|
38
|
+
WHERE schedule IS NOT NULL
|
|
39
|
+
AND json_extract(schedule, '$.state') = 'active'`).all().map(e=>e.rootMessageId).filter(Boolean)}function N(e){let r=e.trim();return r?Number((0,t.getSQLiteDb)().prepare(`UPDATE execution_graphs
|
|
40
|
+
SET schedule = json_set(schedule, '$.state', 'stopped', '$.tickInProgress', json('false')),
|
|
41
|
+
updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
|
|
42
|
+
WHERE schedule IS NOT NULL
|
|
43
|
+
AND json_extract(schedule, '$.rootMessageId') = ?
|
|
44
|
+
AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0):0}e.s(["GraphNodeNotFoundError",()=>n,"GraphNotFoundError",()=>i,"GraphStore",()=>g,"GraphTaskAlreadyBoundError",()=>s,"GraphVersionConflictError",()=>a,"appendEvent",()=>k,"createGraph",()=>h,"createGraphStore",()=>_,"deactivateSchedulesByRootMessageId",()=>N,"getActiveScheduleForRootMessageId",()=>w,"getActiveScheduleRootMessageIds",()=>A,"getGraph",()=>E,"getGraphEvents",()=>S,"updateGraphStructure",()=>T,"updateNodeRuntime",()=>y])},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},12616,e=>{"use strict";function t(e,t){return`---
|
|
45
|
+
${Object.entries(e).map(([e,t])=>`${e}: ${null==t?"":String(t)}`).join("\n")}
|
|
46
|
+
---
|
|
47
|
+
${t}`}e.s(["buildMarkdownWithFrontmatter",()=>t])},26617,e=>{"use strict";var t=e.i(85148),r=e.i(22734),a=e.i(14747),i=e.i(46786);let n=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(i.default.homedir(),".agx","group-chat"),s=a.default.join(n,"history.sqlite"),o=a.default.join(n,"uploads");function d(){let e=new t.default(s);return e.pragma("journal_mode = WAL"),e}function l(e){if(e.exec(`
|
|
48
|
+
CREATE TABLE IF NOT EXISTS attachments (
|
|
49
|
+
id TEXT PRIMARY KEY,
|
|
50
|
+
message_id TEXT,
|
|
51
|
+
filename TEXT NOT NULL,
|
|
52
|
+
disk_name TEXT NOT NULL,
|
|
53
|
+
mime_type TEXT NOT NULL,
|
|
54
|
+
size INTEGER NOT NULL,
|
|
55
|
+
status TEXT NOT NULL DEFAULT 'uploaded',
|
|
56
|
+
created_at INTEGER NOT NULL
|
|
57
|
+
);
|
|
58
|
+
CREATE INDEX IF NOT EXISTS idx_attachments_message ON attachments(message_id);
|
|
59
|
+
`),!e.prepare("PRAGMA table_info(attachments)").all().some(e=>"disk_name"===e.name)){e.exec("ALTER TABLE attachments ADD COLUMN disk_name TEXT NOT NULL DEFAULT ''");let t=e.prepare("SELECT id, filename FROM attachments WHERE disk_name = ''").all(),r=e.prepare("UPDATE attachments SET disk_name = ? WHERE id = ?");for(let e of t){let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"";r.run(e.id+t,e.id)}}}async function c(e){await r.promises.mkdir(o,{recursive:!0});let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"",i=e.id+t,n=a.default.join(o,i);await r.promises.writeFile(n,e.data);let s=d();try{l(s),s.prepare(`INSERT INTO attachments (id, disk_name, filename, mime_type, size, status, created_at)
|
|
60
|
+
VALUES (?, ?, ?, ?, ?, 'uploaded', ?)`).run(e.id,i,e.filename,e.mimeType,e.size,Date.now())}finally{s.close()}return{id:e.id,filename:e.filename,mimeType:e.mimeType,size:e.size,status:"uploaded",url:`/api/attachments/${e.id}`}}async function u(e,t){if(0===t.length)return[];let r=d();try{l(r);let i=t.map(()=>"?").join(", ");return r.prepare(`UPDATE attachments SET message_id = ? WHERE id IN (${i})`).run(e,...t),r.prepare(`SELECT id, disk_name, filename, mime_type, size, status FROM attachments WHERE id IN (${i})`).all(...t).map(e=>({id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`,diskPath:a.default.join(o,e.disk_name||e.id)}))}finally{r.close()}}async function p(e){let t=a.default.join(o,e);try{await r.promises.unlink(t)}catch{}let i=d();try{return l(i),i.prepare("DELETE FROM attachments WHERE id = ?").run(e).changes>0}finally{i.close()}}async function m(e){let t=d();try{l(t);let r=t.prepare("SELECT filename, disk_name, mime_type, size FROM attachments WHERE id = ?").get(e);if(!r)return null;let i=r.disk_name||e;return{filename:r.filename,mimeType:r.mime_type,size:r.size,diskPath:a.default.join(o,i)}}finally{t.close()}}async function g(e){if(0===e.length)return new Map;let t=d();try{l(t);let r=e.map(()=>"?").join(", "),a=t.prepare(`SELECT id, message_id, filename, mime_type, size, status
|
|
61
|
+
FROM attachments
|
|
62
|
+
WHERE message_id IN (${r})`).all(...e),i=new Map;for(let e of a){let t={id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`},r=i.get(e.message_id)||[];r.push(t),i.set(e.message_id,r)}return i}finally{t.close()}}async function _(){let e=Date.now()-864e5,t=d();try{l(t);let i=t.prepare("SELECT id, disk_name FROM attachments WHERE message_id IS NULL AND created_at < ?").all(e);for(let{id:e,disk_name:t}of i){let i=a.default.join(o,t||e);try{await r.promises.unlink(i)}catch{}}if(i.length>0){let e=i.map(()=>"?").join(", ");t.prepare(`DELETE FROM attachments WHERE id IN (${e})`).run(...i.map(e=>e.id))}return i.length}finally{t.close()}}e.s(["createAttachment",()=>c,"deleteAttachment",()=>p,"finalizeAttachments",()=>u,"gcOrphanedAttachments",()=>_,"getAttachmentMeta",()=>m,"getAttachmentsForMessages",()=>g])},33938,e=>{"use strict";var t=e.i(60447),r=e.i(77581);function a(e,a){let i=(0,t.getSQLiteDb)(),n=a?.producer;if("system"===n){let t=(0,r.getKnowledgeNote)("repo",e);return t?[{id:t.id,repo_id:e,content:t.content,producer:"system",created_at:t.updatedAt}]:[]}let s=n?i.prepare(`SELECT id, repo_id, content, producer, created_at
|
|
63
|
+
FROM repo_knowledge
|
|
64
|
+
WHERE repo_id = ? AND producer = ?
|
|
65
|
+
ORDER BY created_at DESC`).all(e,n):i.prepare(`SELECT id, repo_id, content, producer, created_at
|
|
66
|
+
FROM repo_knowledge
|
|
67
|
+
WHERE repo_id = ?
|
|
68
|
+
ORDER BY created_at DESC`).all(e);if(a?.includeLegacyHumanFallback===!1)return s;let o=(0,t.getSQLiteDb)().prepare(`SELECT id, name, path, notes, created_at, updated_at
|
|
69
|
+
FROM project_repos
|
|
70
|
+
WHERE id = ?`).get(e)??null,d=o?.notes?.trim();return!d||s.some(e=>"human"===e.producer)||s.some(e=>"human"===e.producer&&e.content.trim()===d)?s:[{id:`legacy-notes:${e}`,repo_id:e,content:d,producer:"human",created_at:o?.updated_at??o?.created_at??new Date(0).toISOString()},...s]}function i(e,r,i){let n=(0,t.getSQLiteDb)(),s=i.trim();return n.transaction(()=>{n.prepare("DELETE FROM repo_knowledge WHERE repo_id = ? AND producer = ?").run(e,r),s&&n.prepare("INSERT INTO repo_knowledge (repo_id, content, producer) VALUES (?, ?, ?)").run(e,s,r)})(),a(e,{producer:r,includeLegacyHumanFallback:!1})}function n(e){let t=[];for(let r of e){if(!r.id){let e=r.notes?.trim();e&&t.push({repoId:"",repoName:r.name,path:r.path??null,content:e,producer:"human"});continue}for(let e of[...a(r.id,{producer:"human"}),...a(r.id,{producer:"system",includeLegacyHumanFallback:!1})]){let a=e.content.trim();a&&t.push({repoId:r.id,repoName:r.name,path:r.path??null,content:a,producer:e.producer})}}return t}e.s(["listRepoKnowledge",()=>a,"listResolvedRepoKnowledge",()=>n,"replaceRepoKnowledge",()=>i])},42304,e=>{"use strict";var t=e.i(54799),r=e.i(14350),a=e.i(60447),i=e.i(40813),n=e.i(77581);let s=new Set(["outcome","decision","pattern","gotcha"]),o=`You are a memory extractor for a task execution system.
|
|
71
|
+
Given a completed task, extract 0-3 memories worth remembering for future tasks.
|
|
72
|
+
|
|
73
|
+
Each memory must be:
|
|
74
|
+
{ "memory_type": "outcome" | "decision" | "pattern" | "gotcha", "content": "one concise sentence" }
|
|
75
|
+
|
|
76
|
+
- outcome: what happened (success/failure result)
|
|
77
|
+
- decision: a choice that was made and why
|
|
78
|
+
- pattern: a reusable approach or technique discovered
|
|
79
|
+
- gotcha: a surprising pitfall or edge case encountered
|
|
80
|
+
|
|
81
|
+
Return ONLY a JSON array. Return [] if nothing worth remembering.
|
|
82
|
+
Do not wrap in markdown code blocks. Just raw JSON.`,d=`You are maintaining a living project knowledge note for a task execution system.
|
|
83
|
+
Given the current project note and a completed or failed task, decide whether the note should change.
|
|
84
|
+
|
|
85
|
+
Return ONLY a JSON object:
|
|
86
|
+
{
|
|
87
|
+
"updated_note": "full revised note in concise markdown",
|
|
88
|
+
"change_summary": "short summary of what changed",
|
|
89
|
+
"no_change": false
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
Rules:
|
|
93
|
+
- Revise the current note instead of appending isolated bullets.
|
|
94
|
+
- Write like a person's living project notes, not an extracted fact list.
|
|
95
|
+
- The note should help someone understand what the project is, what it does, what has been decided, and what lessons now shape future work.
|
|
96
|
+
- Prefer short sections and narrative paragraphs in markdown. Bullets are fine only when they genuinely improve clarity.
|
|
97
|
+
- Preserve strong existing content when still valid.
|
|
98
|
+
- Merge duplicate ideas, sharpen wording, and remove stale or unsupported claims.
|
|
99
|
+
- Only include project-scoped knowledge likely useful across future work in the same project.
|
|
100
|
+
- Do not include repo-specific durable truths that belong in repo knowledge.
|
|
101
|
+
- Avoid generic filler and avoid sounding like an audit log.
|
|
102
|
+
- If nothing project-scoped changed, return {"no_change": true}.
|
|
103
|
+
- Do not wrap in markdown code blocks. Just raw JSON.`;async function l(e){let t=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),a=`${o}
|
|
104
|
+
|
|
105
|
+
Task:
|
|
106
|
+
${t}`,i="";try{await (0,r.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:a,onDelta:e=>{i+=e}})}catch(e){return console.warn("[memory-extractor] LLM call failed:",e),[]}var n=i;let d=n.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(d);if(!Array.isArray(e))return[];return e.filter(e=>"object"==typeof e&&null!==e&&s.has(e.memory_type)&&"string"==typeof e.content&&e.content.trim().length>0).slice(0,3)}catch{return console.warn("[memory-extractor] Failed to parse LLM response:",d.slice(0,200)),[]}}let c=new Set(["outcome","decision","pattern","gotcha"]),u=["agent_id","agentId","agent","participant_id","participantId","assigned_agent","assignedAgent"];function p(e){return"string"!=typeof e?null:e.trim()||null}function m(e){let t=p(e.explicitAgentId);if(t)return t;let r=e.frontmatter||{};for(let e of u){let t=p(r[e]);if(t)return t}return p(e.defaultUserId)||"system"}async function g(e,r,n){let s=(0,a.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
|
|
107
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`),o=0,d=Date.now();for(let a of n){if(!c.has(a.memory_type)||!a.content?.trim())continue;let i=(0,t.createHash)("sha256").update(a.content.trim()).digest("hex");s.run((0,t.randomUUID)(),r,e,a.memory_type,a.content.trim(),i,d).changes>0&&o++}return o>0&&(0,i.storeKnowledgeEntries)(n.map(t=>({scope:"agent",subjectId:r,sourceType:"task_completion",sourceId:e,kind:t.memory_type,title:t.content.trim().slice(0,80),body:t.content.trim(),confidence:.7,durability:.6,metadata:{task_id:e}}))),o}async function _(e,t,r){let a=await l(r);if(0===a.length)return;let i=await g(e,t,a);i>0&&console.log(`[memory-extractor] Stored ${i} memories for task ${e}`)}async function f(e){let t=p(e);if(!t)return null;if(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t))return t;let r=(0,a.getSQLiteDb)().prepare("SELECT id FROM projects WHERE slug = ? LIMIT 1").get(t);return r?.id??null}async function h(e,t){let a=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),i=`${d}
|
|
108
|
+
|
|
109
|
+
Current note:
|
|
110
|
+
${t||"(empty)"}
|
|
111
|
+
|
|
112
|
+
Task:
|
|
113
|
+
${a}`,n="";try{await (0,r.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:i,onDelta:e=>{n+=e}})}catch(e){return console.warn("[project-knowledge] LLM call failed:",e),[]}let s=n.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(s);if(!e||"object"!=typeof e||Array.isArray(e))return[];let t="string"==typeof e.updated_note?e.updated_note.trim():"";if(e.no_change||!t)return[];return[{updated_note:t,change_summary:"string"==typeof e.change_summary?e.change_summary.trim():void 0,no_change:!1}]}catch{return console.warn("[project-knowledge] Failed to parse LLM response:",s.slice(0,200)),[]}}async function E(e,t,r){if(0===r.length)return 0;let a=r[0];return a&&a.updated_note?.trim()?+!!(0,n.upsertKnowledgeNote)({scope:"project",subjectId:e,content:a.updated_note.trim(),changeSummary:a.change_summary,sourceType:"task_completion",sourceId:t,metadata:{task_id:t}}).changed:0}async function y(e,t,r){let a=await f(t);if(!a)return;let i=await h(r,(0,n.getKnowledgeNote)("project",a)?.content??"");if(0===i.length)return;let s=await E(a,e,i);s>0&&console.log(`[project-knowledge] Stored ${s} project knowledge entries for task ${e}`)}e.s(["extractAndStoreMemories",()=>_,"extractAndStoreProjectKnowledge",()=>y,"resolveMemoryAgentId",()=>m])},91595,e=>{"use strict";var t=e.i(68638),r=e.i(4290),a=e.i(57431),i=e.i(49041),n=e.i(62294),s=e.i(90081);function o(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function d(e){if(!e)return[];let t=o(e.depends_on);if(t.length)return t;if("string"==typeof e.content){let{frontmatter:t}=(0,n.parseFrontmatter)(e.content||"");return o(t.depends_on)}return[]}function l(e,t){return e?{id:e.id||t||"",title:e.title||void 0,slug:e.slug||void 0,status:e.status,stage:e.stage}:{id:t||""}}async function c(e,t){if(!e.length)return[];let r=(0,a.createAdminDbClient)().from("tasks").select("id, title, slug, status, stage").in("id",e);t&&(r=r.eq("user_id",t));let{data:i}=await r,n=new Map;if(Array.isArray(i))for(let e of i)e&&e.id&&n.set(e.id,l(e,e.id));return e.map(e=>n.get(e)).filter(e=>!!e)}async function u(e,t){let r=(0,a.createAdminDbClient)(),i=[],{data:n,error:s}=await r.from("tasks").select("depends_on, content").eq("id",e).maybeSingle();if(s){if("42703"===s.code){let{data:t}=await r.from("tasks").select("content").eq("id",e).maybeSingle();i=d(t)}}else i=d(n);let o=await c(i,t),u=r.from("tasks").select("id, title, slug, status, stage").contains("depends_on",[e]);t&&(u=u.eq("user_id",t));let{data:p,error:m}=await u,g=Array.isArray(p)?p.map(e=>l(e,e?.id)):[];if(m&&"42703"===m.code){let a=r.from("tasks").select("id, title, slug, status, stage, content");t&&(a=a.eq("user_id",t));let{data:i}=await a;g=(Array.isArray(i)?i:[]).filter(t=>d(t).includes(e)).map(e=>l(e,e?.id))}return{depends_on_tasks:o,dependent_tasks:g}}async function p(e,t){let r=d(e);return r.length?(await c(r,t)).filter(e=>"completed"!==(e.status||"")):[]}async function m(e,o,d){let l=o||i.LOCAL_USER.id,c=await s.db.getTask(e,l);if(!c)throw Error(`Task not found: ${e}`);let u=await p(c,l);if(u.length){let t=function(e){if(!e.length)return"";let t=e.slice(0,3).map(e=>{let t=e.title||e.slug||e.id||"(unknown)",r="INTAKE"===e.stage?"awaiting approval":e.status||"",a=r?` (${r})`:"";return`${t}${a}`}),r=`Waiting on dependencies: ${t.join(", ")}`;return e.length>3&&(r+=` +${e.length-3} more`),r}(u),r=(0,a.createAdminDbClient)(),{error:i}=await r.from("tasks").update({status:"blocked",blocked_reason:t,updated_at:new Date().toISOString()}).eq("id",e);if(i&&"42703"!==i.code)throw i;return{started:!1,missingDependencies:u,blockedReason:t}}if(!d?.force&&"queued"===c.status&&!c.blocked_reason)return{started:!1,missingDependencies:[],alreadyQueued:!0};let{frontmatter:m,body:g}=(0,n.parseFrontmatter)(c.content||""),_=d?.ticketType??(0,r.getTicketType)(m,g),f=await (0,t.getQueue)(),h=await f.send(t.QUEUE_NAMES.TASK_PROCESS,{taskId:e,userId:l,signal:"start",ticketType:_}),E=(0,a.createAdminDbClient)(),{error:y}=await E.from("tasks").update({status:"queued",blocked_reason:null,updated_at:new Date().toISOString()}).eq("id",e);if(y&&"42703"!==y.code)throw y;return{started:!!h,jobId:h,missingDependencies:[],ticketType:_}}async function g(e,t){let r=t||i.LOCAL_USER.id,n=(0,a.createAdminDbClient)(),s=n.from("tasks").select("id").contains("depends_on",[e]);t&&(s=s.eq("user_id",t));let{data:o,error:l}=await s,c=Array.isArray(o)?o.map(e=>e?.id).filter(Boolean):[];if(l&&"42703"===l.code){let r=n.from("tasks").select("id, content");t&&(r=r.eq("user_id",t));let{data:a}=await r;c=(Array.isArray(a)?a:[]).filter(t=>d(t).includes(e)).map(e=>e?.id).filter(Boolean)}c.length&&await Promise.all(c.map(e=>m(e,r)))}e.s(["attemptStartTask",()=>m,"getMissingDependencies",()=>p,"loadTaskDependencyGraph",()=>u,"triggerDependentTasks",()=>g])},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},37175,e=>{"use strict";var t=e.i(2157),r=e.i(50227),a=e.i(74533),i=e.i(60447);let n=null,s=new Map;function o(e){return e.replace(/\s+/g," ").trim()}function d(e){return e.replace(/<br\s*\/?>/gi,"\n").replace(/<\/(p|h1|h2|h3|h4|h5|h6|li|tr|div)>/gi,"\n").replace(/<li[^>]*>/gi,"• ").replace(/<[^>]*>/g,"").replace(/&#x([0-9a-f]+);/gi,(e,t)=>{let r=Number.parseInt(t,16);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/&#([0-9]+);/g,(e,t)=>{let r=Number.parseInt(t,10);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/ /g," ").replace(/\r/g,"").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function l(e){return"claude"===e||"codex"===e||"gemini"===e||"zai"===e?e:null}function c(e){return"claude"===e?"claude-code":"codex"===e?"codex":"gemini"===e?"gemini-cli":"zai"===e?"claude-code":null}function u(e){return r.default.join(process.cwd(),".agents","skills",e,"SKILL.md")}function p(){let e=r.default.join(process.cwd(),".agents","skills");return t.default.existsSync(e)?t.default.readdirSync(e,{withFileTypes:!0}).filter(a=>a.isDirectory()&&t.default.existsSync(r.default.join(e,a.name,"SKILL.md"))).map(e=>e.name).sort((e,t)=>e.localeCompare(t)):[]}async function m(){if(n&&Date.now()-n.loadedAt<36e5)return n.data;try{let e=await fetch("https://skills.sh");if(!e.ok)return[];let t=await e.text(),r=t.indexOf("initialSkills");if(-1===r)return[];let a=t.indexOf(":[",r);if(-1===a)return[];let i=a+1,s=0,o=i;for(let e=i;e<t.length;e+=1)if("["===t[e]&&(s+=1),"]"===t[e]&&(s-=1),0===s){o=e+1;break}let d=t.slice(i,o).replace(/\\"/g,'"'),l=JSON.parse(d).map((e,t)=>({rank:t+1,name:e.name??e.skillId??"",skillId:e.skillId??e.name??"",repo:e.source??"",installs:"number"==typeof e.installs?e.installs:0}));return n={loadedAt:Date.now(),data:l},l}catch{return[]}}async function g(e,t){let r=`${e}/${t}`,a=s.get(r);if(a&&Date.now()-a.loadedAt<36e5)return a.data;try{let a=await fetch(`https://skills.sh/${e}/${t}`);if(!a.ok)return null;let i=await a.text(),n=function(e){let t=e.match(/<div class="prose[^>]*>([\s\S]*?)<\/div>\s*<\/div>\s*<\/div>\s*<\/div>\s*<div class=" lg:col-span-3">/i);if(t?.[1])return t[1];let r=e.indexOf('<div class="prose');if(-1===r)return"";let a=e.indexOf(">",r);if(-1===a)return"";let i=e.indexOf('<div class=" lg:col-span-3">',a);return -1===i?"":e.slice(a+1,i).replace(/\s*<\/div>\s*$/i,"").trim()}(i),l=n.match(/<h1[^>]*>([\s\S]*?)<\/h1>/i),c=l?o(d(l[1])):"",u=(l?n.slice((l.index??0)+l[0].length):n).match(/<p[^>]*>([\s\S]*?)<\/p>/i),p=u?o(d(u[1])):"",m=[],g=n.match(/<h2[^>]*>\s*When to Use This Skill\s*<\/h2>([\s\S]*?)(?:<h2[^>]*>|$)/i);if(g){let e=g[1].match(/<ul[^>]*>([\s\S]*?)<\/ul>/i);if(e){let t=/<li[^>]*>([\s\S]*?)<\/li>/gi,r=null;for(;null!==(r=t.exec(e[1]));){let e=o(d(r[1]));e&&m.push(e)}}}let _=i.match(/Weekly\s+Installs[\s\S]{0,240}?>([\d,.]+[KkMm]?)<\/div>/i)?.[1]??"",f=i.match(/First\s+[Ss]een[\s\S]{0,240}?>([A-Za-z]{3}\s+\d{1,2},\s+\d{4})<\/div>/i)?.[1]??"",h=i.match(/\\"command\\":\\"((?:[^"\\]|\\.)*)\\"/),E=h?h[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\").trim():`npx skills add ${e} --skill ${t}`,y={title:c,description:p,whenToUse:m,weeklyInstalls:_,firstSeen:f,installCommand:E};return s.set(r,{loadedAt:Date.now(),data:y}),y}catch{return null}}function _(e){(0,i.getSQLiteDb)().prepare(`INSERT INTO skill_learning_history
|
|
114
|
+
(provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at)
|
|
115
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(e.provider,e.repo,e.skill_id,e.skill_label,e.status,e.command,e.error,e.run_started_at,e.run_completed_at,e.created_at,e.updated_at)}function f(e=50,t){let r=(0,i.getSQLiteDb)(),a=[],n="",s=t?l(t):null;return s&&(n="WHERE provider = ?",a.push(s)),a.push(e),r.prepare(`SELECT id, provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at
|
|
116
|
+
FROM skill_learning_history
|
|
117
|
+
${n}
|
|
118
|
+
ORDER BY updated_at DESC, created_at DESC
|
|
119
|
+
LIMIT ?`).all(...a)}function h(e){let t=(0,i.getSQLiteDb)(),r=[],a="status = 'succeeded'",n=e?l(e):null;return n&&(a+=" AND provider = ?",r.push(n)),t.prepare(`SELECT provider, repo, skill_id, skill_label, MAX(COALESCE(run_completed_at, updated_at, created_at)) AS learned_at
|
|
120
|
+
FROM skill_learning_history
|
|
121
|
+
WHERE ${a}
|
|
122
|
+
GROUP BY provider, repo, skill_id, skill_label
|
|
123
|
+
ORDER BY learned_at DESC`).all(...r)}function E(e){let t=Array.from(new Set(e.providers.map(e=>l(e)).filter(Boolean)));if(0===t.length)return{ok:!1,command:"",stdout:"",stderr:"",results:[],error:"No supported providers selected"};let r=Date.now(),i=[],n="",s="",d="",u=new Map;for(let e of t){let t=c(e);if(!t)continue;let r=u.get(t)??[];r.push(e),u.set(t,r)}for(let[t,l]of u.entries()){let c=["--yes","skills@latest","add",e.repo,"--skill",e.skillId,"--agent",t,"--yes"];d=`npx ${c.join(" ")}`;let u=(0,a.spawnSync)("npx",c,{cwd:process.cwd(),encoding:"utf8",timeout:12e4,env:{...process.env,FORCE_COLOR:"0"}});n=String(u.stdout??""),s=String(u.stderr??"");let p=0===u.status;for(let a of l)i.push({provider:a,ok:p,agent:t}),_({provider:a,repo:e.repo,skill_id:e.skillId,skill_label:e.skillId,status:p?"succeeded":"failed",command:d,error:p?null:o(s||n).slice(0,1e3),run_started_at:r,run_completed_at:Date.now(),created_at:r,updated_at:Date.now()});if(!p)return{ok:!1,command:d,stdout:n,stderr:s,results:i,error:o(s||n)||"Installation failed"}}return{ok:!0,command:d,stdout:n,stderr:s,results:i}}function y(e){let t=Array.from(new Set(e.providers.map(e=>l(e)).filter(Boolean)));if(0===t.length)return{ok:!1,command:"",stdout:"",stderr:"",results:[],error:"No supported providers selected"};let r=Date.now(),i=[],n="",s="",d="",u=new Map;for(let e of t){let t=c(e);if(!t)continue;let r=u.get(t)??[];r.push(e),u.set(t,r)}for(let[t,l]of u.entries()){let c=["--yes","skills@latest","remove",e.skillId,"--agent",t,"--yes"];d=`npx ${c.join(" ")}`;let u=(0,a.spawnSync)("npx",c,{cwd:process.cwd(),encoding:"utf8",timeout:12e4,env:{...process.env,FORCE_COLOR:"0"}});n=String(u.stdout??""),s=String(u.stderr??"");let p=0===u.status;for(let a of l)i.push({provider:a,ok:p,agent:t}),_({provider:a,repo:"local/remove",skill_id:e.skillId,skill_label:e.skillId,status:p?"succeeded":"failed",command:d,error:p?null:o(s||n).slice(0,1e3),run_started_at:r,run_completed_at:Date.now(),created_at:r,updated_at:Date.now()});if(!p)return{ok:!1,command:d,stdout:n,stderr:s,results:i,error:o(s||n)||"Removal failed"}}return{ok:!0,command:d,stdout:n,stderr:s,results:i}}e.s(["fetchSkillDetail",()=>g,"fetchSkillsCatalog",()=>m,"installSkill",()=>E,"installedSkillPath",()=>u,"listAvailableSkills",()=>h,"listInstalledSkillIds",()=>p,"listSkillHistory",()=>f,"removeSkill",()=>y])},49953,e=>{"use strict";var t=e.i(2157),r=e.i(60447),a=e.i(37175);async function i(e){return(0,r.getSQLiteDb)().prepare("SELECT agent_id, repo, skill_id, condition, created_at FROM agent_skill_bindings WHERE agent_id = ? ORDER BY created_at ASC").all(e).map(e=>({repo:e.repo,skillId:e.skill_id,...e.condition?{condition:e.condition}:{}}))}async function n(e,t){let a=(0,r.getSQLiteDb)(),n=new Map;for(let e of t){let t=e.repo.trim(),r=e.skillId.trim();t&&r&&n.set(`${t}::${r}`,{repo:t,skillId:r,condition:e.condition?.trim()||null})}for(let t of(await i(e))){let r=`${t.repo}::${t.skillId}`;n.has(r)||a.prepare("DELETE FROM agent_skill_bindings WHERE agent_id = ? AND repo = ? AND skill_id = ?").run(e,t.repo,t.skillId)}for(let t of n.values())a.prepare(`INSERT INTO agent_skill_bindings (agent_id, repo, skill_id, condition)
|
|
124
|
+
VALUES (?, ?, ?, ?)
|
|
125
|
+
ON CONFLICT(agent_id, repo, skill_id) DO UPDATE SET condition = excluded.condition`).run(e,t.repo,t.skillId,t.condition);return i(e)}function s(e){return e.toLowerCase().replace(/[^a-z0-9]+/g," ").replace(/\s+/g," ").trim()}function o(e){let t=new Set,r=[];for(let a of s(e).split(" "))a.length<4||t.has(a)||(t.add(a),r.push(a));return r}function d(e,r,i){let n=[];for(let d of e){if(!function(e,t){let r=s(t);if(!r)return!1;if((e.condition?e.condition.split(/\n|,|;|\|/g).map(e=>s(e)).filter(e=>e.length>=4):[]).some(e=>r.includes(e)))return!0;let a=e.repo.split("/").filter(Boolean).pop()??e.repo;return[...o(e.skillId),...o(a)].some(e=>r.includes(e))}(d,r))continue;let e=(0,a.installedSkillPath)(d.skillId);(t.default.existsSync(e)||(0,a.installSkill)({repo:d.repo,skillId:d.skillId,providers:[i]}).ok)&&n.push({file:e,...d.condition?{condition:d.condition}:{}})}return n}e.s(["getAgentSkillBindings",()=>i,"resolveBoundSkillFiles",()=>d,"setAgentSkillBindings",()=>n])},84776,e=>{"use strict";var t=e.i(62294),r=e.i(49953),a=e.i(49041);async function i(){let e=await (0,t.getAgents)(a.LOCAL_USER.id),i=new Map,n=new Map;return await Promise.all(e.map(async e=>{i.set(e.id,await (0,t.getAgentSkills)(e.id)),n.set(e.id,await (0,r.getAgentSkillBindings)(e.id))})),e.map(e=>({id:e.id,name:e.name,...e.title?{title:e.title}:{},provider:e.provider||"claude",model:e.model||null,color:e.color||"#6B7280",...e.description?{identity:e.description}:{},...e.voice?{voice:e.voice}:{},...e.seed?{seed:e.seed}:{},...i.get(e.id)?.length?{skills:i.get(e.id).map(e=>({file:e.file,condition:e.condition??""}))}:{},...n.get(e.id)?.length?{skillBindings:n.get(e.id)}:{}}))}function n(e,t){if(!Array.isArray(t))return e;let r=new Set,a=[];for(let e of t){if("string"!=typeof e)continue;let t=e.trim();!t||r.has(t)||(r.add(t),a.push(t))}let i=new Set(a),n=e.filter(e=>i.has(e.id));if(a.length>0&&0===n.length)return e;let s=new Map(a.map((e,t)=>[e,t]));return n.sort((e,t)=>(s.get(e.id)??Number.MAX_SAFE_INTEGER)-(s.get(t.id)??Number.MAX_SAFE_INTEGER))}e.s(["filterActiveParticipants",()=>n,"loadDbParticipants",()=>i])},87885,e=>{"use strict";var t=e.i(85148),r=e.i(14747),a=e.i(46786),i=e.i(22734);let n=process.env.AGX_GROUP_CHAT_DIR?.trim()||r.default.join(a.default.homedir(),".agx","group-chat"),s=r.default.join(n,"history.sqlite");function o(e){return{id:e.id,workspaceId:e.workspace_id,threadId:e.thread_id,agentId:e.agent_id,pid:e.pid,state:e.state,sinceMessageId:e.since_message_id,responseMessageId:e.response_message_id||"",startedAt:e.started_at,lastActivity:e.last_activity,projectSlug:e.project_slug||""}}function d(e){let r=function(){(0,i.mkdirSync)(n,{recursive:!0});let e=new t.default(s);e.pragma("journal_mode = WAL"),e.exec(`
|
|
126
|
+
CREATE TABLE IF NOT EXISTS agent_processes (
|
|
127
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
128
|
+
workspace_id TEXT NOT NULL,
|
|
129
|
+
thread_id TEXT NOT NULL DEFAULT '',
|
|
130
|
+
agent_id TEXT NOT NULL,
|
|
131
|
+
pid INTEGER NOT NULL DEFAULT 0,
|
|
132
|
+
state TEXT NOT NULL DEFAULT 'spawning',
|
|
133
|
+
since_message_id TEXT NOT NULL DEFAULT '',
|
|
134
|
+
started_at INTEGER NOT NULL,
|
|
135
|
+
last_activity INTEGER NOT NULL,
|
|
136
|
+
project_slug TEXT NOT NULL DEFAULT '',
|
|
137
|
+
UNIQUE (workspace_id, agent_id)
|
|
138
|
+
)
|
|
139
|
+
`),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_state ON agent_processes (state)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_thread ON agent_processes (thread_id)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_workspace ON agent_processes (workspace_id)");try{e.exec("ALTER TABLE agent_processes ADD COLUMN project_slug TEXT NOT NULL DEFAULT ''")}catch{}try{e.exec("ALTER TABLE agent_processes ADD COLUMN response_message_id TEXT NOT NULL DEFAULT ''")}catch{}return e}();try{return e(r)}finally{r.close()}}function l(e){return d(t=>{let r=t.prepare(`INSERT INTO agent_processes (workspace_id, thread_id, agent_id, pid, state, since_message_id, response_message_id, started_at, last_activity, project_slug)
|
|
140
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
141
|
+
ON CONFLICT(workspace_id, agent_id)
|
|
142
|
+
DO UPDATE SET
|
|
143
|
+
thread_id = excluded.thread_id,
|
|
144
|
+
pid = excluded.pid,
|
|
145
|
+
state = excluded.state,
|
|
146
|
+
since_message_id = excluded.since_message_id,
|
|
147
|
+
response_message_id = excluded.response_message_id,
|
|
148
|
+
started_at = excluded.started_at,
|
|
149
|
+
last_activity = excluded.last_activity,
|
|
150
|
+
project_slug = excluded.project_slug`).run(e.workspaceId,e.threadId,e.agentId,e.pid,e.state,e.sinceMessageId,e.responseMessageId||"",e.startedAt,e.lastActivity,e.projectSlug||"");if(1===r.changes&&r.lastInsertRowid)return Number(r.lastInsertRowid);let a=t.prepare("SELECT id FROM agent_processes WHERE workspace_id = ? AND agent_id = ?").get(e.workspaceId,e.agentId);return a?.id??0})}function c(e,t,r){let a=[],i=[];void 0!==r.state&&(a.push("state = ?"),i.push(r.state)),void 0!==r.lastActivity&&(a.push("last_activity = ?"),i.push(r.lastActivity)),void 0!==r.pid&&(a.push("pid = ?"),i.push(r.pid)),0!==a.length&&d(r=>r.prepare(`UPDATE agent_processes SET ${a.join(", ")} WHERE workspace_id = ? AND agent_id = ?`).run(...i,e,t))}function u(e){return d(t=>t.prepare("SELECT * FROM agent_processes WHERE thread_id = ?").all(e).map(o))}function p(e){return d(t=>t.prepare("SELECT * FROM agent_processes WHERE workspace_id = ?").all(e).map(o))}function m(){return d(e=>e.prepare("SELECT * FROM agent_processes").all().map(o))}function g(){return d(e=>e.prepare(`
|
|
151
|
+
SELECT ap.*, substr(m.content, 1, 120) AS thread_title
|
|
152
|
+
FROM agent_processes ap
|
|
153
|
+
LEFT JOIN messages m ON m.id = ap.thread_id AND m.thread_id = ap.workspace_id
|
|
154
|
+
`).all().map(e=>({...o(e),threadTitle:e.thread_title})))}function _(e){let t=0;for(let r of e){if(r.pid>0)try{process.kill(r.pid,"SIGTERM")}catch{}t++}return t}function f(e){let t=_(u(e).filter(e=>"running"===e.state||"spawning"===e.state));return t>0&&d(t=>t.prepare(`UPDATE agent_processes SET state = 'killed', last_activity = ?
|
|
155
|
+
WHERE thread_id = ? AND state IN ('running', 'spawning')`).run(Date.now(),e)),t}function h(e){let t=_(p(e).filter(e=>"running"===e.state||"spawning"===e.state));return t>0&&d(t=>t.prepare(`UPDATE agent_processes SET state = 'killed', last_activity = ?
|
|
156
|
+
WHERE workspace_id = ? AND state IN ('running', 'spawning')`).run(Date.now(),e)),t}e.s(["getAll",()=>m,"getAllEnriched",()=>g,"getByThread",()=>u,"getByWorkspace",()=>p,"killByThread",()=>f,"killByWorkspace",()=>h,"register",()=>l,"update",()=>c])},18801,e=>{e.v(e=>Promise.resolve().then(()=>e(60447)))}];
|
|
157
|
+
|
|
158
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__a55c16a5._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[
|
|
1
|
+
module.exports=[22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},28237,e=>{"use strict";var t=e.i(22734),r=e.i(46786),o=e.i(14747);let s="3.35.0",n=["json1"],i=["fts5"],a=["nfs","smb","cifs","efs","fuse.sshfs"];function d(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,l){let c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),o=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(o[e]||0);if(0!==t)return t}return 0}(p.v,s)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${s}`,found:p.v,required:`>= ${s}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),n))d(u,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of i)d(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(s){"linux"!==r.default.platform()&&r.default.platform();try{let n=o.default.resolve(s),{execSync:i}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",o="unknown";for(let t of e.split("\n")){let[,e,s]=t.split(/\s+/);e&&n.startsWith(e)&&e.length>r.length&&(r=e,o=s||"unknown")}return o}}catch{}return null}(l);h&&a.some(e=>h.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${l}' is on a network filesystem (${h})`,path:l,found:h,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},9662,e=>{"use strict";var t=e.i(42873);function r(e,t=Date.now()){let o=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return o("no_schedule");let s=e.schedule;if("active"!==s.state)return o("not_active");if(s.tickInProgress)return o("tick_in_progress");if(null!=s.maxRuns&&s.runCount>=s.maxRuns)return o("max_runs_reached");if(s.cronExpr&&"number"==typeof s.nextTickAt){if(t<s.nextTickAt)return o("not_due")}else if(t-(s.lastTickAt??0)<s.intervalMs)return o("not_due");let n=JSON.parse(JSON.stringify(e)),i=[];for(let e of s.resetNodeIds){let t=n.nodes[e];t&&("done"===t.status||"passed"===t.status||"failed"===t.status||"skipped"===t.status)&&(n.nodes[e]={...t,status:"pending",startedAt:void 0,completedAt:void 0,metrics:void 0,..."function"===t.type?{output:void 0}:{},..."conditional"===t.type?{evaluatedTo:void 0}:{}},i.push(e))}return n.schedule={...s,tickInProgress:!0,lastTickAt:t,runCount:s.runCount+1},{graph:n,tickFired:!0,resetNodeIds:i}}function o(e){if(!e.schedule||!e.schedule.tickInProgress)return e;let r=e.schedule,o=r.nextTickAt;return r.cronExpr&&(o=(0,t.computeNextTickFromCron)(r.cronExpr)),{...e,schedule:{...r,tickInProgress:!1,nextTickAt:o}}}function s(e){if(!e.schedule)return!0;let t=new Set(["done","passed","failed","skipped"]);for(let r of e.schedule.resetNodeIds){let o=e.nodes[r];if(o&&!t.has(o.status))return!1}return!0}function n(e,t=6e4,r){return{intervalMs:t,state:"active",resetNodeIds:e,maxRuns:r,runCount:0,tickInProgress:!1,createdAt:new Date().toISOString()}}function i(e){return e.schedule&&"active"!==e.schedule.state?{...e,schedule:{...e.schedule,state:"active"}}:e}function a(e){return e.schedule?{...e,schedule:{...e.schedule,state:"stopped",tickInProgress:!1}}:e}e.s(["activateSchedule",()=>i,"completeScheduleTick",()=>o,"createThreadMonitorSchedule",()=>n,"isScheduleTickComplete",()=>s,"scheduleTickIfDue",()=>r,"stopSchedule",()=>a])},91329,e=>{"use strict";var t=e.i(65196);let r=new Set(["replan","rollback"]);class o extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class s extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class n extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class i extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function a(e){return null==e?null:JSON.stringify(e)}function d(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function u(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function l(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function c(e){let{type:t,status:r,metrics:o,output:s,...n}=e;return{type:t,status:r,config:n,output:s??null,metrics:o??null}}function p(e){let t={...l(d(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=u(e.timestamp)),t}function h(e){return{query(t,r){let o=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(o.run(...r??[]),{rows:[]}):{rows:o.all(...r??[])}}}}class g{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let r=this.getDb(),o=h(r);t?.skipTaskBinding&&r.pragma("foreign_keys = OFF");try{return r.transaction(()=>{let r=o.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new i(e.taskId,r.id);for(let[t,r]of(o.query(`INSERT INTO execution_graphs
|
|
2
2
|
(id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
|
|
3
3
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
4
4
|
ON CONFLICT (id) DO UPDATE SET
|
|
@@ -48,4 +48,4 @@ module.exports=[85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",
|
|
|
48
48
|
AND json_extract(schedule, '$.state') = 'active'
|
|
49
49
|
`).all().map(e=>({taskId:e.task_id,graphId:e.id,schedule:JSON.parse(e.schedule)}))}async function a(e={}){let t=new n.GraphStore,d={tickedGraphIds:[],skippedGraphIds:[],errors:[],pendingWork:[]},u=i();for(let{taskId:n}of(console.log(`[schedules:poll] found ${u.length} active schedule(s)`),u))try{let i=t.getGraph(n);if(!i){d.errors.push({graphId:n,error:Error("Graph not found")});continue}let a=(0,r.scheduleTickIfDue)(i);if(!a.tickFired){console.log(`[schedules:poll] ${n} skipped (${a.skipReason??"unknown"})`),d.skippedGraphIds.push(n);continue}console.log(`[schedules:poll] ${n} tick fired — resetting nodes`),t.updateGraphStructure(a.graph.id,{nodes:a.graph.nodes,schedule:a.graph.schedule});let u=(0,o.schedulerTick)(a.graph,e);console.log(`[schedules:poll] ${n} scheduler: fn=${u.functionToRun.length} work=${u.workToRun.length}`);let l=u.graph;for(let t of u.functionToRun){let r=l.nodes[t];if(r&&"function"===r.type)try{console.log(`[schedules:poll] ${n} executing function node "${t}"`);let r=await (0,s.executeNode)(l,t,e),o=r.graph.nodes[t];console.log(`[schedules:poll] ${n} function "${t}" → ${o?.status}`,o&&"output"in o?JSON.stringify(o.output)?.slice(0,200):""),l=r.graph}catch(e){console.error(`[schedules:poll] ${n} function "${t}" error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}t.updateGraphStructure(l.id,{nodes:l.nodes});let c=(0,o.schedulerTick)(l,e);for(let t of(console.log(`[schedules:poll] ${n} post-fn scheduler: cond=${c.control.conditionalNodeIds.length} work=${c.workToRun.length}`),l=c.graph,c.workToRun)){let r=l.nodes[t];if(r&&"work"===r.type)try{l=(await (0,s.executeNode)(l,t,e)).graph}catch(e){d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}if(c.workToRun.length>0){d.pendingWork.push({taskId:n,nodeIds:c.workToRun,graph:l}),t.updateGraphStructure(l.id,{nodes:l.nodes});let r=(0,o.schedulerTick)(l,e);for(let t of(console.log(`[schedules:poll] ${n} post-work scheduler: fn=${r.functionToRun.length} cond=${r.control.conditionalNodeIds.length}`),l=r.graph,r.functionToRun)){let r=l.nodes[t];if(r&&"function"===r.type)try{console.log(`[schedules:poll] ${n} executing post-work function "${t}"`),l=(await (0,s.executeNode)(l,t,e)).graph}catch(e){console.error(`[schedules:poll] ${n} post-work function "${t}" error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))})}}}t.updateGraphStructure(l.id,{nodes:l.nodes});let p=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:poll] ${n} node states: ${p}`);let h=(0,r.isScheduleTickComplete)(l);if(console.log(`[schedules:poll] ${n} tick complete? ${h}`),h){let e=(0,r.completeScheduleTick)(l),o=e.schedule?.resetNodeIds.some(t=>e.nodes[t]?.status==="failed");if(e.schedule){let t=e.schedule.consecutiveFailures??0,r=o?t+1:0;e.schedule={...e.schedule,consecutiveFailures:r};let s=e.schedule.maxConsecutiveFailures;null!=s&&r>=s&&(e.schedule={...e.schedule,state:"paused"})}let s=t.getGraph(n);s?.schedule?.state==="stopped"&&(console.log(`[schedules:poll] ${n} schedule was stopped mid-tick, preserving stopped state`),e.schedule={...e.schedule,state:"stopped"}),t.updateGraphStructure(e.id,{nodes:e.nodes,schedule:e.schedule})}d.tickedGraphIds.push(n)}catch(e){console.error(`[schedules:poll] ${n} caught error:`,e),d.errors.push({graphId:n,error:e instanceof Error?e:Error(String(e))});try{let e=t.getGraph(n);if(e?.schedule?.tickInProgress){let o=(0,r.completeScheduleTick)(e);t.updateGraphStructure(o.id,{nodes:o.nodes,schedule:o.schedule}),console.log(`[schedules:poll] ${n} force-completed stuck tick`)}}catch{}}return d}async function d(e,t={}){let i=new n.GraphStore,a=i.getGraph(e);if(!a)return{fired:!1,graph:null,error:Error("Graph not found")};if(!a.schedule)return{fired:!1,graph:a,error:Error("No schedule on graph")};let u=(0,r.scheduleTickIfDue)(a);if(!u.tickFired)return{fired:!1,graph:u.graph};i.updateGraphStructure(u.graph.id,{nodes:u.graph.nodes,schedule:u.graph.schedule});let l=u.graph,c=0;for(;;){c++;let e=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:tick] loop ${c} nodes before: ${e}`);let n=(0,o.schedulerTick)(l,t);for(let e of(console.log(`[schedules:tick] loop ${c} fn=${n.functionToRun.length} work=${n.workToRun.length} cond=${n.control.conditionalNodeIds.length}`),n.functionToRun)){let r=l.nodes[e];r&&"function"===r.type&&(l=(await (0,s.executeNode)(l,e,t)).graph,console.log(`[schedules:tick] fn "${e}" → ${l.nodes[e]?.status}`))}for(let e of(n.control.conditionalNodeIds.length>0&&(l=n.graph,console.log(`[schedules:tick] applied conditional results: ${n.control.conditionalNodeIds.join(", ")}`)),n.workToRun))l=(await (0,s.executeNode)(l,e,t)).graph;let i=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");if(console.log(`[schedules:tick] loop ${c} nodes after: ${i}`),(0,r.isScheduleTickComplete)(l)){console.log(`[schedules:tick] tick complete after loop ${c}`);break}if(n.complete||!(n.workToRun.length>0||n.functionToRun.length>0))break}let p=(0,r.completeScheduleTick)(l);return i.updateGraphStructure(p.id,{nodes:p.nodes,schedule:p.schedule}),{fired:!0,graph:p}}e.s(["executeScheduleTick",()=>d,"getGraphsWithActiveSchedules",()=>i,"pollSchedules",()=>a])},82848,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_node:child_process_261e8bca._.js"].map(t=>e.l(t))).then(()=>t(74533)))}];
|
|
50
50
|
|
|
51
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
51
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__a67cd108._.js.map
|