@mndrk/agx 2.0.47 → 2.0.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +13 -7
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +14 -6
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +13 -5
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +3 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +3 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +3 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +3 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +3 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +3 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +4 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/folders.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/folders.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/folders.segments/folders.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__015d40a6._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a300f072._.js → [root-of-the-server]__02a4a323._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__05dedbe1._.js +64 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4ce74056._.js → [root-of-the-server]__05f0bfbf._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c22dd3a6._.js → [root-of-the-server]__08c82fe8._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3fae531a._.js → [root-of-the-server]__09e37b59._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1a1f66b1._.js → [root-of-the-server]__0e83aabc._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__27da58f0._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9ffa67b7._.js → [root-of-the-server]__2ae8b938._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2cfd21b8._.js +108 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__37844df7._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d9f2041b._.js → [root-of-the-server]__3a93931b._.js} +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f9f7f2df._.js → [root-of-the-server]__3c1403f2._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__143fdf69._.js → [root-of-the-server]__40e9e2e8._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42e602eb._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a7b2350e._.js → [root-of-the-server]__456840d0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5c2848bb._.js +64 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__667c658f._.js +52 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6a92b882._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c9baa7c._.js +64 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c21747df._.js → [root-of-the-server]__719eddc2._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__36d15de5._.js → [root-of-the-server]__7ee3dfe1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d324f8a1._.js → [root-of-the-server]__80964fad._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__bab85495._.js → [root-of-the-server]__862cf77d._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a280fa63._.js → [root-of-the-server]__8b5b9860._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3170b7bf._.js → [root-of-the-server]__8d475640._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__958dded3._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ab655b9f._.js → [root-of-the-server]__96c424d5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5c55f67a._.js → [root-of-the-server]__976ebe46._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__179cb224._.js → [root-of-the-server]__a1cab8fe._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__20a2cb22._.js → [root-of-the-server]__a31dd756._.js} +9 -9
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a3955224._.js → [root-of-the-server]__ad53dc3f._.js} +17 -17
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ac6326b6._.js → [root-of-the-server]__b8eeb177._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__fcfa3690._.js → [root-of-the-server]__c10e827d._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e58e9f91._.js → [root-of-the-server]__c11e0040._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c40b6f69._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c7d3c7ab._.js +52 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__cdc52544._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8cbd8c56._.js → [root-of-the-server]__d1c698b6._.js} +12 -12
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d9ea98bd._.js +52 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ef27f8cd._.js → [root-of-the-server]__df886e3c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ca4987eb._.js → [root-of-the-server]__e0b6f424._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c8890cd6._.js → [root-of-the-server]__f43ecbc2._.js} +13 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f51c7b72._.js +5 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f662fd1e._.js +20 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__538b0bdd._.js → [root-of-the-server]__f961230c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b627cb83._.js → [root-of-the-server]__feec5b54._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d16caed5._.js → [root-of-the-server]__ff6ce4b1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9ce15e._.js +5 -0
- package/cloud-runtime/standalone/.next/server/chunks/_26ffc857._.js +121 -0
- package/cloud-runtime/standalone/.next/server/chunks/_4d07f8db._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_66d0cf73._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_9b10087f._.js +3 -2
- package/cloud-runtime/standalone/.next/server/chunks/_a13c0bef._.js +121 -0
- package/cloud-runtime/standalone/.next/server/chunks/{lib_98ae187c._.js → lib_2cd3429c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/lib_a2a83df5._.js +55 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_a658c9ef._.js +34 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_ba38ea08._.js +55 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_orchestrator_chat-processor_ts_4c335719._.js +27 -29
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +6 -102
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_schedule-runner_ts_43a13c69._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b2a2b86._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__32546242._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ff9ead4._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f2c3b7ab._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f59f0dc7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__d96bb3b5._.js → [root-of-the-server]__fbe1ab4a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1e9b9b1e._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_24fe6213._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_36a0c486._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_3b21d3b2._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_3eeac8f9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_48db42b7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_59f30a73._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_7d3b0032._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_916950b3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_b598ae8a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cc8c8302._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_d972a4e1._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd7bb6fb._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd9880fb._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f02d786a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fd8cafe9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_linear_page_tsx_971a6ba7._.js +15 -12
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_54bf563f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/04c135686161dbb1.js +40 -0
- package/cloud-runtime/standalone/.next/static/chunks/0d63db0c39c0a3b2.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/136ed07d84b14632.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/18866ed04ed3a063.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{ccaf68956da192f8.js → 1bb38e61d891453c.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/2c7c8259c2b56bf5.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2da1f13d50dc4e54.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/5545da2ad239c0b6.js +3 -0
- package/cloud-runtime/standalone/.next/static/chunks/{41c518743656a291.js → 5f33b52d582b0bb4.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{97c11137cd6fc860.js → 64c2961edd3a3b13.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{db131a0b6350e416.js → 692ce04abdbb3970.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/83be8569d298c6b0.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/87b3afe828c8cc52.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{4343e7fe5bf5f34a.js → 9328740727c6456d.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/95d47e285ae9c031.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/b9bf5d3ee92a1313.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/ea35fb870141bcff.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f59722264449b61c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f727d2c8f039511d.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{31fe4e36a00fd7b5.js → f8706212baa8ec67.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/fd823c9d1381335d.js +1 -0
- package/cloud-runtime/standalone/app/api/chat/route.ts +5 -163
- package/cloud-runtime/standalone/app/api/schedules/route.ts +11 -2
- package/cloud-runtime/standalone/app/automations/page.tsx +11 -1
- package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +11 -1
- package/cloud-runtime/standalone/components/LinearBoard.tsx +118 -21
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +10 -13
- package/cloud-runtime/standalone/components/linear/RunScriptManager.tsx +356 -0
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +35 -0
- package/cloud-runtime/standalone/hooks/useLinearRunScripts.ts +115 -0
- package/cloud-runtime/standalone/lib/chat/project-context.ts +169 -0
- package/cloud-runtime/standalone/lib/linear-client.ts +33 -3
- package/cloud-runtime/standalone/lib/linear-execution-prompt.ts +92 -15
- package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +2 -0
- package/cloud-runtime/standalone/lib/orchestrator/schedule-runtime.ts +76 -0
- package/cloud-runtime/standalone/src/graph/internal-function-dispatcher.ts +201 -16
- package/cloud-runtime/standalone/src/graph/work-dispatcher.ts +128 -35
- package/cloud-runtime/standalone/state/automations/.state/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.json +8 -0
- package/cloud-runtime/standalone/state/automations/active/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.md +15 -0
- package/cloud-runtime/standalone/state/linearRunScripts.test.ts +99 -0
- package/cloud-runtime/standalone/state/linearRunScripts.ts +132 -0
- package/cloud-runtime/standalone/state/windowState.ts +21 -0
- package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
- package/cloud-runtime/standalone/vault/agx/issues/ESO-327/design-doc.md +202 -0
- package/cloud-runtime/standalone/worker/index.js +34516 -1717
- package/cloud-runtime/standalone/worker/index.ts +3 -0
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1154e5b3._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__152b2000._.js +0 -61
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__33865410._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c53437e._.js +0 -110
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6dbe939c._.js +0 -49
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7012e83d._.js +0 -66
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__76290829._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ad6d6402._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da645a5e._.js +0 -15
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b3df16._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_2a5aeb76._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_4689976f._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/_682c9d81._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/_6e7f0ae4._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/_a32a5cdd._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/_af7bd752._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_fe32a267._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/lib_2492d514._.js +0 -55
- package/cloud-runtime/standalone/.next/server/chunks/lib_3c080873._.js +0 -34
- package/cloud-runtime/standalone/.next/server/chunks/lib_9f439b27._.js +0 -70
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_12d46a92._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__21a9eaef._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__69887882._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__9ad05ace._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bb149a22._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_11ce4c04._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1d949e96._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_32a156b6._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_43c091dc._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_45175f47._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_4f0c544d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_69164b06._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_7f7a828a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_97f6a18e._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a511a014._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_c3a3a829._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cee3cf86._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e8bdedc5._.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/14fff3c493ea9c54.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/2a9c83f8211196e0.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5405540470146645.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/69f2db4b9996b9c1.js +0 -37
- package/cloud-runtime/standalone/.next/static/chunks/8aeb69ceb497ad85.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/a9da98f883ac833b.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b2127dc67c5ade9f.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/baf5d39d089efb87.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/bf2a2fafb710e63c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/c78969fde5798275.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/d3dc6fadb96ab3a2.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/fdadad2379039dce.js +0 -3
- package/cloud-runtime/standalone/state/automations/.state/24a6a5db-3b14-49c4-841f-29f10f015fbb.json +0 -8
- package/cloud-runtime/standalone/state/automations/active/24a6a5db-3b14-49c4-841f-29f10f015fbb.md +0 -17
- /package/cloud-runtime/standalone/.next/static/{lOB5InbmVcurTLQo9J3KK → ZkFZnP5h74O7GgdHudXgH}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{lOB5InbmVcurTLQo9J3KK → ZkFZnP5h74O7GgdHudXgH}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{lOB5InbmVcurTLQo9J3KK → ZkFZnP5h74O7GgdHudXgH}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
module.exports=[522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},942969,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let s=Object.values(r);return s.length>0?s[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function s(e,t){e.exec(`PRAGMA ${t}`)}function o(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function n(e,t){return(...r)=>{e.exec("BEGIN");try{let s=t(...r);return e.exec("COMMIT"),s}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>s,"transaction",()=>o,"transactionFn",()=>n])},828237,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(942969);e.i(522734);var r=e.i(446786),s=e.i(814747);let o="3.35.0",n=["json1"],i=["fts5"],a=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function d(d,u){let c=[],p=d.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),s=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(s[e]||0);if(0!==t)return t}return 0}(p.v,o)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${o}`,found:p.v,required:`>= ${o}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),n))l(d,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of i)l(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let o=s.default.resolve(t),{execSync:n}=e.r(233405);if("darwin"===r.default.platform()){let e=n(`df -T "${o}" 2>/dev/null || df "${o}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(u);h&&a.some(e=>h.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${u}' is on a network filesystem (${h})`,path:u,found:h,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(d,"journal_mode = wal"),(0,t.pragmaSet)(d,"foreign_keys = 1"),(0,t.pragmaSet)(d,"busy_timeout = 5000"),(0,t.pragmaSet)(d,"synchronous = 1"),(0,t.pragmaSet)(d,"cache_size = -64000");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(d,"journal_mode = DELETE");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(d,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>d])},648392,e=>{"use strict";var t=e.i(65768);function r(e){return t.vaultStore.listKnowledgeEntries(e)}function s(e){return t.vaultStore.storeKnowledgeEntries(e)}e.s(["listKnowledgeEntries",()=>r,"storeKnowledgeEntries",()=>s])},40793,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),r=e.i(942969),s=e.i(666680);let o={randomUUID:s.randomUUID},n=new Uint8Array(256),i=n.length,a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));let l=function(e,t,r){if(o.randomUUID&&!t&&!e)return o.randomUUID();var l=e,d=r;let u=(l=l||{}).random??l.rng?.()??(i>n.length-16&&((0,s.randomFillSync)(n),i=0),n.slice(i,i+=16));if(u.length<16)throw Error("Random bytes length must be >= 16");if(u[6]=15&u[6]|64,u[8]=63&u[8]|128,t){if((d=d||0)<0||d+16>t.length)throw RangeError(`UUID byte range ${d}:${d+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[d+e]=u[e];return t}return function(e,t=0){return(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase()}(u)};var d=e.i(814747),u=e.i(522734),c=e.i(446786),p=e.i(828237);process.env.AGX_MAX_WORKERS;class h{timestamps=[];lastWarning=0;WARNING_COOLDOWN_MS=6e4;record(){this.timestamps.push(Date.now())}check(){let e=Date.now(),t=e-1e4;this.timestamps=this.timestamps.filter(e=>e>=t);let r=this.timestamps.length/10,s=r>=40;return s&&e-this.lastWarning>this.WARNING_COOLDOWN_MS&&(this.lastWarning=e,console.warn(`[limits] Write QPS at ${r.toFixed(1)} — approaching ceiling of 50. See docs/LIMITS.md for mitigation steps.`)),{qps:r,warning:s}}}var g=e.i(157306);let f=process.env.AGX_DATA_DIR||d.default.join(c.default.homedir(),".agx");function m(){let e=Number(process.env.AGX_QUEUE_STALE_MS);return Number.isFinite(e)&&e>0?e:6e5}class _{db;workers=new Map;pollingInterval=null;writeRateInterval=null;writeMonitor=new h;workerId;constructor(e){this.workerId=l();const r=e||process.env.SQLITE_QUEUE_PATH||d.default.join(f,"agx-queue.db"),s=d.default.dirname(r);u.default.existsSync(s)||u.default.mkdirSync(s,{recursive:!0}),this.db=new t.DatabaseSync(r);const o=(0,p.validateSQLiteEnvironment)(this.db,r);if(o.length>0){const e=o.map(e=>e.message).join("; ");console.error(`[SQLiteQueueAdapter] Startup validation failed: ${e}`)}}async start(){this.initSchema(),this.startPolling()}async stop(){this.stopPolling(),this.db.close()}initSchema(){this.db.exec(`
|
|
2
|
+
CREATE TABLE IF NOT EXISTS agx_jobs (
|
|
3
|
+
id TEXT PRIMARY KEY,
|
|
4
|
+
queue TEXT NOT NULL,
|
|
5
|
+
data TEXT NOT NULL,
|
|
6
|
+
status TEXT NOT NULL CHECK(status IN ('pending', 'active', 'completed', 'failed', 'retry')),
|
|
7
|
+
created_at INTEGER NOT NULL,
|
|
8
|
+
start_after INTEGER NOT NULL DEFAULT 0,
|
|
9
|
+
started_at INTEGER,
|
|
10
|
+
completed_at INTEGER,
|
|
11
|
+
failed_at INTEGER,
|
|
12
|
+
worker_id TEXT,
|
|
13
|
+
retry_count INTEGER DEFAULT 0,
|
|
14
|
+
retry_limit INTEGER DEFAULT 0,
|
|
15
|
+
priority INTEGER DEFAULT 0,
|
|
16
|
+
error TEXT
|
|
17
|
+
);
|
|
18
|
+
CREATE INDEX IF NOT EXISTS idx_jobs_fetch ON agx_jobs (queue, status, start_after, priority DESC, created_at ASC);
|
|
19
|
+
`);let e=new Set((0,r.pragmaAll)(this.db,"table_info(agx_jobs)").map(e=>e.name));e.has("failed_at")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN failed_at INTEGER"),e.has("error")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN error TEXT")}async send(e,t,r){let s=l(),o=Date.now(),n=r?.startAfter?r.startAfter instanceof Date?r.startAfter.getTime():r.startAfter:o;return this.db.prepare(`
|
|
20
|
+
INSERT INTO agx_jobs (
|
|
21
|
+
id, queue, data, status, created_at, start_after, retry_limit, priority
|
|
22
|
+
) VALUES (?, ?, ?, 'pending', ?, ?, ?, ?)
|
|
23
|
+
`).run(s,e,JSON.stringify(t),o,n,r?.retryLimit??3,r?.priority??0),this.writeMonitor.record(),(0,g.writeDebugLog)("queue.send",{queue:e,jobId:s,startAfter:n,retryLimit:r?.retryLimit??3,priority:r?.priority??0,data:t}),s}async work(e,t,r){(0,g.writeDebugLog)("queue.worker.register",{queue:e,batchSize:r?.batchSize??1,pollInterval:r?.pollInterval??null,workerId:this.workerId}),this.workers.set(e,{handler:t,options:r||{},running:!0})}startPolling(){this.pollingInterval||(this.pollingInterval=setInterval(()=>this.poll(),1e3),this.writeRateInterval=setInterval(()=>this.writeMonitor.check(),1e4))}stopPolling(){this.pollingInterval&&(clearInterval(this.pollingInterval),this.pollingInterval=null),this.writeRateInterval&&(clearInterval(this.writeRateInterval),this.writeRateInterval=null)}poll(){for(let[e,t]of this.workers)t.running&&this.processQueue(e,t)}processQueue(e,t){let s=t.options.batchSize||1,o=Date.now(),n=o-m(),i=(0,r.transaction)(this.db,()=>{let t=this.reapStaleJobs(e,o,n);t.length>0&&(0,g.writeDebugLog)("queue.reap_stale",{queue:e,workerId:this.workerId,staleBefore:n,jobs:t});let r=this.db.prepare(`
|
|
24
|
+
SELECT id, data FROM agx_jobs
|
|
25
|
+
WHERE queue = ?
|
|
26
|
+
AND (status = 'pending' OR status = 'retry')
|
|
27
|
+
AND start_after <= ?
|
|
28
|
+
ORDER BY priority DESC, created_at ASC
|
|
29
|
+
LIMIT ?
|
|
30
|
+
`).all(e,o,s);if(0===r.length)return[];let i=r.map(e=>e.id),a=this.db.prepare(`
|
|
31
|
+
UPDATE agx_jobs
|
|
32
|
+
SET status = 'active', started_at = ?, worker_id = ?
|
|
33
|
+
WHERE id = ?
|
|
34
|
+
`);for(let e of i)a.run(o,this.workerId,e);return r.map(t=>({id:t.id,name:e,data:JSON.parse(t.data)}))});i.length>0&&((0,g.writeDebugLog)("queue.claim",{queue:e,workerId:this.workerId,jobIds:i.map(e=>e.id)}),this.executeJobs(i,t.handler))}async executeJobs(e,t){try{await t(e),this.completeJobs(e.map(e=>e.id)),(0,g.writeDebugLog)("queue.complete",{jobIds:e.map(e=>e.id)})}catch(t){this.failJobs(e.map(e=>e.id),t.message||String(t)),(0,g.writeDebugLog)("queue.fail",{jobIds:e.map(e=>e.id),error:t})}}completeJobs(e){let t=Date.now(),s=this.db.prepare(`
|
|
35
|
+
UPDATE agx_jobs
|
|
36
|
+
SET status = 'completed', completed_at = ?, worker_id = NULL
|
|
37
|
+
WHERE id = ?
|
|
38
|
+
`);(0,r.transaction)(this.db,()=>{for(let r of e)s.run(t,r)})}failJobs(e,t){let s=Date.now(),o=this.db.prepare(`
|
|
39
|
+
SELECT id, retry_count, retry_limit FROM agx_jobs WHERE id = ?
|
|
40
|
+
`),n=this.db.prepare(`
|
|
41
|
+
UPDATE agx_jobs
|
|
42
|
+
SET status = 'retry', retry_count = retry_count + 1,
|
|
43
|
+
start_after = ? + (retry_count * 1000 * 2), -- Exponential backoff (kinda)
|
|
44
|
+
started_at = NULL,
|
|
45
|
+
worker_id = NULL,
|
|
46
|
+
error = ?
|
|
47
|
+
WHERE id = ?
|
|
48
|
+
`),i=this.db.prepare(`
|
|
49
|
+
UPDATE agx_jobs
|
|
50
|
+
SET status = 'failed', failed_at = ?, started_at = NULL, worker_id = NULL, error = ?
|
|
51
|
+
WHERE id = ?
|
|
52
|
+
`);(0,r.transaction)(this.db,()=>{for(let r of e){let e=o.get(r);if(e&&e.retry_count<e.retry_limit){let o=(e.retry_count+1)*2e3;n.run(s+o,t,r)}else i.run(s,t,r)}})}reapStaleJobs(e,t,r){let s=this.db.prepare(`
|
|
53
|
+
SELECT id, retry_count, retry_limit
|
|
54
|
+
FROM agx_jobs
|
|
55
|
+
WHERE queue = ?
|
|
56
|
+
AND status = 'active'
|
|
57
|
+
AND started_at IS NOT NULL
|
|
58
|
+
AND started_at <= ?
|
|
59
|
+
ORDER BY started_at ASC
|
|
60
|
+
`).all(e,r);if(0===s.length)return[];let o=this.db.prepare(`
|
|
61
|
+
UPDATE agx_jobs
|
|
62
|
+
SET status = 'retry',
|
|
63
|
+
retry_count = retry_count + 1,
|
|
64
|
+
start_after = ?,
|
|
65
|
+
started_at = NULL,
|
|
66
|
+
worker_id = NULL,
|
|
67
|
+
error = ?
|
|
68
|
+
WHERE id = ?
|
|
69
|
+
`),n=this.db.prepare(`
|
|
70
|
+
UPDATE agx_jobs
|
|
71
|
+
SET status = 'failed',
|
|
72
|
+
failed_at = ?,
|
|
73
|
+
started_at = NULL,
|
|
74
|
+
worker_id = NULL,
|
|
75
|
+
error = ?
|
|
76
|
+
WHERE id = ?
|
|
77
|
+
`),i=[];for(let e of s){let r=`Job exceeded active timeout of ${m()}ms`;e.retry_count<e.retry_limit?(o.run(t,r,e.id),i.push({id:e.id,fromStatus:"active",toStatus:"retry",retryCount:e.retry_count+1})):(n.run(t,r,e.id),i.push({id:e.id,fromStatus:"active",toStatus:"failed",retryCount:e.retry_count}))}return i}}let S=null;async function E(){return S||(S=new _,await S.start()),S}async function w(){S&&(await S.stop(),S=null)}e.s(["QUEUE_NAMES",0,{TASK_PROCESS:"agx.task.process",CHAT_RUN_PROCESS:"agx.chat.process",TASK_CLEANUP:"agx.task.cleanup"},"getQueue",()=>E,"stopQueue",()=>w],40793)},79580,96883,e=>{"use strict";var t=e.i(699904),r=e.i(902157),s=e.i(965196),o=e.i(750227),n=e.i(874533);function i(e){return e.replace(/\s+/g," ").trim()}async function a(e){return(0,s.getSQLiteDb)().prepare("SELECT agent_id, repo, skill_id, condition, created_at FROM agent_skill_bindings WHERE agent_id = ? ORDER BY created_at ASC").all(e).map(e=>({repo:e.repo,skillId:e.skill_id,...e.condition?{condition:e.condition}:{}}))}function l(e){return e.toLowerCase().replace(/[^a-z0-9]+/g," ").replace(/\s+/g," ").trim()}function d(e){let t=new Set,r=[];for(let s of l(e).split(" "))s.length<4||t.has(s)||(t.add(s),r.push(s));return r}function u(e,t,a){let u=[];for(let p of e){var c;if(!function(e,t){let r=l(t);if(!r)return!1;if((e.condition?e.condition.split(/\n|,|;|\|/g).map(e=>l(e)).filter(e=>e.length>=4):[]).some(e=>r.includes(e)))return!0;let s=e.repo.split("/").filter(Boolean).pop()??e.repo;return[...d(e.skillId),...d(s)].some(e=>r.includes(e))}(p,t))continue;let e=(c=p.skillId,o.default.join(process.cwd(),".agents","skills",c,"SKILL.md"));(r.default.existsSync(e)||function(e){var t;let r=Array.from(new Set(e.providers.map(e=>"claude"===e||"codex"===e||"gemini"===e||"zai"===e?e:null).filter(Boolean)));if(0===r.length)return{ok:!1,command:"",stdout:"",stderr:"",results:[],error:"No supported providers selected"};let o=Date.now(),a=[],l="",d="",u="",c=new Map;for(let e of r){let t="claude"===e?"claude-code":"codex"===e?"codex":"gemini"===e?"gemini-cli":"zai"===e?"claude-code":null;if(!t)continue;let r=c.get(t)??[];r.push(e),c.set(t,r)}for(let[r,p]of c.entries()){let c=["--yes","skills@latest","add",e.repo,"--skill",e.skillId,"--agent",r,"--yes"];u=`npx ${c.join(" ")}`;let h=(0,n.spawnSync)("npx",c,{cwd:process.cwd(),encoding:"utf8",timeout:12e4,env:{...process.env,FORCE_COLOR:"0"}});l=String(h.stdout??""),d=String(h.stderr??"");let g=0===h.status;for(let n of p)a.push({provider:n,ok:g,agent:r}),t={provider:n,repo:e.repo,skill_id:e.skillId,skill_label:e.skillId,status:g?"succeeded":"failed",command:u,error:g?null:i(d||l).slice(0,1e3),run_started_at:o,run_completed_at:Date.now(),created_at:o,updated_at:Date.now()},(0,s.getSQLiteDb)().prepare(`INSERT INTO skill_learning_history
|
|
78
|
+
(provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at)
|
|
79
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(t.provider,t.repo,t.skill_id,t.skill_label,t.status,t.command,t.error,t.run_started_at,t.run_completed_at,t.created_at,t.updated_at);if(!g)return{ok:!1,command:u,stdout:l,stderr:d,results:a,error:i(d||l)||"Installation failed"}}return{ok:!0,command:u,stdout:l,stderr:d,results:a}}({repo:p.repo,skillId:p.skillId,providers:[a]}).ok)&&u.push({file:e,...p.condition?{condition:p.condition}:{}})}return u}e.s(["getAgentSkillBindings",()=>a,"resolveBoundSkillFiles",()=>u],96883);var c=e.i(686213);async function p(){let e=await (0,t.getAgents)(c.LOCAL_USER.id),r=new Map,s=new Map;return await Promise.all(e.map(async e=>{r.set(e.id,await (0,t.getAgentSkills)(e.id)),s.set(e.id,await a(e.id))})),e.map(e=>({id:e.id,name:e.name,...e.title?{title:e.title}:{},provider:e.provider||"claude",model:e.model||null,color:e.color||"#6B7280",...e.description?{identity:e.description}:{},...e.voice?{voice:e.voice}:{},...e.seed?{seed:e.seed}:{},...r.get(e.id)?.length?{skills:r.get(e.id).map(e=>({file:e.file,condition:e.condition??""}))}:{},...s.get(e.id)?.length?{skillBindings:s.get(e.id)}:{}}))}function h(e,t){if(!Array.isArray(t))return e;let r=new Set,s=[];for(let e of t){if("string"!=typeof e)continue;let t=e.trim();!t||r.has(t)||(r.add(t),s.push(t))}let o=new Set(s),n=e.filter(e=>o.has(e.id));if(s.length>0&&0===n.length)return e;let i=new Map(s.map((e,t)=>[e,t]));return n.sort((e,t)=>(i.get(e.id)??Number.MAX_SAFE_INTEGER)-(i.get(t.id)??Number.MAX_SAFE_INTEGER))}e.s(["filterActiveParticipants",()=>h,"loadDbParticipants",()=>p],79580)},680469,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:
|
|
80
|
+
1. what has been accomplished vs. what remains
|
|
81
|
+
2. the concrete next steps needed to move toward shipping`,i=`You MUST respond with ONLY a JSON object, no markdown fences, no extra text:
|
|
82
|
+
{"isDone": true/false, "message": "your assessment"}
|
|
83
|
+
|
|
84
|
+
Set isDone=true only when the thread is genuinely ready to stop ship mode and move into review.
|
|
85
|
+
If isDone=false, message must be a single concise steering note with both status and next steps.
|
|
86
|
+
The message must not be empty.`;function a(){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 d(t){try{let[{getSQLiteDb:r},{loadDbParticipants:s}]=await Promise.all([e.A(548207),e.A(719893)]),o=r(),n=o.prepare(`SELECT pt.project_id AS project_id
|
|
87
|
+
FROM project_threads pt
|
|
88
|
+
WHERE pt.thread_id = ?
|
|
89
|
+
ORDER BY pt.created_at ASC
|
|
90
|
+
LIMIT 1`).get(t);if(!n?.project_id)return{provider:l(a()),model:null};let i=o.prepare(`SELECT agent_id
|
|
91
|
+
FROM project_agents
|
|
92
|
+
WHERE project_id = ?
|
|
93
|
+
ORDER BY routing_order ASC, created_at ASC
|
|
94
|
+
LIMIT 1`).get(n.project_id);if(!i?.agent_id)return{provider:l(a()),model:null};let d=(await s()).find(e=>e.id===i.agent_id);if(!d)return{provider:l(a()),model:null};return{provider:l(d.provider),model:d.model}}catch{return{provider:l(a()),model:null}}}function u(){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 r,{getMessageThread:a,getThreadStatusSnapshot:l,sweepStaleWorkingReactions:u}=await e.A(205617),c=await a(s);if(!c)return{status:"failure",message:`Thread not found for rootMessageId: ${s}`};await u(c.threadId);let p=await l({threadId:c.threadId,rootMessageId:s}),h=p.processes.filter(e=>o.has(e.status)).length,g=p.rootMessage?.threadStatus??"active",f=p.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"),m=(p.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=${h}, msgs=${p.messages?.length??0}`);let _=["--- THREAD STATE ---",`Root request: ${p.rootMessage?.content??"(missing root message)"}`,`Thread status: ${g}`,`Active agents: ${h}`,`Total messages: ${p.messages?.length??0}`,p.lastUpdatedAt?`Last updated at: ${new Date(p.lastUpdatedAt).toISOString()}`:null,"","Current process state:",f||"- none","","Recent messages:",m||"- none","--- END THREAD STATE ---","","Assess the progress and respond with the JSON object."].filter(Boolean).join("\n"),{runCliResponse:S}=await e.A(156795),E=await d(c.threadId);console.log(`[work-dispatch] Calling ${E.provider} via runCliResponse (prompt length: ${_.length})...`);let w="";await S({provider:E.provider,model:E.model,prompt:_,systemContext:(r=t.description?.trim()||n,`${r}
|
|
95
|
+
|
|
96
|
+
${i}`),onDelta:e=>{w+=e},onLog:(e,t)=>{console.log(`[work-dispatch] [${e}] ${t}`)}}),console.log(`[work-dispatch] Raw response: ${w.slice(0,500)}`);let I=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."}}(w.trim());if(!I.ok)return{status:"failure",transient:!1,message:I.error};return console.log("[work-dispatch] Parsed result:",I),{status:"success",output:I.value}}catch(e){return console.error("[work-dispatch] Steer dispatch failed:",e),{status:"failure",message:e instanceof Error?e.message:String(e),error:e}}}}e.s(["createDispatchWork",()=>u])},209662,e=>{"use strict";var t=e.i(633037);function r(e,t=Date.now()){let s=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return s("no_schedule");let o=e.schedule;if("active"!==o.state)return s("not_active");if(o.tickInProgress)return s("tick_in_progress");if(null!=o.maxRuns&&o.runCount>=o.maxRuns)return s("max_runs_reached");if(o.cronExpr&&"number"==typeof o.nextTickAt){if(t<o.nextTickAt)return s("not_due")}else if(t-(o.lastTickAt??0)<o.intervalMs)return s("not_due");let n=JSON.parse(JSON.stringify(e)),i=[];for(let e of o.resetNodeIds){let t=n.nodes[e];t&&("done"===t.status||"passed"===t.status||"failed"===t.status||"skipped"===t.status)&&(n.nodes[e]={...t,status:"pending",startedAt:void 0,completedAt:void 0,metrics:void 0,..."function"===t.type?{output:void 0}:{},..."conditional"===t.type?{evaluatedTo:void 0}:{}},i.push(e))}return n.schedule={...o,tickInProgress:!0,lastTickAt:t,runCount:o.runCount+1},{graph:n,tickFired:!0,resetNodeIds:i}}function s(e){if(!e.schedule||!e.schedule.tickInProgress)return e;let r=e.schedule,s=r.nextTickAt;return r.cronExpr&&(s=(0,t.computeNextTickFromCron)(r.cronExpr)),{...e,schedule:{...r,tickInProgress:!1,nextTickAt:s}}}function o(e){if(!e.schedule)return!0;let t=new Set(["done","passed","failed","skipped"]);for(let r of e.schedule.resetNodeIds){let s=e.nodes[r];if(s&&!t.has(s.status))return!1}return!0}function n(e,t=6e4,r){return{intervalMs:t,state:"active",resetNodeIds:e,maxRuns:r,runCount:0,tickInProgress:!1,createdAt:new Date().toISOString()}}function i(e){return e.schedule&&"active"!==e.schedule.state?{...e,schedule:{...e.schedule,state:"active"}}:e}function a(e){return e.schedule?{...e,schedule:{...e.schedule,state:"stopped",tickInProgress:!1}}:e}e.s(["activateSchedule",()=>i,"completeScheduleTick",()=>s,"createThreadMonitorSchedule",()=>n,"isScheduleTickComplete",()=>o,"scheduleTickIfDue",()=>r,"stopSchedule",()=>a])},676109,e=>{"use strict";var t=e.i(965196);e.i(1181);var r=e.i(317325),s=e.i(545744),o=e.i(209662),n=e.i(633037),i=e.i(988840),a=e.i(291329);function l(){let e=new Map,o=(0,t.getSQLiteDb)().prepare(`
|
|
97
|
+
SELECT task_id, id, schedule
|
|
98
|
+
FROM execution_graphs
|
|
99
|
+
WHERE schedule IS NOT NULL
|
|
100
|
+
AND json_extract(schedule, '$.state') = 'active'
|
|
101
|
+
`).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()]}async function d(e={}){let t=new a.GraphStore,r={tickedGraphIds:[],skippedGraphIds:[],errors:[],pendingWork:[]},s=l();for(let{taskId:a}of(console.log(`[schedules:poll] found ${s.length} active schedule(s)`),s))try{let s=t.getGraph(a);if(!s){r.errors.push({graphId:a,error:Error("Graph not found")});continue}let l=(0,o.scheduleTickIfDue)(s);if(!l.tickFired){console.log(`[schedules:poll] ${a} skipped (${l.skipReason??"unknown"})`),r.skippedGraphIds.push(a);continue}console.log(`[schedules:poll] ${a} tick fired — resetting nodes`),t.updateGraphStructure(l.graph.id,{nodes:l.graph.nodes,schedule:l.graph.schedule});let d=(0,n.schedulerTick)(l.graph,e);console.log(`[schedules:poll] ${a} scheduler: fn=${d.functionToRun.length} work=${d.workToRun.length}`);let u=d.graph;for(let t of d.functionToRun){let s=u.nodes[t];if(s&&"function"===s.type)try{console.log(`[schedules:poll] ${a} executing function node "${t}"`);let r=await (0,i.executeNode)(u,t,e),s=r.graph.nodes[t];console.log(`[schedules:poll] ${a} function "${t}" → ${s?.status}`,s&&"output"in s?JSON.stringify(s.output)?.slice(0,200):""),u=r.graph}catch(e){console.error(`[schedules:poll] ${a} function "${t}" error:`,e),r.errors.push({graphId:a,error:e instanceof Error?e:Error(String(e))})}}t.updateGraphStructure(u.id,{nodes:u.nodes});let c=(0,n.schedulerTick)(u,e);for(let t of(console.log(`[schedules:poll] ${a} post-fn scheduler: cond=${c.control.conditionalNodeIds.length} work=${c.workToRun.length}`),u=c.graph,c.workToRun)){let s=u.nodes[t];if(s&&"work"===s.type)try{u=(await (0,i.executeNode)(u,t,e)).graph}catch(e){r.errors.push({graphId:a,error:e instanceof Error?e:Error(String(e))})}}if(c.workToRun.length>0){r.pendingWork.push({taskId:a,nodeIds:c.workToRun,graph:u}),t.updateGraphStructure(u.id,{nodes:u.nodes});let s=(0,n.schedulerTick)(u,e);for(let t of(console.log(`[schedules:poll] ${a} post-work scheduler: fn=${s.functionToRun.length} cond=${s.control.conditionalNodeIds.length}`),u=s.graph,s.functionToRun)){let s=u.nodes[t];if(s&&"function"===s.type)try{console.log(`[schedules:poll] ${a} executing post-work function "${t}"`),u=(await (0,i.executeNode)(u,t,e)).graph}catch(e){console.error(`[schedules:poll] ${a} post-work function "${t}" error:`,e),r.errors.push({graphId:a,error:e instanceof Error?e:Error(String(e))})}}}t.updateGraphStructure(u.id,{nodes:u.nodes});let p=Object.entries(u.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:poll] ${a} node states: ${p}`);let h=(0,o.isScheduleTickComplete)(u);if(console.log(`[schedules:poll] ${a} tick complete? ${h}`),h){let e=(0,o.completeScheduleTick)(u),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=t.getGraph(a);s?.schedule?.state==="stopped"&&(console.log(`[schedules:poll] ${a} schedule was stopped mid-tick, preserving stopped state`),e.schedule={...e.schedule,state:"stopped"}),t.updateGraphStructure(e.id,{nodes:e.nodes,schedule:e.schedule})}r.tickedGraphIds.push(a)}catch(e){console.error(`[schedules:poll] ${a} caught error:`,e),r.errors.push({graphId:a,error:e instanceof Error?e:Error(String(e))});try{let e=t.getGraph(a);if(e?.schedule?.tickInProgress){let r=(0,o.completeScheduleTick)(e);t.updateGraphStructure(r.id,{nodes:r.nodes,schedule:r.schedule}),console.log(`[schedules:poll] ${a} force-completed stuck tick`)}}catch{}}return r}async function u(e,t={}){let r=new a.GraphStore,s=r.getGraph(e);if(!s)return{fired:!1,graph:null,error:Error("Graph not found")};if(!s.schedule)return{fired:!1,graph:s,error:Error("No schedule on graph")};let l=(0,o.scheduleTickIfDue)(s);if(!l.tickFired)return{fired:!1,graph:l.graph};r.updateGraphStructure(l.graph.id,{nodes:l.graph.nodes,schedule:l.graph.schedule});let d=l.graph,c=0;for(;;){c++;let e=Object.entries(d.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");console.log(`[schedules:tick] loop ${c} nodes before: ${e}`);let r=(0,n.schedulerTick)(d,t);for(let e of(console.log(`[schedules:tick] loop ${c} fn=${r.functionToRun.length} work=${r.workToRun.length} cond=${r.control.conditionalNodeIds.length}`),r.functionToRun)){let r=d.nodes[e];r&&"function"===r.type&&(d=(await (0,i.executeNode)(d,e,t)).graph,console.log(`[schedules:tick] fn "${e}" → ${d.nodes[e]?.status}`))}for(let e of(r.control.conditionalNodeIds.length>0&&(d=r.graph,console.log(`[schedules:tick] applied conditional results: ${r.control.conditionalNodeIds.join(", ")}`)),r.workToRun))d=(await (0,i.executeNode)(d,e,t)).graph;let s=Object.entries(d.nodes).map(([e,t])=>`${e}:${t.status}`).join(", ");if(console.log(`[schedules:tick] loop ${c} nodes after: ${s}`),(0,o.isScheduleTickComplete)(d)){console.log(`[schedules:tick] tick complete after loop ${c}`);break}if(r.complete||!(r.workToRun.length>0||r.functionToRun.length>0))break}let p=(0,o.completeScheduleTick)(d);return r.updateGraphStructure(p.id,{nodes:p.nodes,schedule:p.schedule}),{fired:!0,graph:p}}e.s(["executeScheduleTick",()=>u,"getGraphsWithActiveSchedules",()=>l,"pollSchedules",()=>d])},558898,e=>{"use strict";e.s(["createDispatchFunction",()=>x,"dispatchBashFunction",()=>R],558898);var t=e.i(233405),r=e.i(686213),s=e.i(79580),o=e.i(965196),n=e.i(912931),i=e.i(699904),a=e.i(65768),l=e.i(190088);async function d(e,t,s=[]){let u,c,p,h,g,f=new Set;for(let r of(e&&f.add(e),t))r&&f.add(r);if(0===f.size)return;let m=await Promise.all(Array.from(f).map(async e=>{try{let t=await n.db.getProjectWithRepos(e,r.LOCAL_USER.id);return[e,t]}catch(t){return console.warn("Failed to load project context",{slug:e,error:t}),[e,null]}})),_=new Map;for(let[e,t]of m)t&&_.set(e,t);let S=e?_.get(e):void 0,E=t.map(e=>_.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!==E.length){if(S)try{let[e,t,r]=await Promise.all([(0,i.getProjectSkills)(S.id),(0,i.getProjectVariables)(S.id),(0,i.getProjectMemory)(S.id,"human")]),n=(0,l.getKnowledgeNote)("project",S.id);e.length>0&&(u=e.map(e=>({file:e.file,...e.condition?{condition:e.condition}:{}}))),t.length>0&&(c=t.map(e=>({key:e.key,value:e.value}))),r.length>0&&(p=r.map(e=>({content:e.content,...e.source?{source:e.source}:{}}))),n?.content&&(p=[...p??[],{content:n.content,source:"system-note"}]);let d=(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=a.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(d.length>0&&(h=d),s.length>0){let e=(0,o.getSQLiteDb)();for(let t of(g={},s)){let r=e.prepare("SELECT id, content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT 20").all(t.id);g[t.id]=await (0,i.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:E.length>0?E:void 0,skills:u,variables:c,memory:p,repoKnowledge:h,provenanceByAgentId:g}}}var u=e.i(157306),c=e.i(40793),p=e.i(469324),h=e.i(26607),g=e.i(676109),f=e.i(680469);let m=null,_=null;async function S(){return _||(_=(async()=>{let e=await (0,g.pollSchedules)({dispatchFunction:x(),dispatchWork:(0,f.createDispatchWork)()});e.errors.length>0&&(0,u.writeDebugLog)("schedule_runtime.poll.error",{errorCount:e.errors.length,graphIds:e.errors.map(e=>e.graphId)})})().catch(e=>{(0,u.writeDebugLog)("schedule_runtime.poll.exception",{error:e}),console.error("[schedule-runtime] Poll failed:",e)}).finally(()=>{_=null}))}async function E(){let e;if("1"===process.env.AGX_DISABLE_SCHEDULE_POLLING||m)return;let t=Number.isFinite(e=Number(process.env.AGX_SCHEDULE_POLL_INTERVAL_MS))?Math.max(1e3,e):5e3;(0,u.writeDebugLog)("schedule_runtime.start",{intervalMs:t}),"function"==typeof(m=setInterval(()=>{S()},t)).unref&&m.unref(),await S()}let w=null;async function I(){return w||(w=(async()=>{(0,u.writeDebugLog)("orchestrator.bootstrap.start");let e=await (0,c.getQueue)();await e.work(c.QUEUE_NAMES.TASK_PROCESS,p.taskProcessor,{batchSize:5}),await e.work(c.QUEUE_NAMES.CHAT_RUN_PROCESS,h.chatProcessor,{batchSize:2}),await E(),(0,u.writeDebugLog)("orchestrator.bootstrap.ready",{queues:[c.QUEUE_NAMES.TASK_PROCESS,c.QUEUE_NAMES.CHAT_RUN_PROCESS]})})().catch(e=>{throw(0,u.writeDebugLog)("orchestrator.bootstrap.error",{error:e}),w=null,e}))}let k=new Set(["running","working"]);function v(e,t){let r="string"==typeof e.args?.rootMessageId?e.args.rootMessageId.trim():"";return r||(t.schedule?.rootMessageId?.trim()??"")}function T(e){return e.replace(/\s+/g," ").trim()}async function y(t){try{let{getSQLiteDb:r}=await e.A(548207),s=r(),o=s.prepare(`SELECT pt.project_id AS project_id, p.slug AS project_slug
|
|
102
|
+
FROM project_threads pt
|
|
103
|
+
JOIN projects p ON p.id = pt.project_id
|
|
104
|
+
WHERE pt.thread_id = ?
|
|
105
|
+
ORDER BY pt.created_at ASC
|
|
106
|
+
LIMIT 1`).get(t);if(!o?.project_id)return{projectSlug:null,projectAgentIds:[]};let n=s.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC, created_at ASC").all(o.project_id);return{projectSlug:o.project_slug?.trim()||null,projectAgentIds:n.map(e=>e.agent_id?.trim()).filter(e=>!!e)}}catch{return{projectSlug:null,projectAgentIds:[]}}}async function b(t,r){let s=v(t,r);if(!s)return{status:"failure",message:"thread-status requires rootMessageId"};let{getMessageThread:o,getThreadStatusSnapshot:n,sweepStaleWorkingReactions:i}=await e.A(205617),a=await o(s);if(!a)return{status:"failure",message:`Thread not found for rootMessageId: ${s}`};await i(a.threadId);let l=await n({threadId:a.threadId,rootMessageId:s});return{status:"success",output:{activeProcessCount:l.processes.filter(e=>k.has(e.status)).length,messageCount:l.messages?.length??0,threadId:a.threadId,lastUpdatedAt:l.lastUpdatedAt}}}async function A(t,o){let n=v(t,o);if(!n)return{status:"failure",message:"ship-mode-act requires rootMessageId"};let i=function(e,t){let r="string"==typeof e.args?.steerNodeId&&e.args.steerNodeId.trim()?e.args.steerNodeId.trim():"steer",s=t.nodes[r];if(!s||"work"!==s.type)return null;let o=s.output;return o&&"object"==typeof o?{isDone:!!o.isDone,message:"string"==typeof o.message?o.message:""}:null}(t,o);if(!i)return{status:"failure",message:"Unable to read steer node output"};if(!T(i.message))return{status:"failure",message:"Ship mode produced an empty steer message"};let{createChatRun:a,getThreadStatusSnapshot:l,getMessageThread:p,loadHistory:h,saveMessages:g,updateMessageStatus:f}=await e.A(205617),{deactivateSchedulesByRootMessageId:m}=await e.A(502224),_=await p(n);if(!_)return{status:"failure",message:`Thread not found for rootMessageId: ${n}`};if(i.isDone){let e=(await l({threadId:_.threadId,rootMessageId:n})).processes.filter(e=>k.has(e.status)).length;return e>0?{status:"success",output:{done:!1,action:"completion_deferred_active_work",activeProcessCount:e}}:(m(n),await f(_.threadId,n,"in-review",null),{status:"success",output:{done:!0,action:"stopped_and_in_review"}})}let S=await (0,s.loadDbParticipants)(),E=Object.fromEntries(S.map(e=>[e.id,e.name])),{projectSlug:w,projectAgentIds:b}=await y(_.threadId),A=await h(_.threadId),L=b[0]??S[0]?.id??null;if(function(e,t,r,s){let o=T(r);if(!o)return!1;let n=Date.now()-9e5;return e.filter(e=>e.id===t||e.rootMessageId===t).some(e=>"assistant"===e.role&&!(e.timestamp<n)&&(!s||e.participantId===s)&&T(e.content)===o)}(A,n,i.message,L))return{status:"success",output:{done:!1,action:"duplicate_next_steps_skipped",sender:L}};let R=crypto.randomUUID();await g(_.threadId,[{id:R,role:"assistant",participantId:L,content:i.message,timestamp:Date.now(),rootMessageId:n,parentMessageId:n,depth:1}]);let x=(b.length>0?b:S.map(e=>e.id)).filter((e,t,r)=>e&&r.indexOf(e)===t),N=x.filter(e=>e!==L),D=(N.length>0?N:x).filter(e=>S.some(t=>t.id===e));if(0===D.length)return{status:"success",output:{done:!1,action:"sent_next_steps_only",sender:L,messageId:R}};let $=S.filter(e=>D.includes(e.id)),j=w?await d(w,[],$):void 0,C=crypto.randomUUID(),U={threadId:_.threadId,prompt:i.message,projectContext:j,mentionedIds:[],initialParallelIds:[],maxRounds:10,recentHistory:A.filter(e=>e.id===n||e.rootMessageId===n).slice(-20).map(e=>({id:e.id,name:"user"===e.role?"User":e.participantId?E[e.participantId]||e.participantId:"Assistant",content:e.content})),currentUserMessageId:R,rootMessageId:n,participantIds:D};await a({id:C,threadId:_.threadId,rootMessageId:n,userId:r.LOCAL_USER.id,projectSlug:w??null,maxSteps:10,activeParticipantIds:D,payload:U}),await I();let O=await (0,c.getQueue)();return await O.send(c.QUEUE_NAMES.CHAT_RUN_PROCESS,{chatRunId:C,userId:r.LOCAL_USER.id,signal:"start"}),(0,u.writeDebugLog)("ship_mode.steer.enqueued",{rootMessageId:n,threadId:_.threadId,chatRunId:C,authorId:L,participantIds:D,projectSlug:w??null}),{status:"success",output:{done:!1,action:"sent_next_steps_and_started_chat_run",sender:L,messageId:R,chatRunId:C}}}async function L(e,t){if("internal"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};switch(e.command){case"thread-status":return b(e,t);case"ship-mode-act":return A(e,t);default:return{status:"failure",message:`Unsupported internal function command: ${e.command}`}}}async function R(e,r){if("bash"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};let s=e.command;if(!s||""===s.trim())return{status:"failure",message:"Empty command"};let o=e.timeoutMs??3e4;return new Promise(e=>{let r="",n="",i=0,a=!1,l=!1,d=(0,t.spawn)(s,[],{shell:!0,timeout:o,killSignal:"SIGTERM"}),u=setTimeout(()=>{l=!0,d.kill("SIGTERM")},o);d.stdout.on("data",e=>{if(a)return;let t=Buffer.byteLength(e.toString(),"utf8");if(i+t>65536){a=!0;return}r+=e.toString(),i+=t}),d.stderr.on("data",e=>{n+=e.toString()}),d.on("error",t=>{clearTimeout(u),e({status:"failure",message:`Failed to spawn command: ${t.message}`,error:t})}),d.on("close",t=>{if(clearTimeout(u),l)return void e({status:"failure",message:`Command timed out after ${o}ms`});if(a)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 x(){return async(e,t)=>{switch(e.kind){case"bash":return R(e,t);case"internal":return L(e,t);default:return{status:"failure",message:`Unsupported function node kind: ${e.kind}`}}}}},548207,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__255b11f2._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(t=>e.l(t))).then(()=>t(965196)))},482848,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_node:child_process_261e8bca._.js"].map(t=>e.l(t))).then(()=>t(874533)))},719893,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__f51c7b72._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js","server/chunks/node_modules_d2858615._.js","server/chunks/lib_2cd3429c._.js"].map(t=>e.l(t))).then(()=>t(79580)))},205617,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__f7f336c7._.js","server/chunks/lib_history-store_ts_74d1c060._.js"].map(t=>e.l(t))).then(()=>t(455248)))},156795,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__a21cc96d._.js","server/chunks/lib_f81d6da9._.js"].map(t=>e.l(t))).then(()=>t(390107)))}];
|
|
107
|
+
|
|
108
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__2cfd21b8._.js.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
module.exports=[193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},423502,(e,t,r)=>{},841897,e=>{"use strict";e.i(423502);var t=e.i(902157),r=e.i(660526),n=e.i(750227);let a=n.default.join((0,r.homedir)(),".agx");function s(){return n.default.join(a,"linear-token.json")}function i(){return n.default.join(process.cwd(),".linear-token.json")}function o(e){(0,t.existsSync)(a)||(0,t.mkdirSync)(a,{recursive:!0}),(0,t.writeFileSync)(s(),JSON.stringify(e,null,2))}function l(){try{(0,t.unlinkSync)(s())}catch{}try{(0,t.unlinkSync)(i())}catch{}}class d{accessToken;constructor(e){this.accessToken=e}get viewer(){return this.request("query { viewer { id name email } }").then(e=>e.viewer)}async users(){return(await this.request(`query {
|
|
2
|
+
users(first: 100) {
|
|
3
|
+
nodes {
|
|
4
|
+
id
|
|
5
|
+
name
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
}`)).users.nodes.filter(e=>e.name.trim().length>0).map(e=>({id:e.id,name:e.name})).sort((e,t)=>e.name.localeCompare(t.name))}async teams(){return(await this.request(`query {
|
|
9
|
+
teams(first: 50) {
|
|
10
|
+
nodes {
|
|
11
|
+
id
|
|
12
|
+
name
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}`)).teams.nodes.filter(e=>e.name.trim().length>0).map(e=>({id:e.id,name:e.name})).sort((e,t)=>e.name.localeCompare(t.name))}async issues(e){let t,r=(t=[`first: ${e.first}`],e.after&&t.push(`after: ${JSON.stringify(e.after)}`),e.orderBy&&t.push(`orderBy: ${e.orderBy}`),e.filter&&Object.keys(e.filter).length>0&&t.push(`filter: ${function e(t){if(null===t)return"null";if(Array.isArray(t))return`[${t.map(e).join(", ")}]`;if("string"==typeof t)return JSON.stringify(t);if("number"==typeof t||"boolean"==typeof t)return String(t);if("object"==typeof t){let r=Object.entries(t).filter(([,e])=>void 0!==e);return`{ ${r.map(([t,r])=>`${t}: ${e(r)}`).join(", ")} }`}throw Error(`Unsupported GraphQL value: ${typeof t}`)}(e.filter)}`),t.join(", ")),n=await this.request(`query {
|
|
16
|
+
issues(${r}) {
|
|
17
|
+
nodes {
|
|
18
|
+
id
|
|
19
|
+
identifier
|
|
20
|
+
title
|
|
21
|
+
description
|
|
22
|
+
url
|
|
23
|
+
updatedAt
|
|
24
|
+
state { name }
|
|
25
|
+
assignee { id name email }
|
|
26
|
+
team { id name key }
|
|
27
|
+
cycle { id number name }
|
|
28
|
+
}
|
|
29
|
+
pageInfo {
|
|
30
|
+
hasNextPage
|
|
31
|
+
endCursor
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}`);return{nodes:n.issues.nodes.map(e=>({id:e.id,identifier:e.identifier,title:e.title,description:e.description,url:e.url,updatedAt:e.updatedAt,state:Promise.resolve(e.state),assignee:Promise.resolve(e.assignee),team:Promise.resolve(e.team),cycle:Promise.resolve(e.cycle)})),pageInfo:n.issues.pageInfo}}async cycles(){let e=await this.request(`query {
|
|
35
|
+
teams(first: 50) {
|
|
36
|
+
nodes {
|
|
37
|
+
id
|
|
38
|
+
name
|
|
39
|
+
activeCycle {
|
|
40
|
+
id
|
|
41
|
+
number
|
|
42
|
+
name
|
|
43
|
+
startsAt
|
|
44
|
+
endsAt
|
|
45
|
+
team {
|
|
46
|
+
id
|
|
47
|
+
name
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
cycles(first: 20) {
|
|
51
|
+
nodes {
|
|
52
|
+
id
|
|
53
|
+
number
|
|
54
|
+
name
|
|
55
|
+
startsAt
|
|
56
|
+
endsAt
|
|
57
|
+
team {
|
|
58
|
+
id
|
|
59
|
+
name
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}`),t=new Map;for(let r of e.teams.nodes)for(let e of[...r.activeCycle?[r.activeCycle]:[],...r.cycles.nodes])t.has(e.id)||t.set(e.id,{id:e.id,number:e.number,name:e.name,startsAt:e.startsAt,endsAt:e.endsAt,teamId:e.team?.id??r.id,teamName:e.team?.name??r.name});return[...t.values()].sort((e,t)=>new Date(t.startsAt).getTime()-new Date(e.startsAt).getTime())}async request(e){let t=await fetch("https://api.linear.app/graphql",{method:"POST",headers:{"Content-Type":"application/json",Authorization:this.accessToken},body:JSON.stringify({query:e}),cache:"no-store"}),r=await t.json();if(!t.ok||r.errors?.length)throw Error(r.errors?.map(e=>e.message).find(Boolean)??`Linear request failed with status ${t.status}`);if(!r.data)throw Error("Linear response did not include data");return r.data}}function u(){let e=function(){try{let e=(0,t.readFileSync)(s(),"utf8");return JSON.parse(e)}catch{}try{let e=i(),r=(0,t.readFileSync)(e,"utf8"),n=JSON.parse(r);o(n);try{(0,t.unlinkSync)(e)}catch{}return n}catch{return null}}();return e?new d(e.accessToken):null}e.s(["LinearClient",()=>d,"deleteLinearToken",()=>l,"getLinearClient",()=>u,"saveLinearToken",()=>o])},416498,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),d=e.i(487718),u=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),f=e.i(626937),h=e.i(10372),y=e.i(193695);e.i(52474);var x=e.i(600220),g=e.i(89171),v=e.i(841897);async function w(){let e=(0,v.getLinearClient)();if(!e)return g.NextResponse.json({error:"Not connected"},{status:401});try{let t=await e.cycles();return g.NextResponse.json({cycles:t})}catch(e){return g.NextResponse.json({error:e.message??"Failed to fetch cycles"},{status:500})}}e.s(["GET",()=>w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],456194);var R=e.i(456194);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/linear/cycles/route",pathname:"/api/linear/cycles",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/linear/cycles/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:C,workUnitAsyncStorage:E,serverHooks:b}=A;function k(){return(0,n.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:E})}async function q(e,t,n){A.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/linear/cycles/route";g=g.replace(/\/index$/,"")||"/";let v=await A.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,params:R,nextConfig:C,parsedUrl:E,isDraftMode:b,prerenderManifest:k,routerServerContext:q,isOnDemandRevalidate:N,revalidateOnlyGenerated:S,resolvedPathname:T,clientReferenceManifest:j,serverActionsManifest:O}=v,P=(0,o.normalizeAppPath)(g),$=!!(k.dynamicRoutes[P]||k.routes[T]),_=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,E,!1):t.end("This page could not be found"),null);if($&&!b){let e=!!k.routes[T],t=k.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await _();throw new y.NoFallbackError}}let I=null;!$||A.isDev||b||(I="/index"===(I=T)?"/":I);let H=!0===A.isDev||!$,U=$&&!H;O&&j&&(0,i.setManifestsSingleton)({page:g,clientReferenceManifest:j,serverActionsManifest:O});let D=e.method||"GET",L=(0,s.getTracer)(),M=L.getActiveScopeSpan(),F={params:R,prerenderManifest:k,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>A.onRequestError(e,t,n,a,q)},sharedContext:{buildId:w}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let i=async e=>A.handle(J,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${g}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&N&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=F.renderOpts.collectedTags;if(!$)return await (0,p.sendResponse)(B,K,s,F.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,q),t}},u=await A.handleResponse({req:e,nextConfig:C,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:S,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:o});if(!$)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let y=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&$||y.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||y.get("Cache-Control")||y.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(B,K,new Response(u.value.body,{headers:y,status:u.value.status||200})),null};M?await l(M):await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${D} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l))}catch(t){if(t instanceof y.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,q),$)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>q,"patchFetch",()=>k,"routeModule",()=>A,"serverHooks",()=>b,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>E],416498)}];
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__37844df7._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},423502,(e,t,r)=>{},841897,e=>{"use strict";e.i(423502);var t=e.i(902157),r=e.i(750227);function n(){return
|
|
1
|
+
module.exports=[193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},423502,(e,t,r)=>{},841897,e=>{"use strict";e.i(423502);var t=e.i(902157),r=e.i(660526),n=e.i(750227);let a=n.default.join((0,r.homedir)(),".agx");function s(){return n.default.join(a,"linear-token.json")}function i(){return n.default.join(process.cwd(),".linear-token.json")}function o(e){(0,t.existsSync)(a)||(0,t.mkdirSync)(a,{recursive:!0}),(0,t.writeFileSync)(s(),JSON.stringify(e,null,2))}function l(){try{(0,t.unlinkSync)(s())}catch{}try{(0,t.unlinkSync)(i())}catch{}}class d{accessToken;constructor(e){this.accessToken=e}get viewer(){return this.request("query { viewer { id name email } }").then(e=>e.viewer)}async users(){return(await this.request(`query {
|
|
2
2
|
users(first: 100) {
|
|
3
3
|
nodes {
|
|
4
4
|
id
|
|
@@ -62,11 +62,11 @@ module.exports=[193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
}`),t=new Map;for(let r of e.teams.nodes)for(let e of[...r.activeCycle?[r.activeCycle]:[],...r.cycles.nodes])t.has(e.id)||t.set(e.id,{id:e.id,number:e.number,name:e.name,startsAt:e.startsAt,endsAt:e.endsAt,teamId:e.team?.id??r.id,teamName:e.team?.name??r.name});return[...t.values()].sort((e,t)=>new Date(t.startsAt).getTime()-new Date(e.startsAt).getTime())}async request(e){let t=await fetch("https://api.linear.app/graphql",{method:"POST",headers:{"Content-Type":"application/json",Authorization:this.accessToken},body:JSON.stringify({query:e}),cache:"no-store"}),r=await t.json();if(!t.ok||r.errors?.length)throw Error(r.errors?.map(e=>e.message).find(Boolean)??`Linear request failed with status ${t.status}`);if(!r.data)throw Error("Linear response did not include data");return r.data}}function
|
|
65
|
+
}`),t=new Map;for(let r of e.teams.nodes)for(let e of[...r.activeCycle?[r.activeCycle]:[],...r.cycles.nodes])t.has(e.id)||t.set(e.id,{id:e.id,number:e.number,name:e.name,startsAt:e.startsAt,endsAt:e.endsAt,teamId:e.team?.id??r.id,teamName:e.team?.name??r.name});return[...t.values()].sort((e,t)=>new Date(t.startsAt).getTime()-new Date(e.startsAt).getTime())}async request(e){let t=await fetch("https://api.linear.app/graphql",{method:"POST",headers:{"Content-Type":"application/json",Authorization:this.accessToken},body:JSON.stringify({query:e}),cache:"no-store"}),r=await t.json();if(!t.ok||r.errors?.length)throw Error(r.errors?.map(e=>e.message).find(Boolean)??`Linear request failed with status ${t.status}`);if(!r.data)throw Error("Linear response did not include data");return r.data}}function u(){let e=function(){try{let e=(0,t.readFileSync)(s(),"utf8");return JSON.parse(e)}catch{}try{let e=i(),r=(0,t.readFileSync)(e,"utf8"),n=JSON.parse(r);o(n);try{(0,t.unlinkSync)(e)}catch{}return n}catch{return null}}();return e?new d(e.accessToken):null}e.s(["LinearClient",()=>d,"deleteLinearToken",()=>l,"getLinearClient",()=>u,"saveLinearToken",()=>o])},358142,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),d=e.i(487718),u=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),h=e.i(626937),f=e.i(10372),y=e.i(193695);e.i(52474);var x=e.i(600220),v=e.i(89171),g=e.i(841897);async function w(e){let t=e.nextUrl.searchParams.get("access_token");if(!t)return new v.NextResponse("<html><body><p>Connection failed. You can close this tab.</p></body></html>",{headers:{"Content-Type":"text/html"}});let r=e.nextUrl.searchParams.get("expires_in");return(0,g.saveLinearToken)({accessToken:t,expiresAt:r?Date.now()+1e3*Number(r):void 0}),new v.NextResponse(`<html><body style="font-family:system-ui;display:flex;align-items:center;justify-content:center;height:100vh;margin:0;color:#666">
|
|
66
66
|
<div style="text-align:center">
|
|
67
67
|
<p>Connected to Linear. You can close this tab.</p>
|
|
68
68
|
<script>window.close()</script>
|
|
69
69
|
</div>
|
|
70
|
-
</body></html>`,{headers:{"Content-Type":"text/html"}})}async function R(e){try{let t=(await e.json()).accessToken;if(!t||"string"!=typeof t)return v.NextResponse.json({error:"Missing access token"},{status:400});let r=new g.LinearClient(t);try{await r.viewer}catch{return v.NextResponse.json({error:"Invalid API key"},{status:401})}return(0,g.saveLinearToken)({accessToken:t}),v.NextResponse.json({ok:!0})}catch{return v.NextResponse.json({error:"Invalid request"},{status:400})}}e.s(["GET",()=>w,"POST",()=>R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],884242);var C=e.i(884242);let
|
|
70
|
+
</body></html>`,{headers:{"Content-Type":"text/html"}})}async function R(e){try{let t=(await e.json()).accessToken;if(!t||"string"!=typeof t)return v.NextResponse.json({error:"Missing access token"},{status:400});let r=new g.LinearClient(t);try{await r.viewer}catch{return v.NextResponse.json({error:"Invalid API key"},{status:401})}return(0,g.saveLinearToken)({accessToken:t}),v.NextResponse.json({ok:!0})}catch{return v.NextResponse.json({error:"Invalid request"},{status:400})}}e.s(["GET",()=>w,"POST",()=>R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],884242);var C=e.i(884242);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/linear/token/route",pathname:"/api/linear/token",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/linear/token/route.ts",nextConfigOutput:"standalone",userland:C}),{workAsyncStorage:A,workUnitAsyncStorage:b,serverHooks:E}=k;function T(){return(0,n.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:b})}async function N(e,t,n){k.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/linear/token/route";v=v.replace(/\/index$/,"")||"/";let g=await k.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,params:R,nextConfig:C,parsedUrl:A,isDraftMode:b,prerenderManifest:E,routerServerContext:T,isOnDemandRevalidate:N,revalidateOnlyGenerated:j,resolvedPathname:q,clientReferenceManifest:S,serverActionsManifest:P}=g,O=(0,o.normalizeAppPath)(v),I=!!(E.dynamicRoutes[O]||E.routes[q]),_=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,A,!1):t.end("This page could not be found"),null);if(I&&!b){let e=!!E.routes[q],t=E.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await _();throw new y.NoFallbackError}}let $=null;!I||k.isDev||b||($="/index"===($=q)?"/":$);let U=!0===k.isDev||!I,H=I&&!U;P&&S&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:S,serverActionsManifest:P});let D=e.method||"GET",L=(0,s.getTracer)(),M=L.getActiveScopeSpan(),F={params:R,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>k.onRequestError(e,t,n,a,T)},sharedContext:{buildId:w}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let i=async e=>k.handle(J,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${v}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&N&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=F.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(B,K,s,F.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,T),t}},u=await k.handleResponse({req:e,nextConfig:C,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:j,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:o});if(!I)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let y=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&I||y.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||y.get("Cache-Control")||y.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(B,K,new Response(u.value.body,{headers:y,status:u.value.status||200})),null};M?await l(M):await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${D} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l))}catch(t){if(t instanceof y.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,T),I)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>T,"routeModule",()=>k,"serverHooks",()=>E,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>b],358142)}];
|
|
71
71
|
|
|
72
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
72
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__3a93931b._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function s(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>n,"transactionFn",()=>s])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),a=e.i(814747);let n="3.35.0",s=["json1"],o=["fts5"],i=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,d){let c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(p.v,n)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${n}`,found:p.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),s))l(u,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(t),{execSync:s}=e.r(233405);if("darwin"===r.default.platform()){let e=s(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(d);m&&i.some(e=>m.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${m})`,path:d,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(u,"journal_mode = wal"),(0,t.pragmaSet)(u,"foreign_keys = 1"),(0,t.pragmaSet)(u,"busy_timeout = 5000"),(0,t.pragmaSet)(u,"synchronous = 1"),(0,t.pragmaSet)(u,"cache_size = -64000");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(u,"journal_mode = DELETE");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(u,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},
|
|
1
|
+
module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function s(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>n,"transactionFn",()=>s])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),a=e.i(814747);let n="3.35.0",s=["json1"],o=["fts5"],i=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,d){let c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(p.v,n)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${n}`,found:p.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),s))l(u,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(t),{execSync:s}=e.r(233405);if("darwin"===r.default.platform()){let e=s(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(d);m&&i.some(e=>m.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${m})`,path:d,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(u,"journal_mode = wal"),(0,t.pragmaSet)(u,"foreign_keys = 1"),(0,t.pragmaSet)(u,"busy_timeout = 5000"),(0,t.pragmaSet)(u,"synchronous = 1"),(0,t.pragmaSet)(u,"cache_size = -64000");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(u,"journal_mode = DELETE");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(u,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},780188,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),n=e.i(759756),s=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),h=e.i(626937),f=e.i(10372),x=e.i(193695);e.i(52474);var R=e.i(600220),g=e.i(89171),E=e.i(254799),v=e.i(960447);let _=new Set(["outcome","decision","pattern","gotcha"]);async function y(e){try{let{agent_id:t,task_id:r,memories:a}=await e.json();if(!t||!r)return g.NextResponse.json({error:"agent_id and task_id required"},{status:400});if(!Array.isArray(a)||0===a.length)return g.NextResponse.json({inserted:0});let n=(0,v.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
|
|
2
2
|
VALUES (?, ?, ?, ?, ?, ?, ?)`),s=0,o=Date.now();for(let e of a){if(!_.has(e.memory_type)||!e.content?.trim())continue;let a=(0,E.createHash)("sha256").update(e.content.trim()).digest("hex");n.run((0,E.randomUUID)(),t,r,e.memory_type,e.content.trim(),a,o).changes>0&&s++}return g.NextResponse.json({inserted:s})}catch(e){return console.error("[api/memories] POST error:",e),g.NextResponse.json({error:"Failed to store memories"},{status:500})}}async function w(e){let{searchParams:t}=new URL(e.url),r=t.get("task_id"),a=t.get("agent_id");if(!r&&!a)return g.NextResponse.json({error:"task_id or agent_id query parameter required"},{status:400});try{let e,t=(0,v.getSQLiteDb)();return e=r?t.prepare("SELECT * FROM agent_memory WHERE task_id = ? ORDER BY created_at ASC").all(r):t.prepare("SELECT * FROM agent_memory WHERE agent_id = ? ORDER BY created_at ASC").all(a),g.NextResponse.json({memories:e})}catch(e){return console.error("[api/memories] GET error:",e),g.NextResponse.json({error:"Failed to fetch memories"},{status:500})}}e.s(["GET",()=>w,"POST",()=>y],286835);var A=e.i(286835);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/memories/route",pathname:"/api/memories",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/memories/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:C,workUnitAsyncStorage:b,serverHooks:T}=S;function L(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:b})}async function N(e,t,a){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/memories/route";g=g.replace(/\/index$/,"")||"/";let E=await S.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:_,nextConfig:y,parsedUrl:w,isDraftMode:A,prerenderManifest:C,routerServerContext:b,isOnDemandRevalidate:T,revalidateOnlyGenerated:L,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:q}=E,k=(0,i.normalizeAppPath)(g),j=!!(C.dynamicRoutes[k]||C.routes[N]),I=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,w,!1):t.end("This page could not be found"),null);if(j&&!A){let e=!!C.routes[N],t=C.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await I();throw new x.NoFallbackError}}let P=null;!j||S.isDev||A||(P="/index"===(P=N)?"/":P);let U=!0===S.isDev||!j,D=j&&!U;q&&O&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:O,serverActionsManifest:q});let M=e.method||"GET",$=(0,s.getTracer)(),F=$.getActiveScopeSpan(),H={params:_,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>S.onRequestError(e,t,a,n,b)},sharedContext:{buildId:v}},G=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let o=async e=>S.handle(K,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.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 a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${g}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&T&&L&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=H.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(G,B,s,H.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[f.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,b),t}},d=await S.handleResponse({req:e,nextConfig:y,cacheKey:P,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:L,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:i});if(!j)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&j||x.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(G,B,new Response(d.value.body,{headers:x,status:d.value.status||200})),null};F?await l(F):await $.withPropagatedContext(e.headers,()=>$.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:T})},!1,b),j)throw t;return await (0,p.sendResponse)(G,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>L,"routeModule",()=>S,"serverHooks",()=>T,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>b],780188)}];
|
|
3
3
|
|
|
4
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
4
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__3c1403f2._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[
|
|
1
|
+
module.exports=[446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let i=Object.values(r);return i.length>0?i[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function i(e,t){e.exec(`PRAGMA ${t}`)}function n(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function l(e,t){return(...r)=>{e.exec("BEGIN");try{let i=t(...r);return e.exec("COMMIT"),i}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>i,"transaction",()=>n,"transactionFn",()=>l])},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),i=e.i(814747);let n="3.35.0",l=["json1"],s=["fts5"],a=["nfs","smb","cifs","efs","fuse.sshfs"];function o(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function d(d,c){let u=[],p=d.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),i=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(i[e]||0);if(0!==t)return t}return 0}(p.v,n)&&u.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${n}`,found:p.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),l))o(d,e)||u.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of s)o(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let f=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let n=i.default.resolve(t),{execSync:l}=e.r(233405);if("darwin"===r.default.platform()){let e=l(`df -T "${n}" 2>/dev/null || df "${n}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(c);f&&a.some(e=>f.toLowerCase().includes(e))&&u.push({kind:"filesystem_error",message:`Database path '${c}' is on a network filesystem (${f})`,path:c,found:f,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(d,"journal_mode = wal"),(0,t.pragmaSet)(d,"foreign_keys = 1"),(0,t.pragmaSet)(d,"busy_timeout = 5000"),(0,t.pragmaSet)(d,"synchronous = 1"),(0,t.pragmaSet)(d,"cache_size = -64000");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(d,"journal_mode = DELETE");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(d,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):u.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){u.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return u}e.s(["validateSQLiteEnvironment",()=>d])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},457431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(960447);return t()}e.i(949041),e.s(["createAdminDbClient",()=>t])},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},737175,e=>{"use strict";var t=e.i(902157),r=e.i(750227),i=e.i(874533),n=e.i(960447);let l=null,s=new Map;function a(e){return e.replace(/\s+/g," ").trim()}function o(e){return e.replace(/<br\s*\/?>/gi,"\n").replace(/<\/(p|h1|h2|h3|h4|h5|h6|li|tr|div)>/gi,"\n").replace(/<li[^>]*>/gi,"• ").replace(/<[^>]*>/g,"").replace(/&#x([0-9a-f]+);/gi,(e,t)=>{let r=Number.parseInt(t,16);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/&#([0-9]+);/g,(e,t)=>{let r=Number.parseInt(t,10);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/ /g," ").replace(/\r/g,"").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function d(e){return"claude"===e||"codex"===e||"gemini"===e||"zai"===e?e:null}function c(e){return"claude"===e?"claude-code":"codex"===e?"codex":"gemini"===e?"gemini-cli":"zai"===e?"claude-code":null}function u(e){return r.default.join(process.cwd(),".agents","skills",e,"SKILL.md")}function p(){let e=r.default.join(process.cwd(),".agents","skills");return t.default.existsSync(e)?t.default.readdirSync(e,{withFileTypes:!0}).filter(i=>i.isDirectory()&&t.default.existsSync(r.default.join(e,i.name,"SKILL.md"))).map(e=>e.name).sort((e,t)=>e.localeCompare(t)):[]}async function f(){if(l&&Date.now()-l.loadedAt<36e5)return l.data;try{let e=await fetch("https://skills.sh");if(!e.ok)return[];let t=await e.text(),r=t.indexOf("initialSkills");if(-1===r)return[];let i=t.indexOf(":[",r);if(-1===i)return[];let n=i+1,s=0,a=n;for(let e=n;e<t.length;e+=1)if("["===t[e]&&(s+=1),"]"===t[e]&&(s-=1),0===s){a=e+1;break}let o=t.slice(n,a).replace(/\\"/g,'"'),d=JSON.parse(o).map((e,t)=>({rank:t+1,name:e.name??e.skillId??"",skillId:e.skillId??e.name??"",repo:e.source??"",installs:"number"==typeof e.installs?e.installs:0}));return l={loadedAt:Date.now(),data:d},d}catch{return[]}}async function m(e,t){let r=`${e}/${t}`,i=s.get(r);if(i&&Date.now()-i.loadedAt<36e5)return i.data;try{let i=await fetch(`https://skills.sh/${e}/${t}`);if(!i.ok)return null;let n=await i.text(),l=function(e){let t=e.match(/<div class="prose[^>]*>([\s\S]*?)<\/div>\s*<\/div>\s*<\/div>\s*<\/div>\s*<div class=" lg:col-span-3">/i);if(t?.[1])return t[1];let r=e.indexOf('<div class="prose');if(-1===r)return"";let i=e.indexOf(">",r);if(-1===i)return"";let n=e.indexOf('<div class=" lg:col-span-3">',i);return -1===n?"":e.slice(i+1,n).replace(/\s*<\/div>\s*$/i,"").trim()}(n),d=l.match(/<h1[^>]*>([\s\S]*?)<\/h1>/i),c=d?a(o(d[1])):"",u=(d?l.slice((d.index??0)+d[0].length):l).match(/<p[^>]*>([\s\S]*?)<\/p>/i),p=u?a(o(u[1])):"",f=[],m=l.match(/<h2[^>]*>\s*When to Use This Skill\s*<\/h2>([\s\S]*?)(?:<h2[^>]*>|$)/i);if(m){let e=m[1].match(/<ul[^>]*>([\s\S]*?)<\/ul>/i);if(e){let t=/<li[^>]*>([\s\S]*?)<\/li>/gi,r=null;for(;null!==(r=t.exec(e[1]));){let e=a(o(r[1]));e&&f.push(e)}}}let g=n.match(/Weekly\s+Installs[\s\S]{0,240}?>([\d,.]+[KkMm]?)<\/div>/i)?.[1]??"",h=n.match(/First\s+[Ss]een[\s\S]{0,240}?>([A-Za-z]{3}\s+\d{1,2},\s+\d{4})<\/div>/i)?.[1]??"",v=n.match(/\\"command\\":\\"((?:[^"\\]|\\.)*)\\"/),_=v?v[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\").trim():`npx skills add ${e} --skill ${t}`,k={title:c,description:p,whenToUse:f,weeklyInstalls:g,firstSeen:h,installCommand:_};return s.set(r,{loadedAt:Date.now(),data:k}),k}catch{return null}}function g(e){(0,n.getSQLiteDb)().prepare(`INSERT INTO skill_learning_history
|
|
2
2
|
(provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at)
|
|
3
3
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(e.provider,e.repo,e.skill_id,e.skill_label,e.status,e.command,e.error,e.run_started_at,e.run_completed_at,e.created_at,e.updated_at)}function h(e=50,t){let r=(0,n.getSQLiteDb)(),i=[],l="",s=t?d(t):null;return s&&(l="WHERE provider = ?",i.push(s)),i.push(e),r.prepare(`SELECT id, provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at
|
|
4
4
|
FROM skill_learning_history
|
|
@@ -12,4 +12,4 @@ module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:pat
|
|
|
12
12
|
VALUES (?, ?, ?, ?)
|
|
13
13
|
ON CONFLICT(agent_id, repo, skill_id) DO UPDATE SET condition = excluded.condition`).run(e,t.repo,t.skillId,t.condition);return n(e)}function s(e){return e.toLowerCase().replace(/[^a-z0-9]+/g," ").replace(/\s+/g," ").trim()}function a(e){let t=new Set,r=[];for(let i of s(e).split(" "))i.length<4||t.has(i)||(t.add(i),r.push(i));return r}function o(e,r,n){let l=[];for(let o of e){if(!function(e,t){let r=s(t);if(!r)return!1;if((e.condition?e.condition.split(/\n|,|;|\|/g).map(e=>s(e)).filter(e=>e.length>=4):[]).some(e=>r.includes(e)))return!0;let i=e.repo.split("/").filter(Boolean).pop()??e.repo;return[...a(e.skillId),...a(i)].some(e=>r.includes(e))}(o,r))continue;let e=(0,i.installedSkillPath)(o.skillId);(t.default.existsSync(e)||(0,i.installSkill)({repo:o.repo,skillId:o.skillId,providers:[n]}).ok)&&l.push({file:e,...o.condition?{condition:o.condition}:{}})}return l}e.s(["getAgentSkillBindings",()=>n,"resolveBoundSkillFiles",()=>o,"setAgentSkillBindings",()=>l])},384776,e=>{"use strict";var t=e.i(762294),r=e.i(149953),i=e.i(949041);async function n(){let e=await (0,t.getAgents)(i.LOCAL_USER.id),n=new Map,l=new Map;return await Promise.all(e.map(async e=>{n.set(e.id,await (0,t.getAgentSkills)(e.id)),l.set(e.id,await (0,r.getAgentSkillBindings)(e.id))})),e.map(e=>({id:e.id,name:e.name,...e.title?{title:e.title}:{},provider:e.provider||"claude",model:e.model||null,color:e.color||"#6B7280",...e.description?{identity:e.description}:{},...e.voice?{voice:e.voice}:{},...e.seed?{seed:e.seed}:{},...n.get(e.id)?.length?{skills:n.get(e.id).map(e=>({file:e.file,condition:e.condition??""}))}:{},...l.get(e.id)?.length?{skillBindings:l.get(e.id)}:{}}))}function l(e,t){if(!Array.isArray(t))return e;let r=new Set,i=[];for(let e of t){if("string"!=typeof e)continue;let t=e.trim();!t||r.has(t)||(r.add(t),i.push(t))}let n=new Set(i),l=e.filter(e=>n.has(e.id));if(i.length>0&&0===l.length)return e;let s=new Map(i.map((e,t)=>[e,t]));return l.sort((e,t)=>(s.get(e.id)??Number.MAX_SAFE_INTEGER)-(s.get(t.id)??Number.MAX_SAFE_INTEGER))}e.s(["filterActiveParticipants",()=>l,"loadDbParticipants",()=>n])},723965,e=>{"use strict";var t=e.i(747909),r=e.i(174017),i=e.i(996250),n=e.i(759756),l=e.i(561916),s=e.i(174677),a=e.i(869741),o=e.i(316795),d=e.i(487718),c=e.i(995169),u=e.i(47587),p=e.i(666012),f=e.i(570101),m=e.i(626937),g=e.i(10372),h=e.i(193695);e.i(52474);var v=e.i(600220),_=e.i(762294),k=e.i(149953),S=e.i(960447),E=e.i(949041),y=e.i(384776),x=e.i(41334);async function R(){return Response.json(await (0,y.loadDbParticipants)())}function w(e){return"string"==typeof e&&e.trim()?e.trim():void 0}function A(e,t){let r,i=w(e.name),n=w(e.provider),l=w(e.model),s=w(e.id)??t;if(!s||!i||!n||!l)return null;let a=w(e.title),o=w(e.identity),d=w(e.identityFile),c=function(e){if(!Array.isArray(e))return;let t=e.map(e=>"string"==typeof e?{file:e.trim(),condition:""}:e&&"object"==typeof e&&"file"in e?{file:String(e.file??"").trim(),condition:String(e.condition??"").trim()}:null).filter(e=>null!==e&&e.file.length>0);return t.length>0?t:void 0}(e.skills),u=function(e){if(!Array.isArray(e))return;let t=e.map(e=>{if(!e||"object"!=typeof e||Array.isArray(e))return null;let t=String(e.repo??"").trim(),r=String(e.skillId??e.skill_id??"").trim();if(!t||!r)return null;let i=String(e.condition??"").trim();return{repo:t,skillId:r,...i?{condition:i}:{}}}).filter(e=>!!e);return t.length>0?t:void 0}(e.skillBindings),p=w(e.color)??"#6B7280";if(e.variables&&"object"==typeof e.variables&&!Array.isArray(e.variables)){let t=e.variables,i={};for(let[e,r]of Object.entries(t))"string"==typeof r&&(i[e]=r);Object.keys(i).length>0&&(r=i)}return{id:s,name:i,provider:n,model:l,color:p,...a?{title:a}:{},...o?{identity:o}:{},...w(e.voice)?{voice:w(e.voice)}:{},...w(e.seed)?{seed:w(e.seed)}:{},...d?{identityFile:d}:{},...c?{skills:c}:{},...u?{skillBindings:u}:{},...r?{variables:r}:{}}}async function b(e){let t,r=await e.json().catch(()=>({})),i=w(r.name),n=A(r,i?i.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-"):void 0);if(!n)return Response.json({error:"name, provider, and model required"},{status:400});try{t=await (0,_.createAgent)(E.LOCAL_USER.id,{id:n.id,name:n.name,title:n.title,style:"balanced",description:n.identity,model:n.model??void 0,provider:n.provider,color:n.color,voice:w(r.voice),seed:w(r.seed)}),await (0,_.setAgentSkills)(t.id,n.skills??[]),await (0,k.setAgentSkillBindings)(t.id,n.skillBindings??[]),(0,x.ensureAgent)(t.id,{voice:w(r.voice),seed:w(r.seed)})}catch(e){return console.error("Failed to create agent in DB:",e),Response.json({error:"Failed to create agent"},{status:500})}let l={id:t.id,name:t.name,...t.title||n.title?{title:t.title||n.title}:{},provider:t.provider||n.provider||"claude",model:t.model||n.model||null,color:t.color||n.color||"#6B7280",...t.description||n.identity?{identity:t.description||n.identity}:{},...t.voice||n.voice?{voice:t.voice||n.voice}:{},...t.seed||n.seed?{seed:t.seed||n.seed}:{},...n.skills?.length?{skills:n.skills}:{},...n.skillBindings?.length?{skillBindings:n.skillBindings}:{}},s=w(r.projectId)??w(r.teamId);if(s)try{(0,S.getSQLiteDb)().prepare("INSERT OR IGNORE INTO project_agents (project_id, agent_id, routing_order) VALUES (?, ?, (SELECT COALESCE(MAX(routing_order), -1) + 1 FROM project_agents WHERE project_id = ?))").run(s,l.id,s)}catch(e){console.error("Failed to assign agent to project:",e)}return Response.json(l,{status:201})}async function C(e){let t,r=await e.json().catch(()=>({})),i=A(r);if(!i)return Response.json({error:"id, name, provider, and model required"},{status:400});try{t=await (0,_.updateAgent)(i.id,E.LOCAL_USER.id,{name:i.name,title:i.title,description:i.identity,model:i.model??void 0,provider:i.provider,color:i.color,voice:w(r.voice),seed:w(r.seed)}),await (0,_.setAgentSkills)(i.id,i.skills??[]),await (0,k.setAgentSkillBindings)(i.id,i.skillBindings??[]),(0,x.ensureAgent)(i.id,{voice:w(r.voice),seed:w(r.seed)})}catch(e){return console.error("Failed to update agent in DB:",e),Response.json({error:"Failed to update agent"},{status:500})}if(!t)return Response.json({error:"Agent not found"},{status:404});let n={id:t.id,name:t.name,...t.title||i.title?{title:t.title||i.title}:{},provider:t.provider||i.provider||"claude",model:t.model||i.model||null,color:t.color||i.color||"#6B7280",...t.description||i.identity?{identity:t.description||i.identity}:{},...t.voice||i.voice?{voice:t.voice||i.voice}:{},...t.seed||i.seed?{seed:t.seed||i.seed}:{},...i.skills?.length?{skills:i.skills}:{},...i.skillBindings?.length?{skillBindings:i.skillBindings}:{}};return Response.json(n)}async function L(e){let t=await e.json().catch(()=>({}));if(!Array.isArray(t.orderedIds)||t.orderedIds.some(e=>"string"!=typeof e))return Response.json({error:"orderedIds must be a string array"},{status:400});let r=await (0,y.loadDbParticipants)(),i=new Map(t.orderedIds.map((e,t)=>[e,t]));return r.sort((e,t)=>(i.get(e.id)??999)-(i.get(t.id)??999)),Response.json(r)}async function I(e){let{searchParams:t}=new URL(e.url),r=t.get("id");if(!r)return Response.json({error:"id required"},{status:400});try{await (0,_.deleteAgent)(r,E.LOCAL_USER.id)}catch(e){console.error("Failed to delete agent from DB:",e)}return Response.json({ok:!0})}e.s(["DELETE",()=>I,"GET",()=>R,"PATCH",()=>C,"POST",()=>b,"PUT",()=>L,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],490158);var O=e.i(490158);let T=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/participants/route",pathname:"/api/participants",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/participants/route.ts",nextConfigOutput:"standalone",userland:O}),{workAsyncStorage:D,workUnitAsyncStorage:j,serverHooks:N}=T;function B(){return(0,i.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:j})}async function q(e,t,i){T.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/participants/route";_=_.replace(/\/index$/,"")||"/";let k=await T.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:S,params:E,nextConfig:y,parsedUrl:x,isDraftMode:R,prerenderManifest:w,routerServerContext:A,isOnDemandRevalidate:b,revalidateOnlyGenerated:C,resolvedPathname:L,clientReferenceManifest:I,serverActionsManifest:O}=k,D=(0,a.normalizeAppPath)(_),j=!!(w.dynamicRoutes[D]||w.routes[L]),N=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,x,!1):t.end("This page could not be found"),null);if(j&&!R){let e=!!w.routes[L],t=w.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await N();throw new h.NoFallbackError}}let B=null;!j||T.isDev||R||(B="/index"===(B=L)?"/":B);let q=!0===T.isDev||!j,M=j&&!q;O&&I&&(0,s.setManifestsSingleton)({page:_,clientReferenceManifest:I,serverActionsManifest:O});let P=e.method||"GET",$=(0,l.getTracer)(),F=$.getActiveScopeSpan(),U={params:E,prerenderManifest:w,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:q,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,i,n)=>T.onRequestError(e,t,i,n,A)},sharedContext:{buildId:S}},H=new o.NodeNextRequest(e),G=new o.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(H,(0,d.signalFromNodeResponse)(t));try{let s=async e=>T.handle(K,U).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${P} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t)}else e.updateName(`${P} ${_}`)}),a=!!(0,n.getRequestMeta)(e,"minimalMode"),o=async n=>{var l,o;let d=async({previousCacheEntry:r})=>{try{if(!a&&b&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let l=await s(n);e.fetchMetrics=U.renderOpts.fetchMetrics;let o=U.renderOpts.pendingWaitUntil;o&&i.waitUntil&&(i.waitUntil(o),o=void 0);let d=U.renderOpts.collectedTags;if(!j)return await (0,p.sendResponse)(H,G,l,U.renderOpts.pendingWaitUntil),null;{let e=await l.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(l.headers);d&&(t[g.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,i=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:l.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==r?void 0:r.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,A),t}},c=await T.handleResponse({req:e,nextConfig:y,cacheKey:B,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:w,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:C,responseGenerator:d,waitUntil:i.waitUntil,isMinimalMode:a});if(!j)return null;if((null==c||null==(l=c.value)?void 0:l.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(o=c.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});a||t.setHeader("x-nextjs-cache",b?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,f.fromNodeOutgoingHttpHeaders)(c.value.headers);return a&&j||h.delete(g.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(H,G,new Response(c.value.body,{headers:h,status:c.value.status||200})),null};F?await o(F):await $.withPropagatedContext(e.headers,()=>$.trace(c.BaseServerSpan.handleRequest,{spanName:`${P} ${_}`,kind:l.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},o))}catch(t){if(t instanceof h.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:b})},!1,A),j)throw t;return await (0,p.sendResponse)(H,G,new Response(null,{status:500})),null}}e.s(["handler",()=>q,"patchFetch",()=>B,"routeModule",()=>T,"serverHooks",()=>N,"workAsyncStorage",()=>D,"workUnitAsyncStorage",()=>j],723965)}];
|
|
14
14
|
|
|
15
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
15
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__40e9e2e8._.js.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module.exports=[924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},97812,e=>{"use strict";var t=e.i(960447),r=e.i(259833);e.i(201037);var a=e.i(200866),n=e.i(434542);let i=new Set(["replan","rollback"]);class o extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}}class s extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class d extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class u extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function p(e){return null==e?null:JSON.stringify(e)}function c(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function l(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function g(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function h(e){if(!(0,n.isAutomationFrontmatterEnabled)()||!e.schedule)return;let t=(0,n.getAutomationRepository)(),r=(0,a.graphAutomationToDefinition)({graphId:e.id,taskId:e.taskId,schedule:e.schedule,createdAt:e.createdAt,updatedAt:e.updatedAt,executionState:e.executionState});t.upsertAutomation(r),t.updateAutomationState(e.id,{nextRunAt:e.schedule.nextTickAt,lastRunAt:e.schedule.lastTickAt,updatedAt:e.updatedAt,runCount:e.schedule.runCount,consecutiveFailures:e.schedule.consecutiveFailures,tickInProgress:e.schedule.tickInProgress})}function m(e){let r=e.trim();if(!r)return null;let a=(0,t.getSQLiteDb)().prepare(`SELECT task_id AS taskId
|
|
2
|
+
FROM execution_graphs
|
|
3
|
+
WHERE id = ?
|
|
4
|
+
LIMIT 1`).get(r);return a?.taskId??null}function E(e){let{type:t,status:r,metrics:a,output:n,...i}=e;return{type:t,status:r,config:i,output:n??null,metrics:a??null}}function f(e){let t={...g(c(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=l(e.timestamp)),t}function _(e){return{query(t,r){let a=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(a.run(...(r??[]).map(e=>e)),{rows:[]}):{rows:a.all(...(r??[]).map(e=>e))}}}}class y{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let a=this.getDb(),n=_(a);t?.skipTaskBinding&&(0,r.pragmaSet)(a,"foreign_keys = OFF");try{return(0,r.transaction)(a,()=>{let r=n.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new u(e.taskId,r.id);for(let[t,r]of(n.query(`INSERT INTO execution_graphs
|
|
5
|
+
(id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at)
|
|
6
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
7
|
+
ON CONFLICT (id) DO UPDATE SET
|
|
8
|
+
task_id = excluded.task_id,
|
|
9
|
+
graph_version = excluded.graph_version,
|
|
10
|
+
mode = excluded.mode,
|
|
11
|
+
policy = excluded.policy,
|
|
12
|
+
done_criteria = excluded.done_criteria,
|
|
13
|
+
schedule = excluded.schedule,
|
|
14
|
+
created_at = excluded.created_at,
|
|
15
|
+
updated_at = excluded.updated_at`,[e.id,e.taskId,e.graphVersion,e.mode,p(e.policy),p(e.doneCriteria),p(e.schedule??null),e.createdAt,e.updatedAt]),n.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),n.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let a=E(r);n.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
|
|
16
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,a.type,a.status,p(a.config),p(a.output),p(a.metrics)])}for(let t of e.edges)n.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
|
|
17
|
+
VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,p(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(n,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(n,e.id,t);t?.skipTaskBinding||n.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let a=this.getGraphForTask(n,e.taskId);if(!a)throw new s(e.id);return h(a),a})}finally{t?.skipTaskBinding&&(0,r.pragmaSet)(a,"foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(_(t),e)}updateNodeRuntime(e,t,a){let n=this.getDb(),i=_(n);return(0,r.transaction)(n,()=>{if(!i.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new s(e);let r=Object.keys(t);if(0===r.length){let t=i.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:l(t.rows[0].updated_at)}}let a=r.map(()=>"?").join(", "),n=i.query(`SELECT node_id, type, status, config, output, metrics
|
|
18
|
+
FROM graph_nodes WHERE graph_id = ? AND node_id IN (${a})`,[e,...r]),o=new Map;for(let e of n.rows)o.set(e.node_id,e);let u=r.filter(e=>!o.has(e));if(u.length>0)throw new d(e,u);for(let a of r){let r=t[a],n=o.get(a);if(!n||!r)continue;let s={...g(c(n.config)),...g(r.configPatch)};void 0!==r.startedAt&&(s.startedAt=r.startedAt),void 0!==r.completedAt&&(s.completedAt=r.completedAt),void 0!==r.actualMinutes&&(s.actualMinutes=r.actualMinutes),i.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
|
|
19
|
+
WHERE graph_id = ? AND node_id = ?`,[r.status??n.status,p(r.metrics??c(n.metrics)),p(r.output??c(n.output)),p(s),e,a])}let h=i.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:h.rows[0].graph_version,updatedAt:l(h.rows[0].updated_at)}})}updateGraphStructure(e,t,a){let n=this.getDb(),i=_(n);return(0,r.transaction)(n,()=>{let r=i.query("SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new s(e);if(t.nodes)for(let[r,a]of(i.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=E(a);i.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
|
|
20
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,p(t.config),p(t.output),p(t.metrics)])}if(t.edges)for(let r of(i.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))i.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
|
|
21
|
+
VALUES (?, ?, ?, ?, ?, ?)`,[e,r.from,r.to,r.type,r.condition??null,p(r.dataMapping??null)]);let a=i.query(`UPDATE execution_graphs
|
|
22
|
+
SET mode = ?, policy = ?, done_criteria = ?, schedule = ?, updated_at = datetime('now')
|
|
23
|
+
WHERE id = ?
|
|
24
|
+
RETURNING graph_version, updated_at`,[t.mode??r.mode,p(t.policy??c(r.policy)??{}),p(t.doneCriteria??c(r.done_criteria)??{}),p(t.schedule??c(r.schedule)??null),e]);if(void 0!==t.schedule){let e=this.getGraphForTask(i,r.task_id);e?.schedule&&h(e)}return{graphVersion:a.rows[0].graph_version,updatedAt:l(a.rows[0].updated_at)}})}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(_(r),e,t)}getGraphForTask(e,t){let r=e.query(`SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule, created_at, updated_at
|
|
25
|
+
FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!r)return null;let o=e.query(`SELECT node_id, type, status, config, output, metrics
|
|
26
|
+
FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[r.id]),s=e.query(`SELECT from_id, to_id, type, condition, data_mapping
|
|
27
|
+
FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[r.id]),d=e.query(`SELECT event_type, payload, timestamp
|
|
28
|
+
FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[r.id]),u={};for(let e of o.rows)u[e.node_id]=function(e){let t={...g(c(e.config)),type:e.type,status:e.status},r=c(e.metrics);null!==r&&(t.metrics=r);let a=c(e.output);return null!==a&&(t.output=a),t}(e);let p=s.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:c(e.condition)}:{},...e.data_mapping?{dataMapping:c(e.data_mapping)}:{}})),h=[],m=[];for(let e of d.rows){let t=f(e);i.has(t.eventType)?h.push(t):m.push(t)}var E={id:r.id,taskId:r.task_id,graphVersion:r.graph_version,mode:r.mode,nodes:u,edges:p,policy:c(r.policy)??{},doneCriteria:c(r.done_criteria)??{},schedule:c(r.schedule)??void 0,versionHistory:h,runtimeEvents:m,createdAt:l(r.created_at),updatedAt:l(r.updated_at)};if(!(0,n.isAutomationFrontmatterEnabled)())return E;let _=(0,n.getAutomationRepository)().getAutomation(E.id);return _&&"execution_graph"===_.definition.target.type?{...E,schedule:(0,a.automationRecordToGraphSchedule)(_,E.schedule)}:E}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
|
|
29
|
+
VALUES (?, ?, ?, ?)`,[t,r.eventType,p(r),r.timestamp])}}function I(){return new y}let T=new y;function S(e,t){return T.createGraph(e,t)}function A(e){return T.getGraph(e)}function v(e,t,r){return T.updateNodeRuntime(e,t,r)}function R(e,t,r){return T.updateGraphStructure(e,t,r)}function k(e,t){return T.appendEvent(e,t)}function N(e,r={}){let a=["graph_id = ?"],n=[e];r.eventType&&(a.push("event_type = ?"),n.push(r.eventType)),r.since&&(a.push("timestamp >= ?"),n.push(r.since));let i=r.limit??1e3,o=`SELECT event_type, payload, timestamp
|
|
30
|
+
FROM graph_events
|
|
31
|
+
WHERE ${a.join(" AND ")}
|
|
32
|
+
ORDER BY timestamp ASC, event_type ASC
|
|
33
|
+
LIMIT ?`;return n.push(i),_((0,t.getSQLiteDb)()).query(o,n).rows.map(e=>f(e))}function C(e){let r=e.trim();if(!r)return null;if((0,n.isAutomationFrontmatterEnabled)()){let e=(0,n.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active",rootMessageId:r})[0];if(e?.definition.target.type==="execution_graph"){let t=e.definition.target.graphId??e.definition.id,r=e.definition.target.taskId??m(t);if(r)return{graphId:t,taskId:r}}if(!(0,n.isAutomationDualReadEnabled)())return null}return(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
|
|
34
|
+
FROM execution_graphs
|
|
35
|
+
WHERE schedule IS NOT NULL
|
|
36
|
+
AND json_extract(schedule, '$.rootMessageId') = ?
|
|
37
|
+
AND json_extract(schedule, '$.state') = 'active'
|
|
38
|
+
ORDER BY updated_at DESC
|
|
39
|
+
LIMIT 1`).get(r)??null}function b(){let e=new Set;if((0,n.isAutomationFrontmatterEnabled)()){for(let t of(0,n.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active"}))"execution_graph"===t.definition.target.type&&t.definition.target.rootMessageId&&e.add(t.definition.target.rootMessageId);if(!(0,n.isAutomationDualReadEnabled)())return[...e]}for(let r of(0,t.getSQLiteDb)().prepare(`SELECT json_extract(schedule, '$.rootMessageId') AS rootMessageId
|
|
40
|
+
FROM execution_graphs
|
|
41
|
+
WHERE schedule IS NOT NULL
|
|
42
|
+
AND json_extract(schedule, '$.state') = 'active'`).all())r.rootMessageId&&e.add(r.rootMessageId);return[...e]}function O(e){let r=e.trim();if(!r)return 0;let a=0;if((0,n.isAutomationFrontmatterEnabled)()){for(let e of(0,n.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active",rootMessageId:r})){if("execution_graph"!==e.definition.target.type)continue;let t=e.definition.target.graphId??e.definition.id,r=e.definition.target.taskId??m(t);if(!r)continue;let n=A(r);n?.schedule&&(T.updateGraphStructure(n.id,{mode:n.mode,nodes:n.nodes,edges:n.edges,policy:n.policy,doneCriteria:n.doneCriteria,schedule:{...n.schedule,state:"stopped",tickInProgress:!1}},n.graphVersion),a+=1)}if(a>0||!(0,n.isAutomationDualReadEnabled)())return a}return Number((0,t.getSQLiteDb)().prepare(`UPDATE execution_graphs
|
|
43
|
+
SET schedule = json_set(schedule, '$.state', 'stopped', '$.tickInProgress', json('false')),
|
|
44
|
+
updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
|
|
45
|
+
WHERE schedule IS NOT NULL
|
|
46
|
+
AND json_extract(schedule, '$.rootMessageId') = ?
|
|
47
|
+
AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0)}e.s(["GraphNodeNotFoundError",()=>d,"GraphNotFoundError",()=>s,"GraphStore",()=>y,"GraphTaskAlreadyBoundError",()=>u,"GraphVersionConflictError",()=>o,"appendEvent",()=>k,"createGraph",()=>S,"createGraphStore",()=>I,"deactivateSchedulesByRootMessageId",()=>O,"getActiveScheduleForRootMessageId",()=>C,"getActiveScheduleRootMessageIds",()=>b,"getGraph",()=>A,"getGraphEvents",()=>N,"getTaskIdForGraphId",()=>m,"updateGraphStructure",()=>R,"updateNodeRuntime",()=>v])},579042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},306838,e=>{"use strict";var t=e.i(89171),r=e.i(949041),a=e.i(390081);async function n(e){let n=r.LOCAL_USER.id,i=await a.db.getTask(e.taskId,n);return i?{ok:!0,actor:{actorId:n,actorType:"service"},task:i,projectId:e.requestedProjectId??i.project_id??null}:{ok:!1,response:t.NextResponse.json({error:"Task not found"},{status:404})}}e.s(["authorizeGraphMutation",()=>n])},273122,277036,e=>{"use strict";function t(){return new Date().toISOString()}function r(e,t,r){return{actorId:e.actorId,actorType:e.actorType,action:t,...r?{projectId:r}:{}}}function a(e){return{eventType:"graph_created",timestamp:e.timestamp??t(),mode:e.mode,nodeCount:e.nodeCount,edgeCount:e.edgeCount,audit:r(e.actor,"graph_create",e.projectId)}}function n(e){return{eventType:"node_status",nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,timestamp:e.timestamp??t(),...e.reason?{reason:e.reason}:{},audit:r(e.actor,"node_status_transition",e.projectId)}}function i(e){return{eventType:"gate_verification",nodeId:e.nodeId,timestamp:e.timestamp??t(),result:e.result,audit:r(e.actor,"gate_verification",e.projectId)}}function o(e){return{eventType:"budget_consumed",budgetType:e.budgetType,remaining:e.remaining,triggerNodeId:e.triggerNodeId,timestamp:e.timestamp??t(),audit:r(e.actor,"budget_consumption",e.projectId)}}function s(e){return{eventType:"replan",fromVersion:e.fromVersion,toVersion:e.toVersion,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),triggeredAtNodeId:e.triggeredAtNodeId,changes:e.changes,audit:r(e.actor,"graph_replan",e.projectId)}}function d(e){return{eventType:"rollback",toCheckpoint:e.toCheckpoint,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),audit:r(e.actor,"graph_rollback",e.projectId)}}e.s(["buildBudgetConsumedEvent",()=>o,"buildGateVerificationEvent",()=>i,"buildGraphCreatedEvent",()=>a,"buildNodeStatusEvent",()=>n,"buildReplanEvent",()=>s,"buildRollbackEvent",()=>d],273122);let u={graphCreateCount:0,replanCount:0,rollbackCount:0,migrationFailureCount:0,gatePassCount:0,gateFailCount:0};function p(){u.graphCreateCount+=1}function c(){u.replanCount+=1}function l(){u.rollbackCount+=1}function g(){u.migrationFailureCount+=1}function h(e){if(e){u.gatePassCount+=1;return}u.gateFailCount+=1}e.s(["recordGateVerificationResult",()=>h,"recordGraphCreate",()=>p,"recordMigrationFailure",()=>g,"recordReplan",()=>c,"recordRollback",()=>l],277036)},123297,383131,e=>{"use strict";function t(e,t){if(void 0===e)return t;let r=e.trim().toLowerCase();return"1"===r||"true"===r||"yes"===r||"on"===r||"0"!==r&&"false"!==r&&"no"!==r&&"off"!==r&&t}function r(){return t(process.env.AGX_GRAPH_DUAL_WRITE,!0)}function a(){return t(process.env.AGX_GRAPH_PARITY_LOGGING,!0)}function n(){return!t(process.env.AGX_GRAPH_READ_PATH_KILL_SWITCH,!1)&&"v2"===(process.env.AGX_GRAPH_READ_PATH_MODE||"v1").trim().toLowerCase()}e.s(["isDualWriteEnabled",()=>r,"isParityLoggingEnabled",()=>a,"isV2ReadPathEnabled",()=>n],383131);let i=new Set(["done","passed","failed","skipped"]),o=new Set(["running","awaiting_human","blocked"]),s=new Set(["done","passed","skipped"]);function d(e,t){let r=String(e||"").trim().toUpperCase();return"INTAKE"===r||"PROGRESS"===r||"DONE"===r?r:t}function u(e){let t,r=Object.values(e.nodes);if(0===r.length)return"queued";let a=r.filter(e=>"gate"===e.type&&e.required).every(e=>"passed"===e.status||"skipped"===e.status);return 0!==(t=e.doneCriteria?.completionSinkNodeIds??[]).length&&t.every(t=>{let r=e.nodes[t];return!!(r&&s.has(r.status))})&&a||r.every(e=>i.has(e.status))&&a?"completed":r.some(e=>"failed"===e.status)?"failed":r.some(e=>"blocked"===e.status)?"blocked":r.some(e=>o.has(e.status))||r.filter(e=>"done"===e.status||"passed"===e.status).length>0?"in_progress":"queued"}function p(e,t="INTAKE"){let r,a,n=u(e),o="completed"===(r=u(e))?"DONE":"in_progress"===r||"blocked"===r||"failed"===r?"PROGRESS":t,s="completed"===n?100:0===(a=Object.values(e.nodes)).length?0:Math.max(0,Math.min(100,Math.round(a.filter(e=>i.has(e.status)).length/a.length*100)));return{status:n,stage:o,progressPercent:s}}function c(e){var t;let r,n,i,o,s,u=(t={taskId:e.task.id,source:e.source,legacy:{status:e.task.status,stage:e.task.stage,progressPercent:e.legacyProgressPercent??null},v2:p(e.graph,d(e.task.stage||"INTAKE","INTAKE"))},n=[],i="queued"===(r=String(t.legacy.status||"").trim().toLowerCase())||"in_progress"===r||"blocked"===r||"completed"===r||"failed"===r?r:"queued",o=d(t.legacy.stage,"INTAKE"),s=Number.isFinite(Number(t.legacy.progressPercent))?Number(t.legacy.progressPercent):null,(i!==t.v2.status&&n.push({field:"status",legacy:i,v2:t.v2.status}),o!==t.v2.stage&&n.push({field:"stage",legacy:o,v2:t.v2.stage}),null!==s&&s!==t.v2.progressPercent&&n.push({field:"progressPercent",legacy:s,v2:t.v2.progressPercent}),0===n.length)?null:{taskId:t.taskId,source:t.source,diffs:n});return u&&a()&&console.warn("[graph-parity-diff]",JSON.stringify(u)),u}e.s(["logParityDiff",()=>c,"projectLegacyCompatFromGraph",()=>p],123297)},688144,e=>{"use strict";var t=e.i(254799),r=e.i(579042);let a=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,n=/^#\s+(.+?)(?:\r?\n|$)/;function i(e){return"string"==typeof e?e.trim():""}function o(e,t){let r=i(t),o=i(e);if(!o)return r;let s=o.replace(a,"").trim();if(!s)return r;let d=s.match(n);if(!d)return s;let u=s.slice(d[0].length).trim();return u||d[1].trim()||r}let s={...r.DEFAULT_EXECUTION_POLICY,replanBudgetInitial:3,replanBudgetRemaining:3,verifyBudgetInitial:5,verifyBudgetRemaining:5,maxConcurrentAutoChecks:1,maxConcurrent:1,priorityMode:"fifo"};function d(e,r){let a=new Date().toISOString(),n={type:"root",status:"pending",deps:[],title:e.title||"Untitled task",objective:function(e){let t=i(e.description);if(t)return o(t,e.title);let r=i(e.content);if(r)return o(r,e.title);let a=i(e.objective);return a?o(a,e.title):i(e.title)}(e),graphCreated:!1,criteria:[]};return{id:r?.graphId??(0,t.randomUUID)(),taskId:e.id,graphVersion:1,mode:"SIMPLE",nodes:{root:n,plan:{type:"work",status:"pending",deps:["root"],title:"Generate execution plan",description:"Analyze the task and generate a detailed execution graph with work nodes, gates, and dependencies.",attempts:0,maxAttempts:2,retryPolicy:{backoffMs:5e3,onExhaust:"escalate"}},"plan-approval":{type:"gate",status:"pending",gateType:"approval_gate",required:!0,deps:["plan"],verificationStrategy:{type:"human"}}},edges:[{from:"root",to:"plan",type:"hard",condition:"always"},{from:"plan",to:"plan-approval",type:"hard",condition:"always"}],policy:{...s},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0,completionSinkNodeIds:["plan-approval"]},versionHistory:[],runtimeEvents:[],createdAt:a,updatedAt:a}}e.s(["createRootOnlyGraph",()=>d],688144)}];
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__42e602eb._.js.map
|