@mndrk/agx 2.0.41 → 2.0.44
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/.linear-token.json +4 -0
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +10 -2
- package/cloud-runtime/standalone/.next/build-manifest.json +8 -8
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/routes-manifest.json +64 -16
- package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/_global-error/page.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +7 -7
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/_not-found/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +16 -15
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +16 -15
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +8 -7
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/agents/page.js +3 -3
- 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 +20 -19
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +8 -7
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/pull/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +6 -4
- 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]/messages/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +7 -5
- 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 +6 -4
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/attachments/[id]/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/audit/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +9 -6
- 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 +5 -3
- 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 +10 -7
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/domains/[id]/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/file-read/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +5 -2
- 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 +7 -5
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/history/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/history/status/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +6 -4
- 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 +7 -5
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/auth/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/auth/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/auth/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/auth/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/mcp-setup/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/mcp-setup/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/mcp-setup/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/mcp-setup/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/mcp-setup/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/mcp-setup/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/mcp-setup/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/[id]/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/[id]/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/[id]/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/[id]/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/[id]/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/[id]/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/[id]/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/runs/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js +7 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/logs/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +7 -5
- 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 +7 -5
- 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 +7 -5
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +7 -5
- 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 +7 -5
- 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 +7 -5
- 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 +5 -3
- 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 +7 -5
- 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 +7 -5
- 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 +7 -5
- 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 +7 -5
- 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 +7 -5
- 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 +8 -6
- 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 +7 -5
- 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 +7 -5
- 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 +9 -6
- 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 +8 -6
- 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 +3 -3
- 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 +7 -5
- 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 +9 -7
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/reactions/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +7 -5
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +7 -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 +9 -6
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/search/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js +3 -3
- 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 +7 -5
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/system/db-status/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/task-drafts/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +6 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +8 -6
- 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 +7 -5
- 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 +8 -6
- 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 +8 -5
- 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 +9 -6
- 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 +9 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +12 -8
- 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 +7 -5
- 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 +7 -5
- 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 +11 -7
- 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 +13 -9
- 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 +11 -8
- 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 +7 -5
- 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 +3 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +7 -5
- 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 +9 -6
- 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]/logs/stream/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +5 -3
- 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 +11 -8
- 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 +11 -8
- 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 +11 -8
- 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 +11 -8
- 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 +11 -8
- 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 +12 -9
- 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 +9 -6
- 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 +7 -5
- 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 +7 -5
- 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 +11 -8
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/thread-export/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +6 -5
- 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 +6 -5
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/upload/[id]/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/upload/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +7 -5
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/userPreferences/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +11 -3
- package/cloud-runtime/standalone/.next/server/app/automations/page.js +3 -3
- 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 +21 -20
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +21 -20
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +8 -7
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +5 -5
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/board/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/board/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +17 -16
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +17 -16
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +8 -7
- 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 +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js +3 -3
- 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 +20 -19
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +8 -7
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +19 -18
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -5
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +19 -18
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +8 -7
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +4 -4
- package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/page.js +3 -3
- 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/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +11 -3
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js +3 -3
- 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/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js +3 -3
- 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/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +10 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js +16 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +8 -7
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/projects/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +8 -7
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/settings/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +8 -7
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/skills/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/skills/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/skills/page.js.nft.json +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 +20 -19
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +8 -7
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/status/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +8 -7
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +6 -6
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js +3 -3
- 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 +20 -19
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +20 -19
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +8 -7
- 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 +4 -4
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +10 -2
- package/cloud-runtime/standalone/.next/server/chunks/[externals]__29a2424c._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[externals]__64355ed1._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[externals]__d6ed3021._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[externals]_node:child_process_261e8bca._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0281ad06._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0284ea89._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__04c806f4._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__05243927._.js +29 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0c3dd73b._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0c4807d1._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0cc3f3b7._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0f6532d7._.js +93 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1017e012._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__13fe776f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1b96352c._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1be9b30e._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1dce6c15._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__22b7bf38._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__255b11f2._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__26817611._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__28524c6a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__294fceef._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2d15af44._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2d776aa6._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__314d5c41._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__349d67e7._.js +61 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__34efe92e._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__352dad6d._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42804c1d._.js +110 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__44ef900b._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4559476d._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__45a50de9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__46947325._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__46ad8e50._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4700e1b3._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49c04b15._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4a4265e0._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c2d07e0._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c5c536d._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c89c60a._.js +93 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__509b1dd2._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50ddd3ce._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__529a6e1c._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5650bac3._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__56dbe1a4._.js +39 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a042505._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a1fd688._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5d359afa._.js +21 -18
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5e5eb809._.js +61 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5fbc700c._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__621dcb4a._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__628d686b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6db132e9._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6dbe939c._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6fe5a96f._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__73b17f49._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74a37ca4._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__76290829._.js +29 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__76658fd6._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7c94b104._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7cade6c6._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7d4fa0fd._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__889996dd._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8a35d73b._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8b5fd676._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8c7d1318._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__91b51f33._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__92924218._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__94bd7f65._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9746d1f5._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98d58423._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9b69f93e._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9d3a2caa._.js +134 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a1e62918._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a2e17f69._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac9b93fd._.js +48 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ad4cb055._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ad6d6402._.js +29 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__af7a73fd._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b8f4e4a3._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bacb0193._.js +7 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bd11b2ad._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0919d7d._.js +101 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c1b28690._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c4ea4921._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c4ed5d83._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5025f86._.js +66 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c695a5f2._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c77efd85._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c9550a93._.js +39 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__cb5c7680._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__cf6082be._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d2ac93f2._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d3945cae._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d57e800e._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d8b615bf._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d9bd6334._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d9f2041b._.js +34 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__db469f1b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__dc542063._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__dd1cb250._.js +49 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__de2a1e43._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__dffa5183._.js +29 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e0994be2._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e20922e8._.js +13 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e3ecfd17._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4f01b5c._.js +97 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e5bad635._.js +44 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +14 -14
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f21849ad._.js +39 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f536cd2f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f9f7f2df._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fb1f7e58._.js +39 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fdb21d1b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_0a767dfe._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_110bf46e._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_22fe5fd2._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_2a5aeb76._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_2f3e5ac1._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_4689976f._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_65fd2525._.js +10 -0
- package/cloud-runtime/standalone/.next/server/chunks/_682c9d81._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_7011db4f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_9b10087f._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/_9dea7192._.js +10 -0
- package/cloud-runtime/standalone/.next/server/chunks/_a32a5cdd._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_a877d34f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_af7bd752._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_b0524599._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_c31ca6ab._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_c3c28282._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_d2ea7d84._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_e469c080._.js +10 -0
- package/cloud-runtime/standalone/.next/server/chunks/_ee99a36b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_fe32a267._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_agent-specs_pull_route_actions_33fd1f01.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_agent-specs_route_actions_3c4fd7d4.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_agents_[id]_profile_route_actions_e8d70dac.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_agents_export_route_actions_cc761823.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_attachments_[id]_route_actions_28040395.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_audit_route_actions_9d92fa80.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_automations_create_route_actions_ffb767ae.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_automations_route_actions_0112e2f7.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_route_actions_033ac330.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_route_actions_0c8cd01c.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat_route_actions_ac0c75e3.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_daemon_route_actions_89f9619f.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_domains_[id]_route_actions_36310215.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_domains_route_actions_8d8cc0aa.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_file-read_route_actions_a562d24d.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_file-search_route_actions_8af77a20.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_filesystem_browse_route_actions_8e268170.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_filesystem_pick-folder_route_actions_162664ff.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_health_route_actions_da3433c4.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_history_route_actions_f1813cd2.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_learnings_route_actions_c32db009.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_linear_auth_route_actions_6bba0ae0.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_linear_callback_route_actions_0fc8695c.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_linear_cycles_route_actions_9cbb85fe.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_linear_issues_route_actions_8f12f3b7.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_linear_mcp-setup_route_actions_a11b04f4.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_linear_runs_[id]_route_actions_5c46cc4e.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_linear_runs_route_actions_a99753a8.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_linear_status_route_actions_e43f376f.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_linear_token_route_actions_510583b8.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_logs_route_actions_30a87f47.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_logs_stream_route_actions_92bf6397.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_memories_route_actions_f0712914.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_messages_[id]_route_actions_3ca634d2.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_participants_route_actions_2bae2919.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_processes_route_actions_93e6bd01.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_projects_[id]_agents_route_actions_62a7e8e5.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_projects_[id]_migrate-v1_route_actions_e28a058d.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_projects_[id]_migrate-v2_route_actions_0cfff9eb.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_projects_[id]_route_actions_6fd2e5a5.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_projects_[id]_skills_route_actions_90fdd1e6.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_projects_[id]_threads_route_actions_88ac9ddb.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_projects_[id]_variables_route_actions_e646c8d9.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_cancel_route_actions_fbd5be89.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_route_actions_774a2e21.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_runs_route_actions_6e59ee83.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_agents_route_actions_399e1f19.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_poll_route_actions_23fbbfa1.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_route_actions_acf03860.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_providers_route_actions_5388b373.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_queue_complete_route_actions_1350a2ac.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_queue_route_actions_1e9c9b6f.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_reactions_route_actions_e075d50e.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_schedules_debug_route_actions_61c03e5e.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_schedules_poll_route_actions_dfc6ace4.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_schedules_route_actions_f5db3d09.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_search_route_actions_4244da48.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_assign_route_actions_15267be8.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_available_route_actions_24023111.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_detail_route_actions_1148baef.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_history_route_actions_5e5c4757.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_learn_route_actions_d3a37d25.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_route_actions_780e175f.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_unlearn_route_actions_3dfee433.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_status_route_actions_d551bce0.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_summarize_route_actions_3e77989a.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_system_db-status_route_actions_0f864710.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_task-drafts_route_actions_3b90bec5.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_comments_route_actions_71745d03.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_costs_route_actions_e20adc3f.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_dependencies_route_actions_b85eaa7f.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_events_route_actions_3e2c7edc.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_history_route_actions_debb26dc.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_metrics_route_actions_a82052ba.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_pause_route_actions_1341b4e1.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_replan_route_actions_0d67ebea.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_restart_route_actions_bbd1883b.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_resume_route_actions_745fbaa8.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_rollback_route_actions_77968f37.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_route_actions_766df5f7.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_schedule_route_actions_943bcc22.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_start_route_actions_1d7e784a.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_graph_stop_route_actions_5f5d6ff0.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_heartbeat_route_actions_28915a39.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_history_route_actions_7ecd517e.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_logs_route_actions_e1a486bd.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_logs_stream_route_actions_ed381b79.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_[id]_route_actions_8de83605.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_extract_route_actions_2651c393.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_route_actions_84c37746.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_tasks_stream_route_actions_37a289da.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_thread-export_route_actions_26354edd.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_thread-repos_route_actions_e95d24ee.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_threads_knowledge_route_actions_c139bcf7.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_threads_route_actions_f9ea97f2.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_upload_[id]_route_actions_d9c30458.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_upload_route_actions_f15ed185.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_user-settings_route_actions_553a1208.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_userPreferences_route_actions_178deeb3.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ce889_server_app_api_migrate_workspaces-to-projects_route_actions_cb1e42e0.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ce889_server_app_api_orchestrator_tasks_[taskId]_cancel_route_actions_8b9cd080.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ce889_server_app_api_orchestrator_tasks_[taskId]_signal_route_actions_5a3d8250.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ce889_server_app_api_orchestrator_tasks_[taskId]_start_route_actions_08f1c94e.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ce889_server_app_api_orchestrator_tasks_[taskId]_status_route_actions_4062630f.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ce889_server_app_api_tasks_[id]_nodes_[nodeId]_complete_route_actions_c44e3cb4.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ce889_server_app_api_tasks_[id]_nodes_[nodeId]_fail_route_actions_7ff931bc.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ce889_server_app_api_tasks_[id]_nodes_[nodeId]_resume_route_actions_a9f01d21.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ce889_server_app_api_tasks_[id]_nodes_[nodeId]_stop_route_actions_dbea30a3.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ce889_server_app_api_tasks_[id]_nodes_[nodeId]_verify_route_actions_ff371970.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/lib_2492d514._.js +11 -37
- package/cloud-runtime/standalone/.next/server/chunks/lib_3c080873._.js +34 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_70cd6b4a._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_7f7835f1._.js +68 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_88726721._.js +79 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_98ae187c._.js +34 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_9f439b27._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_check-node-version_ts_ef89bf83._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/lib_orchestrator_chat-processor_ts_4c335719._.js +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +5 -5
- package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +5 -5
- package/cloud-runtime/standalone/.next/server/chunks/lib_vault-store_ts_3718ff79._.js +34 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_18a495c8._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_4223ed10._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_ccc242ec._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_d2858615._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_1402a1da._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0f808fa3.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_19315704.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_2aaf71c8.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_2bdede98.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +15 -15
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3d31fed0.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_57a073eb.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_63e89275.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_84e28f38.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_9aff0990.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cc6c687d.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_dcaa7800.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_def8bfbe.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_e0cc2bbf.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_fce9bc95.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_zod_v4_classic_external_fa90cebf.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_12d46a92._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_138dc200._.js +59 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_914bb19c._.js +59 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_api-route-utils_ts_b7225a0e._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_scheduler_ts_d7b7497d._.js +57 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_state-machine_ts_ae1de66e._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_store_ts_d6588a77._.js +56 -0
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_validate_ts_a06b9fab._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__0497a547._.js +15 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__056cdf7d._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__11e33b9b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__139838ab._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__19cd257e._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__26d669c2._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__351b2cc6._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__35f9b4a6._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__38071250._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__43a0398d._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__4ebf5947._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__67d5f883._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6e83bf83._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__71b6d8a9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__7d279e62._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__7e7d6790._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8fe8b9dd._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a0a1cb74._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a42e4555._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a667191a._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__aa28d46f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__b6598a70._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ba4308c3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bb149a22._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bd4d5430._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bde5bc78._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__cde88183._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__d36dd8bc._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__dac5ab29._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__e0c64529._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__e87ba2b0._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f2c3b7ab._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f62d412e._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f63d6594._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fbd1aaff._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__febbd0b8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ff22a10e._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ffbc2e98._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_02c78cac._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_05c8a494._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_087a5b2b._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0b36c9d6._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ff7c687._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ffd2660._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_11ce4c04._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_173da79d._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1c58ab2d._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1e5aee62._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_222af282._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_22e99a52._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_23f5fddc._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_24feb541._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_260b10ce._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_3aa32c11._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_45f91a8f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_47e9a061._.js +14 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_4bfdfb14._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_4d4ba84b._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_50d04b8f._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_52fe115d._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_547b6462._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_629dc55c._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_69164b06._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_84a166cb._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_93914ecd._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_95434d70._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a10eb951._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a1b966f7._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_aa5b4886._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_ae20456d._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cb4d8a23._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cee3cf86._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_dc2072e7._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_e04b4053._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_e1769638._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f1465cc8._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f2a7beb1._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fb404ac0._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fc1aaf9e._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fd0dda03._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_75761787.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_554ec2bf.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_agents_[id]_page_actions_45703105.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_agents_page_actions_2bceb931.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_automations_page_actions_415dbaa9.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_board_page_actions_469e0e61.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_execution-graph_page_actions_3eceb5c1.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_page_actions_39d4fc33.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_automations_page_actions_9371bc66.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_graph_[taskId]_page_actions_c1473d77.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_knowledge_page_actions_1037c40a.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_linear_page_actions_0a8dc487.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_orphans_page_actions_6f398ff8.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_page_actions_42ca3f3e.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_840229cd.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_status_page_actions_39bbdbbf.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_thread_[id]_page_actions_94774546.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_welcome_page_actions_e32fb27e.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_[id]_page_tsx_9c49d8c8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_layout_tsx_b9360330._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_page_tsx_f5f08ed8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_global-error_tsx_9170b7a0._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_graph_[taskId]_page_tsx_d8b1d582._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_layout_tsx_67c9550a._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_linear_page_tsx_971a6ba7._.js +39 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/ce889_server_app_projects_[slug]_thread_[threadId]_page_actions_660a8857.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_PromptJobBoard_tsx_f83f722f._.js +8 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +6 -6
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_graph_graph-derived_ts_2b94148f._.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_@dnd-kit_core_dist_core_esm_57071f37.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_f76a24fb._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e8bdedc5._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_03ec2107._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_174ae28d._.js +3 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_4b63a0e1._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_61a87db9._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_9774470f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_45780354.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_61c49327.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_eedfc1fd._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_f2865b38._.js +2 -2
- package/cloud-runtime/standalone/.next/server/edge/chunks/[root-of-the-server]__9491d0b8._.js +2 -2
- package/cloud-runtime/standalone/.next/server/edge/chunks/_52aa5b93._.js +1 -1
- package/cloud-runtime/standalone/.next/server/edge/chunks/node_modules_next_dist_esm_build_templates_edge-wrapper_3b93bb62.js +1 -1
- package/cloud-runtime/standalone/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_405b82a5.js +1 -1
- package/cloud-runtime/standalone/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_cd32efca.js +1 -1
- package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +9 -2
- package/cloud-runtime/standalone/.next/server/instrumentation.js +2 -2
- package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +6 -6
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/next-font-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/0010f3df27ae53b8.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/012b9216c9932478.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{8304e8487aa74059.css → 06003b84da346995.css} +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/081fcf3ea160ca2d.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/09c637be82a06122.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/0c5b9fe15dda4972.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/0fe219bd73492107.js +5 -0
- package/cloud-runtime/standalone/.next/static/chunks/14922fd23cdc223b.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/1d8496cecfe9a523.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/1fa91c34c99502bf.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2375e3fd2a9b8844.js +2 -0
- package/cloud-runtime/standalone/.next/static/chunks/2618f9566e3788e4.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2a9c83f8211196e0.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2ac8e643e539b81e.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2dbfd095c1e1d01f.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2e471cd7ac5cd8fb.js +6 -0
- package/cloud-runtime/standalone/.next/static/chunks/335f551791affdd1.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/34dd491bc4ce9561.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/360fde144fd22461.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/416cf5039e669b5d.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/657c261f623752de.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/66769c2bf128027d.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/68586017f55137e8.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/73e3194f06db260e.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/76229fb555232113.js +3 -0
- package/cloud-runtime/standalone/.next/static/chunks/797fcb0710da3be2.js +4 -0
- package/cloud-runtime/standalone/.next/static/chunks/818fb0f154cee2c5.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/8b40d0636a2ba3b0.js +28 -0
- package/cloud-runtime/standalone/.next/static/chunks/8fc3ed1915e0659b.js +88 -0
- package/cloud-runtime/standalone/.next/static/chunks/95b85b1cb6868d27.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/961311cbebbffb6d.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/963060cf6e72339b.js +6 -0
- package/cloud-runtime/standalone/.next/static/chunks/966278eaefc0aa32.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/a2a98ae5d4a3e5e3.js +2 -0
- package/cloud-runtime/standalone/.next/static/chunks/a72fbac84e32f665.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/aa4d86855d0a3a55.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/ab74849aeb87503e.js +5 -0
- package/cloud-runtime/standalone/.next/static/chunks/b553dba1f51e709b.js +16 -0
- package/cloud-runtime/standalone/.next/static/chunks/b93f49b29a473a1d.js +6 -0
- package/cloud-runtime/standalone/.next/static/chunks/c3784233f00e1ff5.js +12 -0
- package/cloud-runtime/standalone/.next/static/chunks/c48afb0a7fd0423c.js +28 -0
- package/cloud-runtime/standalone/.next/static/chunks/{2d1d138d8ea3234c.css → c5661b1d4c5abd6a.css} +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/cb6301624094c91e.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{787436fad75f5bc6.js → ccaf68956da192f8.js} +2 -2
- package/cloud-runtime/standalone/.next/static/chunks/d522224ad5c8d724.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/d96012bcfc98706a.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/da12f313213a5615.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/de271f8f22d293b4.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/e2fa3c18dd56dc25.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/e910386016ceacad.js +37 -0
- package/cloud-runtime/standalone/.next/static/chunks/f2fe77583374541b.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f8cfa030ea3cb3c3.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/turbopack-0ace1f53f3e3cf46.js +4 -0
- package/cloud-runtime/standalone/README.md +37 -5
- package/cloud-runtime/standalone/app/api/automations/create/route.ts +2 -2
- package/cloud-runtime/standalone/app/api/automations/route.ts +64 -17
- package/cloud-runtime/standalone/app/api/chat/route.ts +29 -3
- package/cloud-runtime/standalone/app/api/linear/auth/route.ts +14 -0
- package/cloud-runtime/standalone/app/api/linear/callback/route.ts +43 -0
- package/cloud-runtime/standalone/app/api/linear/cycles/route.ts +22 -0
- package/cloud-runtime/standalone/app/api/linear/issues/route.ts +66 -0
- package/cloud-runtime/standalone/app/api/linear/mcp-setup/route.ts +181 -0
- package/cloud-runtime/standalone/app/api/linear/runs/[id]/route.ts +81 -0
- package/cloud-runtime/standalone/app/api/linear/runs/route.ts +91 -0
- package/cloud-runtime/standalone/app/api/linear/status/route.ts +38 -0
- package/cloud-runtime/standalone/app/api/linear/token/route.ts +59 -0
- package/cloud-runtime/standalone/app/api/prompt-jobs/route.ts +1 -1
- package/cloud-runtime/standalone/app/api/providers/route.ts +1 -14
- package/cloud-runtime/standalone/app/api/status/route.ts +13 -13
- package/cloud-runtime/standalone/app/layout.tsx +2 -0
- package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +3 -181
- package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +2 -1
- package/cloud-runtime/standalone/app/projects/[slug]/linear/page.tsx +26 -0
- package/cloud-runtime/standalone/components/LinearBoard.tsx +1321 -0
- package/cloud-runtime/standalone/components/LinearSetup.tsx +239 -0
- package/cloud-runtime/standalone/components/ProjectModal.tsx +15 -3
- package/cloud-runtime/standalone/components/PromptJobBoard.tsx +367 -87
- package/cloud-runtime/standalone/components/VersionBadge.tsx +24 -0
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +27 -14
- package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +23 -5
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +53 -48
- package/cloud-runtime/standalone/docs/superpowers/plans/2026-04-07-linear-integration.md +1352 -0
- package/cloud-runtime/standalone/hooks/useGroupChat.ts +4 -1
- package/cloud-runtime/standalone/hooks/useLinearConnection.ts +128 -0
- package/cloud-runtime/standalone/hooks/useLinearIssues.ts +78 -0
- package/cloud-runtime/standalone/hooks/useLinearRuns.ts +137 -0
- package/cloud-runtime/standalone/hooks/useProjectResources.ts +0 -50
- package/cloud-runtime/standalone/lib/chat/composer-routing.ts +128 -0
- package/cloud-runtime/standalone/lib/cli-runner.ts +16 -16
- package/cloud-runtime/standalone/lib/db.ts +32 -46
- package/cloud-runtime/standalone/lib/knowledge-notes.ts +6 -242
- package/cloud-runtime/standalone/lib/knowledge-store.ts +8 -211
- package/cloud-runtime/standalone/lib/linear-client.ts +276 -0
- package/cloud-runtime/standalone/lib/linear-execution-prompt.ts +153 -0
- package/cloud-runtime/standalone/lib/linear-run-store.ts +374 -0
- package/cloud-runtime/standalone/lib/repo-knowledge.ts +46 -125
- package/cloud-runtime/standalone/lib/shell-env.ts +71 -0
- package/cloud-runtime/standalone/lib/task-context.ts +3 -13
- package/cloud-runtime/standalone/lib/thread-knowledge.ts +2 -11
- package/cloud-runtime/standalone/lib/vault-store.ts +2067 -0
- package/cloud-runtime/standalone/mcp/README.md +22 -11
- package/cloud-runtime/standalone/package-lock.json +7 -0
- package/cloud-runtime/standalone/package.json +3 -0
- package/cloud-runtime/standalone/planning/automation-frontmatter-migration-spec.md +710 -0
- package/cloud-runtime/standalone/scripts/backfill-automations-frontmatter.ts +145 -0
- package/cloud-runtime/standalone/scripts/migrate-vault.ts +13 -0
- package/cloud-runtime/standalone/src/automations/adapters.ts +219 -0
- package/cloud-runtime/standalone/src/automations/index.ts +7 -0
- package/cloud-runtime/standalone/src/automations/parser.ts +33 -0
- package/cloud-runtime/standalone/src/automations/repository.ts +440 -0
- package/cloud-runtime/standalone/src/automations/serializer.ts +94 -0
- package/cloud-runtime/standalone/src/automations/state.ts +166 -0
- package/cloud-runtime/standalone/src/automations/types.ts +134 -0
- package/cloud-runtime/standalone/src/automations/validation.ts +337 -0
- package/cloud-runtime/standalone/src/graph/schedule-runner.ts +45 -7
- package/cloud-runtime/standalone/src/graph/store.ts +174 -5
- package/cloud-runtime/standalone/src/prompt-scheduler/store.ts +522 -162
- package/cloud-runtime/standalone/src/prompt-scheduler/types.ts +1 -0
- package/cloud-runtime/standalone/state/automations/.state/24a6a5db-3b14-49c4-841f-29f10f015fbb.json +8 -0
- package/cloud-runtime/standalone/state/automations/active/24a6a5db-3b14-49c4-841f-29f10f015fbb.md +17 -0
- package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
- package/cloud-runtime/standalone/worker/index.js +4548 -367
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +0 -9
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route/app-paths-manifest.json +0 -3
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +0 -8
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +0 -1
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route_client-reference-manifest.js +0 -2
- package/cloud-runtime/standalone/.next/server/chunks/[externals]__bc6c7111._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__01cd082e._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0936925d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__09ca81e1._.js +0 -101
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1ac3236d._.js +0 -25
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1b0bb735._.js +0 -15
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1c86bf6e._.js +0 -48
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20c58b41._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2126c763._.js +0 -42
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__236c35bb._.js +0 -51
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__277ed37d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2f06f568._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__30bd0c87._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__374cd94c._.js +0 -42
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3785024c._.js +0 -80
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__379604d4._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c8f1de6._.js +0 -15
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3d0df5a8._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4014ed70._.js +0 -51
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42fcb81c._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4a3cd6ac._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4e522535._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50c24784._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59d1cdd8._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__644e6285._.js +0 -112
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__65755104._.js +0 -7
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__73c20995._.js +0 -15
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8125bbc3._.js +0 -63
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__85275b88._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__89666394._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8c0fb154._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8f5cac13._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__91b22098._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__96ae701e._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98ce983b._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9a9fd39f._.js +0 -44
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9ad4e385._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a01ddd0b._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a099c992._.js +0 -58
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a9b949c3._.js +0 -7
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bd43017b._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bf6fb108._.js +0 -80
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +0 -80
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c122c54a._.js +0 -75
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5b8ceb7._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +0 -79
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__dec3e1b7._.js +0 -30
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1147a4a._.js +0 -15
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f5597fea._.js +0 -13
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f8c94cb3._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa79d53f._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fb14cd4a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fc27a898._.js +0 -158
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fce2cdce._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcf0b40a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffb21023._.js +0 -80
- package/cloud-runtime/standalone/.next/server/chunks/_05fa3b89._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/_4190f170._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/_42e9c8d5._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/_5ca51127._.js +0 -54
- package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +0 -57
- package/cloud-runtime/standalone/.next/server/chunks/_6519418b._.js +0 -59
- package/cloud-runtime/standalone/.next/server/chunks/_6bb93816._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/_6bc1b3e1._.js +0 -59
- package/cloud-runtime/standalone/.next/server/chunks/_862895c0._.js +0 -57
- package/cloud-runtime/standalone/.next/server/chunks/_8b9fde82._.js +0 -97
- package/cloud-runtime/standalone/.next/server/chunks/_95ac98db._.js +0 -49
- package/cloud-runtime/standalone/.next/server/chunks/_994414cd._.js +0 -54
- package/cloud-runtime/standalone/.next/server/chunks/_99b78daf._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/_affbdbb0._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/_d22934ab._.js +0 -97
- package/cloud-runtime/standalone/.next/server/chunks/_efc73784._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/_fba13a4a._.js +0 -6
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_projects_[id]_memory_route_actions_f0c255ef.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_repos_[id]_knowledge_route_actions_993fe4e5.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/lib_281e5787._.js +0 -16
- package/cloud-runtime/standalone/.next/server/chunks/lib_63067e21._.js +0 -16
- package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +0 -25
- package/cloud-runtime/standalone/.next/server/chunks/lib_a5adca60._.js +0 -64
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7f8022ab.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_8ec90680.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_a590fcd6.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_14067235._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/src_graph_b63e2d39._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__096c39a3._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__226f8a19._.js +0 -15
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8b4e7816._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a37fb1c3._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a456581d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__d74022f1._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ea035cd9._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fca7df40._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_0c5c111f._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_23656a95._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_27a789b3._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_314f4c49._.js +0 -14
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_36b413cc._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_46e00a9b._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_478f4991._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_547f19ec._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_9e07dcac._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a68d8f62._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_a80e12c8._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_b1e1ef71._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_e1349560._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_welcome_page_tsx_6c79bc59._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_b82e03da._.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/01428247f94115a6.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/06cf0ed16bf8aa70.js +0 -28
- package/cloud-runtime/standalone/.next/static/chunks/0bd6498bda341889.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/19dd745b663fdffa.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/1a3298f21d1040e9.js +0 -4
- package/cloud-runtime/standalone/.next/static/chunks/1c8583feefee0765.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/1e3dede69b464364.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/238a28856e739dc9.js +0 -2
- package/cloud-runtime/standalone/.next/static/chunks/24772e179852c73e.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/2deeba875ec50761.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/2e011469003993e9.js +0 -28
- package/cloud-runtime/standalone/.next/static/chunks/31a4164e40ca71e5.js +0 -6
- package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/3c202e89da05d9b9.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/3c72becf6dff5597.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/44dafb5e85578e12.js +0 -16
- package/cloud-runtime/standalone/.next/static/chunks/48e332ac3e9ed56c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5b567b289ca2273e.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5c0819dcc4bfec85.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5d52c79d9812d06e.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/617db51b7444f818.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/673bb6094cea9ded.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/687d09973325dcf8.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/8a4684388ca0f6de.js +0 -7
- package/cloud-runtime/standalone/.next/static/chunks/9bde80696400d2ff.js +0 -12
- package/cloud-runtime/standalone/.next/static/chunks/9f236cc9572783b9.js +0 -93
- package/cloud-runtime/standalone/.next/static/chunks/a9aaec85125f69b1.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/ac9a7d8cf17b5d75.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b4c29a62f9255268.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b6bbe747d2b0dddb.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/badc6258750e247d.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/bc3cad3c821b169b.js +0 -2
- package/cloud-runtime/standalone/.next/static/chunks/bf2bb1662353aff5.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/c1fb885eed94aa8c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/c653186036e56204.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/cb5581d868e78205.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/cbdeb17a36b99000.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/d5cc62984dc4205c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/d78cc7d749043fef.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/da2b00558cf32f37.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/ee5f1457fbc593e1.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/ff1a16fafef87110.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/turbopack-e1d640f2fbe4fa5e.js +0 -4
- package/cloud-runtime/standalone/app/api/projects/[id]/memory/route.ts +0 -81
- package/cloud-runtime/standalone/app/api/repos/[id]/knowledge/route.ts +0 -98
- /package/cloud-runtime/standalone/.next/server/app/api/{projects/[id]/memory → linear/auth}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/.next/server/app/api/{projects/[id]/memory → linear/auth}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/.next/server/app/api/{projects/[id]/memory → linear/auth}/route.js.map +0 -0
- /package/cloud-runtime/standalone/.next/server/app/api/{repos/[id]/knowledge → linear/callback}/route/build-manifest.json +0 -0
- /package/cloud-runtime/standalone/.next/server/app/api/{repos/[id]/knowledge → linear/callback}/route/server-reference-manifest.json +0 -0
- /package/cloud-runtime/standalone/.next/server/app/api/{repos/[id]/knowledge → linear/callback}/route.js.map +0 -0
- /package/cloud-runtime/standalone/.next/static/{uSe1ovd3mKmeJLdjjWIQA → 1ixi4WIJBgIPp7LJeYeKs}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{uSe1ovd3mKmeJLdjjWIQA → 1ixi4WIJBgIPp7LJeYeKs}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{uSe1ovd3mKmeJLdjjWIQA → 1ixi4WIJBgIPp7LJeYeKs}/_ssgManifest.js +0 -0
|
@@ -1,22 +1,4 @@
|
|
|
1
|
-
module.exports=[87575,e=>{"use strict";var t=e.i(
|
|
2
|
-
metadata, version, created_at, updated_at
|
|
3
|
-
FROM knowledge_notes
|
|
4
|
-
WHERE scope = ? AND subject_id = ?
|
|
5
|
-
LIMIT 1`).get(e,t)}function g(e,t){let r,n=u(e,t);if(n)return c(n);let a=0===(r=Array.from(new Set(function(e,t){let r=(0,i.getSQLiteDb)();if("repo"===e){let e=r.prepare(`SELECT content
|
|
6
|
-
FROM repo_knowledge
|
|
7
|
-
WHERE repo_id = ? AND producer = 'system'
|
|
8
|
-
ORDER BY created_at ASC`).all(t),n=(0,d.listKnowledgeEntries)({scope:"repo",subjectId:t,limit:100}).map(e=>e.body.trim());return[...e.map(e=>e.content.trim()),...n].filter(Boolean)}if("project"===e){let e=r.prepare(`SELECT content
|
|
9
|
-
FROM project_memory
|
|
10
|
-
WHERE project_id = ? AND producer = 'system'
|
|
11
|
-
ORDER BY created_at ASC`).all(t),n=(0,d.listKnowledgeEntries)({scope:"project",subjectId:t,limit:100}).map(e=>e.body.trim());return[...e.map(e=>e.content.trim()),...n].filter(Boolean)}let n=r.prepare(`SELECT content
|
|
12
|
-
FROM agent_memory
|
|
13
|
-
WHERE agent_id = ?
|
|
14
|
-
ORDER BY created_at ASC
|
|
15
|
-
LIMIT 100`).all(t),a=(0,d.listKnowledgeEntries)({scope:"agent",subjectId:t,limit:100}).map(e=>e.body.trim());return[...n.map(e=>e.content.trim()),...a].filter(Boolean)}(e,t)))).length?"":r.map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n");if(!a)return null;let s=(0,i.getSQLiteDb)(),l=new Date().toISOString(),g=(0,o.randomUUID)();s.prepare(`INSERT INTO knowledge_notes (
|
|
16
|
-
id, scope, subject_id, content, change_summary, source_type, source_id, metadata, version, created_at, updated_at
|
|
17
|
-
) VALUES (?, ?, ?, ?, ?, 'task_completion', 'legacy-synthesis', ?, 1, ?, ?)`).run(g,e,t,a,"Initial note synthesized from existing system knowledge",JSON.stringify({synthesized_from_legacy:!0}),l,l),s.prepare(`INSERT INTO knowledge_note_versions (
|
|
18
|
-
id, note_id, version, content, change_summary, source_type, source_id, metadata, created_at
|
|
19
|
-
) VALUES (?, ?, 1, ?, ?, 'task_completion', 'legacy-synthesis', ?, ?)`).run((0,o.randomUUID)(),g,a,"Initial note synthesized from existing system knowledge",JSON.stringify({synthesized_from_legacy:!0}),l);let p=u(e,t);return p?c(p):null}function p(e,t){let r=t.trim();return r?g(e,r):null}let m=new Set(["outcome","decision","pattern","gotcha"]),f=`You are a memory extractor for a task execution system.
|
|
1
|
+
module.exports=[87575,e=>{"use strict";var t=e.i(699904),r=e.i(965196);class n extends Error{constraint;detail;constructor(e,t){super(e),this.name="ConflictError",this.constraint=t?.constraint,this.detail=t?.detail}}class a extends Error{code;constructor(e,t){super(e),this.name="RetryableError",this.code=t}}class o extends Error{expectedVersion;actualVersion;entityId;entityType;constructor(e,t,r,n){super(void 0!==n?`Concurrent modification on ${e} ${t}: expected version ${r}, found ${n}`:`Concurrent modification on ${e} ${t}: expected version ${r}, row not updated`),this.name="ConcurrentModificationError",this.entityType=e,this.entityId=t,this.expectedVersion=r,this.actualVersion=n}}function s(e){if(!(e instanceof Error))throw e;let t=e.code??"",r=e.message??"";if("SQLITE_CONSTRAINT_UNIQUE"===t||"SQLITE_CONSTRAINT_PRIMARYKEY"===t||"SQLITE_CONSTRAINT"===t&&(r.includes("UNIQUE")||r.includes("PRIMARY KEY"))||r.includes("UNIQUE constraint failed")||r.includes("PRIMARY KEY constraint failed")){let e=r.match(/(?:UNIQUE|PRIMARY KEY) constraint failed: (.+)/);throw new n(r,{constraint:e?.[1],detail:r})}if("SQLITE_BUSY"===t||"SQLITE_LOCKED"===t||r.includes("database is locked"))throw new a(r,t||"SQLITE_BUSY");throw e}async function i(e){try{return await e()}catch(e){if(e instanceof n||e instanceof a||e instanceof o)throw e;s(e)}}class l{async transaction(e){let t=(0,r.getSQLiteDb)();t.exec("BEGIN IMMEDIATE");try{let r=await e(t);return t.exec("COMMIT"),r}catch(e){try{t.exec("ROLLBACK")}catch{}if(e instanceof n||e instanceof a||e instanceof o)throw e;s(e)}}getTasks(e,r){return t.getTasks(e,r)}getTask(e,r){return t.getTask(e,r)}getTaskBySlug(e,r){return t.getTaskBySlug(e,r)}createTask(e,r,n){return i(()=>t.createTask(e,r,n))}async updateTask(e,n,a,s){let l=s?.expectedVersion;if(void 0!==l){let d=(0,r.getSQLiteDb)();if(0===d.prepare("UPDATE tasks SET version = version + 1 WHERE id = ? AND version = ?").run(e,l).changes){let t=d.prepare("SELECT version FROM tasks WHERE id = ?").get(e);throw new o("task",e,l,t?.version)}let{expectedVersion:u,...c}=s??{};return i(()=>t.updateTask(e,n,a,c))}return(0,r.getSQLiteDb)().prepare("UPDATE tasks SET version = version + 1 WHERE id = ?").run(e),i(()=>t.updateTask(e,n,a,s))}appendRunToIndex(e,r,n){return t.appendRunToIndex(e,r,n)}deleteTask(e,r){return i(()=>t.deleteTask(e,r))}getNextQueuedTask(e){return t.getNextQueuedTask(e)}ensureNoCircularDependency(e,r,n){return t.ensureNoCircularDependency(e,r,n)}getProjects(e){return t.getProjects(e)}getProjectBySlug(e,r){return t.getProjectBySlug(e,r)}getProjectRepos(e){return t.getProjectRepos(e)}getProjectWithRepos(e,r){return t.getProjectWithRepos(e,r)}createProject(e,r,n){return i(()=>t.createProject(e,r,n))}updateProject(e,r,n,a){return t.updateProject(e,r,n,a)}deleteProject(e,r,n){return i(()=>t.deleteProject(e,r,n))}assignOrphanTasksToProject(e,r,n){return t.assignOrphanTasksToProject(e,r,n)}getWorkflows(e){return t.getWorkflows(e)}getWorkflow(e,r){return t.getWorkflow(e,r)}updateWorkflow(e,r,n){return t.updateWorkflow(e,r,n)}getWorkflowNodes(e){return t.getWorkflowNodes(e)}updateWorkflowNodes(e,r,n){return t.updateWorkflowNodes(e,r,n)}getWorkflowNodeByName(e,r){return t.getWorkflowNodeByName(e,r)}getWorkflowTransitions(e){return t.getWorkflowTransitions(e)}getWorkflowTransitionsFromNode(e,r){return t.getWorkflowTransitionsFromNode(e,r)}getWorkflowWithGraph(e,r){return t.getWorkflowWithGraph(e,r)}getTaskLogs(e,r){return t.getTaskLogs(e,r)}addTaskLog(e,r,n,a){return i(()=>t.addTaskLog(e,r,n,a))}addTaskCostEntry(e){return i(()=>t.addTaskCostEntry(e))}getTaskCostEntries(e){return t.getTaskCostEntries(e)}getTaskCostSummary(e){return t.getTaskCostSummary(e)}getTaskComments(e){return t.getTaskComments(e)}addTaskComment(e,r,n,a){return i(()=>t.addTaskComment(e,r,n,a))}deleteTaskComment(e,r){return i(()=>t.deleteTaskComment(e,r))}getLearnings(e,r,n){return t.getLearnings(e,r,n)}addLearning(e,r,n,a){return i(()=>t.addLearning(e,r,n,a))}deleteLearning(e,r){return i(()=>t.deleteLearning(e,r))}getStagePrompts(e,r){return t.getStagePrompts(e,r)}getStagePrompt(e,r,n){return t.getStagePrompt(e,r,n)}upsertStagePrompt(e,r,n,a,o,s){return i(()=>t.upsertStagePrompt(e,r,n,a,o,s))}deleteStagePrompt(e,r){return t.deleteStagePrompt(e,r)}getAgents(e){return t.getAgents(e)}getAgent(e,r){return t.getAgent(e,r)}createAgent(e,r){return i(()=>t.createAgent(e,r))}updateAgent(e,r,n){return t.updateAgent(e,r,n)}deleteAgent(e,r){return t.deleteAgent(e,r)}getProjectAgents(e){return t.getProjectAgents(e)}addProjectAgent(e,r,n){return i(()=>t.addProjectAgent(e,r,n))}removeProjectAgent(e,r){return t.removeProjectAgent(e,r)}reorderProjectAgents(e,r){return t.reorderProjectAgents(e,r)}getProjectSkills(e){return t.getProjectSkills(e)}addProjectSkill(e,r,n){return i(()=>t.addProjectSkill(e,r,n))}removeProjectSkill(e){return t.removeProjectSkill(e)}getProjectVariables(e){return t.getProjectVariables(e)}setProjectVariable(e,r,n){return i(()=>t.setProjectVariable(e,r,n))}deleteProjectVariable(e,r){return t.deleteProjectVariable(e,r)}getProjectMemory(e,r){return t.getProjectMemory(e,r)}addProjectMemory(e,r,n,a){return i(()=>t.addProjectMemory(e,r,n,a))}deleteProjectMemory(e){return t.deleteProjectMemory(e)}getProjectThreads(e){return t.getProjectThreads(e)}addProjectThread(e,r){return i(()=>t.addProjectThread(e,r))}removeProjectThread(e,r){return t.removeProjectThread(e,r)}getProjectForThread(e){return t.getProjectForThread(e)}getUserSettings(e){return t.getUserSettings(e)}upsertUserSettings(e,r,n){return i(()=>t.upsertUserSettings(e,r,n))}async healthCheck(){let e=performance.now();try{return(0,r.getSQLiteDb)().prepare("SELECT 1").get(),{adapter:"sqlite",connected:!0,latencyMs:Math.round(performance.now()-e)}}catch{return{adapter:"sqlite",connected:!1,latencyMs:Math.round(performance.now()-e)}}}}e.s(["SQLiteAdapter",()=>l],87575)},469324,e=>{"use strict";let t=function(){let{SQLiteAdapter:t}=e.r(87575);return new t}();var r=e.i(699904);let n=[["INTAKE","PROGRESS","DONE"]];async function a({workflowId:e,currentNodeName:t,decision:n,retryCount:a,maxRetries:o=3}){if("done"===String(t).trim().toLowerCase())return{nextNodeName:"done",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:"Task completed at done",logType:"checkpoint"},nodeConfig:null};let s=await (0,r.getWorkflowNodeByName)(e,t);if(!s)return{nextNodeName:t,nextStatus:"blocked",retryCount:a,error:`Node '${t}' not found in workflow`,appendLog:{content:`Workflow error: node '${t}' not found`,logType:"error"},nodeConfig:null};if("terminal"===s.node_type)return{nextNodeName:t,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${s.label||t}`,logType:"checkpoint"},nodeConfig:s};if("blocked"===n)return{nextNodeName:t,nextStatus:"blocked",retryCount:a,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"},nodeConfig:s};let i=await (0,r.getWorkflowTransitionsFromNode)(e,s.id),l=function(e){switch(e){case"done":default:return"done";case"blocked":return"blocked";case"failed":case"not_done":return"failed"}}(n),d=i.find(e=>e.condition===l);if(d){let a=(await (0,r.getWorkflowNodes)(e)).find(e=>e.id===d.to_node_id);if(a){let e="terminal"===a.node_type;return{nextNodeName:a.name,nextStatus:e?"completed":"queued",retryCount:0,error:null,appendLog:{content:"done"===n?`Stage completed: ${s.label||t}`:`Transition to ${a.label||a.name}`,logType:"done"===n?"checkpoint":"system"},nodeConfig:a}}}if("done"===n)return{nextNodeName:t,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${s.label||t}`,logType:"checkpoint"},nodeConfig:s};let u=a+1;return u<=o?{nextNodeName:t,nextStatus:"queued",retryCount:u,error:null,appendLog:{content:`Retrying (${u}/${o}) for ${s.label||t}`,logType:"system"},nodeConfig:s}:{nextNodeName:t,nextStatus:"failed",retryCount:u,error:"Task failed after max retries.",appendLog:{content:"Task failed after max retries.",logType:"error"},nodeConfig:s}}var o=e.i(254799),s=e.i(390107),i=e.i(965196),l=e.i(648392),d=e.i(65768);let u=new Set(["outcome","decision","pattern","gotcha"]),c=`You are a memory extractor for a task execution system.
|
|
20
2
|
Given a completed task, extract 0-3 memories worth remembering for future tasks.
|
|
21
3
|
|
|
22
4
|
Each memory must be:
|
|
@@ -28,7 +10,7 @@ Each memory must be:
|
|
|
28
10
|
- gotcha: a surprising pitfall or edge case encountered
|
|
29
11
|
|
|
30
12
|
Return ONLY a JSON array. Return [] if nothing worth remembering.
|
|
31
|
-
Do not wrap in markdown code blocks. Just raw JSON.`,
|
|
13
|
+
Do not wrap in markdown code blocks. Just raw JSON.`,g=`You are maintaining a living project knowledge note for a task execution system.
|
|
32
14
|
Given the current project note and a completed or failed task, decide whether the note should change.
|
|
33
15
|
|
|
34
16
|
Return ONLY a JSON object:
|
|
@@ -49,33 +31,25 @@ Rules:
|
|
|
49
31
|
- Do not include repo-specific durable truths that belong in repo knowledge.
|
|
50
32
|
- Avoid generic filler and avoid sounding like an audit log.
|
|
51
33
|
- If nothing project-scoped changed, return {"no_change": true}.
|
|
52
|
-
- Do not wrap in markdown code blocks. Just raw JSON.`;async function
|
|
34
|
+
- Do not wrap in markdown code blocks. Just raw JSON.`;async function p(e){let t=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),r=`${c}
|
|
53
35
|
|
|
54
36
|
Task:
|
|
55
|
-
${t}`,n="";try{await (0,s.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:r,onDelta:e=>{n+=e}})}catch(e){return console.warn("[memory-extractor] LLM call failed:",e),[]}var a=n;let o=a.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(o);if(!Array.isArray(e))return[];return e.filter(e=>"object"==typeof e&&null!==e&&
|
|
56
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)`),a=0,s=Date.now();for(let i of r){if(!
|
|
37
|
+
${t}`,n="";try{await (0,s.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:r,onDelta:e=>{n+=e}})}catch(e){return console.warn("[memory-extractor] LLM call failed:",e),[]}var a=n;let o=a.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(o);if(!Array.isArray(e))return[];return e.filter(e=>"object"==typeof e&&null!==e&&u.has(e.memory_type)&&"string"==typeof e.content&&e.content.trim().length>0).slice(0,3)}catch{return console.warn("[memory-extractor] Failed to parse LLM response:",o.slice(0,200)),[]}}let f=new Set(["outcome","decision","pattern","gotcha"]),m=["agent_id","agentId","agent","participant_id","participantId","assigned_agent","assignedAgent"];function k(e){return"string"!=typeof e?null:e.trim()||null}function y(e){let t=k(e.explicitAgentId);if(t)return t;let r=e.frontmatter||{};for(let e of m){let t=k(r[e]);if(t)return t}return k(e.defaultUserId)||"system"}async function S(e,t,r){let n=(0,i.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
|
|
38
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)`),a=0,s=Date.now();for(let i of r){if(!f.has(i.memory_type)||!i.content?.trim())continue;let r=(0,o.createHash)("sha256").update(i.content.trim()).digest("hex");n.run((0,o.randomUUID)(),t,e,i.memory_type,i.content.trim(),r,s).changes>0&&a++}return a>0&&(0,l.storeKnowledgeEntries)(r.map(r=>({scope:"agent",subjectId:t,sourceType:"task_completion",sourceId:e,kind:r.memory_type,title:r.content.trim().slice(0,80),body:r.content.trim(),confidence:.7,durability:.6,metadata:{task_id:e}}))),a}async function w(e,t,r){let n=await p(r);if(0===n.length)return;let a=await S(e,t,n);a>0&&console.log(`[memory-extractor] Stored ${a} memories for task ${e}`)}async function h(e){let t=k(e);if(!t)return null;if(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t))return t;let r=(0,i.getSQLiteDb)().prepare("SELECT id FROM projects WHERE slug = ? LIMIT 1").get(t);return r?.id??null}async function T(e,t){let r=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),n=`${g}
|
|
57
39
|
|
|
58
40
|
Current note:
|
|
59
41
|
${t||"(empty)"}
|
|
60
42
|
|
|
61
43
|
Task:
|
|
62
|
-
${r}`,a="";try{await (0,s.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:n,onDelta:e=>{a+=e}})}catch(e){return console.warn("[project-knowledge] LLM call failed:",e),[]}let o=a.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(o);if(!e||"object"!=typeof e||Array.isArray(e))return[];let t="string"==typeof e.updated_note?e.updated_note.trim():"";if(e.no_change||!t)return[];return[{updated_note:t,change_summary:"string"==typeof e.change_summary?e.change_summary.trim():void 0,no_change:!1}]}catch{return console.warn("[project-knowledge] Failed to parse LLM response:",o.slice(0,200)),[]}}async function
|
|
63
|
-
id, scope, subject_id, content, change_summary, source_type, source_id, metadata, version, created_at, updated_at
|
|
64
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 1, ?, ?)`).run(i,e.scope,r,a,s,e.sourceType,n,u,c,c),t.prepare(`INSERT INTO knowledge_note_versions (
|
|
65
|
-
id, note_id, version, content, change_summary, source_type, source_id, metadata, created_at
|
|
66
|
-
) VALUES (?, ?, 1, ?, ?, ?, ?, ?, ?)`).run((0,o.randomUUID)(),i,a,s,e.sourceType,n,u,c);let d=p(e.scope,r);if(!d)throw Error("Failed to read created knowledge note");return{note:d,changed:!0}}let m=d.version+1;t.prepare(`UPDATE knowledge_notes
|
|
67
|
-
SET content = ?, change_summary = ?, source_type = ?, source_id = ?, metadata = ?, version = ?, updated_at = ?
|
|
68
|
-
WHERE id = ?`).run(a,s,e.sourceType,n,u,m,c,d.id),t.prepare(`INSERT INTO knowledge_note_versions (
|
|
69
|
-
id, note_id, version, content, change_summary, source_type, source_id, metadata, created_at
|
|
70
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run((0,o.randomUUID)(),d.id,m,a,s,e.sourceType,n,u,c);let f=p(e.scope,r);if(!f)throw Error("Failed to read updated knowledge note");return{note:f,changed:!0}}({scope:"project",subjectId:e,content:n.updated_note.trim(),changeSummary:n.change_summary,sourceType:"task_completion",sourceId:t,metadata:{task_id:t}}).changed:0}async function $(e,t,r){let n=await E(t);if(!n)return;let a=await x(r,p("project",n)?.content??"");if(0===a.length)return;let o=await j(n,e,a);o>0&&console.log(`[project-knowledge] Stored ${o} project knowledge entries for task ${e}`)}var N=e.i(45491);function A(e,t){return`---
|
|
44
|
+
${r}`,a="";try{await (0,s.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:n,onDelta:e=>{a+=e}})}catch(e){return console.warn("[project-knowledge] LLM call failed:",e),[]}let o=a.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(o);if(!e||"object"!=typeof e||Array.isArray(e))return[];let t="string"==typeof e.updated_note?e.updated_note.trim():"";if(e.no_change||!t)return[];return[{updated_note:t,change_summary:"string"==typeof e.change_summary?e.change_summary.trim():void 0,no_change:!1}]}catch{return console.warn("[project-knowledge] Failed to parse LLM response:",o.slice(0,200)),[]}}async function x(e,t,r){var n;if(0===r.length)return 0;let a=r[0];return a&&a.updated_note?.trim()?+!!(n={scope:"project",subjectId:e,content:a.updated_note.trim(),changeSummary:a.change_summary,sourceType:"task_completion",sourceId:t,metadata:{task_id:t}},d.vaultStore.upsertKnowledgeNote(n)).changed:0}async function _(e,t,r){let n=await h(t);if(!n)return;let a=await T(r,d.vaultStore.getKnowledgeNote("project",n)?.content??"");if(0===a.length)return;let o=await x(n,e,a);o>0&&console.log(`[project-knowledge] Stored ${o} project knowledge entries for task ${e}`)}var I=e.i(445491);function $(e,t){return`---
|
|
71
45
|
${Object.entries(e).map(([e,t])=>`${e}: ${null==t?"":String(t)}`).join("\n")}
|
|
72
46
|
---
|
|
73
|
-
${t}`}var b=e.i(40793),C=e.i(86213);function L(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function P(e){if(!e)return[];let t=L(e.depends_on);if(t.length)return t;if("string"==typeof e.content){let{frontmatter:t}=(0,r.parseFrontmatter)(e.content||"");return L(t.depends_on)}return[]}async function R(e,t){if(!e.length)return[];let r=(0,N.createAdminDbClient)().from("tasks").select("id, title, slug, status, stage").in("id",e);t&&(r=r.eq("user_id",t));let{data:n}=await r,a=new Map;if(Array.isArray(n))for(let e of n){var o;e&&e.id&&a.set(e.id,(o=e.id,e?{id:e.id||o||"",title:e.title||void 0,slug:e.slug||void 0,status:e.status,stage:e.stage}:{id:o||""}))}return e.map(e=>a.get(e)).filter(e=>!!e)}async function v(e,t){let r=P(e);return r.length?(await R(r,t)).filter(e=>"completed"!==(e.status||"")):[]}async function O(e,n,a){let o=n||C.LOCAL_USER.id,s=await t.getTask(e,o);if(!s)throw Error(`Task not found: ${e}`);let i=await v(s,o);if(i.length){let t=function(e){if(!e.length)return"";let t=e.slice(0,3).map(e=>{let t=e.title||e.slug||e.id||"(unknown)",r="INTAKE"===e.stage?"awaiting approval":e.status||"",n=r?` (${r})`:"";return`${t}${n}`}),r=`Waiting on dependencies: ${t.join(", ")}`;return e.length>3&&(r+=` +${e.length-3} more`),r}(i),r=(0,N.createAdminDbClient)(),{error:n}=await r.from("tasks").update({status:"blocked",blocked_reason:t,updated_at:new Date().toISOString()}).eq("id",e);if(n&&"42703"!==n.code)throw n;return{started:!1,missingDependencies:i,blockedReason:t}}if(!a?.force&&"queued"===s.status&&!s.blocked_reason)return{started:!1,missingDependencies:[],alreadyQueued:!0};let{frontmatter:d,body:l}=(0,r.parseFrontmatter)(s.content||""),c=a?.ticketType??function(e,t){for(let t of["ticket_type","type","issue_type","kind"])if("spike"===function(e){if("string"!=typeof e)return"task";let t=e.trim().toLowerCase();return"spike"===t||"spikes"===t?"spike":"task"}(e[t]))return"spike";let r=t.match(/^#\s+(.+)$/m),n=r?.[1]?.trim().toLowerCase()||"";return n.startsWith("spike:")||n.startsWith("[spike]")?"spike":"task"}(d,l),u=await (0,b.getQueue)(),g=await u.send(b.QUEUE_NAMES.TASK_PROCESS,{taskId:e,userId:o,signal:"start",ticketType:c}),p=(0,N.createAdminDbClient)(),{error:m}=await p.from("tasks").update({status:"queued",blocked_reason:null,updated_at:new Date().toISOString()}).eq("id",e);if(m&&"42703"!==m.code)throw m;return{started:!!g,jobId:g,missingDependencies:[],ticketType:c}}async function D(e,t){let r=t||C.LOCAL_USER.id,n=(0,N.createAdminDbClient)(),a=n.from("tasks").select("id").contains("depends_on",[e]);t&&(a=a.eq("user_id",t));let{data:o,error:s}=await a,i=Array.isArray(o)?o.map(e=>e?.id).filter(Boolean):[];if(s&&"42703"===s.code){let r=n.from("tasks").select("id, content");t&&(r=r.eq("user_id",t));let{data:a}=await r;i=(Array.isArray(a)?a:[]).filter(t=>P(t).includes(e)).map(e=>e?.id).filter(Boolean)}i.length&&await Promise.all(i.map(e=>O(e,r)))}var U=e.i(29264);async function W(e){let t=(0,N.createAdminDbClient)();await t.from("tasks").update({stage:e.stage,status:"queued",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId)}async function M(e){let t=(0,N.createAdminDbClient)(),{data:r}=await t.from("tasks").select("stage_decisions").eq("id",e.taskId).eq("user_id",e.userId).maybeSingle(),n={...r?.stage_decisions&&"object"==typeof r.stage_decisions?r.stage_decisions:{},[e.stage]:{decision:e.decision.decision,rationale:e.decision.explanation,final_result:e.decision.final_result,decided_at:new Date().toISOString()}},{error:a}=await t.from("tasks").update({stage_decisions:n,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);if(a&&!function(e){if(!e||"object"!=typeof e)return!1;let t="code"in e?String(e.code):"",r="message"in e?String(e.message).toLowerCase():"";return("PGRST204"===t||"42703"===t)&&r.includes("stage_decisions")}(a))throw a}async function q(e){let n=await t.getTask(e.taskId,e.userId);if(!n)throw Error(`Task ${e.taskId} not found`);let a=n.stage||null,o=new Date().toISOString(),s={taskId:e.taskId,userId:e.userId,title:n.title||null,slug:n.slug||null,timestamp:o},{frontmatter:i,body:d}=(0,r.parseFrontmatter)(n.content),l=T({defaultUserId:e.userId,frontmatter:i});i.stage=e.nextStage,i.status=e.nextStatus,e.error?i.error=e.error:"error"in i&&delete i.error;let c=A(i,d);await t.updateTask(e.taskId,c,e.userId);let u=(0,N.createAdminDbClient)(),{error:g}=await u.from("tasks").update({stage:e.nextStage,status:e.nextStatus,retry_count:e.retryCount,error:e.error,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);g?console.error(`[applyStageTransition] direct update failed for ${e.taskId}:`,g):console.log(`[applyStageTransition] set ${e.taskId} to status=${e.nextStatus}, stage=${e.nextStage}`),"completed"===e.nextStatus&&(await u.from("tasks").update({completed_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),await D(e.taskId,e.userId)),("completed"===e.nextStatus||"failed"===e.nextStatus)&&(I(e.taskId,l,{goal:String(n.content||n.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Memory extraction failed:",e)),$(e.taskId,n.project_id||n.project,{goal:String(n.content||n.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Project knowledge extraction failed:",e))),"blocked"!==e.nextStatus&&"failed"!==e.nextStatus&&(0,U.notifyTaskEvent)({...s,eventType:"task.stage_complete",stage:a,previousStage:a,nextStage:e.nextStage,status:e.nextStatus,details:{nextStatus:e.nextStatus}}),"completed"===e.nextStatus&&(0,U.notifyTaskEvent)({...s,eventType:"task.completed",stage:e.nextStage,status:e.nextStatus,details:{previousStage:a,nextStage:e.nextStage}}),"failed"===e.nextStatus&&(0,U.notifyTaskEvent)({...s,eventType:"task.failed",stage:e.nextStage,status:e.nextStatus,error:e.error,details:{previousStage:a}})}async function B(e){await t.addTaskLog(e.taskId,e.content,e.logType)}async function Q(e){await t.addTaskComment(e.taskId,e.content,e.authorType||"agent")}async function F(e){let n=await t.getTask(e.taskId,e.userId);if(!n)return;let{frontmatter:a,body:o}=(0,r.parseFrontmatter)(n.content),s=T({defaultUserId:e.userId,frontmatter:a});a.status="failed",a.error=e.reason||"Cancelled";let i=A(a,o);await t.updateTask(e.taskId,i,e.userId),await t.addTaskLog(e.taskId,e.reason||"Task cancelled","error"),I(e.taskId,s,{goal:String(n.content||n.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Memory extraction failed:",e)),$(e.taskId,n.project_id||n.project,{goal:String(n.content||n.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Project knowledge extraction failed:",e));let d=(0,N.createAdminDbClient)();await d.from("tasks").update({status:"failed",error:e.reason||"Cancelled",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),(0,U.notifyTaskEvent)({taskId:e.taskId,userId:e.userId,eventType:"task.failed",title:n.title||null,slug:n.slug||null,stage:n.stage||null,status:"failed",error:e.reason||"Cancelled",timestamp:new Date().toISOString(),details:{previousStage:n.stage||null}})}async function V(e){let{taskId:r,userId:n,signal:a,payload:o,ticketType:s="task"}=e.data,i=await t.getTask(r,n);if(!i)return void console.log(`[processor] Task ${r} not found, skipping`);if("completed"===i.status||"failed"===i.status)return void console.log(`[processor] Task ${r} is ${i.status}, skipping`);let d=i.stage;switch(a){case"start":await J(r,d,n);break;case"agentResult":await G(r,d,n,o,s,i.retry_count||0,i.workflow_id&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(i.workflow_id)?i.workflow_id:null);break;case"humanInput":await K(r,o);break;case"daemonStep":await H(r,o);break;case"cancel":await z(r,n,o?.reason);break;default:console.warn(`[processor] Unknown signal: ${a}`)}}async function Y(e){for(let t of e)try{await V(t)}catch(e){throw console.error(`[processor] Error processing job ${t.id}:`,e),e}}async function J(e,t,r){console.log(`[processor] Starting task ${e} at stage ${t}`),await W({taskId:e,stage:t,userId:r}),await B({taskId:e,content:`Task started at stage: ${t}`,logType:"system"})}async function G(e,t,r,o,s,i,d=null){let l,c,u;console.log(`[processor] Processing agent result for ${e}: ${o.decision}`),await M({taskId:e,stage:t,decision:o,userId:r});let g=Array.isArray(o.comments)?o.comments.map(e=>String(e||"").trim()).filter(Boolean):[],p=String(o.comment||o.log||o.final_result||"").trim();for(let t of g.length>0?g:p.split("\n").map(e=>e.trim()).filter(Boolean))await Q({taskId:e,content:t,authorType:"agent"});let m=null,f=null;if(d){let e=await a({workflowId:d,currentNodeName:t,decision:o.decision,retryCount:i,maxRetries:3});l=e.nextNodeName,c=e.nextStatus,u=e.retryCount,m=e.error,f=e.appendLog,console.log(`[processor] Workflow transition: ${t} -> ${l} (workflow: ${d})`)}else{let e=function({currentStage:e,decision:t,ticketType:r,retryCount:a,maxRetries:o=3}){let s=function(e,t){if("spike"===t)return"INTAKE"===e?"PROGRESS":"DONE"===e?null:"DONE";for(let t of n){let r=t.indexOf(e);if(-1!==r){if(r>=t.length-1)return null;return t[r+1]}}return null}(e,r);if("done"===t)return s?{nextStage:s,nextStatus:"queued",retryCount:0,error:null,appendLog:{content:`Stage completed: ${e}`,logType:"checkpoint"}}:{nextStage:"DONE",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at stage ${e}.`,logType:"checkpoint"}};if("blocked"===t)return{nextStage:e,nextStatus:"blocked",retryCount:a,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"}};if("PROGRESS"===e)return{nextStage:"PROGRESS",nextStatus:"queued",retryCount:0,error:null,appendLog:{content:"Stage not done. Retrying in PROGRESS.",logType:"system"}};let i=a+1;return i<=o?{nextStage:e,nextStatus:"queued",retryCount:i,error:null,appendLog:{content:`Retrying (${i}/${o}) for stage ${e}.`,logType:"system"}}:{nextStage:e,nextStatus:"failed",retryCount:i,error:"Task failed.",appendLog:{content:"Task failed.",logType:"error"}}}({currentStage:t,decision:o.decision,ticketType:s,retryCount:i,maxRetries:3});l=e.nextStage,c=e.nextStatus,u=e.retryCount,m=e.error,f=e.appendLog}if(await q({taskId:e,nextStage:l,nextStatus:c,retryCount:u,error:m?o.explanation||m:null,userId:r}),f){let t="error"===f.logType&&o.explanation||"system"===f.logType&&o.explanation?o.explanation:f.content;await B({taskId:e,content:t,logType:f.logType})}console.log(`[processor] Task ${e} transitioned: ${t} -> ${l}`)}async function K(e,t){console.log(`[processor] Recording human input for ${e}`),await Q({taskId:e,content:t.content,authorType:t.authorType||"user"})}async function H(e,t){let r=t.provider?` provider=${t.provider}`:"",n=t.model?` model=${t.model}`:"",a=t.role?` role=${t.role}`:"",o="number"==typeof t.iteration?` iter=${t.iteration}`:"",s="exit"===t.phase?` exit=${t.exit_code}`:"",i=t.error?` error=${t.error}`:"",d=Array.isArray(t.args)?t.args.join(" "):"",l=t.stdout_tail?`
|
|
47
|
+
${t}`}var j=e.i(40793),N=e.i(686213);function P(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function E(e){if(!e)return[];let t=P(e.depends_on);if(t.length)return t;if("string"==typeof e.content){let{frontmatter:t}=(0,r.parseFrontmatter)(e.content||"");return P(t.depends_on)}return[]}async function C(e,t){if(!e.length)return[];let r=(0,I.createAdminDbClient)().from("tasks").select("id, title, slug, status, stage").in("id",e);t&&(r=r.eq("user_id",t));let{data:n}=await r,a=new Map;if(Array.isArray(n))for(let e of n){var o;e&&e.id&&a.set(e.id,(o=e.id,e?{id:e.id||o||"",title:e.title||void 0,slug:e.slug||void 0,status:e.status,stage:e.stage}:{id:o||""}))}return e.map(e=>a.get(e)).filter(e=>!!e)}async function A(e,t){let r=E(e);return r.length?(await C(r,t)).filter(e=>"completed"!==(e.status||"")):[]}async function b(e,n,a){let o=n||N.LOCAL_USER.id,s=await t.getTask(e,o);if(!s)throw Error(`Task not found: ${e}`);let i=await A(s,o);if(i.length){let t=function(e){if(!e.length)return"";let t=e.slice(0,3).map(e=>{let t=e.title||e.slug||e.id||"(unknown)",r="INTAKE"===e.stage?"awaiting approval":e.status||"",n=r?` (${r})`:"";return`${t}${n}`}),r=`Waiting on dependencies: ${t.join(", ")}`;return e.length>3&&(r+=` +${e.length-3} more`),r}(i),r=(0,I.createAdminDbClient)(),{error:n}=await r.from("tasks").update({status:"blocked",blocked_reason:t,updated_at:new Date().toISOString()}).eq("id",e);if(n&&"42703"!==n.code)throw n;return{started:!1,missingDependencies:i,blockedReason:t}}if(!a?.force&&"queued"===s.status&&!s.blocked_reason)return{started:!1,missingDependencies:[],alreadyQueued:!0};let{frontmatter:l,body:d}=(0,r.parseFrontmatter)(s.content||""),u=a?.ticketType??function(e,t){for(let t of["ticket_type","type","issue_type","kind"])if("spike"===function(e){if("string"!=typeof e)return"task";let t=e.trim().toLowerCase();return"spike"===t||"spikes"===t?"spike":"task"}(e[t]))return"spike";let r=t.match(/^#\s+(.+)$/m),n=r?.[1]?.trim().toLowerCase()||"";return n.startsWith("spike:")||n.startsWith("[spike]")?"spike":"task"}(l,d),c=await (0,j.getQueue)(),g=await c.send(j.QUEUE_NAMES.TASK_PROCESS,{taskId:e,userId:o,signal:"start",ticketType:u}),p=(0,I.createAdminDbClient)(),{error:f}=await p.from("tasks").update({status:"queued",blocked_reason:null,updated_at:new Date().toISOString()}).eq("id",e);if(f&&"42703"!==f.code)throw f;return{started:!!g,jobId:g,missingDependencies:[],ticketType:u}}async function L(e,t){let r=t||N.LOCAL_USER.id,n=(0,I.createAdminDbClient)(),a=n.from("tasks").select("id").contains("depends_on",[e]);t&&(a=a.eq("user_id",t));let{data:o,error:s}=await a,i=Array.isArray(o)?o.map(e=>e?.id).filter(Boolean):[];if(s&&"42703"===s.code){let r=n.from("tasks").select("id, content");t&&(r=r.eq("user_id",t));let{data:a}=await r;i=(Array.isArray(a)?a:[]).filter(t=>E(t).includes(e)).map(e=>e?.id).filter(Boolean)}i.length&&await Promise.all(i.map(e=>b(e,r)))}var v=e.i(129264);async function R(e){let t=(0,I.createAdminDbClient)();await t.from("tasks").update({stage:e.stage,status:"queued",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId)}async function O(e){let t=(0,I.createAdminDbClient)(),{data:r}=await t.from("tasks").select("stage_decisions").eq("id",e.taskId).eq("user_id",e.userId).maybeSingle(),n={...r?.stage_decisions&&"object"==typeof r.stage_decisions?r.stage_decisions:{},[e.stage]:{decision:e.decision.decision,rationale:e.decision.explanation,final_result:e.decision.final_result,decided_at:new Date().toISOString()}},{error:a}=await t.from("tasks").update({stage_decisions:n,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);if(a&&!function(e){if(!e||"object"!=typeof e)return!1;let t="code"in e?String(e.code):"",r="message"in e?String(e.message).toLowerCase():"";return("PGRST204"===t||"42703"===t)&&r.includes("stage_decisions")}(a))throw a}async function D(e){let n=await t.getTask(e.taskId,e.userId);if(!n)throw Error(`Task ${e.taskId} not found`);let a=n.stage||null,o=new Date().toISOString(),s={taskId:e.taskId,userId:e.userId,title:n.title||null,slug:n.slug||null,timestamp:o},{frontmatter:i,body:l}=(0,r.parseFrontmatter)(n.content),d=y({defaultUserId:e.userId,frontmatter:i});i.stage=e.nextStage,i.status=e.nextStatus,e.error?i.error=e.error:"error"in i&&delete i.error;let u=$(i,l);await t.updateTask(e.taskId,u,e.userId);let c=(0,I.createAdminDbClient)(),{error:g}=await c.from("tasks").update({stage:e.nextStage,status:e.nextStatus,retry_count:e.retryCount,error:e.error,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);g?console.error(`[applyStageTransition] direct update failed for ${e.taskId}:`,g):console.log(`[applyStageTransition] set ${e.taskId} to status=${e.nextStatus}, stage=${e.nextStage}`),"completed"===e.nextStatus&&(await c.from("tasks").update({completed_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),await L(e.taskId,e.userId)),("completed"===e.nextStatus||"failed"===e.nextStatus)&&(w(e.taskId,d,{goal:String(n.content||n.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Memory extraction failed:",e)),_(e.taskId,n.project_id||n.project,{goal:String(n.content||n.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Project knowledge extraction failed:",e))),"blocked"!==e.nextStatus&&"failed"!==e.nextStatus&&(0,v.notifyTaskEvent)({...s,eventType:"task.stage_complete",stage:a,previousStage:a,nextStage:e.nextStage,status:e.nextStatus,details:{nextStatus:e.nextStatus}}),"completed"===e.nextStatus&&(0,v.notifyTaskEvent)({...s,eventType:"task.completed",stage:e.nextStage,status:e.nextStatus,details:{previousStage:a,nextStage:e.nextStage}}),"failed"===e.nextStatus&&(0,v.notifyTaskEvent)({...s,eventType:"task.failed",stage:e.nextStage,status:e.nextStatus,error:e.error,details:{previousStage:a}})}async function W(e){await t.addTaskLog(e.taskId,e.content,e.logType)}async function M(e){await t.addTaskComment(e.taskId,e.content,e.authorType||"agent")}async function q(e){let n=await t.getTask(e.taskId,e.userId);if(!n)return;let{frontmatter:a,body:o}=(0,r.parseFrontmatter)(n.content),s=y({defaultUserId:e.userId,frontmatter:a});a.status="failed",a.error=e.reason||"Cancelled";let i=$(a,o);await t.updateTask(e.taskId,i,e.userId),await t.addTaskLog(e.taskId,e.reason||"Task cancelled","error"),w(e.taskId,s,{goal:String(n.content||n.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Memory extraction failed:",e)),_(e.taskId,n.project_id||n.project,{goal:String(n.content||n.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Project knowledge extraction failed:",e));let l=(0,I.createAdminDbClient)();await l.from("tasks").update({status:"failed",error:e.reason||"Cancelled",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),(0,v.notifyTaskEvent)({taskId:e.taskId,userId:e.userId,eventType:"task.failed",title:n.title||null,slug:n.slug||null,stage:n.stage||null,status:"failed",error:e.reason||"Cancelled",timestamp:new Date().toISOString(),details:{previousStage:n.stage||null}})}async function U(e){let{taskId:r,userId:n,signal:a,payload:o,ticketType:s="task"}=e.data,i=await t.getTask(r,n);if(!i)return void console.log(`[processor] Task ${r} not found, skipping`);if("completed"===i.status||"failed"===i.status)return void console.log(`[processor] Task ${r} is ${i.status}, skipping`);let l=i.stage;switch(a){case"start":await Q(r,l,n);break;case"agentResult":await G(r,l,n,o,s,i.retry_count||0,i.workflow_id&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(i.workflow_id)?i.workflow_id:null);break;case"humanInput":await Y(r,o);break;case"daemonStep":await F(r,o);break;case"cancel":await K(r,n,o?.reason);break;default:console.warn(`[processor] Unknown signal: ${a}`)}}async function B(e){for(let t of e)try{await U(t)}catch(e){throw console.error(`[processor] Error processing job ${t.id}:`,e),e}}async function Q(e,t,r){console.log(`[processor] Starting task ${e} at stage ${t}`),await R({taskId:e,stage:t,userId:r}),await W({taskId:e,content:`Task started at stage: ${t}`,logType:"system"})}async function G(e,t,r,o,s,i,l=null){let d,u,c;console.log(`[processor] Processing agent result for ${e}: ${o.decision}`),await O({taskId:e,stage:t,decision:o,userId:r});let g=Array.isArray(o.comments)?o.comments.map(e=>String(e||"").trim()).filter(Boolean):[],p=String(o.comment||o.log||o.final_result||"").trim();for(let t of g.length>0?g:p.split("\n").map(e=>e.trim()).filter(Boolean))await M({taskId:e,content:t,authorType:"agent"});let f=null,m=null;if(l){let e=await a({workflowId:l,currentNodeName:t,decision:o.decision,retryCount:i,maxRetries:3});d=e.nextNodeName,u=e.nextStatus,c=e.retryCount,f=e.error,m=e.appendLog,console.log(`[processor] Workflow transition: ${t} -> ${d} (workflow: ${l})`)}else{let e=function({currentStage:e,decision:t,ticketType:r,retryCount:a,maxRetries:o=3}){let s=function(e,t){if("spike"===t)return"INTAKE"===e?"PROGRESS":"DONE"===e?null:"DONE";for(let t of n){let r=t.indexOf(e);if(-1!==r){if(r>=t.length-1)return null;return t[r+1]}}return null}(e,r);if("done"===t)return s?{nextStage:s,nextStatus:"queued",retryCount:0,error:null,appendLog:{content:`Stage completed: ${e}`,logType:"checkpoint"}}:{nextStage:"DONE",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at stage ${e}.`,logType:"checkpoint"}};if("blocked"===t)return{nextStage:e,nextStatus:"blocked",retryCount:a,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"}};if("PROGRESS"===e)return{nextStage:"PROGRESS",nextStatus:"queued",retryCount:0,error:null,appendLog:{content:"Stage not done. Retrying in PROGRESS.",logType:"system"}};let i=a+1;return i<=o?{nextStage:e,nextStatus:"queued",retryCount:i,error:null,appendLog:{content:`Retrying (${i}/${o}) for stage ${e}.`,logType:"system"}}:{nextStage:e,nextStatus:"failed",retryCount:i,error:"Task failed.",appendLog:{content:"Task failed.",logType:"error"}}}({currentStage:t,decision:o.decision,ticketType:s,retryCount:i,maxRetries:3});d=e.nextStage,u=e.nextStatus,c=e.retryCount,f=e.error,m=e.appendLog}if(await D({taskId:e,nextStage:d,nextStatus:u,retryCount:c,error:f?o.explanation||f:null,userId:r}),m){let t="error"===m.logType&&o.explanation||"system"===m.logType&&o.explanation?o.explanation:m.content;await W({taskId:e,content:t,logType:m.logType})}console.log(`[processor] Task ${e} transitioned: ${t} -> ${d}`)}async function Y(e,t){console.log(`[processor] Recording human input for ${e}`),await M({taskId:e,content:t.content,authorType:t.authorType||"user"})}async function F(e,t){let r=t.provider?` provider=${t.provider}`:"",n=t.model?` model=${t.model}`:"",a=t.role?` role=${t.role}`:"",o="number"==typeof t.iteration?` iter=${t.iteration}`:"",s="exit"===t.phase?` exit=${t.exit_code}`:"",i=t.error?` error=${t.error}`:"",l=Array.isArray(t.args)?t.args.join(" "):"",d=t.stdout_tail?`
|
|
74
48
|
stdout_tail:
|
|
75
|
-
${t.stdout_tail}`:"",
|
|
49
|
+
${t.stdout_tail}`:"",u=t.stderr_tail?`
|
|
76
50
|
stderr_tail:
|
|
77
|
-
${t.stderr_tail}`:"",
|
|
78
|
-
args: ${
|
|
79
|
-
duration_ms: ${t.duration_ms}`:"")+
|
|
51
|
+
${t.stderr_tail}`:"",c=`[execution/${t.kind||"daemon"}] ${t.phase||"event"} ${t.label||""}${r}${n}${a}${o}${s}${i}`.trim()+(l?`
|
|
52
|
+
args: ${l}`:"")+(t.duration_ms?`
|
|
53
|
+
duration_ms: ${t.duration_ms}`:"")+d+u;await W({taskId:e,content:c,logType:"system"})}async function K(e,t,r){console.log(`[processor] Cancelling task ${e}: ${r||"No reason"}`),await q({taskId:e,reason:r,userId:t})}e.s(["taskProcessor",()=>B],469324)}];
|
|
80
54
|
|
|
81
55
|
//# sourceMappingURL=lib_2492d514._.js.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module.exports=[65768,e=>{"use strict";var t=e.i(902157),r=e.i(660526),i=e.i(750227),o=e.i(666680),n=e.i(180228),a=e.i(965196);let d=process.env.AGX_VAULT_ROOT||i.default.join(process.env.AGX_DATA_DIR||i.default.join(r.default.homedir(),".agx"),"vault");function s(){return new Date().toISOString()}function l(e,t="item"){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function c(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(1,e)):null}function u(e){t.default.mkdirSync(e,{recursive:!0})}function p(e){t.default.existsSync(e)&&t.default.rmSync(e,{recursive:!0,force:!0})}function f(e,r){if(!t.default.existsSync(e))return r;try{return JSON.parse(t.default.readFileSync(e,"utf8"))}catch{return r}}function g(e,r){u(i.default.dirname(e));let o=`${e}.tmp-${process.pid}-${Date.now()}`;t.default.writeFileSync(o,r,"utf8"),t.default.renameSync(o,e)}function m(e,t){g(e,`${JSON.stringify(t,null,2)}
|
|
2
|
+
`)}function _(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function h(e){return String(e||"").replace(/\r\n/g,"\n").split("\n").map(e=>e.replace(/\s+$/g,"")).join("\n").trim()}function j(e,t,r){let i=(0,n.dump)(t,{lineWidth:120,noRefs:!0,sortKeys:!0}).trimEnd(),o=h(r);g(e,o?`---
|
|
3
|
+
${i}
|
|
4
|
+
---
|
|
5
|
+
${o}
|
|
6
|
+
`:`---
|
|
7
|
+
${i}
|
|
8
|
+
---
|
|
9
|
+
`)}function y(e){if(!t.default.existsSync(e))return null;let r=t.default.readFileSync(e,"utf8"),i=r.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);if(!i)return{frontmatter:{},body:h(r)};let o=(0,n.load)(i[1]);return{frontmatter:_(o)?o:{},body:h(i[2]??"")}}function w(e){return t.default.existsSync(e)?t.default.readdirSync(e,{withFileTypes:!0}).filter(e=>e.isFile()&&e.name.endsWith(".md")).map(t=>i.default.join(e,t.name)).sort((e,t)=>e.localeCompare(t)):[]}function k(e){let t=new Set,r=[];for(let i of e??[]){let e=String(i??"").trim().toLowerCase();!e||t.has(e)||(t.add(e),r.push(e))}return r}function b(e){let t=[];for(let r of e??[]){let e=String(r?.note??"").trim(),i="string"==typeof r?.id?r.id.trim():"";e&&t.push(i?{id:i,note:e}:{note:e})}return t}function v(e,t,r){return(0,o.createHash)("sha256").update(`${e}
|
|
10
|
+
${t}
|
|
11
|
+
${r}`).digest("hex")}function S(e){return[...e].sort((e,t)=>{let r=e.updatedAt||e.createdAt||"";return(t.updatedAt||t.createdAt||"").localeCompare(r)})}let D=new class{rootDir;constructor(e=d){this.rootDir=e}getRootDir(){return this.ensureRoot(),this.rootDir}registryPath(){return i.default.join(this.rootDir,".agx","registry.json")}globalDir(){return i.default.join(this.rootDir,"_global")}globalAgentsDir(){return i.default.join(this.globalDir(),"Agents")}globalImportedLearningsDir(){return i.default.join(this.globalDir(),"_generated","imported","learnings")}globalEvidenceDir(e){return i.default.join(this.globalDir(),"_generated","evidence",e)}globalPlaybookPath(){return i.default.join(this.globalDir(),"Playbook.md")}projectDir(e){return i.default.join(this.rootDir,e)}projectManifestPath(e){return i.default.join(this.projectDir(e),".agx","manifest.json")}projectContextPath(e){return i.default.join(this.projectDir(e),"Context","Project.md")}projectSkillsDir(e){return i.default.join(this.projectDir(e),"Context","Skills")}projectVariablesDir(e){return i.default.join(this.projectDir(e),"Context","Variables")}projectAgentsIndexPath(e){return i.default.join(this.projectDir(e),"Context","Agents","_index.md")}projectThreadsDir(e){return i.default.join(this.projectDir(e),"Threads")}repoDir(e,t){return i.default.join(this.projectDir(e),"Repos",t)}repoKnowledgePath(e,t){return i.default.join(this.repoDir(e,t),"Knowledge.md")}projectImportedDir(e,t){return i.default.join(this.projectDir(e),"_generated","imported",t)}projectEvidenceDir(e,t){return i.default.join(this.projectDir(e),"_generated","evidence",t)}ensureRoot(){u(i.default.join(this.rootDir,".agx")),u(this.globalDir()),u(this.globalAgentsDir()),u(this.globalImportedLearningsDir()),u(this.globalEvidenceDir("agent")),u(this.globalEvidenceDir("global")),t.default.existsSync(this.registryPath())||this.writeRegistry({version:1,updatedAt:s(),projects:[],agents:[]}),t.default.existsSync(i.default.join(this.globalDir(),"_Index.md"))||g(i.default.join(this.globalDir(),"_Index.md"),"# Global Knowledge\n\n- [[Playbook]]\n- [[Agents]]\n"),t.default.existsSync(this.globalPlaybookPath())||j(this.globalPlaybookPath(),{id:"global-playbook",type:"knowledge-note",scope:"global",subject_id:"playbook",slug:"playbook",title:"Playbook",created_at:s(),updated_at:s(),version:1},"")}readRegistry(){this.ensureRoot();let e={version:1,updatedAt:s(),projects:[],agents:[]},t=f(this.registryPath(),e);return Array.isArray(t.projects)||(t.projects=[]),Array.isArray(t.agents)||(t.agents=[]),t.version=1,t}writeRegistry(e){u(i.default.join(this.rootDir,".agx")),m(this.registryPath(),{version:1,updatedAt:s(),projects:[...e.projects].sort((e,t)=>e.slug.localeCompare(t.slug)),agents:[...e.agents].sort((e,t)=>e.slug.localeCompare(t.slug))})}readManifest(e){return f(this.projectManifestPath(e),null)}writeManifest(e,t){m(this.projectManifestPath(e),{...t,version:1,updatedAt:s(),repos:[...t.repos].sort((e,t)=>e.slug.localeCompare(t.slug)),agents:[...t.agents].sort((e,t)=>e.routing_order-t.routing_order),threads:[...t.threads].sort((e,t)=>e.created_at.localeCompare(t.created_at))})}findProjectRegistryEntry(e){let t=e.trim();return t?this.readRegistry().projects.find(e=>e.id===t||e.slug===t)??null:null}findProjectRegistryEntryById(e){let t=e.trim();return t?this.readRegistry().projects.find(e=>e.id===t)??null:null}findRepoEntry(e){let t=e.trim();if(!t)return null;for(let e of this.readRegistry().projects){let r=e.repos.find(e=>e.id===t);if(r)return{project:e,repo:r}}return null}findAgentEntry(e){let t=e.trim();return t?this.readRegistry().agents.find(e=>e.id===t||e.slug===t)??null:null}nextProjectSlug(e,t){let r=this.readRegistry(),i=l(e,"project"),o=i,n=1;for(;r.projects.some(e=>e.slug===o&&e.id!==t);)n+=1,o=`${i}-${n}`;return o}nextRepoSlug(e,t,r){let i=this.readManifest(e),o=l(t,"repo"),n=o,a=1;for(;i?.repos.some(e=>e.slug===n&&e.id!==r);)a+=1,n=`${o}-${a}`;return n}ensureProjectScaffold(e,r){let o=this.projectDir(e.slug);for(let n of(u(o),u(i.default.join(o,".agx")),u(i.default.join(o,"Context")),u(this.projectSkillsDir(e.slug)),u(this.projectVariablesDir(e.slug)),u(i.default.dirname(this.projectAgentsIndexPath(e.slug))),u(this.projectThreadsDir(e.slug)),u(i.default.join(o,"Repos")),u(this.projectImportedDir(e.slug,"project-memory")),u(this.projectImportedDir(e.slug,"learnings")),u(this.projectEvidenceDir(e.slug,"project")),u(this.projectEvidenceDir(e.slug,"repo")),u(this.projectEvidenceDir(e.slug,"agent")),r))u(this.repoDir(e.slug,n.slug)),u(this.projectImportedDir(e.slug,i.default.join("repo-knowledge",n.slug))),t.default.existsSync(i.default.join(this.repoDir(e.slug,n.slug),"_index.md"))||g(i.default.join(this.repoDir(e.slug,n.slug),"_index.md"),`# ${n.name}
|
|
12
|
+
|
|
13
|
+
- [[Knowledge]]
|
|
14
|
+
`),t.default.existsSync(this.repoKnowledgePath(e.slug,n.slug))||j(this.repoKnowledgePath(e.slug,n.slug),{id:n.id,type:"knowledge-note",scope:"repo",subject_id:n.id,project_id:e.id,repo_id:n.id,slug:n.slug,title:n.name,created_at:n.created_at,updated_at:n.updated_at,version:1},n.notes??"");t.default.existsSync(i.default.join(o,"_Index.md"))||g(i.default.join(o,"_Index.md"),`# ${e.name}
|
|
15
|
+
|
|
16
|
+
- [[Overview]]
|
|
17
|
+
- [[Architecture]]
|
|
18
|
+
- [[Active Development]]
|
|
19
|
+
- [[Design Decisions]]
|
|
20
|
+
`),t.default.existsSync(i.default.join(o,"Overview.md"))||g(i.default.join(o,"Overview.md"),`# Overview
|
|
21
|
+
|
|
22
|
+
${e.description?.trim()||""}
|
|
23
|
+
`),t.default.existsSync(i.default.join(o,"Architecture.md"))||g(i.default.join(o,"Architecture.md"),"# Architecture\n"),t.default.existsSync(i.default.join(o,"Active Development.md"))||g(i.default.join(o,"Active Development.md"),"# Active Development\n"),t.default.existsSync(i.default.join(o,"Design Decisions.md"))||g(i.default.join(o,"Design Decisions.md"),"# Design Decisions\n"),t.default.existsSync(this.projectContextPath(e.slug))||j(this.projectContextPath(e.slug),{id:e.id,type:"knowledge-note",scope:"project",subject_id:e.id,project_id:e.id,slug:e.slug,title:e.name,created_at:e.created_at,updated_at:e.updated_at,version:1},e.description?.trim()||""),t.default.existsSync(this.projectAgentsIndexPath(e.slug))||j(this.projectAgentsIndexPath(e.slug),{id:`project-agents:${e.id}`,type:"project-agents",project_id:e.id,title:`${e.name} Agents`,created_at:e.created_at,updated_at:e.updated_at,agents:[]},"# Project Agents\n")}toRegistryRepos(e){return e.map(e=>({id:e.id,slug:e.slug,name:e.name,path:e.path??null,git_url:e.git_url??null}))}updateProjectRegistryEntry(e,t){let r=this.readRegistry(),i={id:e.id,slug:e.slug,name:e.name,path:this.projectDir(e.slug),created_at:e.created_at,updated_at:e.updated_at,repos:this.toRegistryRepos(t)},o=r.projects.filter(t=>t.id!==e.id);o.push(i),this.writeRegistry({...r,projects:o})}removeProjectRegistryEntry(e){let t=this.readRegistry();this.writeRegistry({...t,projects:t.projects.filter(t=>t.id!==e)})}ensureAgentRegistryEntry(e,t){let r=this.readRegistry(),o=r.agents.find(t=>t.id===e);if(o)return o;let n=l(t||e,"agent"),a=s(),d={id:e,slug:n,name:t||e,path:i.default.join(this.globalAgentsDir(),`${n}.md`),created_at:a,updated_at:a};return this.writeRegistry({...r,agents:[...r.agents,d]}),d}updateAgentRegistryEntry(e,t){let r=this.readRegistry(),i=r.agents.find(t=>t.id===e);if(!i)return this.ensureAgentRegistryEntry(e,t);let o={...i,name:t,updated_at:s()};return this.writeRegistry({...r,agents:[...r.agents.filter(t=>t.id!==e),o]}),o}listProjects(e){return this.readRegistry().projects.map(t=>this.getProjectWithRepos(t.id,e)).filter(e=>!!e)}getProjectBySlug(e,t){let r=this.getProjectWithRepos(e,t);return r?{...r,repos:void 0}:null}getProjectRepos(e){let t=this.getProjectWithRepos(e);return t?.repos??[]}getProjectWithRepos(e,t){let r=this.findProjectRegistryEntry(e);if(!r)return null;let i=this.readManifest(r.slug);if(!i||t&&i.project.user_id&&i.project.user_id!==t)return null;let o=i.repos.map(e=>({id:e.id,project_id:e.project_id,name:e.name,path:e.path??"",git_url:e.git_url??void 0,notes:this.getKnowledgeNote("repo",e.id)?.content||"",created_at:e.created_at,updated_at:e.updated_at}));return{...i.project,repos:o}}createProject(e,t){let r=s(),i=this.nextProjectSlug(t.name||"project"),n={id:(0,o.randomUUID)(),user_id:e,name:t.name.trim(),slug:i,description:t.description?.trim()||"",metadata:{},workflow_id:t.workflow_id??null,created_at:r,updated_at:r},a=(t.repos??[]).map(e=>{let t=this.nextRepoSlug(n.slug,e.name||e.path||"repo");return{id:e.id?.trim()||(0,o.randomUUID)(),project_id:n.id,name:e.name.trim(),path:e.path??"",git_url:e.git_url??void 0,notes:e.notes??"",created_at:r,updated_at:r,slug:t}});for(let e of(this.ensureProjectScaffold(n,a),this.writeManifest(n.slug,{version:1,updatedAt:r,project:n,repos:a,agents:[],threads:[]}),this.updateProjectRegistryEntry(n,a),a))e.notes?.trim()&&this.upsertKnowledgeNote({scope:"repo",subjectId:e.id,content:e.notes,changeSummary:"Initial repo note",sourceType:"manual",sourceId:"project-create",metadata:{project_id:n.id}});return this.getProjectWithRepos(n.id,e)}updateProject(e,r,i){let n=this.getProjectWithRepos(e,r);if(!n)return null;let a=this.readManifest(n.slug);if(!a)return null;let d=i.slug?.trim()?this.nextProjectSlug(i.slug.trim(),n.id):n.slug,l=s(),c={...a.project,name:"string"==typeof i.name&&i.name.trim()?i.name.trim():a.project.name,slug:d,description:void 0!==i.description?i.description??"":a.project.description??"",metadata:void 0!==i.metadata?i.metadata??{}:a.project.metadata??{},ci_cd_info:void 0!==i.ci_cd_info?i.ci_cd_info??void 0:a.project.ci_cd_info,workflow_id:void 0!==i.workflow_id?i.workflow_id??null:a.project.workflow_id,updated_at:l},u=a.repos;if(i.repos){let e=[],t=new Map(a.repos.map(e=>[e.id,e]));for(let r of i.repos){let i=r.id?t.get(r.id):void 0,a=i?.id||r.id?.trim()||(0,o.randomUUID)(),d=i?.slug||this.nextRepoSlug(c.slug,r.name||r.path||"repo",a);e.push({id:a,project_id:n.id,name:r.name.trim(),path:r.path??"",git_url:r.git_url??void 0,notes:r.notes??"",created_at:i?.created_at||l,updated_at:l,slug:d})}for(let t of a.repos)e.some(e=>e.id===t.id)||p(this.repoDir(n.slug,t.slug));u=e}for(let e of(d!==n.slug&&(p(this.projectDir(d)),t.default.renameSync(this.projectDir(n.slug),this.projectDir(d))),this.ensureProjectScaffold(c,u),this.writeManifest(c.slug,{version:1,updatedAt:l,project:c,repos:u,agents:a.agents,threads:a.threads}),this.updateProjectRegistryEntry(c,u),u)){let t=i.repos?.find(t=>(t.id||e.id)===e.id)?.notes;"string"==typeof t&&this.upsertKnowledgeNote({scope:"repo",subjectId:e.id,content:t,changeSummary:"Repo note updated",sourceType:"manual",sourceId:"project-update",metadata:{project_id:c.id}})}return this.getProjectWithRepos(c.id,r)}deleteProject(e,t){let r=this.getProjectWithRepos(e,t);r&&(p(this.projectDir(r.slug)),this.removeProjectRegistryEntry(r.id))}getProjectAgents(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=y(this.projectAgentsIndexPath(t.slug));return[...Array.isArray(r?.frontmatter?.agents)?r.frontmatter.agents:[]].sort((e,t)=>e.routing_order-t.routing_order)}addProjectAgent(e,t,r){let i=this.findProjectRegistryEntryById(e);if(!i)throw Error("Project not found");let o=this.getProjectAgents(e).filter(e=>e.agent_id!==t),n=r??o.length,a=s();o.push({project_id:e,agent_id:t,routing_order:n,created_at:a});let d=o.sort((e,t)=>e.routing_order-t.routing_order).map((e,t)=>({...e,routing_order:t}));return this.writeProjectAgents(i.slug,e,d),d.find(e=>e.agent_id===t)}removeProjectAgent(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)return;let i=this.getProjectAgents(e).filter(e=>e.agent_id!==t).map((e,t)=>({...e,routing_order:t}));this.writeProjectAgents(r.slug,e,i)}reorderProjectAgents(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)return[];let i=new Map(this.getProjectAgents(e).map(e=>[e.agent_id,e])),o=t.map((e,t)=>{let r=i.get(e);return r?{...r,routing_order:t}:null}).filter(e=>!!e);return this.writeProjectAgents(r.slug,e,o),o}writeProjectAgents(e,t,r){let i=this.projectAgentsIndexPath(e),o=y(i),n=o?.frontmatter?.created_at||s();j(i,{id:o?.frontmatter?.id||`project-agents:${t}`,type:"project-agents",project_id:t,title:"Project Agents",created_at:n,updated_at:s(),agents:r},"# Project Agents\n");let a=this.readManifest(e);a&&this.writeManifest(e,{...a,agents:r})}getProjectSkills(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=[];for(let i of w(this.projectSkillsDir(t.slug))){let t=y(i);if(!t)continue;let o=String(t.frontmatter.id||"").trim(),n=String(t.frontmatter.file||"").trim(),a=String(t.frontmatter.created_at||"");o&&n&&r.push({id:o,project_id:String(t.frontmatter.project_id||e),file:n,condition:"string"==typeof t.frontmatter.condition?t.frontmatter.condition:void 0,created_at:a,updatedAt:a,createdAt:a})}return S(r).map(({updatedAt:e,createdAt:t,...r})=>r)}addProjectSkill(e,t,r){let n=this.findProjectRegistryEntryById(e);if(!n)throw Error("Project not found");let a=s(),d=(0,o.randomUUID)(),c=l(i.default.basename(t)||d,"skill");return j(i.default.join(this.projectSkillsDir(n.slug),`${c}-${d.slice(0,8)}.md`),{id:d,type:"project-skill",project_id:e,title:i.default.basename(t)||t,file:t,condition:r??null,created_at:a,updated_at:a},`# ${i.default.basename(t)||t}
|
|
24
|
+
`),{id:d,project_id:e,file:t,condition:r,created_at:a}}removeProjectSkill(e){for(let r of this.readRegistry().projects)for(let i of w(this.projectSkillsDir(r.slug))){let r=y(i);if(r?.frontmatter?.id===e)return void t.default.unlinkSync(i)}}getProjectVariables(e){let t=this.findProjectRegistryEntryById(e);return t?w(this.projectVariablesDir(t.slug)).map(t=>{let r=y(t);return r?{project_id:String(r.frontmatter.project_id||e),key:String(r.frontmatter.key||""),value:String(r.frontmatter.value||"")}:null}).filter(e=>!!e?.key):[]}setProjectVariable(e,t,r){let o=this.findProjectRegistryEntryById(e);if(!o)throw Error("Project not found");let n=i.default.join(this.projectVariablesDir(o.slug),`${l(t,"var")}.md`),a=y(n),d=s();return j(n,{id:a?.frontmatter?.id||`project-variable:${e}:${t}`,type:"project-variable",project_id:e,title:t,key:t,value:r,created_at:a?.frontmatter?.created_at||d,updated_at:d},""),{project_id:e,key:t,value:r}}deleteProjectVariable(e,r){let o=this.findProjectRegistryEntryById(e);if(!o)return;let n=i.default.join(this.projectVariablesDir(o.slug),`${l(r,"var")}.md`);t.default.existsSync(n)&&t.default.unlinkSync(n)}getProjectMemory(e){let t=this.getKnowledgeNote("project",e);return t?.content.trim()?[{id:t.id,project_id:e,content:t.content,source:t.sourceType||"vault",producer:"human",created_at:t.updatedAt}]:[]}addProjectMemory(e,t,r,i="human"){let o=this.getKnowledgeNote("project",e)?.content??"",n=o.trim()?`${o.trim()}
|
|
25
|
+
|
|
26
|
+
- ${t.trim().replace(/^\-\s*/,"")}`:t.trim(),{note:a}=this.upsertKnowledgeNote({scope:"project",subjectId:e,content:n,changeSummary:r||"Project memory updated",sourceType:"system"===i?"task_completion":"manual",sourceId:r||"manual-project-memory",metadata:{producer:i}});return{id:a.id,project_id:e,content:a.content,source:a.changeSummary||void 0,producer:i,created_at:a.updatedAt}}deleteProjectMemory(e){let t=this.findProjectRegistryEntryById(e);if(!t)return;let r=this.projectContextPath(t.slug),i=y(r);i&&j(r,{...i.frontmatter,updated_at:s()},"")}getProjectThreads(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=this.readManifest(t.slug);return r?.threads??[]}addProjectThread(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)throw Error("Project not found");let o=this.readManifest(r.slug);if(!o)throw Error("Project manifest missing");let n=o.threads.find(e=>e.thread_id===t);if(n)return n;let a=s(),d={project_id:e,thread_id:t,created_at:a};return j(i.default.join(this.projectThreadsDir(r.slug),`${encodeURIComponent(t)}.md`),{id:`project-thread:${e}:${t}`,type:"project-thread",project_id:e,thread_id:t,title:t,created_at:a,updated_at:a},`# Thread ${t}
|
|
27
|
+
`),this.writeManifest(r.slug,{...o,threads:[...o.threads,d]}),d}removeProjectThread(e,r){let o=this.findProjectRegistryEntryById(e);if(!o)return;let n=this.readManifest(o.slug);if(!n)return;let a=i.default.join(this.projectThreadsDir(o.slug),`${encodeURIComponent(r)}.md`);t.default.existsSync(a)&&t.default.unlinkSync(a),this.writeManifest(o.slug,{...n,threads:n.threads.filter(e=>e.thread_id!==r)})}getProjectForThread(e){for(let t of this.readRegistry().projects){let r=this.readManifest(t.slug);if(r?.threads.some(t=>t.thread_id===e))return r.project.id}return null}getKnowledgeNote(e,t){let r=this.resolveKnowledgeNotePath(e,t);if(!r)return null;let i=y(r.path);if(!i)return null;let o=i.frontmatter;return{id:String(o.id||t),scope:e,subjectId:t,content:i.body,changeSummary:"string"==typeof o.change_summary?o.change_summary:null,sourceType:"string"==typeof o.source_type?o.source_type:"manual",sourceId:"string"==typeof o.source_id?o.source_id:"vault",metadata:_(o.metadata)?o.metadata:{},version:"number"==typeof o.version?o.version:1,createdAt:"string"==typeof o.created_at?o.created_at:s(),updatedAt:"string"==typeof o.updated_at?o.updated_at:s()}}upsertKnowledgeNote(e){let t=this.resolveKnowledgeNotePath(e.scope,e.subjectId,{createIfMissing:!0});if(!t)throw Error(`Cannot resolve knowledge note for ${e.scope}:${e.subjectId}`);let r=this.getKnowledgeNote(e.scope,e.subjectId),i=h(e.content);if(r&&h(r.content)===i)return{note:r,changed:!1};let o=r?.createdAt||s(),n=(r?.version||0)+1,a={...t.frontmatter,updated_at:s(),created_at:o,source_type:e.sourceType,source_id:e.sourceId,change_summary:e.changeSummary??null,version:n,metadata:e.metadata??{}};j(t.path,a,i);let d=this.getKnowledgeNote(e.scope,e.subjectId);if(!d)throw Error("Failed to read knowledge note after write");return{note:d,changed:!0}}resolveKnowledgeNotePath(e,t,r){if("global"===e){let e=s();return this.ensureRoot(),{path:this.globalPlaybookPath(),frontmatter:{id:"global-playbook",type:"knowledge-note",scope:"global",subject_id:t||"playbook",slug:"playbook",title:"Playbook",created_at:e,updated_at:e}}}if("project"===e){let e=this.findProjectRegistryEntryById(t);if(!e)return null;let r=s();return{path:this.projectContextPath(e.slug),frontmatter:{id:t,type:"knowledge-note",scope:"project",subject_id:t,project_id:t,slug:e.slug,title:e.name,created_at:r,updated_at:r}}}if("repo"===e){let e=this.findRepoEntry(t);if(!e)return null;let r=s();return{path:this.repoKnowledgePath(e.project.slug,e.repo.slug),frontmatter:{id:t,type:"knowledge-note",scope:"repo",subject_id:t,project_id:e.project.id,repo_id:t,slug:e.repo.slug,title:e.repo.name,created_at:r,updated_at:r}}}let i=this.findAgentEntry(t)??(r?.createIfMissing?this.ensureAgentRegistryEntry(t,t):null);if(!i)return null;let o=s();return{path:i.path,frontmatter:{id:t,type:"knowledge-note",scope:"agent",subject_id:t,agent_id:t,slug:i.slug,title:i.name,created_at:o,updated_at:o}}}listKnowledgeEntries(e){return S(this.knowledgeEntryFilesForScope(e.scope,e.subjectId).map(t=>{let r=y(t);return r?{id:String(r.frontmatter.id||""),scope:r.frontmatter.scope,subjectId:String(r.frontmatter.subject_id||e.subjectId),sourceType:r.frontmatter.source_type,sourceId:String(r.frontmatter.source_id||""),kind:r.frontmatter.kind,title:String(r.frontmatter.title||""),body:r.body,confidence:c(r.frontmatter.confidence),durability:c(r.frontmatter.durability),tags:k(r.frontmatter.tags),evidence:b(r.frontmatter.evidence),metadata:_(r.frontmatter.metadata)?r.frontmatter.metadata:{},createdAt:String(r.frontmatter.created_at||""),updatedAt:String(r.frontmatter.updated_at||"")}:null}).filter(e=>!!(e?.id&&e.body))).slice(0,e.limit??50)}storeKnowledgeEntries(e){let t=0;for(let r of e){let e=r.subjectId.trim(),i=r.title.trim(),n=r.body.trim(),a=r.sourceId.trim();if(!e||!i||!n||!a)continue;let d=v(r.scope,e,n);if(this.listKnowledgeEntries({scope:r.scope,subjectId:e,limit:500}).find(e=>e.metadata?.content_hash===d))continue;let l=this.nextKnowledgeEntryPath(r.scope,e,i),u=s();j(l,{id:(0,o.randomUUID)(),type:"knowledge-evidence",scope:r.scope,subject_id:e,source_type:r.sourceType,source_id:a,kind:r.kind,title:i,confidence:c(r.confidence),durability:c(r.durability),tags:k(r.tags),evidence:b(r.evidence),metadata:{...r.metadata??{},content_hash:d},content_hash:d,created_at:u,updated_at:u},n),t+=1}return t}knowledgeEntryFilesForScope(e,t){if("global"===e)return w(this.globalEvidenceDir("global"));if("agent"===e)return w(this.globalEvidenceDir("agent")).filter(e=>{let r=y(e);return r?.frontmatter?.subject_id===t});if("project"===e){let e=this.findProjectRegistryEntryById(t);return e?w(this.projectEvidenceDir(e.slug,"project")):[]}let r=this.findRepoEntry(t);return r?w(this.projectEvidenceDir(r.project.slug,"repo")).filter(e=>{let r=y(e);return r?.frontmatter?.subject_id===t}):[]}nextKnowledgeEntryPath(e,t,r){let n=(0,o.randomUUID)(),a=`${l(r,"entry")}-${n.slice(0,8)}.md`;if("global"===e)return i.default.join(this.globalEvidenceDir("global"),a);if("agent"===e)return i.default.join(this.globalEvidenceDir("agent"),a);if("project"===e){let e=this.findProjectRegistryEntryById(t);if(!e)throw Error("Project not found for knowledge entry");return i.default.join(this.projectEvidenceDir(e.slug,"project"),a)}let d=this.findRepoEntry(t);if(!d)throw Error("Repo not found for knowledge entry");return i.default.join(this.projectEvidenceDir(d.project.slug,"repo"),a)}getLearnings(e,t){if("task"===e)return[];if("global"===e){let e=this.getKnowledgeNote("global","playbook");return e?.content.trim()?[{id:e.id,scope:"global",scope_id:void 0,content:e.content,created_at:e.updatedAt}]:[]}if(!t)return[];let r=this.getKnowledgeNote("project",t);return r?.content.trim()?[{id:r.id,scope:"project",scope_id:t,content:r.content,created_at:r.updatedAt}]:[]}addLearning(e,t,r){if("task"===e)throw Error("Task learnings are not handled by VaultStore");let i="global"===e?"global":"project",o="global"===e?"playbook":String(r||"").trim();if(!o)throw Error("scopeId is required for project learnings");let n=this.getKnowledgeNote(i,o)?.content??"",a=`- ${t.trim().replace(/^\-\s*/,"")}`,d=n.trim()?`${n.trim()}
|
|
28
|
+
${a}`:a,{note:s}=this.upsertKnowledgeNote({scope:i,subjectId:o,content:d,changeSummary:"Learning added",sourceType:"manual",sourceId:"manual-learning",metadata:{scope:e}});return{id:s.id,scope:e,scope_id:r,content:s.content,created_at:s.updatedAt}}deleteLearning(e,t,r){if("task"===t)return;let i="global"===t?"playbook":String(r||"").trim();if(!i)return;let o=this.getKnowledgeNote("global"===t?"global":"project",i);o&&o.id===e&&this.upsertKnowledgeNote({scope:"global"===t?"global":"project",subjectId:i,content:"",changeSummary:"Learning cleared",sourceType:"manual",sourceId:"manual-learning-delete",metadata:{scope:t}})}migrateFromLegacyDb(){this.ensureRoot();let e=(0,a.getSQLiteDb)(),t=s(),r=t=>!!e.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name = ? LIMIT 1").get(t),o=t=>r(t)?e.prepare(`SELECT * FROM ${t}`).all():[],n=o("projects"),d=o("project_repos"),c=o("project_agents"),u=o("project_skills"),f=o("project_variables"),g=o("project_threads"),m=o("project_memory"),_=r("repo_knowledge")?e.prepare("SELECT id, repo_id, content, producer, created_at FROM repo_knowledge").all():[],h=r("knowledge_notes")?e.prepare("SELECT * FROM knowledge_notes").all():[],y=r("knowledge_entries")?e.prepare("SELECT * FROM knowledge_entries").all():[],w=o("learnings"),k=o("agents"),b=r("agent_memory")?e.prepare("SELECT * FROM agent_memory").all():[];p(this.rootDir),this.ensureRoot();let S=w.filter(e=>"global"===e.scope),D=S.map(e=>`- ${e.content.trim().replace(/^\-\s*/,"")}`).join("\n");this.upsertKnowledgeNote({scope:"global",subjectId:"playbook",content:D,changeSummary:"Imported from legacy learnings",sourceType:"task_completion",sourceId:"vault-import",metadata:{imported_at:t}});let P=0,A=0;for(let e of S)j(i.default.join(this.globalImportedLearningsDir(),`${l(e.id,"learning")}.md`),{id:e.id,type:"imported-artifact",source_table:"learnings",scope:e.scope,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{scope_id:e.scope_id,user_id:e.user_id}},e.content),P+=1;for(let e of k){let r=h.find(t=>"agent"===t.scope&&t.subject_id===e.id),i=r?.content?.trim()||this.synthesizeAgentNote(e.id,b,y),o=this.updateAgentRegistryEntry(e.id,e.name);j(o.path,{id:e.id,type:"knowledge-note",scope:"agent",subject_id:e.id,agent_id:e.id,slug:o.slug,title:e.name,created_at:r?.created_at||e.created_at||t,updated_at:r?.updated_at||e.updated_at||t,source_type:r?.source_type||"task_completion",source_id:r?.source_id||"vault-import",change_summary:r?.change_summary||"Imported from legacy agent knowledge",version:r?.version||1,metadata:r?.metadata?JSON.parse(r.metadata):{}},this.composeAgentNoteBody(e.name,e.description,i))}for(let e of n){let r={id:e.id,user_id:e.user_id,name:e.name,slug:e.slug||this.nextProjectSlug(e.name||e.id,e.id),description:e.description??"",metadata:e.metadata??{},ci_cd_info:e.ci_cd_info??void 0,workflow_id:e.workflow_id??null,created_at:e.created_at||t,updated_at:e.updated_at||t},o=d.filter(t=>t.project_id===e.id).map(e=>({...e,slug:this.nextRepoSlug(r.slug,e.name||e.path||e.id,e.id)}));this.ensureProjectScaffold(r,o),this.writeManifest(r.slug,{version:1,updatedAt:t,project:r,repos:o,agents:c.filter(e=>e.project_id===r.id).sort((e,t)=>e.routing_order-t.routing_order),threads:g.filter(e=>e.project_id===r.id)}),this.updateProjectRegistryEntry(r,o);let n=h.find(e=>"project"===e.scope&&e.subject_id===r.id),a=n?.content?.trim()||this.synthesizeProjectNote(r.id,m,y);for(let e of(this.upsertKnowledgeNote({scope:"project",subjectId:r.id,content:a,changeSummary:n?.change_summary||"Imported from legacy project knowledge",sourceType:n?.source_type||"task_completion",sourceId:n?.source_id||"vault-import",metadata:n?.metadata?JSON.parse(n.metadata):{imported_at:t}}),j(this.projectContextPath(r.slug),{id:r.id,type:"knowledge-note",scope:"project",subject_id:r.id,project_id:r.id,slug:r.slug,title:r.name,created_at:n?.created_at||r.created_at,updated_at:n?.updated_at||r.updated_at,source_type:n?.source_type||"task_completion",source_id:n?.source_id||"vault-import",change_summary:n?.change_summary||"Imported from legacy project knowledge",version:n?.version||1,metadata:n?.metadata?JSON.parse(n.metadata):{}},a),w.filter(e=>"project"===e.scope&&e.scope_id===r.id)))j(i.default.join(this.projectImportedDir(r.slug,"learnings"),`${l(e.id,"learning")}.md`),{id:e.id,type:"imported-artifact",source_table:"learnings",scope:e.scope,project_id:r.id,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{scope_id:e.scope_id,user_id:e.user_id}},e.content),P+=1;for(let e of m.filter(e=>e.project_id===r.id))j(i.default.join(this.projectImportedDir(r.slug,"project-memory"),`${l(e.id,"memory")}.md`),{id:e.id,type:"imported-artifact",source_table:"project_memory",source_row_id:e.id,project_id:r.id,producer:e.producer,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{source:e.source??null}},e.content),P+=1;for(let e of o){let o=h.find(t=>"repo"===t.scope&&t.subject_id===e.id),n=o?.content?.trim()||this.synthesizeRepoNote(e.id,_,y);for(let a of(j(this.repoKnowledgePath(r.slug,e.slug),{id:e.id,type:"knowledge-note",scope:"repo",subject_id:e.id,project_id:r.id,repo_id:e.id,slug:e.slug,title:e.name,created_at:o?.created_at||e.created_at,updated_at:o?.updated_at||e.updated_at,source_type:o?.source_type||"task_completion",source_id:o?.source_id||"vault-import",change_summary:o?.change_summary||"Imported from legacy repo knowledge",version:o?.version||1,metadata:o?.metadata?JSON.parse(o.metadata):{}},n),e.notes?.trim()&&(j(i.default.join(this.projectImportedDir(r.slug,i.default.join("repo-knowledge",e.slug)),`${l(e.id,"repo-notes")}-project-repos-notes.md`),{id:`${e.id}:project_repos.notes`,type:"imported-artifact",source_table:"project_repos",source_row_id:e.id,project_id:r.id,repo_id:e.id,created_at:e.updated_at||e.created_at||t,updated_at:e.updated_at||e.created_at||t},e.notes),P+=1),_.filter(t=>t.repo_id===e.id)))j(i.default.join(this.projectImportedDir(r.slug,i.default.join("repo-knowledge",e.slug)),`${l(a.id,"repo-knowledge")}.md`),{id:a.id,type:"imported-artifact",source_table:"repo_knowledge",source_row_id:a.id,project_id:r.id,repo_id:e.id,producer:a.producer,created_at:a.created_at||t,updated_at:a.created_at||t},a.content),P+=1}for(let e of u.filter(e=>e.project_id===r.id))j(i.default.join(this.projectSkillsDir(r.slug),`${l(i.default.basename(e.file)||e.id,"skill")}-${e.id.slice(0,8)}.md`),{id:e.id,type:"project-skill",project_id:r.id,title:i.default.basename(e.file)||e.file,file:e.file,condition:e.condition??null,created_at:e.created_at||t,updated_at:e.created_at||t},`# ${i.default.basename(e.file)||e.file}
|
|
29
|
+
`);for(let e of f.filter(e=>e.project_id===r.id))j(i.default.join(this.projectVariablesDir(r.slug),`${l(e.key,"var")}.md`),{id:`project-variable:${r.id}:${e.key}`,type:"project-variable",project_id:r.id,title:e.key,key:e.key,value:e.value,created_at:t,updated_at:t},"");for(let e of(j(this.projectAgentsIndexPath(r.slug),{id:`project-agents:${r.id}`,type:"project-agents",project_id:r.id,title:"Project Agents",created_at:r.created_at,updated_at:r.updated_at,agents:c.filter(e=>e.project_id===r.id).sort((e,t)=>e.routing_order-t.routing_order)},"# Project Agents\n"),g.filter(e=>e.project_id===r.id)))j(i.default.join(this.projectThreadsDir(r.slug),`${encodeURIComponent(e.thread_id)}.md`),{id:`project-thread:${r.id}:${e.thread_id}`,type:"project-thread",project_id:r.id,thread_id:e.thread_id,title:e.thread_id,created_at:e.created_at||t,updated_at:e.created_at||t},`# Thread ${e.thread_id}
|
|
30
|
+
`)}for(let e of y)j(this.nextKnowledgeEntryPath(e.scope,e.subject_id,e.title||e.id),{id:e.id,type:"knowledge-evidence",scope:e.scope,subject_id:e.subject_id,source_type:e.source_type,source_id:e.source_id,kind:e.kind,title:e.title,confidence:e.confidence,durability:e.durability,tags:e.tags?JSON.parse(e.tags):[],evidence:e.evidence?JSON.parse(e.evidence):[],metadata:e.metadata?JSON.parse(e.metadata):{},content_hash:e.content_hash||v(e.scope,e.subject_id,e.body),created_at:e.created_at||t,updated_at:e.updated_at||e.created_at||t},e.body),A+=1;return{projects:n.length,repos:d.length,agents:k.length,importedArtifacts:P,evidenceFiles:A}}composeAgentNoteBody(e,t,r){let i=[`# ${e}`];return t?.trim()&&i.push(`## Identity
|
|
31
|
+
${t.trim()}`),r.trim()&&i.push(`## Portable Knowledge
|
|
32
|
+
${r.trim()}`),i.join("\n\n")}synthesizeProjectNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.project_id===e&&"system"===t.producer).map(e=>e.content.trim()),...r.filter(t=>"project"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}synthesizeRepoNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.repo_id===e&&"system"===t.producer).map(e=>e.content.trim()),...r.filter(t=>"repo"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}synthesizeAgentNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.agent_id===e).map(e=>e.content.trim()),...r.filter(t=>"agent"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}};e.s(["vaultStore",0,D])},648392,e=>{"use strict";var t=e.i(65768);function r(e){return t.vaultStore.listKnowledgeEntries(e)}function i(e){return t.vaultStore.storeKnowledgeEntries(e)}e.s(["listKnowledgeEntries",()=>r,"storeKnowledgeEntries",()=>i])},445491,592508,129264,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(965196);return t()}e.i(686213),e.s(["createAdminDbClient",()=>t],445491);let r="Waiting on dependencies";function i(e){if(!e||0===e.length)return"";let t=e.slice(0,3).map(e=>`${e.title?e.title:e.slug?e.slug:e.id?e.id:"(unknown)"}${(e.stage?.toLowerCase()==="intake"?" (awaiting approval)":e.status?` (${e.status})`:null)??""}`),i=`${r}: ${t.join(", ")}`;return e.length>3&&(i+=` +${e.length-3} more`),i}function o(e){return"string"==typeof e&&e.startsWith(r)}e.s(["formatDependencyBlockedReason",()=>i,"isDependencyBlockedReason",()=>o],592508);let n=[{value:"task.created",label:"Task created",description:"Fires immediately when a new task is added to the queue."},{value:"task.stage_complete",label:"Stage completed",description:"Emitted whenever a stage finishes and the task advances."},{value:"task.completed",label:"Task completed",description:"When the task reaches a completed status (done)."},{value:"task.failed",label:"Task failed",description:"When the task may have errored, including cancellations."},{value:"task.blocked",label:"Task blocked",description:"When the agent raises the task as blocked awaiting manual input."}].map(e=>e.value);class a extends Error{}function d(e){let t=Array.isArray(e.events)?e.events.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(e=>n.includes(e)):[];return{id:String(e.id),user_id:String(e.user_id),url:String(e.url),name:null!=e.name?String(e.name):null,events:t,enabled:!1!==e.enabled,created_at:String(e.created_at),updated_at:String(e.updated_at)}}async function s(e,t){if(function(e,t){if(!e||"object"!=typeof e)return!1;let r=e.code,i="string"==typeof e.message?e.message:"";return"42P01"===r||"PGRST205"===r||i.includes(`relation "${t}" does not exist`)||i.includes(`Could not find the table 'agx.${t}'`)||i.includes(`Could not find the table 'public.${t}'`)}(t,e))throw new a(`Missing relation: ${e}`);throw t}async function l(e){let r=t(),{data:i,error:o}=await r.from("notification_webhooks").select("*").eq("user_id",e).order("created_at",{ascending:!1});return(o&&await s("notification_webhooks",o),i)?(Array.isArray(i)?i:[i]).map(d):[]}async function c(e){if(!e.userId)return;let t=[];try{t=await l(e.userId)}catch(e){if(e instanceof a)return void console.debug("[notifications] notification_webhooks schema not ready, skipping");console.error("[notifications] failed to load webhooks",e);return}let r=t.filter(t=>t.enabled&&t.events.includes(e.eventType));if(!r.length)return;let i=e.timestamp||new Date().toISOString(),o={eventType:e.eventType,taskId:e.taskId,userId:e.userId,title:e.title||null,slug:e.slug||null,stage:e.stage||null,previousStage:e.previousStage||null,nextStage:e.nextStage||null,status:e.status||null,error:e.error||null,timestamp:i,details:e.details||{}};await Promise.all(r.map(async e=>{try{let t=await fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});t.ok||console.error(`[notifications] webhook ${e.url} responded with ${t.status}`)}catch(t){console.error(`[notifications] failed to send to ${e.url}`,t)}}))}e.s(["notifyTaskEvent",()=>c],129264)},699904,e=>{"use strict";var t=e.i(445491),r=e.i(592508),i=e.i(129264),o=e.i(254799),n=e.i(65768);function a(e,t){if(!e)return!1;let r="string"==typeof e.message?e.message:"";return"42P01"===e.code||"PGRST205"===e.code||r.includes(`relation "${t}" does not exist`)||r.includes(`Could not find the table 'agx.${t}'`)||r.includes(`Could not find the table 'public.${t}'`)}async function d(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("user_settings").select("*").eq("user_id",e).maybeSingle();if(o){if(a(o,"user_settings"))return null;throw o}return i||null}async function s(e,r,i){let o=i?.onlyIfNewer!==!1,n=function(e){if("string"==typeof e){let t=Date.parse(e);if(Number.isFinite(t))return new Date(t).toISOString()}return new Date().toISOString()}(r.changed_at),a=await d(e);if(o&&a?.changed_at){let e=Date.parse(a.changed_at),t=Date.parse(n);if(Number.isFinite(e)&&Number.isFinite(t)&&t<=e)return{settings:a,updated:!1}}let s={user_id:e,default_provider:r.default_provider??a?.default_provider??null,models:r.models??a?.models??{},provenance:r.provenance,changed_at:n},l=(0,t.createAdminDbClient)(),{error:c}=await l.from("user_settings").upsert(s,{onConflict:"user_id"});if(c)throw c;let u=await d(e);if(!u)throw Error("Failed to load user_settings after upsert");return{settings:u,updated:!0}}function l(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function c(e,t){let r=l(e);for(let i=0;i<5;i++){let{data:i,error:o}=await t.from("tasks").select("id").eq("slug",r).limit(1);if(o)throw o;if(!i||0===i.length)return r;let n=Math.random().toString(36).slice(2,6);r=`${l(e)}-${n}`.slice(0,48)}return`${l(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function u(e,t,r,i){let o=l(e);for(let n=0;n<5;n++){let n=r.from("projects").select("id").eq("slug",o).eq("user_id",t);i&&(n=n.neq("id",i));let{data:a,error:d}=await n.limit(1);if(d)throw d;if(!a||0===a.length)return o;let s=Math.random().toString(36).slice(2,6);o=`${l(e)}-${s}`.slice(0,48)}return`${l(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function p(e){return e??(0,t.createAdminDbClient)()}function f(e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(e=>String(e||"").trim()).filter(Boolean)}catch{}return t.split(",").map(e=>e.trim()).filter(Boolean)}function g(e){let t;if(!e)return[];if(Array.isArray(e))t=e.map(e=>"string"==typeof e?e:null==e?"":String(e)).filter(Boolean);else{if("string"!=typeof e)return[];t=f(e)}return Array.from(new Set(t.map(e=>e.trim()).filter(Boolean)))}function m(e){let t=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!t)return{frontmatter:{},body:e};let r={};for(let e of t[1].split("\n")){let t=e.indexOf(":");if(t>0){let i=e.slice(0,t).trim(),o=e.slice(t+1).trim();if("depends_on"===i){r[i]=f(o);continue}"true"===o?r[i]=!0:"false"===o?r[i]=!1:/^\d+$/.test(o)?r[i]=parseInt(o):r[i]=o}}return{frontmatter:r,body:t[2]}}async function _(e,t,r){if(!e||!t?.length)return;let i=p(r),o=new Set,n=[...t];for(;n.length;){let t=n.pop();if(!t)continue;if(t===e)throw Error("Circular dependency detected");if(o.has(t))continue;o.add(t);let{data:r,error:a}=await i.from("tasks").select("depends_on").eq("id",t).maybeSingle();if(a){if("PGRST116"===a.code||"42703"===a.code)continue;throw a}if(r)for(let e of Array.isArray(r.depends_on)?r.depends_on:[])e&&!o.has(e)&&n.push(e)}}function h(e){let{body:t}=m(e),r=t.match(/^#\s+(.+)$/m);return r?r[1]:void 0}function j(e){return String(e||"").replace(/^#\s+.+(\r?\n|$)/,"").trim()}async function y(e,i){let o=Array.isArray(e.depends_on)?e.depends_on:[];if(!o.length)return;let n=(0,t.createAdminDbClient)(),{data:a,error:d}=await n.from("tasks").select("id, title, slug, status, stage").in("id",o);if(d)return;let s=(Array.isArray(a)?a:[]).filter(e=>"completed"!==(e?.status||""));if(s.length){let t=(0,r.formatDependencyBlockedReason)(s),o=n.from("tasks").update({status:"blocked",blocked_reason:t}).eq("id",e.id);i&&(o=o.eq("user_id",i));let{error:a}=await o;if(a&&"42703"!==a.code)throw a;return}if("blocked"===e.status&&(0,r.isDependencyBlockedReason)(e.blocked_reason)){let t=n.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",e.id);i&&(t=t.eq("user_id",i));let{error:r}=await t;if(r&&"42703"!==r.code)throw r}}async function w(e,r){console.log("getTasks called with userId:",e);let i=(0,t.createAdminDbClient)().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(e&&(i=i.eq("user_id",e)),r?.project&&(i=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r.project)?i.eq("project_id",r.project):i.eq("project",r.project)),r?.orphan&&(i=i.is("project_id",null)),r?.status&&(i=i.eq("status",r.status)),r?.search){let e=r.search;i=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)?i.or(`id.eq.${e},slug.ilike.%${e}%,title.ilike.%${e}%`):i.or(`id.ilike.%${e}%,slug.ilike.%${e}%,title.ilike.%${e}%`)}let{data:o,error:n}=await i;if(n)throw n;let a=o||[];return r?.orphan?a.filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t}):a}async function k(e,r){let i=(0,t.createAdminDbClient)().from("tasks").select("*").eq("id",e);r&&(i=i.eq("user_id",r));let{data:o,error:n}=await i.single();if(n){if("PGRST116"===n.code)return null;throw n}return o}async function b(e,r){let i=(0,t.createAdminDbClient)().from("tasks").select("*").eq("slug",e);r&&(i=i.eq("user_id",r));let{data:o,error:n}=await i.single();if(n){if("PGRST116"===n.code)return null;throw n}return o}async function v(e,r,n){let a=(0,t.createAdminDbClient)(),{frontmatter:d,body:s}=m(e),l="boolean"==typeof d.swarm?d.swarm:void 0,u=n?.title||h(e),p=String(d.slug||u||"task"),f=await c(p,a),w=n?.projectId||("string"==typeof d.project_id?d.project_id:void 0),b="string"==typeof d.workflow_id?d.workflow_id:void 0,v="string"==typeof d.project?d.project:void 0;if(!v&&w){let e=await $(w);e?.slug&&(v=e.slug)}/^---\n/.test(e);let S="string"==typeof d.provider?d.provider:null,D="string"==typeof d.model?d.model:null,P="string"==typeof d.engine?d.engine:null,A="ai"===d.created_by?"ai":"user",I=g(d.depends_on),C=g(n?.dependsOn),q=C.length>0?C:I,R={id:(0,o.randomUUID)(),content:e,description:j(s),title:u,slug:f,status:d.status||"queued",stage:d.stage||"intake",project:v||null,...void 0!==w?{project_id:w}:{},...void 0!==b?{workflow_id:b}:{},priority:d.priority,engine:P,provider:S,model:D,swarm:l,swarm_models:n?.swarmModels??null,depends_on:q.length?q:null,created_by:A,user_id:r,current_plan:n?.currentPlan||null,open_blockers:n?.openBlockers||[],next_action:n?.nextAction||null,version:1};await _(R.id,q,a);let{data:E,error:T}=await a.from("tasks").insert(R).select().single();if(T&&"42703"===T.code){let{swarm_models:e,swarm:t,workflow_id:r,current_plan:i,open_blockers:o,next_action:n,version:d,depends_on:s,...l}=R;({data:E,error:T}=await a.from("tasks").insert(l).select().single())}if(T)throw T;if(!E)throw Error("Failed to create task");await y(E,r);let x=await k(E.id,r)||E,N=r||x.user_id;if(N){let e=x.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(x.depends_on)?x.depends_on:[],project:x.project||null,projectId:x.project_id||null,workflowId:x.workflow_id||null,createdBy:x.created_by||null};(0,i.notifyTaskEvent)({taskId:x.id,userId:N,eventType:"task.created",title:x.title||null,slug:x.slug||null,stage:x.stage||null,status:x.status||null,timestamp:e,details:t})}return x}async function S(e,r,o,n){let a=(0,t.createAdminDbClient)(),{frontmatter:d,body:s}=m(r),l="boolean"==typeof d.swarm?d.swarm:void 0,c=h(r),u="string"==typeof d.project_id?d.project_id:void 0,p=Object.prototype.hasOwnProperty.call(d,"provider"),f=Object.prototype.hasOwnProperty.call(d,"model"),w=Object.prototype.hasOwnProperty.call(d,"workflow_id"),b=Object.prototype.hasOwnProperty.call(d,"depends_on"),v=g(d.depends_on),S=g(n?.dependsOn),D=n?.dependsOn!==void 0||b,P=n?.dependsOn!==void 0?S:v,A={content:r,description:j(s),title:c,status:d.status,stage:d.stage,project:d.project,...void 0!==u?{project_id:u}:{},workflow_id:w?d.workflow_id:void 0,priority:d.priority,engine:d.engine,provider:p?d.provider:null,model:f?d.model:null,swarm:l,swarm_models:n?.swarmModels??void 0,...D?{depends_on:P.length?P:null}:{},updated_at:new Date().toISOString(),current_plan:n?.currentPlan??void 0,open_blockers:n?.openBlockers??void 0,next_action:n?.nextAction??void 0};Object.keys(A).forEach(e=>{void 0===A[e]&&delete A[e]}),D&&await _(e,P,a);let I=a.from("tasks").update({...A,version:a.rpc("increment_version")}).eq("id",e);o&&(I=I.eq("user_id",o)),n?.expectedVersion!==void 0&&(I=I.eq("version",n.expectedVersion));let{data:C,error:q}=await a.from("tasks").update({...A}).eq("id",e).select().maybeSingle();if(q&&console.error(`[db.updateTask] error updating task ${e}:`,q),C||q||console.warn(`[db.updateTask] UPDATE returned 0 rows for task ${e}, payload keys:`,Object.keys(A)),q&&"42703"===q.code){let{swarm_models:t,swarm:r,workflow_id:i,current_plan:n,open_blockers:d,next_action:s,version:l,depends_on:c,...u}=A,p=a.from("tasks").update(u).eq("id",e);o&&(p=p.eq("user_id",o)),{data:C,error:q}=await p.select().maybeSingle()}if(q)throw q;if(!C){let t=await k(e,o);if(!t)throw Error(`Task ${e} not found`);return t}await y(C,o);let R=await k(C.id,o)||C,$=o||R.user_id;if($){let e=R.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(R.depends_on)?R.depends_on:[],project:R.project||null,projectId:R.project_id||null,workflowId:R.workflow_id||null,createdBy:R.created_by||null};(0,i.notifyTaskEvent)({taskId:R.id,userId:$,eventType:"task.created",title:R.title||null,slug:R.slug||null,stage:R.stage||null,status:R.status||null,timestamp:e,details:t})}return R}async function D(e,r,i=25){let o=(0,t.createAdminDbClient)(),{data:n,error:a}=await o.from("tasks").select("run_index").eq("id",e).single();if(a){if(a?.code==="42703")return;throw a}let d=[r,...Array.isArray(n.run_index)?n.run_index:[]].slice(0,i),{error:s}=await o.from("tasks").update({run_index:d}).eq("id",e);if(s){if(s?.code==="42703")return;throw s}}async function P(e,r){let i=(0,t.createAdminDbClient)().from("tasks").delete().eq("id",e);r&&(i=i.eq("user_id",r));let{error:o}=await i;if(o)throw o}async function A(e){let r=(0,t.createAdminDbClient)().from("tasks").select("*").eq("status","queued").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!0}).limit(1);e&&(r=r.eq("engine",e));let{data:i,error:o}=await r.single();if(o){if("PGRST116"===o.code)return null;throw o}return i}async function I(e){let r=(0,t.createAdminDbClient)().from("projects").select("*, project_repos(*)");e&&(r=r.eq("user_id",e));let{data:i,error:o}=await r;if(o){if(a(o,"projects"))return[];throw o}return(i||[]).map(e=>({...e,repos:e.project_repos??[]}))}async function C(e,r){let i=(0,t.createAdminDbClient)().from("projects").select("*").eq("slug",e);r&&(i=i.eq("user_id",r));let{data:o,error:n}=await i.maybeSingle();if(n){if(a(n,"projects"))return null;throw n}return o||null}async function q(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_repos").select("*").eq("project_id",e);if(o){if(a(o,"project_repos"))return[];throw o}return i||[]}let R=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function $(e,r){let i=(0,t.createAdminDbClient)(),o=R.test(e),n=i.from("projects").select("*");n=o?n.eq("id",e):n.eq("slug",e),r&&(n=n.eq("user_id",r));let d=await n.maybeSingle();if(d.error){if(a(d.error,"projects"))return null;throw d.error}let s=d.data;if(!s)return null;let l=await q(s.id);return{...s,repos:l}}async function E(e,t,r){if(!t.length)return[];let i=t.map(t=>({...t.id?{id:t.id}:{},project_id:e,name:t.name,path:t.path??null,git_url:t.git_url??null,notes:t.notes??null})),{data:o,error:n}=await r.from("project_repos").insert(i).select("*");if(n){if(a(n,"project_repos"))return[];throw n}return o||[]}async function T(e,t,r){if(!t.name?.trim())throw Error("Project name is required");let i=p(r),o=t.name.trim()||"project",n=await u(o,e,i),a={user_id:e,name:t.name.trim(),slug:n,description:t.description??null,workflow_id:t.workflow_id??null},{data:d,error:s}=await i.from("projects").insert(a).select("*").single();if(s)throw s;let l=await E(d.id,t.repos??[],i);return{...d,repos:l}}async function x(e,t,r,i){let o=p(i),n=R.test(e),d=e;if(!n){let r=await C(e,t);if(!r)return null;d=r.id}let s={};if(void 0!==r.name){let e=r.name?.trim();if(!e)throw Error("Project name cannot be empty");s.name=e}if(void 0!==r.slug){let e=r.slug?.trim();e&&(s.slug=e)}if(void 0!==r.description&&(s.description=r.description),void 0!==r.metadata&&(s.metadata=r.metadata),void 0!==r.ci_cd_info&&(s.ci_cd_info=r.ci_cd_info),void 0!==r.workflow_id&&(s.workflow_id=r.workflow_id),Object.keys(s).length){let{error:e}=await o.from("projects").update(s).eq("id",d).eq("user_id",t);if(e)throw e}if(r.repos){let{data:e,error:t}=await o.from("project_repos").select("*").eq("project_id",d);if(t&&!a(t,"project_repos"))throw t;let i=e||[],n=new Set(i.map(e=>e.id)),s=new Set(r.repos.map(e=>e.id).filter(e=>!!e));for(let e of i){if(s.has(e.id))continue;let{error:t}=await o.from("project_repos").delete().eq("id",e.id).eq("project_id",d);if(t&&!a(t,"project_repos"))throw t}for(let e of r.repos){let t={name:e.name,path:e.path??null,git_url:e.git_url??null,notes:e.notes??null,project_id:d};if(e.id&&n.has(e.id)){let{error:r}=await o.from("project_repos").update(t).eq("id",e.id).eq("project_id",d);if(r&&!a(r,"project_repos"))throw r;continue}let{error:r}=await o.from("project_repos").insert({...e.id?{id:e.id}:{},...t});if(r&&!a(r,"project_repos"))throw r}}return $(d,t)}async function N(e,t,r){let i=p(r),{error:o}=await i.from("projects").delete().eq("id",e).eq("user_id",t);if(o)throw o}async function O(e,t,r){let i=p(r),o=await $(e,t);if(!o)throw Error("Project not found");let{data:n,error:a}=await i.from("tasks").select("id, project").eq("user_id",t).is("project_id",null);if(a)throw a;let d=String(o.slug||"").trim().toLowerCase(),s=(n||[]).filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t||t===d}).map(e=>e.id);if(!s.length)return{updatedCount:0,taskIds:[]};let{error:l}=await i.from("tasks").update({project:o.slug,project_id:o.id,updated_at:new Date().toISOString()}).eq("user_id",t).is("project_id",null).in("id",s);if(l)throw l;return{updatedCount:s.length,taskIds:s}}let M="00000000-0000-0000-0000-000000000001",K=[{id:"00000000-0000-0000-0001-000000000001",name:"INTAKE",label:"Intake",prompt:"New task. Triage, scope, and prepare for work.",position:0,node_type:"step"},{id:"00000000-0000-0000-0001-000000000002",name:"PROGRESS",label:"Progress",prompt:"Task is actively being worked on.",position:1,node_type:"step"},{id:"00000000-0000-0000-0001-000000000003",name:"DONE",label:"Done",prompt:"Task completed.",position:2,node_type:"terminal"}],B=new Map(K.map(e=>[e.id,e]));async function L(e){let r=(0,t.createAdminDbClient)(),{error:i}=await r.from("workflows").upsert({id:M,user_id:e||"00000000-0000-0000-0000-000000000000",name:"Default Workflow",definition:{}},{onConflict:"id"});if(i)throw i;let{error:o}=await r.from("workflow_nodes").upsert(K.map(e=>({...e,workflow_id:M,metadata:{}})),{onConflict:"id"});if(o)throw o;let{error:n}=await r.from("workflow_transitions").upsert([{workflow_id:M,from_node_id:"00000000-0000-0000-0001-000000000001",to_node_id:"00000000-0000-0000-0001-000000000002",condition:"done",priority:0,metadata:{}},{workflow_id:M,from_node_id:"00000000-0000-0000-0001-000000000002",to_node_id:"00000000-0000-0000-0001-000000000003",condition:"done",priority:0,metadata:{}}],{onConflict:"workflow_id,from_node_id,condition"});if(n)throw n}async function F(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("workflows").select("*").or(`user_id.eq.${e},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(o){if(a(o,"workflows"))return[];throw o}return i||[]}async function W(e,r){let i=(0,t.createAdminDbClient)().from("workflows").select("*").eq("id",e),{data:o,error:n}=await i.maybeSingle();if(n){if(a(n,"workflows"))return null;throw n}return o}async function U(e,r,i){let o=(0,t.createAdminDbClient)(),n={updated_at:new Date().toISOString()};void 0!==i.definition&&(n.definition=i.definition),void 0!==i.name&&(n.name=i.name),void 0!==i.description&&(n.description=i.description);let{data:a,error:d}=await o.from("workflows").update(n).eq("id",e).select().single();if(d)throw d;return a}async function V(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("workflow_nodes").select("*").eq("workflow_id",e).order("position",{ascending:!0});if(o){if(a(o,"workflow_nodes"))return[];throw o}return i||[]}async function G(e,r,i){let o=(0,t.createAdminDbClient)();if(e===M&&await L(r),!await W(e,r))throw Error("Workflow not found");if(e===M){let t=i.map(t=>{let r=B.get(t.id);return r?{id:t.id,workflow_id:e,name:r.name,label:r.label,position:r.position,node_type:r.node_type,prompt:t.prompt??r.prompt,provider:t.provider??null,model:t.model??null,metadata:t.metadata??{}}:null}).filter(e=>!!e);if(t.length>0){let{error:e}=await o.from("workflow_nodes").upsert(t,{onConflict:"id"});if(e)throw e}return V(e)}return await Promise.all(i.map(async t=>{let r={};if(void 0!==t.prompt&&(r.prompt=t.prompt),void 0!==t.provider&&(r.provider=t.provider),void 0!==t.model&&(r.model=t.model),void 0!==t.metadata&&(r.metadata=t.metadata),0===Object.keys(r).length)return;let{error:i}=await o.from("workflow_nodes").update(r).eq("workflow_id",e).eq("id",t.id);if(i)throw i})),V(e)}async function J(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("workflow_nodes").select("*").eq("workflow_id",e).eq("name",r).maybeSingle();if(n){if(a(n,"workflow_nodes"))return null;throw n}return o}async function z(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("workflow_transitions").select("*").eq("workflow_id",e).order("priority",{ascending:!0});if(o){if(a(o,"workflow_transitions"))return[];throw o}return i||[]}async function H(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("workflow_transitions").select("*").eq("workflow_id",e).eq("from_node_id",r).order("priority",{ascending:!0});if(n){if(a(n,"workflow_transitions"))return[];throw n}return o||[]}async function Q(e,t){let r=await W(e,t);if(!r)return null;let[i,o]=await Promise.all([V(e),z(e)]);return{...r,nodes:i,transitions:o}}async function X(e,r={}){let i=(0,t.createAdminDbClient)(),o=Math.max(1,Math.min(2e3,Number(r.limit??r.tail??500))),n="string"==typeof r.after&&r.after.trim()?r.after.trim():null,a=n?null:void 0===r.tail?o:Number(r.tail),d=null!==a&&Number.isFinite(a)&&a>0,s=i.from("task_logs").select("*").eq("task_id",e);r.nodeId&&(s=s.eq("node_id",r.nodeId)),s=n?s.gt("created_at",n).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o):d?s.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(o):s.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o);let{data:l,error:c}=await s;if(c)throw c;let u=l||[];return n?u:d?u.slice().reverse():u}async function Y(e,r,i,o){let n=(0,t.createAdminDbClient)(),{data:a,error:d}=await n.from("task_logs").insert({task_id:e,content:r,log_type:i,...o?{node_id:o}:{}}).select().single();if(d)throw d;return a}function Z(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,Math.round(t)):0}function ee(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,t):0}async function et(e){let r=(0,t.createAdminDbClient)(),i={task_id:e.taskId,stage:e.stage,provider:e.provider??null,model:e.model??null,input_tokens:Z(e.inputTokens),output_tokens:Z(e.outputTokens),estimated_cost:ee(e.estimatedCost)},{data:o,error:n}=await r.from("task_costs").insert(i).select().single();if(n)throw n;return o}async function er(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("task_costs").select("*").eq("task_id",e).order("created_at",{ascending:!0});if(o)throw o;return i||[]}async function ei(e){return function(e){let t={},r=0,i=0,o=0;for(let n of e){let e=n.stage||"unknown",a=Z(n.input_tokens),d=Z(n.output_tokens),s=ee(n.estimated_cost??0);r+=a,i+=d,o+=s;let l=t[e]||{stage:e,input_tokens:0,output_tokens:0,estimated_cost:0,entries:0};l.input_tokens+=a,l.output_tokens+=d,l.estimated_cost+=s,l.entries+=1,t[e]=l}return{total_input_tokens:r,total_output_tokens:i,total_cost:o,per_stage:Object.values(t).sort((e,t)=>e.stage.localeCompare(t.stage))}}(await er(e))}async function eo(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(o)throw o;return i||[]}async function en(e,r,i,o){let n=(0,t.createAdminDbClient)(),{data:a,error:d}=await n.from("task_comments").insert({task_id:e,content:r,author_type:i,author_id:o??null}).select().single();if(d)throw d;return a}async function ea(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("task_comments").select("author_id, author_type").eq("id",e).single();if(n)throw n;if(!o)throw Error("Comment not found");if("user"!==o.author_type||o.author_id!==r)throw Error("Unauthorized");let{error:a}=await i.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",e).is("deleted_at",null);if(a)throw a}async function ed(e,r,i){if("task"!==e)return n.vaultStore.getLearnings(e,r);let o=(0,t.createAdminDbClient)().from("learnings").select("*").eq("scope",e).order("created_at",{ascending:!1});r&&(o=o.eq("scope_id",r)),i&&(o=o.eq("user_id",i));let{data:a,error:d}=await o;if(d)throw d;return a||[]}async function es(e,r,i,o){if("task"!==e)return n.vaultStore.addLearning(e,r,i);let a=(0,t.createAdminDbClient)(),{data:d,error:s}=await a.from("learnings").insert({scope:e,scope_id:i,content:r,user_id:o}).select().single();if(s)throw s;return d}async function el(e,r){if("global-playbook"===e)return void n.vaultStore.deleteLearning(e,"global");let i=await $(e,r);if(i)return void n.vaultStore.deleteLearning(e,"project",i.id);let o=(0,t.createAdminDbClient)().from("learnings").delete().eq("id",e);r&&(o=o.eq("user_id",r));let{error:a}=await o;if(a)throw a}async function ec(e,r){let i=(0,t.createAdminDbClient)().from("stage_prompts").select("*").eq("workflow_id",r).order("stage",{ascending:!0});i=e?i.or(`user_id.eq.${e},is_default.eq.true`):i.eq("is_default",!0);let{data:o,error:n}=await i;if(n)throw n;return o||[]}async function eu(e,r,i){let o=(0,t.createAdminDbClient)();if(r){let{data:t}=await o.from("stage_prompts").select("*").eq("workflow_id",i).eq("stage",e).eq("user_id",r).single();if(t)return t}let{data:n}=await o.from("stage_prompts").select("*").eq("workflow_id",i).eq("stage",e).eq("is_default",!0).single();return n||null}async function ep(e,r,i=[],o,n,a){let d=(0,t.createAdminDbClient)(),s={stage:e,prompt:r,outputs:i,user_id:o,is_default:!o,workflow_id:a};n&&(void 0!==n.swarm&&(s.swarm=n.swarm),void 0!==n.provider&&(s.provider=n.provider),void 0!==n.model&&(s.model=n.model),void 0!==n.swarm_models&&(s.swarm_models=n.swarm_models));let{data:l,error:c}=await d.from("stage_prompts").upsert(s,{onConflict:o?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(c)throw c;return l}async function ef(e,r){let i=(0,t.createAdminDbClient)().from("stage_prompts").delete().eq("id",e);r&&(i=i.eq("user_id",r));let{error:o}=await i;if(o)throw o}async function eg(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("agents").select("*").eq("user_id",e).order("created_at",{ascending:!1});if(o){if(a(o,"agents"))return[];throw o}return i||[]}async function em(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("agents").select("*").eq("id",e).eq("user_id",r).maybeSingle();if(n){if("PGRST116"===n.code||a(n,"agents"))return null;throw n}return o}async function e_(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("agent_skills").select("*").eq("agent_id",e).order("created_at",{ascending:!0});if(o){if(a(o,"agent_skills"))return[];throw o}return i||[]}async function eh(e,r){let i=(0,t.createAdminDbClient)(),o={user_id:e,name:r.name,style:r.style,description:r.description??null};void 0!==r.id&&(o.id=r.id),void 0!==r.title&&(o.title=r.title),void 0!==r.voice&&(o.voice=r.voice),void 0!==r.seed&&(o.seed=r.seed),void 0!==r.model&&(o.model=r.model),void 0!==r.provider&&(o.provider=r.provider),void 0!==r.color&&(o.color=r.color);let{data:n,error:d}=await i.from("agents").insert(o).select().single();if(d){if(a(d,"agents"))throw Error("Agents table does not exist");throw d}return n}async function ej(e,r,i){let o=(0,t.createAdminDbClient)(),n={updated_at:new Date().toISOString()};if(void 0!==i.name&&(n.name=i.name),void 0!==i.title&&(n.title=i.title),void 0!==i.style&&(n.style=i.style),void 0!==i.description&&(n.description=i.description),void 0!==i.voice&&(n.voice=i.voice),void 0!==i.seed&&(n.seed=i.seed),void 0!==i.model&&(n.model=i.model),void 0!==i.provider&&(n.provider=i.provider),void 0!==i.color&&(n.color=i.color),1===Object.keys(n).length)return em(e,r);let{data:d,error:s}=await o.from("agents").update(n).eq("id",e).eq("user_id",r).select().single();if(s){if("PGRST116"===s.code||a(s,"agents"))return null;throw s}return d}async function ey(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("agents").delete().eq("id",e).eq("user_id",r);if(o&&!a(o,"agents"))throw o}async function ew(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_agents").select("*").eq("project_id",e).order("routing_order",{ascending:!0});if(o){if(a(o,"project_agents"))return[];throw o}return i||[]}async function ek(e,r,i){let o=(0,t.createAdminDbClient)();if(void 0===i){let{data:t}=await o.from("project_agents").select("routing_order").eq("project_id",e).order("routing_order",{ascending:!1}).limit(1);i=(t?.[0]?.routing_order??-1)+1}let{data:n,error:a}=await o.from("project_agents").upsert({project_id:e,agent_id:r,routing_order:i}).select().single();if(a)throw a;return n}async function eb(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("project_agents").delete().eq("project_id",e).eq("agent_id",r);if(o)throw o}async function ev(e,r){let i=(0,t.createAdminDbClient)();for(let t=0;t<r.length;t++)await i.from("project_agents").update({routing_order:t}).eq("project_id",e).eq("agent_id",r[t]);return ew(e)}async function eS(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_skills").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(a(o,"project_skills"))return[];throw o}return i||[]}async function eD(e,r,i){let o=(0,t.createAdminDbClient)(),{data:n,error:a}=await o.from("project_skills").insert({project_id:e,file:r,condition:i??null}).select().single();if(a)throw a;return n}async function eP(e){let r=(0,t.createAdminDbClient)(),{error:i}=await r.from("project_skills").delete().eq("id",e);if(i)throw i}async function eA(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_variables").select("*").eq("project_id",e);if(o){if(a(o,"project_variables"))return[];throw o}return i||[]}async function eI(e,r,i){let o=(0,t.createAdminDbClient)(),{data:n,error:a}=await o.from("project_variables").upsert({project_id:e,key:r,value:i}).select().single();if(a)throw a;return n}async function eC(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("project_variables").delete().eq("project_id",e).eq("key",r);if(o)throw o}async function eq(e,t){return n.vaultStore.getProjectMemory(e)}async function eR(e,t,r,i="human"){return n.vaultStore.addProjectMemory(e,t,r,i)}async function e$(e){n.vaultStore.deleteProjectMemory(e)}async function eE(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_threads").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(a(o,"project_threads"))return[];throw o}return i||[]}async function eT(e,r){let i=(0,t.createAdminDbClient)(),{data:o,error:n}=await i.from("project_threads").insert({project_id:e,thread_id:r}).select().single();if(n)throw n;return o}async function ex(e,r){let i=(0,t.createAdminDbClient)(),{error:o}=await i.from("project_threads").delete().eq("project_id",e).eq("thread_id",r);if(o)throw o}async function eN(e){let r=(0,t.createAdminDbClient)(),{data:i,error:o}=await r.from("project_threads").select("project_id").eq("thread_id",e).maybeSingle();return o?(a(o,"project_threads"),null):i?.project_id??null}e.s(["addLearning",()=>es,"addProjectAgent",()=>ek,"addProjectMemory",()=>eR,"addProjectSkill",()=>eD,"addProjectThread",()=>eT,"addTaskComment",()=>en,"addTaskCostEntry",()=>et,"addTaskLog",()=>Y,"appendRunToIndex",()=>D,"assignOrphanTasksToProject",()=>O,"createAgent",()=>eh,"createProject",()=>T,"createTask",()=>v,"deleteAgent",()=>ey,"deleteLearning",()=>el,"deleteProject",()=>N,"deleteProjectMemory",()=>e$,"deleteProjectVariable",()=>eC,"deleteStagePrompt",()=>ef,"deleteTask",()=>P,"deleteTaskComment",()=>ea,"ensureNoCircularDependency",()=>_,"getAgent",()=>em,"getAgentSkills",()=>e_,"getAgents",()=>eg,"getLearnings",()=>ed,"getNextQueuedTask",()=>A,"getProjectAgents",()=>ew,"getProjectBySlug",()=>C,"getProjectForThread",()=>eN,"getProjectMemory",()=>eq,"getProjectRepos",()=>q,"getProjectSkills",()=>eS,"getProjectThreads",()=>eE,"getProjectVariables",()=>eA,"getProjectWithRepos",()=>$,"getProjects",()=>I,"getStagePrompt",()=>eu,"getStagePrompts",()=>ec,"getTask",()=>k,"getTaskBySlug",()=>b,"getTaskComments",()=>eo,"getTaskCostEntries",()=>er,"getTaskCostSummary",()=>ei,"getTaskLogs",()=>X,"getTasks",()=>w,"getUserSettings",()=>d,"getWorkflow",()=>W,"getWorkflowNodeByName",()=>J,"getWorkflowNodes",()=>V,"getWorkflowTransitions",()=>z,"getWorkflowTransitionsFromNode",()=>H,"getWorkflowWithGraph",()=>Q,"getWorkflows",()=>F,"parseFrontmatter",()=>m,"removeProjectAgent",()=>eb,"removeProjectSkill",()=>eP,"removeProjectThread",()=>ex,"reorderProjectAgents",()=>ev,"setProjectVariable",()=>eI,"updateAgent",()=>ej,"updateProject",()=>x,"updateTask",()=>S,"updateWorkflow",()=>U,"updateWorkflowNodes",()=>G,"upsertStagePrompt",()=>ep,"upsertUserSettings",()=>s])}];
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=lib_3c080873._.js.map
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
module.exports=[37269,e=>{"use strict";var t=e.i(522734),r=e.i(446786),o=e.i(814747);let n=process.env.AGX_DATA_DIR||o.default.join(r.default.homedir(),".agx"),i=process.env.AGX_DEBUG_LOG_PATH||o.default.join(n,"logs","desktop-chat-debug.log");function a(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"string"==typeof t&&t.length>2e3?`${t.slice(0,2e3)}...<truncated>`:t}function s(){return i}function l(e,r){try{t.default.mkdirSync(o.default.dirname(i),{recursive:!0});let n=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},a);t.default.appendFileSync(i,`${n}
|
|
2
|
+
`,"utf8")}catch{}}e.s(["getDebugLogPath",()=>s,"writeDebugLog",()=>l])},514499,e=>{"use strict";let t=Number(process.env.AGX_MAX_WORKERS)||10;function r(e){if(e>t)throw Error(`[limits] Requested ${e} workers exceeds MAX_WORKERS (${t}). See docs/LIMITS.md — exceeding this limit risks SQLITE_BUSY errors. Set AGX_MAX_WORKERS to override (requires architecture review).`);if(e<1)throw Error(`[limits] Worker count must be at least 1, got ${e}.`)}class o{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,o=r>=40;return o&&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:o}}}e.s(["MAX_WORKERS",0,t,"WRITE_QPS_CEILING",0,50,"WRITE_RATE_SAMPLE_WINDOW_MS",0,1e4,"WriteRateMonitor",()=>o,"assertWorkerCount",()=>r])},68638,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),r=e.i(259833),o=e.i(666680);let n={randomUUID:o.randomUUID},i=new Uint8Array(256),a=i.length,s=[];for(let e=0;e<256;++e)s.push((e+256).toString(16).slice(1));let l=function(e,t,r){if(n.randomUUID&&!t&&!e)return n.randomUUID();var l=e,d=r;let u=(l=l||{}).random??l.rng?.()??(a>i.length-16&&((0,o.randomFillSync)(i),a=0),i.slice(a,a+=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(s[e[t+0]]+s[e[t+1]]+s[e[t+2]]+s[e[t+3]]+"-"+s[e[t+4]]+s[e[t+5]]+"-"+s[e[t+6]]+s[e[t+7]]+"-"+s[e[t+8]]+s[e[t+9]]+"-"+s[e[t+10]]+s[e[t+11]]+s[e[t+12]]+s[e[t+13]]+s[e[t+14]]+s[e[t+15]]).toLowerCase()}(u)};var d=e.i(814747),u=e.i(522734),c=e.i(446786),p=e.i(121729),g=e.i(514499),f=e.i(37269);let E=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 g.WriteRateMonitor;workerId;constructor(e){this.workerId=l();const r=e||process.env.SQLITE_QUEUE_PATH||d.default.join(E,"agx-queue.db"),o=d.default.dirname(r);u.default.existsSync(o)||u.default.mkdirSync(o,{recursive:!0}),this.db=new t.DatabaseSync(r);const n=(0,p.validateSQLiteEnvironment)(this.db,r);if(n.length>0){const e=n.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(`
|
|
3
|
+
CREATE TABLE IF NOT EXISTS agx_jobs (
|
|
4
|
+
id TEXT PRIMARY KEY,
|
|
5
|
+
queue TEXT NOT NULL,
|
|
6
|
+
data TEXT NOT NULL,
|
|
7
|
+
status TEXT NOT NULL CHECK(status IN ('pending', 'active', 'completed', 'failed', 'retry')),
|
|
8
|
+
created_at INTEGER NOT NULL,
|
|
9
|
+
start_after INTEGER NOT NULL DEFAULT 0,
|
|
10
|
+
started_at INTEGER,
|
|
11
|
+
completed_at INTEGER,
|
|
12
|
+
failed_at INTEGER,
|
|
13
|
+
worker_id TEXT,
|
|
14
|
+
retry_count INTEGER DEFAULT 0,
|
|
15
|
+
retry_limit INTEGER DEFAULT 0,
|
|
16
|
+
priority INTEGER DEFAULT 0,
|
|
17
|
+
error TEXT
|
|
18
|
+
);
|
|
19
|
+
CREATE INDEX IF NOT EXISTS idx_jobs_fetch ON agx_jobs (queue, status, start_after, priority DESC, created_at ASC);
|
|
20
|
+
`);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 o=l(),n=Date.now(),i=r?.startAfter?r.startAfter instanceof Date?r.startAfter.getTime():r.startAfter:n;return this.db.prepare(`
|
|
21
|
+
INSERT INTO agx_jobs (
|
|
22
|
+
id, queue, data, status, created_at, start_after, retry_limit, priority
|
|
23
|
+
) VALUES (?, ?, ?, 'pending', ?, ?, ?, ?)
|
|
24
|
+
`).run(o,e,JSON.stringify(t),n,i,r?.retryLimit??3,r?.priority??0),this.writeMonitor.record(),(0,f.writeDebugLog)("queue.send",{queue:e,jobId:o,startAfter:i,retryLimit:r?.retryLimit??3,priority:r?.priority??0,data:t}),o}async work(e,t,r){(0,f.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(),g.WRITE_RATE_SAMPLE_WINDOW_MS))}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 o=t.options.batchSize||1,n=Date.now(),i=n-m(),a=(0,r.transaction)(this.db,()=>{let t=this.reapStaleJobs(e,n,i);t.length>0&&(0,f.writeDebugLog)("queue.reap_stale",{queue:e,workerId:this.workerId,staleBefore:i,jobs:t});let r=this.db.prepare(`
|
|
25
|
+
SELECT id, data FROM agx_jobs
|
|
26
|
+
WHERE queue = ?
|
|
27
|
+
AND (status = 'pending' OR status = 'retry')
|
|
28
|
+
AND start_after <= ?
|
|
29
|
+
ORDER BY priority DESC, created_at ASC
|
|
30
|
+
LIMIT ?
|
|
31
|
+
`).all(e,n,o);if(0===r.length)return[];let a=r.map(e=>e.id),s=this.db.prepare(`
|
|
32
|
+
UPDATE agx_jobs
|
|
33
|
+
SET status = 'active', started_at = ?, worker_id = ?
|
|
34
|
+
WHERE id = ?
|
|
35
|
+
`);for(let e of a)s.run(n,this.workerId,e);return r.map(t=>({id:t.id,name:e,data:JSON.parse(t.data)}))});a.length>0&&((0,f.writeDebugLog)("queue.claim",{queue:e,workerId:this.workerId,jobIds:a.map(e=>e.id)}),this.executeJobs(a,t.handler))}async executeJobs(e,t){try{await t(e),this.completeJobs(e.map(e=>e.id)),(0,f.writeDebugLog)("queue.complete",{jobIds:e.map(e=>e.id)})}catch(t){this.failJobs(e.map(e=>e.id),t.message||String(t)),(0,f.writeDebugLog)("queue.fail",{jobIds:e.map(e=>e.id),error:t})}}completeJobs(e){let t=Date.now(),o=this.db.prepare(`
|
|
36
|
+
UPDATE agx_jobs
|
|
37
|
+
SET status = 'completed', completed_at = ?, worker_id = NULL
|
|
38
|
+
WHERE id = ?
|
|
39
|
+
`);(0,r.transaction)(this.db,()=>{for(let r of e)o.run(t,r)})}failJobs(e,t){let o=Date.now(),n=this.db.prepare(`
|
|
40
|
+
SELECT id, retry_count, retry_limit FROM agx_jobs WHERE id = ?
|
|
41
|
+
`),i=this.db.prepare(`
|
|
42
|
+
UPDATE agx_jobs
|
|
43
|
+
SET status = 'retry', retry_count = retry_count + 1,
|
|
44
|
+
start_after = ? + (retry_count * 1000 * 2), -- Exponential backoff (kinda)
|
|
45
|
+
started_at = NULL,
|
|
46
|
+
worker_id = NULL,
|
|
47
|
+
error = ?
|
|
48
|
+
WHERE id = ?
|
|
49
|
+
`),a=this.db.prepare(`
|
|
50
|
+
UPDATE agx_jobs
|
|
51
|
+
SET status = 'failed', failed_at = ?, started_at = NULL, worker_id = NULL, error = ?
|
|
52
|
+
WHERE id = ?
|
|
53
|
+
`);(0,r.transaction)(this.db,()=>{for(let r of e){let e=n.get(r);if(e&&e.retry_count<e.retry_limit){let n=(e.retry_count+1)*2e3;i.run(o+n,t,r)}else a.run(o,t,r)}})}reapStaleJobs(e,t,r){let o=this.db.prepare(`
|
|
54
|
+
SELECT id, retry_count, retry_limit
|
|
55
|
+
FROM agx_jobs
|
|
56
|
+
WHERE queue = ?
|
|
57
|
+
AND status = 'active'
|
|
58
|
+
AND started_at IS NOT NULL
|
|
59
|
+
AND started_at <= ?
|
|
60
|
+
ORDER BY started_at ASC
|
|
61
|
+
`).all(e,r);if(0===o.length)return[];let n=this.db.prepare(`
|
|
62
|
+
UPDATE agx_jobs
|
|
63
|
+
SET status = 'retry',
|
|
64
|
+
retry_count = retry_count + 1,
|
|
65
|
+
start_after = ?,
|
|
66
|
+
started_at = NULL,
|
|
67
|
+
worker_id = NULL,
|
|
68
|
+
error = ?
|
|
69
|
+
WHERE id = ?
|
|
70
|
+
`),i=this.db.prepare(`
|
|
71
|
+
UPDATE agx_jobs
|
|
72
|
+
SET status = 'failed',
|
|
73
|
+
failed_at = ?,
|
|
74
|
+
started_at = NULL,
|
|
75
|
+
worker_id = NULL,
|
|
76
|
+
error = ?
|
|
77
|
+
WHERE id = ?
|
|
78
|
+
`),a=[];for(let e of o){let r=`Job exceeded active timeout of ${m()}ms`;e.retry_count<e.retry_limit?(n.run(t,r,e.id),a.push({id:e.id,fromStatus:"active",toStatus:"retry",retryCount:e.retry_count+1})):(i.run(t,r,e.id),a.push({id:e.id,fromStatus:"active",toStatus:"failed",retryCount:e.retry_count}))}return a}}let S=null;async function T(){return S||(S=new _,await S.start()),S}e.s(["QUEUE_NAMES",0,{TASK_PROCESS:"agx.task.process",CHAT_RUN_PROCESS:"agx.chat.process",TASK_CLEANUP:"agx.task.cleanup"},"getQueue",()=>T],68638)},304290,e=>{"use strict";var t=e.i(762294);let r=[["INTAKE","PROGRESS","DONE"]];function o(e,t){for(let t of["ticket_type","type","issue_type","kind"])if("spike"===function(e){if("string"!=typeof e)return"task";let t=e.trim().toLowerCase();return"spike"===t||"spikes"===t?"spike":"task"}(e[t]))return"spike";let r=t.match(/^#\s+(.+)$/m),o=r?.[1]?.trim().toLowerCase()||"";return o.startsWith("spike:")||o.startsWith("[spike]")?"spike":"task"}function n({currentStage:e,decision:t,ticketType:o,retryCount:n,maxRetries:i=3}){let a=function(e,t){if("spike"===t)return"INTAKE"===e?"PROGRESS":"DONE"===e?null:"DONE";for(let t of r){let r=t.indexOf(e);if(-1!==r){if(r>=t.length-1)return null;return t[r+1]}}return null}(e,o);if("done"===t)return a?{nextStage:a,nextStatus:"queued",retryCount:0,error:null,appendLog:{content:`Stage completed: ${e}`,logType:"checkpoint"}}:{nextStage:"DONE",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at stage ${e}.`,logType:"checkpoint"}};if("blocked"===t)return{nextStage:e,nextStatus:"blocked",retryCount:n,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"}};if("PROGRESS"===e)return{nextStage:"PROGRESS",nextStatus:"queued",retryCount:0,error:null,appendLog:{content:"Stage not done. Retrying in PROGRESS.",logType:"system"}};let s=n+1;return s<=i?{nextStage:e,nextStatus:"queued",retryCount:s,error:null,appendLog:{content:`Retrying (${s}/${i}) for stage ${e}.`,logType:"system"}}:{nextStage:e,nextStatus:"failed",retryCount:s,error:"Task failed.",appendLog:{content:"Task failed.",logType:"error"}}}async function i({workflowId:e,currentNodeName:r,decision:o,retryCount:n,maxRetries:i=3}){if("done"===String(r).trim().toLowerCase())return{nextNodeName:"done",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:"Task completed at done",logType:"checkpoint"},nodeConfig:null};let a=await (0,t.getWorkflowNodeByName)(e,r);if(!a)return{nextNodeName:r,nextStatus:"blocked",retryCount:n,error:`Node '${r}' not found in workflow`,appendLog:{content:`Workflow error: node '${r}' not found`,logType:"error"},nodeConfig:null};if("terminal"===a.node_type)return{nextNodeName:r,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${a.label||r}`,logType:"checkpoint"},nodeConfig:a};if("blocked"===o)return{nextNodeName:r,nextStatus:"blocked",retryCount:n,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"},nodeConfig:a};let s=await (0,t.getWorkflowTransitionsFromNode)(e,a.id),l=function(e){switch(e){case"done":default:return"done";case"blocked":return"blocked";case"failed":case"not_done":return"failed"}}(o),d=s.find(e=>e.condition===l);if(d){let n=(await (0,t.getWorkflowNodes)(e)).find(e=>e.id===d.to_node_id);if(n){let e="terminal"===n.node_type;return{nextNodeName:n.name,nextStatus:e?"completed":"queued",retryCount:0,error:null,appendLog:{content:"done"===o?`Stage completed: ${a.label||r}`:`Transition to ${n.label||n.name}`,logType:"done"===o?"checkpoint":"system"},nodeConfig:n}}}if("done"===o)return{nextNodeName:r,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${a.label||r}`,logType:"checkpoint"},nodeConfig:a};let u=n+1;return u<=i?{nextNodeName:r,nextStatus:"queued",retryCount:u,error:null,appendLog:{content:`Retrying (${u}/${i}) for ${a.label||r}`,logType:"system"},nodeConfig:a}:{nextNodeName:r,nextStatus:"failed",retryCount:u,error:"Task failed after max retries.",appendLog:{content:"Task failed after max retries.",logType:"error"},nodeConfig:a}}e.s(["getTicketType",()=>o,"resolveStageTransition",()=>n,"resolveWorkflowTransition",()=>i])}];
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=lib_70cd6b4a._.js.map
|