@mndrk/agx 2.4.6 → 2.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +33 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route.js +13 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route.js +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route.js +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github/select-repos/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github/select-repos.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_projects_[id]_workspace_export_route_actions_e161f108.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_projects_[id]_workspace_import_route_actions_10d2bce2.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/7255d_app_api_projects_[id]_objectives_[objectiveId]_program_route_actions_e6cdbc76.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1563ebff._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3fdd57cb._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__45af4365._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__683b7ad7._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__736d5859._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__96b5ea56._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ba72d342._.js +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c3188470._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__eb69343e._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_1d99e7a5._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_29a06140._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_4d88e4dc._.js +91 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_4dec65a2._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_50e3a6e3._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_56a2544c._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5843a1a1._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_a15e73a6._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_bd72806a._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_c101ba9e._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_c530bd77._.js +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_d69937f2._.js +91 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e2867b32._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e32b0cab._.js +91 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_5ab8f104._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_db_ts_77c23d6c._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0da96_local__next-internal_server_app_projects_[slug]_thread_page_actions_3ceeb59b.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__1e0fd816._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__42499ecf._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__5f31e40b._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__636799fb._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__4bf7d5b9._.js → [root-of-the-server]__74436f61._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__9434d6d7._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bd339da0._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__d08d7899._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__e02a457c._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__e3a1fef0._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__f802e7d1._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__ff96bb77._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_6a2ba8f0._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_7cb6b08a._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_a0f42923._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_a93c1059._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_components_PromptJobBoard_tsx_281b2873._.js → apps_local_04cb9fd5._.js} +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_15502af8._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_16eaf7ae._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3c11c068._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_89b49aad._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_988d29c0._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_ae1a134f._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_page_tsx_2a02508d._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_folders_page_tsx_72fb68e5._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_3bb31889._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_76330306._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_b8e580cc._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TrackerBoard_tsx_98970bab._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_app_projects_[slug]_thread_[threadId]_page_tsx_2a1d1d5e._.js → apps_local_components_chat-ui_ChatContainer_tsx_47371955._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_751ab3d3._.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_eb223411._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_eec36ab6._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_7d1abfbf._.js → apps_local_f1c9872a._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_fed01721._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/08e75b35d6c52269.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0d22a723b9b96e65.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{cb19d71dd7ffb935.js → 1585dd5f9ec4866a.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/1bc8cc9cbb99c1ed.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/2586c0baa16e9a0d.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/2aa24a251622fd06.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/39513207112d6828.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/3fce625820bc2bd4.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{8d8fe711583a59f0.js → 41ae15220fc19bf7.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/67b36c70b72e0e10.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/7bfbfcd072f8d61e.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/7cf26dd04166f32f.js +6 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{74e3a3e93be78db8.js → 8b87c2521c519a1f.js} +9 -9
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/90dd4ab03ab145d1.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/93749b45e2700808.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{48feca51cf97c8a7.js → 9bb8f1406365af81.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/b4aa71020acae46f.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/c352706a0ad7e35d.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/c5436b2b7e8f0ca9.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1600dd6ff8607d8f.js → c9a2c4b55bb76f4f.js} +6 -6
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1fbcd40dccee738f.js → cf33cb29946990e3.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/d6a9cc66254693b8.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{9e703dd5d95e9557.js → e3bdd1e0f385114e.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/ed606d6f94457578.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{6ffcd12eabd7c65e.js → f71d73895d228547.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/f750d2f1882d31a8.js +5 -0
- package/cloud-runtime/standalone/apps/local/app/api/automations/route.ts +2 -10
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/program/route.ts +77 -0
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/workspace/export/route.ts +35 -0
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/workspace/import/route.ts +91 -0
- package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +1 -8
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +1 -1
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/thread/page.tsx +14 -0
- package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +15 -15
- package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +7 -12
- package/cloud-runtime/standalone/apps/local/components/TrackerBoard.tsx +39 -1
- package/cloud-runtime/standalone/apps/local/components/projects/FoldersSummaryCard.tsx +51 -196
- package/cloud-runtime/standalone/apps/local/components/projects/FoldersView.tsx +662 -784
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +7 -10
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +4 -4
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +118 -0
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectSettings.tsx +81 -7
- package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +13 -3
- package/cloud-runtime/standalone/apps/local/components/tracking/TrackerSetup.tsx +22 -14
- package/cloud-runtime/standalone/apps/local/hooks/useProjectWorkspace.ts +117 -0
- package/cloud-runtime/standalone/apps/local/lib/db/projects.ts +14 -10
- package/cloud-runtime/standalone/apps/local/lib/project-workspace.ts +80 -0
- package/cloud-runtime/standalone/apps/local/lib/task-context.ts +39 -4
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/github/adapter.tsx +40 -4
- package/cloud-runtime/standalone/apps/local/lib/workspace-yaml.ts +164 -0
- package/cloud-runtime/standalone/apps/local/src/objectives/program/index.ts +7 -0
- package/cloud-runtime/standalone/apps/local/src/objectives/program/repository.ts +60 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +12 -0
- package/cloud-runtime/standalone/apps/local/src/scheduling/status.ts +42 -0
- package/cloud-runtime/standalone/apps/local/worker/index.js +14 -9
- package/lib/commands/workspace.js +145 -7
- package/package.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_09d85861._.js +0 -91
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_25136564._.js +0 -11
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_2caf4398._.js +0 -91
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_31ca7a35._.js +0 -91
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/9fb8c_lucide-react_dist_esm_icons_8c8ee1bc._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__23838f87._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__3b4708d5._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__49cbf624._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__49cdd178._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__55ed4ff9._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__7a31a76d._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__a61463b8._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bb42490f._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__ee9351f9._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ecd68e8._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_347d036d._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_5c140c38._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_f99c22fd._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_30d021de._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3b90cb76._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_9f36c765._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_8cc1a335._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/1d8b2726979134e5.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/692103d55fcd0328.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/6952b44e247d594a.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/6bfdc40a24e65ca2.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/7ff071e8a33d2fd8.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/87e4fb11329a358d.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/92467c495ad08a85.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/941f7f3626ec442c.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/94a66d2d19268d25.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/add53c2fe147af75.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/b35865f64b56d6f4.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/d662272e49df1950.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/e0d68c6af17c8c87.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/f154e2ed7753f8ee.js +0 -16
- /package/cloud-runtime/standalone/apps/local/.next/static/{fipnHmd6JPn9sTuFdYS0y → O3Yu8lY-DN5fauB8GipIL}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{fipnHmd6JPn9sTuFdYS0y → O3Yu8lY-DN5fauB8GipIL}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{fipnHmd6JPn9sTuFdYS0y → O3Yu8lY-DN5fauB8GipIL}/_ssgManifest.js +0 -0
package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_5ab8f104._.js
CHANGED
|
@@ -29,6 +29,6 @@ ${a}`:a,{note:d}=this.upsertKnowledgeNote({scope:i,subjectId:o,content:s,changeS
|
|
|
29
29
|
`);for(let e of f.filter(e=>e.project_id===r.id))y(i.default.join(this.projectVariablesDir(r.slug),`${l(e.key,"var")}.md`),{id:`project-variable:${r.id}:${e.key}`,type:"project-variable",project_id:r.id,title:e.key,key:e.key,value:e.value,created_at:t,updated_at:t},"");for(let e of(y(this.projectAgentsIndexPath(r.slug),{id:`project-agents:${r.id}`,type:"project-agents",project_id:r.id,title:"Project Agents",created_at:r.created_at,updated_at:r.updated_at,agents:c.filter(e=>e.project_id===r.id).sort((e,t)=>e.routing_order-t.routing_order)},"# Project Agents\n"),g.filter(e=>e.project_id===r.id)))y(i.default.join(this.projectThreadsDir(r.slug),`${encodeURIComponent(e.thread_id)}.md`),{id:`project-thread:${r.id}:${e.thread_id}`,type:"project-thread",project_id:r.id,thread_id:e.thread_id,title:e.thread_id,created_at:e.created_at||t,updated_at:e.created_at||t},`# Thread ${e.thread_id}
|
|
30
30
|
`)}for(let e of w)y(this.nextKnowledgeEntryPath(e.scope,e.subject_id,e.title||e.id),{id:e.id,type:"knowledge-evidence",scope:e.scope,subject_id:e.subject_id,source_type:e.source_type,source_id:e.source_id,kind:e.kind,title:e.title,confidence:e.confidence,durability:e.durability,tags:e.tags?JSON.parse(e.tags):[],evidence:e.evidence?JSON.parse(e.evidence):[],metadata:e.metadata?JSON.parse(e.metadata):{},content_hash:e.content_hash||b(e.scope,e.subject_id,e.body),created_at:e.created_at||t,updated_at:e.updated_at||e.created_at||t},e.body),I+=1;return{projects:n.length,repos:s.length,agents:k.length,importedArtifacts:D,evidenceFiles:I}}composeAgentNoteBody(e,t,r){let i=[`# ${e}`];return t?.trim()&&i.push(`## Identity
|
|
31
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,P])},237718,842851,209120,393018,167361,930430,840427,262504,749010,484167,103292,735066,480223,890838,981261,32868,133,e=>{"use strict";let t=/^[A-Z]{2,10}$/;function r(e){if(null==e||""===e)return null;if("string"!=typeof e)throw Error("identifier_prefix must be a string");let r=e.trim().toUpperCase();if(!t.test(r))throw Error("identifier_prefix must be 2-10 uppercase ASCII letters (e.g. 'TSK', 'AGX')");return r}function i(){let{createAdminDbClientSQLite:t}=e.r(633211);return t()}function o(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}'`)}function n(t,r,i){let o=e=>"string"!=typeof e?null:e.trim()||null,n=null;try{let t=e.r(522734),r=e.r(814747).join(process.env.HOME||"",".agx","config.json"),i=JSON.parse(t.readFileSync(r,"utf-8"));n=o(i?.defaultProvider)||null}catch{}let a=o(i?.default_provider)||n||"claude",s=o(t.provider)||o(r?.provider)||a,d=o(i?.models?.[s])||null,l=o(t.model)||o(r?.model)||d||null;return{provider:s,model:l,swarm:t.swarm??r?.swarm??!1,swarm_models:t.swarm_models?.length?t.swarm_models:r?.swarm_models||[]}}function a(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function s(e,t){let r=a(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=`${a(e)}-${n}`.slice(0,48)}return`${a(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function d(e,t,r,i){let o=a(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:s,error:d}=await n.limit(1);if(d)throw d;if(!s||0===s.length)return o;let l=Math.random().toString(36).slice(2,6);o=`${a(e)}-${l}`.slice(0,48)}return`${a(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function l(e){return e??i()}function c(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 u(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=c(e)}return Array.from(new Set(t.map(e=>e.trim()).filter(Boolean)))}function p(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]=c(o);continue}"true"===o?r[i]=!0:"false"===o?r[i]=!1:/^\d+$/.test(o)?r[i]=parseInt(o,10):r[i]=o}}return{frontmatter:r,body:t[2]}}async function f(e,t,r){if(!e||!t?.length)return;let i=l(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 g(e){let{body:t}=p(e),r=t.match(/^#\s+(.+)$/m);return r?r[1]:void 0}async function m(e){let t=i(),{data:r,error:n}=await t.from("user_settings").select("*").eq("user_id",e).maybeSingle();if(n){if(o(n,"user_settings"))return null;throw n}return r||null}async function _(e,t,r){let o=r?.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()}(t.changed_at),a=await m(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:t.default_provider??a?.default_provider??null,models:t.models??a?.models??{},provenance:t.provenance,changed_at:n},d=i(),{error:l}=await d.from("user_settings").upsert(s,{onConflict:"user_id"});if(l)throw l;let c=await m(e);if(!c)throw Error("Failed to load user_settings after upsert");return{settings:c,updated:!0}}e.s(["IDENTIFIER_PREFIX_REGEX",0,t,"validateIdentifierPrefix",()=>r],842851),e.i(864075),e.s(["createAdminDbClient",()=>i],209120),e.s(["ensureNoCircularDependency",()=>f,"extractTitle",()=>g,"generateUniqueProjectSlug",()=>d,"generateUniqueSlug",()=>s,"getDbClient",()=>l,"isMissingRelationError",()=>o,"normalizeDependsOnInput",()=>u,"parseDependsOnValue",()=>c,"parseFrontmatter",()=>p,"resolveTaskConfig",()=>n,"slugify",()=>a],393018),e.s(["getUserSettings",()=>m,"upsertUserSettings",()=>_],167361);var h=e.i(254799);let y="Waiting on dependencies";e.i(870611);var w=e.i(938281);let j=[{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 k extends Error{}function v(e){let t=Array.isArray(e.events)?e.events.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(e=>j.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 b(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 k(`Missing relation: ${e}`);throw t}async function S(e){let t=i(),{data:r,error:o}=await t.from("notification_webhooks").select("*").eq("user_id",e).order("created_at",{ascending:!1});return(o&&await b("notification_webhooks",o),r)?(Array.isArray(r)?r:[r]).map(v):[]}async function P(e){if(!e.userId)return;let t=[];try{t=await S(e.userId)}catch(e){if(e instanceof k)return void console.debug("[notifications] notification_webhooks schema not ready, skipping");w.logger.error("[notifications] failed to load webhooks",w.logger.formatError(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=>{let t=new AbortController,r=setTimeout(()=>t.abort(),1e4);try{let r=await fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o),signal:t.signal});r.ok||w.logger.error(`[notifications] webhook ${e.url} responded with ${r.status}`)}catch(t){w.logger.error(`[notifications] failed to send to ${e.url}`,w.logger.formatError(t))}finally{clearTimeout(r)}}))}e.s(["notifyTaskEvent",()=>P],930430);var D=e.i(341902);let I=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function A(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:n,error:a}=await r.from("project_repos").insert(i).select("*");if(a){if(o(a,"project_repos"))return[];throw a}return n||[]}async function q(e,t=!1){let r=i().from("projects").select("*, project_repos(*)");e&&(r=r.eq("user_id",e)),t||(r=r.is("archived_at",null));let{data:n,error:a}=await r;if(a){if(o(a,"projects"))return[];throw a}return(n||[]).map(e=>({...e,repos:e.project_repos??[]}))}async function E(e,t){let r=i().from("projects").select("*").eq("slug",e);t&&(r=r.eq("user_id",t));let{data:n,error:a}=await r.maybeSingle();if(a){if(o(a,"projects"))return null;throw a}return n||null}async function R(e){let t=i(),{data:r,error:n}=await t.from("project_repos").select("*").eq("project_id",e);if(n){if(o(n,"project_repos"))return[];throw n}return r||[]}async function $(e,t){let r=i(),n=I.test(e),a=r.from("projects").select("*");a=n?a.eq("id",e):a.eq("slug",e),t&&(a=a.eq("user_id",t));let s=await a.maybeSingle();if(s.error){if(o(s.error,"projects"))return null;throw s.error}let d=s.data;if(!d)return null;let l=await R(d.id);return{...d,repos:l}}async function T(e,t,i){if(!t.name?.trim())throw Error("Project name is required");let o=l(i),n=t.name.trim()||"project",a=await d(n,e,o),s=r(t.identifier_prefix),c={user_id:e,name:t.name.trim(),slug:a,description:t.description??null,workflow_id:t.workflow_id??null};null!==s&&(c.identifier_prefix=s);let{data:u,error:p}=await o.from("projects").insert(c).select("*").single();if(p&&"42703"===p.code){let{identifier_prefix:e,...t}=c;({data:u,error:p}=await o.from("projects").insert(t).select("*").single())}if(p)throw p;let f=await A(u.id,t.repos??[],o);return{...u,repos:f}}async function x(e,t,i,n){let a=l(n),s=I.test(e),d=e;if(!s){let r=await E(e,t);if(!r)return null;d=r.id}let c={};if(void 0!==i.name){let e=i.name?.trim();if(!e)throw Error("Project name cannot be empty");c.name=e}if(void 0!==i.slug){let e=i.slug?.trim();e&&(c.slug=e)}if(void 0!==i.description&&(c.description=i.description),void 0!==i.metadata&&(c.metadata=i.metadata),void 0!==i.ci_cd_info&&(c.ci_cd_info=i.ci_cd_info),void 0!==i.workflow_id&&(c.workflow_id=i.workflow_id),void 0!==i.identifier_prefix&&(c.identifier_prefix=r(i.identifier_prefix)),Object.keys(c).length){let{error:e}=await a.from("projects").update(c).eq("id",d).eq("user_id",t);if(e)throw e}if(i.repos){let{data:e,error:t}=await a.from("project_repos").select("*").eq("project_id",d);if(t&&!o(t,"project_repos"))throw t;let r=e||[],n=new Set(r.map(e=>e.id)),s=new Set(i.repos.map(e=>e.id).filter(e=>!!e));for(let e of r){if(s.has(e.id))continue;let{error:t}=await a.from("project_repos").delete().eq("id",e.id).eq("project_id",d);if(t&&!o(t,"project_repos"))throw t}for(let e of i.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 a.from("project_repos").update(t).eq("id",e.id).eq("project_id",d);if(r&&!o(r,"project_repos"))throw r;continue}let{error:r}=await a.from("project_repos").insert({...e.id?{id:e.id}:{},...t});if(r&&!o(r,"project_repos"))throw r}}return $(d,t)}async function O(e,t,r){let i=l(r),{error:o}=await i.from("projects").update({archived_at:new Date().toISOString()}).eq("id",e).eq("user_id",t);if(o)throw o}async function N(e,t,r){let i=l(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 s=String(o.slug||"").trim().toLowerCase(),d=(n||[]).filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t||t===s}).map(e=>e.id);if(!d.length)return{updatedCount:0,taskIds:[]};let{error:c}=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",d);if(c)throw c;return{updatedCount:d.length,taskIds:d}}async function C(e){let t=i(),{data:r,error:n}=await t.from("project_agents").select("*").eq("project_id",e).order("routing_order",{ascending:!0});if(n){if(o(n,"project_agents"))return[];throw n}return r||[]}async function M(e,t,r){let o=i();if(void 0===r){let{data:t}=await o.from("project_agents").select("routing_order").eq("project_id",e).order("routing_order",{ascending:!1}).limit(1);r=(t?.[0]?.routing_order??-1)+1}let{data:n,error:a}=await o.from("project_agents").upsert({project_id:e,agent_id:t,routing_order:r}).select().single();if(a)throw a;return n}async function K(e,t){let r=i(),{error:o}=await r.from("project_agents").delete().eq("project_id",e).eq("agent_id",t);if(o)throw o}async function F(e,t){let r=i();for(let i=0;i<t.length;i++)await r.from("project_agents").update({routing_order:i}).eq("project_id",e).eq("agent_id",t[i]);return C(e)}async function L(e){let t=i(),{data:r,error:n}=await t.from("project_skills").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(n){if(o(n,"project_skills"))return[];throw n}return r||[]}async function W(e,t,r){let o=i(),{data:n,error:a}=await o.from("project_skills").insert({project_id:e,file:t,condition:r??null}).select().single();if(a)throw a;return n}async function B(e){let t=i(),{error:r}=await t.from("project_skills").delete().eq("id",e);if(r)throw r}async function U(e){let t=i(),{data:r,error:n}=await t.from("project_variables").select("*").eq("project_id",e);if(n){if(o(n,"project_variables"))return[];throw n}return r||[]}async function G(e,t,r){let o=i(),{data:n,error:a}=await o.from("project_variables").upsert({project_id:e,key:t,value:r},{onConflict:"project_id,key"}).select().single();if(a)throw a;return n}async function V(e,t){let r=i(),{error:o}=await r.from("project_variables").delete().eq("project_id",e).eq("key",t);if(o)throw o}async function J(e,t){return D.vaultStore.getProjectMemory(e)}async function z(e,t,r,i="human"){return D.vaultStore.addProjectMemory(e,t,r,i)}async function X(e){D.vaultStore.deleteProjectMemory(e)}async function H(e){let t=i(),{data:r,error:n}=await t.from("project_threads").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(n){if(o(n,"project_threads"))return[];throw n}return r||[]}async function Q(e,t){let r=i(),{error:o}=await r.from("project_threads").upsert({project_id:e,thread_id:t},{onConflict:"project_id,thread_id",ignoreDuplicates:!0});if(o)throw o;let{data:n,error:a}=await r.from("project_threads").select("*").eq("project_id",e).eq("thread_id",t).single();if(a)throw a;return n}async function Z(e,t){let r=i(),{error:o}=await r.from("project_threads").delete().eq("project_id",e).eq("thread_id",t);if(o)throw o}async function Y(e){let t=i(),{data:r,error:n}=await t.from("project_threads").select("project_id").eq("thread_id",e).maybeSingle();return n?(o(n,"project_threads"),null):r?.project_id??null}async function ee(e){let t=i(),{data:r,error:n}=await t.from("workspace_entries").select("*").eq("project_id",e).order("category",{ascending:!0}).order("sort_order",{ascending:!0}).order("name",{ascending:!0});if(n){if(o(n,"workspace_entries"))return{};throw n}return(r||[]).reduce((e,t)=>(e[t.category]||(e[t.category]=[]),e[t.category].push(t),e),{})}async function et(e,t){let r=i(),o=(0,h.randomUUID)(),n=new Date().toISOString(),{data:a,error:s}=await r.from("workspace_entries").insert({id:o,project_id:e,category:t.category,name:t.name,path:t.path||null,purpose:t.purpose||null,sort_order:0,created_at:n,updated_at:n}).select().single();if(s)throw s;return a}async function er(e,t,r){let o=i(),n={};void 0!==r.name&&(n.name=r.name),void 0!==r.path&&(n.path=r.path),void 0!==r.purpose&&(n.purpose=r.purpose),void 0!==r.sort_order&&(n.sort_order=r.sort_order);let{data:a,error:s}=await o.from("workspace_entries").update(n).eq("id",t).eq("project_id",e).select().single();if(s){if("PGRST116"===s.code)return null;throw s}return a}async function ei(e,t){let r=i(),{error:o}=await r.from("workspace_entries").delete().eq("id",t).eq("project_id",e);if(o)throw o}async function eo(e){let t=i(),{data:r,error:n}=await t.from("workspace_entries").select("category, name, path, purpose").eq("project_id",e).order("category",{ascending:!0}).order("sort_order",{ascending:!0}).order("name",{ascending:!0});if(n){if(o(n,"workspace_entries"))return[];throw n}return(r||[]).map(e=>({location:`${e.category}/${e.name}`,path:e.path||null,purpose:e.purpose||null}))}function en(e){return String(e||"").replace(/^#\s+.+(\r?\n|$)/,"").trim()}async function ea(e,t){var r;let o=Array.isArray(e.depends_on)?e.depends_on:[];if(!o.length)return;let n=i(),{data:a,error:s}=await n.from("tasks").select("id, title, slug, status, stage").in("id",o);if(s)return;let d=(Array.isArray(a)?a:[]).filter(e=>"completed"!==(e?.status||""));if(d.length){let r=function(e){if(!e||0===e.length)return"";let t=e.slice(0,3).map(e=>`${e.title?e.title:e.slug?e.slug:e.id?e.id:"(unknown)"}${(e.stage?.toLowerCase()==="intake"?" (awaiting approval)":e.status?` (${e.status})`:null)??""}`),r=`${y}: ${t.join(", ")}`;return e.length>3&&(r+=` +${e.length-3} more`),r}(d),i=n.from("tasks").update({status:"blocked",blocked_reason:r}).eq("id",e.id);t&&(i=i.eq("user_id",t));let{error:o}=await i;if(o&&"42703"!==o.code)throw o;return}if("blocked"===e.status&&"string"==typeof(r=e.blocked_reason)&&r.startsWith(y)){let r=n.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",e.id);t&&(r=r.eq("user_id",t));let{error:i}=await r;if(i&&"42703"!==i.code)throw i}}async function es(e,t){let r=i().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(e&&(r=r.eq("user_id",e)),t?.project&&(r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t.project)?r.eq("project_id",t.project):r.eq("project",t.project)),t?.orphan&&(r=r.is("project_id",null)),t?.status&&(r=r.eq("status",t.status)),t?.search){let e=t.search;r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)?r.or(`id.eq.${e},slug.ilike.%${e}%,title.ilike.%${e}%`):r.or(`id.ilike.%${e}%,slug.ilike.%${e}%,title.ilike.%${e}%`)}let{data:o,error:n}=await r;if(n)throw n;let a=o||[];return t?.orphan?a.filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t}):a}async function ed(e,t){let r=i().from("tasks").select("*").eq("id",e);t&&(r=r.eq("user_id",t));let{data:o,error:n}=await r.single();if(n){if("PGRST116"===n.code)return null;throw n}return o}async function el(e,t){let r=i().from("tasks").select("*").eq("slug",e);t&&(r=r.eq("user_id",t));let{data:o,error:n}=await r.single();if(n){if("PGRST116"===n.code)return null;throw n}return o}async function ec(e,t,r){let o=i(),{frontmatter:n,body:a}=p(e),d="boolean"==typeof n.swarm?n.swarm:void 0,l=r?.title||g(e),c=String(n.slug||l||"task"),m=await s(c,o),_=r?.projectId||("string"==typeof n.project_id?n.project_id:void 0),y="string"==typeof n.workflow_id?n.workflow_id:void 0,w="string"==typeof n.project?n.project:void 0;if(!w&&_){let e=await $(_);e?.slug&&(w=e.slug)}let j="string"==typeof n.provider?n.provider:null,k="string"==typeof n.model?n.model:null,v="string"==typeof n.engine?n.engine:null,b="ai"===n.created_by?"ai":"user",S=u(n.depends_on),D=u(r?.dependsOn),I=D.length>0?D:S,A=null;if(_)try{let{data:e}=await o.from("projects").select("identifier_prefix, next_identifier").eq("id",_).single();if(e&&"string"==typeof e.identifier_prefix&&e.identifier_prefix){let t="number"==typeof e.next_identifier?e.next_identifier:1;A=`${e.identifier_prefix}-${t}`,await o.from("projects").update({next_identifier:t+1}).eq("id",_)}}catch{A=null}let q={id:(0,h.randomUUID)(),content:e,description:en(a),title:l,slug:m,status:n.status||"queued",stage:n.stage||"intake",project:w||null,...void 0!==_?{project_id:_}:{},...void 0!==y?{workflow_id:y}:{},...null!==A?{identifier:A}:{},priority:n.priority,engine:v,provider:j,model:k,swarm:d,swarm_models:r?.swarmModels??null,depends_on:I.length?I:null,created_by:b,user_id:t,current_plan:r?.currentPlan||null,open_blockers:r?.openBlockers||[],next_action:r?.nextAction||null,version:1};await f(q.id,I,o);let{data:E,error:R}=await o.from("tasks").insert(q).select().single();if(R&&"42703"===R.code){let{swarm_models:e,swarm:t,workflow_id:r,current_plan:i,open_blockers:n,next_action:a,version:s,depends_on:d,identifier:l,...c}=q;({data:E,error:R}=await o.from("tasks").insert(c).select().single())}if(R)throw R;if(!E)throw Error("Failed to create task");await ea(E,t);let T=await ed(E.id,t)||E,x=t||T.user_id;if(x){let e=T.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(T.depends_on)?T.depends_on:[],project:T.project||null,projectId:T.project_id||null,workflowId:T.workflow_id||null,createdBy:T.created_by||null};P({taskId:T.id,userId:x,eventType:"task.created",title:T.title||null,slug:T.slug||null,stage:T.stage||null,status:T.status||null,timestamp:e,details:t})}return T}async function eu(e,t,r,o){let n=i(),{frontmatter:a,body:s}=p(t),d="boolean"==typeof a.swarm?a.swarm:void 0,l=g(t),c="string"==typeof a.project_id?a.project_id:void 0,m=Object.prototype.hasOwnProperty.call(a,"provider"),_=Object.prototype.hasOwnProperty.call(a,"model"),h=Object.prototype.hasOwnProperty.call(a,"workflow_id"),y=Object.prototype.hasOwnProperty.call(a,"depends_on"),w=u(a.depends_on),j=u(o?.dependsOn),k=o?.dependsOn!==void 0||y,v=o?.dependsOn!==void 0?j:w,b={content:t,description:en(s),title:l,status:a.status,stage:a.stage,project:a.project,...void 0!==c?{project_id:c}:{},workflow_id:h?a.workflow_id:void 0,priority:a.priority,engine:a.engine,provider:m?a.provider:null,model:_?a.model:null,swarm:d,swarm_models:o?.swarmModels??void 0,...k?{depends_on:v.length?v:null}:{},updated_at:new Date().toISOString(),current_plan:o?.currentPlan??void 0,open_blockers:o?.openBlockers??void 0,next_action:o?.nextAction??void 0};Object.keys(b).forEach(e=>{void 0===b[e]&&delete b[e]}),k&&await f(e,v,n),o?.expectedVersion!==void 0&&o.expectedVersion;let{data:S,error:D}=await n.from("tasks").update({...b}).eq("id",e).select().maybeSingle();if(D&&console.error(`[db.updateTask] error updating task ${e}:`,D),S||D||console.warn(`[db.updateTask] UPDATE returned 0 rows for task ${e}, payload keys:`,Object.keys(b)),D&&"42703"===D.code){let{swarm_models:t,swarm:i,workflow_id:o,current_plan:a,open_blockers:s,next_action:d,version:l,depends_on:c,...u}=b,p=n.from("tasks").update(u).eq("id",e);r&&(p=p.eq("user_id",r)),{data:S,error:D}=await p.select().maybeSingle()}if(D)throw D;if(!S){let t=await ed(e,r);if(!t)throw Error(`Task ${e} not found`);return t}await ea(S,r);let I=await ed(S.id,r)||S,A=r||I.user_id;if(A){let e=I.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(I.depends_on)?I.depends_on:[],project:I.project||null,projectId:I.project_id||null,workflowId:I.workflow_id||null,createdBy:I.created_by||null};P({taskId:I.id,userId:A,eventType:"task.created",title:I.title||null,slug:I.slug||null,stage:I.stage||null,status:I.status||null,timestamp:e,details:t})}return I}async function ep(e,t,r=25){let o=i(),{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 s=[t,...Array.isArray(n.run_index)?n.run_index:[]].slice(0,r),{error:d}=await o.from("tasks").update({run_index:s}).eq("id",e);if(d){if(d?.code==="42703")return;throw d}}async function ef(e,t){let r=i().from("tasks").delete().eq("id",e);t&&(r=r.eq("user_id",t));let{error:o}=await r;if(o)throw o}async function eg(e){let t=i().from("tasks").select("*").eq("status","queued").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!0}).limit(1);e&&(t=t.eq("engine",e));let{data:r,error:o}=await t.single();if(o){if("PGRST116"===o.code)return null;throw o}return r}e.s(["addProjectAgent",()=>M,"addProjectMemory",()=>z,"addProjectSkill",()=>W,"addProjectThread",()=>Q,"assignOrphanTasksToProject",()=>N,"createProject",()=>T,"createWorkspaceEntry",()=>et,"deleteProject",()=>O,"deleteProjectMemory",()=>X,"deleteProjectVariable",()=>V,"deleteWorkspaceEntry",()=>ei,"getProjectAgents",()=>C,"getProjectBySlug",()=>E,"getProjectForThread",()=>Y,"getProjectMemory",()=>J,"getProjectRepos",()=>R,"getProjectSkills",()=>L,"getProjectThreads",()=>H,"getProjectVariables",()=>U,"getProjectWithRepos",()=>$,"getProjectWorkspace",()=>ee,"getProjects",()=>q,"getWorkspaceMapForContext",()=>eo,"removeProjectAgent",()=>K,"removeProjectSkill",()=>B,"removeProjectThread",()=>Z,"reorderProjectAgents",()=>F,"setProjectVariable",()=>G,"updateProject",()=>x,"updateWorkspaceEntry",()=>er],840427),e.s(["appendRunToIndex",()=>ep,"createTask",()=>ec,"deleteTask",()=>ef,"getNextQueuedTask",()=>eg,"getTask",()=>ed,"getTaskBySlug",()=>el,"getTasks",()=>es,"updateTask",()=>eu],262504);let em="00000000-0000-0000-0000-000000000001",e_=[{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"}],eh=new Map(e_.map(e=>[e.id,e]));async function ey(e){let t=i(),{error:r}=await t.from("workflows").upsert({id:em,user_id:e||"00000000-0000-0000-0000-000000000000",name:"Default Workflow",definition:{}},{onConflict:"id"});if(r)throw r;let{error:o}=await t.from("workflow_nodes").upsert(e_.map(e=>({...e,workflow_id:em,metadata:{}})),{onConflict:"id"});if(o)throw o;let{error:n}=await t.from("workflow_transitions").upsert([{workflow_id:em,from_node_id:"00000000-0000-0000-0001-000000000001",to_node_id:"00000000-0000-0000-0001-000000000002",condition:"done",priority:0,metadata:{}},{workflow_id:em,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 ew(e){let t=i(),{data:r,error:n}=await t.from("workflows").select("*").or(`user_id.eq.${e},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(n){if(o(n,"workflows"))return[];throw n}return r||[]}async function ej(e,t){let r=i().from("workflows").select("*").eq("id",e),{data:n,error:a}=await r.maybeSingle();if(a){if(o(a,"workflows"))return null;throw a}return n}async function ek(e,t,r){let o=i(),n={updated_at:new Date().toISOString()};void 0!==r.definition&&(n.definition=r.definition),void 0!==r.name&&(n.name=r.name),void 0!==r.description&&(n.description=r.description);let{data:a,error:s}=await o.from("workflows").update(n).eq("id",e).select().single();if(s)throw s;return a}async function ev(e){let t=i(),{data:r,error:n}=await t.from("workflow_nodes").select("*").eq("workflow_id",e).order("position",{ascending:!0});if(n){if(o(n,"workflow_nodes"))return[];throw n}return r||[]}async function eb(e,t,r){let o=i();if(e===em&&await ey(t),!await ej(e,t))throw Error("Workflow not found");if(e===em){let t=r.map(t=>{let r=eh.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 ev(e)}return await Promise.all(r.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})),ev(e)}async function eS(e,t){let r=i(),{data:n,error:a}=await r.from("workflow_nodes").select("*").eq("workflow_id",e).eq("name",t).maybeSingle();if(a){if(o(a,"workflow_nodes"))return null;throw a}return n}async function eP(e){let t=i(),{data:r,error:n}=await t.from("workflow_transitions").select("*").eq("workflow_id",e).order("priority",{ascending:!0});if(n){if(o(n,"workflow_transitions"))return[];throw n}return r||[]}async function eD(e,t){let r=i(),{data:n,error:a}=await r.from("workflow_transitions").select("*").eq("workflow_id",e).eq("from_node_id",t).order("priority",{ascending:!0});if(a){if(o(a,"workflow_transitions"))return[];throw a}return n||[]}async function eI(e,t){let r=await ej(e,t);if(!r)return null;let[i,o]=await Promise.all([ev(e),eP(e)]);return{...r,nodes:i,transitions:o}}function eA(){return em}async function eq(e,t){let r=i().from("stage_prompts").select("*").eq("workflow_id",t).order("stage",{ascending:!0});r=e?r.or(`user_id.eq.${e},is_default.eq.true`):r.eq("is_default",!0);let{data:o,error:n}=await r;if(n)throw n;return o||[]}async function eE(e,t,r){let o=i();if(t){let{data:i}=await o.from("stage_prompts").select("*").eq("workflow_id",r).eq("stage",e).eq("user_id",t).single();if(i)return i}let{data:n}=await o.from("stage_prompts").select("*").eq("workflow_id",r).eq("stage",e).eq("is_default",!0).single();return n||null}async function eR(e,t,r=[],o,n,a){let s=i(),d={stage:e,prompt:t,outputs:r,user_id:o,is_default:!o,workflow_id:a};n&&(void 0!==n.swarm&&(d.swarm=n.swarm),void 0!==n.provider&&(d.provider=n.provider),void 0!==n.model&&(d.model=n.model),void 0!==n.swarm_models&&(d.swarm_models=n.swarm_models));let{data:l,error:c}=await s.from("stage_prompts").upsert(d,{onConflict:o?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(c)throw c;return l}async function e$(e,t){let r=i().from("stage_prompts").delete().eq("id",e);t&&(r=r.eq("user_id",t));let{error:o}=await r;if(o)throw o}async function eT(e,t={}){let r=i(),o=Math.max(1,Math.min(2e3,Number(t.limit??t.tail??500))),n="string"==typeof t.after&&t.after.trim()?t.after.trim():null,a=n?null:void 0===t.tail?o:Number(t.tail),s=null!==a&&Number.isFinite(a)&&a>0,d=r.from("task_logs").select("*").eq("task_id",e);t.nodeId&&(d=d.eq("node_id",t.nodeId)),d=n?d.gt("created_at",n).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o):s?d.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(o):d.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o);let{data:l,error:c}=await d;if(c)throw c;let u=l||[];return n?u:s?u.slice().reverse():u}async function ex(e,t,r,o){let n=i(),{data:a,error:s}=await n.from("task_logs").insert({task_id:e,content:t,log_type:r,...o?{node_id:o}:{}}).select().single();if(s)throw s;return a}function eO(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,Math.round(t)):0}function eN(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,t):0}async function eC(e){let t=i(),r={task_id:e.taskId,stage:e.stage,provider:e.provider??null,model:e.model??null,input_tokens:eO(e.inputTokens),output_tokens:eO(e.outputTokens),estimated_cost:eN(e.estimatedCost)},{data:o,error:n}=await t.from("task_costs").insert(r).select().single();if(n)throw n;return o}async function eM(e){let t=i(),{data:r,error:o}=await t.from("task_costs").select("*").eq("task_id",e).order("created_at",{ascending:!0});if(o)throw o;return r||[]}function eK(e){let t={},r=0,i=0,o=0;for(let n of e){let e=n.stage||"unknown",a=eO(n.input_tokens),s=eO(n.output_tokens),d=eN(n.estimated_cost??0);r+=a,i+=s,o+=d;let l=t[e]||{stage:e,input_tokens:0,output_tokens:0,estimated_cost:0,entries:0};l.input_tokens+=a,l.output_tokens+=s,l.estimated_cost+=d,l.entries+=1,t[e]=l}return{total_input_tokens:r,total_output_tokens:i,total_cost:o,per_stage:Object.values(t).sort((e,t)=>e.stage.localeCompare(t.stage))}}async function eF(e){return eK(await eM(e))}async function eL(e){let t=i(),{data:r,error:o}=await t.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 r||[]}async function eW(e,t,r,o){let n=i(),{data:a,error:s}=await n.from("task_comments").insert({task_id:e,content:t,author_type:r,author_id:o??null}).select().single();if(s)throw s;return a}async function eB(e,t){let r=i(),{data:o,error:n}=await r.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!==t)throw Error("Unauthorized");let{error:a}=await r.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",e).is("deleted_at",null);if(a)throw a}async function eU(e,t,r){if("task"!==e)return D.vaultStore.getLearnings(e,t);let o=i().from("learnings").select("*").eq("scope",e).order("created_at",{ascending:!1});t&&(o=o.eq("scope_id",t)),r&&(o=o.eq("user_id",r));let{data:n,error:a}=await o;if(a)throw a;return n||[]}async function eG(e,t,r,o){if("task"!==e)return D.vaultStore.addLearning(e,t,r);let n=i(),{data:a,error:s}=await n.from("learnings").insert({scope:e,scope_id:r,content:t,user_id:o}).select().single();if(s)throw s;return a}async function eV(e,t){if("global-playbook"===e)return void D.vaultStore.deleteLearning(e,"global");let r=await $(e,t);if(r)return void D.vaultStore.deleteLearning(e,"project",r.id);let o=i().from("learnings").delete().eq("id",e);t&&(o=o.eq("user_id",t));let{error:n}=await o;if(n)throw n}async function eJ(e){let t=i(),{data:r,error:n}=await t.from("agents").select("*").eq("user_id",e).order("created_at",{ascending:!1});if(n){if(o(n,"agents"))return[];throw n}return r||[]}async function ez(e,t){let r=i(),{data:n,error:a}=await r.from("agents").select("*").eq("id",e).eq("user_id",t).maybeSingle();if(a){if("PGRST116"===a.code||o(a,"agents"))return null;throw a}return n}async function eX(e){let t=i(),{data:r,error:n}=await t.from("agent_skills").select("*").eq("agent_id",e).order("created_at",{ascending:!0});if(n){if(o(n,"agent_skills"))return[];throw n}return r||[]}async function eH(e,t){let r=i(),n=new Map;for(let r of t){let t=r.file.trim();t&&n.set(t,{agent_id:e,file:t,condition:r.condition?.trim()||null})}let a=await eX(e);for(let t of a)if(!n.has(t.file)){let{error:i}=await r.from("agent_skills").delete().eq("agent_id",e).eq("file",t.file);if(i&&!o(i,"agent_skills"))throw i}for(let t of n.values()){let i=a.find(e=>e.file===t.file);if(!i){let{error:e}=await r.from("agent_skills").insert(t);if(e&&!o(e,"agent_skills"))throw e;continue}if((i.condition??null)!==t.condition){let{error:i}=await r.from("agent_skills").update({condition:t.condition}).eq("agent_id",e).eq("file",t.file);if(i&&!o(i,"agent_skills"))throw i}}return eX(e)}async function eQ(e,t){let r=i(),n={user_id:e,name:t.name,style:t.style,description:t.description??null};void 0!==t.id&&(n.id=t.id),void 0!==t.role&&(n.role=t.role),void 0!==t.voice&&(n.voice=t.voice),void 0!==t.seed&&(n.seed=t.seed),void 0!==t.model&&(n.model=t.model),void 0!==t.provider&&(n.provider=t.provider),void 0!==t.color&&(n.color=t.color);let{data:a,error:s}=await r.from("agents").insert(n).select().single();if(s){if(o(s,"agents"))throw Error("Agents table does not exist");throw s}return a}async function eZ(e,t,r){let n=i(),a={updated_at:new Date().toISOString()};if(void 0!==r.name&&(a.name=r.name),void 0!==r.role&&(a.role=r.role),void 0!==r.style&&(a.style=r.style),void 0!==r.description&&(a.description=r.description),void 0!==r.voice&&(a.voice=r.voice),void 0!==r.seed&&(a.seed=r.seed),void 0!==r.model&&(a.model=r.model),void 0!==r.provider&&(a.provider=r.provider),void 0!==r.color&&(a.color=r.color),1===Object.keys(a).length)return ez(e,t);let{data:s,error:d}=await n.from("agents").update(a).eq("id",e).eq("user_id",t).select().single();if(d){if("PGRST116"===d.code||o(d,"agents"))return null;throw d}return s}async function eY(e,t){let r=i(),{error:n}=await r.from("agents").delete().eq("id",e).eq("user_id",t);if(n&&!o(n,"agents"))throw n}async function e0(e){let t=i(),{data:r,error:n}=await t.from("teams").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(n){if(o(n,"teams"))return[];throw n}return(r||[]).map(e=>({...e,metadata:"string"==typeof e.metadata?JSON.parse(e.metadata):e.metadata||{}}))}async function e1(e){let t=i(),{data:r,error:n}=await t.from("teams").select("*").eq("id",e).limit(1).single();if(n){if("PGRST116"===n.code||o(n,"teams"))return null;throw n}return r?{...r,metadata:"string"==typeof r.metadata?JSON.parse(r.metadata):r.metadata||{}}:null}async function e2(e,t,r,o){let n=i(),a=(0,h.randomUUID)(),s=new Date().toISOString(),{data:d,error:l}=await n.from("teams").insert({id:a,project_id:e,name:t,template_id:r||null,metadata:JSON.stringify(o||{}),created_at:s,updated_at:s}).select().single();if(l)throw l;return{...d,metadata:"string"==typeof d.metadata?JSON.parse(d.metadata):d.metadata||{}}}async function e3(e,t){let r=i(),o={};void 0!==t.name&&(o.name=t.name),void 0!==t.metadata&&(o.metadata=JSON.stringify(t.metadata));let{data:n,error:a}=await r.from("teams").update(o).eq("id",e).select().single();if(a){if("PGRST116"===a.code)return null;throw a}return{...n,metadata:"string"==typeof n.metadata?JSON.parse(n.metadata):n.metadata||{}}}async function e4(e){let t=i(),{error:r}=await t.from("teams").delete().eq("id",e);if(r)throw r}async function e8(e){let t=i(),{data:r,error:n}=await t.from("team_agents").select("*").eq("team_id",e).order("routing_order",{ascending:!0});if(n){if(o(n,"team_agents"))return[];throw n}return r||[]}async function e6(e,t,r,o){let n=i();if(void 0===o){let{data:t}=await n.from("team_agents").select("routing_order").eq("team_id",e).order("routing_order",{ascending:!1}).limit(1);o=(t?.[0]?.routing_order??-1)+1}let{data:a,error:s}=await n.from("team_agents").upsert({team_id:e,agent_id:t,role_key:r,routing_order:o}).select().single();if(s)throw s;return a}async function e9(e,t){let r=i(),{error:o}=await r.from("team_agents").delete().eq("team_id",e).eq("agent_id",t);if(o)throw o}function e7(e,t){let r=[],i=new Set;for(let t of e){let e=t.file.split("/").pop()||t.file;i.add(e),r.push({file:t.file,condition:t.condition,source:"agent"})}for(let e of t){let t=e.file.split("/").pop()||e.file;i.has(t)||r.push({file:e.file,condition:e.condition??void 0,source:"project"})}return r}function e5(e,t){let r=[];for(let e of t)r.push({content:e.content,source:"project",id:e.id});for(let t of e)r.push({content:t.content,source:"agent",id:t.id});return r}async function te(e){return(await U(e)).map(e=>({key:e.key,value:e.value,source:"project"}))}async function tt(e,t,r,i){let o=await L(t),n=await J(t),a=await te(t);return{skills:e7(r,o),memory:e5(i,n),variables:a}}e.s(["DEFAULT_WORKFLOW_ID",0,"00000000-0000-0000-0000-000000000001","defaultStagePrompts",0,{INTAKE:{prompt:"New task. Triage, scope, and prepare for work.",outputs:[],swarm:!1},PROGRESS:{prompt:"Task is actively being worked on.",outputs:[],swarm:!1},DONE:{prompt:"Task completed.",outputs:[],swarm:!1}},"deleteStagePrompt",()=>e$,"getDefaultWorkflowId",()=>eA,"getStagePrompt",()=>eE,"getStagePrompts",()=>eq,"getWorkflow",()=>ej,"getWorkflowNodeByName",()=>eS,"getWorkflowNodes",()=>ev,"getWorkflowTransitions",()=>eP,"getWorkflowTransitionsFromNode",()=>eD,"getWorkflowWithGraph",()=>eI,"getWorkflows",()=>ew,"updateWorkflow",()=>ek,"updateWorkflowNodes",()=>eb,"upsertStagePrompt",()=>eR],749010),e.s(["addTaskLog",()=>ex,"getTaskLogs",()=>eT],484167),e.s(["addTaskCostEntry",()=>eC,"getTaskCostEntries",()=>eM,"getTaskCostSummary",()=>eF,"summarizeTaskCosts",()=>eK],103292),e.s(["addTaskComment",()=>eW,"deleteTaskComment",()=>eB,"getTaskComments",()=>eL],735066),e.s(["addLearning",()=>eG,"deleteLearning",()=>eV,"getLearnings",()=>eU],480223),e.s(["createAgent",()=>eQ,"deleteAgent",()=>eY,"getAgent",()=>ez,"getAgentSkills",()=>eX,"getAgents",()=>eJ,"setAgentSkills",()=>eH,"updateAgent",()=>eZ],890838),e.s(["addTeamAgent",()=>e6,"createTeam",()=>e2,"deleteTeam",()=>e4,"getTeam",()=>e1,"getTeamAgents",()=>e8,"getTeams",()=>e0,"removeTeamAgent",()=>e9,"updateTeam",()=>e3],981261),e.s(["buildExecutionProvenance",()=>tt,"resolveMemory",()=>e5,"resolveSkills",()=>e7,"resolveVariables",()=>te],32868),e.s([],133),e.s([],237718)}];
|
|
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,P])},237718,842851,209120,393018,167361,930430,840427,262504,749010,484167,103292,735066,480223,890838,981261,32868,133,e=>{"use strict";let t=/^[A-Z]{2,10}$/;function r(e){if(null==e||""===e)return null;if("string"!=typeof e)throw Error("identifier_prefix must be a string");let r=e.trim().toUpperCase();if(!t.test(r))throw Error("identifier_prefix must be 2-10 uppercase ASCII letters (e.g. 'TSK', 'AGX')");return r}function i(){let{createAdminDbClientSQLite:t}=e.r(633211);return t()}function o(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}'`)}function n(t,r,i){let o=e=>"string"!=typeof e?null:e.trim()||null,n=null;try{let t=e.r(522734),r=e.r(814747).join(process.env.HOME||"",".agx","config.json"),i=JSON.parse(t.readFileSync(r,"utf-8"));n=o(i?.defaultProvider)||null}catch{}let a=o(i?.default_provider)||n||"claude",s=o(t.provider)||o(r?.provider)||a,d=o(i?.models?.[s])||null,l=o(t.model)||o(r?.model)||d||null;return{provider:s,model:l,swarm:t.swarm??r?.swarm??!1,swarm_models:t.swarm_models?.length?t.swarm_models:r?.swarm_models||[]}}function a(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function s(e,t){let r=a(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=`${a(e)}-${n}`.slice(0,48)}return`${a(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function d(e,t,r,i){let o=a(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:s,error:d}=await n.limit(1);if(d)throw d;if(!s||0===s.length)return o;let l=Math.random().toString(36).slice(2,6);o=`${a(e)}-${l}`.slice(0,48)}return`${a(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function l(e){return e??i()}function c(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 u(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=c(e)}return Array.from(new Set(t.map(e=>e.trim()).filter(Boolean)))}function p(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]=c(o);continue}"true"===o?r[i]=!0:"false"===o?r[i]=!1:/^\d+$/.test(o)?r[i]=parseInt(o,10):r[i]=o}}return{frontmatter:r,body:t[2]}}async function f(e,t,r){if(!e||!t?.length)return;let i=l(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 g(e){let{body:t}=p(e),r=t.match(/^#\s+(.+)$/m);return r?r[1]:void 0}async function m(e){let t=i(),{data:r,error:n}=await t.from("user_settings").select("*").eq("user_id",e).maybeSingle();if(n){if(o(n,"user_settings"))return null;throw n}return r||null}async function _(e,t,r){let o=r?.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()}(t.changed_at),a=await m(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:t.default_provider??a?.default_provider??null,models:t.models??a?.models??{},provenance:t.provenance,changed_at:n},d=i(),{error:l}=await d.from("user_settings").upsert(s,{onConflict:"user_id"});if(l)throw l;let c=await m(e);if(!c)throw Error("Failed to load user_settings after upsert");return{settings:c,updated:!0}}e.s(["IDENTIFIER_PREFIX_REGEX",0,t,"validateIdentifierPrefix",()=>r],842851),e.i(864075),e.s(["createAdminDbClient",()=>i],209120),e.s(["ensureNoCircularDependency",()=>f,"extractTitle",()=>g,"generateUniqueProjectSlug",()=>d,"generateUniqueSlug",()=>s,"getDbClient",()=>l,"isMissingRelationError",()=>o,"normalizeDependsOnInput",()=>u,"parseDependsOnValue",()=>c,"parseFrontmatter",()=>p,"resolveTaskConfig",()=>n,"slugify",()=>a],393018),e.s(["getUserSettings",()=>m,"upsertUserSettings",()=>_],167361);var h=e.i(254799);let y="Waiting on dependencies";e.i(870611);var w=e.i(938281);let j=[{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 k extends Error{}function v(e){let t=Array.isArray(e.events)?e.events.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(e=>j.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 b(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 k(`Missing relation: ${e}`);throw t}async function S(e){let t=i(),{data:r,error:o}=await t.from("notification_webhooks").select("*").eq("user_id",e).order("created_at",{ascending:!1});return(o&&await b("notification_webhooks",o),r)?(Array.isArray(r)?r:[r]).map(v):[]}async function P(e){if(!e.userId)return;let t=[];try{t=await S(e.userId)}catch(e){if(e instanceof k)return void console.debug("[notifications] notification_webhooks schema not ready, skipping");w.logger.error("[notifications] failed to load webhooks",w.logger.formatError(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=>{let t=new AbortController,r=setTimeout(()=>t.abort(),1e4);try{let r=await fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o),signal:t.signal});r.ok||w.logger.error(`[notifications] webhook ${e.url} responded with ${r.status}`)}catch(t){w.logger.error(`[notifications] failed to send to ${e.url}`,w.logger.formatError(t))}finally{clearTimeout(r)}}))}e.s(["notifyTaskEvent",()=>P],930430);var D=e.i(341902);let I=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function A(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:n,error:a}=await r.from("project_repos").insert(i).select("*");if(a){if(o(a,"project_repos"))return[];throw a}return n||[]}async function q(e,t=!1){let r=i().from("projects").select("*, project_repos(*)");e&&(r=r.eq("user_id",e)),t||(r=r.is("archived_at",null));let{data:n,error:a}=await r;if(a){if(o(a,"projects"))return[];throw a}return(n||[]).map(e=>({...e,repos:e.project_repos??[]}))}async function E(e,t){let r=i().from("projects").select("*").eq("slug",e);t&&(r=r.eq("user_id",t));let{data:n,error:a}=await r.maybeSingle();if(a){if(o(a,"projects"))return null;throw a}return n||null}async function R(e){let t=i(),{data:r,error:n}=await t.from("project_repos").select("*").eq("project_id",e);if(n){if(o(n,"project_repos"))return[];throw n}return r||[]}async function $(e,t){let r=i(),n=I.test(e),a=r.from("projects").select("*");a=n?a.eq("id",e):a.eq("slug",e),t&&(a=a.eq("user_id",t));let s=await a.maybeSingle();if(s.error){if(o(s.error,"projects"))return null;throw s.error}let d=s.data;if(!d)return null;let l=await R(d.id);return{...d,repos:l}}async function T(e,t,i){if(!t.name?.trim())throw Error("Project name is required");let o=l(i),n=t.name.trim()||"project",a=await d(n,e,o),s=r(t.identifier_prefix),c={user_id:e,name:t.name.trim(),slug:a,description:t.description??null,workflow_id:t.workflow_id??null};null!==s&&(c.identifier_prefix=s);let{data:u,error:p}=await o.from("projects").insert(c).select("*").single();if(p&&"42703"===p.code){let{identifier_prefix:e,...t}=c;({data:u,error:p}=await o.from("projects").insert(t).select("*").single())}if(p)throw p;let f=await A(u.id,t.repos??[],o);return{...u,repos:f}}async function x(e,t,i,n){let a=l(n),s=I.test(e),d=e;if(!s){let r=await E(e,t);if(!r)return null;d=r.id}let c={};if(void 0!==i.name){let e=i.name?.trim();if(!e)throw Error("Project name cannot be empty");c.name=e}if(void 0!==i.slug){let e=i.slug?.trim();e&&(c.slug=e)}if(void 0!==i.description&&(c.description=i.description),void 0!==i.metadata&&(c.metadata=i.metadata),void 0!==i.ci_cd_info&&(c.ci_cd_info=i.ci_cd_info),void 0!==i.workflow_id&&(c.workflow_id=i.workflow_id),void 0!==i.identifier_prefix&&(c.identifier_prefix=r(i.identifier_prefix)),Object.keys(c).length){let{error:e}=await a.from("projects").update(c).eq("id",d).eq("user_id",t);if(e)throw e}if(i.repos){let{data:e,error:t}=await a.from("project_repos").select("*").eq("project_id",d);if(t&&!o(t,"project_repos"))throw t;let r=e||[],n=new Set(r.map(e=>e.id)),s=new Set(i.repos.map(e=>e.id).filter(e=>!!e));for(let e of r){if(s.has(e.id))continue;let{error:t}=await a.from("project_repos").delete().eq("id",e.id).eq("project_id",d);if(t&&!o(t,"project_repos"))throw t}for(let e of i.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 a.from("project_repos").update(t).eq("id",e.id).eq("project_id",d);if(r&&!o(r,"project_repos"))throw r;continue}let{error:r}=await a.from("project_repos").insert({...e.id?{id:e.id}:{},...t});if(r&&!o(r,"project_repos"))throw r}}return $(d,t)}async function O(e,t,r){let i=l(r),{error:o}=await i.from("projects").update({archived_at:new Date().toISOString()}).eq("id",e).eq("user_id",t);if(o)throw o}async function N(e,t,r){let i=l(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 s=String(o.slug||"").trim().toLowerCase(),d=(n||[]).filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t||t===s}).map(e=>e.id);if(!d.length)return{updatedCount:0,taskIds:[]};let{error:c}=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",d);if(c)throw c;return{updatedCount:d.length,taskIds:d}}async function C(e){let t=i(),{data:r,error:n}=await t.from("project_agents").select("*").eq("project_id",e).order("routing_order",{ascending:!0});if(n){if(o(n,"project_agents"))return[];throw n}return r||[]}async function M(e,t,r){let o=i();if(void 0===r){let{data:t}=await o.from("project_agents").select("routing_order").eq("project_id",e).order("routing_order",{ascending:!1}).limit(1);r=(t?.[0]?.routing_order??-1)+1}let{data:n,error:a}=await o.from("project_agents").upsert({project_id:e,agent_id:t,routing_order:r}).select().single();if(a)throw a;return n}async function K(e,t){let r=i(),{error:o}=await r.from("project_agents").delete().eq("project_id",e).eq("agent_id",t);if(o)throw o}async function F(e,t){let r=i();for(let i=0;i<t.length;i++)await r.from("project_agents").update({routing_order:i}).eq("project_id",e).eq("agent_id",t[i]);return C(e)}async function W(e){let t=i(),{data:r,error:n}=await t.from("project_skills").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(n){if(o(n,"project_skills"))return[];throw n}return r||[]}async function L(e,t,r){let o=i(),{data:n,error:a}=await o.from("project_skills").insert({project_id:e,file:t,condition:r??null}).select().single();if(a)throw a;return n}async function B(e){let t=i(),{error:r}=await t.from("project_skills").delete().eq("id",e);if(r)throw r}async function U(e){let t=i(),{data:r,error:n}=await t.from("project_variables").select("*").eq("project_id",e);if(n){if(o(n,"project_variables"))return[];throw n}return r||[]}async function G(e,t,r){let o=i(),{data:n,error:a}=await o.from("project_variables").upsert({project_id:e,key:t,value:r},{onConflict:"project_id,key"}).select().single();if(a)throw a;return n}async function V(e,t){let r=i(),{error:o}=await r.from("project_variables").delete().eq("project_id",e).eq("key",t);if(o)throw o}async function J(e,t){return D.vaultStore.getProjectMemory(e)}async function z(e,t,r,i="human"){return D.vaultStore.addProjectMemory(e,t,r,i)}async function X(e){D.vaultStore.deleteProjectMemory(e)}async function H(e){let t=i(),{data:r,error:n}=await t.from("project_threads").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(n){if(o(n,"project_threads"))return[];throw n}return r||[]}async function Q(e,t){let r=i(),{error:o}=await r.from("project_threads").upsert({project_id:e,thread_id:t},{onConflict:"project_id,thread_id",ignoreDuplicates:!0});if(o)throw o;let{data:n,error:a}=await r.from("project_threads").select("*").eq("project_id",e).eq("thread_id",t).single();if(a)throw a;return n}async function Z(e,t){let r=i(),{error:o}=await r.from("project_threads").delete().eq("project_id",e).eq("thread_id",t);if(o)throw o}async function Y(e){let t=i(),{data:r,error:n}=await t.from("project_threads").select("project_id").eq("thread_id",e).maybeSingle();return n?(o(n,"project_threads"),null):r?.project_id??null}async function ee(e){return(await et(e)).reduce((e,t)=>(e[t.category]||(e[t.category]=[]),e[t.category].push(t),e),{})}async function et(e){let t=i(),{data:r,error:n}=await t.from("workspace_entries").select("*").eq("project_id",e).order("category",{ascending:!0}).order("sort_order",{ascending:!0}).order("name",{ascending:!0});if(n){if(o(n,"workspace_entries"))return[];throw n}return r||[]}async function er(e,t){let r=i(),o=(0,h.randomUUID)(),n=new Date().toISOString(),{data:a,error:s}=await r.from("workspace_entries").insert({id:o,project_id:e,category:t.category,name:t.name,path:t.path||null,purpose:t.purpose||null,sort_order:t.sort_order??0,created_at:n,updated_at:n}).select().single();if(s)throw s;return a}async function ei(e,t,r){let o=i(),n={};void 0!==r.name&&(n.name=r.name),void 0!==r.path&&(n.path=r.path),void 0!==r.purpose&&(n.purpose=r.purpose),void 0!==r.sort_order&&(n.sort_order=r.sort_order),n.updated_at=new Date().toISOString();let{data:a,error:s}=await o.from("workspace_entries").update(n).eq("id",t).eq("project_id",e).select().single();if(s){if("PGRST116"===s.code)return null;throw s}return a}async function eo(e,t){let r=i(),{error:o}=await r.from("workspace_entries").delete().eq("id",t).eq("project_id",e);if(o)throw o}async function en(e){let t=i(),{data:r,error:n}=await t.from("workspace_entries").select("category, name, path, purpose").eq("project_id",e).order("category",{ascending:!0}).order("sort_order",{ascending:!0}).order("name",{ascending:!0});if(n){if(o(n,"workspace_entries"))return[];throw n}return(r||[]).map(e=>({location:`${e.category}/${e.name}`,path:e.path||null,purpose:e.purpose||null}))}function ea(e){return String(e||"").replace(/^#\s+.+(\r?\n|$)/,"").trim()}async function es(e,t){var r;let o=Array.isArray(e.depends_on)?e.depends_on:[];if(!o.length)return;let n=i(),{data:a,error:s}=await n.from("tasks").select("id, title, slug, status, stage").in("id",o);if(s)return;let d=(Array.isArray(a)?a:[]).filter(e=>"completed"!==(e?.status||""));if(d.length){let r=function(e){if(!e||0===e.length)return"";let t=e.slice(0,3).map(e=>`${e.title?e.title:e.slug?e.slug:e.id?e.id:"(unknown)"}${(e.stage?.toLowerCase()==="intake"?" (awaiting approval)":e.status?` (${e.status})`:null)??""}`),r=`${y}: ${t.join(", ")}`;return e.length>3&&(r+=` +${e.length-3} more`),r}(d),i=n.from("tasks").update({status:"blocked",blocked_reason:r}).eq("id",e.id);t&&(i=i.eq("user_id",t));let{error:o}=await i;if(o&&"42703"!==o.code)throw o;return}if("blocked"===e.status&&"string"==typeof(r=e.blocked_reason)&&r.startsWith(y)){let r=n.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",e.id);t&&(r=r.eq("user_id",t));let{error:i}=await r;if(i&&"42703"!==i.code)throw i}}async function ed(e,t){let r=i().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(e&&(r=r.eq("user_id",e)),t?.project&&(r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t.project)?r.eq("project_id",t.project):r.eq("project",t.project)),t?.orphan&&(r=r.is("project_id",null)),t?.status&&(r=r.eq("status",t.status)),t?.search){let e=t.search;r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)?r.or(`id.eq.${e},slug.ilike.%${e}%,title.ilike.%${e}%`):r.or(`id.ilike.%${e}%,slug.ilike.%${e}%,title.ilike.%${e}%`)}let{data:o,error:n}=await r;if(n)throw n;let a=o||[];return t?.orphan?a.filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t}):a}async function el(e,t){let r=i().from("tasks").select("*").eq("id",e);t&&(r=r.eq("user_id",t));let{data:o,error:n}=await r.single();if(n){if("PGRST116"===n.code)return null;throw n}return o}async function ec(e,t){let r=i().from("tasks").select("*").eq("slug",e);t&&(r=r.eq("user_id",t));let{data:o,error:n}=await r.single();if(n){if("PGRST116"===n.code)return null;throw n}return o}async function eu(e,t,r){let o=i(),{frontmatter:n,body:a}=p(e),d="boolean"==typeof n.swarm?n.swarm:void 0,l=r?.title||g(e),c=String(n.slug||l||"task"),m=await s(c,o),_=r?.projectId||("string"==typeof n.project_id?n.project_id:void 0),y="string"==typeof n.workflow_id?n.workflow_id:void 0,w="string"==typeof n.project?n.project:void 0;if(!w&&_){let e=await $(_);e?.slug&&(w=e.slug)}let j="string"==typeof n.provider?n.provider:null,k="string"==typeof n.model?n.model:null,v="string"==typeof n.engine?n.engine:null,b="ai"===n.created_by?"ai":"user",S=u(n.depends_on),D=u(r?.dependsOn),I=D.length>0?D:S,A=null;if(_)try{let{data:e}=await o.from("projects").select("identifier_prefix, next_identifier").eq("id",_).single();if(e&&"string"==typeof e.identifier_prefix&&e.identifier_prefix){let t="number"==typeof e.next_identifier?e.next_identifier:1;A=`${e.identifier_prefix}-${t}`,await o.from("projects").update({next_identifier:t+1}).eq("id",_)}}catch{A=null}let q={id:(0,h.randomUUID)(),content:e,description:ea(a),title:l,slug:m,status:n.status||"queued",stage:n.stage||"intake",project:w||null,...void 0!==_?{project_id:_}:{},...void 0!==y?{workflow_id:y}:{},...null!==A?{identifier:A}:{},priority:n.priority,engine:v,provider:j,model:k,swarm:d,swarm_models:r?.swarmModels??null,depends_on:I.length?I:null,created_by:b,user_id:t,current_plan:r?.currentPlan||null,open_blockers:r?.openBlockers||[],next_action:r?.nextAction||null,version:1};await f(q.id,I,o);let{data:E,error:R}=await o.from("tasks").insert(q).select().single();if(R&&"42703"===R.code){let{swarm_models:e,swarm:t,workflow_id:r,current_plan:i,open_blockers:n,next_action:a,version:s,depends_on:d,identifier:l,...c}=q;({data:E,error:R}=await o.from("tasks").insert(c).select().single())}if(R)throw R;if(!E)throw Error("Failed to create task");await es(E,t);let T=await el(E.id,t)||E,x=t||T.user_id;if(x){let e=T.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(T.depends_on)?T.depends_on:[],project:T.project||null,projectId:T.project_id||null,workflowId:T.workflow_id||null,createdBy:T.created_by||null};P({taskId:T.id,userId:x,eventType:"task.created",title:T.title||null,slug:T.slug||null,stage:T.stage||null,status:T.status||null,timestamp:e,details:t})}return T}async function ep(e,t,r,o){let n=i(),{frontmatter:a,body:s}=p(t),d="boolean"==typeof a.swarm?a.swarm:void 0,l=g(t),c="string"==typeof a.project_id?a.project_id:void 0,m=Object.prototype.hasOwnProperty.call(a,"provider"),_=Object.prototype.hasOwnProperty.call(a,"model"),h=Object.prototype.hasOwnProperty.call(a,"workflow_id"),y=Object.prototype.hasOwnProperty.call(a,"depends_on"),w=u(a.depends_on),j=u(o?.dependsOn),k=o?.dependsOn!==void 0||y,v=o?.dependsOn!==void 0?j:w,b={content:t,description:ea(s),title:l,status:a.status,stage:a.stage,project:a.project,...void 0!==c?{project_id:c}:{},workflow_id:h?a.workflow_id:void 0,priority:a.priority,engine:a.engine,provider:m?a.provider:null,model:_?a.model:null,swarm:d,swarm_models:o?.swarmModels??void 0,...k?{depends_on:v.length?v:null}:{},updated_at:new Date().toISOString(),current_plan:o?.currentPlan??void 0,open_blockers:o?.openBlockers??void 0,next_action:o?.nextAction??void 0};Object.keys(b).forEach(e=>{void 0===b[e]&&delete b[e]}),k&&await f(e,v,n),o?.expectedVersion!==void 0&&o.expectedVersion;let{data:S,error:D}=await n.from("tasks").update({...b}).eq("id",e).select().maybeSingle();if(D&&console.error(`[db.updateTask] error updating task ${e}:`,D),S||D||console.warn(`[db.updateTask] UPDATE returned 0 rows for task ${e}, payload keys:`,Object.keys(b)),D&&"42703"===D.code){let{swarm_models:t,swarm:i,workflow_id:o,current_plan:a,open_blockers:s,next_action:d,version:l,depends_on:c,...u}=b,p=n.from("tasks").update(u).eq("id",e);r&&(p=p.eq("user_id",r)),{data:S,error:D}=await p.select().maybeSingle()}if(D)throw D;if(!S){let t=await el(e,r);if(!t)throw Error(`Task ${e} not found`);return t}await es(S,r);let I=await el(S.id,r)||S,A=r||I.user_id;if(A){let e=I.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(I.depends_on)?I.depends_on:[],project:I.project||null,projectId:I.project_id||null,workflowId:I.workflow_id||null,createdBy:I.created_by||null};P({taskId:I.id,userId:A,eventType:"task.created",title:I.title||null,slug:I.slug||null,stage:I.stage||null,status:I.status||null,timestamp:e,details:t})}return I}async function ef(e,t,r=25){let o=i(),{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 s=[t,...Array.isArray(n.run_index)?n.run_index:[]].slice(0,r),{error:d}=await o.from("tasks").update({run_index:s}).eq("id",e);if(d){if(d?.code==="42703")return;throw d}}async function eg(e,t){let r=i().from("tasks").delete().eq("id",e);t&&(r=r.eq("user_id",t));let{error:o}=await r;if(o)throw o}async function em(e){let t=i().from("tasks").select("*").eq("status","queued").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!0}).limit(1);e&&(t=t.eq("engine",e));let{data:r,error:o}=await t.single();if(o){if("PGRST116"===o.code)return null;throw o}return r}e.s(["addProjectAgent",()=>M,"addProjectMemory",()=>z,"addProjectSkill",()=>L,"addProjectThread",()=>Q,"assignOrphanTasksToProject",()=>N,"createProject",()=>T,"createWorkspaceEntry",()=>er,"deleteProject",()=>O,"deleteProjectMemory",()=>X,"deleteProjectVariable",()=>V,"deleteWorkspaceEntry",()=>eo,"getProjectAgents",()=>C,"getProjectBySlug",()=>E,"getProjectForThread",()=>Y,"getProjectMemory",()=>J,"getProjectRepos",()=>R,"getProjectSkills",()=>W,"getProjectThreads",()=>H,"getProjectVariables",()=>U,"getProjectWithRepos",()=>$,"getProjectWorkspace",()=>ee,"getProjectWorkspaceEntries",()=>et,"getProjects",()=>q,"getWorkspaceMapForContext",()=>en,"removeProjectAgent",()=>K,"removeProjectSkill",()=>B,"removeProjectThread",()=>Z,"reorderProjectAgents",()=>F,"setProjectVariable",()=>G,"updateProject",()=>x,"updateWorkspaceEntry",()=>ei],840427),e.s(["appendRunToIndex",()=>ef,"createTask",()=>eu,"deleteTask",()=>eg,"getNextQueuedTask",()=>em,"getTask",()=>el,"getTaskBySlug",()=>ec,"getTasks",()=>ed,"updateTask",()=>ep],262504);let e_="00000000-0000-0000-0000-000000000001",eh=[{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"}],ey=new Map(eh.map(e=>[e.id,e]));async function ew(e){let t=i(),{error:r}=await t.from("workflows").upsert({id:e_,user_id:e||"00000000-0000-0000-0000-000000000000",name:"Default Workflow",definition:{}},{onConflict:"id"});if(r)throw r;let{error:o}=await t.from("workflow_nodes").upsert(eh.map(e=>({...e,workflow_id:e_,metadata:{}})),{onConflict:"id"});if(o)throw o;let{error:n}=await t.from("workflow_transitions").upsert([{workflow_id:e_,from_node_id:"00000000-0000-0000-0001-000000000001",to_node_id:"00000000-0000-0000-0001-000000000002",condition:"done",priority:0,metadata:{}},{workflow_id:e_,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 ej(e){let t=i(),{data:r,error:n}=await t.from("workflows").select("*").or(`user_id.eq.${e},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(n){if(o(n,"workflows"))return[];throw n}return r||[]}async function ek(e,t){let r=i().from("workflows").select("*").eq("id",e),{data:n,error:a}=await r.maybeSingle();if(a){if(o(a,"workflows"))return null;throw a}return n}async function ev(e,t,r){let o=i(),n={updated_at:new Date().toISOString()};void 0!==r.definition&&(n.definition=r.definition),void 0!==r.name&&(n.name=r.name),void 0!==r.description&&(n.description=r.description);let{data:a,error:s}=await o.from("workflows").update(n).eq("id",e).select().single();if(s)throw s;return a}async function eb(e){let t=i(),{data:r,error:n}=await t.from("workflow_nodes").select("*").eq("workflow_id",e).order("position",{ascending:!0});if(n){if(o(n,"workflow_nodes"))return[];throw n}return r||[]}async function eS(e,t,r){let o=i();if(e===e_&&await ew(t),!await ek(e,t))throw Error("Workflow not found");if(e===e_){let t=r.map(t=>{let r=ey.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 eb(e)}return await Promise.all(r.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})),eb(e)}async function eP(e,t){let r=i(),{data:n,error:a}=await r.from("workflow_nodes").select("*").eq("workflow_id",e).eq("name",t).maybeSingle();if(a){if(o(a,"workflow_nodes"))return null;throw a}return n}async function eD(e){let t=i(),{data:r,error:n}=await t.from("workflow_transitions").select("*").eq("workflow_id",e).order("priority",{ascending:!0});if(n){if(o(n,"workflow_transitions"))return[];throw n}return r||[]}async function eI(e,t){let r=i(),{data:n,error:a}=await r.from("workflow_transitions").select("*").eq("workflow_id",e).eq("from_node_id",t).order("priority",{ascending:!0});if(a){if(o(a,"workflow_transitions"))return[];throw a}return n||[]}async function eA(e,t){let r=await ek(e,t);if(!r)return null;let[i,o]=await Promise.all([eb(e),eD(e)]);return{...r,nodes:i,transitions:o}}function eq(){return e_}async function eE(e,t){let r=i().from("stage_prompts").select("*").eq("workflow_id",t).order("stage",{ascending:!0});r=e?r.or(`user_id.eq.${e},is_default.eq.true`):r.eq("is_default",!0);let{data:o,error:n}=await r;if(n)throw n;return o||[]}async function eR(e,t,r){let o=i();if(t){let{data:i}=await o.from("stage_prompts").select("*").eq("workflow_id",r).eq("stage",e).eq("user_id",t).single();if(i)return i}let{data:n}=await o.from("stage_prompts").select("*").eq("workflow_id",r).eq("stage",e).eq("is_default",!0).single();return n||null}async function e$(e,t,r=[],o,n,a){let s=i(),d={stage:e,prompt:t,outputs:r,user_id:o,is_default:!o,workflow_id:a};n&&(void 0!==n.swarm&&(d.swarm=n.swarm),void 0!==n.provider&&(d.provider=n.provider),void 0!==n.model&&(d.model=n.model),void 0!==n.swarm_models&&(d.swarm_models=n.swarm_models));let{data:l,error:c}=await s.from("stage_prompts").upsert(d,{onConflict:o?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(c)throw c;return l}async function eT(e,t){let r=i().from("stage_prompts").delete().eq("id",e);t&&(r=r.eq("user_id",t));let{error:o}=await r;if(o)throw o}async function ex(e,t={}){let r=i(),o=Math.max(1,Math.min(2e3,Number(t.limit??t.tail??500))),n="string"==typeof t.after&&t.after.trim()?t.after.trim():null,a=n?null:void 0===t.tail?o:Number(t.tail),s=null!==a&&Number.isFinite(a)&&a>0,d=r.from("task_logs").select("*").eq("task_id",e);t.nodeId&&(d=d.eq("node_id",t.nodeId)),d=n?d.gt("created_at",n).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o):s?d.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(o):d.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o);let{data:l,error:c}=await d;if(c)throw c;let u=l||[];return n?u:s?u.slice().reverse():u}async function eO(e,t,r,o){let n=i(),{data:a,error:s}=await n.from("task_logs").insert({task_id:e,content:t,log_type:r,...o?{node_id:o}:{}}).select().single();if(s)throw s;return a}function eN(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,Math.round(t)):0}function eC(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,t):0}async function eM(e){let t=i(),r={task_id:e.taskId,stage:e.stage,provider:e.provider??null,model:e.model??null,input_tokens:eN(e.inputTokens),output_tokens:eN(e.outputTokens),estimated_cost:eC(e.estimatedCost)},{data:o,error:n}=await t.from("task_costs").insert(r).select().single();if(n)throw n;return o}async function eK(e){let t=i(),{data:r,error:o}=await t.from("task_costs").select("*").eq("task_id",e).order("created_at",{ascending:!0});if(o)throw o;return r||[]}function eF(e){let t={},r=0,i=0,o=0;for(let n of e){let e=n.stage||"unknown",a=eN(n.input_tokens),s=eN(n.output_tokens),d=eC(n.estimated_cost??0);r+=a,i+=s,o+=d;let l=t[e]||{stage:e,input_tokens:0,output_tokens:0,estimated_cost:0,entries:0};l.input_tokens+=a,l.output_tokens+=s,l.estimated_cost+=d,l.entries+=1,t[e]=l}return{total_input_tokens:r,total_output_tokens:i,total_cost:o,per_stage:Object.values(t).sort((e,t)=>e.stage.localeCompare(t.stage))}}async function eW(e){return eF(await eK(e))}async function eL(e){let t=i(),{data:r,error:o}=await t.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 r||[]}async function eB(e,t,r,o){let n=i(),{data:a,error:s}=await n.from("task_comments").insert({task_id:e,content:t,author_type:r,author_id:o??null}).select().single();if(s)throw s;return a}async function eU(e,t){let r=i(),{data:o,error:n}=await r.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!==t)throw Error("Unauthorized");let{error:a}=await r.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",e).is("deleted_at",null);if(a)throw a}async function eG(e,t,r){if("task"!==e)return D.vaultStore.getLearnings(e,t);let o=i().from("learnings").select("*").eq("scope",e).order("created_at",{ascending:!1});t&&(o=o.eq("scope_id",t)),r&&(o=o.eq("user_id",r));let{data:n,error:a}=await o;if(a)throw a;return n||[]}async function eV(e,t,r,o){if("task"!==e)return D.vaultStore.addLearning(e,t,r);let n=i(),{data:a,error:s}=await n.from("learnings").insert({scope:e,scope_id:r,content:t,user_id:o}).select().single();if(s)throw s;return a}async function eJ(e,t){if("global-playbook"===e)return void D.vaultStore.deleteLearning(e,"global");let r=await $(e,t);if(r)return void D.vaultStore.deleteLearning(e,"project",r.id);let o=i().from("learnings").delete().eq("id",e);t&&(o=o.eq("user_id",t));let{error:n}=await o;if(n)throw n}async function ez(e){let t=i(),{data:r,error:n}=await t.from("agents").select("*").eq("user_id",e).order("created_at",{ascending:!1});if(n){if(o(n,"agents"))return[];throw n}return r||[]}async function eX(e,t){let r=i(),{data:n,error:a}=await r.from("agents").select("*").eq("id",e).eq("user_id",t).maybeSingle();if(a){if("PGRST116"===a.code||o(a,"agents"))return null;throw a}return n}async function eH(e){let t=i(),{data:r,error:n}=await t.from("agent_skills").select("*").eq("agent_id",e).order("created_at",{ascending:!0});if(n){if(o(n,"agent_skills"))return[];throw n}return r||[]}async function eQ(e,t){let r=i(),n=new Map;for(let r of t){let t=r.file.trim();t&&n.set(t,{agent_id:e,file:t,condition:r.condition?.trim()||null})}let a=await eH(e);for(let t of a)if(!n.has(t.file)){let{error:i}=await r.from("agent_skills").delete().eq("agent_id",e).eq("file",t.file);if(i&&!o(i,"agent_skills"))throw i}for(let t of n.values()){let i=a.find(e=>e.file===t.file);if(!i){let{error:e}=await r.from("agent_skills").insert(t);if(e&&!o(e,"agent_skills"))throw e;continue}if((i.condition??null)!==t.condition){let{error:i}=await r.from("agent_skills").update({condition:t.condition}).eq("agent_id",e).eq("file",t.file);if(i&&!o(i,"agent_skills"))throw i}}return eH(e)}async function eZ(e,t){let r=i(),n={user_id:e,name:t.name,style:t.style,description:t.description??null};void 0!==t.id&&(n.id=t.id),void 0!==t.role&&(n.role=t.role),void 0!==t.voice&&(n.voice=t.voice),void 0!==t.seed&&(n.seed=t.seed),void 0!==t.model&&(n.model=t.model),void 0!==t.provider&&(n.provider=t.provider),void 0!==t.color&&(n.color=t.color);let{data:a,error:s}=await r.from("agents").insert(n).select().single();if(s){if(o(s,"agents"))throw Error("Agents table does not exist");throw s}return a}async function eY(e,t,r){let n=i(),a={updated_at:new Date().toISOString()};if(void 0!==r.name&&(a.name=r.name),void 0!==r.role&&(a.role=r.role),void 0!==r.style&&(a.style=r.style),void 0!==r.description&&(a.description=r.description),void 0!==r.voice&&(a.voice=r.voice),void 0!==r.seed&&(a.seed=r.seed),void 0!==r.model&&(a.model=r.model),void 0!==r.provider&&(a.provider=r.provider),void 0!==r.color&&(a.color=r.color),1===Object.keys(a).length)return eX(e,t);let{data:s,error:d}=await n.from("agents").update(a).eq("id",e).eq("user_id",t).select().single();if(d){if("PGRST116"===d.code||o(d,"agents"))return null;throw d}return s}async function e0(e,t){let r=i(),{error:n}=await r.from("agents").delete().eq("id",e).eq("user_id",t);if(n&&!o(n,"agents"))throw n}async function e1(e){let t=i(),{data:r,error:n}=await t.from("teams").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(n){if(o(n,"teams"))return[];throw n}return(r||[]).map(e=>({...e,metadata:"string"==typeof e.metadata?JSON.parse(e.metadata):e.metadata||{}}))}async function e2(e){let t=i(),{data:r,error:n}=await t.from("teams").select("*").eq("id",e).limit(1).single();if(n){if("PGRST116"===n.code||o(n,"teams"))return null;throw n}return r?{...r,metadata:"string"==typeof r.metadata?JSON.parse(r.metadata):r.metadata||{}}:null}async function e3(e,t,r,o){let n=i(),a=(0,h.randomUUID)(),s=new Date().toISOString(),{data:d,error:l}=await n.from("teams").insert({id:a,project_id:e,name:t,template_id:r||null,metadata:JSON.stringify(o||{}),created_at:s,updated_at:s}).select().single();if(l)throw l;return{...d,metadata:"string"==typeof d.metadata?JSON.parse(d.metadata):d.metadata||{}}}async function e4(e,t){let r=i(),o={};void 0!==t.name&&(o.name=t.name),void 0!==t.metadata&&(o.metadata=JSON.stringify(t.metadata));let{data:n,error:a}=await r.from("teams").update(o).eq("id",e).select().single();if(a){if("PGRST116"===a.code)return null;throw a}return{...n,metadata:"string"==typeof n.metadata?JSON.parse(n.metadata):n.metadata||{}}}async function e8(e){let t=i(),{error:r}=await t.from("teams").delete().eq("id",e);if(r)throw r}async function e6(e){let t=i(),{data:r,error:n}=await t.from("team_agents").select("*").eq("team_id",e).order("routing_order",{ascending:!0});if(n){if(o(n,"team_agents"))return[];throw n}return r||[]}async function e9(e,t,r,o){let n=i();if(void 0===o){let{data:t}=await n.from("team_agents").select("routing_order").eq("team_id",e).order("routing_order",{ascending:!1}).limit(1);o=(t?.[0]?.routing_order??-1)+1}let{data:a,error:s}=await n.from("team_agents").upsert({team_id:e,agent_id:t,role_key:r,routing_order:o}).select().single();if(s)throw s;return a}async function e7(e,t){let r=i(),{error:o}=await r.from("team_agents").delete().eq("team_id",e).eq("agent_id",t);if(o)throw o}function e5(e,t){let r=[],i=new Set;for(let t of e){let e=t.file.split("/").pop()||t.file;i.add(e),r.push({file:t.file,condition:t.condition,source:"agent"})}for(let e of t){let t=e.file.split("/").pop()||e.file;i.has(t)||r.push({file:e.file,condition:e.condition??void 0,source:"project"})}return r}function te(e,t){let r=[];for(let e of t)r.push({content:e.content,source:"project",id:e.id});for(let t of e)r.push({content:t.content,source:"agent",id:t.id});return r}async function tt(e){return(await U(e)).map(e=>({key:e.key,value:e.value,source:"project"}))}async function tr(e,t,r,i){let o=await W(t),n=await J(t),a=await tt(t);return{skills:e5(r,o),memory:te(i,n),variables:a}}e.s(["DEFAULT_WORKFLOW_ID",0,"00000000-0000-0000-0000-000000000001","defaultStagePrompts",0,{INTAKE:{prompt:"New task. Triage, scope, and prepare for work.",outputs:[],swarm:!1},PROGRESS:{prompt:"Task is actively being worked on.",outputs:[],swarm:!1},DONE:{prompt:"Task completed.",outputs:[],swarm:!1}},"deleteStagePrompt",()=>eT,"getDefaultWorkflowId",()=>eq,"getStagePrompt",()=>eR,"getStagePrompts",()=>eE,"getWorkflow",()=>ek,"getWorkflowNodeByName",()=>eP,"getWorkflowNodes",()=>eb,"getWorkflowTransitions",()=>eD,"getWorkflowTransitionsFromNode",()=>eI,"getWorkflowWithGraph",()=>eA,"getWorkflows",()=>ej,"updateWorkflow",()=>ev,"updateWorkflowNodes",()=>eS,"upsertStagePrompt",()=>e$],749010),e.s(["addTaskLog",()=>eO,"getTaskLogs",()=>ex],484167),e.s(["addTaskCostEntry",()=>eM,"getTaskCostEntries",()=>eK,"getTaskCostSummary",()=>eW,"summarizeTaskCosts",()=>eF],103292),e.s(["addTaskComment",()=>eB,"deleteTaskComment",()=>eU,"getTaskComments",()=>eL],735066),e.s(["addLearning",()=>eV,"deleteLearning",()=>eJ,"getLearnings",()=>eG],480223),e.s(["createAgent",()=>eZ,"deleteAgent",()=>e0,"getAgent",()=>eX,"getAgentSkills",()=>eH,"getAgents",()=>ez,"setAgentSkills",()=>eQ,"updateAgent",()=>eY],890838),e.s(["addTeamAgent",()=>e9,"createTeam",()=>e3,"deleteTeam",()=>e8,"getTeam",()=>e2,"getTeamAgents",()=>e6,"getTeams",()=>e1,"removeTeamAgent",()=>e7,"updateTeam",()=>e4],981261),e.s(["buildExecutionProvenance",()=>tr,"resolveMemory",()=>te,"resolveSkills",()=>e5,"resolveVariables",()=>tt],32868),e.s([],133),e.s([],237718)}];
|
|
33
33
|
|
|
34
34
|
//# sourceMappingURL=apps_local_lib_5ab8f104._.js.map
|
package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_db_ts_77c23d6c._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[426491,689518,515140,448643,863014,952472,38193,456094,387695,803887,181938,453298,521116,700006,324654,e=>{"use strict";let t=/^[A-Z]{2,10}$/;function r(e){if(null==e||""===e)return null;if("string"!=typeof e)throw Error("identifier_prefix must be a string");let r=e.trim().toUpperCase();if(!t.test(r))throw Error("identifier_prefix must be 2-10 uppercase ASCII letters (e.g. 'TSK', 'AGX')");return r}e.s(["IDENTIFIER_PREFIX_REGEX",0,t,"validateIdentifierPrefix",()=>r],689518);var i=e.i(173426);function n(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}'`)}function o(t,r,i){let n=e=>"string"!=typeof e?null:e.trim()||null,o=null;try{let t=e.r(522734),r=e.r(814747).join(process.env.HOME||"",".agx","config.json"),i=JSON.parse(t.readFileSync(r,"utf-8"));o=n(i?.defaultProvider)||null}catch{}let a=n(i?.default_provider)||o||"claude",l=n(t.provider)||n(r?.provider)||a,s=n(i?.models?.[l])||null,d=n(t.model)||n(r?.model)||s||null;return{provider:l,model:d,swarm:t.swarm??r?.swarm??!1,swarm_models:t.swarm_models?.length?t.swarm_models:r?.swarm_models||[]}}function a(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function l(e,t){let r=a(e);for(let i=0;i<5;i++){let{data:i,error:n}=await t.from("tasks").select("id").eq("slug",r).limit(1);if(n)throw n;if(!i||0===i.length)return r;let o=Math.random().toString(36).slice(2,6);r=`${a(e)}-${o}`.slice(0,48)}return`${a(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function s(e,t,r,i){let n=a(e);for(let o=0;o<5;o++){let o=r.from("projects").select("id").eq("slug",n).eq("user_id",t);i&&(o=o.neq("id",i));let{data:l,error:s}=await o.limit(1);if(s)throw s;if(!l||0===l.length)return n;let d=Math.random().toString(36).slice(2,6);n=`${a(e)}-${d}`.slice(0,48)}return`${a(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function d(e){return e??(0,i.createAdminDbClient)()}function c(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 u(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=c(e)}return Array.from(new Set(t.map(e=>e.trim()).filter(Boolean)))}function f(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(),n=e.slice(t+1).trim();if("depends_on"===i){r[i]=c(n);continue}"true"===n?r[i]=!0:"false"===n?r[i]=!1:/^\d+$/.test(n)?r[i]=parseInt(n,10):r[i]=n}}return{frontmatter:r,body:t[2]}}async function p(e,t,r){if(!e||!t?.length)return;let i=d(r),n=new Set,o=[...t];for(;o.length;){let t=o.pop();if(!t)continue;if(t===e)throw Error("Circular dependency detected");if(n.has(t))continue;n.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&&!n.has(e)&&o.push(e)}}function m(e){let{body:t}=f(e),r=t.match(/^#\s+(.+)$/m);return r?r[1]:void 0}async function w(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("user_settings").select("*").eq("user_id",e).maybeSingle();if(o){if(n(o,"user_settings"))return null;throw o}return r||null}async function _(e,t,r){let n=r?.onlyIfNewer!==!1,o=function(e){if("string"==typeof e){let t=Date.parse(e);if(Number.isFinite(t))return new Date(t).toISOString()}return new Date().toISOString()}(t.changed_at),a=await w(e);if(n&&a?.changed_at){let e=Date.parse(a.changed_at),t=Date.parse(o);if(Number.isFinite(e)&&Number.isFinite(t)&&t<=e)return{settings:a,updated:!1}}let l={user_id:e,default_provider:t.default_provider??a?.default_provider??null,models:t.models??a?.models??{},provenance:t.provenance,changed_at:o},s=(0,i.createAdminDbClient)(),{error:d}=await s.from("user_settings").upsert(l,{onConflict:"user_id"});if(d)throw d;let c=await w(e);if(!c)throw Error("Failed to load user_settings after upsert");return{settings:c,updated:!0}}e.s(["ensureNoCircularDependency",()=>p,"extractTitle",()=>m,"generateUniqueProjectSlug",()=>s,"generateUniqueSlug",()=>l,"getDbClient",()=>d,"isMissingRelationError",()=>n,"normalizeDependsOnInput",()=>u,"parseDependsOnValue",()=>c,"parseFrontmatter",()=>f,"resolveTaskConfig",()=>o,"slugify",()=>a],515140),e.s(["getUserSettings",()=>w,"upsertUserSettings",()=>_],448643);var g=e.i(254799);let y="Waiting on dependencies";var k=e.i(108088),h=e.i(488877);let j=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function b(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:a}=await r.from("project_repos").insert(i).select("*");if(a){if(n(a,"project_repos"))return[];throw a}return o||[]}async function v(e,t=!1){let r=(0,i.createAdminDbClient)().from("projects").select("*, project_repos(*)");e&&(r=r.eq("user_id",e)),t||(r=r.is("archived_at",null));let{data:o,error:a}=await r;if(a){if(n(a,"projects"))return[];throw a}return(o||[]).map(e=>({...e,repos:e.project_repos??[]}))}async function q(e,t){let r=(0,i.createAdminDbClient)().from("projects").select("*").eq("slug",e);t&&(r=r.eq("user_id",t));let{data:o,error:a}=await r.maybeSingle();if(a){if(n(a,"projects"))return null;throw a}return o||null}async function A(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_repos").select("*").eq("project_id",e);if(o){if(n(o,"project_repos"))return[];throw o}return r||[]}async function C(e,t){let r=(0,i.createAdminDbClient)(),o=j.test(e),a=r.from("projects").select("*");a=o?a.eq("id",e):a.eq("slug",e),t&&(a=a.eq("user_id",t));let l=await a.maybeSingle();if(l.error){if(n(l.error,"projects"))return null;throw l.error}let s=l.data;if(!s)return null;let d=await A(s.id);return{...s,repos:d}}async function D(e,t,i){if(!t.name?.trim())throw Error("Project name is required");let n=d(i),o=t.name.trim()||"project",a=await s(o,e,n),l=r(t.identifier_prefix),c={user_id:e,name:t.name.trim(),slug:a,description:t.description??null,workflow_id:t.workflow_id??null};null!==l&&(c.identifier_prefix=l);let{data:u,error:f}=await n.from("projects").insert(c).select("*").single();if(f&&"42703"===f.code){let{identifier_prefix:e,...t}=c;({data:u,error:f}=await n.from("projects").insert(t).select("*").single())}if(f)throw f;let p=await b(u.id,t.repos??[],n);return{...u,repos:p}}async function S(e,t,i,o){let a=d(o),l=j.test(e),s=e;if(!l){let r=await q(e,t);if(!r)return null;s=r.id}let c={};if(void 0!==i.name){let e=i.name?.trim();if(!e)throw Error("Project name cannot be empty");c.name=e}if(void 0!==i.slug){let e=i.slug?.trim();e&&(c.slug=e)}if(void 0!==i.description&&(c.description=i.description),void 0!==i.metadata&&(c.metadata=i.metadata),void 0!==i.ci_cd_info&&(c.ci_cd_info=i.ci_cd_info),void 0!==i.workflow_id&&(c.workflow_id=i.workflow_id),void 0!==i.identifier_prefix&&(c.identifier_prefix=r(i.identifier_prefix)),Object.keys(c).length){let{error:e}=await a.from("projects").update(c).eq("id",s).eq("user_id",t);if(e)throw e}if(i.repos){let{data:e,error:t}=await a.from("project_repos").select("*").eq("project_id",s);if(t&&!n(t,"project_repos"))throw t;let r=e||[],o=new Set(r.map(e=>e.id)),l=new Set(i.repos.map(e=>e.id).filter(e=>!!e));for(let e of r){if(l.has(e.id))continue;let{error:t}=await a.from("project_repos").delete().eq("id",e.id).eq("project_id",s);if(t&&!n(t,"project_repos"))throw t}for(let e of i.repos){let t={name:e.name,path:e.path??null,git_url:e.git_url??null,notes:e.notes??null,project_id:s};if(e.id&&o.has(e.id)){let{error:r}=await a.from("project_repos").update(t).eq("id",e.id).eq("project_id",s);if(r&&!n(r,"project_repos"))throw r;continue}let{error:r}=await a.from("project_repos").insert({...e.id?{id:e.id}:{},...t});if(r&&!n(r,"project_repos"))throw r}}return C(s,t)}async function T(e,t,r){let i=d(r),{error:n}=await i.from("projects").update({archived_at:new Date().toISOString()}).eq("id",e).eq("user_id",t);if(n)throw n}async function P(e,t,r){let i=d(r),n=await C(e,t);if(!n)throw Error("Project not found");let{data:o,error:a}=await i.from("tasks").select("id, project").eq("user_id",t).is("project_id",null);if(a)throw a;let l=String(n.slug||"").trim().toLowerCase(),s=(o||[]).filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t||t===l}).map(e=>e.id);if(!s.length)return{updatedCount:0,taskIds:[]};let{error:c}=await i.from("tasks").update({project:n.slug,project_id:n.id,updated_at:new Date().toISOString()}).eq("user_id",t).is("project_id",null).in("id",s);if(c)throw c;return{updatedCount:s.length,taskIds:s}}async function O(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_agents").select("*").eq("project_id",e).order("routing_order",{ascending:!0});if(o){if(n(o,"project_agents"))return[];throw o}return r||[]}async function I(e,t,r){let n=(0,i.createAdminDbClient)();if(void 0===r){let{data:t}=await n.from("project_agents").select("routing_order").eq("project_id",e).order("routing_order",{ascending:!1}).limit(1);r=(t?.[0]?.routing_order??-1)+1}let{data:o,error:a}=await n.from("project_agents").upsert({project_id:e,agent_id:t,routing_order:r}).select().single();if(a)throw a;return o}async function x(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("project_agents").delete().eq("project_id",e).eq("agent_id",t);if(n)throw n}async function $(e,t){let r=(0,i.createAdminDbClient)();for(let i=0;i<t.length;i++)await r.from("project_agents").update({routing_order:i}).eq("project_id",e).eq("agent_id",t[i]);return O(e)}async function E(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_skills").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(n(o,"project_skills"))return[];throw o}return r||[]}async function N(e,t,r){let n=(0,i.createAdminDbClient)(),{data:o,error:a}=await n.from("project_skills").insert({project_id:e,file:t,condition:r??null}).select().single();if(a)throw a;return o}async function W(e){let t=(0,i.createAdminDbClient)(),{error:r}=await t.from("project_skills").delete().eq("id",e);if(r)throw r}async function R(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_variables").select("*").eq("project_id",e);if(o){if(n(o,"project_variables"))return[];throw o}return r||[]}async function M(e,t,r){let n=(0,i.createAdminDbClient)(),{data:o,error:a}=await n.from("project_variables").upsert({project_id:e,key:t,value:r},{onConflict:"project_id,key"}).select().single();if(a)throw a;return o}async function F(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("project_variables").delete().eq("project_id",e).eq("key",t);if(n)throw n}async function L(e,t){return h.vaultStore.getProjectMemory(e)}async function G(e,t,r,i="human"){return h.vaultStore.addProjectMemory(e,t,r,i)}async function U(e){h.vaultStore.deleteProjectMemory(e)}async function B(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_threads").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(n(o,"project_threads"))return[];throw o}return r||[]}async function J(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("project_threads").upsert({project_id:e,thread_id:t},{onConflict:"project_id,thread_id",ignoreDuplicates:!0});if(n)throw n;let{data:o,error:a}=await r.from("project_threads").select("*").eq("project_id",e).eq("thread_id",t).single();if(a)throw a;return o}async function V(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("project_threads").delete().eq("project_id",e).eq("thread_id",t);if(n)throw n}async function z(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_threads").select("project_id").eq("thread_id",e).maybeSingle();return o?(n(o,"project_threads"),null):r?.project_id??null}async function K(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("workspace_entries").select("*").eq("project_id",e).order("category",{ascending:!0}).order("sort_order",{ascending:!0}).order("name",{ascending:!0});if(o){if(n(o,"workspace_entries"))return{};throw o}return(r||[]).reduce((e,t)=>(e[t.category]||(e[t.category]=[]),e[t.category].push(t),e),{})}async function X(e,t){let r=(0,i.createAdminDbClient)(),n=(0,g.randomUUID)(),o=new Date().toISOString(),{data:a,error:l}=await r.from("workspace_entries").insert({id:n,project_id:e,category:t.category,name:t.name,path:t.path||null,purpose:t.purpose||null,sort_order:0,created_at:o,updated_at:o}).select().single();if(l)throw l;return a}async function H(e,t,r){let n=(0,i.createAdminDbClient)(),o={};void 0!==r.name&&(o.name=r.name),void 0!==r.path&&(o.path=r.path),void 0!==r.purpose&&(o.purpose=r.purpose),void 0!==r.sort_order&&(o.sort_order=r.sort_order);let{data:a,error:l}=await n.from("workspace_entries").update(o).eq("id",t).eq("project_id",e).select().single();if(l){if("PGRST116"===l.code)return null;throw l}return a}async function Q(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("workspace_entries").delete().eq("id",t).eq("project_id",e);if(n)throw n}async function Z(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("workspace_entries").select("category, name, path, purpose").eq("project_id",e).order("category",{ascending:!0}).order("sort_order",{ascending:!0}).order("name",{ascending:!0});if(o){if(n(o,"workspace_entries"))return[];throw o}return(r||[]).map(e=>({location:`${e.category}/${e.name}`,path:e.path||null,purpose:e.purpose||null}))}function Y(e){return String(e||"").replace(/^#\s+.+(\r?\n|$)/,"").trim()}async function ee(e,t){var r;let n=Array.isArray(e.depends_on)?e.depends_on:[];if(!n.length)return;let o=(0,i.createAdminDbClient)(),{data:a,error:l}=await o.from("tasks").select("id, title, slug, status, stage").in("id",n);if(l)return;let s=(Array.isArray(a)?a:[]).filter(e=>"completed"!==(e?.status||""));if(s.length){let r=function(e){if(!e||0===e.length)return"";let t=e.slice(0,3).map(e=>`${e.title?e.title:e.slug?e.slug:e.id?e.id:"(unknown)"}${(e.stage?.toLowerCase()==="intake"?" (awaiting approval)":e.status?` (${e.status})`:null)??""}`),r=`${y}: ${t.join(", ")}`;return e.length>3&&(r+=` +${e.length-3} more`),r}(s),i=o.from("tasks").update({status:"blocked",blocked_reason:r}).eq("id",e.id);t&&(i=i.eq("user_id",t));let{error:n}=await i;if(n&&"42703"!==n.code)throw n;return}if("blocked"===e.status&&"string"==typeof(r=e.blocked_reason)&&r.startsWith(y)){let r=o.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",e.id);t&&(r=r.eq("user_id",t));let{error:i}=await r;if(i&&"42703"!==i.code)throw i}}async function et(e,t){let r=(0,i.createAdminDbClient)().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(e&&(r=r.eq("user_id",e)),t?.project&&(r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t.project)?r.eq("project_id",t.project):r.eq("project",t.project)),t?.orphan&&(r=r.is("project_id",null)),t?.status&&(r=r.eq("status",t.status)),t?.search){let e=t.search;r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)?r.or(`id.eq.${e},slug.ilike.%${e}%,title.ilike.%${e}%`):r.or(`id.ilike.%${e}%,slug.ilike.%${e}%,title.ilike.%${e}%`)}let{data:n,error:o}=await r;if(o)throw o;let a=n||[];return t?.orphan?a.filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t}):a}async function er(e,t){let r=(0,i.createAdminDbClient)().from("tasks").select("*").eq("id",e);t&&(r=r.eq("user_id",t));let{data:n,error:o}=await r.single();if(o){if("PGRST116"===o.code)return null;throw o}return n}async function ei(e,t){let r=(0,i.createAdminDbClient)().from("tasks").select("*").eq("slug",e);t&&(r=r.eq("user_id",t));let{data:n,error:o}=await r.single();if(o){if("PGRST116"===o.code)return null;throw o}return n}async function en(e,t,r){let n=(0,i.createAdminDbClient)(),{frontmatter:o,body:a}=f(e),s="boolean"==typeof o.swarm?o.swarm:void 0,d=r?.title||m(e),c=String(o.slug||d||"task"),w=await l(c,n),_=r?.projectId||("string"==typeof o.project_id?o.project_id:void 0),y="string"==typeof o.workflow_id?o.workflow_id:void 0,h="string"==typeof o.project?o.project:void 0;if(!h&&_){let e=await C(_);e?.slug&&(h=e.slug)}let j="string"==typeof o.provider?o.provider:null,b="string"==typeof o.model?o.model:null,v="string"==typeof o.engine?o.engine:null,q="ai"===o.created_by?"ai":"user",A=u(o.depends_on),D=u(r?.dependsOn),S=D.length>0?D:A,T=null;if(_)try{let{data:e}=await n.from("projects").select("identifier_prefix, next_identifier").eq("id",_).single();if(e&&"string"==typeof e.identifier_prefix&&e.identifier_prefix){let t="number"==typeof e.next_identifier?e.next_identifier:1;T=`${e.identifier_prefix}-${t}`,await n.from("projects").update({next_identifier:t+1}).eq("id",_)}}catch{T=null}let P={id:(0,g.randomUUID)(),content:e,description:Y(a),title:d,slug:w,status:o.status||"queued",stage:o.stage||"intake",project:h||null,...void 0!==_?{project_id:_}:{},...void 0!==y?{workflow_id:y}:{},...null!==T?{identifier:T}:{},priority:o.priority,engine:v,provider:j,model:b,swarm:s,swarm_models:r?.swarmModels??null,depends_on:S.length?S:null,created_by:q,user_id:t,current_plan:r?.currentPlan||null,open_blockers:r?.openBlockers||[],next_action:r?.nextAction||null,version:1};await p(P.id,S,n);let{data:O,error:I}=await n.from("tasks").insert(P).select().single();if(I&&"42703"===I.code){let{swarm_models:e,swarm:t,workflow_id:r,current_plan:i,open_blockers:o,next_action:a,version:l,depends_on:s,identifier:d,...c}=P;({data:O,error:I}=await n.from("tasks").insert(c).select().single())}if(I)throw I;if(!O)throw Error("Failed to create task");await ee(O,t);let x=await er(O.id,t)||O,$=t||x.user_id;if($){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,k.notifyTaskEvent)({taskId:x.id,userId:$,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 eo(e,t,r,n){let o=(0,i.createAdminDbClient)(),{frontmatter:a,body:l}=f(t),s="boolean"==typeof a.swarm?a.swarm:void 0,d=m(t),c="string"==typeof a.project_id?a.project_id:void 0,w=Object.prototype.hasOwnProperty.call(a,"provider"),_=Object.prototype.hasOwnProperty.call(a,"model"),g=Object.prototype.hasOwnProperty.call(a,"workflow_id"),y=Object.prototype.hasOwnProperty.call(a,"depends_on"),h=u(a.depends_on),j=u(n?.dependsOn),b=n?.dependsOn!==void 0||y,v=n?.dependsOn!==void 0?j:h,q={content:t,description:Y(l),title:d,status:a.status,stage:a.stage,project:a.project,...void 0!==c?{project_id:c}:{},workflow_id:g?a.workflow_id:void 0,priority:a.priority,engine:a.engine,provider:w?a.provider:null,model:_?a.model:null,swarm:s,swarm_models:n?.swarmModels??void 0,...b?{depends_on:v.length?v: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(q).forEach(e=>{void 0===q[e]&&delete q[e]}),b&&await p(e,v,o),n?.expectedVersion!==void 0&&n.expectedVersion;let{data:A,error:C}=await o.from("tasks").update({...q}).eq("id",e).select().maybeSingle();if(C&&console.error(`[db.updateTask] error updating task ${e}:`,C),A||C||console.warn(`[db.updateTask] UPDATE returned 0 rows for task ${e}, payload keys:`,Object.keys(q)),C&&"42703"===C.code){let{swarm_models:t,swarm:i,workflow_id:n,current_plan:a,open_blockers:l,next_action:s,version:d,depends_on:c,...u}=q,f=o.from("tasks").update(u).eq("id",e);r&&(f=f.eq("user_id",r)),{data:A,error:C}=await f.select().maybeSingle()}if(C)throw C;if(!A){let t=await er(e,r);if(!t)throw Error(`Task ${e} not found`);return t}await ee(A,r);let D=await er(A.id,r)||A,S=r||D.user_id;if(S){let e=D.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(D.depends_on)?D.depends_on:[],project:D.project||null,projectId:D.project_id||null,workflowId:D.workflow_id||null,createdBy:D.created_by||null};(0,k.notifyTaskEvent)({taskId:D.id,userId:S,eventType:"task.created",title:D.title||null,slug:D.slug||null,stage:D.stage||null,status:D.status||null,timestamp:e,details:t})}return D}async function ea(e,t,r=25){let n=(0,i.createAdminDbClient)(),{data:o,error:a}=await n.from("tasks").select("run_index").eq("id",e).single();if(a){if(a?.code==="42703")return;throw a}let l=[t,...Array.isArray(o.run_index)?o.run_index:[]].slice(0,r),{error:s}=await n.from("tasks").update({run_index:l}).eq("id",e);if(s){if(s?.code==="42703")return;throw s}}async function el(e,t){let r=(0,i.createAdminDbClient)().from("tasks").delete().eq("id",e);t&&(r=r.eq("user_id",t));let{error:n}=await r;if(n)throw n}async function es(e){let t=(0,i.createAdminDbClient)().from("tasks").select("*").eq("status","queued").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!0}).limit(1);e&&(t=t.eq("engine",e));let{data:r,error:n}=await t.single();if(n){if("PGRST116"===n.code)return null;throw n}return r}e.s(["addProjectAgent",()=>I,"addProjectMemory",()=>G,"addProjectSkill",()=>N,"addProjectThread",()=>J,"assignOrphanTasksToProject",()=>P,"createProject",()=>D,"createWorkspaceEntry",()=>X,"deleteProject",()=>T,"deleteProjectMemory",()=>U,"deleteProjectVariable",()=>F,"deleteWorkspaceEntry",()=>Q,"getProjectAgents",()=>O,"getProjectBySlug",()=>q,"getProjectForThread",()=>z,"getProjectMemory",()=>L,"getProjectRepos",()=>A,"getProjectSkills",()=>E,"getProjectThreads",()=>B,"getProjectVariables",()=>R,"getProjectWithRepos",()=>C,"getProjectWorkspace",()=>K,"getProjects",()=>v,"getWorkspaceMapForContext",()=>Z,"removeProjectAgent",()=>x,"removeProjectSkill",()=>W,"removeProjectThread",()=>V,"reorderProjectAgents",()=>$,"setProjectVariable",()=>M,"updateProject",()=>S,"updateWorkspaceEntry",()=>H],863014),e.s(["appendRunToIndex",()=>ea,"createTask",()=>en,"deleteTask",()=>el,"getNextQueuedTask",()=>es,"getTask",()=>er,"getTaskBySlug",()=>ei,"getTasks",()=>et,"updateTask",()=>eo],952472);let ed="00000000-0000-0000-0000-000000000001",ec=[{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"}],eu=new Map(ec.map(e=>[e.id,e]));async function ef(e){let t=(0,i.createAdminDbClient)(),{error:r}=await t.from("workflows").upsert({id:ed,user_id:e||"00000000-0000-0000-0000-000000000000",name:"Default Workflow",definition:{}},{onConflict:"id"});if(r)throw r;let{error:n}=await t.from("workflow_nodes").upsert(ec.map(e=>({...e,workflow_id:ed,metadata:{}})),{onConflict:"id"});if(n)throw n;let{error:o}=await t.from("workflow_transitions").upsert([{workflow_id:ed,from_node_id:"00000000-0000-0000-0001-000000000001",to_node_id:"00000000-0000-0000-0001-000000000002",condition:"done",priority:0,metadata:{}},{workflow_id:ed,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(o)throw o}async function ep(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("workflows").select("*").or(`user_id.eq.${e},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(o){if(n(o,"workflows"))return[];throw o}return r||[]}async function em(e,t){let r=(0,i.createAdminDbClient)().from("workflows").select("*").eq("id",e),{data:o,error:a}=await r.maybeSingle();if(a){if(n(a,"workflows"))return null;throw a}return o}async function ew(e,t,r){let n=(0,i.createAdminDbClient)(),o={updated_at:new Date().toISOString()};void 0!==r.definition&&(o.definition=r.definition),void 0!==r.name&&(o.name=r.name),void 0!==r.description&&(o.description=r.description);let{data:a,error:l}=await n.from("workflows").update(o).eq("id",e).select().single();if(l)throw l;return a}async function e_(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("workflow_nodes").select("*").eq("workflow_id",e).order("position",{ascending:!0});if(o){if(n(o,"workflow_nodes"))return[];throw o}return r||[]}async function eg(e,t,r){let n=(0,i.createAdminDbClient)();if(e===ed&&await ef(t),!await em(e,t))throw Error("Workflow not found");if(e===ed){let t=r.map(t=>{let r=eu.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 n.from("workflow_nodes").upsert(t,{onConflict:"id"});if(e)throw e}return e_(e)}return await Promise.all(r.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 n.from("workflow_nodes").update(r).eq("workflow_id",e).eq("id",t.id);if(i)throw i})),e_(e)}async function ey(e,t){let r=(0,i.createAdminDbClient)(),{data:o,error:a}=await r.from("workflow_nodes").select("*").eq("workflow_id",e).eq("name",t).maybeSingle();if(a){if(n(a,"workflow_nodes"))return null;throw a}return o}async function ek(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("workflow_transitions").select("*").eq("workflow_id",e).order("priority",{ascending:!0});if(o){if(n(o,"workflow_transitions"))return[];throw o}return r||[]}async function eh(e,t){let r=(0,i.createAdminDbClient)(),{data:o,error:a}=await r.from("workflow_transitions").select("*").eq("workflow_id",e).eq("from_node_id",t).order("priority",{ascending:!0});if(a){if(n(a,"workflow_transitions"))return[];throw a}return o||[]}async function ej(e,t){let r=await em(e,t);if(!r)return null;let[i,n]=await Promise.all([e_(e),ek(e)]);return{...r,nodes:i,transitions:n}}function eb(){return ed}async function ev(e,t){let r=(0,i.createAdminDbClient)().from("stage_prompts").select("*").eq("workflow_id",t).order("stage",{ascending:!0});r=e?r.or(`user_id.eq.${e},is_default.eq.true`):r.eq("is_default",!0);let{data:n,error:o}=await r;if(o)throw o;return n||[]}async function eq(e,t,r){let n=(0,i.createAdminDbClient)();if(t){let{data:i}=await n.from("stage_prompts").select("*").eq("workflow_id",r).eq("stage",e).eq("user_id",t).single();if(i)return i}let{data:o}=await n.from("stage_prompts").select("*").eq("workflow_id",r).eq("stage",e).eq("is_default",!0).single();return o||null}async function eA(e,t,r=[],n,o,a){let l=(0,i.createAdminDbClient)(),s={stage:e,prompt:t,outputs:r,user_id:n,is_default:!n,workflow_id:a};o&&(void 0!==o.swarm&&(s.swarm=o.swarm),void 0!==o.provider&&(s.provider=o.provider),void 0!==o.model&&(s.model=o.model),void 0!==o.swarm_models&&(s.swarm_models=o.swarm_models));let{data:d,error:c}=await l.from("stage_prompts").upsert(s,{onConflict:n?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(c)throw c;return d}async function eC(e,t){let r=(0,i.createAdminDbClient)().from("stage_prompts").delete().eq("id",e);t&&(r=r.eq("user_id",t));let{error:n}=await r;if(n)throw n}async function eD(e,t={}){let r=(0,i.createAdminDbClient)(),n=Math.max(1,Math.min(2e3,Number(t.limit??t.tail??500))),o="string"==typeof t.after&&t.after.trim()?t.after.trim():null,a=o?null:void 0===t.tail?n:Number(t.tail),l=null!==a&&Number.isFinite(a)&&a>0,s=r.from("task_logs").select("*").eq("task_id",e);t.nodeId&&(s=s.eq("node_id",t.nodeId)),s=o?s.gt("created_at",o).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(n):l?s.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(n):s.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(n);let{data:d,error:c}=await s;if(c)throw c;let u=d||[];return o?u:l?u.slice().reverse():u}async function eS(e,t,r,n){let o=(0,i.createAdminDbClient)(),{data:a,error:l}=await o.from("task_logs").insert({task_id:e,content:t,log_type:r,...n?{node_id:n}:{}}).select().single();if(l)throw l;return a}function eT(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,Math.round(t)):0}function eP(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,t):0}async function eO(e){let t=(0,i.createAdminDbClient)(),r={task_id:e.taskId,stage:e.stage,provider:e.provider??null,model:e.model??null,input_tokens:eT(e.inputTokens),output_tokens:eT(e.outputTokens),estimated_cost:eP(e.estimatedCost)},{data:n,error:o}=await t.from("task_costs").insert(r).select().single();if(o)throw o;return n}async function eI(e){let t=(0,i.createAdminDbClient)(),{data:r,error:n}=await t.from("task_costs").select("*").eq("task_id",e).order("created_at",{ascending:!0});if(n)throw n;return r||[]}function ex(e){let t={},r=0,i=0,n=0;for(let o of e){let e=o.stage||"unknown",a=eT(o.input_tokens),l=eT(o.output_tokens),s=eP(o.estimated_cost??0);r+=a,i+=l,n+=s;let d=t[e]||{stage:e,input_tokens:0,output_tokens:0,estimated_cost:0,entries:0};d.input_tokens+=a,d.output_tokens+=l,d.estimated_cost+=s,d.entries+=1,t[e]=d}return{total_input_tokens:r,total_output_tokens:i,total_cost:n,per_stage:Object.values(t).sort((e,t)=>e.stage.localeCompare(t.stage))}}async function e$(e){return ex(await eI(e))}async function eE(e){let t=(0,i.createAdminDbClient)(),{data:r,error:n}=await t.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(n)throw n;return r||[]}async function eN(e,t,r,n){let o=(0,i.createAdminDbClient)(),{data:a,error:l}=await o.from("task_comments").insert({task_id:e,content:t,author_type:r,author_id:n??null}).select().single();if(l)throw l;return a}async function eW(e,t){let r=(0,i.createAdminDbClient)(),{data:n,error:o}=await r.from("task_comments").select("author_id, author_type").eq("id",e).single();if(o)throw o;if(!n)throw Error("Comment not found");if("user"!==n.author_type||n.author_id!==t)throw Error("Unauthorized");let{error:a}=await r.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",e).is("deleted_at",null);if(a)throw a}async function eR(e,t,r){if("task"!==e)return h.vaultStore.getLearnings(e,t);let n=(0,i.createAdminDbClient)().from("learnings").select("*").eq("scope",e).order("created_at",{ascending:!1});t&&(n=n.eq("scope_id",t)),r&&(n=n.eq("user_id",r));let{data:o,error:a}=await n;if(a)throw a;return o||[]}async function eM(e,t,r,n){if("task"!==e)return h.vaultStore.addLearning(e,t,r);let o=(0,i.createAdminDbClient)(),{data:a,error:l}=await o.from("learnings").insert({scope:e,scope_id:r,content:t,user_id:n}).select().single();if(l)throw l;return a}async function eF(e,t){if("global-playbook"===e)return void h.vaultStore.deleteLearning(e,"global");let r=await C(e,t);if(r)return void h.vaultStore.deleteLearning(e,"project",r.id);let n=(0,i.createAdminDbClient)().from("learnings").delete().eq("id",e);t&&(n=n.eq("user_id",t));let{error:o}=await n;if(o)throw o}async function eL(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("agents").select("*").eq("user_id",e).order("created_at",{ascending:!1});if(o){if(n(o,"agents"))return[];throw o}return r||[]}async function eG(e,t){let r=(0,i.createAdminDbClient)(),{data:o,error:a}=await r.from("agents").select("*").eq("id",e).eq("user_id",t).maybeSingle();if(a){if("PGRST116"===a.code||n(a,"agents"))return null;throw a}return o}async function eU(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("agent_skills").select("*").eq("agent_id",e).order("created_at",{ascending:!0});if(o){if(n(o,"agent_skills"))return[];throw o}return r||[]}async function eB(e,t){let r=(0,i.createAdminDbClient)(),o=new Map;for(let r of t){let t=r.file.trim();t&&o.set(t,{agent_id:e,file:t,condition:r.condition?.trim()||null})}let a=await eU(e);for(let t of a)if(!o.has(t.file)){let{error:i}=await r.from("agent_skills").delete().eq("agent_id",e).eq("file",t.file);if(i&&!n(i,"agent_skills"))throw i}for(let t of o.values()){let i=a.find(e=>e.file===t.file);if(!i){let{error:e}=await r.from("agent_skills").insert(t);if(e&&!n(e,"agent_skills"))throw e;continue}if((i.condition??null)!==t.condition){let{error:i}=await r.from("agent_skills").update({condition:t.condition}).eq("agent_id",e).eq("file",t.file);if(i&&!n(i,"agent_skills"))throw i}}return eU(e)}async function eJ(e,t){let r=(0,i.createAdminDbClient)(),o={user_id:e,name:t.name,style:t.style,description:t.description??null};void 0!==t.id&&(o.id=t.id),void 0!==t.role&&(o.role=t.role),void 0!==t.voice&&(o.voice=t.voice),void 0!==t.seed&&(o.seed=t.seed),void 0!==t.model&&(o.model=t.model),void 0!==t.provider&&(o.provider=t.provider),void 0!==t.color&&(o.color=t.color);let{data:a,error:l}=await r.from("agents").insert(o).select().single();if(l){if(n(l,"agents"))throw Error("Agents table does not exist");throw l}return a}async function eV(e,t,r){let o=(0,i.createAdminDbClient)(),a={updated_at:new Date().toISOString()};if(void 0!==r.name&&(a.name=r.name),void 0!==r.role&&(a.role=r.role),void 0!==r.style&&(a.style=r.style),void 0!==r.description&&(a.description=r.description),void 0!==r.voice&&(a.voice=r.voice),void 0!==r.seed&&(a.seed=r.seed),void 0!==r.model&&(a.model=r.model),void 0!==r.provider&&(a.provider=r.provider),void 0!==r.color&&(a.color=r.color),1===Object.keys(a).length)return eG(e,t);let{data:l,error:s}=await o.from("agents").update(a).eq("id",e).eq("user_id",t).select().single();if(s){if("PGRST116"===s.code||n(s,"agents"))return null;throw s}return l}async function ez(e,t){let r=(0,i.createAdminDbClient)(),{error:o}=await r.from("agents").delete().eq("id",e).eq("user_id",t);if(o&&!n(o,"agents"))throw o}async function eK(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("teams").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(n(o,"teams"))return[];throw o}return(r||[]).map(e=>({...e,metadata:"string"==typeof e.metadata?JSON.parse(e.metadata):e.metadata||{}}))}async function eX(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("teams").select("*").eq("id",e).limit(1).single();if(o){if("PGRST116"===o.code||n(o,"teams"))return null;throw o}return r?{...r,metadata:"string"==typeof r.metadata?JSON.parse(r.metadata):r.metadata||{}}:null}async function eH(e,t,r,n){let o=(0,i.createAdminDbClient)(),a=(0,g.randomUUID)(),l=new Date().toISOString(),{data:s,error:d}=await o.from("teams").insert({id:a,project_id:e,name:t,template_id:r||null,metadata:JSON.stringify(n||{}),created_at:l,updated_at:l}).select().single();if(d)throw d;return{...s,metadata:"string"==typeof s.metadata?JSON.parse(s.metadata):s.metadata||{}}}async function eQ(e,t){let r=(0,i.createAdminDbClient)(),n={};void 0!==t.name&&(n.name=t.name),void 0!==t.metadata&&(n.metadata=JSON.stringify(t.metadata));let{data:o,error:a}=await r.from("teams").update(n).eq("id",e).select().single();if(a){if("PGRST116"===a.code)return null;throw a}return{...o,metadata:"string"==typeof o.metadata?JSON.parse(o.metadata):o.metadata||{}}}async function eZ(e){let t=(0,i.createAdminDbClient)(),{error:r}=await t.from("teams").delete().eq("id",e);if(r)throw r}async function eY(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("team_agents").select("*").eq("team_id",e).order("routing_order",{ascending:!0});if(o){if(n(o,"team_agents"))return[];throw o}return r||[]}async function e0(e,t,r,n){let o=(0,i.createAdminDbClient)();if(void 0===n){let{data:t}=await o.from("team_agents").select("routing_order").eq("team_id",e).order("routing_order",{ascending:!1}).limit(1);n=(t?.[0]?.routing_order??-1)+1}let{data:a,error:l}=await o.from("team_agents").upsert({team_id:e,agent_id:t,role_key:r,routing_order:n}).select().single();if(l)throw l;return a}async function e1(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("team_agents").delete().eq("team_id",e).eq("agent_id",t);if(n)throw n}function e4(e,t){let r=[],i=new Set;for(let t of e){let e=t.file.split("/").pop()||t.file;i.add(e),r.push({file:t.file,condition:t.condition,source:"agent"})}for(let e of t){let t=e.file.split("/").pop()||e.file;i.has(t)||r.push({file:e.file,condition:e.condition??void 0,source:"project"})}return r}function e2(e,t){let r=[];for(let e of t)r.push({content:e.content,source:"project",id:e.id});for(let t of e)r.push({content:t.content,source:"agent",id:t.id});return r}async function e8(e){return(await R(e)).map(e=>({key:e.key,value:e.value,source:"project"}))}async function e3(e,t,r,i){let n=await E(t),o=await L(t),a=await e8(t);return{skills:e4(r,n),memory:e2(i,o),variables:a}}e.s(["DEFAULT_WORKFLOW_ID",0,"00000000-0000-0000-0000-000000000001","defaultStagePrompts",0,{INTAKE:{prompt:"New task. Triage, scope, and prepare for work.",outputs:[],swarm:!1},PROGRESS:{prompt:"Task is actively being worked on.",outputs:[],swarm:!1},DONE:{prompt:"Task completed.",outputs:[],swarm:!1}},"deleteStagePrompt",()=>eC,"getDefaultWorkflowId",()=>eb,"getStagePrompt",()=>eq,"getStagePrompts",()=>ev,"getWorkflow",()=>em,"getWorkflowNodeByName",()=>ey,"getWorkflowNodes",()=>e_,"getWorkflowTransitions",()=>ek,"getWorkflowTransitionsFromNode",()=>eh,"getWorkflowWithGraph",()=>ej,"getWorkflows",()=>ep,"updateWorkflow",()=>ew,"updateWorkflowNodes",()=>eg,"upsertStagePrompt",()=>eA],38193),e.s(["addTaskLog",()=>eS,"getTaskLogs",()=>eD],456094),e.s(["addTaskCostEntry",()=>eO,"getTaskCostEntries",()=>eI,"getTaskCostSummary",()=>e$,"summarizeTaskCosts",()=>ex],387695),e.s(["addTaskComment",()=>eN,"deleteTaskComment",()=>eW,"getTaskComments",()=>eE],803887),e.s(["addLearning",()=>eM,"deleteLearning",()=>eF,"getLearnings",()=>eR],181938),e.s(["createAgent",()=>eJ,"deleteAgent",()=>ez,"getAgent",()=>eG,"getAgentSkills",()=>eU,"getAgents",()=>eL,"setAgentSkills",()=>eB,"updateAgent",()=>eV],453298),e.s(["addTeamAgent",()=>e0,"createTeam",()=>eH,"deleteTeam",()=>eZ,"getTeam",()=>eX,"getTeamAgents",()=>eY,"getTeams",()=>eK,"removeTeamAgent",()=>e1,"updateTeam",()=>eQ],521116),e.s(["buildExecutionProvenance",()=>e3,"resolveMemory",()=>e2,"resolveSkills",()=>e4,"resolveVariables",()=>e8],700006),e.s([],324654),e.s([],426491)}];
|
|
1
|
+
module.exports=[426491,689518,515140,448643,863014,952472,38193,456094,387695,803887,181938,453298,521116,700006,324654,e=>{"use strict";let t=/^[A-Z]{2,10}$/;function r(e){if(null==e||""===e)return null;if("string"!=typeof e)throw Error("identifier_prefix must be a string");let r=e.trim().toUpperCase();if(!t.test(r))throw Error("identifier_prefix must be 2-10 uppercase ASCII letters (e.g. 'TSK', 'AGX')");return r}e.s(["IDENTIFIER_PREFIX_REGEX",0,t,"validateIdentifierPrefix",()=>r],689518);var i=e.i(173426);function n(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}'`)}function o(t,r,i){let n=e=>"string"!=typeof e?null:e.trim()||null,o=null;try{let t=e.r(522734),r=e.r(814747).join(process.env.HOME||"",".agx","config.json"),i=JSON.parse(t.readFileSync(r,"utf-8"));o=n(i?.defaultProvider)||null}catch{}let a=n(i?.default_provider)||o||"claude",l=n(t.provider)||n(r?.provider)||a,s=n(i?.models?.[l])||null,d=n(t.model)||n(r?.model)||s||null;return{provider:l,model:d,swarm:t.swarm??r?.swarm??!1,swarm_models:t.swarm_models?.length?t.swarm_models:r?.swarm_models||[]}}function a(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function l(e,t){let r=a(e);for(let i=0;i<5;i++){let{data:i,error:n}=await t.from("tasks").select("id").eq("slug",r).limit(1);if(n)throw n;if(!i||0===i.length)return r;let o=Math.random().toString(36).slice(2,6);r=`${a(e)}-${o}`.slice(0,48)}return`${a(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function s(e,t,r,i){let n=a(e);for(let o=0;o<5;o++){let o=r.from("projects").select("id").eq("slug",n).eq("user_id",t);i&&(o=o.neq("id",i));let{data:l,error:s}=await o.limit(1);if(s)throw s;if(!l||0===l.length)return n;let d=Math.random().toString(36).slice(2,6);n=`${a(e)}-${d}`.slice(0,48)}return`${a(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function d(e){return e??(0,i.createAdminDbClient)()}function c(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 u(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=c(e)}return Array.from(new Set(t.map(e=>e.trim()).filter(Boolean)))}function f(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(),n=e.slice(t+1).trim();if("depends_on"===i){r[i]=c(n);continue}"true"===n?r[i]=!0:"false"===n?r[i]=!1:/^\d+$/.test(n)?r[i]=parseInt(n,10):r[i]=n}}return{frontmatter:r,body:t[2]}}async function p(e,t,r){if(!e||!t?.length)return;let i=d(r),n=new Set,o=[...t];for(;o.length;){let t=o.pop();if(!t)continue;if(t===e)throw Error("Circular dependency detected");if(n.has(t))continue;n.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&&!n.has(e)&&o.push(e)}}function m(e){let{body:t}=f(e),r=t.match(/^#\s+(.+)$/m);return r?r[1]:void 0}async function w(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("user_settings").select("*").eq("user_id",e).maybeSingle();if(o){if(n(o,"user_settings"))return null;throw o}return r||null}async function _(e,t,r){let n=r?.onlyIfNewer!==!1,o=function(e){if("string"==typeof e){let t=Date.parse(e);if(Number.isFinite(t))return new Date(t).toISOString()}return new Date().toISOString()}(t.changed_at),a=await w(e);if(n&&a?.changed_at){let e=Date.parse(a.changed_at),t=Date.parse(o);if(Number.isFinite(e)&&Number.isFinite(t)&&t<=e)return{settings:a,updated:!1}}let l={user_id:e,default_provider:t.default_provider??a?.default_provider??null,models:t.models??a?.models??{},provenance:t.provenance,changed_at:o},s=(0,i.createAdminDbClient)(),{error:d}=await s.from("user_settings").upsert(l,{onConflict:"user_id"});if(d)throw d;let c=await w(e);if(!c)throw Error("Failed to load user_settings after upsert");return{settings:c,updated:!0}}e.s(["ensureNoCircularDependency",()=>p,"extractTitle",()=>m,"generateUniqueProjectSlug",()=>s,"generateUniqueSlug",()=>l,"getDbClient",()=>d,"isMissingRelationError",()=>n,"normalizeDependsOnInput",()=>u,"parseDependsOnValue",()=>c,"parseFrontmatter",()=>f,"resolveTaskConfig",()=>o,"slugify",()=>a],515140),e.s(["getUserSettings",()=>w,"upsertUserSettings",()=>_],448643);var g=e.i(254799);let y="Waiting on dependencies";var k=e.i(108088),h=e.i(488877);let j=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function b(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:a}=await r.from("project_repos").insert(i).select("*");if(a){if(n(a,"project_repos"))return[];throw a}return o||[]}async function v(e,t=!1){let r=(0,i.createAdminDbClient)().from("projects").select("*, project_repos(*)");e&&(r=r.eq("user_id",e)),t||(r=r.is("archived_at",null));let{data:o,error:a}=await r;if(a){if(n(a,"projects"))return[];throw a}return(o||[]).map(e=>({...e,repos:e.project_repos??[]}))}async function q(e,t){let r=(0,i.createAdminDbClient)().from("projects").select("*").eq("slug",e);t&&(r=r.eq("user_id",t));let{data:o,error:a}=await r.maybeSingle();if(a){if(n(a,"projects"))return null;throw a}return o||null}async function A(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_repos").select("*").eq("project_id",e);if(o){if(n(o,"project_repos"))return[];throw o}return r||[]}async function D(e,t){let r=(0,i.createAdminDbClient)(),o=j.test(e),a=r.from("projects").select("*");a=o?a.eq("id",e):a.eq("slug",e),t&&(a=a.eq("user_id",t));let l=await a.maybeSingle();if(l.error){if(n(l.error,"projects"))return null;throw l.error}let s=l.data;if(!s)return null;let d=await A(s.id);return{...s,repos:d}}async function C(e,t,i){if(!t.name?.trim())throw Error("Project name is required");let n=d(i),o=t.name.trim()||"project",a=await s(o,e,n),l=r(t.identifier_prefix),c={user_id:e,name:t.name.trim(),slug:a,description:t.description??null,workflow_id:t.workflow_id??null};null!==l&&(c.identifier_prefix=l);let{data:u,error:f}=await n.from("projects").insert(c).select("*").single();if(f&&"42703"===f.code){let{identifier_prefix:e,...t}=c;({data:u,error:f}=await n.from("projects").insert(t).select("*").single())}if(f)throw f;let p=await b(u.id,t.repos??[],n);return{...u,repos:p}}async function S(e,t,i,o){let a=d(o),l=j.test(e),s=e;if(!l){let r=await q(e,t);if(!r)return null;s=r.id}let c={};if(void 0!==i.name){let e=i.name?.trim();if(!e)throw Error("Project name cannot be empty");c.name=e}if(void 0!==i.slug){let e=i.slug?.trim();e&&(c.slug=e)}if(void 0!==i.description&&(c.description=i.description),void 0!==i.metadata&&(c.metadata=i.metadata),void 0!==i.ci_cd_info&&(c.ci_cd_info=i.ci_cd_info),void 0!==i.workflow_id&&(c.workflow_id=i.workflow_id),void 0!==i.identifier_prefix&&(c.identifier_prefix=r(i.identifier_prefix)),Object.keys(c).length){let{error:e}=await a.from("projects").update(c).eq("id",s).eq("user_id",t);if(e)throw e}if(i.repos){let{data:e,error:t}=await a.from("project_repos").select("*").eq("project_id",s);if(t&&!n(t,"project_repos"))throw t;let r=e||[],o=new Set(r.map(e=>e.id)),l=new Set(i.repos.map(e=>e.id).filter(e=>!!e));for(let e of r){if(l.has(e.id))continue;let{error:t}=await a.from("project_repos").delete().eq("id",e.id).eq("project_id",s);if(t&&!n(t,"project_repos"))throw t}for(let e of i.repos){let t={name:e.name,path:e.path??null,git_url:e.git_url??null,notes:e.notes??null,project_id:s};if(e.id&&o.has(e.id)){let{error:r}=await a.from("project_repos").update(t).eq("id",e.id).eq("project_id",s);if(r&&!n(r,"project_repos"))throw r;continue}let{error:r}=await a.from("project_repos").insert({...e.id?{id:e.id}:{},...t});if(r&&!n(r,"project_repos"))throw r}}return D(s,t)}async function P(e,t,r){let i=d(r),{error:n}=await i.from("projects").update({archived_at:new Date().toISOString()}).eq("id",e).eq("user_id",t);if(n)throw n}async function T(e,t,r){let i=d(r),n=await D(e,t);if(!n)throw Error("Project not found");let{data:o,error:a}=await i.from("tasks").select("id, project").eq("user_id",t).is("project_id",null);if(a)throw a;let l=String(n.slug||"").trim().toLowerCase(),s=(o||[]).filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t||t===l}).map(e=>e.id);if(!s.length)return{updatedCount:0,taskIds:[]};let{error:c}=await i.from("tasks").update({project:n.slug,project_id:n.id,updated_at:new Date().toISOString()}).eq("user_id",t).is("project_id",null).in("id",s);if(c)throw c;return{updatedCount:s.length,taskIds:s}}async function O(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_agents").select("*").eq("project_id",e).order("routing_order",{ascending:!0});if(o){if(n(o,"project_agents"))return[];throw o}return r||[]}async function I(e,t,r){let n=(0,i.createAdminDbClient)();if(void 0===r){let{data:t}=await n.from("project_agents").select("routing_order").eq("project_id",e).order("routing_order",{ascending:!1}).limit(1);r=(t?.[0]?.routing_order??-1)+1}let{data:o,error:a}=await n.from("project_agents").upsert({project_id:e,agent_id:t,routing_order:r}).select().single();if(a)throw a;return o}async function x(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("project_agents").delete().eq("project_id",e).eq("agent_id",t);if(n)throw n}async function $(e,t){let r=(0,i.createAdminDbClient)();for(let i=0;i<t.length;i++)await r.from("project_agents").update({routing_order:i}).eq("project_id",e).eq("agent_id",t[i]);return O(e)}async function E(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_skills").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(n(o,"project_skills"))return[];throw o}return r||[]}async function N(e,t,r){let n=(0,i.createAdminDbClient)(),{data:o,error:a}=await n.from("project_skills").insert({project_id:e,file:t,condition:r??null}).select().single();if(a)throw a;return o}async function W(e){let t=(0,i.createAdminDbClient)(),{error:r}=await t.from("project_skills").delete().eq("id",e);if(r)throw r}async function R(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_variables").select("*").eq("project_id",e);if(o){if(n(o,"project_variables"))return[];throw o}return r||[]}async function M(e,t,r){let n=(0,i.createAdminDbClient)(),{data:o,error:a}=await n.from("project_variables").upsert({project_id:e,key:t,value:r},{onConflict:"project_id,key"}).select().single();if(a)throw a;return o}async function F(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("project_variables").delete().eq("project_id",e).eq("key",t);if(n)throw n}async function L(e,t){return h.vaultStore.getProjectMemory(e)}async function G(e,t,r,i="human"){return h.vaultStore.addProjectMemory(e,t,r,i)}async function U(e){h.vaultStore.deleteProjectMemory(e)}async function B(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_threads").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(n(o,"project_threads"))return[];throw o}return r||[]}async function J(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("project_threads").upsert({project_id:e,thread_id:t},{onConflict:"project_id,thread_id",ignoreDuplicates:!0});if(n)throw n;let{data:o,error:a}=await r.from("project_threads").select("*").eq("project_id",e).eq("thread_id",t).single();if(a)throw a;return o}async function V(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("project_threads").delete().eq("project_id",e).eq("thread_id",t);if(n)throw n}async function z(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("project_threads").select("project_id").eq("thread_id",e).maybeSingle();return o?(n(o,"project_threads"),null):r?.project_id??null}async function K(e){return(await X(e)).reduce((e,t)=>(e[t.category]||(e[t.category]=[]),e[t.category].push(t),e),{})}async function X(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("workspace_entries").select("*").eq("project_id",e).order("category",{ascending:!0}).order("sort_order",{ascending:!0}).order("name",{ascending:!0});if(o){if(n(o,"workspace_entries"))return[];throw o}return r||[]}async function H(e,t){let r=(0,i.createAdminDbClient)(),n=(0,g.randomUUID)(),o=new Date().toISOString(),{data:a,error:l}=await r.from("workspace_entries").insert({id:n,project_id:e,category:t.category,name:t.name,path:t.path||null,purpose:t.purpose||null,sort_order:t.sort_order??0,created_at:o,updated_at:o}).select().single();if(l)throw l;return a}async function Q(e,t,r){let n=(0,i.createAdminDbClient)(),o={};void 0!==r.name&&(o.name=r.name),void 0!==r.path&&(o.path=r.path),void 0!==r.purpose&&(o.purpose=r.purpose),void 0!==r.sort_order&&(o.sort_order=r.sort_order),o.updated_at=new Date().toISOString();let{data:a,error:l}=await n.from("workspace_entries").update(o).eq("id",t).eq("project_id",e).select().single();if(l){if("PGRST116"===l.code)return null;throw l}return a}async function Z(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("workspace_entries").delete().eq("id",t).eq("project_id",e);if(n)throw n}async function Y(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("workspace_entries").select("category, name, path, purpose").eq("project_id",e).order("category",{ascending:!0}).order("sort_order",{ascending:!0}).order("name",{ascending:!0});if(o){if(n(o,"workspace_entries"))return[];throw o}return(r||[]).map(e=>({location:`${e.category}/${e.name}`,path:e.path||null,purpose:e.purpose||null}))}function ee(e){return String(e||"").replace(/^#\s+.+(\r?\n|$)/,"").trim()}async function et(e,t){var r;let n=Array.isArray(e.depends_on)?e.depends_on:[];if(!n.length)return;let o=(0,i.createAdminDbClient)(),{data:a,error:l}=await o.from("tasks").select("id, title, slug, status, stage").in("id",n);if(l)return;let s=(Array.isArray(a)?a:[]).filter(e=>"completed"!==(e?.status||""));if(s.length){let r=function(e){if(!e||0===e.length)return"";let t=e.slice(0,3).map(e=>`${e.title?e.title:e.slug?e.slug:e.id?e.id:"(unknown)"}${(e.stage?.toLowerCase()==="intake"?" (awaiting approval)":e.status?` (${e.status})`:null)??""}`),r=`${y}: ${t.join(", ")}`;return e.length>3&&(r+=` +${e.length-3} more`),r}(s),i=o.from("tasks").update({status:"blocked",blocked_reason:r}).eq("id",e.id);t&&(i=i.eq("user_id",t));let{error:n}=await i;if(n&&"42703"!==n.code)throw n;return}if("blocked"===e.status&&"string"==typeof(r=e.blocked_reason)&&r.startsWith(y)){let r=o.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",e.id);t&&(r=r.eq("user_id",t));let{error:i}=await r;if(i&&"42703"!==i.code)throw i}}async function er(e,t){let r=(0,i.createAdminDbClient)().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(e&&(r=r.eq("user_id",e)),t?.project&&(r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t.project)?r.eq("project_id",t.project):r.eq("project",t.project)),t?.orphan&&(r=r.is("project_id",null)),t?.status&&(r=r.eq("status",t.status)),t?.search){let e=t.search;r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)?r.or(`id.eq.${e},slug.ilike.%${e}%,title.ilike.%${e}%`):r.or(`id.ilike.%${e}%,slug.ilike.%${e}%,title.ilike.%${e}%`)}let{data:n,error:o}=await r;if(o)throw o;let a=n||[];return t?.orphan?a.filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t}):a}async function ei(e,t){let r=(0,i.createAdminDbClient)().from("tasks").select("*").eq("id",e);t&&(r=r.eq("user_id",t));let{data:n,error:o}=await r.single();if(o){if("PGRST116"===o.code)return null;throw o}return n}async function en(e,t){let r=(0,i.createAdminDbClient)().from("tasks").select("*").eq("slug",e);t&&(r=r.eq("user_id",t));let{data:n,error:o}=await r.single();if(o){if("PGRST116"===o.code)return null;throw o}return n}async function eo(e,t,r){let n=(0,i.createAdminDbClient)(),{frontmatter:o,body:a}=f(e),s="boolean"==typeof o.swarm?o.swarm:void 0,d=r?.title||m(e),c=String(o.slug||d||"task"),w=await l(c,n),_=r?.projectId||("string"==typeof o.project_id?o.project_id:void 0),y="string"==typeof o.workflow_id?o.workflow_id:void 0,h="string"==typeof o.project?o.project:void 0;if(!h&&_){let e=await D(_);e?.slug&&(h=e.slug)}let j="string"==typeof o.provider?o.provider:null,b="string"==typeof o.model?o.model:null,v="string"==typeof o.engine?o.engine:null,q="ai"===o.created_by?"ai":"user",A=u(o.depends_on),C=u(r?.dependsOn),S=C.length>0?C:A,P=null;if(_)try{let{data:e}=await n.from("projects").select("identifier_prefix, next_identifier").eq("id",_).single();if(e&&"string"==typeof e.identifier_prefix&&e.identifier_prefix){let t="number"==typeof e.next_identifier?e.next_identifier:1;P=`${e.identifier_prefix}-${t}`,await n.from("projects").update({next_identifier:t+1}).eq("id",_)}}catch{P=null}let T={id:(0,g.randomUUID)(),content:e,description:ee(a),title:d,slug:w,status:o.status||"queued",stage:o.stage||"intake",project:h||null,...void 0!==_?{project_id:_}:{},...void 0!==y?{workflow_id:y}:{},...null!==P?{identifier:P}:{},priority:o.priority,engine:v,provider:j,model:b,swarm:s,swarm_models:r?.swarmModels??null,depends_on:S.length?S:null,created_by:q,user_id:t,current_plan:r?.currentPlan||null,open_blockers:r?.openBlockers||[],next_action:r?.nextAction||null,version:1};await p(T.id,S,n);let{data:O,error:I}=await n.from("tasks").insert(T).select().single();if(I&&"42703"===I.code){let{swarm_models:e,swarm:t,workflow_id:r,current_plan:i,open_blockers:o,next_action:a,version:l,depends_on:s,identifier:d,...c}=T;({data:O,error:I}=await n.from("tasks").insert(c).select().single())}if(I)throw I;if(!O)throw Error("Failed to create task");await et(O,t);let x=await ei(O.id,t)||O,$=t||x.user_id;if($){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,k.notifyTaskEvent)({taskId:x.id,userId:$,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 ea(e,t,r,n){let o=(0,i.createAdminDbClient)(),{frontmatter:a,body:l}=f(t),s="boolean"==typeof a.swarm?a.swarm:void 0,d=m(t),c="string"==typeof a.project_id?a.project_id:void 0,w=Object.prototype.hasOwnProperty.call(a,"provider"),_=Object.prototype.hasOwnProperty.call(a,"model"),g=Object.prototype.hasOwnProperty.call(a,"workflow_id"),y=Object.prototype.hasOwnProperty.call(a,"depends_on"),h=u(a.depends_on),j=u(n?.dependsOn),b=n?.dependsOn!==void 0||y,v=n?.dependsOn!==void 0?j:h,q={content:t,description:ee(l),title:d,status:a.status,stage:a.stage,project:a.project,...void 0!==c?{project_id:c}:{},workflow_id:g?a.workflow_id:void 0,priority:a.priority,engine:a.engine,provider:w?a.provider:null,model:_?a.model:null,swarm:s,swarm_models:n?.swarmModels??void 0,...b?{depends_on:v.length?v: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(q).forEach(e=>{void 0===q[e]&&delete q[e]}),b&&await p(e,v,o),n?.expectedVersion!==void 0&&n.expectedVersion;let{data:A,error:D}=await o.from("tasks").update({...q}).eq("id",e).select().maybeSingle();if(D&&console.error(`[db.updateTask] error updating task ${e}:`,D),A||D||console.warn(`[db.updateTask] UPDATE returned 0 rows for task ${e}, payload keys:`,Object.keys(q)),D&&"42703"===D.code){let{swarm_models:t,swarm:i,workflow_id:n,current_plan:a,open_blockers:l,next_action:s,version:d,depends_on:c,...u}=q,f=o.from("tasks").update(u).eq("id",e);r&&(f=f.eq("user_id",r)),{data:A,error:D}=await f.select().maybeSingle()}if(D)throw D;if(!A){let t=await ei(e,r);if(!t)throw Error(`Task ${e} not found`);return t}await et(A,r);let C=await ei(A.id,r)||A,S=r||C.user_id;if(S){let e=C.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(C.depends_on)?C.depends_on:[],project:C.project||null,projectId:C.project_id||null,workflowId:C.workflow_id||null,createdBy:C.created_by||null};(0,k.notifyTaskEvent)({taskId:C.id,userId:S,eventType:"task.created",title:C.title||null,slug:C.slug||null,stage:C.stage||null,status:C.status||null,timestamp:e,details:t})}return C}async function el(e,t,r=25){let n=(0,i.createAdminDbClient)(),{data:o,error:a}=await n.from("tasks").select("run_index").eq("id",e).single();if(a){if(a?.code==="42703")return;throw a}let l=[t,...Array.isArray(o.run_index)?o.run_index:[]].slice(0,r),{error:s}=await n.from("tasks").update({run_index:l}).eq("id",e);if(s){if(s?.code==="42703")return;throw s}}async function es(e,t){let r=(0,i.createAdminDbClient)().from("tasks").delete().eq("id",e);t&&(r=r.eq("user_id",t));let{error:n}=await r;if(n)throw n}async function ed(e){let t=(0,i.createAdminDbClient)().from("tasks").select("*").eq("status","queued").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!0}).limit(1);e&&(t=t.eq("engine",e));let{data:r,error:n}=await t.single();if(n){if("PGRST116"===n.code)return null;throw n}return r}e.s(["addProjectAgent",()=>I,"addProjectMemory",()=>G,"addProjectSkill",()=>N,"addProjectThread",()=>J,"assignOrphanTasksToProject",()=>T,"createProject",()=>C,"createWorkspaceEntry",()=>H,"deleteProject",()=>P,"deleteProjectMemory",()=>U,"deleteProjectVariable",()=>F,"deleteWorkspaceEntry",()=>Z,"getProjectAgents",()=>O,"getProjectBySlug",()=>q,"getProjectForThread",()=>z,"getProjectMemory",()=>L,"getProjectRepos",()=>A,"getProjectSkills",()=>E,"getProjectThreads",()=>B,"getProjectVariables",()=>R,"getProjectWithRepos",()=>D,"getProjectWorkspace",()=>K,"getProjectWorkspaceEntries",()=>X,"getProjects",()=>v,"getWorkspaceMapForContext",()=>Y,"removeProjectAgent",()=>x,"removeProjectSkill",()=>W,"removeProjectThread",()=>V,"reorderProjectAgents",()=>$,"setProjectVariable",()=>M,"updateProject",()=>S,"updateWorkspaceEntry",()=>Q],863014),e.s(["appendRunToIndex",()=>el,"createTask",()=>eo,"deleteTask",()=>es,"getNextQueuedTask",()=>ed,"getTask",()=>ei,"getTaskBySlug",()=>en,"getTasks",()=>er,"updateTask",()=>ea],952472);let ec="00000000-0000-0000-0000-000000000001",eu=[{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"}],ef=new Map(eu.map(e=>[e.id,e]));async function ep(e){let t=(0,i.createAdminDbClient)(),{error:r}=await t.from("workflows").upsert({id:ec,user_id:e||"00000000-0000-0000-0000-000000000000",name:"Default Workflow",definition:{}},{onConflict:"id"});if(r)throw r;let{error:n}=await t.from("workflow_nodes").upsert(eu.map(e=>({...e,workflow_id:ec,metadata:{}})),{onConflict:"id"});if(n)throw n;let{error:o}=await t.from("workflow_transitions").upsert([{workflow_id:ec,from_node_id:"00000000-0000-0000-0001-000000000001",to_node_id:"00000000-0000-0000-0001-000000000002",condition:"done",priority:0,metadata:{}},{workflow_id:ec,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(o)throw o}async function em(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("workflows").select("*").or(`user_id.eq.${e},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(o){if(n(o,"workflows"))return[];throw o}return r||[]}async function ew(e,t){let r=(0,i.createAdminDbClient)().from("workflows").select("*").eq("id",e),{data:o,error:a}=await r.maybeSingle();if(a){if(n(a,"workflows"))return null;throw a}return o}async function e_(e,t,r){let n=(0,i.createAdminDbClient)(),o={updated_at:new Date().toISOString()};void 0!==r.definition&&(o.definition=r.definition),void 0!==r.name&&(o.name=r.name),void 0!==r.description&&(o.description=r.description);let{data:a,error:l}=await n.from("workflows").update(o).eq("id",e).select().single();if(l)throw l;return a}async function eg(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("workflow_nodes").select("*").eq("workflow_id",e).order("position",{ascending:!0});if(o){if(n(o,"workflow_nodes"))return[];throw o}return r||[]}async function ey(e,t,r){let n=(0,i.createAdminDbClient)();if(e===ec&&await ep(t),!await ew(e,t))throw Error("Workflow not found");if(e===ec){let t=r.map(t=>{let r=ef.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 n.from("workflow_nodes").upsert(t,{onConflict:"id"});if(e)throw e}return eg(e)}return await Promise.all(r.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 n.from("workflow_nodes").update(r).eq("workflow_id",e).eq("id",t.id);if(i)throw i})),eg(e)}async function ek(e,t){let r=(0,i.createAdminDbClient)(),{data:o,error:a}=await r.from("workflow_nodes").select("*").eq("workflow_id",e).eq("name",t).maybeSingle();if(a){if(n(a,"workflow_nodes"))return null;throw a}return o}async function eh(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("workflow_transitions").select("*").eq("workflow_id",e).order("priority",{ascending:!0});if(o){if(n(o,"workflow_transitions"))return[];throw o}return r||[]}async function ej(e,t){let r=(0,i.createAdminDbClient)(),{data:o,error:a}=await r.from("workflow_transitions").select("*").eq("workflow_id",e).eq("from_node_id",t).order("priority",{ascending:!0});if(a){if(n(a,"workflow_transitions"))return[];throw a}return o||[]}async function eb(e,t){let r=await ew(e,t);if(!r)return null;let[i,n]=await Promise.all([eg(e),eh(e)]);return{...r,nodes:i,transitions:n}}function ev(){return ec}async function eq(e,t){let r=(0,i.createAdminDbClient)().from("stage_prompts").select("*").eq("workflow_id",t).order("stage",{ascending:!0});r=e?r.or(`user_id.eq.${e},is_default.eq.true`):r.eq("is_default",!0);let{data:n,error:o}=await r;if(o)throw o;return n||[]}async function eA(e,t,r){let n=(0,i.createAdminDbClient)();if(t){let{data:i}=await n.from("stage_prompts").select("*").eq("workflow_id",r).eq("stage",e).eq("user_id",t).single();if(i)return i}let{data:o}=await n.from("stage_prompts").select("*").eq("workflow_id",r).eq("stage",e).eq("is_default",!0).single();return o||null}async function eD(e,t,r=[],n,o,a){let l=(0,i.createAdminDbClient)(),s={stage:e,prompt:t,outputs:r,user_id:n,is_default:!n,workflow_id:a};o&&(void 0!==o.swarm&&(s.swarm=o.swarm),void 0!==o.provider&&(s.provider=o.provider),void 0!==o.model&&(s.model=o.model),void 0!==o.swarm_models&&(s.swarm_models=o.swarm_models));let{data:d,error:c}=await l.from("stage_prompts").upsert(s,{onConflict:n?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(c)throw c;return d}async function eC(e,t){let r=(0,i.createAdminDbClient)().from("stage_prompts").delete().eq("id",e);t&&(r=r.eq("user_id",t));let{error:n}=await r;if(n)throw n}async function eS(e,t={}){let r=(0,i.createAdminDbClient)(),n=Math.max(1,Math.min(2e3,Number(t.limit??t.tail??500))),o="string"==typeof t.after&&t.after.trim()?t.after.trim():null,a=o?null:void 0===t.tail?n:Number(t.tail),l=null!==a&&Number.isFinite(a)&&a>0,s=r.from("task_logs").select("*").eq("task_id",e);t.nodeId&&(s=s.eq("node_id",t.nodeId)),s=o?s.gt("created_at",o).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(n):l?s.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(n):s.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(n);let{data:d,error:c}=await s;if(c)throw c;let u=d||[];return o?u:l?u.slice().reverse():u}async function eP(e,t,r,n){let o=(0,i.createAdminDbClient)(),{data:a,error:l}=await o.from("task_logs").insert({task_id:e,content:t,log_type:r,...n?{node_id:n}:{}}).select().single();if(l)throw l;return a}function eT(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,Math.round(t)):0}function eO(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,t):0}async function eI(e){let t=(0,i.createAdminDbClient)(),r={task_id:e.taskId,stage:e.stage,provider:e.provider??null,model:e.model??null,input_tokens:eT(e.inputTokens),output_tokens:eT(e.outputTokens),estimated_cost:eO(e.estimatedCost)},{data:n,error:o}=await t.from("task_costs").insert(r).select().single();if(o)throw o;return n}async function ex(e){let t=(0,i.createAdminDbClient)(),{data:r,error:n}=await t.from("task_costs").select("*").eq("task_id",e).order("created_at",{ascending:!0});if(n)throw n;return r||[]}function e$(e){let t={},r=0,i=0,n=0;for(let o of e){let e=o.stage||"unknown",a=eT(o.input_tokens),l=eT(o.output_tokens),s=eO(o.estimated_cost??0);r+=a,i+=l,n+=s;let d=t[e]||{stage:e,input_tokens:0,output_tokens:0,estimated_cost:0,entries:0};d.input_tokens+=a,d.output_tokens+=l,d.estimated_cost+=s,d.entries+=1,t[e]=d}return{total_input_tokens:r,total_output_tokens:i,total_cost:n,per_stage:Object.values(t).sort((e,t)=>e.stage.localeCompare(t.stage))}}async function eE(e){return e$(await ex(e))}async function eN(e){let t=(0,i.createAdminDbClient)(),{data:r,error:n}=await t.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(n)throw n;return r||[]}async function eW(e,t,r,n){let o=(0,i.createAdminDbClient)(),{data:a,error:l}=await o.from("task_comments").insert({task_id:e,content:t,author_type:r,author_id:n??null}).select().single();if(l)throw l;return a}async function eR(e,t){let r=(0,i.createAdminDbClient)(),{data:n,error:o}=await r.from("task_comments").select("author_id, author_type").eq("id",e).single();if(o)throw o;if(!n)throw Error("Comment not found");if("user"!==n.author_type||n.author_id!==t)throw Error("Unauthorized");let{error:a}=await r.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",e).is("deleted_at",null);if(a)throw a}async function eM(e,t,r){if("task"!==e)return h.vaultStore.getLearnings(e,t);let n=(0,i.createAdminDbClient)().from("learnings").select("*").eq("scope",e).order("created_at",{ascending:!1});t&&(n=n.eq("scope_id",t)),r&&(n=n.eq("user_id",r));let{data:o,error:a}=await n;if(a)throw a;return o||[]}async function eF(e,t,r,n){if("task"!==e)return h.vaultStore.addLearning(e,t,r);let o=(0,i.createAdminDbClient)(),{data:a,error:l}=await o.from("learnings").insert({scope:e,scope_id:r,content:t,user_id:n}).select().single();if(l)throw l;return a}async function eL(e,t){if("global-playbook"===e)return void h.vaultStore.deleteLearning(e,"global");let r=await D(e,t);if(r)return void h.vaultStore.deleteLearning(e,"project",r.id);let n=(0,i.createAdminDbClient)().from("learnings").delete().eq("id",e);t&&(n=n.eq("user_id",t));let{error:o}=await n;if(o)throw o}async function eG(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("agents").select("*").eq("user_id",e).order("created_at",{ascending:!1});if(o){if(n(o,"agents"))return[];throw o}return r||[]}async function eU(e,t){let r=(0,i.createAdminDbClient)(),{data:o,error:a}=await r.from("agents").select("*").eq("id",e).eq("user_id",t).maybeSingle();if(a){if("PGRST116"===a.code||n(a,"agents"))return null;throw a}return o}async function eB(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("agent_skills").select("*").eq("agent_id",e).order("created_at",{ascending:!0});if(o){if(n(o,"agent_skills"))return[];throw o}return r||[]}async function eJ(e,t){let r=(0,i.createAdminDbClient)(),o=new Map;for(let r of t){let t=r.file.trim();t&&o.set(t,{agent_id:e,file:t,condition:r.condition?.trim()||null})}let a=await eB(e);for(let t of a)if(!o.has(t.file)){let{error:i}=await r.from("agent_skills").delete().eq("agent_id",e).eq("file",t.file);if(i&&!n(i,"agent_skills"))throw i}for(let t of o.values()){let i=a.find(e=>e.file===t.file);if(!i){let{error:e}=await r.from("agent_skills").insert(t);if(e&&!n(e,"agent_skills"))throw e;continue}if((i.condition??null)!==t.condition){let{error:i}=await r.from("agent_skills").update({condition:t.condition}).eq("agent_id",e).eq("file",t.file);if(i&&!n(i,"agent_skills"))throw i}}return eB(e)}async function eV(e,t){let r=(0,i.createAdminDbClient)(),o={user_id:e,name:t.name,style:t.style,description:t.description??null};void 0!==t.id&&(o.id=t.id),void 0!==t.role&&(o.role=t.role),void 0!==t.voice&&(o.voice=t.voice),void 0!==t.seed&&(o.seed=t.seed),void 0!==t.model&&(o.model=t.model),void 0!==t.provider&&(o.provider=t.provider),void 0!==t.color&&(o.color=t.color);let{data:a,error:l}=await r.from("agents").insert(o).select().single();if(l){if(n(l,"agents"))throw Error("Agents table does not exist");throw l}return a}async function ez(e,t,r){let o=(0,i.createAdminDbClient)(),a={updated_at:new Date().toISOString()};if(void 0!==r.name&&(a.name=r.name),void 0!==r.role&&(a.role=r.role),void 0!==r.style&&(a.style=r.style),void 0!==r.description&&(a.description=r.description),void 0!==r.voice&&(a.voice=r.voice),void 0!==r.seed&&(a.seed=r.seed),void 0!==r.model&&(a.model=r.model),void 0!==r.provider&&(a.provider=r.provider),void 0!==r.color&&(a.color=r.color),1===Object.keys(a).length)return eU(e,t);let{data:l,error:s}=await o.from("agents").update(a).eq("id",e).eq("user_id",t).select().single();if(s){if("PGRST116"===s.code||n(s,"agents"))return null;throw s}return l}async function eK(e,t){let r=(0,i.createAdminDbClient)(),{error:o}=await r.from("agents").delete().eq("id",e).eq("user_id",t);if(o&&!n(o,"agents"))throw o}async function eX(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("teams").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(n(o,"teams"))return[];throw o}return(r||[]).map(e=>({...e,metadata:"string"==typeof e.metadata?JSON.parse(e.metadata):e.metadata||{}}))}async function eH(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("teams").select("*").eq("id",e).limit(1).single();if(o){if("PGRST116"===o.code||n(o,"teams"))return null;throw o}return r?{...r,metadata:"string"==typeof r.metadata?JSON.parse(r.metadata):r.metadata||{}}:null}async function eQ(e,t,r,n){let o=(0,i.createAdminDbClient)(),a=(0,g.randomUUID)(),l=new Date().toISOString(),{data:s,error:d}=await o.from("teams").insert({id:a,project_id:e,name:t,template_id:r||null,metadata:JSON.stringify(n||{}),created_at:l,updated_at:l}).select().single();if(d)throw d;return{...s,metadata:"string"==typeof s.metadata?JSON.parse(s.metadata):s.metadata||{}}}async function eZ(e,t){let r=(0,i.createAdminDbClient)(),n={};void 0!==t.name&&(n.name=t.name),void 0!==t.metadata&&(n.metadata=JSON.stringify(t.metadata));let{data:o,error:a}=await r.from("teams").update(n).eq("id",e).select().single();if(a){if("PGRST116"===a.code)return null;throw a}return{...o,metadata:"string"==typeof o.metadata?JSON.parse(o.metadata):o.metadata||{}}}async function eY(e){let t=(0,i.createAdminDbClient)(),{error:r}=await t.from("teams").delete().eq("id",e);if(r)throw r}async function e0(e){let t=(0,i.createAdminDbClient)(),{data:r,error:o}=await t.from("team_agents").select("*").eq("team_id",e).order("routing_order",{ascending:!0});if(o){if(n(o,"team_agents"))return[];throw o}return r||[]}async function e1(e,t,r,n){let o=(0,i.createAdminDbClient)();if(void 0===n){let{data:t}=await o.from("team_agents").select("routing_order").eq("team_id",e).order("routing_order",{ascending:!1}).limit(1);n=(t?.[0]?.routing_order??-1)+1}let{data:a,error:l}=await o.from("team_agents").upsert({team_id:e,agent_id:t,role_key:r,routing_order:n}).select().single();if(l)throw l;return a}async function e4(e,t){let r=(0,i.createAdminDbClient)(),{error:n}=await r.from("team_agents").delete().eq("team_id",e).eq("agent_id",t);if(n)throw n}function e2(e,t){let r=[],i=new Set;for(let t of e){let e=t.file.split("/").pop()||t.file;i.add(e),r.push({file:t.file,condition:t.condition,source:"agent"})}for(let e of t){let t=e.file.split("/").pop()||e.file;i.has(t)||r.push({file:e.file,condition:e.condition??void 0,source:"project"})}return r}function e8(e,t){let r=[];for(let e of t)r.push({content:e.content,source:"project",id:e.id});for(let t of e)r.push({content:t.content,source:"agent",id:t.id});return r}async function e3(e){return(await R(e)).map(e=>({key:e.key,value:e.value,source:"project"}))}async function e6(e,t,r,i){let n=await E(t),o=await L(t),a=await e3(t);return{skills:e2(r,n),memory:e8(i,o),variables:a}}e.s(["DEFAULT_WORKFLOW_ID",0,"00000000-0000-0000-0000-000000000001","defaultStagePrompts",0,{INTAKE:{prompt:"New task. Triage, scope, and prepare for work.",outputs:[],swarm:!1},PROGRESS:{prompt:"Task is actively being worked on.",outputs:[],swarm:!1},DONE:{prompt:"Task completed.",outputs:[],swarm:!1}},"deleteStagePrompt",()=>eC,"getDefaultWorkflowId",()=>ev,"getStagePrompt",()=>eA,"getStagePrompts",()=>eq,"getWorkflow",()=>ew,"getWorkflowNodeByName",()=>ek,"getWorkflowNodes",()=>eg,"getWorkflowTransitions",()=>eh,"getWorkflowTransitionsFromNode",()=>ej,"getWorkflowWithGraph",()=>eb,"getWorkflows",()=>em,"updateWorkflow",()=>e_,"updateWorkflowNodes",()=>ey,"upsertStagePrompt",()=>eD],38193),e.s(["addTaskLog",()=>eP,"getTaskLogs",()=>eS],456094),e.s(["addTaskCostEntry",()=>eI,"getTaskCostEntries",()=>ex,"getTaskCostSummary",()=>eE,"summarizeTaskCosts",()=>e$],387695),e.s(["addTaskComment",()=>eW,"deleteTaskComment",()=>eR,"getTaskComments",()=>eN],803887),e.s(["addLearning",()=>eF,"deleteLearning",()=>eL,"getLearnings",()=>eM],181938),e.s(["createAgent",()=>eV,"deleteAgent",()=>eK,"getAgent",()=>eU,"getAgentSkills",()=>eB,"getAgents",()=>eG,"setAgentSkills",()=>eJ,"updateAgent",()=>ez],453298),e.s(["addTeamAgent",()=>e1,"createTeam",()=>eQ,"deleteTeam",()=>eY,"getTeam",()=>eH,"getTeamAgents",()=>e0,"getTeams",()=>eX,"removeTeamAgent",()=>e4,"updateTeam",()=>eZ],521116),e.s(["buildExecutionProvenance",()=>e6,"resolveMemory",()=>e8,"resolveSkills",()=>e2,"resolveVariables",()=>e3],700006),e.s([],324654),e.s([],426491)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=apps_local_lib_db_ts_77c23d6c._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},340492,a=>{"use strict";let b=(0,a.i(831709).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",()=>b],340492)},238234,412690,754812,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",()=>c],238234);let d=(0,b.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);a.s(["ArrowUp",()=>d],412690);let e=(0,b.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>e],754812)},638583,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(398066);function e({params:a}){let{slug:e,threadId:f}=(0,c.use)(a);return(0,b.jsx)(d.ChatContainer,{projectSlug:e,initialThreadId:f,showSidebar:!1})}a.s(["default",()=>e])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__1e0fd816._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},667597,a=>{"use strict";let b=(0,a.i(831709).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",()=>b],667597)},356239,a=>{"use strict";let b=(0,a.i(831709).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],356239)},977713,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=a.r(490335);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},111468,(a,b,c)=>{"use strict";function d(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"encodeURIPath",{enumerable:!0,get:function(){return d}})},899293,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=a.r(308316),e=a.r(197180),f=a.r(556704),g=a.r(111468),h=a.r(422662);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let i=(0,h.getDeploymentIdQueryOrEmptyString)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${i}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},910409,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return j}});let d=a.r(308316),e=a.r(786220),f=a.r(977713),g=a.r(899293);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},837554,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return e}});let d=a.r(833354)._(a.r(910409));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},530418,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(830284),e=a.i(393041);function f({params:a}){let{slug:f}=(0,c.use)(a),{projects:g,isLoading:h}=(0,d.useProjects)(),i=g.find(a=>a.slug===f);return h?(0,b.jsx)("div",{className:"px-6 py-6 text-sm text-[var(--muted-foreground)]",children:"Loading automations..."}):i?(0,b.jsx)(e.default,{projectId:i.id,requireProjectId:!0}):(0,b.jsx)("div",{className:"px-6 py-6 text-sm text-[var(--muted-foreground)]",children:"Project not found."})}a.s(["default",()=>f])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__42499ecf._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},238234,412690,754812,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",()=>c],238234);let d=(0,b.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);a.s(["ArrowUp",()=>d],412690);let e=(0,b.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>e],754812)},44668,a=>{"use strict";let b=(0,a.i(831709).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],44668)},947218,a=>{"use strict";var b=a.i(786220);let c=new Map;function d(a){let b=c.get(a);return b?Date.now()-b.ts>3e5?(c.delete(a),null):b:null}function e(a){c.delete(a)}function f(a,f){let[g,h]=(0,b.useState)(!1),[i,j]=(0,b.useState)(!0),[k,l]=(0,b.useState)(null),[m,n]=(0,b.useState)({claude:!1,codex:!1,gemini:!1}),[o,p]=(0,b.useState)({}),q=(0,b.useRef)(null),r=`/api/trackers/${encodeURIComponent(a)}`,s=`${a}:${f}`,t=(0,b.useCallback)(async()=>{try{let a=await fetch(`${r}/mcp-setup`),b=await a.json();p(b.configured??{})}catch{}},[r]),u=(0,b.useCallback)(async()=>{if(!f)return h(!1),!1;let a=d(s);if(a)return h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1),a.connected;try{var b;let a=`?projectId=${encodeURIComponent(f)}`,[d,e]=await Promise.all([fetch(`${r}/status${a}`),fetch(`${r}/mcp-setup`)]),g=await d.json(),i=await e.json(),j=g.clis??{claude:!1,codex:!1,gemini:!1},k=i.configured??{},m=g.user??null;return h(g.connected),l(m),n(j),p(k),b={connected:g.connected,user:m,clis:j,mcpConfigured:k},c.set(s,{...b,ts:Date.now()}),g.connected}catch{return h(!1),!1}finally{j(!1)}},[f,r,s]);(0,b.useEffect)(()=>{let a=d(s);a?(h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1)):(j(!0),h(!1),l(null))},[a,f,s]),(0,b.useEffect)(()=>(u(),()=>{q.current&&clearInterval(q.current)}),[u]);let v=(0,b.useCallback)(()=>{f&&(e(s),window.open(`${r}/auth?projectId=${encodeURIComponent(f)}`,"_blank","noopener"),q.current&&clearInterval(q.current),q.current=setInterval(async()=>{e(s),await u()&&q.current&&(clearInterval(q.current),q.current=null)},2e3))},[f,r,s,u]),w=(0,b.useCallback)(async a=>{if(!f)return{ok:!1,error:"Missing projectId"};try{let b=await fetch(`${r}/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:f,accessToken:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to save token"}}return e(s),await u(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[f,r,s,u]);return{connected:g,loading:i,user:k,clis:m,mcpConfigured:o,connect:v,connectWithKey:w,disconnect:(0,b.useCallback)(async()=>{f&&(e(s),await fetch(`${r}/status?projectId=${encodeURIComponent(f)}`,{method:"DELETE"}),h(!1),l(null))},[f,r,s,a]),configureMcp:(0,b.useCallback)(async a=>{try{let b=await fetch(`${r}/mcp-setup`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to configure MCP"}}return await t(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[r,t]),refresh:u}}a.s(["useTrackerConnection",()=>f])},837929,a=>{"use strict";let b="agx:lastRun",c="agx:lastSession";function d(a,b){}function e(a){return({})[a]??null}function f(a,c){let e={};e[a]=c,d(b,e)}function g(a){return({})[a]??null}function h(a,b){let e={};e[a]=b,d(c,e)}a.s(["loadLastRunForIssue",()=>e,"loadLastSessionForEntity",()=>g,"persistLastRunForIssue",()=>f,"persistLastSessionForEntity",()=>h])},249603,a=>{"use strict";var b=a.i(308316),c=a.i(786220);function d({onResize:a,className:d,ariaLabel:e}){let f=(0,c.useRef)(0),g=(0,c.useRef)(a);g.current=a;let h=(0,c.useCallback)(a=>{a.preventDefault(),f.current=a.clientX,document.body.style.cursor="col-resize",document.body.style.userSelect="none";let b=a=>{let b=a.clientX-f.current;f.current=a.clientX,g.current(b)},c=()=>{document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",b),window.removeEventListener("mouseup",c)};window.addEventListener("mousemove",b),window.addEventListener("mouseup",c)},[]);return(0,b.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":e,className:`group relative z-10 w-0 shrink-0 cursor-col-resize ${d??""}`,onMouseDown:h,children:(0,b.jsx)("div",{className:"absolute inset-y-0 -left-1 w-2 transition-colors group-hover:bg-[var(--primary)]/40"})})}a.s(["ResizeHandle",()=>d])},667597,a=>{"use strict";let b=(0,a.i(831709).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",()=>b],667597)},356239,a=>{"use strict";let b=(0,a.i(831709).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],356239)},977713,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=a.r(490335);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},111468,(a,b,c)=>{"use strict";function d(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"encodeURIPath",{enumerable:!0,get:function(){return d}})},899293,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=a.r(308316),e=a.r(197180),f=a.r(556704),g=a.r(111468),h=a.r(422662);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let i=(0,h.getDeploymentIdQueryOrEmptyString)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${i}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},910409,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return j}});let d=a.r(308316),e=a.r(786220),f=a.r(977713),g=a.r(899293);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},837554,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return e}});let d=a.r(833354)._(a.r(910409));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},999076,a=>{"use strict";let b=(0,a.i(831709).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",()=>b],999076)},549429,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",()=>b],549429)},379065,a=>{"use strict";let b=(0,a.i(831709).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",()=>b],379065)},642784,a=>{"use strict";let b=(0,a.i(831709).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Settings",()=>b],642784)},354658,a=>{"use strict";let b=(0,a.i(831709).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",()=>b],354658)},785630,a=>{"use strict";let b=(0,a.i(831709).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);a.s(["FolderPlus",()=>b],785630)},111814,a=>{"use strict";var b=a.i(786220);function c(a,c){let[d,e]=(0,b.useState)([]),[f,g]=(0,b.useState)(!1);return(0,b.useEffect)(()=>{let b=!1;return async function(){try{let d=await fetch("/api/participants"),f=d.ok?await d.json():[];if(!c){b||(e(f),g(!0));return}let h=new URLSearchParams;h.set("projectId",c);let i=await fetch(`/api/trackers/${encodeURIComponent(a)}/worker?${h}`).catch(()=>null),j=i?.ok?await i.json().catch(()=>null):null,k=j?.job?.teamId||void 0;if(k){let a=await fetch(`/api/projects/${encodeURIComponent(c)}/teams/${encodeURIComponent(k)}/agents`);if(a.ok){let c=await a.json(),d=Array.isArray(c.agents)?c.agents.sort((a,b)=>(a.routing_order??0)-(b.routing_order??0)).map(a=>a.agent_id).filter(a=>"string"==typeof a&&a.trim().length>0):[];if(d.length>0){let a=new Map(d.map((a,b)=>[a,b])),c=f.filter(b=>a.has(b.id)).sort((b,c)=>(a.get(b.id)??Number.MAX_SAFE_INTEGER)-(a.get(c.id)??Number.MAX_SAFE_INTEGER));if(!b&&c.length>0){e(c),g(!0);return}}}}let l=await fetch(`/api/projects/${encodeURIComponent(c)}/agents`);if(!l.ok){b||(e(f),g(!0));return}let m=await l.json(),n=Array.isArray(m.agents)?m.agents.map(a=>a.agent_id).filter(a=>"string"==typeof a&&a.trim().length>0):[],o=new Map(n.map((a,b)=>[a,b])),p=f.filter(a=>o.has(a.id)).sort((a,b)=>(o.get(a.id)??Number.MAX_SAFE_INTEGER)-(o.get(b.id)??Number.MAX_SAFE_INTEGER));b||(e(p),g(!0))}catch{b||(e([]),g(!0))}}(),()=>{b=!0}},[a,c]),{participants:d,participantsLoaded:f}}a.s(["useTrackerParticipants",()=>c])},964690,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(516909),e=a.i(830284),f=a.i(227444),g=a.i(859117);function h({params:a}){let{slug:h}=(0,c.use)(a),i=(0,d.useSearchParams)(),{projects:j}=(0,e.useProjects)(),k=j.find(a=>a.slug===h),l="true"===i.get("settings"),{connections:m}=(0,f.useTrackerConnections)(k?.id??null),n=m.length>0?m[0].type:"linear";return(0,b.jsx)(g.default,{trackerType:n,projectId:k?.id,projectSlug:k?.slug??h,initialShowSettings:l})}a.s(["default",()=>h])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__5f31e40b._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[556704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},419920,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.HooksClientContext},731042,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.ServerInsertedHtml},120635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},263841,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored.contexts.AppRouterContext},234154,(a,b,c)=>{"use strict";b.exports=a.r(433430).vendored["react-ssr"].ReactServerDOMTurbopackClient},285320,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],285320)},654340,a=>{"use strict";let b=(0,a.i(831709).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",()=>b],654340)},296037,a=>{"use strict";var b=a.i(786220);function c(a,d={}){let[e,f]=(0,b.useState)([]),[g,h]=(0,b.useState)(!0),[i,j]=(0,b.useState)(null),k=(0,b.useRef)(!1),l=d.requireProjectId??!1,m=d.includeObjectiveJobs??!1,n=d.objectiveId?.trim()||null,o=(0,b.useCallback)(async()=>{if(l&&!a){f([]),j(null),h(!1),k.current=!0;return}try{k.current||h(!0);let b=new URLSearchParams;a&&b.set("projectId",a),n&&b.set("objectiveId",n),m&&b.set("includeObjectiveJobs","true");let c=b.toString(),d=await fetch(`/api/prompt-jobs${c?`?${c}`:""}`);if(!d.ok)throw Error(`Failed to fetch: ${d.status}`);let e=await d.json();f(e.jobs??[]),j(null)}catch(a){j(a instanceof Error?a.message:String(a))}finally{h(!1),k.current=!0}},[m,n,a,l]);(0,b.useEffect)(()=>{k.current=!1,o();let a=setInterval(o,1e4);return()=>clearInterval(a)},[o]);let p=(0,b.useCallback)(async a=>{let b=await fetch("/api/prompt-jobs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)return null;let{job:c}=await b.json();return await o(),c?.id??null},[o]),q=(0,b.useCallback)(async(a,b)=>{let c=await fetch(`/api/prompt-jobs/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});return c.ok&&await o(),c.ok},[o]),r=(0,b.useCallback)(async a=>{let b=await fetch(`/api/prompt-jobs/${a}`,{method:"DELETE"});if(b.ok)return await o(),{ok:!0};let c=await b.json().catch(()=>({}));return{ok:!1,error:c.error||c.message||`Failed to delete scheduled task (${b.status})`}},[o]),s=(0,b.useCallback)(async a=>{let b="active"===a.state?"paused":"active",c=await fetch(`/api/prompt-jobs/${a.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({state:b})});return c.ok&&await o(),c.ok},[o]),t=(0,b.useCallback)(async a=>{let b=await fetch("/api/prompt-jobs/poll",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jobId:a})});return b.ok&&await o(),b.ok},[o]),u=(0,b.useCallback)(async a=>{let b=await fetch(`/api/prompt-jobs/${a}/cancel`,{method:"POST"});return b.ok&&await o(),b.ok},[o]);return{jobs:e,loading:g,error:i,refresh:o,createJob:p,updateJob:q,deleteJob:r,toggleJob:s,runNow:t,cancelRun:u,fetchRuns:(0,b.useCallback)(async a=>{let b=await fetch(`/api/prompt-jobs/${a}/runs`);return b.ok?(await b.json()).runs??[]:[]},[])}}a.s(["usePromptJobs",()=>c])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__636799fb._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},340492,a=>{"use strict";let b=(0,a.i(831709).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",()=>b],340492)},238234,412690,754812,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",()=>c],238234);let d=(0,b.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);a.s(["ArrowUp",()=>d],412690);let e=(0,b.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>e],754812)}];
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},340492,a=>{"use strict";let b=(0,a.i(831709).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",()=>b],340492)},238234,412690,754812,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",()=>c],238234);let d=(0,b.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);a.s(["ArrowUp",()=>d],412690);let e=(0,b.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>e],754812)},717835,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(398066);function e({params:a}){let{slug:e}=(0,c.use)(a);return(0,b.jsx)(d.ChatContainer,{projectSlug:e,showSidebar:!1})}a.s(["default",()=>e])}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__74436f61._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",()=>b],316099)},238234,412690,754812,a=>{"use strict";var b=a.i(831709);let c=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",()=>c],238234);let d=(0,b.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);a.s(["ArrowUp",()=>d],412690);let e=(0,b.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>e],754812)},44668,a=>{"use strict";let b=(0,a.i(831709).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>b],44668)},947218,a=>{"use strict";var b=a.i(786220);let c=new Map;function d(a){let b=c.get(a);return b?Date.now()-b.ts>3e5?(c.delete(a),null):b:null}function e(a){c.delete(a)}function f(a,f){let[g,h]=(0,b.useState)(!1),[i,j]=(0,b.useState)(!0),[k,l]=(0,b.useState)(null),[m,n]=(0,b.useState)({claude:!1,codex:!1,gemini:!1}),[o,p]=(0,b.useState)({}),q=(0,b.useRef)(null),r=`/api/trackers/${encodeURIComponent(a)}`,s=`${a}:${f}`,t=(0,b.useCallback)(async()=>{try{let a=await fetch(`${r}/mcp-setup`),b=await a.json();p(b.configured??{})}catch{}},[r]),u=(0,b.useCallback)(async()=>{if(!f)return h(!1),!1;let a=d(s);if(a)return h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1),a.connected;try{var b;let a=`?projectId=${encodeURIComponent(f)}`,[d,e]=await Promise.all([fetch(`${r}/status${a}`),fetch(`${r}/mcp-setup`)]),g=await d.json(),i=await e.json(),j=g.clis??{claude:!1,codex:!1,gemini:!1},k=i.configured??{},m=g.user??null;return h(g.connected),l(m),n(j),p(k),b={connected:g.connected,user:m,clis:j,mcpConfigured:k},c.set(s,{...b,ts:Date.now()}),g.connected}catch{return h(!1),!1}finally{j(!1)}},[f,r,s]);(0,b.useEffect)(()=>{let a=d(s);a?(h(a.connected),l(a.user),n(a.clis),p(a.mcpConfigured),j(!1)):(j(!0),h(!1),l(null))},[a,f,s]),(0,b.useEffect)(()=>(u(),()=>{q.current&&clearInterval(q.current)}),[u]);let v=(0,b.useCallback)(()=>{f&&(e(s),window.open(`${r}/auth?projectId=${encodeURIComponent(f)}`,"_blank","noopener"),q.current&&clearInterval(q.current),q.current=setInterval(async()=>{e(s),await u()&&q.current&&(clearInterval(q.current),q.current=null)},2e3))},[f,r,s,u]),w=(0,b.useCallback)(async a=>{if(!f)return{ok:!1,error:"Missing projectId"};try{let b=await fetch(`${r}/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:f,accessToken:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to save token"}}return e(s),await u(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[f,r,s,u]);return{connected:g,loading:i,user:k,clis:m,mcpConfigured:o,connect:v,connectWithKey:w,disconnect:(0,b.useCallback)(async()=>{f&&(e(s),await fetch(`${r}/status?projectId=${encodeURIComponent(f)}`,{method:"DELETE"}),h(!1),l(null))},[f,r,s,a]),configureMcp:(0,b.useCallback)(async a=>{try{let b=await fetch(`${r}/mcp-setup`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to configure MCP"}}return await t(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[r,t]),refresh:u}}a.s(["useTrackerConnection",()=>f])},837929,a=>{"use strict";let b="agx:lastRun",c="agx:lastSession";function d(a,b){}function e(a){return({})[a]??null}function f(a,c){let e={};e[a]=c,d(b,e)}function g(a){return({})[a]??null}function h(a,b){let e={};e[a]=b,d(c,e)}a.s(["loadLastRunForIssue",()=>e,"loadLastSessionForEntity",()=>g,"persistLastRunForIssue",()=>f,"persistLastSessionForEntity",()=>h])},249603,a=>{"use strict";var b=a.i(308316),c=a.i(786220);function d({onResize:a,className:d,ariaLabel:e}){let f=(0,c.useRef)(0),g=(0,c.useRef)(a);g.current=a;let h=(0,c.useCallback)(a=>{a.preventDefault(),f.current=a.clientX,document.body.style.cursor="col-resize",document.body.style.userSelect="none";let b=a=>{let b=a.clientX-f.current;f.current=a.clientX,g.current(b)},c=()=>{document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",b),window.removeEventListener("mouseup",c)};window.addEventListener("mousemove",b),window.addEventListener("mouseup",c)},[]);return(0,b.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":e,className:`group relative z-10 w-0 shrink-0 cursor-col-resize ${d??""}`,onMouseDown:h,children:(0,b.jsx)("div",{className:"absolute inset-y-0 -left-1 w-2 transition-colors group-hover:bg-[var(--primary)]/40"})})}a.s(["ResizeHandle",()=>d])},667597,a=>{"use strict";let b=(0,a.i(831709).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",()=>b],667597)},356239,a=>{"use strict";let b=(0,a.i(831709).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],356239)},977713,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=a.r(490335);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},111468,(a,b,c)=>{"use strict";function d(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"encodeURIPath",{enumerable:!0,get:function(){return d}})},899293,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=a.r(308316),e=a.r(197180),f=a.r(556704),g=a.r(111468),h=a.r(422662);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let i=(0,h.getDeploymentIdQueryOrEmptyString)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${i}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},910409,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return j}});let d=a.r(308316),e=a.r(786220),f=a.r(977713),g=a.r(899293);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},837554,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return e}});let d=a.r(833354)._(a.r(910409));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},999076,a=>{"use strict";let b=(0,a.i(831709).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",()=>b],999076)},549429,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",()=>b],549429)},379065,a=>{"use strict";let b=(0,a.i(831709).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",()=>b],379065)},642784,a=>{"use strict";let b=(0,a.i(831709).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Settings",()=>b],642784)},354658,a=>{"use strict";let b=(0,a.i(831709).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",()=>b],354658)},785630,a=>{"use strict";let b=(0,a.i(831709).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);a.s(["FolderPlus",()=>b],785630)},111814,a=>{"use strict";var b=a.i(786220);function c(a,c){let[d,e]=(0,b.useState)([]),[f,g]=(0,b.useState)(!1);return(0,b.useEffect)(()=>{let b=!1;return async function(){try{let d=await fetch("/api/participants"),f=d.ok?await d.json():[];if(!c){b||(e(f),g(!0));return}let h=new URLSearchParams;h.set("projectId",c);let i=await fetch(`/api/trackers/${encodeURIComponent(a)}/worker?${h}`).catch(()=>null),j=i?.ok?await i.json().catch(()=>null):null,k=j?.job?.teamId||void 0;if(k){let a=await fetch(`/api/projects/${encodeURIComponent(c)}/teams/${encodeURIComponent(k)}/agents`);if(a.ok){let c=await a.json(),d=Array.isArray(c.agents)?c.agents.sort((a,b)=>(a.routing_order??0)-(b.routing_order??0)).map(a=>a.agent_id).filter(a=>"string"==typeof a&&a.trim().length>0):[];if(d.length>0){let a=new Map(d.map((a,b)=>[a,b])),c=f.filter(b=>a.has(b.id)).sort((b,c)=>(a.get(b.id)??Number.MAX_SAFE_INTEGER)-(a.get(c.id)??Number.MAX_SAFE_INTEGER));if(!b&&c.length>0){e(c),g(!0);return}}}}let l=await fetch(`/api/projects/${encodeURIComponent(c)}/agents`);if(!l.ok){b||(e(f),g(!0));return}let m=await l.json(),n=Array.isArray(m.agents)?m.agents.map(a=>a.agent_id).filter(a=>"string"==typeof a&&a.trim().length>0):[],o=new Map(n.map((a,b)=>[a,b])),p=f.filter(a=>o.has(a.id)).sort((a,b)=>(o.get(a.id)??Number.MAX_SAFE_INTEGER)-(o.get(b.id)??Number.MAX_SAFE_INTEGER));b||(e(p),g(!0))}catch{b||(e([]),g(!0))}}(),()=>{b=!0}},[a,c]),{participants:d,participantsLoaded:f}}a.s(["useTrackerParticipants",()=>c])},943202,a=>{"use strict";var b=a.i(308316),c=a.i(786220),d=a.i(516909),e=a.i(830284),f=a.i(859117);function g({params:a}){let{slug:g,tracker:h}=(0,c.use)(a),i=(0,d.useSearchParams)(),{projects:j}=(0,e.useProjects)(),k=j.find(a=>a.slug===g),l="true"===i.get("settings"),m="github"===h?i.get("repo"):null;return(0,c.useEffect)(()=>{"github"===h&&m&&k?.id&&fetch("/api/github/repos/sync",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({projectId:k.id,repoId:m})}).catch(()=>{})},[h,m,k?.id]),(0,b.jsx)(f.default,{trackerType:h,projectId:k?.id,projectSlug:k?.slug??g,initialShowSettings:l,initialGroupId:m??void 0})}a.s(["default",()=>g])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__9434d6d7._.js.map
|