@mndrk/agx 2.4.2 → 2.4.4
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 +5 -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 +41 -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]/scheduled-tasks/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]/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/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]/comments/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/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]/auth/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/auth/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/callback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/groups/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/activity/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js +3 -3
- 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]/items/[id]/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/[id]/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/labels/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/mcp-setup/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/bulk/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/metadata/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/options/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js +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]/stats/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/stats/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js +4 -4
- 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/trackers/[tracker]/token/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/token-receive/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js +6 -6
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/worker/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/route.js +7 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/connections/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 +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +2 -2
- 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]/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]/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]/tracking/[tracker]/page/react-loadable-manifest.json +1 -1
- 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/react-loadable-manifest.json +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_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/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 +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +2 -2
- 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 +1 -1
- 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 +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/083c9_next-internal_server_app_api_trackers_[tracker]_metadata_route_actions_c83fcc1a.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_labels_[id]_route_actions_2646388d.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_trackers_[tracker]_metadata_bulk_route_actions_f43e6831.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0e04eca4._.js +40 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0fbbaf2d._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10a90219._.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1d970ad0._.js +40 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__2ab23e45._.js → [root-of-the-server]__2eb13697._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3a038592._.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3b27260f._.js +23 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__498d8b2d._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__580ddcca._.js +40 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__5da8d281._.js +129 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__68b692c4._.js +9 -9
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__76030d44._.js +40 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7db7c421._.js +20 -5
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__7fcbb0c2._.js +2 -2
- 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]__d8cc43c7._.js +22 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f598d976._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f7a936d9._.js +21 -6
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_1a4cb196._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5e5f36c4._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_8f9f647d._.js +28 -13
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_9f0fd451._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_d256aa32._.js +28 -25
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e1f4d9ad._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_f8b3abae._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_orchestrator_chat-processor_ts_46384f36._.js +12 -12
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_tracker_tracker-run-store_ts_5aa9592e._.js +22 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_labels_route_actions_8ba41152.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ebff2__next-internal_server_app_api_trackers_[tracker]_stats_route_actions_7da4ccde.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__799f4d13._.js → [root-of-the-server]__2af44092._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__452cb0f0._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__489568b4._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__4ec098a0._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__53bd50df._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__7774a40c._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__b8484b0e._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__51edc9b6._.js → [root-of-the-server]__bd05ee09._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_8c4beba9._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_5eebb5cb._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_35d90b5d._.js → apps_local_bbb7b83b._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TrackerBoard_tsx_98970bab._.js +6 -6
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_f0554cb4._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_751ab3d3._.js +7 -7
- package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +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/0243e7d015db440d.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/42a62b80b32a97f7.js +9 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/5d047fc7267a8f53.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/7148feb61274d431.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/716e1716d526ded9.js +46 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{77cea126364aab3c.js → 7353a3a1fcd5825c.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/8b91e7692a899f00.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/9acdd370e9daca0d.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{6c777fe66e042eec.js → 9df45611d6c84e02.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{6c278ae4535b6d5c.js → 9e2208153f276f8c.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/a084c6475513e6fe.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/aa6db7c91c1ccd5f.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/d5607ac80145f3b7.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/d590384ce3045a12.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{d5b14e14665024a9.js → d5c307b52fd87861.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/f4acf76cb6c82c73.js +16 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/labels/[id]/route.ts +23 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/labels/route.ts +41 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/metadata/bulk/route.ts +68 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/metadata/route.ts +31 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/options/route.ts +1 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/[tracker]/stats/route.ts +20 -0
- package/cloud-runtime/standalone/apps/local/app/api/trackers/connections/route.ts +46 -2
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/tracking/connect/page.tsx +41 -11
- package/cloud-runtime/standalone/apps/local/components/TrackerBoard.tsx +609 -85
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +204 -49
- package/cloud-runtime/standalone/apps/local/components/tracker/FibonacciPicker.tsx +41 -0
- package/cloud-runtime/standalone/apps/local/components/tracker/FolderRow.tsx +1 -1
- package/cloud-runtime/standalone/apps/local/components/tracker/LabelPicker.tsx +118 -0
- package/cloud-runtime/standalone/apps/local/components/tracker/LabelSettings.tsx +104 -0
- package/cloud-runtime/standalone/apps/local/components/tracker/PromptPopover.tsx +64 -0
- package/cloud-runtime/standalone/apps/local/components/tracker/SelectionBar.tsx +276 -23
- package/cloud-runtime/standalone/apps/local/components/tracker/StatusGroupRow.tsx +50 -0
- package/cloud-runtime/standalone/apps/local/components/tracker/TicketPanel.tsx +14 -2
- package/cloud-runtime/standalone/apps/local/components/tracker/TicketRow.tsx +147 -7
- package/cloud-runtime/standalone/apps/local/components/tracker/TrackerSettingsModal.tsx +14 -2
- package/cloud-runtime/standalone/apps/local/components/ui/ResizeHandle.tsx +15 -22
- package/cloud-runtime/standalone/apps/local/hooks/useTrackerConnections.ts +29 -1
- package/cloud-runtime/standalone/apps/local/hooks/useTrackerIssueStats.ts +52 -0
- package/cloud-runtime/standalone/apps/local/hooks/useTrackerItemMetadata.ts +67 -0
- package/cloud-runtime/standalone/apps/local/hooks/useTrackerItemsMetadata.ts +51 -0
- package/cloud-runtime/standalone/apps/local/hooks/useTrackerLabels.ts +74 -0
- package/cloud-runtime/standalone/apps/local/hooks/useTrackerRuns.ts +5 -0
- package/cloud-runtime/standalone/apps/local/lib/agent-process-registry.ts +8 -2
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/adapter.tsx +1 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/jira/issues.ts +1 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/adapter.tsx +1 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/client.ts +5 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/adapters/linear/issues.ts +1 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/connections.ts +46 -15
- package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-adapter.ts +2 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-item-metadata-store.ts +262 -0
- package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-item-store.ts +10 -3
- package/cloud-runtime/standalone/apps/local/lib/tracker/tracker-run-store.ts +42 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +7 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/task-worker.ts +7 -0
- package/cloud-runtime/standalone/apps/local/state/trackerBoardFilters.ts +4 -0
- package/cloud-runtime/standalone/apps/local/worker/index.js +6 -2
- package/package.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__847236fb._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_80b34b78._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__30bf097e._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__46ae9d33._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__50fd8680._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__8059a285._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__886953ec._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__97160565._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0876dfd6ce07abaf.js +0 -9
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/1ec83777a9abd420.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/286758b0fd546c68.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/a72ed5cb3feb0d51.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/b02c180ad1d968eb.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/b048a4812b51f97a.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/c63d97c917d96f47.js +0 -46
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/d3bf70e2fbdc0ae5.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/dd5a56eea2d4c067.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/dd7d7c382389b8b9.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/e72724fd8225ec39.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/ec92e3bd6c2db6e6.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/ffcc32453866d0c2.js +0 -1
- /package/cloud-runtime/standalone/apps/local/.next/static/{QEldoF1LdgJqO0PgpmUmx → 3-6VaSnGGXdV-2eV44RDK}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{QEldoF1LdgJqO0PgpmUmx → 3-6VaSnGGXdV-2eV44RDK}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{QEldoF1LdgJqO0PgpmUmx → 3-6VaSnGGXdV-2eV44RDK}/_ssgManifest.js +0 -0
package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ba72d342._.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},214348,e=>{"use strict";var t=e.i(522734),r=e.i(446786),s=e.i(814747),i=e.i(801243);let{DatabaseSync:
|
|
1
|
+
module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},224361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},214348,e=>{"use strict";var t=e.i(522734),r=e.i(446786),s=e.i(814747),i=e.i(801243);let{DatabaseSync:o}=process.getBuiltinModule("node:sqlite"),a=process.env.AGX_GROUP_CHAT_DIR?.trim()||s.default.join(r.default.homedir(),".agx","group-chat"),n=s.default.join(a,"history.sqlite");function u(e){return"scripted"===e?"scripted":"chat"}function c(e){let t,r=e.chat_created_at??e.created_at,s=e.chat_completed_at??null,i=function(e,t){switch(e){case"queued":return"queued";case"running":case"awaiting_user":case"blocked":return"running";case"completed":return"success";case"failed":return"failed";case"cancelled":return"cancelled";default:return t}}(e.chat_status,e.status);return{id:e.id,projectId:e.project_id,projectSlug:e.project_slug,issueId:e.issue_id,issueIdentifier:e.issue_identifier,issueTitle:e.issue_title,issueStatus:e.issue_status,issueAssignee:e.issue_assignee,threadId:e.thread_id,rootMessageId:e.root_message_id,chatRunId:e.chat_run_id,agentId:e.agent_id,agentName:e.agent_name,mode:u(e.mode),sessionTitle:"chat"===u(e.mode)&&(t=String(e.root_content??"").replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").replace(/\s+/g," ").trim())?t.length>72?`${t.slice(0,69).trimEnd()}...`:t:null,status:i,durationMs:null!=s?Math.max(s-r,0):null,lastError:e.chat_last_error??e.error,recapFilePath:e.recap_file_path??null,startedAt:new Date(r).toISOString(),updatedAt:new Date((e.chat_updated_at??e.updated_at)||e.updated_at).toISOString(),completedAt:"number"==typeof s?new Date(s).toISOString():null}}async function l(e){await t.promises.mkdir(a,{recursive:!0});let r=new o(n);(0,i.pragmaSet)(r,"journal_mode = WAL");try{r.exec(`
|
|
2
2
|
CREATE TABLE IF NOT EXISTS chat_runs (
|
|
3
3
|
id TEXT PRIMARY KEY,
|
|
4
4
|
thread_id TEXT NOT NULL,
|
|
@@ -59,7 +59,7 @@ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},
|
|
|
59
59
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_linear_runs_chat_run_id
|
|
60
60
|
ON linear_runs (chat_run_id)
|
|
61
61
|
WHERE chat_run_id IS NOT NULL;
|
|
62
|
-
`);let t=r.prepare("PRAGMA table_info(linear_runs)").all();return t.some(e=>"mode"===e.name)||r.exec("ALTER TABLE linear_runs ADD COLUMN mode TEXT NOT NULL DEFAULT 'chat';"),t.some(e=>"recap_file_path"===e.name)||r.exec("ALTER TABLE linear_runs ADD COLUMN recap_file_path TEXT;"),e(r)}finally{r.close()}}async function d(e){var t;let r=e.issueId.trim(),s=(t=e.projectId??null,t?.trim()||null),i=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),100):50;return l(e=>{let t=[r],
|
|
62
|
+
`);let t=r.prepare("PRAGMA table_info(linear_runs)").all();return t.some(e=>"mode"===e.name)||r.exec("ALTER TABLE linear_runs ADD COLUMN mode TEXT NOT NULL DEFAULT 'chat';"),t.some(e=>"recap_file_path"===e.name)||r.exec("ALTER TABLE linear_runs ADD COLUMN recap_file_path TEXT;"),e(r)}finally{r.close()}}async function d(e){var t;let r=e.issueId.trim(),s=(t=e.projectId??null,t?.trim()||null),i=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),100):50;return l(e=>{let t=[r],o=["lr.issue_id = ?"];return s&&(o.push("lr.project_id = ?"),t.push(s)),t.push(i),e.prepare(`SELECT
|
|
63
63
|
lr.*,
|
|
64
64
|
cr.status AS chat_status,
|
|
65
65
|
cr.last_error AS chat_last_error,
|
|
@@ -72,7 +72,7 @@ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},
|
|
|
72
72
|
SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
|
|
73
73
|
)
|
|
74
74
|
LEFT JOIN messages msg ON msg.thread_id = lr.thread_id AND msg.id = lr.root_message_id
|
|
75
|
-
WHERE ${
|
|
75
|
+
WHERE ${o.join(" AND ")}
|
|
76
76
|
ORDER BY lr.created_at DESC
|
|
77
77
|
LIMIT ?`).all(...t).map(c)})}async function p(e){return l(t=>{let r=e?.trim(),s=r?`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
|
|
78
78
|
FROM linear_runs lr
|
|
@@ -85,7 +85,7 @@ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},
|
|
|
85
85
|
INNER JOIN chat_runs cr ON cr.id = (
|
|
86
86
|
SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
|
|
87
87
|
)
|
|
88
|
-
WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(s).all(e.trim()):t.prepare(s).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["getIssueActiveAgents",()=>p,"listLinearRuns",()=>d])},857155,e=>{"use strict";var t=e.i(577820),r=e.i(297761),s=e.i(214348),i=e.i(577251);e.i(533111);var
|
|
89
|
-
${e.body}`));let b=_.activities??[];return b.length>0&&
|
|
88
|
+
WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(s).all(e.trim()):t.prepare(s).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["getIssueActiveAgents",()=>p,"listLinearRuns",()=>d])},857155,e=>{"use strict";var t=e.i(577820),r=e.i(297761),s=e.i(214348),i=e.i(577251);e.i(533111);var o=e.i(782557),a=e.i(700014);let n="project_objective_health_history",u={"on track":"on_track","at risk":"at_risk","off track":"off_track",done:"done"};function c(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function l(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function d(e){return"string"==typeof e&&e.trim()?e.trim():void 0}function p(...e){let t=e.flatMap(e=>e??[]),r=[];for(let e of[...t].sort((e,t)=>Date.parse(e.recordedAt)-Date.parse(t.recordedAt))){let t=r[r.length-1]??null;t&&t.progress===e.progress&&t.status===e.status&&(!t.source||!e.source||t.source===e.source)&&5e3>=Math.abs(Date.parse(e.recordedAt)-Date.parse(t.recordedAt))||r.push(e)}return r}var T=e.i(374371),_=e.i(994281);let E={on_track:"On track",at_risk:"At risk",off_track:"Off track",done:"Done"};async function m(e){let t=Date.now(),r="";try{return await (0,T.runCliResponse)({provider:e.provider,model:e.model,prompt:e.prompt,identity:e.identity,self:e.self,skills:e.skills,systemContext:e.systemContext,passthroughArgs:e.cliArgs?e.cliArgs.split(/\s+/).filter(Boolean):void 0,onDelta:e=>{r+=e},onSpawn:e.onSpawn}),{output:r,error:"",durationMs:Date.now()-t,status:"success"}}catch(e){return{output:r,error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}function g(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}function h(e){let t=e.trim();if(!t)return null;let r=g(t);if(r)return r;let s=t.indexOf("{"),i=t.lastIndexOf("}");return -1===s||i<=s?null:g(t.slice(s,i+1))}function N(e){return"number"==typeof e&&Number.isFinite(e)?(0,_.normalizeProjectHealthProgress)(e):null}function j(e){return"string"==typeof e&&e.trim()?(0,_.normalizeProjectHealthStatus)(e):null}function f(e,t,r){return`${e}: ${t}% ${E[r]}`}function I(e){return[`- id: ${e.id}`,` identifier: ${e.identifier}`,` title: ${e.title}`,` status: ${e.status}`,` assignee: ${e.assignee??"Unassigned"}`,e.url?` url: ${e.url}`:null].filter(e=>!!e).join("\n")}async function b(e){let{job:a,objectiveContext:n}=e,{project:u,workspace:c,objective:l}=n,d=u.slug??u.id,[{issues:p},T,_,E]=await Promise.all([(0,r.listObjectiveTrackerIssues)({projectId:u.id,objectiveKey:l.key,projectSlug:d,refresh:!0}),(0,s.getIssueActiveAgents)(u.id),Promise.resolve((0,i.getActivityRepository)(d,l.key).list({limit:20})),Promise.resolve((0,o.getNoteRepository)(d,l.key).readAll())]),m=new Set(p.map(e=>e.id)),g=T.filter(e=>m.has(e.issueId)),h=(0,r.filterObjectiveTrackerIssuesForAction)(p,g.map(e=>e.issueId)),N=(0,t.getPromptJobStore)().listJobs({objectiveId:l.id}).filter(e=>e.id!==a.id),j=c.objectives.filter(e=>e.id!==l.id),f=[];f.push("GOAL",l.title,l.summary?.trim()||"No summary provided."),f.push("","CURRENT STATE",`Progress: ${l.progress}% | Status: ${l.status}`),E.length>0&&f.push("","NOTES",...E.map(e=>`### ${e.title}
|
|
89
|
+
${e.body}`));let b=_.activities??[];return b.length>0&&f.push("","RECENT ACTIVITY",...b.map(e=>{let t=e.createdAt.replace("T"," ").replace(/\.\d+Z$/,"").slice(0,16);return`- [${t}] ${e.body.split("\n")[0]}`})),p.length>0?f.push("","LINEAR TICKETS",p.map(e=>I(e)).join("\n\n")):f.push("","LINEAR TICKETS","- None."),g.length>0&&f.push("","ACTIVE SESSIONS",...g.map(e=>`- ${e.issueId}: running with ${e.agentName}`)),N.length>0&&f.push("","SCHEDULED TASKS",...N.map(e=>`- ${e.name} | state: ${e.state} | last outcome: ${e.lastOutcome??"none"}`)),j.length>0&&f.push("","PROJECT CONTEXT",...j.map(e=>`- ${e.title} (${e.key}) | ${e.progress}% | ${e.status}`)),f.push("","GUIDANCE",a.prompt.trim()||"No additional guidance provided."),f.push("","ELIGIBLE TICKETS",h.length>0?h.map(e=>I(e)).join("\n\n"):"- None."),f.push("","---","What single action most advances this objective right now?"),{prompt:f.join("\n"),issues:p,eligibleIssues:h,activeIssueAgents:g}}async function L(t){let r=Date.now();try{if(!t.job.projectId||!t.job.objectiveId)throw Error("Objective worker jobs require projectId and objectiveId.");let s=await (0,a.loadProjectObjectiveContext)(t.job.projectId,t.job.objectiveId);if(!s)throw Error("Objective context could not be resolved for this scheduled task.");let i=await b({job:t.job,objectiveContext:s}),o=await m({...t.controllerContext,prompt:i.prompt,systemContext:'You are deciding what action an objective worker should take next.\nReturn ONLY raw JSON with no markdown fences or commentary.\nValid responses:\n{"action":"work_ticket","ticketId":"ticket-id","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk","projectProgress":35,"projectStatus":"at_risk"}\n{"action":"run_prompt","prompt":"detailed instructions","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk"}\n{"action":"stop","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk"}\nRules:\n- "work_ticket": ticketId must exactly match one of the ELIGIBLE TICKETS ids.\n- "run_prompt": for work not captured by existing tickets. When no tickets are actionable and the objective is not done, use this to plan: review notes, refine the last plan, or outline next steps. The prompt should instruct the agent to append to an existing note when one is relevant rather than creating a new note.\n- "stop": only when the objective is done or genuinely no action (including planning) adds value.\nPercentages must be integers 0-100.\nStatuses: on_track, at_risk, off_track, done.',cliArgs:t.cliArgs,onSpawn:t.onSpawn});if("success"!==o.status)return{...o,output:o.output||"Objective controller failed before selecting an action."};let T=h(o.output),E="string"==typeof T?.action?T.action.trim().toLowerCase():"string"==typeof T?.decision?T.decision.trim().toLowerCase():"",g="work"===E?"work_ticket":E;if(!g){let e=o.output??"";console.warn(`[objective-worker] empty action from controller (job=${t.job.id}, outputLen=${e.length}, parsed=${T?"object":"null"}):`,e.slice(0,500))}let I="string"==typeof T?.reason?T.reason.trim():"",L=N(T?.objectiveProgress),O=j(T?.objectiveStatus),A=N(T?.projectProgress),v=j(T?.projectStatus),S="string"==typeof T?.projectNote?T.projectNote.trim():"",y="string"==typeof T?.objectiveNote?T.objectiveNote.trim():"",R=new Date().toISOString(),k=null!==L&&O?f("Objective health",L,O):null,w=null!==A&&v?f("Project health",A,v):null,x=null!==L&&null!==O?{objectiveId:s.objective.id,objectiveKey:s.objective.key,progress:L,status:O,recordedAt:R,source:`scheduled-task:${t.job.id}`,note:y||void 0}:null,D=null!==L&&null!==O&&(L!==s.objective.progress||O!==s.objective.status),X=D?(0,_.upsertProjectObjective)(s.workspace,{...s.objective,progress:L,status:O,updatedAt:R}):s.workspace,C=null!==A&&null!==v?{progress:A,status:v,updatedAt:R,source:`scheduled-task:${t.job.id}`,objectiveId:s.objective.id,objectiveKey:s.objective.key,note:S||void 0}:null,U=e=>{let t=e;return C&&(t=(0,_.writeProjectHealthSnapshot)(t,C)),x&&(t=function(e,t){let r=t.objectiveId.trim();if(!r)return e;let s=function(e,t){if(!c(e)||!t.trim())return[];let r=e[n];if(!c(r))return[];let s=r[t.trim()];return Array.isArray(s)?p(s.map(e=>(function(e){if(!c(e))return null;let t=function(e){if("string"!=typeof e)return null;let t=e.trim().toLowerCase();return"on_track"===t||"at_risk"===t||"off_track"===t||"done"===t?t:u[t]??null}(e.status),r=function(e){if("string"!=typeof e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:new Date(t).toISOString()}(e.recordedAt);return t&&r?{progress:l(e.progress),status:t,recordedAt:r,source:d(e.source),note:d(e.note),objectiveId:d(e.objectiveId)??null,objectiveKey:d(e.objectiveKey)??null}:null})(e)).filter(e=>!!e)):[]}(e,r),i=p(s,[t]).slice(-200),o=c(e[n])?e[n]:{};return{...e,[n]:{...o,[r]:i.map(e=>({progress:l(e.progress),status:e.status,recordedAt:e.recordedAt,...e.source?{source:e.source}:{},...e.note?{note:e.note}:{},...e.objectiveId?{objectiveId:e.objectiveId}:{},...e.objectiveKey?{objectiveKey:e.objectiveKey}:{}}))}}}(t,x)),t};D?await (0,a.persistProjectObjectiveWorkspace)({projectId:s.project.id,currentMetadata:s.project.metadata,workspace:X,transformMetadata:U}):(x||C)&&await (0,a.persistProjectObjectiveMetadata)({projectId:s.project.id,currentMetadata:s.project.metadata,transformMetadata:U});let{dispatchObjectiveAction:M}=await e.A(371020),$=await M({action:g,parsed:T,reason:I,job:t.job,controllerContext:t.controllerContext,sessionAgent:t.sessionAgent,objectiveContext:s,eligibleIssues:i.eligibleIssues,issues:i.issues,healthSummaries:{objectiveHealthSummary:k,projectHealthSummary:w,objectiveNote:y,projectNote:S},cliArgs:t.cliArgs,onSpawn:t.onSpawn,startMs:r}),{logActionReceipt:P}=await e.A(371020);return await P($,{jobId:t.job.id,projectId:t.job.projectId,objectiveId:t.job.objectiveId}),{output:$.result,error:"failed"===$.status?$.result:"",durationMs:Date.now()-r,status:$.status}}catch(e){return{output:"",error:e instanceof Error?e.message:String(e),durationMs:Date.now()-r,status:"failed"}}}e.s(["buildObjectiveObservation",()=>b,"executeObjectiveWorker",()=>L,"extractFirstJsonObject",()=>h],857155)}];
|
|
90
90
|
|
|
91
91
|
//# sourceMappingURL=%5Broot-of-the-server%5D__ba72d342._.js.map
|
package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__d8cc43c7._.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},769025,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function s(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function
|
|
1
|
+
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},769025,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function s(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function i(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>s,"transactionFn",()=>i])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},744071,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},452377,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(769025),r=e.i(522734),a=e.i(446786),s=e.i(814747);let i="3.35.0",n=["json1"],o=["fts5"],u=["nfs","smb","cifs","efs","fuse.sshfs"];function d(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function l(l,c){let p=[],_=l.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(_.v,i)&&p.push({kind:"version_mismatch",message:`SQLite version ${_.v} is below minimum ${i}`,found:_.v,required:`>= ${i}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),n))d(l,e)||p.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)d(l,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let E=function(t){"linux"!==a.default.platform()&&a.default.platform();try{let i=s.default.resolve(t),{execSync:n}=e.r(233405);if("darwin"===a.default.platform());else{let e=r.default.readFileSync("/proc/mounts","utf-8"),t="",a="unknown";for(let r of e.split("\n")){let[,e,s]=r.split(/\s+/);e&&i.startsWith(e)&&e.length>t.length&&(t=e,a=s||"unknown")}return a}}catch{}return null}(c);E&&u.some(e=>E.toLowerCase().includes(e))&&p.push({kind:"filesystem_error",message:`Database path '${c}' is on a network filesystem (${E})`,path:c,found:E,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(l,"journal_mode = wal"),(0,t.pragmaSet)(l,"foreign_keys = 1"),(0,t.pragmaSet)(l,"busy_timeout = 5000"),(0,t.pragmaSet)(l,"synchronous = 1"),(0,t.pragmaSet)(l,"cache_size = -64000");let e=(0,t.pragmaGet)(l,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(l,"journal_mode = DELETE");let e=(0,t.pragmaGet)(l,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(l,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):p.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){p.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return p}e.s(["validateSQLiteEnvironment",()=>l])},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},770027,e=>{"use strict";e.i(698134);var t=e.i(88007);function r(e){if(!e)throw Error(`Missing tracker type. Available: ${(0,t.listAdapterTypes)().join(", ")}`);return(0,t.getAdapter)(e)}function a(e){return Response.json({error:e},{status:400})}e.s(["badRequest",()=>a,"resolveAdapter",()=>r])},85e4,e=>{"use strict";var t=e.i(522734),r=e.i(446786),a=e.i(814747),s=e.i(769025);let{DatabaseSync:i}=process.getBuiltinModule("node:sqlite"),n=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(r.default.homedir(),".agx","group-chat"),o=a.default.join(n,"history.sqlite");function u(e){return e?.trim()||null}function d(e){return"scripted"===e?"scripted":"chat"}function l(e){let t,r=e.chat_created_at??e.created_at,a=e.chat_completed_at??null,s=function(e,t){switch(e){case"queued":return"queued";case"running":case"awaiting_user":case"blocked":return"running";case"completed":return"success";case"failed":return"failed";case"cancelled":return"cancelled";default:return t}}(e.chat_status,e.status);return{id:e.id,projectId:e.project_id,projectSlug:e.project_slug,trackerType:e.tracker_type,issueId:e.issue_id,issueIdentifier:e.issue_identifier,issueTitle:e.issue_title,issueStatus:e.issue_status,issueAssignee:e.issue_assignee,threadId:e.thread_id,rootMessageId:e.root_message_id,chatRunId:e.chat_run_id,agentId:e.agent_id,agentName:e.agent_name,mode:d(e.mode),sessionTitle:"chat"===d(e.mode)&&(t=String(e.root_content??"").replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").replace(/\s+/g," ").trim())?t.length>72?`${t.slice(0,69).trimEnd()}...`:t:null,status:s,durationMs:null!=a?Math.max(a-r,0):null,lastError:e.chat_last_error??e.error,recapFilePath:e.recap_file_path??null,startedAt:new Date(r).toISOString(),updatedAt:new Date((e.chat_updated_at??e.updated_at)||e.updated_at).toISOString(),completedAt:"number"==typeof a?new Date(a).toISOString():null}}async function c(e){await t.promises.mkdir(n,{recursive:!0});let r=new i(o);(0,s.pragmaSet)(r,"journal_mode = WAL");try{r.exec(`
|
|
2
2
|
CREATE TABLE IF NOT EXISTS chat_runs (
|
|
3
3
|
id TEXT PRIMARY KEY,
|
|
4
4
|
thread_id TEXT NOT NULL,
|
|
@@ -85,20 +85,35 @@ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/a
|
|
|
85
85
|
LEFT JOIN chat_runs cr ON cr.id = (
|
|
86
86
|
SELECT id FROM chat_runs WHERE thread_id = tr.thread_id ORDER BY updated_at DESC LIMIT 1
|
|
87
87
|
)
|
|
88
|
-
LEFT JOIN messages msg ON msg.thread_id = tr.thread_id AND msg.id = tr.root_message_id`;async function _(e){let t=Date.now(),r=u(e.id)??crypto.randomUUID(),a=u(e.threadId)??`tracker-run:${r}`,s=d(e.mode),
|
|
88
|
+
LEFT JOIN messages msg ON msg.thread_id = tr.thread_id AND msg.id = tr.root_message_id`;async function _(e){let t=Date.now(),r=u(e.id)??crypto.randomUUID(),a=u(e.threadId)??`tracker-run:${r}`,s=d(e.mode),i=e.trackerType??"linear";return c(n=>{n.prepare(`INSERT INTO tracker_runs (
|
|
89
89
|
id, project_id, project_slug, tracker_type,
|
|
90
90
|
issue_id, issue_identifier, issue_title,
|
|
91
91
|
issue_status, issue_assignee, thread_id, root_message_id, chat_run_id,
|
|
92
92
|
agent_id, agent_name, mode, status, error, recap_file_path, created_at, updated_at
|
|
93
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL, ?, ?, ?, 'queued', NULL, ?, ?, ?)`).run(r,u(e.projectId??null),u(e.projectSlug??null),
|
|
94
|
-
WHERE ${
|
|
93
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL, ?, ?, ?, 'queued', NULL, ?, ?, ?)`).run(r,u(e.projectId??null),u(e.projectSlug??null),i,e.issueId.trim(),e.issueIdentifier.trim(),e.issueTitle.trim(),e.issueStatus.trim(),u(e.issueAssignee??null),a,e.agentId.trim(),e.agentName.trim(),s,u(e.recapFilePath??null),t,t);let o=n.prepare(`${p} WHERE tr.id = ? LIMIT 1`).get(r);if(!o)throw Error(`Failed to create tracker run ${r}`);return l(o)})}async function E(e){return c(t=>{let r=["updated_at = ?"],a=[Date.now()];void 0!==e.rootMessageId&&(r.push("root_message_id = ?"),a.push(u(e.rootMessageId))),void 0!==e.chatRunId&&(r.push("chat_run_id = ?"),a.push(u(e.chatRunId))),void 0!==e.status&&(r.push("status = ?"),a.push(e.status)),void 0!==e.error&&(r.push("error = ?"),a.push(u(e.error))),a.push(e.id.trim()),t.prepare(`UPDATE tracker_runs SET ${r.join(", ")} WHERE id = ?`).run(...a);let s=t.prepare(`${p} WHERE tr.id = ? LIMIT 1`).get(e.id.trim());return s?l(s):null})}async function T(e){return c(t=>{let r=t.prepare(`${p} WHERE tr.id = ? LIMIT 1`).get(e.trim());return r?l(r):null})}async function m(e){let t=e.issueId.trim(),r=u(e.projectId??null),a=u(e.trackerType??null),s=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),100):50;return c(e=>{let i=[t],n=["tr.issue_id = ?"];return r&&(n.push("tr.project_id = ?"),i.push(r)),a&&(n.push("tr.tracker_type = ?"),i.push(a)),i.push(s),e.prepare(`${p}
|
|
94
|
+
WHERE ${n.join(" AND ")}
|
|
95
95
|
ORDER BY tr.created_at DESC
|
|
96
|
-
LIMIT ?`).all(...
|
|
96
|
+
LIMIT ?`).all(...i).map(l)})}async function h(e){return c(t=>{let r=e?.trim(),a=r?`SELECT issue_id, MAX(created_at) AS last_activity_at
|
|
97
97
|
FROM tracker_runs
|
|
98
98
|
WHERE project_id = ?
|
|
99
99
|
GROUP BY issue_id`:`SELECT issue_id, MAX(created_at) AS last_activity_at
|
|
100
100
|
FROM tracker_runs
|
|
101
|
-
GROUP BY issue_id`,s=r?t.prepare(a).all(e.trim()):t.prepare(a).all(),
|
|
101
|
+
GROUP BY issue_id`,s=r?t.prepare(a).all(e.trim()):t.prepare(a).all(),i=new Map;for(let e of s)i.set(e.issue_id,new Date(e.last_activity_at).toISOString());return i})}async function g(e){return c(t=>{let r=e?.trim(),a=r?`SELECT tr.issue_id,
|
|
102
|
+
COUNT(DISTINCT tr.id) AS sessions,
|
|
103
|
+
COALESCE(SUM(mc.cnt), 0) AS messages
|
|
104
|
+
FROM tracker_runs tr
|
|
105
|
+
LEFT JOIN (
|
|
106
|
+
SELECT thread_id, COUNT(*) AS cnt FROM messages GROUP BY thread_id
|
|
107
|
+
) mc ON mc.thread_id = tr.thread_id
|
|
108
|
+
WHERE tr.project_id = ?
|
|
109
|
+
GROUP BY tr.issue_id`:`SELECT tr.issue_id,
|
|
110
|
+
COUNT(DISTINCT tr.id) AS sessions,
|
|
111
|
+
COALESCE(SUM(mc.cnt), 0) AS messages
|
|
112
|
+
FROM tracker_runs tr
|
|
113
|
+
LEFT JOIN (
|
|
114
|
+
SELECT thread_id, COUNT(*) AS cnt FROM messages GROUP BY thread_id
|
|
115
|
+
) mc ON mc.thread_id = tr.thread_id
|
|
116
|
+
GROUP BY tr.issue_id`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,sessions:e.sessions,messages:e.messages}))})}async function N(e){return c(t=>{let r=e?.trim(),a=r?`SELECT DISTINCT tr.issue_id, tr.agent_id, tr.agent_name
|
|
102
117
|
FROM tracker_runs tr
|
|
103
118
|
INNER JOIN chat_runs cr ON cr.id = (
|
|
104
119
|
SELECT id FROM chat_runs WHERE thread_id = tr.thread_id ORDER BY updated_at DESC LIMIT 1
|
|
@@ -109,6 +124,6 @@ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/a
|
|
|
109
124
|
INNER JOIN chat_runs cr ON cr.id = (
|
|
110
125
|
SELECT id FROM chat_runs WHERE thread_id = tr.thread_id ORDER BY updated_at DESC LIMIT 1
|
|
111
126
|
)
|
|
112
|
-
WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,_,"createTrackerRun",()=>_,"getIssueActiveAgents",()=>
|
|
127
|
+
WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,_,"createTrackerRun",()=>_,"getIssueActiveAgents",()=>N,"getIssueActivityMap",()=>h,"getIssueStats",()=>g,"getLinearRun",0,T,"getTrackerRun",()=>T,"listLinearRuns",0,m,"listTrackerRuns",()=>m,"updateLinearRun",0,E,"updateTrackerRun",()=>E])},711794,e=>{"use strict";var t=e.i(692988),r=e.i(635595),a=e.i(75473),s=e.i(923435),i=e.i(418475),n=e.i(303482),o=e.i(976287),u=e.i(774462),d=e.i(111998),l=e.i(201516),c=e.i(68877),p=e.i(259460),_=e.i(257714),E=e.i(502073),T=e.i(187345),m=e.i(193695);e.i(293777);var h=e.i(274321),g=e.i(732470);e.i(698134);var N=e.i(770027),R=e.i(85e4);function f(e){return"string"==typeof e&&e.trim()?e.trim():null}async function L(e,{params:t}){let{tracker:r}=await t;try{let t=e.nextUrl.searchParams.get("issueId")?.trim(),a=e.nextUrl.searchParams.get("projectId")?.trim()??null,s=e.nextUrl.searchParams.get("limit"),i=s?Number.parseInt(s,10):void 0;if(!t)return(0,N.badRequest)("issueId is required");let n=await (0,R.listTrackerRuns)({issueId:t,projectId:a,trackerType:r,limit:i});return g.NextResponse.json({count:n.length,runs:n})}catch(e){return console.error("Failed to list tracker runs:",e),g.NextResponse.json({error:"Failed to list tracker runs",message:e instanceof Error?e.message:String(e)},{status:500})}}async function S(e,{params:t}){let{tracker:r}=await t;try{var a;let t=await e.json().catch(()=>({})),s=f(t.issueId),i=f(t.issueIdentifier),n=f(t.issueTitle),o=f(t.issueStatus),u=f(t.agentId),d=f(t.agentName);if(!s||!i||!n||!o||!u||!d)return(0,N.badRequest)("issueId, issueIdentifier, issueTitle, issueStatus, agentId, and agentName are required");let l=await (0,R.createTrackerRun)({projectId:f(t.projectId),projectSlug:f(t.projectSlug),trackerType:r,issueId:s,issueIdentifier:i,issueTitle:n,issueStatus:o,issueAssignee:f(t.issueAssignee),agentId:u,agentName:d,mode:(a=t.mode,"scripted"===a?"scripted":"chat")});return g.NextResponse.json({run:l},{status:201})}catch(e){return console.error("Failed to create tracker run:",e),g.NextResponse.json({error:"Failed to create tracker run",message:e instanceof Error?e.message:String(e)},{status:500})}}e.s(["GET",()=>L,"POST",()=>S,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],184760);var I=e.i(184760);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/trackers/[tracker]/runs/route",pathname:"/api/trackers/[tracker]/runs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/trackers/[tracker]/runs/route.ts",nextConfigOutput:"standalone",userland:I}),{workAsyncStorage:O,workUnitAsyncStorage:x,serverHooks:v}=A;function y(){return(0,a.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:x})}async function k(e,t,a){A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/trackers/[tracker]/runs/route";g=g.replace(/\/index$/,"")||"/";let N=await A.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!N)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:f,nextConfig:L,parsedUrl:S,isDraftMode:I,prerenderManifest:O,routerServerContext:x,isOnDemandRevalidate:v,revalidateOnlyGenerated:y,resolvedPathname:k,clientReferenceManifest:U,serverActionsManifest:C}=N,w=(0,o.normalizeAppPath)(g),D=!!(O.dynamicRoutes[w]||O.routes[k]),j=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,S,!1):t.end("This page could not be found"),null);if(D&&!I){let e=!!O.routes[k],t=O.dynamicRoutes[w];if(t&&!1===t.fallback&&!e){if(L.experimental.adapterPath)return await j();throw new m.NoFallbackError}}let M=null;!D||A.isDev||I||(M="/index"===(M=k)?"/":M);let b=!0===A.isDev||!D,F=D&&!b;C&&U&&(0,n.setManifestsSingleton)({page:g,clientReferenceManifest:U,serverActionsManifest:C});let X=e.method||"GET",P=(0,i.getTracer)(),q=P.getActiveScopeSpan(),G={params:f,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!L.experimental.authInterrupts},cacheComponents:!!L.cacheComponents,supportsDynamicResponse:b,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:L.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>A.onRequestError(e,t,a,s,x)},sharedContext:{buildId:R}},$=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),H=d.NextRequestAdapter.fromNodeNextRequest($,(0,d.signalFromNodeResponse)(t));try{let n=async e=>A.handle(H,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=P.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${X} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${X} ${g}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),u=async s=>{var i,u;let d=async({previousCacheEntry:r})=>{try{if(!o&&v&&y&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let u=G.renderOpts.pendingWaitUntil;u&&a.waitUntil&&(a.waitUntil(u),u=void 0);let d=G.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)($,B,i,G.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,_.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[T.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=T.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=T.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:v})},!1,x),t}},l=await A.handleResponse({req:e,nextConfig:L,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:v,revalidateOnlyGenerated:y,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!D)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(u=l.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",v?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,_.fromNodeOutgoingHttpHeaders)(l.value.headers);return o&&D||m.delete(T.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,E.getCacheControlHeader)(l.cacheControl)),await (0,p.sendResponse)($,B,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};q?await u(q):await P.withPropagatedContext(e.headers,()=>P.trace(l.BaseServerSpan.handleRequest,{spanName:`${X} ${g}`,kind:i.SpanKind.SERVER,attributes:{"http.method":X,"http.target":e.url}},u))}catch(t){if(t instanceof m.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:v})},!1,x),D)throw t;return await (0,p.sendResponse)($,B,new Response(null,{status:500})),null}}e.s(["handler",()=>k,"patchFetch",()=>y,"routeModule",()=>A,"serverHooks",()=>v,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>x],711794)},58723,e=>{e.v(e=>Promise.resolve().then(()=>e(78362)))},138720,e=>{e.v(e=>Promise.resolve().then(()=>e(85e4)))},410437,e=>{e.v(e=>Promise.resolve().then(()=>e(862263)))},836400,e=>{e.v(e=>Promise.resolve().then(()=>e(581001)))},169447,e=>{e.v(e=>Promise.resolve().then(()=>e(242617)))},119130,e=>{e.v(e=>Promise.resolve().then(()=>e(607495)))}];
|
|
113
128
|
|
|
114
129
|
//# sourceMappingURL=%5Broot-of-the-server%5D__d8cc43c7._.js.map
|
package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f598d976._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},769025,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function s(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function n(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>s,"transactionFn",()=>n])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},744071,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},452377,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(769025),r=e.i(522734),a=e.i(446786),s=e.i(814747);let n="3.35.0",o=["json1"],i=["fts5"],l=["nfs","smb","cifs","efs","fuse.sshfs"];function u(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function d(d,c){let p=[],f=d.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(f.v,n)&&p.push({kind:"version_mismatch",message:`SQLite version ${f.v} is below minimum ${n}`,found:f.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),o))u(d,e)||p.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of i)u(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(t){"linux"!==a.default.platform()&&a.default.platform();try{let n=s.default.resolve(t),{execSync:o}=e.r(233405);if("darwin"===a.default.platform());else{let e=r.default.readFileSync("/proc/mounts","utf-8"),t="",a="unknown";for(let r of e.split("\n")){let[,e,s]=r.split(/\s+/);e&&n.startsWith(e)&&e.length>t.length&&(t=e,a=s||"unknown")}return a}}catch{}return null}(c);h&&l.some(e=>h.toLowerCase().includes(e))&&p.push({kind:"filesystem_error",message:`Database path '${c}' is on a network filesystem (${h})`,path:c,found:h,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(d,"journal_mode = wal"),(0,t.pragmaSet)(d,"foreign_keys = 1"),(0,t.pragmaSet)(d,"busy_timeout = 5000"),(0,t.pragmaSet)(d,"synchronous = 1"),(0,t.pragmaSet)(d,"cache_size = -64000");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(d,"journal_mode = DELETE");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(d,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):p.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){p.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return p}e.s(["validateSQLiteEnvironment",()=>d])},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},770027,e=>{"use strict";e.i(698134);var t=e.i(88007);function r(e){if(!e)throw Error(`Missing tracker type. Available: ${(0,t.listAdapterTypes)().join(", ")}`);return(0,t.getAdapter)(e)}function a(e){return Response.json({error:e},{status:400})}e.s(["badRequest",()=>a,"resolveAdapter",()=>r])},824656,e=>{"use strict";var t=e.i(692988),r=e.i(635595),a=e.i(75473),s=e.i(923435),n=e.i(418475),o=e.i(303482),i=e.i(976287),l=e.i(774462),u=e.i(111998),d=e.i(201516),c=e.i(68877),p=e.i(259460),f=e.i(257714),h=e.i(502073),m=e.i(187345),x=e.i(193695);e.i(293777);var v=e.i(274321),g=e.i(732470);e.i(698134);var R=e.i(770027);async function E(e,{params:t}){let{tracker:r}=await t,a=e.nextUrl.searchParams.get("projectId")?.trim();if(!a)return(0,R.badRequest)("projectId required");let s=(0,R.resolveAdapter)(r);try{let[e,t,r]=await Promise.allSettled([s.listAssignees(a),s.listGroups(a),s.listStatuses(a)]);return g.NextResponse.json({assignees:"fulfilled"===e.status?e.value:[],groups:"fulfilled"===t.status?t.value:[],statuses:"fulfilled"===r.status?r.value:[]})}catch(t){let e=t instanceof Error?t.message:"Failed to fetch options";return g.NextResponse.json({error:e},{status:500})}}e.s(["GET",()=>E,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],11579);var w=e.i(11579);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/trackers/[tracker]/options/route",pathname:"/api/trackers/[tracker]/options",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/trackers/[tracker]/options/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:y,workUnitAsyncStorage:_,serverHooks:b}=A;function S(){return(0,a.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:_})}async function C(e,t,a){A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/trackers/[tracker]/options/route";g=g.replace(/\/index$/,"")||"/";let R=await A.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,params:w,nextConfig:y,parsedUrl:_,isDraftMode:b,prerenderManifest:S,routerServerContext:C,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,resolvedPathname:T,clientReferenceManifest:L,serverActionsManifest:j}=R,P=(0,i.normalizeAppPath)(g),N=!!(S.dynamicRoutes[P]||S.routes[T]),O=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,_,!1):t.end("This page could not be found"),null);if(N&&!b){let e=!!S.routes[T],t=S.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await O();throw new x.NoFallbackError}}let I=null;!N||A.isDev||b||(I="/index"===(I=T)?"/":I);let U=!0===A.isDev||!N,M=N&&!U;j&&L&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:L,serverActionsManifest:j});let $=e.method||"GET",D=(0,n.getTracer)(),F=D.getActiveScopeSpan(),G={params:w,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>A.onRequestError(e,t,a,s,C)},sharedContext:{buildId:E}},H=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(H,(0,u.signalFromNodeResponse)(t));try{let o=async e=>A.handle(K,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=D.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${g}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&k&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let l=G.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=G.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(H,B,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:k})},!1,C),t}},d=await A.handleResponse({req:e,nextConfig:y,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:i});if(!N)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",k?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&N||x.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(H,B,new Response(d.value.body,{headers:x,status:d.value.status||200})),null};F?await l(F):await D.withPropagatedContext(e.headers,()=>D.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:k})},!1,C),N)throw t;return await (0,p.sendResponse)(H,B,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>S,"routeModule",()=>A,"serverHooks",()=>b,"workAsyncStorage",()=>y,"workUnitAsyncStorage",()=>_],824656)},58723,e=>{e.v(e=>Promise.resolve().then(()=>e(78362)))},138720,e=>{e.v(t=>Promise.all(["server/chunks/apps_local_lib_tracker_tracker-run-store_ts_5aa9592e._.js"].map(t=>e.l(t))).then(()=>t(85e4)))},410437,e=>{e.v(e=>Promise.resolve().then(()=>e(862263)))},836400,e=>{e.v(e=>Promise.resolve().then(()=>e(581001)))},169447,e=>{e.v(e=>Promise.resolve().then(()=>e(242617)))},119130,e=>{e.v(e=>Promise.resolve().then(()=>e(607495)))}];
|
|
1
|
+
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},769025,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function s(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function n(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>s,"transactionFn",()=>n])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},744071,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},452377,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(769025),r=e.i(522734),a=e.i(446786),s=e.i(814747);let n="3.35.0",o=["json1"],i=["fts5"],l=["nfs","smb","cifs","efs","fuse.sshfs"];function u(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function d(d,p){let c=[],f=d.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(f.v,n)&&c.push({kind:"version_mismatch",message:`SQLite version ${f.v} is below minimum ${n}`,found:f.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),o))u(d,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of i)u(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let h=function(t){"linux"!==a.default.platform()&&a.default.platform();try{let n=s.default.resolve(t),{execSync:o}=e.r(233405);if("darwin"===a.default.platform());else{let e=r.default.readFileSync("/proc/mounts","utf-8"),t="",a="unknown";for(let r of e.split("\n")){let[,e,s]=r.split(/\s+/);e&&n.startsWith(e)&&e.length>t.length&&(t=e,a=s||"unknown")}return a}}catch{}return null}(p);h&&l.some(e=>h.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${p}' is on a network filesystem (${h})`,path:p,found:h,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(d,"journal_mode = wal"),(0,t.pragmaSet)(d,"foreign_keys = 1"),(0,t.pragmaSet)(d,"busy_timeout = 5000"),(0,t.pragmaSet)(d,"synchronous = 1"),(0,t.pragmaSet)(d,"cache_size = -64000");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(d,"journal_mode = DELETE");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(d,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>d])},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},770027,e=>{"use strict";e.i(698134);var t=e.i(88007);function r(e){if(!e)throw Error(`Missing tracker type. Available: ${(0,t.listAdapterTypes)().join(", ")}`);return(0,t.getAdapter)(e)}function a(e){return Response.json({error:e},{status:400})}e.s(["badRequest",()=>a,"resolveAdapter",()=>r])},824656,e=>{"use strict";var t=e.i(692988),r=e.i(635595),a=e.i(75473),s=e.i(923435),n=e.i(418475),o=e.i(303482),i=e.i(976287),l=e.i(774462),u=e.i(111998),d=e.i(201516),p=e.i(68877),c=e.i(259460),f=e.i(257714),h=e.i(502073),m=e.i(187345),x=e.i(193695);e.i(293777);var v=e.i(274321),g=e.i(732470);e.i(698134);var R=e.i(770027);async function E(e,{params:t}){let{tracker:r}=await t,a=e.nextUrl.searchParams.get("projectId")?.trim();if(!a)return(0,R.badRequest)("projectId required");let s=(0,R.resolveAdapter)(r);try{let[e,t,r]=await Promise.allSettled([s.listAssignees(a),s.listGroups(a),s.listStatuses(a)]);return g.NextResponse.json({assignees:"fulfilled"===e.status?e.value:[],groups:"fulfilled"===t.status?t.value:[],groupLabel:s.groupLabel,statuses:"fulfilled"===r.status?r.value:[]})}catch(t){let e=t instanceof Error?t.message:"Failed to fetch options";return g.NextResponse.json({error:e},{status:500})}}e.s(["GET",()=>E,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],11579);var w=e.i(11579);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/trackers/[tracker]/options/route",pathname:"/api/trackers/[tracker]/options",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/trackers/[tracker]/options/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:y,workUnitAsyncStorage:_,serverHooks:b}=A;function S(){return(0,a.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:_})}async function C(e,t,a){A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/trackers/[tracker]/options/route";g=g.replace(/\/index$/,"")||"/";let R=await A.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,params:w,nextConfig:y,parsedUrl:_,isDraftMode:b,prerenderManifest:S,routerServerContext:C,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,resolvedPathname:L,clientReferenceManifest:T,serverActionsManifest:j}=R,P=(0,i.normalizeAppPath)(g),N=!!(S.dynamicRoutes[P]||S.routes[L]),O=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,_,!1):t.end("This page could not be found"),null);if(N&&!b){let e=!!S.routes[L],t=S.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await O();throw new x.NoFallbackError}}let I=null;!N||A.isDev||b||(I="/index"===(I=L)?"/":I);let U=!0===A.isDev||!N,M=N&&!U;j&&T&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:T,serverActionsManifest:j});let $=e.method||"GET",D=(0,n.getTracer)(),F=D.getActiveScopeSpan(),G={params:w,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>A.onRequestError(e,t,a,s,C)},sharedContext:{buildId:E}},H=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=u.NextRequestAdapter.fromNodeNextRequest(H,(0,u.signalFromNodeResponse)(t));try{let o=async e=>A.handle(K,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=D.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${g}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&k&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let l=G.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=G.renderOpts.collectedTags;if(!N)return await (0,c.sendResponse)(H,B,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:k})},!1,C),t}},d=await A.handleResponse({req:e,nextConfig:y,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:q,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:i});if(!N)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",k?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&N||x.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(H,B,new Response(d.value.body,{headers:x,status:d.value.status||200})),null};F?await l(F):await D.withPropagatedContext(e.headers,()=>D.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:k})},!1,C),N)throw t;return await (0,c.sendResponse)(H,B,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>S,"routeModule",()=>A,"serverHooks",()=>b,"workAsyncStorage",()=>y,"workUnitAsyncStorage",()=>_],824656)},58723,e=>{e.v(e=>Promise.resolve().then(()=>e(78362)))},138720,e=>{e.v(t=>Promise.all(["server/chunks/apps_local_lib_tracker_tracker-run-store_ts_5aa9592e._.js"].map(t=>e.l(t))).then(()=>t(85e4)))},410437,e=>{e.v(e=>Promise.resolve().then(()=>e(862263)))},836400,e=>{e.v(e=>Promise.resolve().then(()=>e(581001)))},169447,e=>{e.v(e=>Promise.resolve().then(()=>e(242617)))},119130,e=>{e.v(e=>Promise.resolve().then(()=>e(607495)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__f598d976._.js.map
|
package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__f7a936d9._.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},769025,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function s(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function n(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>s,"transactionFn",()=>n])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},744071,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},452377,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(769025),r=e.i(522734),a=e.i(446786),s=e.i(814747);let n="3.35.0",i=["json1"],o=["fts5"],u=["nfs","smb","cifs","efs","fuse.sshfs"];function d(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function
|
|
1
|
+
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},769025,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function a(e,t){e.exec(`PRAGMA ${t}`)}function s(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function n(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>a,"transaction",()=>s,"transactionFn",()=>n])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},744071,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},452377,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(769025),r=e.i(522734),a=e.i(446786),s=e.i(814747);let n="3.35.0",i=["json1"],o=["fts5"],u=["nfs","smb","cifs","efs","fuse.sshfs"];function d(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function c(c,l){let p=[],_=c.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(_.v,n)&&p.push({kind:"version_mismatch",message:`SQLite version ${_.v} is below minimum ${n}`,found:_.v,required:`>= ${n}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),i))d(c,e)||p.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)d(c,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let E=function(t){"linux"!==a.default.platform()&&a.default.platform();try{let n=s.default.resolve(t),{execSync:i}=e.r(233405);if("darwin"===a.default.platform());else{let e=r.default.readFileSync("/proc/mounts","utf-8"),t="",a="unknown";for(let r of e.split("\n")){let[,e,s]=r.split(/\s+/);e&&n.startsWith(e)&&e.length>t.length&&(t=e,a=s||"unknown")}return a}}catch{}return null}(l);E&&u.some(e=>E.toLowerCase().includes(e))&&p.push({kind:"filesystem_error",message:`Database path '${l}' is on a network filesystem (${E})`,path:l,found:E,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(c,"journal_mode = wal"),(0,t.pragmaSet)(c,"foreign_keys = 1"),(0,t.pragmaSet)(c,"busy_timeout = 5000"),(0,t.pragmaSet)(c,"synchronous = 1"),(0,t.pragmaSet)(c,"cache_size = -64000");let e=(0,t.pragmaGet)(c,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(c,"journal_mode = DELETE");let e=(0,t.pragmaGet)(c,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(c,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):p.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){p.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return p}e.s(["validateSQLiteEnvironment",()=>c])},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},85e4,e=>{"use strict";var t=e.i(522734),r=e.i(446786),a=e.i(814747),s=e.i(769025);let{DatabaseSync:n}=process.getBuiltinModule("node:sqlite"),i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(r.default.homedir(),".agx","group-chat"),o=a.default.join(i,"history.sqlite");function u(e){return e?.trim()||null}function d(e){return"scripted"===e?"scripted":"chat"}function c(e){let t,r=e.chat_created_at??e.created_at,a=e.chat_completed_at??null,s=function(e,t){switch(e){case"queued":return"queued";case"running":case"awaiting_user":case"blocked":return"running";case"completed":return"success";case"failed":return"failed";case"cancelled":return"cancelled";default:return t}}(e.chat_status,e.status);return{id:e.id,projectId:e.project_id,projectSlug:e.project_slug,trackerType:e.tracker_type,issueId:e.issue_id,issueIdentifier:e.issue_identifier,issueTitle:e.issue_title,issueStatus:e.issue_status,issueAssignee:e.issue_assignee,threadId:e.thread_id,rootMessageId:e.root_message_id,chatRunId:e.chat_run_id,agentId:e.agent_id,agentName:e.agent_name,mode:d(e.mode),sessionTitle:"chat"===d(e.mode)&&(t=String(e.root_content??"").replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").replace(/\s+/g," ").trim())?t.length>72?`${t.slice(0,69).trimEnd()}...`:t:null,status:s,durationMs:null!=a?Math.max(a-r,0):null,lastError:e.chat_last_error??e.error,recapFilePath:e.recap_file_path??null,startedAt:new Date(r).toISOString(),updatedAt:new Date((e.chat_updated_at??e.updated_at)||e.updated_at).toISOString(),completedAt:"number"==typeof a?new Date(a).toISOString():null}}async function l(e){await t.promises.mkdir(i,{recursive:!0});let r=new n(o);(0,s.pragmaSet)(r,"journal_mode = WAL");try{r.exec(`
|
|
2
2
|
CREATE TABLE IF NOT EXISTS chat_runs (
|
|
3
3
|
id TEXT PRIMARY KEY,
|
|
4
4
|
thread_id TEXT NOT NULL,
|
|
@@ -85,20 +85,35 @@ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/a
|
|
|
85
85
|
LEFT JOIN chat_runs cr ON cr.id = (
|
|
86
86
|
SELECT id FROM chat_runs WHERE thread_id = tr.thread_id ORDER BY updated_at DESC LIMIT 1
|
|
87
87
|
)
|
|
88
|
-
LEFT JOIN messages msg ON msg.thread_id = tr.thread_id AND msg.id = tr.root_message_id`;async function _(e){let t=Date.now(),r=u(e.id)??crypto.randomUUID(),a=u(e.threadId)??`tracker-run:${r}`,s=d(e.mode),n=e.trackerType??"linear";return
|
|
88
|
+
LEFT JOIN messages msg ON msg.thread_id = tr.thread_id AND msg.id = tr.root_message_id`;async function _(e){let t=Date.now(),r=u(e.id)??crypto.randomUUID(),a=u(e.threadId)??`tracker-run:${r}`,s=d(e.mode),n=e.trackerType??"linear";return l(i=>{i.prepare(`INSERT INTO tracker_runs (
|
|
89
89
|
id, project_id, project_slug, tracker_type,
|
|
90
90
|
issue_id, issue_identifier, issue_title,
|
|
91
91
|
issue_status, issue_assignee, thread_id, root_message_id, chat_run_id,
|
|
92
92
|
agent_id, agent_name, mode, status, error, recap_file_path, created_at, updated_at
|
|
93
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL, ?, ?, ?, 'queued', NULL, ?, ?, ?)`).run(r,u(e.projectId??null),u(e.projectSlug??null),n,e.issueId.trim(),e.issueIdentifier.trim(),e.issueTitle.trim(),e.issueStatus.trim(),u(e.issueAssignee??null),a,e.agentId.trim(),e.agentName.trim(),s,u(e.recapFilePath??null),t,t);let o=i.prepare(`${p} WHERE tr.id = ? LIMIT 1`).get(r);if(!o)throw Error(`Failed to create tracker run ${r}`);return
|
|
93
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL, ?, ?, ?, 'queued', NULL, ?, ?, ?)`).run(r,u(e.projectId??null),u(e.projectSlug??null),n,e.issueId.trim(),e.issueIdentifier.trim(),e.issueTitle.trim(),e.issueStatus.trim(),u(e.issueAssignee??null),a,e.agentId.trim(),e.agentName.trim(),s,u(e.recapFilePath??null),t,t);let o=i.prepare(`${p} WHERE tr.id = ? LIMIT 1`).get(r);if(!o)throw Error(`Failed to create tracker run ${r}`);return c(o)})}async function E(e){return l(t=>{let r=["updated_at = ?"],a=[Date.now()];void 0!==e.rootMessageId&&(r.push("root_message_id = ?"),a.push(u(e.rootMessageId))),void 0!==e.chatRunId&&(r.push("chat_run_id = ?"),a.push(u(e.chatRunId))),void 0!==e.status&&(r.push("status = ?"),a.push(e.status)),void 0!==e.error&&(r.push("error = ?"),a.push(u(e.error))),a.push(e.id.trim()),t.prepare(`UPDATE tracker_runs SET ${r.join(", ")} WHERE id = ?`).run(...a);let s=t.prepare(`${p} WHERE tr.id = ? LIMIT 1`).get(e.id.trim());return s?c(s):null})}async function T(e){return l(t=>{let r=t.prepare(`${p} WHERE tr.id = ? LIMIT 1`).get(e.trim());return r?c(r):null})}async function h(e){let t=e.issueId.trim(),r=u(e.projectId??null),a=u(e.trackerType??null),s=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),100):50;return l(e=>{let n=[t],i=["tr.issue_id = ?"];return r&&(i.push("tr.project_id = ?"),n.push(r)),a&&(i.push("tr.tracker_type = ?"),n.push(a)),n.push(s),e.prepare(`${p}
|
|
94
94
|
WHERE ${i.join(" AND ")}
|
|
95
95
|
ORDER BY tr.created_at DESC
|
|
96
|
-
LIMIT ?`).all(...n).map(
|
|
96
|
+
LIMIT ?`).all(...n).map(c)})}async function m(e){return l(t=>{let r=e?.trim(),a=r?`SELECT issue_id, MAX(created_at) AS last_activity_at
|
|
97
97
|
FROM tracker_runs
|
|
98
98
|
WHERE project_id = ?
|
|
99
99
|
GROUP BY issue_id`:`SELECT issue_id, MAX(created_at) AS last_activity_at
|
|
100
100
|
FROM tracker_runs
|
|
101
|
-
GROUP BY issue_id`,s=r?t.prepare(a).all(e.trim()):t.prepare(a).all(),n=new Map;for(let e of s)n.set(e.issue_id,new Date(e.last_activity_at).toISOString());return n})}async function g(e){return
|
|
101
|
+
GROUP BY issue_id`,s=r?t.prepare(a).all(e.trim()):t.prepare(a).all(),n=new Map;for(let e of s)n.set(e.issue_id,new Date(e.last_activity_at).toISOString());return n})}async function g(e){return l(t=>{let r=e?.trim(),a=r?`SELECT tr.issue_id,
|
|
102
|
+
COUNT(DISTINCT tr.id) AS sessions,
|
|
103
|
+
COALESCE(SUM(mc.cnt), 0) AS messages
|
|
104
|
+
FROM tracker_runs tr
|
|
105
|
+
LEFT JOIN (
|
|
106
|
+
SELECT thread_id, COUNT(*) AS cnt FROM messages GROUP BY thread_id
|
|
107
|
+
) mc ON mc.thread_id = tr.thread_id
|
|
108
|
+
WHERE tr.project_id = ?
|
|
109
|
+
GROUP BY tr.issue_id`:`SELECT tr.issue_id,
|
|
110
|
+
COUNT(DISTINCT tr.id) AS sessions,
|
|
111
|
+
COALESCE(SUM(mc.cnt), 0) AS messages
|
|
112
|
+
FROM tracker_runs tr
|
|
113
|
+
LEFT JOIN (
|
|
114
|
+
SELECT thread_id, COUNT(*) AS cnt FROM messages GROUP BY thread_id
|
|
115
|
+
) mc ON mc.thread_id = tr.thread_id
|
|
116
|
+
GROUP BY tr.issue_id`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,sessions:e.sessions,messages:e.messages}))})}async function N(e){return l(t=>{let r=e?.trim(),a=r?`SELECT DISTINCT tr.issue_id, tr.agent_id, tr.agent_name
|
|
102
117
|
FROM tracker_runs tr
|
|
103
118
|
INNER JOIN chat_runs cr ON cr.id = (
|
|
104
119
|
SELECT id FROM chat_runs WHERE thread_id = tr.thread_id ORDER BY updated_at DESC LIMIT 1
|
|
@@ -109,6 +124,6 @@ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/a
|
|
|
109
124
|
INNER JOIN chat_runs cr ON cr.id = (
|
|
110
125
|
SELECT id FROM chat_runs WHERE thread_id = tr.thread_id ORDER BY updated_at DESC LIMIT 1
|
|
111
126
|
)
|
|
112
|
-
WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,_,"createTrackerRun",()=>_,"getIssueActiveAgents",()=>
|
|
127
|
+
WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,_,"createTrackerRun",()=>_,"getIssueActiveAgents",()=>N,"getIssueActivityMap",()=>m,"getIssueStats",()=>g,"getLinearRun",0,T,"getTrackerRun",()=>T,"listLinearRuns",0,h,"listTrackerRuns",()=>h,"updateLinearRun",0,E,"updateTrackerRun",()=>E])},266517,e=>{"use strict";var t=e.i(692988),r=e.i(635595),a=e.i(75473),s=e.i(923435),n=e.i(418475),i=e.i(303482),o=e.i(976287),u=e.i(774462),d=e.i(111998),c=e.i(201516),l=e.i(68877),p=e.i(259460),_=e.i(257714),E=e.i(502073),T=e.i(187345),h=e.i(193695);e.i(293777);var m=e.i(274321),g=e.i(732470);e.i(698134);var N=e.i(85e4);function R(e){if(void 0!==e)return"string"==typeof e&&e.trim()?e.trim():null}async function f(e,t){try{let{id:e}=await t.params,r=await (0,N.getTrackerRun)(e);if(!r)return g.NextResponse.json({error:"Tracker run not found"},{status:404});return g.NextResponse.json({run:r})}catch(e){return console.error("Failed to load tracker run:",e),g.NextResponse.json({error:"Failed to load tracker run",message:e instanceof Error?e.message:String(e)},{status:500})}}async function L(e,t){try{let{id:r}=await t.params,a=await e.json().catch(()=>({})),s=await (0,N.updateTrackerRun)({id:r,rootMessageId:R(a.rootMessageId),chatRunId:R(a.chatRunId),status:function(e){if("queued"===e||"running"===e||"success"===e||"failed"===e||"cancelled"===e)return e}(a.status),error:R(a.error)});if(!s)return g.NextResponse.json({error:"Tracker run not found"},{status:404});return g.NextResponse.json({run:s})}catch(e){return console.error("Failed to update tracker run:",e),g.NextResponse.json({error:"Failed to update tracker run",message:e instanceof Error?e.message:String(e)},{status:500})}}e.s(["GET",()=>f,"PATCH",()=>L,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],674729);var S=e.i(674729);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/trackers/[tracker]/runs/[id]/route",pathname:"/api/trackers/[tracker]/runs/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/trackers/[tracker]/runs/[id]/route.ts",nextConfigOutput:"standalone",userland:S}),{workAsyncStorage:A,workUnitAsyncStorage:O,serverHooks:x}=I;function v(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:O})}async function k(e,t,a){I.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/trackers/[tracker]/runs/[id]/route";g=g.replace(/\/index$/,"")||"/";let N=await I.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!N)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:f,nextConfig:L,parsedUrl:S,isDraftMode:A,prerenderManifest:O,routerServerContext:x,isOnDemandRevalidate:v,revalidateOnlyGenerated:k,resolvedPathname:C,clientReferenceManifest:y,serverActionsManifest:U}=N,w=(0,o.normalizeAppPath)(g),D=!!(O.dynamicRoutes[w]||O.routes[C]),M=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,S,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!O.routes[C],t=O.dynamicRoutes[w];if(t&&!1===t.fallback&&!e){if(L.experimental.adapterPath)return await M();throw new h.NoFallbackError}}let j=null;!D||I.isDev||A||(j="/index"===(j=C)?"/":j);let F=!0===I.isDev||!D,X=D&&!F;U&&y&&(0,i.setManifestsSingleton)({page:g,clientReferenceManifest:y,serverActionsManifest:U});let b=e.method||"GET",P=(0,n.getTracer)(),q=P.getActiveScopeSpan(),G={params:f,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!L.experimental.authInterrupts},cacheComponents:!!L.cacheComponents,supportsDynamicResponse:F,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:L.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>I.onRequestError(e,t,a,s,x)},sharedContext:{buildId:R}},B=new u.NodeNextRequest(e),H=new u.NodeNextResponse(t),$=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let i=async e=>I.handle($,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=P.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${b} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${b} ${g}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),u=async s=>{var n,u;let d=async({previousCacheEntry:r})=>{try{if(!o&&v&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let u=G.renderOpts.pendingWaitUntil;u&&a.waitUntil&&(a.waitUntil(u),u=void 0);let d=G.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(B,H,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,_.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[T.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=T.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=T.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,l.getRevalidateReason)({isStaticGeneration:X,isOnDemandRevalidate:v})},!1,x),t}},c=await I.handleResponse({req:e,nextConfig:L,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:v,revalidateOnlyGenerated:k,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!D)return null;if((null==c||null==(n=c.value)?void 0:n.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(u=c.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",v?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let h=(0,_.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&D||h.delete(T.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||h.get("Cache-Control")||h.set("Cache-Control",(0,E.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(B,H,new Response(c.value.body,{headers:h,status:c.value.status||200})),null};q?await u(q):await P.withPropagatedContext(e.headers,()=>P.trace(c.BaseServerSpan.handleRequest,{spanName:`${b} ${g}`,kind:n.SpanKind.SERVER,attributes:{"http.method":b,"http.target":e.url}},u))}catch(t){if(t instanceof h.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,l.getRevalidateReason)({isStaticGeneration:X,isOnDemandRevalidate:v})},!1,x),D)throw t;return await (0,p.sendResponse)(B,H,new Response(null,{status:500})),null}}e.s(["handler",()=>k,"patchFetch",()=>v,"routeModule",()=>I,"serverHooks",()=>x,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>O],266517)},58723,e=>{e.v(e=>Promise.resolve().then(()=>e(78362)))},138720,e=>{e.v(e=>Promise.resolve().then(()=>e(85e4)))},410437,e=>{e.v(e=>Promise.resolve().then(()=>e(862263)))},836400,e=>{e.v(e=>Promise.resolve().then(()=>e(581001)))},169447,e=>{e.v(e=>Promise.resolve().then(()=>e(242617)))},119130,e=>{e.v(e=>Promise.resolve().then(()=>e(607495)))}];
|
|
113
128
|
|
|
114
129
|
//# sourceMappingURL=%5Broot-of-the-server%5D__f7a936d9._.js.map
|
|
@@ -88,7 +88,7 @@ module.exports=[11061,e=>{"use strict";var t=e.i(522734),r=e.i(446786),s=e.i(814
|
|
|
88
88
|
WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(s).all(e.trim()):t.prepare(s).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["getIssueActiveAgents",()=>p,"listLinearRuns",()=>c])},959181,e=>{"use strict";var t=e.i(84516),r=e.i(184951),s=e.i(11061),a=e.i(29764),n=e.i(460275),i=e.i(914284);async function o(e){let[t]=await (0,r.getLinearIssueContexts)([e]);if(!t)throw Error(`Linear issue not found: ${e}`);let a=(await (0,s.listLinearRuns)({issueId:e,limit:10})).map(e=>`- ${e.status}: ${e.sessionTitle??e.issueTitle} (${e.agentName})`).join("\n"),o=[`Ticket: ${t.identifier} — ${t.title}`,`Status: ${t.status??"unknown"}`,t.assignee?`Assignee: ${t.assignee}`:null,t.description?`
|
|
89
89
|
Description:
|
|
90
90
|
${t.description}`:null,"",a?`Prior sessions:
|
|
91
|
-
${a}`:"No prior sessions.","","Write the recap now."].filter(Boolean).join("\n"),u="";await (0,n.runCliResponse)({provider:"claude",model:null,prompt:o,systemContext:"You are writing a short recap of a Linear ticket.\nOutput raw markdown only — no JSON, no fences around the whole response.\nKeep it 100–250 words.\nCover: what the ticket is about, what's been attempted (if anything), and what's open.\nWrite in plain prose. No headings above h3.",onDelta:e=>{u+=e}});let l=u.trim();if(!l)throw Error("Recap generation returned empty output");await (0,i.writeRecap)(e,l)}let u=null;var l=e.i(471315);async function d(e){let t=Date.now(),r="";try{return await (0,n.runCliResponse)({provider:e.provider,model:e.model,prompt:e.prompt,identity:e.identity,self:e.self,skills:e.skills,systemContext:e.systemContext,passthroughArgs:e.cliArgs?e.cliArgs.split(/\s+/).filter(Boolean):void 0,onDelta:e=>{r+=e},onSpawn:e.onSpawn}),{output:r,error:"",durationMs:Date.now()-t,status:"success"}}catch(e){return{output:r,error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}function c(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}async function p(e){let t=(u||(u=function(e){let t=e.failureHoldMs??6e4,r=new Map;function s(e,t){t?r.set(e,t):r.delete(e)}async function a(a){s(a,{status:"running",startedAt:Date.now()});try{await e.generate(a),s(a,null)}catch(n){let e=n instanceof Error?n.message:String(n);s(a,{status:"failed",startedAt:Date.now(),error:e}),setTimeout(()=>{let e=r.get(a);e?.status==="failed"&&r.delete(a)},t)}}return{enqueue(e){let t=r.get(e);if(t&&"failed"!==t.status)return t;let s={status:"queued",startedAt:Date.now()};return r.set(e,s),Promise.resolve().then(()=>a(e)),s},get:e=>r.get(e)??null}}({generate:o})),u),r=Date.now();for(let s of e){if((0,a.isObjectiveTrackerTerminalStatus)(s.status??""))continue;let e=await (0,i.readLatestRecap)(s.id);(!e||r-e.generatedAt.getTime()>216e5)&&t.enqueue(s.id)}}function T(e){return[`- id: ${e.id}`,` identifier: ${e.identifier}`,` title: ${e.title}`,` status: ${e.status}`,` assignee: ${e.assignee??"Unassigned"}`,e.url?` url: ${e.url}`:null,e.labels&&e.labels.length>0?` labels: ${e.labels.join(", ")}`:null].filter(e=>!!e).join("\n")}async function _(e){let{job:n,projectId:i,projectSlug:o}=e;await (0,r.ensureLinearIssueCache)({projectId:i,refresh:!0,projectSlug:o??void 0});let[{issues:u},l]=await Promise.all([(0,r.listLinearIssueSummaries)({limit:500}),e.projectId?(0,s.getIssueActiveAgents)(e.projectId):Promise.resolve([])]),d=new Set(l.map(e=>e.issueId)),c=u.filter(e=>!(0,a.isObjectiveTrackerTerminalStatus)(e.status)&&!d.has(e.id)),p=(0,t.getPromptJobStore)().listJobs(e.projectId?{projectId:e.projectId}:void 0).filter(e=>e.id!==n.id&&("linear_worker"===e.executionMode||"task_worker"===e.executionMode)),_=[];_.push("WORKSPACE STATE");let m=new Map;for(let e of u)m.set(e.status,(m.get(e.status)||0)+1);return _.push("","ISSUE STATUS SUMMARY",...Array.from(m.entries()).map(([e,t])=>`- ${e}: ${t} issues`)),u.length>0?_.push("","ALL TICKETS",u.map(e=>T(e)).join("\n\n")):_.push("","ALL TICKETS","- None."),l.length>0&&_.push("","ACTIVE SESSIONS",...l.map(e=>`- ${e.issueId}: running with ${e.agentName}`)),p.length>0&&_.push("","OTHER WORKERS",...p.map(e=>`- ${e.name} | state: ${e.state} | last outcome: ${e.lastOutcome??"none"}`)),_.push("","GUIDING PROMPT",n.prompt.trim()||"No guiding prompt provided. Pick the highest-priority actionable ticket."),_.push("","ELIGIBLE TICKETS",c.length>0?c.map(e=>T(e)).join("\n\n"):"- None."),_.push("","---","Based on the full workspace state and the guiding prompt, what single action should be taken right now?"),{prompt:_.join("\n"),issues:u,eligibleIssues:c,activeIssueAgents:l}}async function m(e){let t=Date.now();try{if(!e.job.projectId)return{output:"",error:"Task worker job missing projectId",durationMs:Date.now()-t,status:"failed"};let r=await _({job:e.job,projectId:e.job.projectId,projectSlug:void 0});await p(r.issues??[]);let s=await d({...e.controllerContext,prompt:r.prompt,systemContext:'You are deciding what action a workspace worker should take next.\nYou are observing the FULL workspace — all teams, all issues.\nUse the GUIDING PROMPT to prioritize and decide what matters most.\nReturn ONLY raw JSON with no markdown fences or commentary.\nValid responses:\n{"action":"work_ticket","ticketId":"ticket-id","reason":"..."}\n{"action":"run_prompt","prompt":"detailed instructions","reason":"..."}\n{"action":"stop","reason":"..."}\nRules:\n- "work_ticket": ticketId must exactly match one of the ELIGIBLE TICKETS ids.\n- "run_prompt": for work not captured by existing tickets.\n- "stop": when no action should be taken now.',cliArgs:e.cliArgs,onSpawn:e.onSpawn});if("success"!==s.status)return{...s,output:s.output||"Task worker controller failed before selecting an action."};let a=function(e){let t=e.trim();if(!t)return null;let r=c(t);if(r)return r;let s=t.indexOf("{"),a=t.lastIndexOf("}");return -1===s||a<=s?null:c(t.slice(s,a+1))}(s.output),n="string"==typeof a?.action?a.action.trim().toLowerCase():"string"==typeof a?.decision?a.decision.trim().toLowerCase():"",i="string"==typeof a?.reason?a.reason.trim():"",
|
|
91
|
+
${a}`:"No prior sessions.","","Write the recap now."].filter(Boolean).join("\n"),u="";await (0,n.runCliResponse)({provider:"claude",model:null,prompt:o,systemContext:"You are writing a short recap of a Linear ticket.\nOutput raw markdown only — no JSON, no fences around the whole response.\nKeep it 100–250 words.\nCover: what the ticket is about, what's been attempted (if anything), and what's open.\nWrite in plain prose. No headings above h3.",onDelta:e=>{u+=e}});let l=u.trim();if(!l)throw Error("Recap generation returned empty output");await (0,i.writeRecap)(e,l)}let u=null;var l=e.i(471315);async function d(e){let t=Date.now(),r="";try{return await (0,n.runCliResponse)({provider:e.provider,model:e.model,prompt:e.prompt,identity:e.identity,self:e.self,skills:e.skills,systemContext:e.systemContext,passthroughArgs:e.cliArgs?e.cliArgs.split(/\s+/).filter(Boolean):void 0,onDelta:e=>{r+=e},onSpawn:e.onSpawn}),{output:r,error:"",durationMs:Date.now()-t,status:"success"}}catch(e){return{output:r,error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}function c(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}async function p(e){let t=(u||(u=function(e){let t=e.failureHoldMs??6e4,r=new Map;function s(e,t){t?r.set(e,t):r.delete(e)}async function a(a){s(a,{status:"running",startedAt:Date.now()});try{await e.generate(a),s(a,null)}catch(n){let e=n instanceof Error?n.message:String(n);s(a,{status:"failed",startedAt:Date.now(),error:e}),setTimeout(()=>{let e=r.get(a);e?.status==="failed"&&r.delete(a)},t)}}return{enqueue(e){let t=r.get(e);if(t&&"failed"!==t.status)return t;let s={status:"queued",startedAt:Date.now()};return r.set(e,s),Promise.resolve().then(()=>a(e)),s},get:e=>r.get(e)??null}}({generate:o})),u),r=Date.now();for(let s of e){if((0,a.isObjectiveTrackerTerminalStatus)(s.status??""))continue;let e=await (0,i.readLatestRecap)(s.id);(!e||r-e.generatedAt.getTime()>216e5)&&t.enqueue(s.id)}}function T(e){return[`- id: ${e.id}`,` identifier: ${e.identifier}`,` title: ${e.title}`,` status: ${e.status}`,` assignee: ${e.assignee??"Unassigned"}`,e.url?` url: ${e.url}`:null,e.labels&&e.labels.length>0?` labels: ${e.labels.join(", ")}`:null].filter(e=>!!e).join("\n")}async function _(e){let{job:n,projectId:i,projectSlug:o}=e;await (0,r.ensureLinearIssueCache)({projectId:i,refresh:!0,projectSlug:o??void 0});let[{issues:u},l]=await Promise.all([(0,r.listLinearIssueSummaries)({limit:500}),e.projectId?(0,s.getIssueActiveAgents)(e.projectId):Promise.resolve([])]),d=new Set(l.map(e=>e.issueId)),c=u.filter(e=>!(0,a.isObjectiveTrackerTerminalStatus)(e.status)&&!d.has(e.id)),p=(0,t.getPromptJobStore)().listJobs(e.projectId?{projectId:e.projectId}:void 0).filter(e=>e.id!==n.id&&("linear_worker"===e.executionMode||"task_worker"===e.executionMode)),_=[];_.push("WORKSPACE STATE");let m=new Map;for(let e of u)m.set(e.status,(m.get(e.status)||0)+1);return _.push("","ISSUE STATUS SUMMARY",...Array.from(m.entries()).map(([e,t])=>`- ${e}: ${t} issues`)),u.length>0?_.push("","ALL TICKETS",u.map(e=>T(e)).join("\n\n")):_.push("","ALL TICKETS","- None."),l.length>0&&_.push("","ACTIVE SESSIONS",...l.map(e=>`- ${e.issueId}: running with ${e.agentName}`)),p.length>0&&_.push("","OTHER WORKERS",...p.map(e=>`- ${e.name} | state: ${e.state} | last outcome: ${e.lastOutcome??"none"}`)),_.push("","GUIDING PROMPT",n.prompt.trim()||"No guiding prompt provided. Pick the highest-priority actionable ticket."),_.push("","ELIGIBLE TICKETS",c.length>0?c.map(e=>T(e)).join("\n\n"):"- None."),_.push("","---","Based on the full workspace state and the guiding prompt, what single action should be taken right now?"),{prompt:_.join("\n"),issues:u,eligibleIssues:c,activeIssueAgents:l}}async function m(e){let t=Date.now();try{if(!e.job.projectId)return{output:"",error:"Task worker job missing projectId",durationMs:Date.now()-t,status:"failed"};let r=await _({job:e.job,projectId:e.job.projectId,projectSlug:void 0});await p(r.issues??[]);let s=await d({...e.controllerContext,prompt:r.prompt,systemContext:'You are deciding what action a workspace worker should take next.\nYou are observing the FULL workspace — all teams, all issues.\nUse the GUIDING PROMPT to prioritize and decide what matters most.\nReturn ONLY raw JSON with no markdown fences or commentary.\nValid responses:\n{"action":"work_ticket","ticketId":"ticket-id","reason":"..."}\n{"action":"run_prompt","prompt":"detailed instructions","reason":"..."}\n{"action":"stop","reason":"..."}\nRules:\n- "work_ticket": ticketId must exactly match one of the ELIGIBLE TICKETS ids.\n- "run_prompt": for work not captured by existing tickets.\n- "stop": when no action should be taken now.',cliArgs:e.cliArgs,onSpawn:e.onSpawn});if("success"!==s.status)return{...s,output:s.output||"Task worker controller failed before selecting an action."};let a=function(e){let t=e.trim();if(!t)return null;let r=c(t);if(r)return r;let s=t.indexOf("{"),a=t.lastIndexOf("}");return -1===s||a<=s?null:c(t.slice(s,a+1))}(s.output),n="string"==typeof a?.action?a.action.trim().toLowerCase():"string"==typeof a?.decision?a.decision.trim().toLowerCase():"",i="work"===n?"work_ticket":n;if(!i){let t=s.output??"";console.warn(`[task-worker] empty action from controller (job=${e.job.id}, outputLen=${t.length}, parsed=${a?"object":"null"}):`,t.slice(0,500))}let o="string"==typeof a?.reason?a.reason.trim():"",u=await E({action:i,parsed:a,reason:o,job:e.job,controllerContext:e.controllerContext,sessionAgent:e.sessionAgent,eligibleIssues:r.eligibleIssues,issues:r.issues,cliArgs:e.cliArgs,onSpawn:e.onSpawn,startMs:t});return{output:u.result,error:"failed"===u.status?u.result:"",durationMs:Date.now()-t,status:u.status}}catch(e){return{output:"",error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}async function E(e){let{action:t,parsed:r,reason:s}=e;if("stop"===t){let t=e.issues.some(e=>!(0,a.isObjectiveTrackerTerminalStatus)(e.status)),r=0===e.issues.length?"No tickets were found in the workspace.":0===e.eligibleIssues.length?t?"All actionable tickets already have active sessions.":"All tickets are already in a terminal state.":"The controller decided that no ticket should be started right now.",n=s||r;return{action:"stop",jobName:e.job.name,reason:n,result:`No action taken.
|
|
92
92
|
|
|
93
93
|
Reason: ${n}`,durationMs:Date.now()-e.startMs,status:"success"}}if("run_prompt"===t){let t="string"==typeof r?.prompt?r.prompt.trim():"";if(!t)return{action:"run_prompt",jobName:e.job.name,reason:s,result:"Controller returned run_prompt but provided no prompt text.",durationMs:Date.now()-e.startMs,status:"failed"};let a=await d({...e.controllerContext,prompt:t,cliArgs:e.cliArgs,onSpawn:e.onSpawn}),n="success"===a.status?(a.output||"").split("\n").filter(Boolean).slice(0,10).join("\n")||"Prompt completed.":`Prompt failed: ${a.error||"unknown error"}`;return{action:"run_prompt",jobName:e.job.name,reason:s,result:n,durationMs:Date.now()-e.startMs,status:a.status}}if("work_ticket"===t){let t="string"==typeof r?.ticketId?r.ticketId.trim():"",a=e.eligibleIssues.find(e=>e.id===t)??null;if(!a)return{action:"work_ticket",jobName:e.job.name,reason:s,result:`Controller selected an unknown ticket: ${t||"(empty)"}`,durationMs:Date.now()-e.startMs,status:"failed"};if(!e.job.projectId)return{action:"work_ticket",jobName:e.job.name,reason:s,result:"Task worker requires a project context to start a scripted session.",durationMs:Date.now()-e.startMs,status:"failed"};let n=await (0,l.startScriptedTrackerSession)({trackerType:"linear",projectId:e.job.projectId,projectSlug:e.job.projectId,issue:{id:a.id,identifier:a.identifier,title:a.title,status:a.status,assignee:a.assignee},agentId:e.sessionAgent.id,scriptPrompt:e.job.scriptPrompt||void 0}),i=a.url?`[${a.identifier}](${a.url})`:a.identifier;return{action:"work_ticket",jobName:e.job.name,reason:s,result:[`Started work on ${i}: ${a.title}`,s?`Reason: ${s}`:null,`Run: ${n.run.id}`].filter(e=>!!e).join("\n\n"),linearRunId:n.run.id,chatRunId:n.chatRunId,durationMs:Date.now()-e.startMs,status:"success"}}return{action:t||"unknown",jobName:e.job.name,reason:s,result:`Controller returned an invalid action: ${t||"(empty)"}`,durationMs:Date.now()-e.startMs,status:"failed"}}e.s(["buildLinearWorkerObservation",0,_,"buildTaskWorkerObservation",()=>_,"executeLinearWorker",0,m,"executeTaskWorker",()=>m],959181)}];
|
|
94
94
|
|
|
@@ -86,6 +86,6 @@ module.exports=[11061,e=>{"use strict";var t=e.i(522734),r=e.i(446786),s=e.i(814
|
|
|
86
86
|
SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
|
|
87
87
|
)
|
|
88
88
|
WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(s).all(e.trim()):t.prepare(s).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["getIssueActiveAgents",()=>p,"listLinearRuns",()=>d])},720395,e=>{"use strict";var t=e.i(84516),r=e.i(29764),s=e.i(11061),i=e.i(124985);e.i(243174);var a=e.i(248821),n=e.i(901977);let o="project_objective_health_history",c={"on track":"on_track","at risk":"at_risk","off track":"off_track",done:"done"};function u(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function l(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function d(e){return"string"==typeof e&&e.trim()?e.trim():void 0}function p(...e){let t=e.flatMap(e=>e??[]),r=[];for(let e of[...t].sort((e,t)=>Date.parse(e.recordedAt)-Date.parse(t.recordedAt))){let t=r[r.length-1]??null;t&&t.progress===e.progress&&t.status===e.status&&(!t.source||!e.source||t.source===e.source)&&5e3>=Math.abs(Date.parse(e.recordedAt)-Date.parse(t.recordedAt))||r.push(e)}return r}var T=e.i(460275),_=e.i(765443);let E={on_track:"On track",at_risk:"At risk",off_track:"Off track",done:"Done"};async function m(e){let t=Date.now(),r="";try{return await (0,T.runCliResponse)({provider:e.provider,model:e.model,prompt:e.prompt,identity:e.identity,self:e.self,skills:e.skills,systemContext:e.systemContext,passthroughArgs:e.cliArgs?e.cliArgs.split(/\s+/).filter(Boolean):void 0,onDelta:e=>{r+=e},onSpawn:e.onSpawn}),{output:r,error:"",durationMs:Date.now()-t,status:"success"}}catch(e){return{output:r,error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}function g(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}function h(e){let t=e.trim();if(!t)return null;let r=g(t);if(r)return r;let s=t.indexOf("{"),i=t.lastIndexOf("}");return -1===s||i<=s?null:g(t.slice(s,i+1))}function N(e){return"number"==typeof e&&Number.isFinite(e)?(0,_.normalizeProjectHealthProgress)(e):null}function j(e){return"string"==typeof e&&e.trim()?(0,_.normalizeProjectHealthStatus)(e):null}function I(e,t,r){return`${e}: ${t}% ${E[r]}`}function f(e){return[`- id: ${e.id}`,` identifier: ${e.identifier}`,` title: ${e.title}`,` status: ${e.status}`,` assignee: ${e.assignee??"Unassigned"}`,e.url?` url: ${e.url}`:null].filter(e=>!!e).join("\n")}async function b(e){let{job:n,objectiveContext:o}=e,{project:c,workspace:u,objective:l}=o,d=c.slug??c.id,[{issues:p},T,_,E]=await Promise.all([(0,r.listObjectiveTrackerIssues)({projectId:c.id,objectiveKey:l.key,projectSlug:d,refresh:!0}),(0,s.getIssueActiveAgents)(c.id),Promise.resolve((0,i.getActivityRepository)(d,l.key).list({limit:20})),Promise.resolve((0,a.getNoteRepository)(d,l.key).readAll())]),m=new Set(p.map(e=>e.id)),g=T.filter(e=>m.has(e.issueId)),h=(0,r.filterObjectiveTrackerIssuesForAction)(p,g.map(e=>e.issueId)),N=(0,t.getPromptJobStore)().listJobs({objectiveId:l.id}).filter(e=>e.id!==n.id),j=u.objectives.filter(e=>e.id!==l.id),I=[];I.push("GOAL",l.title,l.summary?.trim()||"No summary provided."),I.push("","CURRENT STATE",`Progress: ${l.progress}% | Status: ${l.status}`),E.length>0&&I.push("","NOTES",...E.map(e=>`### ${e.title}
|
|
89
|
-
${e.body}`));let b=_.activities??[];return b.length>0&&I.push("","RECENT ACTIVITY",...b.map(e=>{let t=e.createdAt.replace("T"," ").replace(/\.\d+Z$/,"").slice(0,16);return`- [${t}] ${e.body.split("\n")[0]}`})),p.length>0?I.push("","LINEAR TICKETS",p.map(e=>f(e)).join("\n\n")):I.push("","LINEAR TICKETS","- None."),g.length>0&&I.push("","ACTIVE SESSIONS",...g.map(e=>`- ${e.issueId}: running with ${e.agentName}`)),N.length>0&&I.push("","SCHEDULED TASKS",...N.map(e=>`- ${e.name} | state: ${e.state} | last outcome: ${e.lastOutcome??"none"}`)),j.length>0&&I.push("","PROJECT CONTEXT",...j.map(e=>`- ${e.title} (${e.key}) | ${e.progress}% | ${e.status}`)),I.push("","GUIDANCE",n.prompt.trim()||"No additional guidance provided."),I.push("","ELIGIBLE TICKETS",h.length>0?h.map(e=>f(e)).join("\n\n"):"- None."),I.push("","---","What single action most advances this objective right now?"),{prompt:I.join("\n"),issues:p,eligibleIssues:h,activeIssueAgents:g}}async function L(t){let r=Date.now();try{if(!t.job.projectId||!t.job.objectiveId)throw Error("Objective worker jobs require projectId and objectiveId.");let s=await (0,n.loadProjectObjectiveContext)(t.job.projectId,t.job.objectiveId);if(!s)throw Error("Objective context could not be resolved for this scheduled task.");let i=await b({job:t.job,objectiveContext:s}),a=await m({...t.controllerContext,prompt:i.prompt,systemContext:'You are deciding what action an objective worker should take next.\nReturn ONLY raw JSON with no markdown fences or commentary.\nValid responses:\n{"action":"work_ticket","ticketId":"ticket-id","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk","projectProgress":35,"projectStatus":"at_risk"}\n{"action":"run_prompt","prompt":"detailed instructions","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk"}\n{"action":"stop","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk"}\nRules:\n- "work_ticket": ticketId must exactly match one of the ELIGIBLE TICKETS ids.\n- "run_prompt": for work not captured by existing tickets. When no tickets are actionable and the objective is not done, use this to plan: review notes, refine the last plan, or outline next steps. The prompt should instruct the agent to append to an existing note when one is relevant rather than creating a new note.\n- "stop": only when the objective is done or genuinely no action (including planning) adds value.\nPercentages must be integers 0-100.\nStatuses: on_track, at_risk, off_track, done.',cliArgs:t.cliArgs,onSpawn:t.onSpawn});if("success"!==a.status)return{...a,output:a.output||"Objective controller failed before selecting an action."};let T=h(a.output),E="string"==typeof T?.action?T.action.trim().toLowerCase():"string"==typeof T?.decision?T.decision.trim().toLowerCase():"",g="string"==typeof T?.reason?T.reason.trim():"",
|
|
89
|
+
${e.body}`));let b=_.activities??[];return b.length>0&&I.push("","RECENT ACTIVITY",...b.map(e=>{let t=e.createdAt.replace("T"," ").replace(/\.\d+Z$/,"").slice(0,16);return`- [${t}] ${e.body.split("\n")[0]}`})),p.length>0?I.push("","LINEAR TICKETS",p.map(e=>f(e)).join("\n\n")):I.push("","LINEAR TICKETS","- None."),g.length>0&&I.push("","ACTIVE SESSIONS",...g.map(e=>`- ${e.issueId}: running with ${e.agentName}`)),N.length>0&&I.push("","SCHEDULED TASKS",...N.map(e=>`- ${e.name} | state: ${e.state} | last outcome: ${e.lastOutcome??"none"}`)),j.length>0&&I.push("","PROJECT CONTEXT",...j.map(e=>`- ${e.title} (${e.key}) | ${e.progress}% | ${e.status}`)),I.push("","GUIDANCE",n.prompt.trim()||"No additional guidance provided."),I.push("","ELIGIBLE TICKETS",h.length>0?h.map(e=>f(e)).join("\n\n"):"- None."),I.push("","---","What single action most advances this objective right now?"),{prompt:I.join("\n"),issues:p,eligibleIssues:h,activeIssueAgents:g}}async function L(t){let r=Date.now();try{if(!t.job.projectId||!t.job.objectiveId)throw Error("Objective worker jobs require projectId and objectiveId.");let s=await (0,n.loadProjectObjectiveContext)(t.job.projectId,t.job.objectiveId);if(!s)throw Error("Objective context could not be resolved for this scheduled task.");let i=await b({job:t.job,objectiveContext:s}),a=await m({...t.controllerContext,prompt:i.prompt,systemContext:'You are deciding what action an objective worker should take next.\nReturn ONLY raw JSON with no markdown fences or commentary.\nValid responses:\n{"action":"work_ticket","ticketId":"ticket-id","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk","projectProgress":35,"projectStatus":"at_risk"}\n{"action":"run_prompt","prompt":"detailed instructions","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk"}\n{"action":"stop","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk"}\nRules:\n- "work_ticket": ticketId must exactly match one of the ELIGIBLE TICKETS ids.\n- "run_prompt": for work not captured by existing tickets. When no tickets are actionable and the objective is not done, use this to plan: review notes, refine the last plan, or outline next steps. The prompt should instruct the agent to append to an existing note when one is relevant rather than creating a new note.\n- "stop": only when the objective is done or genuinely no action (including planning) adds value.\nPercentages must be integers 0-100.\nStatuses: on_track, at_risk, off_track, done.',cliArgs:t.cliArgs,onSpawn:t.onSpawn});if("success"!==a.status)return{...a,output:a.output||"Objective controller failed before selecting an action."};let T=h(a.output),E="string"==typeof T?.action?T.action.trim().toLowerCase():"string"==typeof T?.decision?T.decision.trim().toLowerCase():"",g="work"===E?"work_ticket":E;if(!g){let e=a.output??"";console.warn(`[objective-worker] empty action from controller (job=${t.job.id}, outputLen=${e.length}, parsed=${T?"object":"null"}):`,e.slice(0,500))}let f="string"==typeof T?.reason?T.reason.trim():"",L=N(T?.objectiveProgress),O=j(T?.objectiveStatus),v=N(T?.projectProgress),A=j(T?.projectStatus),S="string"==typeof T?.projectNote?T.projectNote.trim():"",y="string"==typeof T?.objectiveNote?T.objectiveNote.trim():"",R=new Date().toISOString(),k=null!==L&&O?I("Objective health",L,O):null,w=null!==v&&A?I("Project health",v,A):null,D=null!==L&&null!==O?{objectiveId:s.objective.id,objectiveKey:s.objective.key,progress:L,status:O,recordedAt:R,source:`scheduled-task:${t.job.id}`,note:y||void 0}:null,X=null!==L&&null!==O&&(L!==s.objective.progress||O!==s.objective.status),C=X?(0,_.upsertProjectObjective)(s.workspace,{...s.objective,progress:L,status:O,updatedAt:R}):s.workspace,U=null!==v&&null!==A?{progress:v,status:A,updatedAt:R,source:`scheduled-task:${t.job.id}`,objectiveId:s.objective.id,objectiveKey:s.objective.key,note:S||void 0}:null,M=e=>{let t=e;return U&&(t=(0,_.writeProjectHealthSnapshot)(t,U)),D&&(t=function(e,t){let r=t.objectiveId.trim();if(!r)return e;let s=function(e,t){if(!u(e)||!t.trim())return[];let r=e[o];if(!u(r))return[];let s=r[t.trim()];return Array.isArray(s)?p(s.map(e=>(function(e){if(!u(e))return null;let t=function(e){if("string"!=typeof e)return null;let t=e.trim().toLowerCase();return"on_track"===t||"at_risk"===t||"off_track"===t||"done"===t?t:c[t]??null}(e.status),r=function(e){if("string"!=typeof e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:new Date(t).toISOString()}(e.recordedAt);return t&&r?{progress:l(e.progress),status:t,recordedAt:r,source:d(e.source),note:d(e.note),objectiveId:d(e.objectiveId)??null,objectiveKey:d(e.objectiveKey)??null}:null})(e)).filter(e=>!!e)):[]}(e,r),i=p(s,[t]).slice(-200),a=u(e[o])?e[o]:{};return{...e,[o]:{...a,[r]:i.map(e=>({progress:l(e.progress),status:e.status,recordedAt:e.recordedAt,...e.source?{source:e.source}:{},...e.note?{note:e.note}:{},...e.objectiveId?{objectiveId:e.objectiveId}:{},...e.objectiveKey?{objectiveKey:e.objectiveKey}:{}}))}}}(t,D)),t};X?await (0,n.persistProjectObjectiveWorkspace)({projectId:s.project.id,currentMetadata:s.project.metadata,workspace:C,transformMetadata:M}):(D||U)&&await (0,n.persistProjectObjectiveMetadata)({projectId:s.project.id,currentMetadata:s.project.metadata,transformMetadata:M});let{dispatchObjectiveAction:$}=await e.A(688671),x=await $({action:g,parsed:T,reason:f,job:t.job,controllerContext:t.controllerContext,sessionAgent:t.sessionAgent,objectiveContext:s,eligibleIssues:i.eligibleIssues,issues:i.issues,healthSummaries:{objectiveHealthSummary:k,projectHealthSummary:w,objectiveNote:y,projectNote:S},cliArgs:t.cliArgs,onSpawn:t.onSpawn,startMs:r}),{logActionReceipt:P}=await e.A(688671);return await P(x,{jobId:t.job.id,projectId:t.job.projectId,objectiveId:t.job.objectiveId}),{output:x.result,error:"failed"===x.status?x.result:"",durationMs:Date.now()-r,status:x.status}}catch(e){return{output:"",error:e instanceof Error?e.message:String(e),durationMs:Date.now()-r,status:"failed"}}}e.s(["buildObjectiveObservation",()=>b,"executeObjectiveWorker",()=>L,"extractFirstJsonObject",()=>h],720395)},688671,e=>{e.v(e=>Promise.resolve().then(()=>e(917435)))}];
|
|
90
90
|
|
|
91
91
|
//# sourceMappingURL=apps_local_5e5f36c4._.js.map
|