@mndrk/agx 2.0.56 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +2 -0
- package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +15 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js +4 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js +5 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/build-manifest.json +9 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js +13 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route_client-reference-manifest.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +14 -13
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/build-manifest.json +9 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js +28 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route_client-reference-manifest.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js +9 -5
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +16 -15
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +5 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +15 -15
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +15 -15
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +6 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/0jps_app_api_projects_[id]_objectives_[objectiveId]_worker_route_actions_0v8q3zz.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__0_au5u1._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__13x93ar._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0_10qfd._.js → [root-of-the-server]__0.6yz1u._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01lsgl~._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0205scg._.js → [root-of-the-server]__03.9arn._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__03h0gqp._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08jo91s._.js +9 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0o315az._.js → [root-of-the-server]__09j9jpf._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-nye63._.js → [root-of-the-server]__09jghbu._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0_7hiof._.js +43 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0.jam.l._.js → [root-of-the-server]__0a0cq38._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0asvfdo._.js +54 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0c86535._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0cj1krd._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0aa-88e._.js → [root-of-the-server]__0dy3h2i._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0touqng._.js → [root-of-the-server]__0e8-2k_._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0enhv5p._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0f9byr.._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0t2jk2r._.js → [root-of-the-server]__0g7hc1-._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g7p6pw._.js +55 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__019q25b._.js → [root-of-the-server]__0gj~dap._.js} +7 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0e6cj2y._.js → [root-of-the-server]__0hc45jw._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hkcw03._.js +49 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hmw36u._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0l53ok5._.js +54 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0n.momw._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tjo9we._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-~t2br._.js → [root-of-the-server]__0v7jjvl._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0x6w64i._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__11nke7t._.js → [root-of-the-server]__0y3qxv1._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__10z8f9h._.js → [root-of-the-server]__0ygidxe._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0z82z0-._.js +49 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0zsv-tb._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~nnfjr._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~x4jbk._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10d.dhd._.js +229 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12qy318._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_039.xxy._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_06oeti1._.js +49 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0dyy7h.._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gi7c9x._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gr.psg._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0sd8z0i._.js +21 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0y42h_~._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~ah49q._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_01kqgle._.js +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_06qet8g._.js +36 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_0m2ly._.js +397 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_a~bj0._.js +25 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0a15wtk._.js +397 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0bjdpen._.js +29 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0fr1qq6._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0g.q2r6._.js +41 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0h7wd0e._.js +29 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0i7fs.i._.js +397 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0ipg-p6._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0npxy21._.js +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0uhfa93._.js +21 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_12wpldq._.js +25 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_worker_route_actions_116303i.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01hd2_5._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01pvj2g._.js +34 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0ik933l._.js +55 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0o1v.j4._.js +79 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0pxj122._.js +55 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_automations_index_ts_0_8ch28._.js +10 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_082u-ls._.js +41 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0.xgxyl._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0yu3--n._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0ze8hzc._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_get-store_ts_0p0aod1._.js +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_linear-worker_ts_0ycjwem._.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0gips_c.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0u_5kfo.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_067eb..._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0hvpc.y._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__039h7r.._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0lno3km._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__02.r909._.js → [root-of-the-server]__0n5g8ml._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__0fl7_-o._.js → [root-of-the-server]__0nqqk26._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0tqn-o5._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w.zmt6._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w1mm2j._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~nm7b6._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__10h_7t0._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13h-0om._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_00trrg8._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_064h43p._.js → _05xj_bp._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0wk3skw._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yeuuy1._.js +25 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_0nvzo3y._.js → apps_local_04dh2yh._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_075cq2j._.js → apps_local_0k4~c1x._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0t6p.qm._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_0_4hk8x._.js → apps_local_0v~bvwg._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_[id]_page_tsx_06n47n~._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_0aaa3~t._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_new_page_tsx_0yqd0a5._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_setup_page_tsx_0ql2qmr._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_PromptJobBoard_tsx_06zob36._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_ChatContainer_tsx_0c9fjtl._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +6 -6
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0jonp-o8lh-4j.js → 0-cets4_axpvm.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-wlbe.ripd2w.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/003q-y3exxalk.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/00e1ihnb6ap3t.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/00po4v2x~0x_z.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/013gtut17~fne.js +23 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/014z_yruiincl.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/041-dhls9zkl1.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0_cjth28_11b2.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{11-u35xqxu~i-.js → 0aewbg0i704w7.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{08~pgzjb13k_v.js → 0dnw31436wd~..js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0e6rxcxy.l5c8.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0o9cxba_5mv2c.js → 0fonouj2i9qnb.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gj98094p~zn4.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ime4btrg-g4l.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jglardpw~5uc.js +37 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rey9zfvm3yhd.js → 0jq0t4zip38wt.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0kn66yvx08813.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{07646a0h94826.js → 0l89kxqcf86on.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{02zcxdul-1jaf.js → 0mig99af4~uos.js} +3 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ng6wy4ak35jg.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0n~jhoq~op4e5.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pdrpsy-zdxp0.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p~l5ap6qqx2o.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0w94x-v00osq0.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0mvqoz13v0o2a.js → 0wh6p5~ft5rma.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xu_doej_wc-3.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{00lise4d-u8d1.js → 1011~1x9nj4ny.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/11l2tww5f0hsk.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/16fyhcmwlw3th.js +6 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0uve8xrt~0a2e.js → 18e8w~~mvoh5o.js} +1 -1
- package/cloud-runtime/standalone/apps/local/app/agents/[id]/page.tsx +40 -5
- package/cloud-runtime/standalone/apps/local/app/api/agents/[id]/profile/route.ts +10 -0
- package/cloud-runtime/standalone/apps/local/app/api/linear/worker/route.ts +151 -0
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/route.ts +0 -8
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +6 -27
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/worker/route.ts +89 -0
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/route.ts +13 -0
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/search/route.ts +4 -4
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/route.ts +5 -3
- package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +7 -4
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +1 -1
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/new/page.tsx +236 -10
- package/cloud-runtime/standalone/apps/local/app/setup/page.tsx +9 -1
- package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +36 -8
- package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +53 -24
- package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +76 -2
- package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +17 -12
- package/cloud-runtime/standalone/apps/local/components/linear/LinearSettingsModal.tsx +111 -0
- package/cloud-runtime/standalone/apps/local/components/linear/LinearWorkerConfig.tsx +402 -0
- package/cloud-runtime/standalone/apps/local/components/linear/LinearWorkerRunLog.tsx +190 -0
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveHealthTrend.tsx +215 -0
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +208 -80
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +8 -2
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +211 -368
- package/cloud-runtime/standalone/apps/local/components/projects/RecentlyCompletedCard.tsx +213 -0
- package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +121 -6
- package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +1 -1
- package/cloud-runtime/standalone/apps/local/components/setup/McpSetupStep.tsx +242 -0
- package/cloud-runtime/standalone/apps/local/components/setup/ProjectStep.tsx +2 -2
- package/cloud-runtime/standalone/apps/local/components/setup/ProviderStep.tsx +1 -1
- package/cloud-runtime/standalone/apps/local/components/setup/TeamsStep.tsx +288 -15
- package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +24 -14
- package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +118 -17
- package/cloud-runtime/standalone/apps/local/hooks/useSetupFlow.ts +16 -2
- package/cloud-runtime/standalone/apps/local/lib/objective-health-history.ts +198 -0
- package/cloud-runtime/standalone/apps/local/lib/project-objective-context.ts +10 -0
- package/cloud-runtime/standalone/apps/local/lib/project-objectives.ts +0 -9
- package/cloud-runtime/standalone/apps/local/skills-lock.json +20 -0
- package/cloud-runtime/standalone/apps/local/src/automations/adapters.ts +5 -0
- package/cloud-runtime/standalone/apps/local/src/automations/types.ts +5 -0
- package/cloud-runtime/standalone/apps/local/src/automations/validation.ts +12 -5
- package/cloud-runtime/standalone/apps/local/src/objectives/parser.ts +0 -2
- package/cloud-runtime/standalone/apps/local/src/objectives/serializer.ts +0 -2
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-constants.ts +38 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-job.ts +47 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker.ts +482 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker-job.ts +47 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +511 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +51 -417
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/store.ts +19 -4
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +12 -8
- package/cloud-runtime/standalone/apps/local/state/terminalTabs.ts +182 -106
- package/cloud-runtime/standalone/apps/local/styles/workspaceSidebar.css +71 -2
- package/cloud-runtime/standalone/apps/local/worker/index.js +11 -12
- package/package.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0-0479y._.js +0 -54
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08oj_ky._.js +0 -49
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08y2lkj._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g50c6p._.js +0 -237
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gtv0rq._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ksbs9p._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0pz~m67._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0q93mk3._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tdixb0._.js +0 -49
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0vhcrdv._.js +0 -229
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0xdp_8-._.js +0 -237
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__11s20j6._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12xhcor._.js +0 -54
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_01rag2f._.js +0 -49
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_03y4xss._.js +0 -21
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0cm4i3i._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0ijzgnb._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~fjhfa._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_12yasaj._.js +0 -9
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_03q7_.q._.js +0 -21
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0m3e2d~._.js +0 -30
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0r-oiga._.js +0 -30
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_00cwfvi._.js +0 -34
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0hx7xyz._.js +0 -34
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0rqcat4._.js +0 -55
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0sc_lek._.js +0 -79
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_135ddsu._.js +0 -55
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_store_ts_0h.2qy9._.js +0 -43
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_022nz2u._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +0 -475
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0yvelwy.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0qzjdog._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0a-mbbj._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__07johgg._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0bf346q._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r3w68h._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0x7k~pk._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0y8j6el._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0yme9fy._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~7q5sw._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13eqcxp._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_09~glsn._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0n80y4_._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ut3k~7._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0vibfch._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_04hvzn_._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-_ukhpeg429c.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.4d8rshxivwh.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/02p3n7faotpr9.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/051-7k0nnm-vm.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/055bzj5jfgzr0.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/05c-~4v_jrblf.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09wzd7y~tk-3~.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0brmd4~76pthy.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0f7i3ae1ynhf3.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0hudzktaaxr4g.js +0 -6
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0hzq698w6f4m6.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0i.su2yr26wb6.js +0 -37
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jsbvcyub73d9.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l2pt2td_87wr.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p7s38p3bcffh.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0q2dgbluvgxf2.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0r0c9y6.8.m5p.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ucg8e2wkd8gf.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/104xjvrf6y-zq.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/15jlly_p-g4c8.js +0 -6
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/16nozeadjid9-.js +0 -5
- /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → qPuactsz6OYimwT6dSdHn}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → qPuactsz6OYimwT6dSdHn}/_clientMiddlewareManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → qPuactsz6OYimwT6dSdHn}/_ssgManifest.js +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[307694,434032,e=>{"use strict";function t(e){if(!Array.isArray(e))return;let t=[];return e.forEach(e=>{if(!e||"object"!=typeof e)return;let r=e.name,o="string"==typeof r?r.trim():"";if(!o)return;let n={name:o},a=e.id,i=e.path,s=e.git_url,l=e.notes;if("string"==typeof a&&a.trim()&&(n.id=a.trim()),"string"==typeof i&&i.trim()){if(n.path=i.trim(),"string"==typeof s&&s.trim()&&(n.git_url=s.trim()),"string"==typeof l){let e=l.trim();e&&(n.notes=e)}t.push(n)}}),t}e.s(["buildProjectInput",0,function(e){return{name:String(e.name??"").trim(),description:"string"==typeof e.description?e.description.trim():void 0,repos:t(e.repos)}},"buildProjectUpdatePayload",0,function(e){let r={};return"string"==typeof e.name&&(r.name=e.name.trim()),"string"==typeof e.slug&&(r.slug=e.slug.trim()),"string"==typeof e.description?r.description=e.description.trim():null===e.description&&(r.description=null),void 0!==e.metadata&&(r.metadata=function(e){if(!(!e||"object"!=typeof e||Array.isArray(e)))return e}(e.metadata)),"string"==typeof e.ci_cd_info?r.ci_cd_info=e.ci_cd_info.trim()||null:null===e.ci_cd_info&&(r.ci_cd_info=null),"string"==typeof e.workflow_id?r.workflow_id=e.workflow_id.trim()||null:null===e.workflow_id&&(r.workflow_id=null),Object.prototype.hasOwnProperty.call(e,"repos")&&(r.repos=t(e.repos)??[]),r}],307694);var r=e.i(765443),o=e.i(671182);function n(e){let t="string"==typeof e.slug&&e.slug.trim()?e.slug.trim():e.id;try{let n=(0,o.getObjectiveRepository)(t);if(!n.hasFiles())return e;let a=n.readWorkspace();return{...e,metadata:(0,r.writeProjectObjectivesWorkspace)(e.metadata??{},a)}}catch(t){return console.error("[objectives] failed to hydrate project metadata from files:",t),e}}e.s(["hydrateProjectObjectiveMetadata",0,n,"hydrateProjectsObjectiveMetadata",0,function(e){return e.map(e=>n(e))}],434032)},788752,e=>{"use strict";var t=e.i(747909),r=e.i(174017),o=e.i(996250),n=e.i(759756),a=e.i(561916),i=e.i(174677),s=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),f=e.i(570101),h=e.i(626937),R=e.i(10372),m=e.i(193695);e.i(52474);var y=e.i(600220),g=e.i(89171),j=e.i(764541),v=e.i(307694),w=e.i(744071),E=e.i(765443),x=e.i(671182),P=e.i(434032);async function b(e){let t=await Promise.resolve(e);return t&&"string"==typeof t.id&&t.id.trim()||null}async function _(e){return{db:null,user:{id:w.LOCAL_USER.id},error:null}}async function N(e,{params:t}){try{let{user:r,error:o}=await _(e);if(o||!r)return g.NextResponse.json({error:"Unauthorized"},{status:401});let n=await b(t);if(!n)return g.NextResponse.json({error:"Project not found"},{status:404});let a=await j.db.getProjectWithRepos(n,r.id);if(!a)return g.NextResponse.json({error:"Project not found"},{status:404});return g.NextResponse.json({project:(0,P.hydrateProjectObjectiveMetadata)(a)})}catch(e){return console.error("Error fetching project:",e),g.NextResponse.json({error:"Failed to fetch project"},{status:500})}}async function C(e,{params:t}){try{let{user:r,error:o}=await _(e);if(o||!r)return g.NextResponse.json({error:"Unauthorized"},{status:401});let n=await b(t);if(!n)return g.NextResponse.json({error:"Project not found"},{status:400});let a=await e.json();if(!a||"object"!=typeof a)return g.NextResponse.json({error:"Invalid project payload"},{status:400});let i=(0,v.buildProjectUpdatePayload)(a);if(!Object.keys(i).length)return g.NextResponse.json({error:"No fields to update"},{status:400});let s=await j.db.updateProject(n,r.id,i);if(!s)return g.NextResponse.json({error:"Project not found"},{status:404});if(i.metadata&&i.metadata[E.PROJECT_OBJECTIVES_METADATA_KEY])try{let e=s.slug??n,t=(0,x.getObjectiveRepository)(e),r=(0,E.readProjectObjectivesWorkspace)(i.metadata);t.writeWorkspace(r)}catch(e){console.error("[objectives] failed to sync to files:",e)}return g.NextResponse.json({project:(0,P.hydrateProjectObjectiveMetadata)(s)})}catch(e){return console.error("Error updating project:",e),g.NextResponse.json({error:"Failed to update project"},{status:500})}}async function A(e,{params:t}){try{let{user:r,error:o}=await _(e);if(o||!r)return g.NextResponse.json({error:"Unauthorized"},{status:401});let n=await b(t);if(!n)return g.NextResponse.json({error:"Project not found"},{status:404});return await j.db.deleteProject(n,r.id),g.NextResponse.json({success:!0})}catch(e){return console.error("Error deleting project:",e),g.NextResponse.json({error:"Failed to delete project"},{status:500})}}e.s(["DELETE",0,A,"GET",0,N,"PATCH",0,C],743912);var O=e.i(743912);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/[id]/route",pathname:"/api/projects/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/projects/[id]/route.ts",nextConfigOutput:"standalone",userland:O,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:k,serverHooks:U}=T;async function M(e,t,o){o.requestMeta&&(0,n.setRequestMeta)(e,o.requestMeta),T.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/projects/[id]/route";g=g.replace(/\/index$/,"")||"/";let j=await T.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!j)return t.statusCode=400,t.end("Bad Request"),null==o.waitUntil||o.waitUntil.call(o,Promise.resolve()),null;let{buildId:v,params:w,nextConfig:E,parsedUrl:x,isDraftMode:P,prerenderManifest:b,routerServerContext:_,isOnDemandRevalidate:N,revalidateOnlyGenerated:C,resolvedPathname:A,clientReferenceManifest:O,serverActionsManifest:S}=j,k=(0,s.normalizeAppPath)(g),U=!!(b.dynamicRoutes[k]||b.routes[A]),M=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,x,!1):t.end("This page could not be found"),null);if(U&&!P){let e=!!b.routes[A],t=b.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await M();throw new m.NoFallbackError}}let I=null;!U||T.isDev||P||(I="/index"===(I=A)?"/":I);let q=!0===T.isDev||!U,H=U&&!q;S&&O&&(0,i.setManifestsSingleton)({page:g,clientReferenceManifest:O,serverActionsManifest:S});let D=e.method||"GET",F=(0,a.getTracer)(),K=F.getActiveScopeSpan(),$=!!(null==_?void 0:_.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await T.getIncrementalCache(e,E,b,L);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let B={params:w,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:q,incrementalCache:W,cacheLifeProfiles:E.cacheLife,waitUntil:o.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,o,n)=>T.onRequestError(e,t,o,n,_)},sharedContext:{buildId:v}},z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(z,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>T.handle(V,B).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")!==d.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 o=r.get("next.route");if(o){let t=`${D} ${o}`;e.setAttributes({"next.route":o,"http.route":o,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",o),n.updateName(t))}else e.updateName(`${D} ${g}`)}),s=async n=>{var a,s;let l=async({previousCacheEntry:r})=>{try{if(!L&&N&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=B.renderOpts.fetchMetrics;let s=B.renderOpts.pendingWaitUntil;s&&o.waitUntil&&(o.waitUntil(s),s=void 0);let l=B.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(z,G,a,B.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,o=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:o}}}}catch(t){throw(null==r?void 0:r.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,_),t}},u=await T.handleResponse({req:e,nextConfig:E,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:o.waitUntil,isMinimalMode:L});if(!U)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(s=u.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&U||d.delete(R.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(z,G,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&K?await s(K):(n=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${D} ${g}`,kind:a.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},s),void 0,!$))}catch(t){if(t instanceof m.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,_),U)throw t;return await (0,p.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,M,"patchFetch",0,function(){return(0,o.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:k})},"routeModule",0,T,"serverHooks",0,U,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,k],788752)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_0ijzgnb._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[533655,e=>{"use strict";e.s(["BASH_FUNCTION_TIMEOUT_MS",0,3e4,"CHECK_NPM_BUILD_TIMEOUT_MS",0,6e5,"CHECK_NPM_COVERAGE_TIMEOUT_MS",0,3e5,"CHECK_NPM_LINT_TIMEOUT_MS",0,6e4,"CHECK_NPM_TEST_TIMEOUT_MS",0,3e5,"CHECK_NPM_TYPECHECK_TIMEOUT_MS",0,12e4,"GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"PS_COMMAND_TIMEOUT_MS",0,5e3,"QUEUE_POLL_INTERVAL_MS",0,1e3,"SCHEDULE_POLL_INTERVAL_MS",0,5e3,"SHELL_COMMAND_TIMEOUT_MS",0,5e3,"SKILLS_CACHE_TTL_MS",0,36e5,"SKILL_DETAIL_CACHE_TTL_MS",0,36e5,"SKILL_FETCH_TIMEOUT_MS",0,12e4,"STEER_DUPLICATE_WINDOW_MS",0,9e5,"WRITE_RATE_SAMPLE_WINDOW_MS",0,1e4,"WRITE_RATE_WARNING_COOLDOWN_MS",0,6e4])},466713,e=>{"use strict";var t=e.i(533655);let n={replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:t.NODE_TIMEOUT_DEFAULT_MS,graphTimeoutMs:t.GRAPH_TIMEOUT_DEFAULT_MS};e.s(["DEFAULT_EXECUTION_POLICY",0,n,"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"]])},160129,e=>{"use strict";var t=e.i(46081);e.s(["completeScheduleTick",0,function(e){if(!e.schedule||!e.schedule.tickInProgress)return e;let n=e.schedule,r=n.nextTickAt;return n.cronExpr&&(r=(0,t.computeNextTickFromCron)(n.cronExpr)),{...e,schedule:{...n,tickInProgress:!1,nextTickAt:r}}},"createThreadMonitorSchedule",0,function(e,t=6e4,n){return{intervalMs:t,state:"active",resetNodeIds:e,maxRuns:n,runCount:0,tickInProgress:!1,createdAt:new Date().toISOString()}},"isScheduleTickComplete",0,function(e){if(!e.schedule)return!0;let t=new Set(["done","passed","failed","skipped"]);for(let n of e.schedule.resetNodeIds){let r=e.nodes[n];if(r&&!t.has(r.status))return!1}return!0},"scheduleTickIfDue",0,function(e,t=Date.now()){let n=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return n("no_schedule");let r=e.schedule;if("active"!==r.state)return n("not_active");if(r.tickInProgress)return n("tick_in_progress");if(null!=r.maxRuns&&r.runCount>=r.maxRuns)return n("max_runs_reached");if(r.cronExpr&&"number"==typeof r.nextTickAt){if(t<r.nextTickAt)return n("not_due")}else if(t-(r.lastTickAt??0)<r.intervalMs)return n("not_due");let a=JSON.parse(JSON.stringify(e)),i=[];for(let e of r.resetNodeIds){let t=a.nodes[e];t&&("done"===t.status||"passed"===t.status||"failed"===t.status||"skipped"===t.status)&&(a.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 a.schedule={...r,tickInProgress:!0,lastTickAt:t,runCount:r.runCount+1},{graph:a,tickFired:!0,resetNodeIds:i}}])},656317,e=>{"use strict";var t=e.i(747909),n=e.i(174017),r=e.i(996250),a=e.i(759756),i=e.i(561916),s=e.i(174677),o=e.i(869741),u=e.i(316795),d=e.i(487718),l=e.i(995169),c=e.i(47587),p=e.i(666012),E=e.i(570101),h=e.i(626937),m=e.i(10372),_=e.i(193695);e.i(52474);var T=e.i(600220),R=e.i(89171),C=e.i(469719),S=e.i(284521),g=e.i(951336),f=e.i(46081),v=e.i(160129);let I=C.z.object({name:C.z.string().trim().min(1),description:C.z.string().trim().min(1).optional(),cadence:C.z.string().trim().min(1),taskId:C.z.string().trim().min(1).optional(),command:C.z.string().trim().min(1).optional(),maxRuns:C.z.number().int().positive().optional(),maxConsecutiveFailures:C.z.number().int().positive().optional()});async function A(t){try{let n=await t.json().catch(()=>({})),r=I.safeParse(n);if(!r.success)return R.NextResponse.json({error:"Invalid request",issues:r.error.issues},{status:400});let a=r.data,i=(0,S.toCronExpr)(a.cadence);if(!i)return R.NextResponse.json({error:`Could not parse cadence: "${a.cadence}". Use a cron expression or natural language like "every 2 hours".`},{status:400});if(a.taskId){let t=(0,g.getGraph)(a.taskId);if(!t)return R.NextResponse.json({error:"Task not found"},{status:404});let n={intervalMs:6e4,cronExpr:i.cronExpr,cadence:i.cadence,name:a.name,description:a.description,resetNodeIds:Object.entries(t.nodes).filter(([,e])=>"function"===e.type||"conditional"===e.type).map(([e])=>e),maxRuns:a.maxRuns,maxConsecutiveFailures:a.maxConsecutiveFailures},r=(0,f.activateGraphSchedule)(t,n),{updateGraphStructure:s}=await e.A(234316);s(r.id,{mode:r.mode,nodes:r.nodes,edges:r.edges,policy:r.policy,doneCriteria:r.doneCriteria,schedule:r.schedule},t.graphVersion);let o=(0,g.getGraph)(a.taskId);return R.NextResponse.json({success:!0,taskId:a.taskId,graphId:o?.id??r.id,schedule:o?.schedule??r.schedule})}let s=new Date().toISOString(),o=`auto-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,u={type:"function",status:"pending",deps:[],kind:"bash",title:a.name,command:a.command??'echo "Automation tick"'},d={id:o,taskId:o,graphVersion:1,mode:"SIMPLE",nodes:{run:u},edges:[],policy:{replanBudgetRemaining:0,replanBudgetInitial:0,verifyBudgetRemaining:0,verifyBudgetInitial:0,maxConcurrentAutoChecks:0,immutableRequiredGates:!1,maxConcurrent:1,priorityMode:"fifo",nodeTimeoutMs:3e5,graphTimeoutMs:6e5},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0},schedule:{...(0,v.createThreadMonitorSchedule)(["run"],6e4),cronExpr:i.cronExpr,cadence:i.cadence,name:a.name,description:a.description,maxConsecutiveFailures:a.maxConsecutiveFailures,consecutiveFailures:0,maxRuns:a.maxRuns},versionHistory:[],createdAt:s,updatedAt:s};return(0,g.createGraph)(d),R.NextResponse.json({success:!0,created:!0,taskId:o,graphId:o,schedule:d.schedule,parsedCron:i})}catch(e){return console.error("Create automation error:",e),R.NextResponse.json({error:"Failed to create automation",message:e instanceof Error?e.message:String(e)},{status:500})}}e.s(["POST",0,A,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],152745);var M=e.i(152745);let x=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/automations/create/route",pathname:"/api/automations/create",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/automations/create/route.ts",nextConfigOutput:"standalone",userland:M,...{}}),{workAsyncStorage:N,workUnitAsyncStorage:O,serverHooks:k}=x;async function P(e,t,r){r.requestMeta&&(0,a.setRequestMeta)(e,r.requestMeta),x.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/automations/create/route";R=R.replace(/\/index$/,"")||"/";let C=await x.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!C)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,params:g,nextConfig:f,parsedUrl:v,isDraftMode:I,prerenderManifest:A,routerServerContext:M,isOnDemandRevalidate:N,revalidateOnlyGenerated:O,resolvedPathname:k,clientReferenceManifest:P,serverActionsManifest:y}=C,U=(0,o.normalizeAppPath)(R),w=!!(A.dynamicRoutes[U]||A.routes[k]),D=async()=>((null==M?void 0:M.render404)?await M.render404(e,t,v,!1):t.end("This page could not be found"),null);if(w&&!I){let e=!!A.routes[k],t=A.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(f.adapterPath)return await D();throw new _.NoFallbackError}}let L=null;!w||x.isDev||I||(L="/index"===(L=k)?"/":L);let b=!0===x.isDev||!w,H=w&&!b;y&&P&&(0,s.setManifestsSingleton)({page:R,clientReferenceManifest:P,serverActionsManifest:y});let F=e.method||"GET",q=(0,i.getTracer)(),j=q.getActiveScopeSpan(),K=!!(null==M?void 0:M.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),G=(0,a.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,f,A,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let W={params:g,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!f.experimental.authInterrupts},cacheComponents:!!f.cacheComponents,supportsDynamicResponse:b,incrementalCache:G,cacheLifeProfiles:f.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>x.onRequestError(e,t,r,a,M)},sharedContext:{buildId:S}},$=new u.NodeNextRequest(e),z=new u.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest($,(0,d.signalFromNodeResponse)(t));try{let a,s=async e=>x.handle(V,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=q.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",r),a.updateName(t))}else e.updateName(`${F} ${R}`)}),o=async a=>{var i,o;let u=async({previousCacheEntry:n})=>{try{if(!B&&N&&O&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(a);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let u=W.renderOpts.collectedTags;if(!w)return await (0,p.sendResponse)($,z,i,W.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(i.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,r=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:T.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,M),t}},d=await x.handleResponse({req:e,nextConfig:f,cacheKey:L,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:O,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:B});if(!w)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,E.fromNodeOutgoingHttpHeaders)(d.value.headers);return B&&w||l.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)($,z,new Response(d.value.body,{headers:l,status:d.value.status||200})),null};K&&j?await o(j):(a=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(l.BaseServerSpan.handleRequest,{spanName:`${F} ${R}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof _.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,M),w)throw t;return await (0,p.sendResponse)($,z,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:O})},"routeModule",0,x,"serverHooks",0,k,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,O],656317)},234316,e=>{e.v(e=>Promise.resolve().then(()=>e(951336)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_0~fjhfa._.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
module.exports=[533655,e=>{"use strict";e.s(["BASH_FUNCTION_TIMEOUT_MS",0,3e4,"CHECK_NPM_BUILD_TIMEOUT_MS",0,6e5,"CHECK_NPM_COVERAGE_TIMEOUT_MS",0,3e5,"CHECK_NPM_LINT_TIMEOUT_MS",0,6e4,"CHECK_NPM_TEST_TIMEOUT_MS",0,3e5,"CHECK_NPM_TYPECHECK_TIMEOUT_MS",0,12e4,"GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"PS_COMMAND_TIMEOUT_MS",0,5e3,"QUEUE_POLL_INTERVAL_MS",0,1e3,"SCHEDULE_POLL_INTERVAL_MS",0,5e3,"SHELL_COMMAND_TIMEOUT_MS",0,5e3,"SKILLS_CACHE_TTL_MS",0,36e5,"SKILL_DETAIL_CACHE_TTL_MS",0,36e5,"SKILL_FETCH_TIMEOUT_MS",0,12e4,"STEER_DUPLICATE_WINDOW_MS",0,9e5,"WRITE_RATE_SAMPLE_WINDOW_MS",0,1e4,"WRITE_RATE_WARNING_COOLDOWN_MS",0,6e4])},466713,e=>{"use strict";var t=e.i(533655);let s={replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:t.NODE_TIMEOUT_DEFAULT_MS,graphTimeoutMs:t.GRAPH_TIMEOUT_DEFAULT_MS};e.s(["DEFAULT_EXECUTION_POLICY",0,s,"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"]])},160129,e=>{"use strict";var t=e.i(46081);e.s(["completeScheduleTick",0,function(e){if(!e.schedule||!e.schedule.tickInProgress)return e;let s=e.schedule,r=s.nextTickAt;return s.cronExpr&&(r=(0,t.computeNextTickFromCron)(s.cronExpr)),{...e,schedule:{...s,tickInProgress:!1,nextTickAt:r}}},"createThreadMonitorSchedule",0,function(e,t=6e4,s){return{intervalMs:t,state:"active",resetNodeIds:e,maxRuns:s,runCount:0,tickInProgress:!1,createdAt:new Date().toISOString()}},"isScheduleTickComplete",0,function(e){if(!e.schedule)return!0;let t=new Set(["done","passed","failed","skipped"]);for(let s of e.schedule.resetNodeIds){let r=e.nodes[s];if(r&&!t.has(r.status))return!1}return!0},"scheduleTickIfDue",0,function(e,t=Date.now()){let s=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return s("no_schedule");let r=e.schedule;if("active"!==r.state)return s("not_active");if(r.tickInProgress)return s("tick_in_progress");if(null!=r.maxRuns&&r.runCount>=r.maxRuns)return s("max_runs_reached");if(r.cronExpr&&"number"==typeof r.nextTickAt){if(t<r.nextTickAt)return s("not_due")}else if(t-(r.lastTickAt??0)<r.intervalMs)return s("not_due");let a=JSON.parse(JSON.stringify(e)),n=[];for(let e of r.resetNodeIds){let t=a.nodes[e];t&&("done"===t.status||"passed"===t.status||"failed"===t.status||"skipped"===t.status)&&(a.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}:{}},n.push(e))}return a.schedule={...r,tickInProgress:!0,lastTickAt:t,runCount:r.runCount+1},{graph:a,tickFired:!0,resetNodeIds:n}}])},995435,e=>{"use strict";var t=e.i(747909),s=e.i(174017),r=e.i(996250),a=e.i(759756),n=e.i(561916),i=e.i(174677),o=e.i(869741),d=e.i(316795),l=e.i(487718),u=e.i(995169),c=e.i(47587),p=e.i(666012),h=e.i(570101),g=e.i(626937),m=e.i(10372),E=e.i(193695);e.i(52474);var _=e.i(600220),T=e.i(89171),I=e.i(469719),v=e.i(951336),R=e.i(46081),S=e.i(160129);let f=I.z.object({action:I.z.literal("activate"),rootMessageId:I.z.string().trim().min(1),intervalMs:I.z.number().int().positive().optional()}),M=I.z.object({action:I.z.literal("stop"),rootMessageId:I.z.string().trim().min(1)}),C=I.z.discriminatedUnion("action",[f,M]),A=`Review the conversation so far and determine whether the thread is actually ready to move into review.
|
|
2
|
-
If it is not ready, produce exactly one message that does both of these things together:
|
|
3
|
-
1. Briefly assess what has been accomplished and what remains.
|
|
4
|
-
2. Give the team the concrete next steps needed to move toward shipping.
|
|
5
|
-
|
|
6
|
-
Do not split status and instructions into separate responses. Keep it to one concise message.
|
|
7
|
-
Only mark the work complete when it is truly ready to stop ship mode and move into review.`;async function N(t){try{var s;let r,a=await t.json().catch(()=>({})),n=C.safeParse(a);if(!n.success)return T.NextResponse.json({error:"Invalid request",issues:n.error.issues},{status:400});let i=n.data;if("stop"===i.action){let e=(0,v.deactivateSchedulesByRootMessageId)(i.rootMessageId);return T.NextResponse.json({success:!0,deactivated:e})}let o=i.intervalMs??15e3,d=(0,v.getActiveScheduleForRootMessageId)(i.rootMessageId);if(d){let e=(0,v.getGraph)(d.taskId);return T.NextResponse.json({success:!0,alreadyActive:!0,taskId:d.taskId,graphId:d.graphId,schedule:e?.schedule??null})}let l=(0,v.getGraph)(i.rootMessageId);if(l){let t=(0,R.activateGraphSchedule)(l,{intervalMs:o,resetNodeIds:l.schedule?.resetNodeIds??["pull-status","idle-check"],name:l.schedule?.name??"Ship mode",description:l.schedule?.description??"Automatically steers an idle thread toward completion.",maxConsecutiveFailures:l.schedule?.maxConsecutiveFailures??3,rootMessageId:i.rootMessageId,nowIso:new Date().toISOString()}),{updateGraphStructure:s}=await e.A(234316);s(t.id,{mode:t.mode,nodes:t.nodes,edges:t.edges,policy:t.policy,doneCriteria:t.doneCriteria,schedule:t.schedule},l.graphVersion);let r=(0,v.getGraph)(i.rootMessageId);return T.NextResponse.json({success:!0,reactivated:!0,taskId:i.rootMessageId,graphId:r?.id??t.id,schedule:r?.schedule??t.schedule})}let u=(s=i.rootMessageId,r=new Date().toISOString(),{id:`sched-${s}`,taskId:s,graphVersion:1,mode:"SIMPLE",nodes:{"pull-status":{type:"function",status:"pending",deps:[],kind:"internal",title:"Pull thread status",command:"thread-status",args:{rootMessageId:s}},"idle-check":{type:"conditional",status:"pending",deps:["pull-status"],condition:{expression:"input.activeProcessCount === 0",inputFrom:"pull-status"},thenBranch:["steer"],elseBranch:[]},steer:{type:"work",status:"pending",deps:["idle-check"],title:"Steer toward completion",description:A,attempts:0,maxAttempts:2,retryPolicy:{backoffMs:5e3,onExhaust:"fail"}},act:{type:"function",status:"pending",deps:["steer"],kind:"internal",title:"Act on steer result",command:"ship-mode-act",args:{rootMessageId:s,steerNodeId:"steer"},timeoutMs:3e5}},edges:[{from:"pull-status",to:"idle-check",type:"hard"},{from:"idle-check",to:"steer",type:"hard"},{from:"steer",to:"act",type:"hard",condition:"always"}],policy:{replanBudgetRemaining:0,replanBudgetInitial:0,verifyBudgetRemaining:0,verifyBudgetInitial:0,maxConcurrentAutoChecks:0,immutableRequiredGates:!1,maxConcurrent:1,priorityMode:"fifo",nodeTimeoutMs:3e5,graphTimeoutMs:0},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0},schedule:{...(0,S.createThreadMonitorSchedule)(["pull-status","idle-check","steer","act"],o),name:"Ship mode",description:"Automatically steers an idle thread toward completion.",maxConsecutiveFailures:3,rootMessageId:s},versionHistory:[],createdAt:r,updatedAt:r});return(0,v.createGraph)(u,{skipTaskBinding:!0}),T.NextResponse.json({success:!0,created:!0,taskId:u.taskId,graphId:u.id,schedule:u.schedule})}catch(e){return console.error("Schedule API error:",e),T.NextResponse.json({error:"Failed to manage schedule",message:e instanceof Error?e.message:String(e)},{status:500})}}async function y(e){let t=e.nextUrl.searchParams.get("rootMessageId");if(!t){let e=(0,v.getActiveScheduleRootMessageIds)();return T.NextResponse.json({activeRootMessageIds:e})}let s=(0,v.getActiveScheduleForRootMessageId)(t);if(!s)return T.NextResponse.json({active:!1});let r=(0,v.getGraph)(s.taskId);return T.NextResponse.json({active:!0,taskId:s.taskId,graphId:s.graphId,schedule:r?.schedule??null})}e.s(["GET",0,y,"POST",0,N,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],501800);var k=e.i(501800);let O=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/schedules/route",pathname:"/api/schedules",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/schedules/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:x,workUnitAsyncStorage:w,serverHooks:P}=O;async function U(e,t,r){r.requestMeta&&(0,a.setRequestMeta)(e,r.requestMeta),O.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let T="/api/schedules/route";T=T.replace(/\/index$/,"")||"/";let I=await O.prepare(e,t,{srcPage:T,multiZoneDraftMode:!1});if(!I)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:S,parsedUrl:f,isDraftMode:M,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:N,revalidateOnlyGenerated:y,resolvedPathname:k,clientReferenceManifest:x,serverActionsManifest:w}=I,P=(0,o.normalizeAppPath)(T),U=!!(C.dynamicRoutes[P]||C.routes[k]),D=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,f,!1):t.end("This page could not be found"),null);if(U&&!M){let e=!!C.routes[k],t=C.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await D();throw new E.NoFallbackError}}let L=null;!U||O.isDev||M||(L="/index"===(L=k)?"/":L);let b=!0===O.isDev||!U,H=U&&!b;w&&x&&(0,i.setManifestsSingleton)({page:T,clientReferenceManifest:x,serverActionsManifest:w});let F=e.method||"GET",q=(0,n.getTracer)(),B=q.getActiveScopeSpan(),j=!!(null==A?void 0:A.isWrappedByNextServer),G=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,S,C,G);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let W={params:R,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:b,incrementalCache:K,cacheLifeProfiles:S.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,a)=>O.onRequestError(e,t,r,a,A)},sharedContext:{buildId:v}},$=new d.NodeNextRequest(e),z=new d.NodeNextResponse(t),V=l.NextRequestAdapter.fromNodeNextRequest($,(0,l.signalFromNodeResponse)(t));try{let a,i=async e=>O.handle(V,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=q.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=s.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",r),a.updateName(t))}else e.updateName(`${F} ${T}`)}),o=async a=>{var n,o;let d=async({previousCacheEntry:s})=>{try{if(!G&&N&&y&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let d=W.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)($,z,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,r=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),t}},l=await O.handleResponse({req:e,nextConfig:S,cacheKey:L,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:y,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:G});if(!U)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(o=l.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",N?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),M&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(l.value.headers);return G&&U||u.delete(m.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(l.cacheControl)),await (0,p.sendResponse)($,z,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};j&&B?await o(B):(a=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${T}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!j))}catch(t){if(t instanceof E.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),U)throw t;return await (0,p.sendResponse)($,z,new Response(null,{status:500})),null}}e.s(["handler",0,U,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:w})},"routeModule",0,O,"serverHooks",0,P,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,w],995435)},234316,e=>{e.v(e=>Promise.resolve().then(()=>e(951336)))}];
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=_12yasaj._.js.map
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module.exports=[671182,927382,413580,248821,243174,t=>{"use strict";var e=t.i(522734),r=t.i(814747),i=t.i(446786),n=t.i(260476);let a=/^---\s*\n([\s\S]*?)\n---\s*(?:\n([\s\S]*))?$/;function o(t,e=""){return"string"==typeof t?t:e}function s(t,e="1970-01-01T00:00:00.000Z"){if("string"!=typeof t)return e;let r=Date.parse(t);return Number.isNaN(r)?e:new Date(r).toISOString()}let l=new Set(["on_track","at_risk","off_track","done"]);function d(t,e={}){var r,i,c,u;let f,h,y=t.match(a);if(!y)throw Error(`Objective file is missing YAML frontmatter${e.filePath?` (${e.filePath})`:""}.`);let[,p,m=""]=y,b=!(r=(0,n.load)(p,{...e.filePath?{filename:e.filePath}:{}}))||"object"!=typeof r||Array.isArray(r)?{}:r,{summary:v,activities:j,activityThreads:A}=function(t,e){let r=t.split(/(?=^## )/m),i="",n=[],a={};for(let t of r){let r=t.trim();if(r){if(r.startsWith("## Notes")){i=r.replace(/^## Notes\s*/,"").trim();continue}if(r.startsWith("## Activities")){for(let t of r.split(/(?=^### )/m).slice(1)){let r=function(t,e){let r=t.split("\n"),i=r[0];if(!i)return null;let n=i.replace(/^###\s+/,"").trim();if(!n)return null;let a="",o="Update",l="",d="",c=null,u=[],f=!1;for(let t=1;t<r.length;t++){let e=r[t];if(e.startsWith("#### Replies")){f=!0;continue}if(f){let t=e.match(/^- \*\*(.+?)\*\*\s+\((\d{4}-\S+)\):\s*(.+)$/);if(t){let[,e,r,i]=t;u.push({id:`reply_${Math.random().toString(36).slice(2,10)}`,activityId:a,author:e,body:i,createdAt:s(r)})}continue}let i=e.match(/^- \*\*(\w+):\*\*\s*(.+)$/);if(i){let[,t,e]=i;switch(t){case"id":a=e.trim();break;case"source":o=e.trim();break;case"created":l=s(e.trim());break;case"body":d=e.trim();break;case"relatedTaskId":c=e.trim()||null}continue}}for(let t of(a||(a=`objective_activity_${Math.random().toString(36).slice(2,10)}`),l||(l=new Date().toISOString()),u))t.activityId=a;return{activity:{id:a,objectiveId:e,sourceType:"note",sourceLabel:o,title:n,body:d,createdAt:l,updatedAt:l,relatedTaskId:c},replies:u}}(t.trim(),e);r&&(n.push(r.activity),r.replies.length>0&&(a[r.activity.id]=r.replies))}continue}r.startsWith("## ")||(i=r)}}return{summary:i,activities:n,activityThreads:a}}(m,o(b.id));return{objective:(f=s(b.updatedAt??b.createdAt),h=s(b.createdAt,f),{id:o(b.id),title:o(b.title,"Untitled objective"),teamId:o(b.teamId),key:o(b.key),threadId:o(b.threadId)||null,chatSessionVersion:function(t,e=0){return"number"==typeof t&&Number.isFinite(t)?Math.max(0,Math.floor(t)):e}(b.chatSessionVersion,0),scheduledTaskIds:Array.isArray(i=b.scheduledTaskIds)?i.map(t=>"string"==typeof t?t.trim():"").filter(Boolean):[],summary:v,cadence:o(b.cadence),condition:o(b.condition),progress:"number"==typeof(c=b.progress)&&Number.isFinite(c)?Math.max(0,Math.min(100,Math.round(c))):0,status:"string"==typeof(u=b.status)&&l.has(u)?u:"on_track",createdAt:h,updatedAt:f}),activities:j,activityThreads:A}}t.s(["parseObjectiveMarkdown",0,d],927382);let c=/^---\s*\n([\s\S]*?)\n---\s*(?:\n([\s\S]*))?$/;function u(t,e=""){return"string"==typeof t?t:e}function f(t,e="1970-01-01T00:00:00.000Z"){if("string"!=typeof t)return e;let r=Date.parse(t);return Number.isNaN(r)?e:new Date(r).toISOString()}function h(t,e={}){let r=t.match(c);if(!r)throw Error(`Note file is missing YAML frontmatter${e.filePath?` (${e.filePath})`:""}.`);let[,i,a=""]=r,o=(0,n.load)(i,{...e.filePath?{filename:e.filePath}:{}}),s=o&&"object"==typeof o&&!Array.isArray(o)?o:{},l=f(s.createdAt),d=f(s.updatedAt,l);return{id:u(s.id),title:u(s.title,"Untitled"),objectiveId:u(s.objectiveId),createdAt:l,updatedAt:d,body:a.trim()}}function y(t){let e={id:t.id,title:t.title,objectiveId:t.objectiveId,createdAt:t.createdAt,updatedAt:t.updatedAt},r=(0,n.dump)(e,{lineWidth:120,noRefs:!0,sortKeys:!1}).trimEnd(),i=t.body.trim();return i?`---
|
|
2
|
-
${r}
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
${i}
|
|
6
|
-
`:`---
|
|
7
|
-
${r}
|
|
8
|
-
---
|
|
9
|
-
`}function p(t){let e=t.createdAt.replace(/[:.]/g,"-").replace("T","-").replace("Z",""),r=t.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48);return`${e}-${r}.md`}t.s(["parseNoteFile",0,h],413580);class m{rootDir;constructor(t){this.rootDir=r.default.resolve(t)}ensureDir(){e.default.mkdirSync(this.rootDir,{recursive:!0})}readAll(){if(!e.default.existsSync(this.rootDir))return[];let t=e.default.readdirSync(this.rootDir).filter(t=>t.endsWith(".md")),i=[];for(let n of t){let t=r.default.join(this.rootDir,n);try{let r=e.default.readFileSync(t,"utf8");i.push(h(r,{filePath:t}))}catch(e){console.error(`[notes] failed to read ${t}:`,e)}}return i.sort((t,e)=>Date.parse(e.createdAt)-Date.parse(t.createdAt))}list(t={}){let e=this.readAll(),r=e.length,i=Math.max(1,t.page??1),n=Math.min(100,Math.max(1,t.limit??25)),a=(i-1)*n;return{notes:e.slice(a,a+n),total:r,page:i,limit:n,hasMore:a+n<r}}append(t){this.ensureDir();let i=p(t),n=r.default.join(this.rootDir,i),a=y(t);return e.default.writeFileSync(n,a,"utf8"),n}findById(t){return this.readAll().find(e=>e.id===t)??null}update(t,i){if(!e.default.existsSync(this.rootDir))return null;for(let n of e.default.readdirSync(this.rootDir).filter(t=>t.endsWith(".md"))){let a,o,s=r.default.join(this.rootDir,n);try{a=e.default.readFileSync(s,"utf8")}catch{continue}try{o=h(a,{filePath:s})}catch{continue}if(o.id!==t)continue;let l={...o,title:i.title??o.title,body:i.body??o.body,updatedAt:new Date().toISOString()},d=p(l),c=r.default.join(this.rootDir,d);return e.default.writeFileSync(c,y(l),"utf8"),c!==s&&e.default.unlinkSync(s),l}return null}delete(t){if(!e.default.existsSync(this.rootDir))return!1;for(let i of e.default.readdirSync(this.rootDir).filter(t=>t.endsWith(".md"))){let n,a,o=r.default.join(this.rootDir,i);try{n=e.default.readFileSync(o,"utf8")}catch{continue}try{a=h(n,{filePath:o})}catch{continue}if(a.id===t)return e.default.unlinkSync(o),!0}return!1}}let b=new Map;function v(t){let e;return r.default.join((e=process.env.AGX_DATA_DIR?.trim())?r.default.resolve(e):r.default.join((0,i.homedir)(),".agx"),"projects",t,"objectives")}t.s(["NoteRepository",0,m,"getNoteRepository",0,function(t,e){let n,a=r.default.join((n=process.env.AGX_DATA_DIR?.trim())?r.default.resolve(n):r.default.join((0,i.homedir)(),".agx"),"projects",t,"objectives",e,"notes"),o=b.get(a);return o||(o=new m(a),b.set(a,o)),o}],248821),t.s([],243174);class j{rootDir;constructor(t){this.rootDir=r.default.resolve(t)}ensureDir(){e.default.mkdirSync(this.rootDir,{recursive:!0})}readWorkspace(){if(!e.default.existsSync(this.rootDir))return{objectives:[],activities:[],activityThreads:{}};let t=e.default.readdirSync(this.rootDir).filter(t=>t.endsWith(".md")),i=[],n=[],a={};for(let o of t){let t=r.default.join(this.rootDir,o);try{let o=e.default.readFileSync(t,"utf8"),s=d(o,{filePath:t}),l=s.objective,c=new m(r.default.join(this.rootDir,l.key,"notes")),u=c.readAll();if(0===u.length&&l.summary.trim()){let t=new Date().toISOString(),e={id:`note_${Math.random().toString(36).slice(2,10)}`,title:"Notes",objectiveId:l.id,createdAt:t,updatedAt:t,body:l.summary};c.append(e),u=[e]}l.notes=u,u.length>0&&(l.summary=u[0].body),i.push(l),n.push(...s.activities),Object.assign(a,s.activityThreads)}catch(e){console.error(`[objectives] failed to read ${t}:`,e)}}return{objectives:i,activities:n,activityThreads:a}}writeWorkspace(t){this.ensureDir();let i=e.default.existsSync(this.rootDir)?new Set(e.default.readdirSync(this.rootDir).filter(t=>t.endsWith(".md"))):new Set,a=new Set;for(let i of t.objectives){let o=`${i.key}.md`,s=r.default.join(this.rootDir,o),l=function(t,e,r){let i,a=(i=function(t){let e={};for(let[r,i]of Object.entries(t))null!=i&&""!==i&&(Array.isArray(i)&&0===i.length||(e[r]=i));return e}({id:t.id,title:t.title,teamId:t.teamId,key:t.key,status:t.status,progress:t.progress||void 0,cadence:t.cadence,condition:t.condition,threadId:t.threadId,chatSessionVersion:t.chatSessionVersion||void 0,scheduledTaskIds:t.scheduledTaskIds.length>0?t.scheduledTaskIds:void 0,createdAt:t.createdAt,updatedAt:t.updatedAt}),(0,n.dump)(i,{lineWidth:120,noRefs:!0,sortKeys:!1}).trimEnd()),o=[],s=e.filter(e=>e.objectiveId===t.id).sort((t,e)=>Date.parse(e.createdAt)-Date.parse(t.createdAt));if(s.length>0){let t=["## Activities"];for(let e of s){let i=function(t){let e=[];return e.push(`### ${t.title}`),e.push(`- **id:** ${t.id}`),e.push(`- **source:** ${t.sourceLabel}`),e.push(`- **created:** ${t.createdAt}`),t.body&&e.push(`- **body:** ${t.body}`),t.relatedTaskId&&e.push(`- **relatedTaskId:** ${t.relatedTaskId}`),e.join("\n")}(e),n=function(t){if(0===t.length)return"";let e=["#### Replies"];for(let r of t)e.push(`- **${r.author}** (${r.createdAt}): ${r.body}`);return e.join("\n")}(r[e.id]??[]);t.push(n?`${i}
|
|
10
|
-
|
|
11
|
-
${n}`:i)}o.push(t.join("\n\n"))}let l=o.join("\n\n");return l.length>0?`---
|
|
12
|
-
${a}
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
${l}
|
|
16
|
-
`:`---
|
|
17
|
-
${a}
|
|
18
|
-
---
|
|
19
|
-
`}(i,t.activities,t.activityThreads);e.default.writeFileSync(s,l,"utf8"),a.add(o)}for(let n of i)if(!a.has(n)){let i=r.default.join(this.rootDir,n);try{let a=e.default.readFileSync(i,"utf8"),o=d(a,{filePath:i}),s=n.replace(/\.md$/,""),l=t.objectives.find(t=>t.id===o.objective.id);if(l&&l.key!==s){let t=r.default.join(this.rootDir,s),i=r.default.join(this.rootDir,l.key);e.default.existsSync(t)&&e.default.renameSync(t,i)}e.default.rmSync(i,{force:!0})}catch{e.default.rmSync(i,{force:!0})}}}findObjectiveByKey(t){let i=r.default.join(this.rootDir,`${t}.md`);if(!e.default.existsSync(i))return null;try{let t=e.default.readFileSync(i,"utf8");return d(t,{filePath:i}).objective}catch{return null}}findObjectiveById(t){if(!e.default.existsSync(this.rootDir))return null;for(let i of e.default.readdirSync(this.rootDir).filter(t=>t.endsWith(".md"))){let n=r.default.join(this.rootDir,i);try{let r=e.default.readFileSync(n,"utf8"),i=d(r,{filePath:n});if(i.objective.id===t)return i.objective}catch{continue}}return null}deleteObjective(t){let i=r.default.join(this.rootDir,`${t}.md`);return!!e.default.existsSync(i)&&(e.default.rmSync(i,{force:!0}),!0)}hasFiles(){return!!e.default.existsSync(this.rootDir)&&e.default.readdirSync(this.rootDir).some(t=>t.endsWith(".md"))}}let A=new Map;t.s(["getObjectiveRepository",0,function(t){let e=v(t),r=A.get(e);return r||(r=new j(e),A.set(e,r)),r},"getObjectivesDir",0,v],671182)},765443,t=>{"use strict";let e="project_objectives_workspace",r="project_goals_workspace",i="project_health_snapshot",n=new Set(["on_track","at_risk","off_track","done"]);function a(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}function o(t){return`${t}_${Math.random().toString(36).slice(2,10)}`}function s(t){return[...t].sort((t,e)=>Date.parse(e.updatedAt)-Date.parse(t.updatedAt))}function l(t){return[...t].sort((t,e)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}function d(t){return[...t].sort((t,e)=>Date.parse(e.createdAt)-Date.parse(t.createdAt))}function c(t,e=""){return"string"==typeof t?t:e}function u(t,e="1970-01-01T00:00:00.000Z"){if("string"!=typeof t)return e;let r=Date.parse(t);return Number.isNaN(r)?e:new Date(r).toISOString()}function f(t){return"number"==typeof t&&Number.isFinite(t)?Math.max(0,Math.min(100,Math.round(t))):0}function h(t){return"string"==typeof t&&n.has(t)?t:"on_track"}function y(t,e="objective"){let r=t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-").slice(0,32);return r||e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"objective"}function p(t,e,r="objective"){let i=y(r),n=y(t,i),a=n,o=2;for(;e.has(a);){let t=`-${o}`,e=Math.max(1,32-t.length);a=`${n.slice(0,e)}${t}`,o+=1}return e.add(a),a}function m(t){var e;if(!a(t))return null;let r=u(t.updatedAt??t.createdAt),i=u(t.createdAt,r);return{id:c(t.id,o("objective")),title:c(t.title,"Untitled objective"),teamId:c(t.teamId??t.team_id??t.ownerTeamId),key:y(c(t.key??t.slug??t.label),c(t.title??t.id,"objective")),threadId:c(t.threadId)||null,chatSessionVersion:function(t,e=0){return"number"==typeof t&&Number.isFinite(t)?Math.max(0,Math.floor(t)):e}(t.chatSessionVersion,0),scheduledTaskIds:Array.isArray(e=t.scheduledTaskIds??t.promptJobIds)?Array.from(new Set(e.map(t=>"string"==typeof t?t.trim():"").filter(Boolean))):[],summary:c(t.summary),cadence:c(t.cadence),condition:c(t.condition),progress:f(t.progress),status:h(t.status),createdAt:i,updatedAt:r}}function b(t){if(!a(t))return null;let e=u(t.updatedAt??t.createdAt),r=u(t.createdAt,e),i=c(t.objectiveId??t.goalId);return i?{id:c(t.id,o("objective_activity")),objectiveId:i,sourceType:"note",sourceLabel:c(t.sourceLabel,"Update"),title:c(t.title,"Untitled activity"),body:c(t.body),createdAt:r,updatedAt:e,relatedTaskId:c(t.relatedTaskId)||null}:null}function v(t){if(!a(t))return null;let e=c(t.activityId);return e?{id:c(t.id,o("objective_thread_message")),activityId:e,author:c(t.author,"You"),body:c(t.body),createdAt:u(t.createdAt)}:null}function j(){return{objectives:[],activities:[],activityThreads:{}}}function A(t){let e;if(!a(t))return j();let r=Array.isArray(t.objectives)?t.objectives.map(t=>m(t)).filter(t=>null!==t):[],i=Array.isArray(t.activities)?t.activities.map(t=>b(t)).filter(t=>null!==t):[],n=a(t.activityThreads)?Object.fromEntries(Object.entries(t.activityThreads).map(([t,e])=>[t,l(Array.isArray(e)?e.map(t=>v(t)).filter(t=>null!==t):[])])):{};return{objectives:s((e=new Set,r.map(t=>{let r=p(t.key||t.title||t.id,e,t.id||t.title||"objective");return t.key===r?t:{...t,key:r}}))),activities:d(i),activityThreads:n}}t.s(["PROJECT_OBJECTIVES_METADATA_KEY",0,e,"generateProjectObjectiveKey",0,function(t,e,r){return p(t,new Set(e.filter(t=>t.id!==r).map(t=>y(t.key||t.title||t.id))),r??t)},"readProjectObjectivesWorkspace",0,function(t){if(!a(t))return j();let i=t[e];if(void 0!==i){let t=A(i);if(t.objectives.length>0||t.activities.length>0||Object.keys(t.activityThreads).length>0)return t}let n=t[r];if(void 0!==n){if(!a(n))return j();let t=Array.isArray(n.goals)?n.goals.map(t=>(function(t){if(!a(t))return null;let e=c(t.target),r=[c(t.summary),e?`Measure: ${e}`:""].filter(Boolean).join("\n\n");return m({...t,summary:r,cadence:""})})(t)).filter(t=>null!==t):[],e=Array.isArray(n.manualActivities)?n.manualActivities.map(t=>b({...t,sourceLabel:"Update"})).filter(t=>null!==t):[],r=a(n.activityThreads)?Object.fromEntries(Object.entries(n.activityThreads).map(([t,e])=>[t,l(Array.isArray(e)?e.map(e=>v({...e,activityId:t})).filter(t=>null!==t):[])])):{};return{objectives:s(t),activities:d(e),activityThreads:r}}return j()},"upsertProjectObjective",0,function(t,e){let r=t.objectives.findIndex(t=>t.id===e.id)>=0?t.objectives.map(t=>t.id===e.id?e:t):[e,...t.objectives];return{...t,objectives:s(r)}},"writeProjectHealthSnapshot",0,function(t,e){let r={...t};return e?r[i]={progress:f(e.progress),status:h(e.status),updatedAt:u(e.updatedAt),...e.source?{source:e.source.trim()}:{},...e.objectiveId?{objectiveId:e.objectiveId}:{},...e.objectiveKey?{objectiveKey:e.objectiveKey}:{},...e.note?{note:e.note.trim()}:{}}:delete r[i],r},"writeProjectObjectivesWorkspace",0,function(t,i){let n={...t};return delete n[r],n[e]=A(i),n}])}];
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=apps_local_03q7_.q._.js.map
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
module.exports=[932177,e=>{"use strict";var t=e.i(923715);e.s(["completeScheduleTick",0,function(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}}},"isScheduleTickComplete",0,function(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},"scheduleTickIfDue",0,function(e,t=Date.now()){let r=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return r("no_schedule");let s=e.schedule;if("active"!==s.state)return r("not_active");if(s.tickInProgress)return r("tick_in_progress");if(null!=s.maxRuns&&s.runCount>=s.maxRuns)return r("max_runs_reached");if(s.cronExpr&&"number"==typeof s.nextTickAt){if(t<s.nextTickAt)return r("not_due")}else if(t-(s.lastTickAt??0)<s.intervalMs)return r("not_due");let o=JSON.parse(JSON.stringify(e)),n=[];for(let e of s.resetNodeIds){let t=o.nodes[e];t&&("done"===t.status||"passed"===t.status||"failed"===t.status||"skipped"===t.status)&&(o.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}:{}},n.push(e))}return o.schedule={...s,tickInProgress:!0,lastTickAt:t,runCount:s.runCount+1},{graph:o,tickFired:!0,resetNodeIds:n}}])},71966,e=>{"use strict";var t=e.i(633211);e.i(219233);var r=e.i(356942),s=e.i(774553),o=e.i(932177),n=e.i(923715),a=e.i(64985),i=e.i(83997);async function l(e={}){let u=new i.GraphStore,d={tickedGraphIds:[],skippedGraphIds:[],errors:[],pendingWork:[]},c=function(){let e=new Map,o=(0,t.getSQLiteDb)().prepare(`
|
|
2
|
-
SELECT task_id, id, schedule
|
|
3
|
-
FROM execution_graphs
|
|
4
|
-
WHERE schedule IS NOT NULL
|
|
5
|
-
AND json_extract(schedule, '$.state') = 'active'
|
|
6
|
-
`).all(),n=new Map(o.map(e=>[e.id,e]));if((0,s.isAutomationFrontmatterEnabled)()){for(let t of(0,s.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active"})){if("execution_graph"!==t.definition.target.type)continue;let s=t.definition.target.graphId??t.definition.id,o=t.definition.target.taskId??n.get(s)?.task_id??s;e.set(s,{taskId:o,graphId:s,schedule:(0,r.automationRecordToGraphSchedule)(t,n.get(s)?JSON.parse(n.get(s).schedule):void 0)})}if(!(0,s.isAutomationDualReadEnabled)())return[...e.values()]}for(let t of o)e.has(t.id)||e.set(t.id,{taskId:t.task_id,graphId:t.id,schedule:JSON.parse(t.schedule)});return[...e.values()]}();for(let{taskId:t}of(console.log(`[schedules:poll] found ${c.length} active schedule(s)`),c))try{let r=u.getGraph(t);if(!r){d.errors.push({graphId:t,error:Error("Graph not found")});continue}let s=(0,o.scheduleTickIfDue)(r);if(!s.tickFired){console.log(`[schedules:poll] ${t} skipped (${s.skipReason??"unknown"})`),d.skippedGraphIds.push(t);continue}console.log(`[schedules:poll] ${t} tick fired — resetting nodes`),u.updateGraphStructure(s.graph.id,{nodes:s.graph.nodes,schedule:s.graph.schedule});let i=(0,n.schedulerTick)(s.graph,e);console.log(`[schedules:poll] ${t} scheduler: fn=${i.functionToRun.length} work=${i.workToRun.length}`);let l=i.graph;for(let r of i.functionToRun){let s=l.nodes[r];if(s&&"function"===s.type)try{console.log(`[schedules:poll] ${t} executing function node "${r}"`);let s=await (0,a.executeNode)(l,r,e),o=s.graph.nodes[r];console.log(`[schedules:poll] ${t} function "${r}" → ${o?.status}`,o&&"output"in o?JSON.stringify(o.output)?.slice(0,200):""),l=s.graph}catch(e){console.error(`[schedules:poll] ${t} function "${r}" error:`,e),d.errors.push({graphId:t,error:e instanceof Error?e:Error(String(e))})}}u.updateGraphStructure(l.id,{nodes:l.nodes});let c=(0,n.schedulerTick)(l,e);for(let r of(console.log(`[schedules:poll] ${t} post-fn scheduler: cond=${c.control.conditionalNodeIds.length} work=${c.workToRun.length}`),l=c.graph,c.workToRun)){let s=l.nodes[r];if(s&&"work"===s.type)try{l=(await (0,a.executeNode)(l,r,e)).graph}catch(e){d.errors.push({graphId:t,error:e instanceof Error?e:Error(String(e))})}}if(c.workToRun.length>0){d.pendingWork.push({taskId:t,nodeIds:c.workToRun,graph:l}),u.updateGraphStructure(l.id,{nodes:l.nodes});let r=(0,n.schedulerTick)(l,e);for(let s of(console.log(`[schedules:poll] ${t} post-work scheduler: fn=${r.functionToRun.length} cond=${r.control.conditionalNodeIds.length}`),l=r.graph,r.functionToRun)){let r=l.nodes[s];if(r&&"function"===r.type)try{console.log(`[schedules:poll] ${t} executing post-work function "${s}"`),l=(await (0,a.executeNode)(l,s,e)).graph}catch(e){console.error(`[schedules:poll] ${t} post-work function "${s}" error:`,e),d.errors.push({graphId:t,error:e instanceof Error?e:Error(String(e))})}}}u.updateGraphStructure(l.id,{nodes:l.nodes});let p=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:poll] ${t} node states: ${p}`);let h=(0,o.isScheduleTickComplete)(l);if(console.log(`[schedules:poll] ${t} tick complete? ${h}`),h){let e=(0,o.completeScheduleTick)(l),r=e.schedule?.resetNodeIds.some(t=>e.nodes[t]?.status==="failed");if(e.schedule){let t=e.schedule.consecutiveFailures??0,s=r?t+1:0;e.schedule={...e.schedule,consecutiveFailures:s};let o=e.schedule.maxConsecutiveFailures;null!=o&&s>=o&&(e.schedule={...e.schedule,state:"paused"})}let s=u.getGraph(t);s?.schedule?.state==="stopped"&&(console.log(`[schedules:poll] ${t} schedule was stopped mid-tick, preserving stopped state`),e.schedule={...e.schedule,state:"stopped"}),u.updateGraphStructure(e.id,{nodes:e.nodes,schedule:e.schedule})}d.tickedGraphIds.push(t)}catch(e){console.error(`[schedules:poll] ${t} caught error:`,e),d.errors.push({graphId:t,error:e instanceof Error?e:Error(String(e))});try{let e=u.getGraph(t);if(e?.schedule?.tickInProgress){let r=(0,o.completeScheduleTick)(e);u.updateGraphStructure(r.id,{nodes:r.nodes,schedule:r.schedule}),console.log(`[schedules:poll] ${t} force-completed stuck tick`)}}catch{}}return d}e.s(["pollSchedules",0,l])},309113,e=>{"use strict";var t=e.i(902157),r=e.i(750227),s=e.i(660526);let o=new Set(["running","working"]),n=`Review the thread, assess whether the work is complete enough to move into review, and if not, produce one concise steering message that combines:
|
|
7
|
-
1. what has been accomplished vs. what remains
|
|
8
|
-
2. the concrete next steps needed to move toward shipping`,a=`You MUST respond with ONLY a JSON object, no markdown fences, no extra text:
|
|
9
|
-
{"isDone": true/false, "message": "your assessment"}
|
|
10
|
-
|
|
11
|
-
Set isDone=true only when the thread is genuinely ready to stop ship mode and move into review.
|
|
12
|
-
If isDone=false, message must be a single concise steering note with both status and next steps.
|
|
13
|
-
The message must not be empty.`;function i(){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"}}function l(e){switch(e){case"claude":case"gemini":case"ollama":case"codex":case"zai":return e;default:return"claude"}}async function u(t,r){try{let[{getSQLiteDb:s},{loadDbParticipants:o}]=await Promise.all([e.A(729130),e.A(292939)]),n=s(),a=n.prepare(`SELECT pt.project_id AS project_id
|
|
14
|
-
FROM project_threads pt
|
|
15
|
-
WHERE pt.thread_id = ?
|
|
16
|
-
ORDER BY pt.created_at ASC
|
|
17
|
-
LIMIT 1`).get(t);if(!a?.project_id)return{provider:l(i()),model:null};let u=function(t,r,s){if(!s)return null;try{let{parseFrontmatter:o}=e.r(623775),n=t.prepare("SELECT content FROM tasks WHERE id = ? LIMIT 1").get(s);if(!n?.content)return null;let{frontmatter:a}=o(n.content),i="string"==typeof a.team?a.team.trim():"";if(!i)return null;let l=t.prepare("SELECT id FROM teams WHERE project_id = ? AND name = ? LIMIT 1").get(r,i);if(!l?.id)return null;let u=t.prepare("SELECT agent_id FROM team_agents WHERE team_id = ? ORDER BY routing_order ASC LIMIT 1").get(l.id);return u?.agent_id??null}catch{return null}}(n,a.project_id,r)??n.prepare(`SELECT agent_id
|
|
18
|
-
FROM project_agents
|
|
19
|
-
WHERE project_id = ?
|
|
20
|
-
ORDER BY routing_order ASC, created_at ASC
|
|
21
|
-
LIMIT 1`).get(a.project_id)?.agent_id;if(!u)return{provider:l(i()),model:null};let d=(await o()).find(e=>e.id===u);if(!d)return{provider:l(i()),model:null};return{provider:l(d.provider),model:d.model}}catch{return{provider:l(i()),model:null}}}e.s(["createDispatchWork",0,function(){return async(t,r)=>{let s=r.schedule?.rootMessageId;if(!s)return{status:"failure",message:"No rootMessageId on graph schedule"};console.log(`[work-dispatch] Dispatching steer node "${t.title}" for graph ${r.id} (root: ${s})`);try{let i,{getMessageThread:l,getThreadStatusSnapshot:d,sweepStaleWorkingReactions:c}=await e.A(891284),p=await l(s);if(!p)return{status:"failure",message:`Thread not found for rootMessageId: ${s}`};await c(p.threadId);let h=await d({threadId:p.threadId,rootMessageId:s}),g=h.processes.filter(e=>o.has(e.status)).length,f=h.rootMessage?.threadStatus??"active",m=h.processes.slice(0,8).map(e=>{let t=[`${e.agent}: ${e.status}`];return e.responseTo&&t.push(`replying to "${e.responseTo.slice(0,140)}"`),e.responseContent&&t.push(`latest response "${e.responseContent.slice(0,140)}"`),`- ${t.join(" | ")}`}).join("\n"),S=(h.messages??[]).slice(-15).map(e=>{let t=e.participantId??e.role??"?",r=(e.content??"").slice(0,600);return`[${t}]: ${r}`}).join("\n");console.log(`[work-dispatch] Thread: active=${g}, msgs=${h.messages?.length??0}`);let I=["--- THREAD STATE ---",`Root request: ${h.rootMessage?.content??"(missing root message)"}`,`Thread status: ${f}`,`Active agents: ${g}`,`Total messages: ${h.messages?.length??0}`,h.lastUpdatedAt?`Last updated at: ${new Date(h.lastUpdatedAt).toISOString()}`:null,"","Current process state:",m||"- none","","Recent messages:",S||"- none","--- END THREAD STATE ---","","Assess the progress and respond with the JSON object."].filter(Boolean).join("\n"),{runCliResponse:w}=await e.A(224472),E=await u(p.threadId,r.taskId);console.log(`[work-dispatch] Calling ${E.provider} via runCliResponse (prompt length: ${I.length})...`);let _="";await w({provider:E.provider,model:E.model,prompt:I,systemContext:(i=t.description?.trim()||n,`${i}
|
|
22
|
-
|
|
23
|
-
${a}`),onDelta:e=>{_+=e},onLog:(e,t)=>{console.log(`[work-dispatch] [${e}] ${t}`)}}),console.log(`[work-dispatch] Raw response: ${_.slice(0,500)}`);let k=function(e){let t=e.match(/\{[\s\S]*?"isDone"\s*:\s*(true|false)[\s\S]*?\}/);if(t)try{let e=JSON.parse(t[0]),r=String(e.message??"").trim();if(!r)return{ok:!1,error:"Ship mode response JSON did not include a non-empty message."};return{ok:!0,value:{isDone:!!e.isDone,message:r}}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}return{ok:!1,error:"Ship mode response was not valid JSON with isDone/message fields."}}(_.trim());if(!k.ok)return{status:"failure",transient:!1,message:k.error};return console.log("[work-dispatch] Parsed result:",k),{status:"success",output:k.value}}catch(e){return console.error("[work-dispatch] Steer dispatch failed:",e),{status:"failure",message:e instanceof Error?e.message:String(e),error:e}}}}])},251642,e=>{"use strict";var t=e.i(633211),r=e.i(929160),s=e.i(623775),o=e.i(341902),n=e.i(733545),a=e.i(864075);async function i(e,l,u=[]){let d,c,p,h,g=new Set;for(let t of(e&&g.add(e),l))t&&g.add(t);if(0===g.size)return;let f=await Promise.all(Array.from(g).map(async e=>{try{let t=await r.db.getProjectWithRepos(e,a.LOCAL_USER.id);return[e,t]}catch(t){return console.warn("Failed to load project context",{slug:e,error:t}),[e,null]}})),m=new Map;for(let[e,t]of f)t&&m.set(e,t);let S=e?m.get(e):void 0,I=l.map(e=>m.get(e)).filter(e=>!!e).map(e=>({id:e.id,slug:e.slug,name:e.name,description:e.description??null,ciCdInfo:e.ci_cd_info??null,workflowId:e.workflow_id??null,repos:(e.repos??[]).map(e=>({name:e.name,path:e.path??null,notes:e.notes??null}))}));if(S||0!==I.length){if(S)try{let[e,r]=await Promise.all([(0,s.getProjectSkills)(S.id),(0,s.getProjectMemory)(S.id,"human")]),a=(0,n.getKnowledgeNote)("project",S.id);e.length>0&&(d=e.map(e=>({file:e.file,...e.condition?{condition:e.condition}:{}}))),r.length>0&&(c=r.map(e=>({content:e.content,...e.source?{source:e.source}:{}}))),a?.content&&(c=[...c??[],{content:a.content,source:"system-note"}]);let i=(function(e){let t=[];for(let r of e){if(!r.id){let e=String(r.notes??"").trim();if(!e)continue;t.push({repoId:"",repoName:r.name,path:r.path??null,content:e,producer:"human"});continue}let e=o.vaultStore.getKnowledgeNote("repo",r.id),s=e?.content.trim()||String(r.notes??"").trim();s&&t.push({repoId:r.id,repoName:r.name,path:r.path??null,content:s,producer:"human"})}return t})(S.repos??[]).map(e=>({repoName:e.repoName,path:e.path??null,content:"system"===e.producer?`[System-generated] ${e.content}`:e.content}));if(i.length>0&&(p=i),u.length>0){let e=(0,t.getSQLiteDb)();for(let t of(h={},u)){let r=e.prepare("SELECT id, content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT 20").all(t.id);h[t.id]=await (0,s.buildExecutionProvenance)(t.id,S.id,t.skills??[],r)}}}catch(e){console.warn("Failed to load project resources",{projectId:S.id,error:e})}return{activeProject:S?{id:S.id,slug:S.slug,name:S.name}:void 0,mentionedProjects:I.length>0?I:void 0,skills:d,memory:c,repoKnowledge:p,provenanceByAgentId:h}}}e.s(["normalizeProjectSlug",0,function(e){return"string"!=typeof e?"":e.trim().toLowerCase()},"resolveProjectContext",0,i],251642)},462919,e=>{"use strict";e.s(["createDispatchFunction",()=>S],462919);var t=e.i(233405),r=e.i(864075),s=e.i(133439),o=e.i(251642),n=e.i(47973),a=e.i(202322),i=e.i(295851),l=e.i(796283);let u=new Set(["running","working"]);function d(e,t){let r="string"==typeof e.args?.rootMessageId?e.args.rootMessageId.trim():"";return r||(t.schedule?.rootMessageId?.trim()??"")}function c(e){return e.replace(/\s+/g," ").trim()}async function p(t,r){try{let{getSQLiteDb:s}=await e.A(729130),o=s(),n=o.prepare(`SELECT pt.project_id AS project_id, p.slug AS project_slug
|
|
24
|
-
FROM project_threads pt
|
|
25
|
-
JOIN projects p ON p.id = pt.project_id
|
|
26
|
-
WHERE pt.thread_id = ?
|
|
27
|
-
ORDER BY pt.created_at ASC
|
|
28
|
-
LIMIT 1`).get(t);if(!n?.project_id)return{projectSlug:null,projectAgentIds:[]};let a=function(t,r,s){if(!s)return null;try{let{parseFrontmatter:o}=e.r(623775),n=t.prepare("SELECT content FROM tasks WHERE id = ? LIMIT 1").get(s);if(!n?.content)return null;let{frontmatter:a}=o(n.content),i="string"==typeof a.team?a.team.trim():"";if(!i)return null;let l=t.prepare("SELECT id FROM teams WHERE project_id = ? AND name = ? LIMIT 1").get(r,i);if(!l?.id)return null;let u=t.prepare("SELECT agent_id FROM team_agents WHERE team_id = ? ORDER BY routing_order ASC").all(l.id);if(0===u.length)return null;return u.map(e=>e.agent_id?.trim()).filter(e=>!!e)}catch{return null}}(o,n.project_id,r)??o.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC, created_at ASC").all(n.project_id).map(e=>e.agent_id?.trim()).filter(e=>!!e);return{projectSlug:n.project_slug?.trim()||null,projectAgentIds:a}}catch{return{projectSlug:null,projectAgentIds:[]}}}async function h(t,r){let s=d(t,r);if(!s)return{status:"failure",message:"thread-status requires rootMessageId"};let{getMessageThread:o,getThreadStatusSnapshot:n,sweepStaleWorkingReactions:a}=await e.A(891284),i=await o(s);if(!i)return{status:"failure",message:`Thread not found for rootMessageId: ${s}`};await a(i.threadId);let l=await n({threadId:i.threadId,rootMessageId:s});return{status:"success",output:{activeProcessCount:l.processes.filter(e=>u.has(e.status)).length,messageCount:l.messages?.length??0,threadId:i.threadId,lastUpdatedAt:l.lastUpdatedAt}}}async function g(t,h){let g=d(t,h);if(!g)return{status:"failure",message:"ship-mode-act requires rootMessageId"};let f=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,h);if(!f)return{status:"failure",message:"Unable to read steer node output"};if(!c(f.message))return{status:"failure",message:"Ship mode produced an empty steer message"};let{createChatRun:m,getThreadStatusSnapshot:S,getMessageThread:I,loadHistory:w,saveMessages:E,updateMessageStatus:_}=await e.A(891284),{deactivateSchedulesByRootMessageId:k}=await e.A(653952),T=await I(g);if(!T)return{status:"failure",message:`Thread not found for rootMessageId: ${g}`};if(f.isDone){let e=(await S({threadId:T.threadId,rootMessageId:g})).processes.filter(e=>u.has(e.status)).length;return e>0?{status:"success",output:{done:!1,action:"completion_deferred_active_work",activeProcessCount:e}}:(k(g),await _(T.threadId,g,"in-review",null),{status:"success",output:{done:!0,action:"stopped_and_in_review"}})}let R=await (0,s.loadDbParticipants)(),y=Object.fromEntries(R.map(e=>[e.id,e.name])),{projectSlug:v,projectAgentIds:$}=await p(T.threadId,h.taskId),A=await w(T.threadId),C=$[0]??R[0]?.id??null;if(function(e,t,r,s){let o=c(r);if(!o)return!1;let n=Date.now()-l.STEER_DUPLICATE_WINDOW_MS;return e.filter(e=>e.id===t||e.rootMessageId===t).some(e=>"assistant"===e.role&&!(e.timestamp<n)&&(!s||e.participantId===s)&&c(e.content)===o)}(A,g,f.message,C))return{status:"success",output:{done:!1,action:"duplicate_next_steps_skipped",sender:C}};let N=crypto.randomUUID();await E(T.threadId,[{id:N,role:"assistant",participantId:C,content:f.message,timestamp:Date.now(),rootMessageId:g,parentMessageId:g,depth:1}]);let M=($.length>0?$:R.map(e=>e.id)).filter((e,t,r)=>e&&r.indexOf(e)===t),L=M.filter(e=>e!==C),j=(L.length>0?L:M).filter(e=>R.some(t=>t.id===e));if(0===j.length)return{status:"success",output:{done:!1,action:"sent_next_steps_only",sender:C,messageId:N}};let D=R.filter(e=>j.includes(e.id)),O=v?await (0,o.resolveProjectContext)(v,[],D):void 0,x=crypto.randomUUID(),U={threadId:T.threadId,prompt:f.message,projectContext:O,mentionedIds:[],initialParallelIds:[],maxRounds:10,recentHistory:A.filter(e=>e.id===g||e.rootMessageId===g).slice(-20).map(e=>({id:e.id,name:"user"===e.role?"User":e.participantId?y[e.participantId]||e.participantId:"Assistant",content:e.content})),currentUserMessageId:N,rootMessageId:g,participantIds:j};await m({id:x,threadId:T.threadId,rootMessageId:g,userId:r.LOCAL_USER.id,projectSlug:v??null,maxSteps:10,activeParticipantIds:j,payload:U}),await (0,a.ensureOrchestratorRuntime)();let b=await (0,i.getQueue)();return await b.send(i.QUEUE_NAMES.CHAT_RUN_PROCESS,{chatRunId:x,userId:r.LOCAL_USER.id,signal:"start"}),(0,n.writeDebugLog)("ship_mode.steer.enqueued",{rootMessageId:g,threadId:T.threadId,chatRunId:x,authorId:C,participantIds:j,projectSlug:v??null}),{status:"success",output:{done:!1,action:"sent_next_steps_and_started_chat_run",sender:C,messageId:N,chatRunId:x}}}async function f(e,t){if("internal"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};switch(e.command){case"thread-status":return h(e,t);case"ship-mode-act":return g(e,t);default:return{status:"failure",message:`Unsupported internal function command: ${e.command}`}}}async function m(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??l.BASH_FUNCTION_TIMEOUT_MS;return new Promise(e=>{let r="",n="",a=0,i=!1,l=!1,u=(0,t.spawn)(s,[],{shell:!0,timeout:o,killSignal:"SIGTERM"}),d=setTimeout(()=>{l=!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(d),e({status:"failure",message:`Failed to spawn command: ${t.message}`,error:t})}),u.on("close",t=>{if(clearTimeout(d),l)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 S(){return async(e,t)=>{switch(e.kind){case"bash":return m(e,t);case"internal":return f(e,t);default:return{status:"failure",message:`Unsupported function node kind: ${e.kind}`}}}}},202322,e=>{"use strict";e.s(["ensureOrchestratorRuntime",()=>f],202322);var t=e.i(295851),r=e.i(389344),s=e.i(329893),o=e.i(47973),n=e.i(796283),a=e.i(462919),i=e.i(71966),l=e.i(309113);let u=n.SCHEDULE_POLL_INTERVAL_MS,d=null,c=null;async function p(){return c||(c=(async()=>{let e=await (0,i.pollSchedules)({dispatchFunction:(0,a.createDispatchFunction)(),dispatchWork:(0,l.createDispatchWork)()});e.errors.length>0&&(0,o.writeDebugLog)("schedule_runtime.poll.error",{errorCount:e.errors.length,graphIds:e.errors.map(e=>e.graphId)})})().catch(e=>{(0,o.writeDebugLog)("schedule_runtime.poll.exception",{error:e}),console.error("[schedule-runtime] Poll failed:",e)}).finally(()=>{c=null}))}async function h(){let e;if("1"===process.env.AGX_DISABLE_SCHEDULE_POLLING||d)return;let t=Number.isFinite(e=Number(process.env.AGX_SCHEDULE_POLL_INTERVAL_MS))?Math.max(1e3,e):u;(0,o.writeDebugLog)("schedule_runtime.start",{intervalMs:t}),"function"==typeof(d=setInterval(()=>{p()},t)).unref&&d.unref(),await p()}let g=null;async function f(){return g||(g=(async()=>{(0,o.writeDebugLog)("orchestrator.bootstrap.start");let e=await (0,t.getQueue)();await e.work(t.QUEUE_NAMES.TASK_PROCESS,r.taskProcessor,{batchSize:5}),await e.work(t.QUEUE_NAMES.CHAT_RUN_PROCESS,s.chatProcessor,{batchSize:2}),await h(),(0,o.writeDebugLog)("orchestrator.bootstrap.ready",{queues:[t.QUEUE_NAMES.TASK_PROCESS,t.QUEUE_NAMES.CHAT_RUN_PROCESS]})})().catch(e=>{throw(0,o.writeDebugLog)("orchestrator.bootstrap.error",{error:e}),g=null,e}))}}];
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=apps_local_0m3e2d~._.js.map
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
module.exports=[932177,e=>{"use strict";var t=e.i(923715);e.s(["completeScheduleTick",0,function(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}}},"isScheduleTickComplete",0,function(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},"scheduleTickIfDue",0,function(e,t=Date.now()){let r=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return r("no_schedule");let s=e.schedule;if("active"!==s.state)return r("not_active");if(s.tickInProgress)return r("tick_in_progress");if(null!=s.maxRuns&&s.runCount>=s.maxRuns)return r("max_runs_reached");if(s.cronExpr&&"number"==typeof s.nextTickAt){if(t<s.nextTickAt)return r("not_due")}else if(t-(s.lastTickAt??0)<s.intervalMs)return r("not_due");let o=JSON.parse(JSON.stringify(e)),n=[];for(let e of s.resetNodeIds){let t=o.nodes[e];t&&("done"===t.status||"passed"===t.status||"failed"===t.status||"skipped"===t.status)&&(o.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}:{}},n.push(e))}return o.schedule={...s,tickInProgress:!0,lastTickAt:t,runCount:s.runCount+1},{graph:o,tickFired:!0,resetNodeIds:n}}])},71966,e=>{"use strict";var t=e.i(633211);e.i(219233);var r=e.i(356942),s=e.i(774553),o=e.i(932177),n=e.i(923715),a=e.i(64985),i=e.i(83997);async function l(e={}){let u=new i.GraphStore,d={tickedGraphIds:[],skippedGraphIds:[],errors:[],pendingWork:[]},c=function(){let e=new Map,o=(0,t.getSQLiteDb)().prepare(`
|
|
2
|
-
SELECT task_id, id, schedule
|
|
3
|
-
FROM execution_graphs
|
|
4
|
-
WHERE schedule IS NOT NULL
|
|
5
|
-
AND json_extract(schedule, '$.state') = 'active'
|
|
6
|
-
`).all(),n=new Map(o.map(e=>[e.id,e]));if((0,s.isAutomationFrontmatterEnabled)()){for(let t of(0,s.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active"})){if("execution_graph"!==t.definition.target.type)continue;let s=t.definition.target.graphId??t.definition.id,o=t.definition.target.taskId??n.get(s)?.task_id??s;e.set(s,{taskId:o,graphId:s,schedule:(0,r.automationRecordToGraphSchedule)(t,n.get(s)?JSON.parse(n.get(s).schedule):void 0)})}if(!(0,s.isAutomationDualReadEnabled)())return[...e.values()]}for(let t of o)e.has(t.id)||e.set(t.id,{taskId:t.task_id,graphId:t.id,schedule:JSON.parse(t.schedule)});return[...e.values()]}();for(let{taskId:t}of(console.log(`[schedules:poll] found ${c.length} active schedule(s)`),c))try{let r=u.getGraph(t);if(!r){d.errors.push({graphId:t,error:Error("Graph not found")});continue}let s=(0,o.scheduleTickIfDue)(r);if(!s.tickFired){console.log(`[schedules:poll] ${t} skipped (${s.skipReason??"unknown"})`),d.skippedGraphIds.push(t);continue}console.log(`[schedules:poll] ${t} tick fired — resetting nodes`),u.updateGraphStructure(s.graph.id,{nodes:s.graph.nodes,schedule:s.graph.schedule});let i=(0,n.schedulerTick)(s.graph,e);console.log(`[schedules:poll] ${t} scheduler: fn=${i.functionToRun.length} work=${i.workToRun.length}`);let l=i.graph;for(let r of i.functionToRun){let s=l.nodes[r];if(s&&"function"===s.type)try{console.log(`[schedules:poll] ${t} executing function node "${r}"`);let s=await (0,a.executeNode)(l,r,e),o=s.graph.nodes[r];console.log(`[schedules:poll] ${t} function "${r}" → ${o?.status}`,o&&"output"in o?JSON.stringify(o.output)?.slice(0,200):""),l=s.graph}catch(e){console.error(`[schedules:poll] ${t} function "${r}" error:`,e),d.errors.push({graphId:t,error:e instanceof Error?e:Error(String(e))})}}u.updateGraphStructure(l.id,{nodes:l.nodes});let c=(0,n.schedulerTick)(l,e);for(let r of(console.log(`[schedules:poll] ${t} post-fn scheduler: cond=${c.control.conditionalNodeIds.length} work=${c.workToRun.length}`),l=c.graph,c.workToRun)){let s=l.nodes[r];if(s&&"work"===s.type)try{l=(await (0,a.executeNode)(l,r,e)).graph}catch(e){d.errors.push({graphId:t,error:e instanceof Error?e:Error(String(e))})}}if(c.workToRun.length>0){d.pendingWork.push({taskId:t,nodeIds:c.workToRun,graph:l}),u.updateGraphStructure(l.id,{nodes:l.nodes});let r=(0,n.schedulerTick)(l,e);for(let s of(console.log(`[schedules:poll] ${t} post-work scheduler: fn=${r.functionToRun.length} cond=${r.control.conditionalNodeIds.length}`),l=r.graph,r.functionToRun)){let r=l.nodes[s];if(r&&"function"===r.type)try{console.log(`[schedules:poll] ${t} executing post-work function "${s}"`),l=(await (0,a.executeNode)(l,s,e)).graph}catch(e){console.error(`[schedules:poll] ${t} post-work function "${s}" error:`,e),d.errors.push({graphId:t,error:e instanceof Error?e:Error(String(e))})}}}u.updateGraphStructure(l.id,{nodes:l.nodes});let p=Object.entries(l.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:poll] ${t} node states: ${p}`);let h=(0,o.isScheduleTickComplete)(l);if(console.log(`[schedules:poll] ${t} tick complete? ${h}`),h){let e=(0,o.completeScheduleTick)(l),r=e.schedule?.resetNodeIds.some(t=>e.nodes[t]?.status==="failed");if(e.schedule){let t=e.schedule.consecutiveFailures??0,s=r?t+1:0;e.schedule={...e.schedule,consecutiveFailures:s};let o=e.schedule.maxConsecutiveFailures;null!=o&&s>=o&&(e.schedule={...e.schedule,state:"paused"})}let s=u.getGraph(t);s?.schedule?.state==="stopped"&&(console.log(`[schedules:poll] ${t} schedule was stopped mid-tick, preserving stopped state`),e.schedule={...e.schedule,state:"stopped"}),u.updateGraphStructure(e.id,{nodes:e.nodes,schedule:e.schedule})}d.tickedGraphIds.push(t)}catch(e){console.error(`[schedules:poll] ${t} caught error:`,e),d.errors.push({graphId:t,error:e instanceof Error?e:Error(String(e))});try{let e=u.getGraph(t);if(e?.schedule?.tickInProgress){let r=(0,o.completeScheduleTick)(e);u.updateGraphStructure(r.id,{nodes:r.nodes,schedule:r.schedule}),console.log(`[schedules:poll] ${t} force-completed stuck tick`)}}catch{}}return d}e.s(["pollSchedules",0,l])},309113,e=>{"use strict";var t=e.i(902157),r=e.i(750227),s=e.i(660526);let o=new Set(["running","working"]),n=`Review the thread, assess whether the work is complete enough to move into review, and if not, produce one concise steering message that combines:
|
|
7
|
-
1. what has been accomplished vs. what remains
|
|
8
|
-
2. the concrete next steps needed to move toward shipping`,a=`You MUST respond with ONLY a JSON object, no markdown fences, no extra text:
|
|
9
|
-
{"isDone": true/false, "message": "your assessment"}
|
|
10
|
-
|
|
11
|
-
Set isDone=true only when the thread is genuinely ready to stop ship mode and move into review.
|
|
12
|
-
If isDone=false, message must be a single concise steering note with both status and next steps.
|
|
13
|
-
The message must not be empty.`;function i(){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"}}function l(e){switch(e){case"claude":case"gemini":case"ollama":case"codex":case"zai":return e;default:return"claude"}}async function u(t,r){try{let[{getSQLiteDb:s},{loadDbParticipants:o}]=await Promise.all([e.A(729130),e.A(292939)]),n=s(),a=n.prepare(`SELECT pt.project_id AS project_id
|
|
14
|
-
FROM project_threads pt
|
|
15
|
-
WHERE pt.thread_id = ?
|
|
16
|
-
ORDER BY pt.created_at ASC
|
|
17
|
-
LIMIT 1`).get(t);if(!a?.project_id)return{provider:l(i()),model:null};let u=function(t,r,s){if(!s)return null;try{let{parseFrontmatter:o}=e.r(623775),n=t.prepare("SELECT content FROM tasks WHERE id = ? LIMIT 1").get(s);if(!n?.content)return null;let{frontmatter:a}=o(n.content),i="string"==typeof a.team?a.team.trim():"";if(!i)return null;let l=t.prepare("SELECT id FROM teams WHERE project_id = ? AND name = ? LIMIT 1").get(r,i);if(!l?.id)return null;let u=t.prepare("SELECT agent_id FROM team_agents WHERE team_id = ? ORDER BY routing_order ASC LIMIT 1").get(l.id);return u?.agent_id??null}catch{return null}}(n,a.project_id,r)??n.prepare(`SELECT agent_id
|
|
18
|
-
FROM project_agents
|
|
19
|
-
WHERE project_id = ?
|
|
20
|
-
ORDER BY routing_order ASC, created_at ASC
|
|
21
|
-
LIMIT 1`).get(a.project_id)?.agent_id;if(!u)return{provider:l(i()),model:null};let d=(await o()).find(e=>e.id===u);if(!d)return{provider:l(i()),model:null};return{provider:l(d.provider),model:d.model}}catch{return{provider:l(i()),model:null}}}e.s(["createDispatchWork",0,function(){return async(t,r)=>{let s=r.schedule?.rootMessageId;if(!s)return{status:"failure",message:"No rootMessageId on graph schedule"};console.log(`[work-dispatch] Dispatching steer node "${t.title}" for graph ${r.id} (root: ${s})`);try{let i,{getMessageThread:l,getThreadStatusSnapshot:d,sweepStaleWorkingReactions:c}=await e.A(891284),p=await l(s);if(!p)return{status:"failure",message:`Thread not found for rootMessageId: ${s}`};await c(p.threadId);let h=await d({threadId:p.threadId,rootMessageId:s}),g=h.processes.filter(e=>o.has(e.status)).length,f=h.rootMessage?.threadStatus??"active",m=h.processes.slice(0,8).map(e=>{let t=[`${e.agent}: ${e.status}`];return e.responseTo&&t.push(`replying to "${e.responseTo.slice(0,140)}"`),e.responseContent&&t.push(`latest response "${e.responseContent.slice(0,140)}"`),`- ${t.join(" | ")}`}).join("\n"),S=(h.messages??[]).slice(-15).map(e=>{let t=e.participantId??e.role??"?",r=(e.content??"").slice(0,600);return`[${t}]: ${r}`}).join("\n");console.log(`[work-dispatch] Thread: active=${g}, msgs=${h.messages?.length??0}`);let I=["--- THREAD STATE ---",`Root request: ${h.rootMessage?.content??"(missing root message)"}`,`Thread status: ${f}`,`Active agents: ${g}`,`Total messages: ${h.messages?.length??0}`,h.lastUpdatedAt?`Last updated at: ${new Date(h.lastUpdatedAt).toISOString()}`:null,"","Current process state:",m||"- none","","Recent messages:",S||"- none","--- END THREAD STATE ---","","Assess the progress and respond with the JSON object."].filter(Boolean).join("\n"),{runCliResponse:w}=await e.A(224472),E=await u(p.threadId,r.taskId);console.log(`[work-dispatch] Calling ${E.provider} via runCliResponse (prompt length: ${I.length})...`);let _="";await w({provider:E.provider,model:E.model,prompt:I,systemContext:(i=t.description?.trim()||n,`${i}
|
|
22
|
-
|
|
23
|
-
${a}`),onDelta:e=>{_+=e},onLog:(e,t)=>{console.log(`[work-dispatch] [${e}] ${t}`)}}),console.log(`[work-dispatch] Raw response: ${_.slice(0,500)}`);let k=function(e){let t=e.match(/\{[\s\S]*?"isDone"\s*:\s*(true|false)[\s\S]*?\}/);if(t)try{let e=JSON.parse(t[0]),r=String(e.message??"").trim();if(!r)return{ok:!1,error:"Ship mode response JSON did not include a non-empty message."};return{ok:!0,value:{isDone:!!e.isDone,message:r}}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}return{ok:!1,error:"Ship mode response was not valid JSON with isDone/message fields."}}(_.trim());if(!k.ok)return{status:"failure",transient:!1,message:k.error};return console.log("[work-dispatch] Parsed result:",k),{status:"success",output:k.value}}catch(e){return console.error("[work-dispatch] Steer dispatch failed:",e),{status:"failure",message:e instanceof Error?e.message:String(e),error:e}}}}])},251642,e=>{"use strict";var t=e.i(633211),r=e.i(929160),s=e.i(623775),o=e.i(341902),n=e.i(733545),a=e.i(864075);async function i(e,l,u=[]){let d,c,p,h,g=new Set;for(let t of(e&&g.add(e),l))t&&g.add(t);if(0===g.size)return;let f=await Promise.all(Array.from(g).map(async e=>{try{let t=await r.db.getProjectWithRepos(e,a.LOCAL_USER.id);return[e,t]}catch(t){return console.warn("Failed to load project context",{slug:e,error:t}),[e,null]}})),m=new Map;for(let[e,t]of f)t&&m.set(e,t);let S=e?m.get(e):void 0,I=l.map(e=>m.get(e)).filter(e=>!!e).map(e=>({id:e.id,slug:e.slug,name:e.name,description:e.description??null,ciCdInfo:e.ci_cd_info??null,workflowId:e.workflow_id??null,repos:(e.repos??[]).map(e=>({name:e.name,path:e.path??null,notes:e.notes??null}))}));if(S||0!==I.length){if(S)try{let[e,r]=await Promise.all([(0,s.getProjectSkills)(S.id),(0,s.getProjectMemory)(S.id,"human")]),a=(0,n.getKnowledgeNote)("project",S.id);e.length>0&&(d=e.map(e=>({file:e.file,...e.condition?{condition:e.condition}:{}}))),r.length>0&&(c=r.map(e=>({content:e.content,...e.source?{source:e.source}:{}}))),a?.content&&(c=[...c??[],{content:a.content,source:"system-note"}]);let i=(function(e){let t=[];for(let r of e){if(!r.id){let e=String(r.notes??"").trim();if(!e)continue;t.push({repoId:"",repoName:r.name,path:r.path??null,content:e,producer:"human"});continue}let e=o.vaultStore.getKnowledgeNote("repo",r.id),s=e?.content.trim()||String(r.notes??"").trim();s&&t.push({repoId:r.id,repoName:r.name,path:r.path??null,content:s,producer:"human"})}return t})(S.repos??[]).map(e=>({repoName:e.repoName,path:e.path??null,content:"system"===e.producer?`[System-generated] ${e.content}`:e.content}));if(i.length>0&&(p=i),u.length>0){let e=(0,t.getSQLiteDb)();for(let t of(h={},u)){let r=e.prepare("SELECT id, content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT 20").all(t.id);h[t.id]=await (0,s.buildExecutionProvenance)(t.id,S.id,t.skills??[],r)}}}catch(e){console.warn("Failed to load project resources",{projectId:S.id,error:e})}return{activeProject:S?{id:S.id,slug:S.slug,name:S.name}:void 0,mentionedProjects:I.length>0?I:void 0,skills:d,memory:c,repoKnowledge:p,provenanceByAgentId:h}}}e.s(["normalizeProjectSlug",0,function(e){return"string"!=typeof e?"":e.trim().toLowerCase()},"resolveProjectContext",0,i],251642)},202322,e=>{"use strict";e.s(["ensureOrchestratorRuntime",()=>f],202322);var t=e.i(295851),r=e.i(389344),s=e.i(329893),o=e.i(47973),n=e.i(796283),a=e.i(462919),i=e.i(71966),l=e.i(309113);let u=n.SCHEDULE_POLL_INTERVAL_MS,d=null,c=null;async function p(){return c||(c=(async()=>{let e=await (0,i.pollSchedules)({dispatchFunction:(0,a.createDispatchFunction)(),dispatchWork:(0,l.createDispatchWork)()});e.errors.length>0&&(0,o.writeDebugLog)("schedule_runtime.poll.error",{errorCount:e.errors.length,graphIds:e.errors.map(e=>e.graphId)})})().catch(e=>{(0,o.writeDebugLog)("schedule_runtime.poll.exception",{error:e}),console.error("[schedule-runtime] Poll failed:",e)}).finally(()=>{c=null}))}async function h(){let e;if("1"===process.env.AGX_DISABLE_SCHEDULE_POLLING||d)return;let t=Number.isFinite(e=Number(process.env.AGX_SCHEDULE_POLL_INTERVAL_MS))?Math.max(1e3,e):u;(0,o.writeDebugLog)("schedule_runtime.start",{intervalMs:t}),"function"==typeof(d=setInterval(()=>{p()},t)).unref&&d.unref(),await p()}let g=null;async function f(){return g||(g=(async()=>{(0,o.writeDebugLog)("orchestrator.bootstrap.start");let e=await (0,t.getQueue)();await e.work(t.QUEUE_NAMES.TASK_PROCESS,r.taskProcessor,{batchSize:5}),await e.work(t.QUEUE_NAMES.CHAT_RUN_PROCESS,s.chatProcessor,{batchSize:2}),await h(),(0,o.writeDebugLog)("orchestrator.bootstrap.ready",{queues:[t.QUEUE_NAMES.TASK_PROCESS,t.QUEUE_NAMES.CHAT_RUN_PROCESS]})})().catch(e=>{throw(0,o.writeDebugLog)("orchestrator.bootstrap.error",{error:e}),g=null,e}))}},462919,e=>{"use strict";e.s(["createDispatchFunction",()=>S],462919);var t=e.i(233405),r=e.i(864075),s=e.i(133439),o=e.i(251642),n=e.i(47973),a=e.i(202322),i=e.i(295851),l=e.i(796283);let u=new Set(["running","working"]);function d(e,t){let r="string"==typeof e.args?.rootMessageId?e.args.rootMessageId.trim():"";return r||(t.schedule?.rootMessageId?.trim()??"")}function c(e){return e.replace(/\s+/g," ").trim()}async function p(t,r){try{let{getSQLiteDb:s}=await e.A(729130),o=s(),n=o.prepare(`SELECT pt.project_id AS project_id, p.slug AS project_slug
|
|
24
|
-
FROM project_threads pt
|
|
25
|
-
JOIN projects p ON p.id = pt.project_id
|
|
26
|
-
WHERE pt.thread_id = ?
|
|
27
|
-
ORDER BY pt.created_at ASC
|
|
28
|
-
LIMIT 1`).get(t);if(!n?.project_id)return{projectSlug:null,projectAgentIds:[]};let a=function(t,r,s){if(!s)return null;try{let{parseFrontmatter:o}=e.r(623775),n=t.prepare("SELECT content FROM tasks WHERE id = ? LIMIT 1").get(s);if(!n?.content)return null;let{frontmatter:a}=o(n.content),i="string"==typeof a.team?a.team.trim():"";if(!i)return null;let l=t.prepare("SELECT id FROM teams WHERE project_id = ? AND name = ? LIMIT 1").get(r,i);if(!l?.id)return null;let u=t.prepare("SELECT agent_id FROM team_agents WHERE team_id = ? ORDER BY routing_order ASC").all(l.id);if(0===u.length)return null;return u.map(e=>e.agent_id?.trim()).filter(e=>!!e)}catch{return null}}(o,n.project_id,r)??o.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC, created_at ASC").all(n.project_id).map(e=>e.agent_id?.trim()).filter(e=>!!e);return{projectSlug:n.project_slug?.trim()||null,projectAgentIds:a}}catch{return{projectSlug:null,projectAgentIds:[]}}}async function h(t,r){let s=d(t,r);if(!s)return{status:"failure",message:"thread-status requires rootMessageId"};let{getMessageThread:o,getThreadStatusSnapshot:n,sweepStaleWorkingReactions:a}=await e.A(891284),i=await o(s);if(!i)return{status:"failure",message:`Thread not found for rootMessageId: ${s}`};await a(i.threadId);let l=await n({threadId:i.threadId,rootMessageId:s});return{status:"success",output:{activeProcessCount:l.processes.filter(e=>u.has(e.status)).length,messageCount:l.messages?.length??0,threadId:i.threadId,lastUpdatedAt:l.lastUpdatedAt}}}async function g(t,h){let g=d(t,h);if(!g)return{status:"failure",message:"ship-mode-act requires rootMessageId"};let f=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,h);if(!f)return{status:"failure",message:"Unable to read steer node output"};if(!c(f.message))return{status:"failure",message:"Ship mode produced an empty steer message"};let{createChatRun:m,getThreadStatusSnapshot:S,getMessageThread:I,loadHistory:w,saveMessages:E,updateMessageStatus:_}=await e.A(891284),{deactivateSchedulesByRootMessageId:k}=await e.A(653952),T=await I(g);if(!T)return{status:"failure",message:`Thread not found for rootMessageId: ${g}`};if(f.isDone){let e=(await S({threadId:T.threadId,rootMessageId:g})).processes.filter(e=>u.has(e.status)).length;return e>0?{status:"success",output:{done:!1,action:"completion_deferred_active_work",activeProcessCount:e}}:(k(g),await _(T.threadId,g,"in-review",null),{status:"success",output:{done:!0,action:"stopped_and_in_review"}})}let R=await (0,s.loadDbParticipants)(),y=Object.fromEntries(R.map(e=>[e.id,e.name])),{projectSlug:v,projectAgentIds:$}=await p(T.threadId,h.taskId),A=await w(T.threadId),C=$[0]??R[0]?.id??null;if(function(e,t,r,s){let o=c(r);if(!o)return!1;let n=Date.now()-l.STEER_DUPLICATE_WINDOW_MS;return e.filter(e=>e.id===t||e.rootMessageId===t).some(e=>"assistant"===e.role&&!(e.timestamp<n)&&(!s||e.participantId===s)&&c(e.content)===o)}(A,g,f.message,C))return{status:"success",output:{done:!1,action:"duplicate_next_steps_skipped",sender:C}};let N=crypto.randomUUID();await E(T.threadId,[{id:N,role:"assistant",participantId:C,content:f.message,timestamp:Date.now(),rootMessageId:g,parentMessageId:g,depth:1}]);let M=($.length>0?$:R.map(e=>e.id)).filter((e,t,r)=>e&&r.indexOf(e)===t),L=M.filter(e=>e!==C),j=(L.length>0?L:M).filter(e=>R.some(t=>t.id===e));if(0===j.length)return{status:"success",output:{done:!1,action:"sent_next_steps_only",sender:C,messageId:N}};let D=R.filter(e=>j.includes(e.id)),O=v?await (0,o.resolveProjectContext)(v,[],D):void 0,x=crypto.randomUUID(),U={threadId:T.threadId,prompt:f.message,projectContext:O,mentionedIds:[],initialParallelIds:[],maxRounds:10,recentHistory:A.filter(e=>e.id===g||e.rootMessageId===g).slice(-20).map(e=>({id:e.id,name:"user"===e.role?"User":e.participantId?y[e.participantId]||e.participantId:"Assistant",content:e.content})),currentUserMessageId:N,rootMessageId:g,participantIds:j};await m({id:x,threadId:T.threadId,rootMessageId:g,userId:r.LOCAL_USER.id,projectSlug:v??null,maxSteps:10,activeParticipantIds:j,payload:U}),await (0,a.ensureOrchestratorRuntime)();let b=await (0,i.getQueue)();return await b.send(i.QUEUE_NAMES.CHAT_RUN_PROCESS,{chatRunId:x,userId:r.LOCAL_USER.id,signal:"start"}),(0,n.writeDebugLog)("ship_mode.steer.enqueued",{rootMessageId:g,threadId:T.threadId,chatRunId:x,authorId:C,participantIds:j,projectSlug:v??null}),{status:"success",output:{done:!1,action:"sent_next_steps_and_started_chat_run",sender:C,messageId:N,chatRunId:x}}}async function f(e,t){if("internal"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};switch(e.command){case"thread-status":return h(e,t);case"ship-mode-act":return g(e,t);default:return{status:"failure",message:`Unsupported internal function command: ${e.command}`}}}async function m(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??l.BASH_FUNCTION_TIMEOUT_MS;return new Promise(e=>{let r="",n="",a=0,i=!1,l=!1,u=(0,t.spawn)(s,[],{shell:!0,timeout:o,killSignal:"SIGTERM"}),d=setTimeout(()=>{l=!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(d),e({status:"failure",message:`Failed to spawn command: ${t.message}`,error:t})}),u.on("close",t=>{if(clearTimeout(d),l)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 S(){return async(e,t)=>{switch(e.kind){case"bash":return m(e,t);case"internal":return f(e,t);default:return{status:"failure",message:`Unsupported function node kind: ${e.kind}`}}}}}];
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=apps_local_0r-oiga._.js.map
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
module.exports=[341902,e=>{"use strict";var t=e.i(902157),r=e.i(660526),i=e.i(750227),o=e.i(666680),n=e.i(180228),a=e.i(633211);let d=process.env.AGX_VAULT_ROOT||i.default.join(process.env.AGX_DATA_DIR||i.default.join(r.default.homedir(),".agx"),"vault");function s(){return new Date().toISOString()}function l(e,t="item"){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function c(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(1,e)):null}function u(e){t.default.mkdirSync(e,{recursive:!0})}function p(e){t.default.existsSync(e)&&t.default.rmSync(e,{recursive:!0,force:!0})}function f(e,r){if(!t.default.existsSync(e))return r;try{return JSON.parse(t.default.readFileSync(e,"utf8"))}catch{return r}}function g(e,r){u(i.default.dirname(e));let o=`${e}.tmp-${process.pid}-${Date.now()}`;t.default.writeFileSync(o,r,"utf8"),t.default.renameSync(o,e)}function m(e,t){g(e,`${JSON.stringify(t,null,2)}
|
|
2
|
-
`)}function _(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function h(e){return String(e||"").replace(/\r\n/g,"\n").split("\n").map(e=>e.replace(/\s+$/g,"")).join("\n").trim()}function y(e,t,r){let i=(0,n.dump)(t,{lineWidth:120,noRefs:!0,sortKeys:!0}).trimEnd(),o=h(r);g(e,o?`---
|
|
3
|
-
${i}
|
|
4
|
-
---
|
|
5
|
-
${o}
|
|
6
|
-
`:`---
|
|
7
|
-
${i}
|
|
8
|
-
---
|
|
9
|
-
`)}function w(e){if(!t.default.existsSync(e))return null;let r=t.default.readFileSync(e,"utf8"),i=r.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);if(!i)return{frontmatter:{},body:h(r)};let o=(0,n.load)(i[1]);return{frontmatter:_(o)?o:{},body:h(i[2]??"")}}function j(e){return t.default.existsSync(e)?t.default.readdirSync(e,{withFileTypes:!0}).filter(e=>e.isFile()&&e.name.endsWith(".md")).map(t=>i.default.join(e,t.name)).sort((e,t)=>e.localeCompare(t)):[]}function k(e){let t=new Set,r=[];for(let i of e??[]){let e=String(i??"").trim().toLowerCase();!e||t.has(e)||(t.add(e),r.push(e))}return r}function b(e){let t=[];for(let r of e??[]){let e=String(r?.note??"").trim(),i="string"==typeof r?.id?r.id.trim():"";e&&t.push(i?{id:i,note:e}:{note:e})}return t}function v(e,t,r){return(0,o.createHash)("sha256").update(`${e}
|
|
10
|
-
${t}
|
|
11
|
-
${r}`).digest("hex")}function S(e){return[...e].sort((e,t)=>{let r=e.updatedAt||e.createdAt||"";return(t.updatedAt||t.createdAt||"").localeCompare(r)})}let D=new class{rootDir;constructor(e=d){this.rootDir=e}getRootDir(){return this.ensureRoot(),this.rootDir}registryPath(){return i.default.join(this.rootDir,".agx","registry.json")}globalDir(){return i.default.join(this.rootDir,"_global")}globalAgentsDir(){return i.default.join(this.globalDir(),"Agents")}globalImportedLearningsDir(){return i.default.join(this.globalDir(),"_generated","imported","learnings")}globalEvidenceDir(e){return i.default.join(this.globalDir(),"_generated","evidence",e)}globalPlaybookPath(){return i.default.join(this.globalDir(),"Playbook.md")}projectDir(e){return i.default.join(this.rootDir,e)}projectManifestPath(e){return i.default.join(this.projectDir(e),".agx","manifest.json")}projectContextPath(e){return i.default.join(this.projectDir(e),"Context","Project.md")}projectSkillsDir(e){return i.default.join(this.projectDir(e),"Context","Skills")}projectVariablesDir(e){return i.default.join(this.projectDir(e),"Context","Variables")}projectAgentsIndexPath(e){return i.default.join(this.projectDir(e),"Context","Agents","_index.md")}projectThreadsDir(e){return i.default.join(this.projectDir(e),"Threads")}repoDir(e,t){return i.default.join(this.projectDir(e),"Repos",t)}repoKnowledgePath(e,t){return i.default.join(this.repoDir(e,t),"Knowledge.md")}projectImportedDir(e,t){return i.default.join(this.projectDir(e),"_generated","imported",t)}projectEvidenceDir(e,t){return i.default.join(this.projectDir(e),"_generated","evidence",t)}ensureRoot(){u(i.default.join(this.rootDir,".agx")),u(this.globalDir()),u(this.globalAgentsDir()),u(this.globalImportedLearningsDir()),u(this.globalEvidenceDir("agent")),u(this.globalEvidenceDir("global")),t.default.existsSync(this.registryPath())||this.writeRegistry({version:1,updatedAt:s(),projects:[],agents:[]}),t.default.existsSync(i.default.join(this.globalDir(),"_Index.md"))||g(i.default.join(this.globalDir(),"_Index.md"),"# Global Knowledge\n\n- [[Playbook]]\n- [[Agents]]\n"),t.default.existsSync(this.globalPlaybookPath())||y(this.globalPlaybookPath(),{id:"global-playbook",type:"knowledge-note",scope:"global",subject_id:"playbook",slug:"playbook",title:"Playbook",created_at:s(),updated_at:s(),version:1},"")}readRegistry(){this.ensureRoot();let e={version:1,updatedAt:s(),projects:[],agents:[]},t=f(this.registryPath(),e);return Array.isArray(t.projects)||(t.projects=[]),Array.isArray(t.agents)||(t.agents=[]),t.version=1,t}writeRegistry(e){u(i.default.join(this.rootDir,".agx")),m(this.registryPath(),{version:1,updatedAt:s(),projects:[...e.projects].sort((e,t)=>e.slug.localeCompare(t.slug)),agents:[...e.agents].sort((e,t)=>e.slug.localeCompare(t.slug))})}readManifest(e){return f(this.projectManifestPath(e),null)}writeManifest(e,t){m(this.projectManifestPath(e),{...t,version:1,updatedAt:s(),repos:[...t.repos].sort((e,t)=>e.slug.localeCompare(t.slug)),agents:[...t.agents].sort((e,t)=>e.routing_order-t.routing_order),threads:[...t.threads].sort((e,t)=>e.created_at.localeCompare(t.created_at))})}findProjectRegistryEntry(e){let t=e.trim();return t?this.readRegistry().projects.find(e=>e.id===t||e.slug===t)??null:null}findProjectRegistryEntryById(e){let t=e.trim();return t?this.readRegistry().projects.find(e=>e.id===t)??null:null}findRepoEntry(e){let t=e.trim();if(!t)return null;for(let e of this.readRegistry().projects){let r=e.repos.find(e=>e.id===t);if(r)return{project:e,repo:r}}return null}findAgentEntry(e){let t=e.trim();return t?this.readRegistry().agents.find(e=>e.id===t||e.slug===t)??null:null}nextProjectSlug(e,t){let r=this.readRegistry(),i=l(e,"project"),o=i,n=1;for(;r.projects.some(e=>e.slug===o&&e.id!==t);)n+=1,o=`${i}-${n}`;return o}nextRepoSlug(e,t,r){let i=this.readManifest(e),o=l(t,"repo"),n=o,a=1;for(;i?.repos.some(e=>e.slug===n&&e.id!==r);)a+=1,n=`${o}-${a}`;return n}ensureProjectScaffold(e,r){let o=this.projectDir(e.slug);for(let n of(u(o),u(i.default.join(o,".agx")),u(i.default.join(o,"Context")),u(this.projectSkillsDir(e.slug)),u(this.projectVariablesDir(e.slug)),u(i.default.dirname(this.projectAgentsIndexPath(e.slug))),u(this.projectThreadsDir(e.slug)),u(i.default.join(o,"Repos")),u(this.projectImportedDir(e.slug,"project-memory")),u(this.projectImportedDir(e.slug,"learnings")),u(this.projectEvidenceDir(e.slug,"project")),u(this.projectEvidenceDir(e.slug,"repo")),u(this.projectEvidenceDir(e.slug,"agent")),r))u(this.repoDir(e.slug,n.slug)),u(this.projectImportedDir(e.slug,i.default.join("repo-knowledge",n.slug))),t.default.existsSync(i.default.join(this.repoDir(e.slug,n.slug),"_index.md"))||g(i.default.join(this.repoDir(e.slug,n.slug),"_index.md"),`# ${n.name}
|
|
12
|
-
|
|
13
|
-
- [[Knowledge]]
|
|
14
|
-
`),t.default.existsSync(this.repoKnowledgePath(e.slug,n.slug))||y(this.repoKnowledgePath(e.slug,n.slug),{id:n.id,type:"knowledge-note",scope:"repo",subject_id:n.id,project_id:e.id,repo_id:n.id,slug:n.slug,title:n.name,created_at:n.created_at,updated_at:n.updated_at,version:1},n.notes??"");t.default.existsSync(i.default.join(o,"_Index.md"))||g(i.default.join(o,"_Index.md"),`# ${e.name}
|
|
15
|
-
|
|
16
|
-
- [[Overview]]
|
|
17
|
-
- [[Architecture]]
|
|
18
|
-
- [[Active Development]]
|
|
19
|
-
- [[Design Decisions]]
|
|
20
|
-
`),t.default.existsSync(i.default.join(o,"Overview.md"))||g(i.default.join(o,"Overview.md"),`# Overview
|
|
21
|
-
|
|
22
|
-
${e.description?.trim()||""}
|
|
23
|
-
`),t.default.existsSync(i.default.join(o,"Architecture.md"))||g(i.default.join(o,"Architecture.md"),"# Architecture\n"),t.default.existsSync(i.default.join(o,"Active Development.md"))||g(i.default.join(o,"Active Development.md"),"# Active Development\n"),t.default.existsSync(i.default.join(o,"Design Decisions.md"))||g(i.default.join(o,"Design Decisions.md"),"# Design Decisions\n"),t.default.existsSync(this.projectContextPath(e.slug))||y(this.projectContextPath(e.slug),{id:e.id,type:"knowledge-note",scope:"project",subject_id:e.id,project_id:e.id,slug:e.slug,title:e.name,created_at:e.created_at,updated_at:e.updated_at,version:1},e.description?.trim()||""),t.default.existsSync(this.projectAgentsIndexPath(e.slug))||y(this.projectAgentsIndexPath(e.slug),{id:`project-agents:${e.id}`,type:"project-agents",project_id:e.id,title:`${e.name} Agents`,created_at:e.created_at,updated_at:e.updated_at,agents:[]},"# Project Agents\n")}toRegistryRepos(e){return e.map(e=>({id:e.id,slug:e.slug,name:e.name,path:e.path??null,git_url:e.git_url??null}))}updateProjectRegistryEntry(e,t){let r=this.readRegistry(),i={id:e.id,slug:e.slug,name:e.name,path:this.projectDir(e.slug),created_at:e.created_at,updated_at:e.updated_at,repos:this.toRegistryRepos(t)},o=r.projects.filter(t=>t.id!==e.id);o.push(i),this.writeRegistry({...r,projects:o})}removeProjectRegistryEntry(e){let t=this.readRegistry();this.writeRegistry({...t,projects:t.projects.filter(t=>t.id!==e)})}ensureAgentRegistryEntry(e,t){let r=this.readRegistry(),o=r.agents.find(t=>t.id===e);if(o)return o;let n=l(t||e,"agent"),a=s(),d={id:e,slug:n,name:t||e,path:i.default.join(this.globalAgentsDir(),`${n}.md`),created_at:a,updated_at:a};return this.writeRegistry({...r,agents:[...r.agents,d]}),d}updateAgentRegistryEntry(e,t){let r=this.readRegistry(),i=r.agents.find(t=>t.id===e);if(!i)return this.ensureAgentRegistryEntry(e,t);let o={...i,name:t,updated_at:s()};return this.writeRegistry({...r,agents:[...r.agents.filter(t=>t.id!==e),o]}),o}listProjects(e,t=!1){return this.readRegistry().projects.filter(e=>t||!e.archived_at).map(t=>this.getProjectWithRepos(t.id,e)).filter(e=>!!e)}getProjectBySlug(e,t){let r=this.getProjectWithRepos(e,t);return r?{...r,repos:void 0}:null}getProjectRepos(e){let t=this.getProjectWithRepos(e);return t?.repos??[]}getProjectWithRepos(e,t){let r=this.findProjectRegistryEntry(e);if(!r)return null;let i=this.readManifest(r.slug);if(!i||t&&i.project.user_id&&i.project.user_id!==t)return null;let o=i.repos.map(e=>({id:e.id,project_id:e.project_id,name:e.name,path:e.path??"",git_url:e.git_url??void 0,notes:this.getKnowledgeNote("repo",e.id)?.content||"",created_at:e.created_at,updated_at:e.updated_at}));return{...i.project,archived_at:r.archived_at??null,repos:o}}createProject(e,t){let r=s(),i=this.nextProjectSlug(t.name||"project"),n={id:(0,o.randomUUID)(),user_id:e,name:t.name.trim(),slug:i,description:t.description?.trim()||"",metadata:{},workflow_id:t.workflow_id??null,created_at:r,updated_at:r},a=(t.repos??[]).map(e=>{let t=this.nextRepoSlug(n.slug,e.name||e.path||"repo");return{id:e.id?.trim()||(0,o.randomUUID)(),project_id:n.id,name:e.name.trim(),path:e.path??"",git_url:e.git_url??void 0,notes:e.notes??"",created_at:r,updated_at:r,slug:t}});for(let e of(this.ensureProjectScaffold(n,a),this.writeManifest(n.slug,{version:1,updatedAt:r,project:n,repos:a,agents:[],threads:[]}),this.updateProjectRegistryEntry(n,a),a))e.notes?.trim()&&this.upsertKnowledgeNote({scope:"repo",subjectId:e.id,content:e.notes,changeSummary:"Initial repo note",sourceType:"manual",sourceId:"project-create",metadata:{project_id:n.id}});return this.getProjectWithRepos(n.id,e)}updateProject(e,r,i){let n=this.getProjectWithRepos(e,r);if(!n)return null;let a=this.readManifest(n.slug);if(!a)return null;let d=i.slug?.trim()?this.nextProjectSlug(i.slug.trim(),n.id):n.slug,l=s(),c={...a.project,name:"string"==typeof i.name&&i.name.trim()?i.name.trim():a.project.name,slug:d,description:void 0!==i.description?i.description??"":a.project.description??"",metadata:void 0!==i.metadata?i.metadata??{}:a.project.metadata??{},ci_cd_info:void 0!==i.ci_cd_info?i.ci_cd_info??void 0:a.project.ci_cd_info,workflow_id:void 0!==i.workflow_id?i.workflow_id??null:a.project.workflow_id,updated_at:l},u=a.repos;if(i.repos){let e=[],t=new Map(a.repos.map(e=>[e.id,e]));for(let r of i.repos){let i=r.id?t.get(r.id):void 0,a=i?.id||r.id?.trim()||(0,o.randomUUID)(),d=i?.slug||this.nextRepoSlug(c.slug,r.name||r.path||"repo",a);e.push({id:a,project_id:n.id,name:r.name.trim(),path:r.path??"",git_url:r.git_url??void 0,notes:r.notes??"",created_at:i?.created_at||l,updated_at:l,slug:d})}for(let t of a.repos)e.some(e=>e.id===t.id)||p(this.repoDir(n.slug,t.slug));u=e}for(let e of(d!==n.slug&&(p(this.projectDir(d)),t.default.renameSync(this.projectDir(n.slug),this.projectDir(d))),this.ensureProjectScaffold(c,u),this.writeManifest(c.slug,{version:1,updatedAt:l,project:c,repos:u,agents:a.agents,threads:a.threads}),this.updateProjectRegistryEntry(c,u),u)){let t=i.repos?.find(t=>(t.id||e.id)===e.id)?.notes;"string"==typeof t&&this.upsertKnowledgeNote({scope:"repo",subjectId:e.id,content:t,changeSummary:"Repo note updated",sourceType:"manual",sourceId:"project-update",metadata:{project_id:c.id}})}return this.getProjectWithRepos(c.id,r)}deleteProject(e,t){if(!this.findProjectRegistryEntryById(e))return;let r=this.readRegistry(),i=r.projects.map(t=>t.id===e?{...t,archived_at:s(),updated_at:s()}:t);this.writeRegistry({...r,projects:i})}getProjectAgents(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=w(this.projectAgentsIndexPath(t.slug));return[...Array.isArray(r?.frontmatter?.agents)?r.frontmatter.agents:[]].sort((e,t)=>e.routing_order-t.routing_order)}addProjectAgent(e,t,r){let i=this.findProjectRegistryEntryById(e);if(!i)throw Error("Project not found");let o=this.getProjectAgents(e).filter(e=>e.agent_id!==t),n=r??o.length,a=s();o.push({project_id:e,agent_id:t,routing_order:n,created_at:a});let d=o.sort((e,t)=>e.routing_order-t.routing_order).map((e,t)=>({...e,routing_order:t}));return this.writeProjectAgents(i.slug,e,d),d.find(e=>e.agent_id===t)}removeProjectAgent(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)return;let i=this.getProjectAgents(e).filter(e=>e.agent_id!==t).map((e,t)=>({...e,routing_order:t}));this.writeProjectAgents(r.slug,e,i)}reorderProjectAgents(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)return[];let i=new Map(this.getProjectAgents(e).map(e=>[e.agent_id,e])),o=t.map((e,t)=>{let r=i.get(e);return r?{...r,routing_order:t}:null}).filter(e=>!!e);return this.writeProjectAgents(r.slug,e,o),o}writeProjectAgents(e,t,r){let i=this.projectAgentsIndexPath(e),o=w(i),n=o?.frontmatter?.created_at||s();y(i,{id:o?.frontmatter?.id||`project-agents:${t}`,type:"project-agents",project_id:t,title:"Project Agents",created_at:n,updated_at:s(),agents:r},"# Project Agents\n");let a=this.readManifest(e);a&&this.writeManifest(e,{...a,agents:r})}getProjectSkills(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=[];for(let i of j(this.projectSkillsDir(t.slug))){let t=w(i);if(!t)continue;let o=String(t.frontmatter.id||"").trim(),n=String(t.frontmatter.file||"").trim(),a=String(t.frontmatter.created_at||"");o&&n&&r.push({id:o,project_id:String(t.frontmatter.project_id||e),file:n,condition:"string"==typeof t.frontmatter.condition?t.frontmatter.condition:void 0,created_at:a,updatedAt:a,createdAt:a})}return S(r).map(({updatedAt:e,createdAt:t,...r})=>r)}addProjectSkill(e,t,r){let n=this.findProjectRegistryEntryById(e);if(!n)throw Error("Project not found");let a=s(),d=(0,o.randomUUID)(),c=l(i.default.basename(t)||d,"skill");return y(i.default.join(this.projectSkillsDir(n.slug),`${c}-${d.slice(0,8)}.md`),{id:d,type:"project-skill",project_id:e,title:i.default.basename(t)||t,file:t,condition:r??null,created_at:a,updated_at:a},`# ${i.default.basename(t)||t}
|
|
24
|
-
`),{id:d,project_id:e,file:t,condition:r,created_at:a}}removeProjectSkill(e){for(let r of this.readRegistry().projects)for(let i of j(this.projectSkillsDir(r.slug))){let r=w(i);if(r?.frontmatter?.id===e)return void t.default.unlinkSync(i)}}getProjectVariables(e){let t=this.findProjectRegistryEntryById(e);return t?j(this.projectVariablesDir(t.slug)).map(t=>{let r=w(t);return r?{project_id:String(r.frontmatter.project_id||e),key:String(r.frontmatter.key||""),value:String(r.frontmatter.value||"")}:null}).filter(e=>!!e?.key):[]}setProjectVariable(e,t,r){let o=this.findProjectRegistryEntryById(e);if(!o)throw Error("Project not found");let n=i.default.join(this.projectVariablesDir(o.slug),`${l(t,"var")}.md`),a=w(n),d=s();return y(n,{id:a?.frontmatter?.id||`project-variable:${e}:${t}`,type:"project-variable",project_id:e,title:t,key:t,value:r,created_at:a?.frontmatter?.created_at||d,updated_at:d},""),{project_id:e,key:t,value:r}}deleteProjectVariable(e,r){let o=this.findProjectRegistryEntryById(e);if(!o)return;let n=i.default.join(this.projectVariablesDir(o.slug),`${l(r,"var")}.md`);t.default.existsSync(n)&&t.default.unlinkSync(n)}getProjectMemory(e){let t=this.getKnowledgeNote("project",e);return t?.content.trim()?[{id:t.id,project_id:e,content:t.content,source:t.sourceType||"vault",producer:"human",created_at:t.updatedAt}]:[]}addProjectMemory(e,t,r,i="human"){let o=this.getKnowledgeNote("project",e)?.content??"",n=o.trim()?`${o.trim()}
|
|
25
|
-
|
|
26
|
-
- ${t.trim().replace(/^\-\s*/,"")}`:t.trim(),{note:a}=this.upsertKnowledgeNote({scope:"project",subjectId:e,content:n,changeSummary:r||"Project memory updated",sourceType:"system"===i?"task_completion":"manual",sourceId:r||"manual-project-memory",metadata:{producer:i}});return{id:a.id,project_id:e,content:a.content,source:a.changeSummary||void 0,producer:i,created_at:a.updatedAt}}deleteProjectMemory(e){let t=this.findProjectRegistryEntryById(e);if(!t)return;let r=this.projectContextPath(t.slug),i=w(r);i&&y(r,{...i.frontmatter,updated_at:s()},"")}getProjectThreads(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=this.readManifest(t.slug);return r?.threads??[]}addProjectThread(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)throw Error("Project not found");let o=this.readManifest(r.slug);if(!o)throw Error("Project manifest missing");let n=o.threads.find(e=>e.thread_id===t);if(n)return n;let a=s(),d={project_id:e,thread_id:t,created_at:a};return y(i.default.join(this.projectThreadsDir(r.slug),`${encodeURIComponent(t)}.md`),{id:`project-thread:${e}:${t}`,type:"project-thread",project_id:e,thread_id:t,title:t,created_at:a,updated_at:a},`# Thread ${t}
|
|
27
|
-
`),this.writeManifest(r.slug,{...o,threads:[...o.threads,d]}),d}removeProjectThread(e,r){let o=this.findProjectRegistryEntryById(e);if(!o)return;let n=this.readManifest(o.slug);if(!n)return;let a=i.default.join(this.projectThreadsDir(o.slug),`${encodeURIComponent(r)}.md`);t.default.existsSync(a)&&t.default.unlinkSync(a),this.writeManifest(o.slug,{...n,threads:n.threads.filter(e=>e.thread_id!==r)})}getProjectForThread(e){for(let t of this.readRegistry().projects){let r=this.readManifest(t.slug);if(r?.threads.some(t=>t.thread_id===e))return r.project.id}return null}getKnowledgeNote(e,t){let r=this.resolveKnowledgeNotePath(e,t);if(!r)return null;let i=w(r.path);if(!i)return null;let o=i.frontmatter;return{id:String(o.id||t),scope:e,subjectId:t,content:i.body,changeSummary:"string"==typeof o.change_summary?o.change_summary:null,sourceType:"string"==typeof o.source_type?o.source_type:"manual",sourceId:"string"==typeof o.source_id?o.source_id:"vault",metadata:_(o.metadata)?o.metadata:{},version:"number"==typeof o.version?o.version:1,createdAt:"string"==typeof o.created_at?o.created_at:s(),updatedAt:"string"==typeof o.updated_at?o.updated_at:s()}}upsertKnowledgeNote(e){let t=this.resolveKnowledgeNotePath(e.scope,e.subjectId,{createIfMissing:!0});if(!t)throw Error(`Cannot resolve knowledge note for ${e.scope}:${e.subjectId}`);let r=this.getKnowledgeNote(e.scope,e.subjectId),i=h(e.content);if(r&&h(r.content)===i)return{note:r,changed:!1};let o=r?.createdAt||s(),n=(r?.version||0)+1,a={...t.frontmatter,updated_at:s(),created_at:o,source_type:e.sourceType,source_id:e.sourceId,change_summary:e.changeSummary??null,version:n,metadata:e.metadata??{}};y(t.path,a,i);let d=this.getKnowledgeNote(e.scope,e.subjectId);if(!d)throw Error("Failed to read knowledge note after write");return{note:d,changed:!0}}resolveKnowledgeNotePath(e,t,r){if("global"===e){let e=s();return this.ensureRoot(),{path:this.globalPlaybookPath(),frontmatter:{id:"global-playbook",type:"knowledge-note",scope:"global",subject_id:t||"playbook",slug:"playbook",title:"Playbook",created_at:e,updated_at:e}}}if("project"===e){let e=this.findProjectRegistryEntryById(t);if(!e)return null;let r=s();return{path:this.projectContextPath(e.slug),frontmatter:{id:t,type:"knowledge-note",scope:"project",subject_id:t,project_id:t,slug:e.slug,title:e.name,created_at:r,updated_at:r}}}if("repo"===e){let e=this.findRepoEntry(t);if(!e)return null;let r=s();return{path:this.repoKnowledgePath(e.project.slug,e.repo.slug),frontmatter:{id:t,type:"knowledge-note",scope:"repo",subject_id:t,project_id:e.project.id,repo_id:t,slug:e.repo.slug,title:e.repo.name,created_at:r,updated_at:r}}}let i=this.findAgentEntry(t)??(r?.createIfMissing?this.ensureAgentRegistryEntry(t,t):null);if(!i)return null;let o=s();return{path:i.path,frontmatter:{id:t,type:"knowledge-note",scope:"agent",subject_id:t,agent_id:t,slug:i.slug,title:i.name,created_at:o,updated_at:o}}}listKnowledgeEntries(e){return S(this.knowledgeEntryFilesForScope(e.scope,e.subjectId).map(t=>{let r=w(t);return r?{id:String(r.frontmatter.id||""),scope:r.frontmatter.scope,subjectId:String(r.frontmatter.subject_id||e.subjectId),sourceType:r.frontmatter.source_type,sourceId:String(r.frontmatter.source_id||""),kind:r.frontmatter.kind,title:String(r.frontmatter.title||""),body:r.body,confidence:c(r.frontmatter.confidence),durability:c(r.frontmatter.durability),tags:k(r.frontmatter.tags),evidence:b(r.frontmatter.evidence),metadata:_(r.frontmatter.metadata)?r.frontmatter.metadata:{},createdAt:String(r.frontmatter.created_at||""),updatedAt:String(r.frontmatter.updated_at||"")}:null}).filter(e=>!!(e?.id&&e.body))).slice(0,e.limit??50)}storeKnowledgeEntries(e){let t=0;for(let r of e){let e=r.subjectId.trim(),i=r.title.trim(),n=r.body.trim(),a=r.sourceId.trim();if(!e||!i||!n||!a)continue;let d=v(r.scope,e,n);if(this.listKnowledgeEntries({scope:r.scope,subjectId:e,limit:500}).find(e=>e.metadata?.content_hash===d))continue;let l=this.nextKnowledgeEntryPath(r.scope,e,i),u=s();y(l,{id:(0,o.randomUUID)(),type:"knowledge-evidence",scope:r.scope,subject_id:e,source_type:r.sourceType,source_id:a,kind:r.kind,title:i,confidence:c(r.confidence),durability:c(r.durability),tags:k(r.tags),evidence:b(r.evidence),metadata:{...r.metadata??{},content_hash:d},content_hash:d,created_at:u,updated_at:u},n),t+=1}return t}knowledgeEntryFilesForScope(e,t){if("global"===e)return j(this.globalEvidenceDir("global"));if("agent"===e)return j(this.globalEvidenceDir("agent")).filter(e=>{let r=w(e);return r?.frontmatter?.subject_id===t});if("project"===e){let e=this.findProjectRegistryEntryById(t);return e?j(this.projectEvidenceDir(e.slug,"project")):[]}let r=this.findRepoEntry(t);return r?j(this.projectEvidenceDir(r.project.slug,"repo")).filter(e=>{let r=w(e);return r?.frontmatter?.subject_id===t}):[]}nextKnowledgeEntryPath(e,t,r){let n=(0,o.randomUUID)(),a=`${l(r,"entry")}-${n.slice(0,8)}.md`;if("global"===e)return i.default.join(this.globalEvidenceDir("global"),a);if("agent"===e)return i.default.join(this.globalEvidenceDir("agent"),a);if("project"===e){let e=this.findProjectRegistryEntryById(t);if(!e)throw Error("Project not found for knowledge entry");return i.default.join(this.projectEvidenceDir(e.slug,"project"),a)}let d=this.findRepoEntry(t);if(!d)throw Error("Repo not found for knowledge entry");return i.default.join(this.projectEvidenceDir(d.project.slug,"repo"),a)}getLearnings(e,t){if("task"===e)return[];if("global"===e){let e=this.getKnowledgeNote("global","playbook");return e?.content.trim()?[{id:e.id,scope:"global",scope_id:void 0,content:e.content,created_at:e.updatedAt}]:[]}if(!t)return[];let r=this.getKnowledgeNote("project",t);return r?.content.trim()?[{id:r.id,scope:"project",scope_id:t,content:r.content,created_at:r.updatedAt}]:[]}addLearning(e,t,r){if("task"===e)throw Error("Task learnings are not handled by VaultStore");let i="global"===e?"global":"project",o="global"===e?"playbook":String(r||"").trim();if(!o)throw Error("scopeId is required for project learnings");let n=this.getKnowledgeNote(i,o)?.content??"",a=`- ${t.trim().replace(/^\-\s*/,"")}`,d=n.trim()?`${n.trim()}
|
|
28
|
-
${a}`:a,{note:s}=this.upsertKnowledgeNote({scope:i,subjectId:o,content:d,changeSummary:"Learning added",sourceType:"manual",sourceId:"manual-learning",metadata:{scope:e}});return{id:s.id,scope:e,scope_id:r,content:s.content,created_at:s.updatedAt}}deleteLearning(e,t,r){if("task"===t)return;let i="global"===t?"playbook":String(r||"").trim();if(!i)return;let o=this.getKnowledgeNote("global"===t?"global":"project",i);o&&o.id===e&&this.upsertKnowledgeNote({scope:"global"===t?"global":"project",subjectId:i,content:"",changeSummary:"Learning cleared",sourceType:"manual",sourceId:"manual-learning-delete",metadata:{scope:t}})}migrateFromLegacyDb(){this.ensureRoot();let e=(0,a.getSQLiteDb)(),t=s(),r=t=>!!e.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name = ? LIMIT 1").get(t),o=t=>r(t)?e.prepare(`SELECT * FROM ${t}`).all():[],n=o("projects"),d=o("project_repos"),c=o("project_agents"),u=o("project_skills"),f=o("project_variables"),g=o("project_threads"),m=o("project_memory"),_=r("repo_knowledge")?e.prepare("SELECT id, repo_id, content, producer, created_at FROM repo_knowledge").all():[],h=r("knowledge_notes")?e.prepare("SELECT * FROM knowledge_notes").all():[],w=r("knowledge_entries")?e.prepare("SELECT * FROM knowledge_entries").all():[],j=o("learnings"),k=o("agents"),b=r("agent_memory")?e.prepare("SELECT * FROM agent_memory").all():[];p(this.rootDir),this.ensureRoot();let S=j.filter(e=>"global"===e.scope),D=S.map(e=>`- ${e.content.trim().replace(/^\-\s*/,"")}`).join("\n");this.upsertKnowledgeNote({scope:"global",subjectId:"playbook",content:D,changeSummary:"Imported from legacy learnings",sourceType:"task_completion",sourceId:"vault-import",metadata:{imported_at:t}});let A=0,P=0;for(let e of S)y(i.default.join(this.globalImportedLearningsDir(),`${l(e.id,"learning")}.md`),{id:e.id,type:"imported-artifact",source_table:"learnings",scope:e.scope,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{scope_id:e.scope_id,user_id:e.user_id}},e.content),A+=1;for(let e of k){let r=h.find(t=>"agent"===t.scope&&t.subject_id===e.id),i=r?.content?.trim()||this.synthesizeAgentNote(e.id,b,w),o=this.updateAgentRegistryEntry(e.id,e.name);y(o.path,{id:e.id,type:"knowledge-note",scope:"agent",subject_id:e.id,agent_id:e.id,slug:o.slug,title:e.name,created_at:r?.created_at||e.created_at||t,updated_at:r?.updated_at||e.updated_at||t,source_type:r?.source_type||"task_completion",source_id:r?.source_id||"vault-import",change_summary:r?.change_summary||"Imported from legacy agent knowledge",version:r?.version||1,metadata:r?.metadata?JSON.parse(r.metadata):{}},this.composeAgentNoteBody(e.name,e.description,i))}for(let e of n){let r={id:e.id,user_id:e.user_id,name:e.name,slug:e.slug||this.nextProjectSlug(e.name||e.id,e.id),description:e.description??"",metadata:e.metadata??{},ci_cd_info:e.ci_cd_info??void 0,workflow_id:e.workflow_id??null,created_at:e.created_at||t,updated_at:e.updated_at||t},o=d.filter(t=>t.project_id===e.id).map(e=>({...e,slug:this.nextRepoSlug(r.slug,e.name||e.path||e.id,e.id)}));this.ensureProjectScaffold(r,o),this.writeManifest(r.slug,{version:1,updatedAt:t,project:r,repos:o,agents:c.filter(e=>e.project_id===r.id).sort((e,t)=>e.routing_order-t.routing_order),threads:g.filter(e=>e.project_id===r.id)}),this.updateProjectRegistryEntry(r,o);let n=h.find(e=>"project"===e.scope&&e.subject_id===r.id),a=n?.content?.trim()||this.synthesizeProjectNote(r.id,m,w);for(let e of(this.upsertKnowledgeNote({scope:"project",subjectId:r.id,content:a,changeSummary:n?.change_summary||"Imported from legacy project knowledge",sourceType:n?.source_type||"task_completion",sourceId:n?.source_id||"vault-import",metadata:n?.metadata?JSON.parse(n.metadata):{imported_at:t}}),y(this.projectContextPath(r.slug),{id:r.id,type:"knowledge-note",scope:"project",subject_id:r.id,project_id:r.id,slug:r.slug,title:r.name,created_at:n?.created_at||r.created_at,updated_at:n?.updated_at||r.updated_at,source_type:n?.source_type||"task_completion",source_id:n?.source_id||"vault-import",change_summary:n?.change_summary||"Imported from legacy project knowledge",version:n?.version||1,metadata:n?.metadata?JSON.parse(n.metadata):{}},a),j.filter(e=>"project"===e.scope&&e.scope_id===r.id)))y(i.default.join(this.projectImportedDir(r.slug,"learnings"),`${l(e.id,"learning")}.md`),{id:e.id,type:"imported-artifact",source_table:"learnings",scope:e.scope,project_id:r.id,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{scope_id:e.scope_id,user_id:e.user_id}},e.content),A+=1;for(let e of m.filter(e=>e.project_id===r.id))y(i.default.join(this.projectImportedDir(r.slug,"project-memory"),`${l(e.id,"memory")}.md`),{id:e.id,type:"imported-artifact",source_table:"project_memory",source_row_id:e.id,project_id:r.id,producer:e.producer,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{source:e.source??null}},e.content),A+=1;for(let e of o){let o=h.find(t=>"repo"===t.scope&&t.subject_id===e.id),n=o?.content?.trim()||this.synthesizeRepoNote(e.id,_,w);for(let a of(y(this.repoKnowledgePath(r.slug,e.slug),{id:e.id,type:"knowledge-note",scope:"repo",subject_id:e.id,project_id:r.id,repo_id:e.id,slug:e.slug,title:e.name,created_at:o?.created_at||e.created_at,updated_at:o?.updated_at||e.updated_at,source_type:o?.source_type||"task_completion",source_id:o?.source_id||"vault-import",change_summary:o?.change_summary||"Imported from legacy repo knowledge",version:o?.version||1,metadata:o?.metadata?JSON.parse(o.metadata):{}},n),e.notes?.trim()&&(y(i.default.join(this.projectImportedDir(r.slug,i.default.join("repo-knowledge",e.slug)),`${l(e.id,"repo-notes")}-project-repos-notes.md`),{id:`${e.id}:project_repos.notes`,type:"imported-artifact",source_table:"project_repos",source_row_id:e.id,project_id:r.id,repo_id:e.id,created_at:e.updated_at||e.created_at||t,updated_at:e.updated_at||e.created_at||t},e.notes),A+=1),_.filter(t=>t.repo_id===e.id)))y(i.default.join(this.projectImportedDir(r.slug,i.default.join("repo-knowledge",e.slug)),`${l(a.id,"repo-knowledge")}.md`),{id:a.id,type:"imported-artifact",source_table:"repo_knowledge",source_row_id:a.id,project_id:r.id,repo_id:e.id,producer:a.producer,created_at:a.created_at||t,updated_at:a.created_at||t},a.content),A+=1}for(let e of u.filter(e=>e.project_id===r.id))y(i.default.join(this.projectSkillsDir(r.slug),`${l(i.default.basename(e.file)||e.id,"skill")}-${e.id.slice(0,8)}.md`),{id:e.id,type:"project-skill",project_id:r.id,title:i.default.basename(e.file)||e.file,file:e.file,condition:e.condition??null,created_at:e.created_at||t,updated_at:e.created_at||t},`# ${i.default.basename(e.file)||e.file}
|
|
29
|
-
`);for(let e of f.filter(e=>e.project_id===r.id))y(i.default.join(this.projectVariablesDir(r.slug),`${l(e.key,"var")}.md`),{id:`project-variable:${r.id}:${e.key}`,type:"project-variable",project_id:r.id,title:e.key,key:e.key,value:e.value,created_at:t,updated_at:t},"");for(let e of(y(this.projectAgentsIndexPath(r.slug),{id:`project-agents:${r.id}`,type:"project-agents",project_id:r.id,title:"Project Agents",created_at:r.created_at,updated_at:r.updated_at,agents:c.filter(e=>e.project_id===r.id).sort((e,t)=>e.routing_order-t.routing_order)},"# Project Agents\n"),g.filter(e=>e.project_id===r.id)))y(i.default.join(this.projectThreadsDir(r.slug),`${encodeURIComponent(e.thread_id)}.md`),{id:`project-thread:${r.id}:${e.thread_id}`,type:"project-thread",project_id:r.id,thread_id:e.thread_id,title:e.thread_id,created_at:e.created_at||t,updated_at:e.created_at||t},`# Thread ${e.thread_id}
|
|
30
|
-
`)}for(let e of w)y(this.nextKnowledgeEntryPath(e.scope,e.subject_id,e.title||e.id),{id:e.id,type:"knowledge-evidence",scope:e.scope,subject_id:e.subject_id,source_type:e.source_type,source_id:e.source_id,kind:e.kind,title:e.title,confidence:e.confidence,durability:e.durability,tags:e.tags?JSON.parse(e.tags):[],evidence:e.evidence?JSON.parse(e.evidence):[],metadata:e.metadata?JSON.parse(e.metadata):{},content_hash:e.content_hash||v(e.scope,e.subject_id,e.body),created_at:e.created_at||t,updated_at:e.updated_at||e.created_at||t},e.body),P+=1;return{projects:n.length,repos:d.length,agents:k.length,importedArtifacts:A,evidenceFiles:P}}composeAgentNoteBody(e,t,r){let i=[`# ${e}`];return t?.trim()&&i.push(`## Identity
|
|
31
|
-
${t.trim()}`),r.trim()&&i.push(`## Portable Knowledge
|
|
32
|
-
${r.trim()}`),i.join("\n\n")}synthesizeProjectNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.project_id===e&&"system"===t.producer).map(e=>e.content.trim()),...r.filter(t=>"project"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}synthesizeRepoNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.repo_id===e&&"system"===t.producer).map(e=>e.content.trim()),...r.filter(t=>"repo"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}synthesizeAgentNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.agent_id===e).map(e=>e.content.trim()),...r.filter(t=>"agent"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}};e.s(["vaultStore",0,D])},209120,133878,930430,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(633211);return t()}e.s(["createAdminDbClient",0,t],209120);let r="Waiting on dependencies";e.s(["formatDependencyBlockedReason",0,function(e){if(!e||0===e.length)return"";let t=e.slice(0,3).map(e=>`${e.title?e.title:e.slug?e.slug:e.id?e.id:"(unknown)"}${(e.stage?.toLowerCase()==="intake"?" (awaiting approval)":e.status?` (${e.status})`:null)??""}`),i=`${r}: ${t.join(", ")}`;return e.length>3&&(i+=` +${e.length-3} more`),i},"isDependencyBlockedReason",0,function(e){return"string"==typeof e&&e.startsWith(r)}],133878);let i=[{value:"task.created",label:"Task created",description:"Fires immediately when a new task is added to the queue."},{value:"task.stage_complete",label:"Stage completed",description:"Emitted whenever a stage finishes and the task advances."},{value:"task.completed",label:"Task completed",description:"When the task reaches a completed status (done)."},{value:"task.failed",label:"Task failed",description:"When the task may have errored, including cancellations."},{value:"task.blocked",label:"Task blocked",description:"When the agent raises the task as blocked awaiting manual input."}].map(e=>e.value);class o extends Error{}function n(e){let t=Array.isArray(e.events)?e.events.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(e=>i.includes(e)):[];return{id:String(e.id),user_id:String(e.user_id),url:String(e.url),name:null!=e.name?String(e.name):null,events:t,enabled:!1!==e.enabled,created_at:String(e.created_at),updated_at:String(e.updated_at)}}async function a(e,t){if(function(e,t){if(!e||"object"!=typeof e)return!1;let r=e.code,i="string"==typeof e.message?e.message:"";return"42P01"===r||"PGRST205"===r||i.includes(`relation "${t}" does not exist`)||i.includes(`Could not find the table 'agx.${t}'`)||i.includes(`Could not find the table 'public.${t}'`)}(t,e))throw new o(`Missing relation: ${e}`);throw t}async function d(e){let r=t(),{data:i,error:o}=await r.from("notification_webhooks").select("*").eq("user_id",e).order("created_at",{ascending:!1});return(o&&await a("notification_webhooks",o),i)?(Array.isArray(i)?i:[i]).map(n):[]}async function s(e){if(!e.userId)return;let t=[];try{t=await d(e.userId)}catch(e){if(e instanceof o)return void console.debug("[notifications] notification_webhooks schema not ready, skipping");console.error("[notifications] failed to load webhooks",e);return}let r=t.filter(t=>t.enabled&&t.events.includes(e.eventType));if(!r.length)return;let i=e.timestamp||new Date().toISOString(),n={eventType:e.eventType,taskId:e.taskId,userId:e.userId,title:e.title||null,slug:e.slug||null,stage:e.stage||null,previousStage:e.previousStage||null,nextStage:e.nextStage||null,status:e.status||null,error:e.error||null,timestamp:i,details:e.details||{}};await Promise.all(r.map(async e=>{try{let t=await fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});t.ok||console.error(`[notifications] webhook ${e.url} responded with ${t.status}`)}catch(t){console.error(`[notifications] failed to send to ${e.url}`,t)}}))}e.s(["notifyTaskEvent",0,s],930430)},623775,e=>{"use strict";var t=e.i(209120),r=e.i(133878),i=e.i(930430),o=e.i(254799),n=e.i(341902);function a(e,t){if(!e)return!1;let r="string"==typeof e.message?e.message:"";return"42P01"===e.code||"PGRST205"===e.code||r.includes(`relation "${t}" does not exist`)||r.includes(`Could not find the table 'agx.${t}'`)||r.includes(`Could not find the table 'public.${t}'`)}async function d(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("user_settings").select("*").eq("user_id",e).maybeSingle();if(o){if(a(o,"user_settings"))return null;throw o}return i||null}async function s(e,r,i){let o=i?.onlyIfNewer!==!1,n=function(e){if("string"==typeof e){let t=Date.parse(e);if(Number.isFinite(t))return new Date(t).toISOString()}return new Date().toISOString()}(r.changed_at),a=await d(e);if(o&&a?.changed_at){let e=Date.parse(a.changed_at),t=Date.parse(n);if(Number.isFinite(e)&&Number.isFinite(t)&&t<=e)return{settings:a,updated:!1}}let s={user_id:e,default_provider:r.default_provider??a?.default_provider??null,models:r.models??a?.models??{},provenance:r.provenance,changed_at:n},l=(0,t.createAdminDbClient)(),{error:c}=await l.from("user_settings").upsert(s,{onConflict:"user_id"});if(c)throw c;let u=await d(e);if(!u)throw Error("Failed to load user_settings after upsert");return{settings:u,updated:!0}}function l(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function c(e,t){let r=l(e);for(let i=0;i<5;i++){let{data:i,error:o}=await t.from("tasks").select("id").eq("slug",r).limit(1);if(o)throw o;if(!i||0===i.length)return r;let n=Math.random().toString(36).slice(2,6);r=`${l(e)}-${n}`.slice(0,48)}return`${l(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function u(e,t,r,i){let o=l(e);for(let n=0;n<5;n++){let n=r.from("projects").select("id").eq("slug",o).eq("user_id",t);i&&(n=n.neq("id",i));let{data:a,error:d}=await n.limit(1);if(d)throw d;if(!a||0===a.length)return o;let s=Math.random().toString(36).slice(2,6);o=`${l(e)}-${s}`.slice(0,48)}return`${l(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function p(e){return e??(0,t.createAdminDbClient)()}function f(e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(e=>String(e||"").trim()).filter(Boolean)}catch{}return t.split(",").map(e=>e.trim()).filter(Boolean)}function g(e){let t;if(!e)return[];if(Array.isArray(e))t=e.map(e=>"string"==typeof e?e:null==e?"":String(e)).filter(Boolean);else{if("string"!=typeof e)return[];t=f(e)}return Array.from(new Set(t.map(e=>e.trim()).filter(Boolean)))}function m(e){let t=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!t)return{frontmatter:{},body:e};let r={};for(let e of t[1].split("\n")){let t=e.indexOf(":");if(t>0){let i=e.slice(0,t).trim(),o=e.slice(t+1).trim();if("depends_on"===i){r[i]=f(o);continue}"true"===o?r[i]=!0:"false"===o?r[i]=!1:/^\d+$/.test(o)?r[i]=parseInt(o):r[i]=o}}return{frontmatter:r,body:t[2]}}async function _(e,t,r){if(!e||!t?.length)return;let i=p(r),o=new Set,n=[...t];for(;n.length;){let t=n.pop();if(!t)continue;if(t===e)throw Error("Circular dependency detected");if(o.has(t))continue;o.add(t);let{data:r,error:a}=await i.from("tasks").select("depends_on").eq("id",t).maybeSingle();if(a){if("PGRST116"===a.code||"42703"===a.code)continue;throw a}if(r)for(let e of Array.isArray(r.depends_on)?r.depends_on:[])e&&!o.has(e)&&n.push(e)}}function h(e){let{body:t}=m(e),r=t.match(/^#\s+(.+)$/m);return r?r[1]:void 0}function y(e){return String(e||"").replace(/^#\s+.+(\r?\n|$)/,"").trim()}async function w(e,i){let o=Array.isArray(e.depends_on)?e.depends_on:[];if(!o.length)return;let n=(0,t.createAdminDbClient)(),{data:a,error:d}=await n.from("tasks").select("id, title, slug, status, stage").in("id",o);if(d)return;let s=(Array.isArray(a)?a:[]).filter(e=>"completed"!==(e?.status||""));if(s.length){let t=(0,r.formatDependencyBlockedReason)(s),o=n.from("tasks").update({status:"blocked",blocked_reason:t}).eq("id",e.id);i&&(o=o.eq("user_id",i));let{error:a}=await o;if(a&&"42703"!==a.code)throw a;return}if("blocked"===e.status&&(0,r.isDependencyBlockedReason)(e.blocked_reason)){let t=n.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",e.id);i&&(t=t.eq("user_id",i));let{error:r}=await t;if(r&&"42703"!==r.code)throw r}}async function j(e,r){let i=(0,t.createAdminDbClient)().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(e&&(i=i.eq("user_id",e)),r?.project&&(i=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r.project)?i.eq("project_id",r.project):i.eq("project",r.project)),r?.orphan&&(i=i.is("project_id",null)),r?.status&&(i=i.eq("status",r.status)),r?.search){let e=r.search;i=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)?i.or(`id.eq.${e},slug.ilike.%${e}%,title.ilike.%${e}%`):i.or(`id.ilike.%${e}%,slug.ilike.%${e}%,title.ilike.%${e}%`)}let{data:o,error:n}=await i;if(n)throw n;let a=o||[];return r?.orphan?a.filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t}):a}async function k(e,r){let i=(0,t.createAdminDbClient)().from("tasks").select("*").eq("id",e);r&&(i=i.eq("user_id",r));let{data:o,error:n}=await i.single();if(n){if("PGRST116"===n.code)return null;throw n}return o}async function b(e,r){let i=(0,t.createAdminDbClient)().from("tasks").select("*").eq("slug",e);r&&(i=i.eq("user_id",r));let{data:o,error:n}=await i.single();if(n){if("PGRST116"===n.code)return null;throw n}return o}async function v(e,r,n){let a=(0,t.createAdminDbClient)(),{frontmatter:d,body:s}=m(e),l="boolean"==typeof d.swarm?d.swarm:void 0,u=n?.title||h(e),p=String(d.slug||u||"task"),f=await c(p,a),j=n?.projectId||("string"==typeof d.project_id?d.project_id:void 0),b="string"==typeof d.workflow_id?d.workflow_id:void 0,v="string"==typeof d.project?d.project:void 0;if(!v&&j){let e=await E(j);e?.slug&&(v=e.slug)}/^---\n/.test(e);let S="string"==typeof d.provider?d.provider:null,D="string"==typeof d.model?d.model:null,A="string"==typeof d.engine?d.engine:null,P="ai"===d.created_by?"ai":"user",C=g(d.depends_on),q=g(n?.dependsOn),I=q.length>0?q:C,R={id:(0,o.randomUUID)(),content:e,description:y(s),title:u,slug:f,status:d.status||"queued",stage:d.stage||"intake",project:v||null,...void 0!==j?{project_id:j}:{},...void 0!==b?{workflow_id:b}:{},priority:d.priority,engine:A,provider:S,model:D,swarm:l,swarm_models:n?.swarmModels??null,depends_on:I.length?I:null,created_by:P,user_id:r,current_plan:n?.currentPlan||null,open_blockers:n?.openBlockers||[],next_action:n?.nextAction||null,version:1};await _(R.id,I,a);let{data:$,error:T}=await a.from("tasks").insert(R).select().single();if(T&&"42703"===T.code){let{swarm_models:e,swarm:t,workflow_id:r,current_plan:i,open_blockers:o,next_action:n,version:d,depends_on:s,...l}=R;({data:$,error:T}=await a.from("tasks").insert(l).select().single())}if(T)throw T;if(!$)throw Error("Failed to create task");await w($,r);let x=await k($.id,r)||$,N=r||x.user_id;if(N){let e=x.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(x.depends_on)?x.depends_on:[],project:x.project||null,projectId:x.project_id||null,workflowId:x.workflow_id||null,createdBy:x.created_by||null};(0,i.notifyTaskEvent)({taskId:x.id,userId:N,eventType:"task.created",title:x.title||null,slug:x.slug||null,stage:x.stage||null,status:x.status||null,timestamp:e,details:t})}return x}async function S(e,r,o,n){let a=(0,t.createAdminDbClient)(),{frontmatter:d,body:s}=m(r),l="boolean"==typeof d.swarm?d.swarm:void 0,c=h(r),u="string"==typeof d.project_id?d.project_id:void 0,p=Object.prototype.hasOwnProperty.call(d,"provider"),f=Object.prototype.hasOwnProperty.call(d,"model"),j=Object.prototype.hasOwnProperty.call(d,"workflow_id"),b=Object.prototype.hasOwnProperty.call(d,"depends_on"),v=g(d.depends_on),S=g(n?.dependsOn),D=n?.dependsOn!==void 0||b,A=n?.dependsOn!==void 0?S:v,P={content:r,description:y(s),title:c,status:d.status,stage:d.stage,project:d.project,...void 0!==u?{project_id:u}:{},workflow_id:j?d.workflow_id:void 0,priority:d.priority,engine:d.engine,provider:p?d.provider:null,model:f?d.model:null,swarm:l,swarm_models:n?.swarmModels??void 0,...D?{depends_on:A.length?A:null}:{},updated_at:new Date().toISOString(),current_plan:n?.currentPlan??void 0,open_blockers:n?.openBlockers??void 0,next_action:n?.nextAction??void 0};Object.keys(P).forEach(e=>{void 0===P[e]&&delete P[e]}),D&&await _(e,A,a);let C=a.from("tasks").update({...P,version:a.rpc("increment_version")}).eq("id",e);o&&(C=C.eq("user_id",o)),n?.expectedVersion!==void 0&&(C=C.eq("version",n.expectedVersion));let{data:q,error:I}=await a.from("tasks").update({...P}).eq("id",e).select().maybeSingle();if(I&&console.error(`[db.updateTask] error updating task ${e}:`,I),q||I||console.warn(`[db.updateTask] UPDATE returned 0 rows for task ${e}, payload keys:`,Object.keys(P)),I&&"42703"===I.code){let{swarm_models:t,swarm:r,workflow_id:i,current_plan:n,open_blockers:d,next_action:s,version:l,depends_on:c,...u}=P,p=a.from("tasks").update(u).eq("id",e);o&&(p=p.eq("user_id",o)),{data:q,error:I}=await p.select().maybeSingle()}if(I)throw I;if(!q){let t=await k(e,o);if(!t)throw Error(`Task ${e} not found`);return t}await w(q,o);let R=await k(q.id,o)||q,E=o||R.user_id;if(E){let e=R.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(R.depends_on)?R.depends_on:[],project:R.project||null,projectId:R.project_id||null,workflowId:R.workflow_id||null,createdBy:R.created_by||null};(0,i.notifyTaskEvent)({taskId:R.id,userId:E,eventType:"task.created",title:R.title||null,slug:R.slug||null,stage:R.stage||null,status:R.status||null,timestamp:e,details:t})}return R}async function D(e,r,i=25){let o=(0,t.createAdminDbClient)(),{data:n,error:a}=await o.from("tasks").select("run_index").eq("id",e).single();if(a){if(a?.code==="42703")return;throw a}let d=[r,...Array.isArray(n.run_index)?n.run_index:[]].slice(0,i),{error:s}=await o.from("tasks").update({run_index:d}).eq("id",e);if(s){if(s?.code==="42703")return;throw s}}async function A(e,r){let i=(0,t.createAdminDbClient)().from("tasks").delete().eq("id",e);r&&(i=i.eq("user_id",r));let{error:o}=await i;if(o)throw o}async function P(e){let r=(0,t.createAdminDbClient)().from("tasks").select("*").eq("status","queued").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!0}).limit(1);e&&(r=r.eq("engine",e));let{data:i,error:o}=await r.single();if(o){if("PGRST116"===o.code)return null;throw o}return i}async function C(e,r=!1){let i=(0,t.createAdminDbClient)().from("projects").select("*, project_repos(*)");e&&(i=i.eq("user_id",e)),r||(i=i.is("archived_at",null));let{data:o,error:n}=await i;if(n){if(a(n,"projects"))return[];throw n}return(o||[]).map(e=>({...e,repos:e.project_repos??[]}))}async function q(e,r){let i=(0,t.createAdminDbClient)().from("projects").select("*").eq("slug",e);r&&(i=i.eq("user_id",r));let{data:o,error:n}=await i.maybeSingle();if(n){if(a(n,"projects"))return null;throw n}return o||null}async function I(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_repos").select("*").eq("project_id",e);if(o){if(a(o,"project_repos"))return[];throw o}return i||[]}let R=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function E(e,r){let i=(0,t.createAdminDbClient)(),o=R.test(e),n=i.from("projects").select("*");n=o?n.eq("id",e):n.eq("slug",e),r&&(n=n.eq("user_id",r));let d=await n.maybeSingle();if(d.error){if(a(d.error,"projects"))return null;throw d.error}let s=d.data;if(!s)return null;let l=await I(s.id);return{...s,repos:l}}async function $(e,t,r){if(!t.length)return[];let i=t.map(t=>({...t.id?{id:t.id}:{},project_id:e,name:t.name,path:t.path??null,git_url:t.git_url??null,notes:t.notes??null})),{data:o,error:n}=await r.from("project_repos").insert(i).select("*");if(n){if(a(n,"project_repos"))return[];throw n}return o||[]}async function T(e,t,r){if(!t.name?.trim())throw Error("Project name is required");let i=p(r),o=t.name.trim()||"project",n=await u(o,e,i),a={user_id:e,name:t.name.trim(),slug:n,description:t.description??null,workflow_id:t.workflow_id??null},{data:d,error:s}=await i.from("projects").insert(a).select("*").single();if(s)throw s;let l=await $(d.id,t.repos??[],i);return{...d,repos:l}}async function x(e,t,r,i){let o=p(i),n=R.test(e),d=e;if(!n){let r=await q(e,t);if(!r)return null;d=r.id}let s={};if(void 0!==r.name){let e=r.name?.trim();if(!e)throw Error("Project name cannot be empty");s.name=e}if(void 0!==r.slug){let e=r.slug?.trim();e&&(s.slug=e)}if(void 0!==r.description&&(s.description=r.description),void 0!==r.metadata&&(s.metadata=r.metadata),void 0!==r.ci_cd_info&&(s.ci_cd_info=r.ci_cd_info),void 0!==r.workflow_id&&(s.workflow_id=r.workflow_id),Object.keys(s).length){let{error:e}=await o.from("projects").update(s).eq("id",d).eq("user_id",t);if(e)throw e}if(r.repos){let{data:e,error:t}=await o.from("project_repos").select("*").eq("project_id",d);if(t&&!a(t,"project_repos"))throw t;let i=e||[],n=new Set(i.map(e=>e.id)),s=new Set(r.repos.map(e=>e.id).filter(e=>!!e));for(let e of i){if(s.has(e.id))continue;let{error:t}=await o.from("project_repos").delete().eq("id",e.id).eq("project_id",d);if(t&&!a(t,"project_repos"))throw t}for(let e of r.repos){let t={name:e.name,path:e.path??null,git_url:e.git_url??null,notes:e.notes??null,project_id:d};if(e.id&&n.has(e.id)){let{error:r}=await o.from("project_repos").update(t).eq("id",e.id).eq("project_id",d);if(r&&!a(r,"project_repos"))throw r;continue}let{error:r}=await o.from("project_repos").insert({...e.id?{id:e.id}:{},...t});if(r&&!a(r,"project_repos"))throw r}}return E(d,t)}async function N(e,t,r){let i=p(r),{error:o}=await i.from("projects").update({archived_at:new Date().toISOString()}).eq("id",e).eq("user_id",t);if(o)throw o}async function O(e,t,r){let i=p(r),o=await E(e,t);if(!o)throw Error("Project not found");let{data:n,error:a}=await i.from("tasks").select("id, project").eq("user_id",t).is("project_id",null);if(a)throw a;let d=String(o.slug||"").trim().toLowerCase(),s=(n||[]).filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t||t===d}).map(e=>e.id);if(!s.length)return{updatedCount:0,taskIds:[]};let{error:l}=await i.from("tasks").update({project:o.slug,project_id:o.id,updated_at:new Date().toISOString()}).eq("user_id",t).is("project_id",null).in("id",s);if(l)throw l;return{updatedCount:s.length,taskIds:s}}let M="00000000-0000-0000-0000-000000000001",K=[{id:"00000000-0000-0000-0001-000000000001",name:"INTAKE",label:"Intake",prompt:"New task. Triage, scope, and prepare for work.",position:0,node_type:"step"},{id:"00000000-0000-0000-0001-000000000002",name:"PROGRESS",label:"Progress",prompt:"Task is actively being worked on.",position:1,node_type:"step"},{id:"00000000-0000-0000-0001-000000000003",name:"DONE",label:"Done",prompt:"Task completed.",position:2,node_type:"terminal"}],B=new Map(K.map(e=>[e.id,e]));async function F(e){let r=(0,t.createAdminDbClient)(),{error:i}=await r.from("workflows").upsert({id:M,user_id:e||"00000000-0000-0000-0000-000000000000",name:"Default Workflow",definition:{}},{onConflict:"id"});if(i)throw i;let{error:o}=await r.from("workflow_nodes").upsert(K.map(e=>({...e,workflow_id:M,metadata:{}})),{onConflict:"id"});if(o)throw o;let{error:n}=await r.from("workflow_transitions").upsert([{workflow_id:M,from_node_id:"00000000-0000-0000-0001-000000000001",to_node_id:"00000000-0000-0000-0001-000000000002",condition:"done",priority:0,metadata:{}},{workflow_id:M,from_node_id:"00000000-0000-0000-0001-000000000002",to_node_id:"00000000-0000-0000-0001-000000000003",condition:"done",priority:0,metadata:{}}],{onConflict:"workflow_id,from_node_id,condition"});if(n)throw n}async function L(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("workflows").select("*").or(`user_id.eq.${e},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(o){if(a(o,"workflows"))return[];throw o}return i||[]}async function W(e,r){let i=(0,t.createAdminDbClient)().from("workflows").select("*").eq("id",e),{data:o,error:n}=await i.maybeSingle();if(n){if(a(n,"workflows"))return null;throw n}return o}async function U(e,r,i){let o=(0,t.createAdminDbClient)(),n={updated_at:new Date().toISOString()};void 0!==i.definition&&(n.definition=i.definition),void 0!==i.name&&(n.name=i.name),void 0!==i.description&&(n.description=i.description);let{data:a,error:d}=await o.from("workflows").update(n).eq("id",e).select().single();if(d)throw d;return a}async function J(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("workflow_nodes").select("*").eq("workflow_id",e).order("position",{ascending:!0});if(o){if(a(o,"workflow_nodes"))return[];throw o}return i||[]}async function V(e,r,i){let o=(0,t.createAdminDbClient)();if(e===M&&await F(r),!await W(e,r))throw Error("Workflow not found");if(e===M){let t=i.map(t=>{let r=B.get(t.id);return r?{id:t.id,workflow_id:e,name:r.name,label:r.label,position:r.position,node_type:r.node_type,prompt:t.prompt??r.prompt,provider:t.provider??null,model:t.model??null,metadata:t.metadata??{}}:null}).filter(e=>!!e);if(t.length>0){let{error:e}=await o.from("workflow_nodes").upsert(t,{onConflict:"id"});if(e)throw e}return J(e)}return await Promise.all(i.map(async t=>{let r={};if(void 0!==t.prompt&&(r.prompt=t.prompt),void 0!==t.provider&&(r.provider=t.provider),void 0!==t.model&&(r.model=t.model),void 0!==t.metadata&&(r.metadata=t.metadata),0===Object.keys(r).length)return;let{error:i}=await o.from("workflow_nodes").update(r).eq("workflow_id",e).eq("id",t.id);if(i)throw i})),J(e)}async function G(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("workflow_nodes").select("*").eq("workflow_id",e).eq("name",r).maybeSingle();if(n){if(a(n,"workflow_nodes"))return null;throw n}return o}async function z(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("workflow_transitions").select("*").eq("workflow_id",e).order("priority",{ascending:!0});if(o){if(a(o,"workflow_transitions"))return[];throw o}return i||[]}async function H(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("workflow_transitions").select("*").eq("workflow_id",e).eq("from_node_id",r).order("priority",{ascending:!0});if(n){if(a(n,"workflow_transitions"))return[];throw n}return o||[]}async function Q(e,t){let r=await W(e,t);if(!r)return null;let[i,o]=await Promise.all([J(e),z(e)]);return{...r,nodes:i,transitions:o}}async function X(e,r={}){let i=(0,t.createAdminDbClient)(),o=Math.max(1,Math.min(2e3,Number(r.limit??r.tail??500))),n="string"==typeof r.after&&r.after.trim()?r.after.trim():null,a=n?null:void 0===r.tail?o:Number(r.tail),d=null!==a&&Number.isFinite(a)&&a>0,s=i.from("task_logs").select("*").eq("task_id",e);r.nodeId&&(s=s.eq("node_id",r.nodeId)),s=n?s.gt("created_at",n).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o):d?s.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(o):s.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o);let{data:l,error:c}=await s;if(c)throw c;let u=l||[];return n?u:d?u.slice().reverse():u}async function Y(e,r,i,o){let n=(0,t.createAdminDbClient)(),{data:a,error:d}=await n.from("task_logs").insert({task_id:e,content:r,log_type:i,...o?{node_id:o}:{}}).select().single();if(d)throw d;return a}function Z(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,Math.round(t)):0}function ee(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,t):0}async function et(e){let r=(0,t.createAdminDbClient)(),i={task_id:e.taskId,stage:e.stage,provider:e.provider??null,model:e.model??null,input_tokens:Z(e.inputTokens),output_tokens:Z(e.outputTokens),estimated_cost:ee(e.estimatedCost)},{data:o,error:n}=await r.from("task_costs").insert(i).select().single();if(n)throw n;return o}async function er(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("task_costs").select("*").eq("task_id",e).order("created_at",{ascending:!0});if(o)throw o;return i||[]}function ei(e){let t={},r=0,i=0,o=0;for(let n of e){let e=n.stage||"unknown",a=Z(n.input_tokens),d=Z(n.output_tokens),s=ee(n.estimated_cost??0);r+=a,i+=d,o+=s;let l=t[e]||{stage:e,input_tokens:0,output_tokens:0,estimated_cost:0,entries:0};l.input_tokens+=a,l.output_tokens+=d,l.estimated_cost+=s,l.entries+=1,t[e]=l}return{total_input_tokens:r,total_output_tokens:i,total_cost:o,per_stage:Object.values(t).sort((e,t)=>e.stage.localeCompare(t.stage))}}async function eo(e){return ei(await er(e))}async function en(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(o)throw o;return i||[]}async function ea(e,r,i,o){let n=(0,t.createAdminDbClient)(),{data:a,error:d}=await n.from("task_comments").insert({task_id:e,content:r,author_type:i,author_id:o??null}).select().single();if(d)throw d;return a}async function ed(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("task_comments").select("author_id, author_type").eq("id",e).single();if(n)throw n;if(!o)throw Error("Comment not found");if("user"!==o.author_type||o.author_id!==r)throw Error("Unauthorized");let{error:a}=await i.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",e).is("deleted_at",null);if(a)throw a}async function es(e,r,i){if("task"!==e)return n.vaultStore.getLearnings(e,r);let o=(0,t.createAdminDbClient)().from("learnings").select("*").eq("scope",e).order("created_at",{ascending:!1});r&&(o=o.eq("scope_id",r)),i&&(o=o.eq("user_id",i));let{data:a,error:d}=await o;if(d)throw d;return a||[]}async function el(e,r,i,o){if("task"!==e)return n.vaultStore.addLearning(e,r,i);let a=(0,t.createAdminDbClient)(),{data:d,error:s}=await a.from("learnings").insert({scope:e,scope_id:i,content:r,user_id:o}).select().single();if(s)throw s;return d}async function ec(e,r){if("global-playbook"===e)return void n.vaultStore.deleteLearning(e,"global");let i=await E(e,r);if(i)return void n.vaultStore.deleteLearning(e,"project",i.id);let o=(0,t.createAdminDbClient)().from("learnings").delete().eq("id",e);r&&(o=o.eq("user_id",r));let{error:a}=await o;if(a)throw a}async function eu(e,r){let i=(0,t.createAdminDbClient)().from("stage_prompts").select("*").eq("workflow_id",r).order("stage",{ascending:!0});i=e?i.or(`user_id.eq.${e},is_default.eq.true`):i.eq("is_default",!0);let{data:o,error:n}=await i;if(n)throw n;return o||[]}async function ep(e,r,i){let o=(0,t.createAdminDbClient)();if(r){let{data:t}=await o.from("stage_prompts").select("*").eq("workflow_id",i).eq("stage",e).eq("user_id",r).single();if(t)return t}let{data:n}=await o.from("stage_prompts").select("*").eq("workflow_id",i).eq("stage",e).eq("is_default",!0).single();return n||null}async function ef(e,r,i=[],o,n,a){let d=(0,t.createAdminDbClient)(),s={stage:e,prompt:r,outputs:i,user_id:o,is_default:!o,workflow_id:a};n&&(void 0!==n.swarm&&(s.swarm=n.swarm),void 0!==n.provider&&(s.provider=n.provider),void 0!==n.model&&(s.model=n.model),void 0!==n.swarm_models&&(s.swarm_models=n.swarm_models));let{data:l,error:c}=await d.from("stage_prompts").upsert(s,{onConflict:o?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(c)throw c;return l}async function eg(e,r){let i=(0,t.createAdminDbClient)().from("stage_prompts").delete().eq("id",e);r&&(i=i.eq("user_id",r));let{error:o}=await i;if(o)throw o}async function em(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("agents").select("*").eq("user_id",e).order("created_at",{ascending:!1});if(o){if(a(o,"agents"))return[];throw o}return i||[]}async function e_(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("agents").select("*").eq("id",e).eq("user_id",r).maybeSingle();if(n){if("PGRST116"===n.code||a(n,"agents"))return null;throw n}return o}async function eh(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("agent_skills").select("*").eq("agent_id",e).order("created_at",{ascending:!0});if(o){if(a(o,"agent_skills"))return[];throw o}return i||[]}async function ey(e,r){let i=(0,t.createAdminDbClient)(),o=new Map;for(let t of r){let r=t.file.trim();r&&o.set(r,{agent_id:e,file:r,condition:t.condition?.trim()||null})}let n=await eh(e);for(let t of n)if(!o.has(t.file)){let{error:r}=await i.from("agent_skills").delete().eq("agent_id",e).eq("file",t.file);if(r&&!a(r,"agent_skills"))throw r}for(let t of o.values()){let r=n.find(e=>e.file===t.file);if(!r){let{error:e}=await i.from("agent_skills").insert(t);if(e&&!a(e,"agent_skills"))throw e;continue}if((r.condition??null)!==t.condition){let{error:r}=await i.from("agent_skills").update({condition:t.condition}).eq("agent_id",e).eq("file",t.file);if(r&&!a(r,"agent_skills"))throw r}}return eh(e)}async function ew(e,r){let i=(0,t.createAdminDbClient)(),o={user_id:e,name:r.name,style:r.style,description:r.description??null};void 0!==r.id&&(o.id=r.id),void 0!==r.title&&(o.title=r.title),void 0!==r.voice&&(o.voice=r.voice),void 0!==r.seed&&(o.seed=r.seed),void 0!==r.model&&(o.model=r.model),void 0!==r.provider&&(o.provider=r.provider),void 0!==r.color&&(o.color=r.color);let{data:n,error:d}=await i.from("agents").insert(o).select().single();if(d){if(a(d,"agents"))throw Error("Agents table does not exist");throw d}return n}async function ej(e,r,i){let o=(0,t.createAdminDbClient)(),n={updated_at:new Date().toISOString()};if(void 0!==i.name&&(n.name=i.name),void 0!==i.title&&(n.title=i.title),void 0!==i.style&&(n.style=i.style),void 0!==i.description&&(n.description=i.description),void 0!==i.voice&&(n.voice=i.voice),void 0!==i.seed&&(n.seed=i.seed),void 0!==i.model&&(n.model=i.model),void 0!==i.provider&&(n.provider=i.provider),void 0!==i.color&&(n.color=i.color),1===Object.keys(n).length)return e_(e,r);let{data:d,error:s}=await o.from("agents").update(n).eq("id",e).eq("user_id",r).select().single();if(s){if("PGRST116"===s.code||a(s,"agents"))return null;throw s}return d}async function ek(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("agents").delete().eq("id",e).eq("user_id",r);if(o&&!a(o,"agents"))throw o}async function eb(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_agents").select("*").eq("project_id",e).order("routing_order",{ascending:!0});if(o){if(a(o,"project_agents"))return[];throw o}return i||[]}async function ev(e,r,i){let o=(0,t.createAdminDbClient)();if(void 0===i){let{data:t}=await o.from("project_agents").select("routing_order").eq("project_id",e).order("routing_order",{ascending:!1}).limit(1);i=(t?.[0]?.routing_order??-1)+1}let{data:n,error:a}=await o.from("project_agents").upsert({project_id:e,agent_id:r,routing_order:i}).select().single();if(a)throw a;return n}async function eS(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("project_agents").delete().eq("project_id",e).eq("agent_id",r);if(o)throw o}async function eD(e,r){let i=(0,t.createAdminDbClient)();for(let t=0;t<r.length;t++)await i.from("project_agents").update({routing_order:t}).eq("project_id",e).eq("agent_id",r[t]);return eb(e)}async function eA(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("teams").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(a(o,"teams"))return[];throw o}return(i||[]).map(e=>({...e,metadata:"string"==typeof e.metadata?JSON.parse(e.metadata):e.metadata||{}}))}async function eP(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("teams").select("*").eq("id",e).limit(1).single();if(o){if("PGRST116"===o.code||a(o,"teams"))return null;throw o}return i?{...i,metadata:"string"==typeof i.metadata?JSON.parse(i.metadata):i.metadata||{}}:null}async function eC(e,r,i,n){let a=(0,t.createAdminDbClient)(),d=(0,o.randomUUID)(),s=new Date().toISOString(),{data:l,error:c}=await a.from("teams").insert({id:d,project_id:e,name:r,template_id:i||null,metadata:JSON.stringify(n||{}),created_at:s,updated_at:s}).select().single();if(c)throw c;return{...l,metadata:"string"==typeof l.metadata?JSON.parse(l.metadata):l.metadata||{}}}async function eq(e,r){let i=(0,t.createAdminDbClient)(),o={};void 0!==r.name&&(o.name=r.name),void 0!==r.metadata&&(o.metadata=JSON.stringify(r.metadata));let{data:n,error:a}=await i.from("teams").update(o).eq("id",e).select().single();if(a){if("PGRST116"===a.code)return null;throw a}return{...n,metadata:"string"==typeof n.metadata?JSON.parse(n.metadata):n.metadata||{}}}async function eI(e){let r=(0,t.createAdminDbClient)(),{error:i}=await r.from("teams").delete().eq("id",e);if(i)throw i}async function eR(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("team_agents").select("*").eq("team_id",e).order("routing_order",{ascending:!0});if(o){if(a(o,"team_agents"))return[];throw o}return i||[]}async function eE(e,r,i,o){let n=(0,t.createAdminDbClient)();if(void 0===o){let{data:t}=await n.from("team_agents").select("routing_order").eq("team_id",e).order("routing_order",{ascending:!1}).limit(1);o=(t?.[0]?.routing_order??-1)+1}let{data:a,error:d}=await n.from("team_agents").upsert({team_id:e,agent_id:r,role_key:i,routing_order:o}).select().single();if(d)throw d;return a}async function e$(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("team_agents").delete().eq("team_id",e).eq("agent_id",r);if(o)throw o}async function eT(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_skills").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(a(o,"project_skills"))return[];throw o}return i||[]}async function ex(e,r,i){let o=(0,t.createAdminDbClient)(),{data:n,error:a}=await o.from("project_skills").insert({project_id:e,file:r,condition:i??null}).select().single();if(a)throw a;return n}async function eN(e){let r=(0,t.createAdminDbClient)(),{error:i}=await r.from("project_skills").delete().eq("id",e);if(i)throw i}async function eO(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_variables").select("*").eq("project_id",e);if(o){if(a(o,"project_variables"))return[];throw o}return i||[]}async function eM(e,r,i){let o=(0,t.createAdminDbClient)(),{data:n,error:a}=await o.from("project_variables").upsert({project_id:e,key:r,value:i}).select().single();if(a)throw a;return n}async function eK(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("project_variables").delete().eq("project_id",e).eq("key",r);if(o)throw o}async function eB(e,t){return n.vaultStore.getProjectMemory(e)}async function eF(e,t,r,i="human"){return n.vaultStore.addProjectMemory(e,t,r,i)}async function eL(e){n.vaultStore.deleteProjectMemory(e)}async function eW(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_threads").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(a(o,"project_threads"))return[];throw o}return i||[]}async function eU(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("project_threads").upsert({project_id:e,thread_id:r},{onConflict:"project_id,thread_id",ignoreDuplicates:!0});if(o)throw o;let{data:n,error:a}=await i.from("project_threads").select("*").eq("project_id",e).eq("thread_id",r).single();if(a)throw a;return n}async function eJ(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("project_threads").delete().eq("project_id",e).eq("thread_id",r);if(o)throw o}async function eV(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_threads").select("project_id").eq("thread_id",e).maybeSingle();return o?(a(o,"project_threads"),null):i?.project_id??null}function eG(e,t){let r=[],i=new Set;for(let t of e){let e=t.file.split("/").pop()||t.file;i.add(e),r.push({file:t.file,condition:t.condition,source:"agent"})}for(let e of t){let t=e.file.split("/").pop()||e.file;i.has(t)||r.push({file:e.file,condition:e.condition??void 0,source:"project"})}return r}function ez(e,t){let r=[];for(let e of t)r.push({content:e.content,source:"project",id:e.id});for(let t of e)r.push({content:t.content,source:"agent",id:t.id});return r}async function eH(e){return(await eO(e)).map(e=>({key:e.key,value:e.value,source:"project"}))}async function eQ(e,t,r,i){let o=await eT(t),n=await eB(t),a=await eH(t);return{skills:eG(r,o),memory:ez(i,n),variables:a}}e.s(["DEFAULT_WORKFLOW_ID",0,"00000000-0000-0000-0000-000000000001","addLearning",0,el,"addProjectAgent",0,ev,"addProjectMemory",0,eF,"addProjectSkill",0,ex,"addProjectThread",0,eU,"addTaskComment",0,ea,"addTaskCostEntry",0,et,"addTaskLog",0,Y,"addTeamAgent",0,eE,"appendRunToIndex",0,D,"assignOrphanTasksToProject",0,O,"buildExecutionProvenance",0,eQ,"createAgent",0,ew,"createProject",0,T,"createTask",0,v,"createTeam",0,eC,"defaultStagePrompts",0,{INTAKE:{prompt:"New task. Triage, scope, and prepare for work.",outputs:[],swarm:!1},PROGRESS:{prompt:"Task is actively being worked on.",outputs:[],swarm:!1},DONE:{prompt:"Task completed.",outputs:[],swarm:!1}},"deleteAgent",0,ek,"deleteLearning",0,ec,"deleteProject",0,N,"deleteProjectMemory",0,eL,"deleteProjectVariable",0,eK,"deleteStagePrompt",0,eg,"deleteTask",0,A,"deleteTaskComment",0,ed,"deleteTeam",0,eI,"ensureNoCircularDependency",0,_,"extractTitle",0,h,"getAgent",0,e_,"getAgentSkills",0,eh,"getAgents",0,em,"getDefaultWorkflowId",0,function(){return M},"getLearnings",0,es,"getNextQueuedTask",0,P,"getProjectAgents",0,eb,"getProjectBySlug",0,q,"getProjectForThread",0,eV,"getProjectMemory",0,eB,"getProjectRepos",0,I,"getProjectSkills",0,eT,"getProjectThreads",0,eW,"getProjectVariables",0,eO,"getProjectWithRepos",0,E,"getProjects",0,C,"getStagePrompt",0,ep,"getStagePrompts",0,eu,"getTask",0,k,"getTaskBySlug",0,b,"getTaskComments",0,en,"getTaskCostEntries",0,er,"getTaskCostSummary",0,eo,"getTaskLogs",0,X,"getTasks",0,j,"getTeam",0,eP,"getTeamAgents",0,eR,"getTeams",0,eA,"getUserSettings",0,d,"getWorkflow",0,W,"getWorkflowNodeByName",0,G,"getWorkflowNodes",0,J,"getWorkflowTransitions",0,z,"getWorkflowTransitionsFromNode",0,H,"getWorkflowWithGraph",0,Q,"getWorkflows",0,L,"parseFrontmatter",0,m,"removeProjectAgent",0,eS,"removeProjectSkill",0,eN,"removeProjectThread",0,eJ,"removeTeamAgent",0,e$,"reorderProjectAgents",0,eD,"resolveMemory",0,ez,"resolveSkills",0,eG,"resolveTaskConfig",0,function(t,r,i){let o=e=>"string"!=typeof e?null:e.trim()||null,n=null;try{let t=e.r(522734),r=e.r(814747).join(process.env.HOME||"",".agx","config.json"),i=JSON.parse(t.readFileSync(r,"utf-8"));n=o(i?.defaultProvider)||null}catch{}let a=o(i?.default_provider)||n||"claude",d=o(t.provider)||o(r?.provider)||a,s=o(i?.models?.[d])||null,l=o(t.model)||o(r?.model)||s||null;return{provider:d,model:l,swarm:t.swarm??r?.swarm??!1,swarm_models:t.swarm_models?.length?t.swarm_models:r?.swarm_models||[]}},"resolveVariables",0,eH,"setAgentSkills",0,ey,"setProjectVariable",0,eM,"summarizeTaskCosts",0,ei,"updateAgent",0,ej,"updateProject",0,x,"updateTask",0,S,"updateTeam",0,eq,"updateWorkflow",0,U,"updateWorkflowNodes",0,V,"upsertStagePrompt",0,ef,"upsertUserSettings",0,s])}];
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=apps_local_lib_00cwfvi._.js.map
|