@mndrk/agx 2.0.32 → 2.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
- package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +3 -4
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +3 -2
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +4 -3
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +6 -6
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +2 -3
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +2 -3
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +3 -4
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +5 -5
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +6 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -4
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +6 -6
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +3 -3
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0b3b6a47._.js +51 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__86f7d27b._.js → [root-of-the-server]__18423486._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dede3dcd._.js → [root-of-the-server]__19520d85._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__399b2ca9._.js → [root-of-the-server]__1c18c0d1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6e59b27c._.js → [root-of-the-server]__32b13ba9._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1dd062c1._.js → [root-of-the-server]__3c1567b6._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__29ce9c60._.js → [root-of-the-server]__3c37453e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__507a4363._.js → [root-of-the-server]__3faa64cd._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e446cb39._.js → [root-of-the-server]__4837d72a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__10940c29._.js → [root-of-the-server]__49c03d66._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__75bff965._.js → [root-of-the-server]__4c861686._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d8c6e3d._.js +58 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__94fa1edc._.js → [root-of-the-server]__588b6ab0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ccfcbcd5._.js → [root-of-the-server]__5a348fba._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9dfaaf72._.js → [root-of-the-server]__61c99680._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c08bef05._.js → [root-of-the-server]__6acb940d._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__98535eb3._.js → [root-of-the-server]__7e79d86a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c187704._.js → [root-of-the-server]__7ffcc20c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c5634f17._.js → [root-of-the-server]__875279cb._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5b93200._.js → [root-of-the-server]__8b461158._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b3ed0a00._.js +46 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b63cb741._.js +63 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2388b2b3._.js → [root-of-the-server]__b9b3fde6._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f4b70b67._.js → [root-of-the-server]__be4ad4b5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +80 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5ca87ba0._.js → [root-of-the-server]__c480c9c2._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d6e1ee6e._.js +32 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__80655727._.js → [root-of-the-server]__e069c0a3._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5a2358a._.js → [root-of-the-server]__e1e51c02._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__12afd8a3._.js → [root-of-the-server]__ef82dda1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1b7932f._.js +36 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4d318eb0._.js → [root-of-the-server]__f701b208._.js} +24 -24
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffffceac._.js +6 -0
- package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
- package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{_3e0d34cc._.js → _d22934ab._.js} +24 -24
- package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_7cad5c77._.js +64 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +25 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +45 -37
- package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +45 -37
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +12 -12
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a8a8afdc._.js → [root-of-the-server]__04d1aa70._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__9166c1d6._.js → [root-of-the-server]__2d80540b._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1322ced8._.js → [root-of-the-server]__a416df95._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__783669c3._.js → [root-of-the-server]__c108f06c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_0f4e70b1._.js → _41f60c52._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_6b14826d._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6fc3736e._.js → _84879a01._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_ff5799d6._.js → _9eeb2fa0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_68ac991e._.js → _a1d30b20._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_5b2b8a85._.js → _c87c359c._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_fb292eed._.js → _dd31b6e0._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6de3f1de._.js → _f0ce6183._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bf855424._.js +3 -0
- package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{a66e1891e808a664.js → 012e3e9699415997.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/031d99fbe758545a.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{87f099ea02aa419d.js → 116985039c24f1f8.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/2ee8d24314eec47c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{cd308f61797939cd.js → 43f6157bc3db9c52.js} +2 -2
- package/cloud-runtime/standalone/.next/static/chunks/{58025a80caa3629d.js → 56a01238098d495d.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/{6fbe08eab578c7d3.js → 601996727991149e.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/851b1d97179bd39b.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/90b581e9631d8cea.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/b22947e6df238fd5.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{4200b512bdc226bc.js → b2dcd19ebe3af3f6.js} +9 -9
- package/cloud-runtime/standalone/.next/static/chunks/{e62d5fa120fdf21f.js → bc06988336ffd261.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{1f415d0ce7ebbd08.js → c93b9643c81c134e.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/ebaf4e8f04bae7b6.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f4909e7ae8229b1c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/fd221a50082e5128.js +1 -0
- package/cloud-runtime/standalone/app/api/chat/route.ts +36 -0
- package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -0
- package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +210 -26
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +62 -41
- package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +33 -28
- package/cloud-runtime/standalone/hooks/useGroupChat.ts +4 -0
- package/cloud-runtime/standalone/hooks/useProcessPolling.ts +4 -3
- package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
- package/cloud-runtime/standalone/lib/cli-runner.ts +212 -14
- package/cloud-runtime/standalone/lib/db.ts +1 -1
- package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
- package/cloud-runtime/standalone/lib/history-store.ts +78 -2
- package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +51 -0
- package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +6 -0
- package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
- package/cloud-runtime/standalone/transcri +0 -0
- package/cloud-runtime/standalone/worker/index.js +604 -165
- package/lib/cli/runCli.js +0 -97
- package/lib/commands/update.js +159 -17
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0925dd01._.js +0 -46
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12c7e188._.js +0 -29
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__17c2d68f._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20b3baea._.js +0 -55
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__254e942f._.js +0 -20
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4761dc17._.js +0 -8
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4b1a512c._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac3c2f7f._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bfcedb7c._.js +0 -52
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e7dd1e._.js +0 -25
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcd3e3b8._.js +0 -15
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9c61da._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/_66e1ddec._.js +0 -57
- package/cloud-runtime/standalone/.next/server/chunks/lib_09aac4e7._.js +0 -57
- package/cloud-runtime/standalone/.next/server/chunks/lib_cli-runner_ts_dfcf3fda._.js +0 -18
- package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_69b6b2e1.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_16c45024._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_678fa868._.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/24a6ee21f430da93.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/27129bea5b512ce8.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/463edf3533d27a56.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/5cb0c885b085ea6c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/60c054bb8b2cffa6.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/7e2edf97bd6c0874.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/8249f202d33d0d95.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/9f8f719c4aa25e3d.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/bc727d3d9993e9be.js +0 -1
- /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
module.exports=[37269,e=>{"use strict";var t=e.i(22734),r=e.i(46786),o=e.i(14747);let n=process.env.AGX_DATA_DIR||o.default.join(r.default.homedir(),".agx"),i=process.env.AGX_DEBUG_LOG_PATH||o.default.join(n,"logs","desktop-chat-debug.log");function a(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"string"==typeof t&&t.length>2e3?`${t.slice(0,2e3)}...<truncated>`:t}function s(){return i}function l(e,r){try{t.default.mkdirSync(o.default.dirname(i),{recursive:!0});let n=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},a);t.default.appendFileSync(i,`${n}
|
|
2
|
+
`,"utf8")}catch{}}e.s(["getDebugLogPath",()=>s,"writeDebugLog",()=>l])},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},14499,e=>{"use strict";let t=Number(process.env.AGX_MAX_WORKERS)||10;function r(e){if(e>t)throw Error(`[limits] Requested ${e} workers exceeds MAX_WORKERS (${t}). See docs/LIMITS.md — exceeding this limit risks SQLITE_BUSY errors. Set AGX_MAX_WORKERS to override (requires architecture review).`);if(e<1)throw Error(`[limits] Worker count must be at least 1, got ${e}.`)}class o{timestamps=[];lastWarning=0;WARNING_COOLDOWN_MS=6e4;record(){this.timestamps.push(Date.now())}check(){let e=Date.now(),t=e-1e4;this.timestamps=this.timestamps.filter(e=>e>=t);let r=this.timestamps.length/10,o=r>=40;return o&&e-this.lastWarning>this.WARNING_COOLDOWN_MS&&(this.lastWarning=e,console.warn(`[limits] Write QPS at ${r.toFixed(1)} — approaching ceiling of 50. See docs/LIMITS.md for mitigation steps.`)),{qps:r,warning:o}}}e.s(["MAX_WORKERS",0,t,"WRITE_QPS_CEILING",0,50,"WRITE_RATE_SAMPLE_WINDOW_MS",0,1e4,"WriteRateMonitor",()=>o,"assertWorkerCount",()=>r])},68638,e=>{"use strict";var t=e.i(85148),r=e.i(66680);let o={randomUUID:r.randomUUID},n=new Uint8Array(256),i=n.length,a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));let s=function(e,t,s){if(o.randomUUID&&!t&&!e)return o.randomUUID();var l=e,d=s;let u=(l=l||{}).random??l.rng?.()??(i>n.length-16&&((0,r.randomFillSync)(n),i=0),n.slice(i,i+=16));if(u.length<16)throw Error("Random bytes length must be >= 16");if(u[6]=15&u[6]|64,u[8]=63&u[8]|128,t){if((d=d||0)<0||d+16>t.length)throw RangeError(`UUID byte range ${d}:${d+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[d+e]=u[e];return t}return function(e,t=0){return(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase()}(u)};var l=e.i(14747),d=e.i(22734),u=e.i(46786),c=e.i(21729),p=e.i(14499),g=e.i(37269);let f=process.env.AGX_DATA_DIR||l.default.join(u.default.homedir(),".agx");function E(){let e=Number(process.env.AGX_QUEUE_STALE_MS);return Number.isFinite(e)&&e>0?e:6e5}class m{db;workers=new Map;pollingInterval=null;writeRateInterval=null;writeMonitor=new p.WriteRateMonitor;workerId;constructor(e){this.workerId=s();const r=e||process.env.SQLITE_QUEUE_PATH||l.default.join(f,"agx-queue.db"),o=l.default.dirname(r);d.default.existsSync(o)||d.default.mkdirSync(o,{recursive:!0}),this.db=new t.default(r);const n=(0,c.validateSQLiteEnvironment)(this.db,r);if(n.length>0){const e=n.map(e=>e.message).join("; ");console.error(`[SQLiteQueueAdapter] Startup validation failed: ${e}`)}}async start(){this.initSchema(),this.startPolling()}async stop(){this.stopPolling(),this.db.close()}initSchema(){this.db.exec(`
|
|
3
|
+
CREATE TABLE IF NOT EXISTS agx_jobs (
|
|
4
|
+
id TEXT PRIMARY KEY,
|
|
5
|
+
queue TEXT NOT NULL,
|
|
6
|
+
data TEXT NOT NULL,
|
|
7
|
+
status TEXT NOT NULL CHECK(status IN ('pending', 'active', 'completed', 'failed', 'retry')),
|
|
8
|
+
created_at INTEGER NOT NULL,
|
|
9
|
+
start_after INTEGER NOT NULL DEFAULT 0,
|
|
10
|
+
started_at INTEGER,
|
|
11
|
+
completed_at INTEGER,
|
|
12
|
+
failed_at INTEGER,
|
|
13
|
+
worker_id TEXT,
|
|
14
|
+
retry_count INTEGER DEFAULT 0,
|
|
15
|
+
retry_limit INTEGER DEFAULT 0,
|
|
16
|
+
priority INTEGER DEFAULT 0,
|
|
17
|
+
error TEXT
|
|
18
|
+
);
|
|
19
|
+
CREATE INDEX IF NOT EXISTS idx_jobs_fetch ON agx_jobs (queue, status, start_after, priority DESC, created_at ASC);
|
|
20
|
+
`);let e=new Set(this.db.pragma("table_info(agx_jobs)").map(e=>e.name));e.has("failed_at")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN failed_at INTEGER"),e.has("error")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN error TEXT")}async send(e,t,r){let o=s(),n=Date.now(),i=r?.startAfter?r.startAfter instanceof Date?r.startAfter.getTime():r.startAfter:n;return this.db.prepare(`
|
|
21
|
+
INSERT INTO agx_jobs (
|
|
22
|
+
id, queue, data, status, created_at, start_after, retry_limit, priority
|
|
23
|
+
) VALUES (?, ?, ?, 'pending', ?, ?, ?, ?)
|
|
24
|
+
`).run(o,e,JSON.stringify(t),n,i,r?.retryLimit??3,r?.priority??0),this.writeMonitor.record(),(0,g.writeDebugLog)("queue.send",{queue:e,jobId:o,startAfter:i,retryLimit:r?.retryLimit??3,priority:r?.priority??0,data:t}),o}async work(e,t,r){(0,g.writeDebugLog)("queue.worker.register",{queue:e,batchSize:r?.batchSize??1,pollInterval:r?.pollInterval??null,workerId:this.workerId}),this.workers.set(e,{handler:t,options:r||{},running:!0})}startPolling(){this.pollingInterval||(this.pollingInterval=setInterval(()=>this.poll(),1e3),this.writeRateInterval=setInterval(()=>this.writeMonitor.check(),p.WRITE_RATE_SAMPLE_WINDOW_MS))}stopPolling(){this.pollingInterval&&(clearInterval(this.pollingInterval),this.pollingInterval=null),this.writeRateInterval&&(clearInterval(this.writeRateInterval),this.writeRateInterval=null)}poll(){for(let[e,t]of this.workers)t.running&&this.processQueue(e,t)}processQueue(e,t){let r=t.options.batchSize||1,o=Date.now(),n=o-E(),i=this.db.transaction(()=>{let t=this.reapStaleJobs(e,o,n);t.length>0&&(0,g.writeDebugLog)("queue.reap_stale",{queue:e,workerId:this.workerId,staleBefore:n,jobs:t});let i=this.db.prepare(`
|
|
25
|
+
SELECT id, data FROM agx_jobs
|
|
26
|
+
WHERE queue = ?
|
|
27
|
+
AND (status = 'pending' OR status = 'retry')
|
|
28
|
+
AND start_after <= ?
|
|
29
|
+
ORDER BY priority DESC, created_at ASC
|
|
30
|
+
LIMIT ?
|
|
31
|
+
`).all(e,o,r);if(0===i.length)return[];let a=i.map(e=>e.id),s=this.db.prepare(`
|
|
32
|
+
UPDATE agx_jobs
|
|
33
|
+
SET status = 'active', started_at = ?, worker_id = ?
|
|
34
|
+
WHERE id = ?
|
|
35
|
+
`);for(let e of a)s.run(o,this.workerId,e);return i.map(t=>({id:t.id,name:e,data:JSON.parse(t.data)}))})();i.length>0&&((0,g.writeDebugLog)("queue.claim",{queue:e,workerId:this.workerId,jobIds:i.map(e=>e.id)}),this.executeJobs(i,t.handler))}async executeJobs(e,t){try{await t(e),this.completeJobs(e.map(e=>e.id)),(0,g.writeDebugLog)("queue.complete",{jobIds:e.map(e=>e.id)})}catch(t){this.failJobs(e.map(e=>e.id),t.message||String(t)),(0,g.writeDebugLog)("queue.fail",{jobIds:e.map(e=>e.id),error:t})}}completeJobs(e){let t=Date.now(),r=this.db.prepare(`
|
|
36
|
+
UPDATE agx_jobs
|
|
37
|
+
SET status = 'completed', completed_at = ?, worker_id = NULL
|
|
38
|
+
WHERE id = ?
|
|
39
|
+
`);this.db.transaction(()=>{for(let o of e)r.run(t,o)})()}failJobs(e,t){let r=Date.now(),o=this.db.prepare(`
|
|
40
|
+
SELECT id, retry_count, retry_limit FROM agx_jobs WHERE id = ?
|
|
41
|
+
`),n=this.db.prepare(`
|
|
42
|
+
UPDATE agx_jobs
|
|
43
|
+
SET status = 'retry', retry_count = retry_count + 1,
|
|
44
|
+
start_after = ? + (retry_count * 1000 * 2), -- Exponential backoff (kinda)
|
|
45
|
+
started_at = NULL,
|
|
46
|
+
worker_id = NULL,
|
|
47
|
+
error = ?
|
|
48
|
+
WHERE id = ?
|
|
49
|
+
`),i=this.db.prepare(`
|
|
50
|
+
UPDATE agx_jobs
|
|
51
|
+
SET status = 'failed', failed_at = ?, started_at = NULL, worker_id = NULL, error = ?
|
|
52
|
+
WHERE id = ?
|
|
53
|
+
`);this.db.transaction(()=>{for(let a of e){let e=o.get(a);if(e&&e.retry_count<e.retry_limit){let o=(e.retry_count+1)*2e3;n.run(r+o,t,a)}else i.run(r,t,a)}})()}reapStaleJobs(e,t,r){let o=this.db.prepare(`
|
|
54
|
+
SELECT id, retry_count, retry_limit
|
|
55
|
+
FROM agx_jobs
|
|
56
|
+
WHERE queue = ?
|
|
57
|
+
AND status = 'active'
|
|
58
|
+
AND started_at IS NOT NULL
|
|
59
|
+
AND started_at <= ?
|
|
60
|
+
ORDER BY started_at ASC
|
|
61
|
+
`).all(e,r);if(0===o.length)return[];let n=this.db.prepare(`
|
|
62
|
+
UPDATE agx_jobs
|
|
63
|
+
SET status = 'retry',
|
|
64
|
+
retry_count = retry_count + 1,
|
|
65
|
+
start_after = ?,
|
|
66
|
+
started_at = NULL,
|
|
67
|
+
worker_id = NULL,
|
|
68
|
+
error = ?
|
|
69
|
+
WHERE id = ?
|
|
70
|
+
`),i=this.db.prepare(`
|
|
71
|
+
UPDATE agx_jobs
|
|
72
|
+
SET status = 'failed',
|
|
73
|
+
failed_at = ?,
|
|
74
|
+
started_at = NULL,
|
|
75
|
+
worker_id = NULL,
|
|
76
|
+
error = ?
|
|
77
|
+
WHERE id = ?
|
|
78
|
+
`),a=[];for(let e of o){let r=`Job exceeded active timeout of ${E()}ms`;e.retry_count<e.retry_limit?(n.run(t,r,e.id),a.push({id:e.id,fromStatus:"active",toStatus:"retry",retryCount:e.retry_count+1})):(i.run(t,r,e.id),a.push({id:e.id,fromStatus:"active",toStatus:"failed",retryCount:e.retry_count}))}return a}}let _=null;async function S(){return _||(_=new m,await _.start()),_}e.s(["QUEUE_NAMES",0,{TASK_PROCESS:"agx.task.process",CHAT_RUN_PROCESS:"agx.chat.process",TASK_CLEANUP:"agx.task.cleanup"},"getQueue",()=>S],68638)},4290,e=>{"use strict";var t=e.i(62294);let r=[["INTAKE","PROGRESS","DONE"]];function o(e,t){for(let t of["ticket_type","type","issue_type","kind"])if("spike"===function(e){if("string"!=typeof e)return"task";let t=e.trim().toLowerCase();return"spike"===t||"spikes"===t?"spike":"task"}(e[t]))return"spike";let r=t.match(/^#\s+(.+)$/m),o=r?.[1]?.trim().toLowerCase()||"";return o.startsWith("spike:")||o.startsWith("[spike]")?"spike":"task"}function n({currentStage:e,decision:t,ticketType:o,retryCount:n,maxRetries:i=3}){let a=function(e,t){if("spike"===t)return"INTAKE"===e?"PROGRESS":"DONE"===e?null:"DONE";for(let t of r){let r=t.indexOf(e);if(-1!==r){if(r>=t.length-1)return null;return t[r+1]}}return null}(e,o);if("done"===t)return a?{nextStage:a,nextStatus:"queued",retryCount:0,error:null,appendLog:{content:`Stage completed: ${e}`,logType:"checkpoint"}}:{nextStage:"DONE",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at stage ${e}.`,logType:"checkpoint"}};if("blocked"===t)return{nextStage:e,nextStatus:"blocked",retryCount:n,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"}};if("PROGRESS"===e)return{nextStage:"PROGRESS",nextStatus:"queued",retryCount:0,error:null,appendLog:{content:"Stage not done. Retrying in PROGRESS.",logType:"system"}};let s=n+1;return s<=i?{nextStage:e,nextStatus:"queued",retryCount:s,error:null,appendLog:{content:`Retrying (${s}/${i}) for stage ${e}.`,logType:"system"}}:{nextStage:e,nextStatus:"failed",retryCount:s,error:"Task failed.",appendLog:{content:"Task failed.",logType:"error"}}}async function i({workflowId:e,currentNodeName:r,decision:o,retryCount:n,maxRetries:i=3}){if("done"===String(r).trim().toLowerCase())return{nextNodeName:"done",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:"Task completed at done",logType:"checkpoint"},nodeConfig:null};let a=await (0,t.getWorkflowNodeByName)(e,r);if(!a)return{nextNodeName:r,nextStatus:"blocked",retryCount:n,error:`Node '${r}' not found in workflow`,appendLog:{content:`Workflow error: node '${r}' not found`,logType:"error"},nodeConfig:null};if("terminal"===a.node_type)return{nextNodeName:r,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${a.label||r}`,logType:"checkpoint"},nodeConfig:a};if("blocked"===o)return{nextNodeName:r,nextStatus:"blocked",retryCount:n,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"},nodeConfig:a};let s=await (0,t.getWorkflowTransitionsFromNode)(e,a.id),l=function(e){switch(e){case"done":default:return"done";case"blocked":return"blocked";case"failed":case"not_done":return"failed"}}(o),d=s.find(e=>e.condition===l);if(d){let n=(await (0,t.getWorkflowNodes)(e)).find(e=>e.id===d.to_node_id);if(n){let e="terminal"===n.node_type;return{nextNodeName:n.name,nextStatus:e?"completed":"queued",retryCount:0,error:null,appendLog:{content:"done"===o?`Stage completed: ${a.label||r}`:`Transition to ${n.label||n.name}`,logType:"done"===o?"checkpoint":"system"},nodeConfig:n}}}if("done"===o)return{nextNodeName:r,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${a.label||r}`,logType:"checkpoint"},nodeConfig:a};let u=n+1;return u<=i?{nextNodeName:r,nextStatus:"queued",retryCount:u,error:null,appendLog:{content:`Retrying (${u}/${i}) for ${a.label||r}`,logType:"system"},nodeConfig:a}:{nextNodeName:r,nextStatus:"failed",retryCount:u,error:"Task failed after max retries.",appendLog:{content:"Task failed after max retries.",logType:"error"},nodeConfig:a}}e.s(["getTicketType",()=>o,"resolveStageTransition",()=>n,"resolveWorkflowTransition",()=>i])}];
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__c0a18648._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,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])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747);let s="3.35.0",n=["json1"],o=["fts5"],i=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,d){let c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(p.v,s)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${s}`,found:p.v,required:`>= ${s}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),n))l(u,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let f=function(s){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(s),{execSync:o}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",a="unknown";for(let t of e.split("\n")){let[,e,s]=t.split(/\s+/);e&&n.startsWith(e)&&e.length>r.length&&(r=e,a=s||"unknown")}return a}}catch{}return null}(d);f&&i.some(e=>f.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${f})`,path:d,found:f,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},57431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(60447);return t()}e.i(49041),e.s(["createAdminDbClient",()=>t])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},59185,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(74838),m=e.i(10372),x=e.i(93695);e.i(52474);var g=e.i(220),R=e.i(94028),v=e.i(62294);async function E(e,t){try{let{id:e}=await t.params,r=await (0,v.getProjectSkills)(e);return R.NextResponse.json({skills:r})}catch(e){return console.error("Error fetching project skills:",e),R.NextResponse.json({error:"Failed to fetch project skills"},{status:500})}}async function w(e,t){try{let{id:r}=await t.params,a=await e.json().catch(()=>({})),s="string"==typeof a.file?a.file.trim():"";if(!s)return R.NextResponse.json({error:"file is required"},{status:400});let n="string"==typeof a.condition?a.condition.trim():void 0,o=await (0,v.addProjectSkill)(r,s,n);return R.NextResponse.json({skill:o},{status:201})}catch(e){return console.error("Error adding project skill:",e),R.NextResponse.json({error:"Failed to add project skill"},{status:500})}}async function y(e,t){try{let t=new URL(e.url).searchParams.get("skillId");if(!t)return R.NextResponse.json({error:"skillId query param is required"},{status:400});return await (0,v.removeProjectSkill)(t),R.NextResponse.json({ok:!0})}catch(e){return console.error("Error removing project skill:",e),R.NextResponse.json({error:"Failed to remove project skill"},{status:500})}}e.s(["DELETE",()=>y,"GET",()=>E,"POST",()=>w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],56283);var b=e.i(56283);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/[id]/skills/route",pathname:"/api/projects/[id]/skills",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/projects/[id]/skills/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:_,workUnitAsyncStorage:j,serverHooks:A}=k;function C(){return(0,a.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:j})}async function S(e,t,a){k.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/projects/[id]/skills/route";R=R.replace(/\/index$/,"")||"/";let v=await k.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!v)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:b,isDraftMode:_,prerenderManifest:j,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:S,resolvedPathname:T,clientReferenceManifest:q,serverActionsManifest:N}=v,L=(0,i.normalizeAppPath)(R),P=!!(j.dynamicRoutes[L]||j.routes[T]),O=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if(P&&!_){let e=!!j.routes[T],t=j.dynamicRoutes[L];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await O();throw new x.NoFallbackError}}let U=null;!P||k.isDev||_||(U="/index"===(U=T)?"/":U);let I=!0===k.isDev||!P,D=P&&!I;N&&q&&(0,o.setManifestsSingleton)({page:R,clientReferenceManifest:q,serverActionsManifest:N});let $=e.method||"GET",F=(0,n.getTracer)(),H=F.getActiveScopeSpan(),M={params:w,prerenderManifest:j,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:I,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)=>k.onRequestError(e,t,a,s,A)},sharedContext:{buildId:E}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o=async e=>k.handle(G,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let 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(`${$} ${R}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&C&&S&&!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=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=M.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(B,K,n,M.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!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,a=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:g.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 k.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:C})},!1,A),t}},d=await k.handleResponse({req:e,nextConfig:y,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:S,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:i});if(!P)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==g.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",C?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&P||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)(B,K,new Response(d.value.body,{headers:x,status:d.value.status||200})),null};H?await l(H):await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${R}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:C})},!1,A),P)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>C,"routeModule",()=>k,"serverHooks",()=>A,"workAsyncStorage",()=>_,"workUnitAsyncStorage",()=>j],59185)}];
|
|
1
|
+
module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,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])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),a=e.i(14747);let s="3.35.0",n=["json1"],o=["fts5"],i=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,d){let c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(p.v,s)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${s}`,found:p.v,required:`>= ${s}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),n))l(u,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of o)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let f=function(s){"linux"!==r.default.platform()&&r.default.platform();try{let n=a.default.resolve(s),{execSync:o}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",a="unknown";for(let t of e.split("\n")){let[,e,s]=t.split(/\s+/);e&&n.startsWith(e)&&e.length>r.length&&(r=e,a=s||"unknown")}return a}}catch{}return null}(d);f&&i.some(e=>f.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${f})`,path:d,found:f,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},57431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(60447);return t()}e.i(49041),e.s(["createAdminDbClient",()=>t])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},59185,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),f=e.i(70101),h=e.i(74838),m=e.i(10372),x=e.i(93695);e.i(52474);var g=e.i(220),R=e.i(94028),v=e.i(62294);async function E(e,t){try{let{id:e}=await t.params,r=await (0,v.getProjectSkills)(e);return R.NextResponse.json({skills:r})}catch(e){return console.error("Error fetching project skills:",e),R.NextResponse.json({error:"Failed to fetch project skills"},{status:500})}}async function w(e,t){try{let{id:r}=await t.params,a=await e.json().catch(()=>({})),s="string"==typeof a.file?a.file.trim():"";if(!s)return R.NextResponse.json({error:"file is required"},{status:400});let n="string"==typeof a.condition?a.condition.trim():void 0,o=await (0,v.addProjectSkill)(r,s,n);return R.NextResponse.json({skill:o},{status:201})}catch(e){return console.error("Error adding project skill:",e),R.NextResponse.json({error:"Failed to add project skill"},{status:500})}}async function y(e,t){try{let t=new URL(e.url).searchParams.get("skillId");if(!t)return R.NextResponse.json({error:"skillId query param is required"},{status:400});return await (0,v.removeProjectSkill)(t),R.NextResponse.json({ok:!0})}catch(e){return console.error("Error removing project skill:",e),R.NextResponse.json({error:"Failed to remove project skill"},{status:500})}}e.s(["DELETE",()=>y,"GET",()=>E,"POST",()=>w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],56283);var b=e.i(56283);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/[id]/skills/route",pathname:"/api/projects/[id]/skills",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/projects/[id]/skills/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:_,workUnitAsyncStorage:j,serverHooks:A}=k;function C(){return(0,a.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:j})}async function S(e,t,a){k.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/projects/[id]/skills/route";R=R.replace(/\/index$/,"")||"/";let v=await k.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!v)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:b,isDraftMode:_,prerenderManifest:j,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:S,resolvedPathname:T,clientReferenceManifest:q,serverActionsManifest:N}=v,L=(0,i.normalizeAppPath)(R),P=!!(j.dynamicRoutes[L]||j.routes[T]),O=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if(P&&!_){let e=!!j.routes[T],t=j.dynamicRoutes[L];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await O();throw new x.NoFallbackError}}let U=null;!P||k.isDev||_||(U="/index"===(U=T)?"/":U);let I=!0===k.isDev||!P,D=P&&!I;N&&q&&(0,o.setManifestsSingleton)({page:R,clientReferenceManifest:q,serverActionsManifest:N});let $=e.method||"GET",F=(0,n.getTracer)(),H=F.getActiveScopeSpan(),M={params:w,prerenderManifest:j,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:I,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)=>k.onRequestError(e,t,a,s,A)},sharedContext:{buildId:E}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o=async e=>k.handle(G,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let 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(`${$} ${R}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var n,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&C&&S&&!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=M.renderOpts.fetchMetrics;let l=M.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=M.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(B,K,n,M.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!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,a=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:g.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 k.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:C})},!1,A),t}},d=await k.handleResponse({req:e,nextConfig:y,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:S,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:i});if(!P)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==g.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",C?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&P||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)(B,K,new Response(d.value.body,{headers:x,status:d.value.status||200})),null};H?await l(H):await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${R}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:C})},!1,A),P)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>C,"routeModule",()=>k,"serverHooks",()=>A,"workAsyncStorage",()=>_,"workUnitAsyncStorage",()=>j],59185)}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__c480c9c2._.js.map
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
module.exports=[66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},14499,e=>{"use strict";let t=Number(process.env.AGX_MAX_WORKERS)||10;function r(e){if(e>t)throw Error(`[limits] Requested ${e} workers exceeds MAX_WORKERS (${t}). See docs/LIMITS.md — exceeding this limit risks SQLITE_BUSY errors. Set AGX_MAX_WORKERS to override (requires architecture review).`);if(e<1)throw Error(`[limits] Worker count must be at least 1, got ${e}.`)}class o{timestamps=[];lastWarning=0;WARNING_COOLDOWN_MS=6e4;record(){this.timestamps.push(Date.now())}check(){let e=Date.now(),t=e-1e4;this.timestamps=this.timestamps.filter(e=>e>=t);let r=this.timestamps.length/10,o=r>=40;return o&&e-this.lastWarning>this.WARNING_COOLDOWN_MS&&(this.lastWarning=e,console.warn(`[limits] Write QPS at ${r.toFixed(1)} — approaching ceiling of 50. See docs/LIMITS.md for mitigation steps.`)),{qps:r,warning:o}}}e.s(["MAX_WORKERS",0,t,"WRITE_QPS_CEILING",0,50,"WRITE_RATE_SAMPLE_WINDOW_MS",0,1e4,"WriteRateMonitor",()=>o,"assertWorkerCount",()=>r])},68638,e=>{"use strict";var t=e.i(85148),r=e.i(66680);let o={randomUUID:r.randomUUID},n=new Uint8Array(256),a=n.length,i=[];for(let e=0;e<256;++e)i.push((e+256).toString(16).slice(1));let s=function(e,t,s){if(o.randomUUID&&!t&&!e)return o.randomUUID();var l=e,d=s;let u=(l=l||{}).random??l.rng?.()??(a>n.length-16&&((0,r.randomFillSync)(n),a=0),n.slice(a,a+=16));if(u.length<16)throw Error("Random bytes length must be >= 16");if(u[6]=15&u[6]|64,u[8]=63&u[8]|128,t){if((d=d||0)<0||d+16>t.length)throw RangeError(`UUID byte range ${d}:${d+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[d+e]=u[e];return t}return function(e,t=0){return(i[e[t+0]]+i[e[t+1]]+i[e[t+2]]+i[e[t+3]]+"-"+i[e[t+4]]+i[e[t+5]]+"-"+i[e[t+6]]+i[e[t+7]]+"-"+i[e[t+8]]+i[e[t+9]]+"-"+i[e[t+10]]+i[e[t+11]]+i[e[t+12]]+i[e[t+13]]+i[e[t+14]]+i[e[t+15]]).toLowerCase()}(u)};var l=e.i(14747),d=e.i(22734),u=e.i(46786),p=e.i(21729),c=e.i(14499),g=e.i(37269);let f=process.env.AGX_DATA_DIR||l.default.join(u.default.homedir(),".agx");function E(){let e=Number(process.env.AGX_QUEUE_STALE_MS);return Number.isFinite(e)&&e>0?e:6e5}class _{db;workers=new Map;pollingInterval=null;writeRateInterval=null;writeMonitor=new c.WriteRateMonitor;workerId;constructor(e){this.workerId=s();const r=e||process.env.SQLITE_QUEUE_PATH||l.default.join(f,"agx-queue.db"),o=l.default.dirname(r);d.default.existsSync(o)||d.default.mkdirSync(o,{recursive:!0}),this.db=new t.default(r);const n=(0,p.validateSQLiteEnvironment)(this.db,r);if(n.length>0){const e=n.map(e=>e.message).join("; ");console.error(`[SQLiteQueueAdapter] Startup validation failed: ${e}`)}}async start(){this.initSchema(),this.startPolling()}async stop(){this.stopPolling(),this.db.close()}initSchema(){this.db.exec(`
|
|
2
|
+
CREATE TABLE IF NOT EXISTS agx_jobs (
|
|
3
|
+
id TEXT PRIMARY KEY,
|
|
4
|
+
queue TEXT NOT NULL,
|
|
5
|
+
data TEXT NOT NULL,
|
|
6
|
+
status TEXT NOT NULL CHECK(status IN ('pending', 'active', 'completed', 'failed', 'retry')),
|
|
7
|
+
created_at INTEGER NOT NULL,
|
|
8
|
+
start_after INTEGER NOT NULL DEFAULT 0,
|
|
9
|
+
started_at INTEGER,
|
|
10
|
+
completed_at INTEGER,
|
|
11
|
+
failed_at INTEGER,
|
|
12
|
+
worker_id TEXT,
|
|
13
|
+
retry_count INTEGER DEFAULT 0,
|
|
14
|
+
retry_limit INTEGER DEFAULT 0,
|
|
15
|
+
priority INTEGER DEFAULT 0,
|
|
16
|
+
error TEXT
|
|
17
|
+
);
|
|
18
|
+
CREATE INDEX IF NOT EXISTS idx_jobs_fetch ON agx_jobs (queue, status, start_after, priority DESC, created_at ASC);
|
|
19
|
+
`);let e=new Set(this.db.pragma("table_info(agx_jobs)").map(e=>e.name));e.has("failed_at")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN failed_at INTEGER"),e.has("error")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN error TEXT")}async send(e,t,r){let o=s(),n=Date.now(),a=r?.startAfter?r.startAfter instanceof Date?r.startAfter.getTime():r.startAfter:n;return this.db.prepare(`
|
|
20
|
+
INSERT INTO agx_jobs (
|
|
21
|
+
id, queue, data, status, created_at, start_after, retry_limit, priority
|
|
22
|
+
) VALUES (?, ?, ?, 'pending', ?, ?, ?, ?)
|
|
23
|
+
`).run(o,e,JSON.stringify(t),n,a,r?.retryLimit??3,r?.priority??0),this.writeMonitor.record(),(0,g.writeDebugLog)("queue.send",{queue:e,jobId:o,startAfter:a,retryLimit:r?.retryLimit??3,priority:r?.priority??0,data:t}),o}async work(e,t,r){(0,g.writeDebugLog)("queue.worker.register",{queue:e,batchSize:r?.batchSize??1,pollInterval:r?.pollInterval??null,workerId:this.workerId}),this.workers.set(e,{handler:t,options:r||{},running:!0})}startPolling(){this.pollingInterval||(this.pollingInterval=setInterval(()=>this.poll(),1e3),this.writeRateInterval=setInterval(()=>this.writeMonitor.check(),c.WRITE_RATE_SAMPLE_WINDOW_MS))}stopPolling(){this.pollingInterval&&(clearInterval(this.pollingInterval),this.pollingInterval=null),this.writeRateInterval&&(clearInterval(this.writeRateInterval),this.writeRateInterval=null)}poll(){for(let[e,t]of this.workers)t.running&&this.processQueue(e,t)}processQueue(e,t){let r=t.options.batchSize||1,o=Date.now(),n=o-E(),a=this.db.transaction(()=>{let t=this.reapStaleJobs(e,o,n);t.length>0&&(0,g.writeDebugLog)("queue.reap_stale",{queue:e,workerId:this.workerId,staleBefore:n,jobs:t});let a=this.db.prepare(`
|
|
24
|
+
SELECT id, data FROM agx_jobs
|
|
25
|
+
WHERE queue = ?
|
|
26
|
+
AND (status = 'pending' OR status = 'retry')
|
|
27
|
+
AND start_after <= ?
|
|
28
|
+
ORDER BY priority DESC, created_at ASC
|
|
29
|
+
LIMIT ?
|
|
30
|
+
`).all(e,o,r);if(0===a.length)return[];let i=a.map(e=>e.id),s=this.db.prepare(`
|
|
31
|
+
UPDATE agx_jobs
|
|
32
|
+
SET status = 'active', started_at = ?, worker_id = ?
|
|
33
|
+
WHERE id = ?
|
|
34
|
+
`);for(let e of i)s.run(o,this.workerId,e);return a.map(t=>({id:t.id,name:e,data:JSON.parse(t.data)}))})();a.length>0&&((0,g.writeDebugLog)("queue.claim",{queue:e,workerId:this.workerId,jobIds:a.map(e=>e.id)}),this.executeJobs(a,t.handler))}async executeJobs(e,t){try{await t(e),this.completeJobs(e.map(e=>e.id)),(0,g.writeDebugLog)("queue.complete",{jobIds:e.map(e=>e.id)})}catch(t){this.failJobs(e.map(e=>e.id),t.message||String(t)),(0,g.writeDebugLog)("queue.fail",{jobIds:e.map(e=>e.id),error:t})}}completeJobs(e){let t=Date.now(),r=this.db.prepare(`
|
|
35
|
+
UPDATE agx_jobs
|
|
36
|
+
SET status = 'completed', completed_at = ?, worker_id = NULL
|
|
37
|
+
WHERE id = ?
|
|
38
|
+
`);this.db.transaction(()=>{for(let o of e)r.run(t,o)})()}failJobs(e,t){let r=Date.now(),o=this.db.prepare(`
|
|
39
|
+
SELECT id, retry_count, retry_limit FROM agx_jobs WHERE id = ?
|
|
40
|
+
`),n=this.db.prepare(`
|
|
41
|
+
UPDATE agx_jobs
|
|
42
|
+
SET status = 'retry', retry_count = retry_count + 1,
|
|
43
|
+
start_after = ? + (retry_count * 1000 * 2), -- Exponential backoff (kinda)
|
|
44
|
+
started_at = NULL,
|
|
45
|
+
worker_id = NULL,
|
|
46
|
+
error = ?
|
|
47
|
+
WHERE id = ?
|
|
48
|
+
`),a=this.db.prepare(`
|
|
49
|
+
UPDATE agx_jobs
|
|
50
|
+
SET status = 'failed', failed_at = ?, started_at = NULL, worker_id = NULL, error = ?
|
|
51
|
+
WHERE id = ?
|
|
52
|
+
`);this.db.transaction(()=>{for(let i of e){let e=o.get(i);if(e&&e.retry_count<e.retry_limit){let o=(e.retry_count+1)*2e3;n.run(r+o,t,i)}else a.run(r,t,i)}})()}reapStaleJobs(e,t,r){let o=this.db.prepare(`
|
|
53
|
+
SELECT id, retry_count, retry_limit
|
|
54
|
+
FROM agx_jobs
|
|
55
|
+
WHERE queue = ?
|
|
56
|
+
AND status = 'active'
|
|
57
|
+
AND started_at IS NOT NULL
|
|
58
|
+
AND started_at <= ?
|
|
59
|
+
ORDER BY started_at ASC
|
|
60
|
+
`).all(e,r);if(0===o.length)return[];let n=this.db.prepare(`
|
|
61
|
+
UPDATE agx_jobs
|
|
62
|
+
SET status = 'retry',
|
|
63
|
+
retry_count = retry_count + 1,
|
|
64
|
+
start_after = ?,
|
|
65
|
+
started_at = NULL,
|
|
66
|
+
worker_id = NULL,
|
|
67
|
+
error = ?
|
|
68
|
+
WHERE id = ?
|
|
69
|
+
`),a=this.db.prepare(`
|
|
70
|
+
UPDATE agx_jobs
|
|
71
|
+
SET status = 'failed',
|
|
72
|
+
failed_at = ?,
|
|
73
|
+
started_at = NULL,
|
|
74
|
+
worker_id = NULL,
|
|
75
|
+
error = ?
|
|
76
|
+
WHERE id = ?
|
|
77
|
+
`),i=[];for(let e of o){let r=`Job exceeded active timeout of ${E()}ms`;e.retry_count<e.retry_limit?(n.run(t,r,e.id),i.push({id:e.id,fromStatus:"active",toStatus:"retry",retryCount:e.retry_count+1})):(a.run(t,r,e.id),i.push({id:e.id,fromStatus:"active",toStatus:"failed",retryCount:e.retry_count}))}return i}}let m=null;async function T(){return m||(m=new _,await m.start()),m}e.s(["QUEUE_NAMES",0,{TASK_PROCESS:"agx.task.process",CHAT_RUN_PROCESS:"agx.chat.process",TASK_CLEANUP:"agx.task.cleanup"},"getQueue",()=>T],68638)},4290,e=>{"use strict";var t=e.i(62294);let r=[["INTAKE","PROGRESS","DONE"]];function o(e,t){for(let t of["ticket_type","type","issue_type","kind"])if("spike"===function(e){if("string"!=typeof e)return"task";let t=e.trim().toLowerCase();return"spike"===t||"spikes"===t?"spike":"task"}(e[t]))return"spike";let r=t.match(/^#\s+(.+)$/m),o=r?.[1]?.trim().toLowerCase()||"";return o.startsWith("spike:")||o.startsWith("[spike]")?"spike":"task"}function n({currentStage:e,decision:t,ticketType:o,retryCount:n,maxRetries:a=3}){let i=function(e,t){if("spike"===t)return"INTAKE"===e?"PROGRESS":"DONE"===e?null:"DONE";for(let t of r){let r=t.indexOf(e);if(-1!==r){if(r>=t.length-1)return null;return t[r+1]}}return null}(e,o);if("done"===t)return i?{nextStage:i,nextStatus:"queued",retryCount:0,error:null,appendLog:{content:`Stage completed: ${e}`,logType:"checkpoint"}}:{nextStage:"DONE",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at stage ${e}.`,logType:"checkpoint"}};if("blocked"===t)return{nextStage:e,nextStatus:"blocked",retryCount:n,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"}};if("PROGRESS"===e)return{nextStage:"PROGRESS",nextStatus:"queued",retryCount:0,error:null,appendLog:{content:"Stage not done. Retrying in PROGRESS.",logType:"system"}};let s=n+1;return s<=a?{nextStage:e,nextStatus:"queued",retryCount:s,error:null,appendLog:{content:`Retrying (${s}/${a}) for stage ${e}.`,logType:"system"}}:{nextStage:e,nextStatus:"failed",retryCount:s,error:"Task failed.",appendLog:{content:"Task failed.",logType:"error"}}}async function a({workflowId:e,currentNodeName:r,decision:o,retryCount:n,maxRetries:a=3}){if("done"===String(r).trim().toLowerCase())return{nextNodeName:"done",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:"Task completed at done",logType:"checkpoint"},nodeConfig:null};let i=await (0,t.getWorkflowNodeByName)(e,r);if(!i)return{nextNodeName:r,nextStatus:"blocked",retryCount:n,error:`Node '${r}' not found in workflow`,appendLog:{content:`Workflow error: node '${r}' not found`,logType:"error"},nodeConfig:null};if("terminal"===i.node_type)return{nextNodeName:r,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${i.label||r}`,logType:"checkpoint"},nodeConfig:i};if("blocked"===o)return{nextNodeName:r,nextStatus:"blocked",retryCount:n,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"},nodeConfig:i};let s=await (0,t.getWorkflowTransitionsFromNode)(e,i.id),l=function(e){switch(e){case"done":default:return"done";case"blocked":return"blocked";case"failed":case"not_done":return"failed"}}(o),d=s.find(e=>e.condition===l);if(d){let n=(await (0,t.getWorkflowNodes)(e)).find(e=>e.id===d.to_node_id);if(n){let e="terminal"===n.node_type;return{nextNodeName:n.name,nextStatus:e?"completed":"queued",retryCount:0,error:null,appendLog:{content:"done"===o?`Stage completed: ${i.label||r}`:`Transition to ${n.label||n.name}`,logType:"done"===o?"checkpoint":"system"},nodeConfig:n}}}if("done"===o)return{nextNodeName:r,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${i.label||r}`,logType:"checkpoint"},nodeConfig:i};let u=n+1;return u<=a?{nextNodeName:r,nextStatus:"queued",retryCount:u,error:null,appendLog:{content:`Retrying (${u}/${a}) for ${i.label||r}`,logType:"system"},nodeConfig:i}:{nextNodeName:r,nextStatus:"failed",retryCount:u,error:"Task failed after max retries.",appendLog:{content:"Task failed after max retries.",logType:"error"},nodeConfig:i}}e.s(["getTicketType",()=>o,"resolveStageTransition",()=>n,"resolveWorkflowTransition",()=>a])}];
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__c8b49077._.js.map
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
module.exports=[22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},28237,e=>{"use strict";var t=e.i(22734),r=e.i(46786),s=e.i(14747);let i="3.35.0",a=["json1"],n=["fts5"],o=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,d){let c=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),s=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(s[e]||0);if(0!==t)return t}return 0}(p.v,i)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${i}`,found:p.v,required:`>= ${i}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),a))l(u,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of n)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(i){"linux"!==r.default.platform()&&r.default.platform();try{let a=s.default.resolve(i),{execSync:n}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",s="unknown";for(let t of e.split("\n")){let[,e,i]=t.split(/\s+/);e&&a.startsWith(e)&&e.length>r.length&&(r=e,s=i||"unknown")}return s}}catch{}return null}(d);m&&o.some(e=>m.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${m})`,path:d,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},57306,e=>{"use strict";var t=e.i(22734),r=e.i(46786),s=e.i(14747);let i=process.env.AGX_DATA_DIR||s.default.join(r.default.homedir(),".agx"),a=process.env.AGX_DEBUG_LOG_PATH||s.default.join(i,"logs","desktop-chat-debug.log");function n(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"string"==typeof t&&t.length>2e3?`${t.slice(0,2e3)}...<truncated>`:t}function o(e,r){try{t.default.mkdirSync(s.default.dirname(a),{recursive:!0});let i=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},n);t.default.appendFileSync(a,`${i}
|
|
2
|
+
`,"utf8")}catch{}}e.s(["writeDebugLog",()=>o])},40793,e=>{"use strict";var t=e.i(85148),r=e.i(66680);let s={randomUUID:r.randomUUID},i=new Uint8Array(256),a=i.length,n=[];for(let e=0;e<256;++e)n.push((e+256).toString(16).slice(1));let o=function(e,t,o){if(s.randomUUID&&!t&&!e)return s.randomUUID();var l=e,u=o;let d=(l=l||{}).random??l.rng?.()??(a>i.length-16&&((0,r.randomFillSync)(i),a=0),i.slice(a,a+=16));if(d.length<16)throw Error("Random bytes length must be >= 16");if(d[6]=15&d[6]|64,d[8]=63&d[8]|128,t){if((u=u||0)<0||u+16>t.length)throw RangeError(`UUID byte range ${u}:${u+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[u+e]=d[e];return t}return function(e,t=0){return(n[e[t+0]]+n[e[t+1]]+n[e[t+2]]+n[e[t+3]]+"-"+n[e[t+4]]+n[e[t+5]]+"-"+n[e[t+6]]+n[e[t+7]]+"-"+n[e[t+8]]+n[e[t+9]]+"-"+n[e[t+10]]+n[e[t+11]]+n[e[t+12]]+n[e[t+13]]+n[e[t+14]]+n[e[t+15]]).toLowerCase()}(d)};var l=e.i(14747),u=e.i(22734),d=e.i(46786),c=e.i(28237);process.env.AGX_MAX_WORKERS;class p{timestamps=[];lastWarning=0;WARNING_COOLDOWN_MS=6e4;record(){this.timestamps.push(Date.now())}check(){let e=Date.now(),t=e-1e4;this.timestamps=this.timestamps.filter(e=>e>=t);let r=this.timestamps.length/10,s=r>=40;return s&&e-this.lastWarning>this.WARNING_COOLDOWN_MS&&(this.lastWarning=e,console.warn(`[limits] Write QPS at ${r.toFixed(1)} — approaching ceiling of 50. See docs/LIMITS.md for mitigation steps.`)),{qps:r,warning:s}}}var m=e.i(57306);let f=process.env.AGX_DATA_DIR||l.default.join(d.default.homedir(),".agx");function h(){let e=Number(process.env.AGX_QUEUE_STALE_MS);return Number.isFinite(e)&&e>0?e:6e5}class g{db;workers=new Map;pollingInterval=null;writeRateInterval=null;writeMonitor=new p;workerId;constructor(e){this.workerId=o();const r=e||process.env.SQLITE_QUEUE_PATH||l.default.join(f,"agx-queue.db"),s=l.default.dirname(r);u.default.existsSync(s)||u.default.mkdirSync(s,{recursive:!0}),this.db=new t.default(r);const i=(0,c.validateSQLiteEnvironment)(this.db,r);if(i.length>0){const e=i.map(e=>e.message).join("; ");console.error(`[SQLiteQueueAdapter] Startup validation failed: ${e}`)}}async start(){this.initSchema(),this.startPolling()}async stop(){this.stopPolling(),this.db.close()}initSchema(){this.db.exec(`
|
|
3
|
+
CREATE TABLE IF NOT EXISTS agx_jobs (
|
|
4
|
+
id TEXT PRIMARY KEY,
|
|
5
|
+
queue TEXT NOT NULL,
|
|
6
|
+
data TEXT NOT NULL,
|
|
7
|
+
status TEXT NOT NULL CHECK(status IN ('pending', 'active', 'completed', 'failed', 'retry')),
|
|
8
|
+
created_at INTEGER NOT NULL,
|
|
9
|
+
start_after INTEGER NOT NULL DEFAULT 0,
|
|
10
|
+
started_at INTEGER,
|
|
11
|
+
completed_at INTEGER,
|
|
12
|
+
failed_at INTEGER,
|
|
13
|
+
worker_id TEXT,
|
|
14
|
+
retry_count INTEGER DEFAULT 0,
|
|
15
|
+
retry_limit INTEGER DEFAULT 0,
|
|
16
|
+
priority INTEGER DEFAULT 0,
|
|
17
|
+
error TEXT
|
|
18
|
+
);
|
|
19
|
+
CREATE INDEX IF NOT EXISTS idx_jobs_fetch ON agx_jobs (queue, status, start_after, priority DESC, created_at ASC);
|
|
20
|
+
`);let e=new Set(this.db.pragma("table_info(agx_jobs)").map(e=>e.name));e.has("failed_at")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN failed_at INTEGER"),e.has("error")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN error TEXT")}async send(e,t,r){let s=o(),i=Date.now(),a=r?.startAfter?r.startAfter instanceof Date?r.startAfter.getTime():r.startAfter:i;return this.db.prepare(`
|
|
21
|
+
INSERT INTO agx_jobs (
|
|
22
|
+
id, queue, data, status, created_at, start_after, retry_limit, priority
|
|
23
|
+
) VALUES (?, ?, ?, 'pending', ?, ?, ?, ?)
|
|
24
|
+
`).run(s,e,JSON.stringify(t),i,a,r?.retryLimit??3,r?.priority??0),this.writeMonitor.record(),(0,m.writeDebugLog)("queue.send",{queue:e,jobId:s,startAfter:a,retryLimit:r?.retryLimit??3,priority:r?.priority??0,data:t}),s}async work(e,t,r){(0,m.writeDebugLog)("queue.worker.register",{queue:e,batchSize:r?.batchSize??1,pollInterval:r?.pollInterval??null,workerId:this.workerId}),this.workers.set(e,{handler:t,options:r||{},running:!0})}startPolling(){this.pollingInterval||(this.pollingInterval=setInterval(()=>this.poll(),1e3),this.writeRateInterval=setInterval(()=>this.writeMonitor.check(),1e4))}stopPolling(){this.pollingInterval&&(clearInterval(this.pollingInterval),this.pollingInterval=null),this.writeRateInterval&&(clearInterval(this.writeRateInterval),this.writeRateInterval=null)}poll(){for(let[e,t]of this.workers)t.running&&this.processQueue(e,t)}processQueue(e,t){let r=t.options.batchSize||1,s=Date.now(),i=s-h(),a=this.db.transaction(()=>{let t=this.reapStaleJobs(e,s,i);t.length>0&&(0,m.writeDebugLog)("queue.reap_stale",{queue:e,workerId:this.workerId,staleBefore:i,jobs:t});let a=this.db.prepare(`
|
|
25
|
+
SELECT id, data FROM agx_jobs
|
|
26
|
+
WHERE queue = ?
|
|
27
|
+
AND (status = 'pending' OR status = 'retry')
|
|
28
|
+
AND start_after <= ?
|
|
29
|
+
ORDER BY priority DESC, created_at ASC
|
|
30
|
+
LIMIT ?
|
|
31
|
+
`).all(e,s,r);if(0===a.length)return[];let n=a.map(e=>e.id),o=this.db.prepare(`
|
|
32
|
+
UPDATE agx_jobs
|
|
33
|
+
SET status = 'active', started_at = ?, worker_id = ?
|
|
34
|
+
WHERE id = ?
|
|
35
|
+
`);for(let e of n)o.run(s,this.workerId,e);return a.map(t=>({id:t.id,name:e,data:JSON.parse(t.data)}))})();a.length>0&&((0,m.writeDebugLog)("queue.claim",{queue:e,workerId:this.workerId,jobIds:a.map(e=>e.id)}),this.executeJobs(a,t.handler))}async executeJobs(e,t){try{await t(e),this.completeJobs(e.map(e=>e.id)),(0,m.writeDebugLog)("queue.complete",{jobIds:e.map(e=>e.id)})}catch(t){this.failJobs(e.map(e=>e.id),t.message||String(t)),(0,m.writeDebugLog)("queue.fail",{jobIds:e.map(e=>e.id),error:t})}}completeJobs(e){let t=Date.now(),r=this.db.prepare(`
|
|
36
|
+
UPDATE agx_jobs
|
|
37
|
+
SET status = 'completed', completed_at = ?, worker_id = NULL
|
|
38
|
+
WHERE id = ?
|
|
39
|
+
`);this.db.transaction(()=>{for(let s of e)r.run(t,s)})()}failJobs(e,t){let r=Date.now(),s=this.db.prepare(`
|
|
40
|
+
SELECT id, retry_count, retry_limit FROM agx_jobs WHERE id = ?
|
|
41
|
+
`),i=this.db.prepare(`
|
|
42
|
+
UPDATE agx_jobs
|
|
43
|
+
SET status = 'retry', retry_count = retry_count + 1,
|
|
44
|
+
start_after = ? + (retry_count * 1000 * 2), -- Exponential backoff (kinda)
|
|
45
|
+
started_at = NULL,
|
|
46
|
+
worker_id = NULL,
|
|
47
|
+
error = ?
|
|
48
|
+
WHERE id = ?
|
|
49
|
+
`),a=this.db.prepare(`
|
|
50
|
+
UPDATE agx_jobs
|
|
51
|
+
SET status = 'failed', failed_at = ?, started_at = NULL, worker_id = NULL, error = ?
|
|
52
|
+
WHERE id = ?
|
|
53
|
+
`);this.db.transaction(()=>{for(let n of e){let e=s.get(n);if(e&&e.retry_count<e.retry_limit){let s=(e.retry_count+1)*2e3;i.run(r+s,t,n)}else a.run(r,t,n)}})()}reapStaleJobs(e,t,r){let s=this.db.prepare(`
|
|
54
|
+
SELECT id, retry_count, retry_limit
|
|
55
|
+
FROM agx_jobs
|
|
56
|
+
WHERE queue = ?
|
|
57
|
+
AND status = 'active'
|
|
58
|
+
AND started_at IS NOT NULL
|
|
59
|
+
AND started_at <= ?
|
|
60
|
+
ORDER BY started_at ASC
|
|
61
|
+
`).all(e,r);if(0===s.length)return[];let i=this.db.prepare(`
|
|
62
|
+
UPDATE agx_jobs
|
|
63
|
+
SET status = 'retry',
|
|
64
|
+
retry_count = retry_count + 1,
|
|
65
|
+
start_after = ?,
|
|
66
|
+
started_at = NULL,
|
|
67
|
+
worker_id = NULL,
|
|
68
|
+
error = ?
|
|
69
|
+
WHERE id = ?
|
|
70
|
+
`),a=this.db.prepare(`
|
|
71
|
+
UPDATE agx_jobs
|
|
72
|
+
SET status = 'failed',
|
|
73
|
+
failed_at = ?,
|
|
74
|
+
started_at = NULL,
|
|
75
|
+
worker_id = NULL,
|
|
76
|
+
error = ?
|
|
77
|
+
WHERE id = ?
|
|
78
|
+
`),n=[];for(let e of s){let r=`Job exceeded active timeout of ${h()}ms`;e.retry_count<e.retry_limit?(i.run(t,r,e.id),n.push({id:e.id,fromStatus:"active",toStatus:"retry",retryCount:e.retry_count+1})):(a.run(t,r,e.id),n.push({id:e.id,fromStatus:"active",toStatus:"failed",retryCount:e.retry_count}))}return n}}let E=null;async function _(){return E||(E=new g,await E.start()),E}async function b(){E&&(await E.stop(),E=null)}e.s(["QUEUE_NAMES",0,{TASK_PROCESS:"agx.task.process",CHAT_RUN_PROCESS:"agx.chat.process",TASK_CLEANUP:"agx.task.cleanup"},"getQueue",()=>_,"stopQueue",()=>b],40793)},90107,e=>{"use strict";var t=e.i(33405),r=e.i(22734),s=e.i(14747),i=e.i(57306);let a=e=>"string"==typeof e&&e.trim().length>0,n=e=>{try{return 0===(0,t.spawnSync)("bash",["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8"}).status}catch{return!1}},o=e=>({push:e,flush:()=>{}}),l=e=>{let t="",r=0,s=!1,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);s=!0;let n=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&a(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&a(t?.delta?.text)?t.delta.text:""})(t);if(!n||t?.type==="assistant"&&r>0)return;r+=n.length,e(n)}catch{s||e(`${t}
|
|
79
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},u=e=>{let t="",r=!1,s="",i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);r=!0,t?.type==="message"&&t?.role==="assistant"&&a(t?.content)&&((t,r)=>{if(t){if(r){if(s&&t.startsWith(s)){let r=t.slice(s.length);r&&e(r),s=t;return}e(t),s+=t;return}if(s&&t.startsWith(s)){let r=t.slice(s.length);r&&e(r),s=t;return}s||(e(t),s=t)}})(t.content,t?.delta===!0)}catch{r||e(`${t}
|
|
80
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},d=e=>{let t="",r=!1,s=new Set,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);if(r=!0,t?.type==="item.completed"&&a(t?.item?.id)){if(s.has(t.item.id))return;s.add(t.item.id)}let n=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&a(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&a(t.delta?.text)?t.delta.text:"":"";n&&e(n)}catch{r||e(`${t}
|
|
81
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},c=e=>{let t="",r=!1,s=[/^Thinking\.\.\./,/^<think>/i],i=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:a=>{t+=a,(()=>{for(;t.length>0;){if(r){let e=-1,s=0;for(let r of i){let i=t.match(r);i&&void 0!==i.index&&(i.index,i[0].length,(-1===e||i.index<e)&&(e=i.index,s=i[0].length))}if(-1!==e){t=t.slice(e+s),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let i of s){let s=t.match(i);if(s&&void 0!==s.index){let i=t.slice(0,s.index);i&&e.push(i),t=t.slice(s.index+s[0].length),r=!0;break}}if(r)continue;let a=Math.max(0,t.length-30);a>0&&(e.push(t.slice(0,a)),t=t.slice(a));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},p=new Set(["claude","gemini","ollama","codex"]);function m(){let e=process.env.AGX_CLI_PATH?.trim();if(e&&r.default.existsSync(e))return e;for(let e of[s.default.resolve(process.cwd(),"..","cli","index.js"),s.default.resolve("/ROOT/lib","..","cli","index.js"),s.default.resolve(process.execPath,"..","..","Resources","cli","index.js")])if(r.default.existsSync(e))return e;return null}function f({provider:e,model:t,prompt:r,systemPrompt:s,passthroughArgs:i},a={}){let o=a.commandExists??n,l=void 0===a.bundledCliPath?m():a.bundledCliPath,u=[],d=s?`${s}
|
|
82
|
+
|
|
83
|
+
${r}`:r;if(p.has(e)){let r=function({provider:e,model:t,prompt:r,cliPath:s,passthroughArgs:i}){let a=void 0===s?m():s;if(!a)return null;let n=[a,e,"-y","--print","--prompt",r];return t&&n.push("--model",t),i&&i.length>0&&n.push("--",...i),{command:process.execPath,args:n,parser:"raw"}}({provider:e,model:t,prompt:d,cliPath:l,passthroughArgs:i});return r&&u.push(r),o("agx")&&u.push(function({provider:e,model:t,prompt:r,passthroughArgs:s}){let i=[e,"-y","--print","--prompt",r];return t&&i.push("--model",t),s&&s.length>0&&i.push("--",...s),{command:"agx",args:i,parser:"raw"}}({provider:e,model:t,prompt:d,passthroughArgs:i})),u}let c=function({provider:e,model:t,prompt:r,systemPrompt:s}){switch(e){case"claude":{let e=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&e.push("--model",t),s&&e.push("--system-prompt",s),e.push(r),{command:"claude",args:e,parser:"claude-stream-json"}}case"gemini":return{command:"gemini",args:["--yolo","-p",s?`${s}
|
|
84
|
+
|
|
85
|
+
${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",s?`${s}
|
|
86
|
+
|
|
87
|
+
${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(s?`${s}
|
|
88
|
+
|
|
89
|
+
${r}`:r),{command:"codex",args:e,parser:"codex-json"}}case"zai":{let e=process.env.ZAI_API_KEY?.trim(),i=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&i.push("--model",t),s&&i.push("--system-prompt",s),i.push(r),{command:"claude",args:i,parser:"claude-stream-json",env:{ANTHROPIC_BASE_URL:"https://api.z.ai/api/anthropic",...e?{ANTHROPIC_AUTH_TOKEN:e}:{}}}}default:return null}}({provider:e,model:t,prompt:r,systemPrompt:s});return c&&o(c.command)&&u.push(c),u}async function h({command:e,args:r,timeoutMs:s,signal:a,onDelta:n,onLog:o,onSpawn:l,env:u}){await new Promise((d,c)=>{(0,i.writeDebugLog)("cli-runner.spawn",{command:e,args:r,timeoutMs:s,bundledCliPath:m(),isElectron:process.env.AGX_ELECTRON||null}),o&&o("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
|
|
90
|
+
`);let p=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0,...u}}),f=!1,h="",g=!1,E=e=>{f||(f=!0,clearTimeout(b),a&&a.removeEventListener("abort",_),e?c(e):d())},_=()=>{(0,i.writeDebugLog)("cli-runner.abort",{command:e,args:r,pid:p.pid??null}),p.kill("SIGTERM"),E(Error("Chat request aborted."))};a&&a.addEventListener("abort",_,{once:!0}),l&&p.pid&&l(p.pid),(0,i.writeDebugLog)("cli-runner.spawned",{command:e,args:r,pid:p.pid??null});let b=setTimeout(()=>{g=!0,(0,i.writeDebugLog)("cli-runner.timeout",{command:e,args:r,pid:p.pid??null,timeoutMs:s}),p.kill("SIGKILL"),E(Error(`CLI request timed out after ${s}ms.`))},s);p.stdout.on("data",e=>{let t=e.toString();h+=t,n(t),o&&o("stdout",t)}),p.stderr.on("data",e=>{let t=e.toString();h+=t,o&&o("stderr",t)}),p.on("error",t=>{(0,i.writeDebugLog)("cli-runner.process_error",{command:e,args:r,pid:p.pid??null,error:t}),E(t)}),p.on("close",(t,s)=>{if(!f&&!g){if((0,i.writeDebugLog)("cli-runner.close",{command:e,args:r,pid:p.pid??null,code:t??null,signal:s??null}),0===t)return void E();E(Error(`CLI command failed (exit=${t??"unknown"} signal=${s??"none"}).${h.trim()?` ${h.trim()}`:""}`))}})})}async function g({provider:e,model:t,prompt:r,identity:s,self:a,skills:n,systemContext:p,passthroughArgs:g,signal:E,onDelta:_,onLog:b,onSpawn:L}){let y,w,x,T,S=(y=!1,w=!1,x="",T=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!y?(y=!0,"\n"):"";let r=y?t.replace(/^\n+/,"\n"):t,s=r.trimStart(),i=T.test(s),a=w&&i&&!y,n=w&&!y&&!a&&!/^\s/.test(r)&&/[.!?)]/.test(x)&&/^[A-Z0-9`(]/.test(r),o=a?`
|
|
91
|
+
|
|
92
|
+
${r}`:n?`
|
|
93
|
+
${r}`:r;y=o.endsWith("\n"),w=w||o.trim().length>0;let l=o.replace(/\s+$/g,"");return l.length>0&&(x=l[l.length-1]??x),o}),v=e=>{let t=S(e);t&&_(t)},I=[];p&&I.push(p),s&&I.push(`<identity>
|
|
94
|
+
${s}
|
|
95
|
+
</identity>`),a&&I.push(`<self>
|
|
96
|
+
${a}
|
|
97
|
+
</self>`),n&&I.push(`<skills>
|
|
98
|
+
${n}
|
|
99
|
+
</skills>`);let A=f({provider:e,model:t,prompt:r,systemPrompt:I.length>0?I.join("\n\n"):void 0,passthroughArgs:g});if(0===A.length)throw(0,i.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:m(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let N=null;for(let r of A){(0,i.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let s="claude-stream-json"===r.parser?l(v):"codex-json"===r.parser?d(v):"gemini-stream-json"===r.parser?u(v):o(v),a=r.filterThoughts?c(s):s;try{await h({command:r.command,args:r.args,timeoutMs:6e5,signal:E,onDelta:a.push,onLog:b,onSpawn:L,env:r.env}),a.flush(),(0,i.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(s){N=s instanceof Error?s:Error(String(s)),(0,i.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:N})}}throw N||Error("CLI execution failed.")}e.s(["buildCliAttempts",()=>f,"runCliResponse",()=>g],90107)}];
|
|
100
|
+
|
|
101
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__c99509c2._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[33405,(e,t,s)=>{t.exports=e.x("child_process",()=>require("child_process"))},58898,e=>{"use strict";var t=e.i(33405);function s(e,t){let s="string"==typeof e.args?.rootMessageId?e.args.rootMessageId.trim():"";return s||(t.schedule?.rootMessageId?.trim()??"")}async function r(t){try{let{getSQLiteDb:s}=await e.A(48207),r=s(),a=r.prepare("SELECT project_id FROM project_threads WHERE thread_id = ? ORDER BY created_at ASC LIMIT 1").get(t);if(!a?.project_id)return null;let n=r.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC, created_at ASC LIMIT 1").get(a.project_id);return n?.agent_id??null}catch{return null}}async function a(t,r){let a=s(t,r);if(!a)return{status:"failure",message:"thread-status requires rootMessageId"};let{getMessageThread:n,getThreadStatusSnapshot:i,sweepStaleWorkingReactions:u}=await e.A(5617),o=await n(a);if(!o)return{status:"failure",message:`Thread not found for rootMessageId: ${a}`};await u(o.threadId);let d=await i({threadId:o.threadId,rootMessageId:a});return{status:"success",output:{activeProcessCount:d.processes.filter(e=>"working"===e.status).length,messageCount:d.messages?.length??0,threadId:o.threadId,lastUpdatedAt:d.lastUpdatedAt}}}async function n(t,a){let n=s(t,a);if(!n)return{status:"failure",message:"ship-mode-act requires rootMessageId"};let i=function(e,t){let s="string"==typeof e.args?.steerNodeId&&e.args.steerNodeId.trim()?e.args.steerNodeId.trim():"steer",r=t.nodes[s];if(!r||"work"!==r.type)return null;let a=r.output;return a&&"object"==typeof a?{isDone:!!a.isDone,message:"string"==typeof a.message?a.message:""}:null}(t,a);if(!i)return{status:"failure",message:"Unable to read steer node output"};let{getMessageThread:u,saveMessages:o,updateMessageStatus:d}=await e.A(5617),{deactivateSchedulesByRootMessageId:c}=await e.A(2224),l=await u(n);if(!l)return{status:"failure",message:`Thread not found for rootMessageId: ${n}`};if(i.isDone)return c(n),await d(l.threadId,n,"in-review",null),{status:"success",output:{done:!0,action:"stopped_and_in_review"}};let m=await r(l.threadId),f=crypto.randomUUID();return await o(l.threadId,[{id:f,role:"assistant",participantId:m,content:i.message,timestamp:Date.now(),rootMessageId:n,parentMessageId:n,depth:1}]),{status:"success",output:{done:!1,action:"sent_next_steps",sender:m,messageId:f}}}async function i(e,t){if("internal"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};switch(e.command){case"thread-status":return a(e,t);case"ship-mode-act":return n(e,t);default:return{status:"failure",message:`Unsupported internal function command: ${e.command}`}}}async function u(e,s){if("bash"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};let r=e.command;if(!r||""===r.trim())return{status:"failure",message:"Empty command"};let a=e.timeoutMs??3e4;return new Promise(e=>{let s="",n="",i=0,u=!1,o=!1,d=(0,t.spawn)(r,[],{shell:!0,timeout:a,killSignal:"SIGTERM"}),c=setTimeout(()=>{o=!0,d.kill("SIGTERM")},a);d.stdout.on("data",e=>{if(u)return;let t=Buffer.byteLength(e.toString(),"utf8");if(i+t>65536){u=!0;return}s+=e.toString(),i+=t}),d.stderr.on("data",e=>{n+=e.toString()}),d.on("error",t=>{clearTimeout(c),e({status:"failure",message:`Failed to spawn command: ${t.message}`,error:t})}),d.on("close",t=>{if(clearTimeout(c),o)return void e({status:"failure",message:`Command timed out after ${a}ms`});if(u)return void e({status:"failure",message:"Stdout exceeded 65536 bytes limit"});if(0!==t)return void e({status:"failure",message:`Command exited with code ${t}: ${n||"(no stderr)"}`});let r=s.trim();if(""===r)return void e({status:"success",output:{}});try{let t=JSON.parse(r);e({status:"success",output:t})}catch{e({status:"success",output:{raw:r}})}})})}function o(){return async(e,t)=>{switch(e.kind){case"bash":return u(e,t);case"internal":return i(e,t);default:return{status:"failure",message:`Unsupported function node kind: ${e.kind}`}}}}e.s(["createDispatchFunction",()=>o,"dispatchBashFunction",()=>u],58898)},48207,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]
|
|
1
|
+
module.exports=[33405,(e,t,s)=>{t.exports=e.x("child_process",()=>require("child_process"))},58898,e=>{"use strict";var t=e.i(33405);function s(e,t){let s="string"==typeof e.args?.rootMessageId?e.args.rootMessageId.trim():"";return s||(t.schedule?.rootMessageId?.trim()??"")}async function r(t){try{let{getSQLiteDb:s}=await e.A(48207),r=s(),a=r.prepare("SELECT project_id FROM project_threads WHERE thread_id = ? ORDER BY created_at ASC LIMIT 1").get(t);if(!a?.project_id)return null;let n=r.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC, created_at ASC LIMIT 1").get(a.project_id);return n?.agent_id??null}catch{return null}}async function a(t,r){let a=s(t,r);if(!a)return{status:"failure",message:"thread-status requires rootMessageId"};let{getMessageThread:n,getThreadStatusSnapshot:i,sweepStaleWorkingReactions:u}=await e.A(5617),o=await n(a);if(!o)return{status:"failure",message:`Thread not found for rootMessageId: ${a}`};await u(o.threadId);let d=await i({threadId:o.threadId,rootMessageId:a});return{status:"success",output:{activeProcessCount:d.processes.filter(e=>"working"===e.status).length,messageCount:d.messages?.length??0,threadId:o.threadId,lastUpdatedAt:d.lastUpdatedAt}}}async function n(t,a){let n=s(t,a);if(!n)return{status:"failure",message:"ship-mode-act requires rootMessageId"};let i=function(e,t){let s="string"==typeof e.args?.steerNodeId&&e.args.steerNodeId.trim()?e.args.steerNodeId.trim():"steer",r=t.nodes[s];if(!r||"work"!==r.type)return null;let a=r.output;return a&&"object"==typeof a?{isDone:!!a.isDone,message:"string"==typeof a.message?a.message:""}:null}(t,a);if(!i)return{status:"failure",message:"Unable to read steer node output"};let{getMessageThread:u,saveMessages:o,updateMessageStatus:d}=await e.A(5617),{deactivateSchedulesByRootMessageId:c}=await e.A(2224),l=await u(n);if(!l)return{status:"failure",message:`Thread not found for rootMessageId: ${n}`};if(i.isDone)return c(n),await d(l.threadId,n,"in-review",null),{status:"success",output:{done:!0,action:"stopped_and_in_review"}};let m=await r(l.threadId),f=crypto.randomUUID();return await o(l.threadId,[{id:f,role:"assistant",participantId:m,content:i.message,timestamp:Date.now(),rootMessageId:n,parentMessageId:n,depth:1}]),{status:"success",output:{done:!1,action:"sent_next_steps",sender:m,messageId:f}}}async function i(e,t){if("internal"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};switch(e.command){case"thread-status":return a(e,t);case"ship-mode-act":return n(e,t);default:return{status:"failure",message:`Unsupported internal function command: ${e.command}`}}}async function u(e,s){if("bash"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};let r=e.command;if(!r||""===r.trim())return{status:"failure",message:"Empty command"};let a=e.timeoutMs??3e4;return new Promise(e=>{let s="",n="",i=0,u=!1,o=!1,d=(0,t.spawn)(r,[],{shell:!0,timeout:a,killSignal:"SIGTERM"}),c=setTimeout(()=>{o=!0,d.kill("SIGTERM")},a);d.stdout.on("data",e=>{if(u)return;let t=Buffer.byteLength(e.toString(),"utf8");if(i+t>65536){u=!0;return}s+=e.toString(),i+=t}),d.stderr.on("data",e=>{n+=e.toString()}),d.on("error",t=>{clearTimeout(c),e({status:"failure",message:`Failed to spawn command: ${t.message}`,error:t})}),d.on("close",t=>{if(clearTimeout(c),o)return void e({status:"failure",message:`Command timed out after ${a}ms`});if(u)return void e({status:"failure",message:"Stdout exceeded 65536 bytes limit"});if(0!==t)return void e({status:"failure",message:`Command exited with code ${t}: ${n||"(no stderr)"}`});let r=s.trim();if(""===r)return void e({status:"success",output:{}});try{let t=JSON.parse(r);e({status:"success",output:t})}catch{e({status:"success",output:{raw:r}})}})})}function o(){return async(e,t)=>{switch(e.kind){case"bash":return u(e,t);case"internal":return i(e,t);default:return{status:"failure",message:`Unsupported function node kind: ${e.kind}`}}}}e.s(["createDispatchFunction",()=>o,"dispatchBashFunction",()=>u],58898)},48207,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__3c1567b6._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(t=>e.l(t))).then(()=>t(65196)))},5617,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1cc2fe7f._.js","server/chunks/lib_history-store_ts_74d1c060._.js"].map(t=>e.l(t))).then(()=>t(55248)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__ceb02db8._.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},49041,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])},21729,e=>{"use strict";var t=e.i(22734),r=e.i(46786),n=e.i(14747);let s="3.35.0",a=["json1"],i=["fts5"],o=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,d){let p=[],c=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),n=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(n[e]||0);if(0!==t)return t}return 0}(c.v,s)&&p.push({kind:"version_mismatch",message:`SQLite version ${c.v} is below minimum ${s}`,found:c.v,required:`>= ${s}`,fix:"darwin"===r.default.platform()?"TURBOPACK unreachable":"apt-get install -y libsqlite3-dev && npm rebuild better-sqlite3"}),a))l(u,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)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(s){"linux"!==r.default.platform()&&r.default.platform();try{let a=n.default.resolve(s),{execSync:i}=e.r(33405);if("darwin"===r.default.platform());else{let e=t.default.readFileSync("/proc/mounts","utf-8"),r="",n="unknown";for(let t of e.split("\n")){let[,e,s]=t.split(/\s+/);e&&a.startsWith(e)&&e.length>r.length&&(r=e,n=s||"unknown")}return n}}catch{}return null}(d);m&&o.some(e=>m.toLowerCase().includes(e))&&p.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${m})`,path:d,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{u.pragma("journal_mode = wal"),u.pragma("foreign_keys = 1"),u.pragma("busy_timeout = 5000"),u.pragma("synchronous = 1"),u.pragma("cache_size = -64000");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){u.pragma("journal_mode = DELETE");let e=u.pragma("journal_mode",{simple:!0}).toLowerCase();t.has(e)?(u.pragma("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",()=>u])},57431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(60447);return t()}e.i(49041),e.s(["createAdminDbClient",()=>t])},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},37269,e=>{"use strict";var t=e.i(22734),r=e.i(46786),n=e.i(14747);let s=process.env.AGX_DATA_DIR||n.default.join(r.default.homedir(),".agx"),a=process.env.AGX_DEBUG_LOG_PATH||n.default.join(s,"logs","desktop-chat-debug.log");function i(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"string"==typeof t&&t.length>2e3?`${t.slice(0,2e3)}...<truncated>`:t}function o(){return a}function l(e,r){try{t.default.mkdirSync(n.default.dirname(a),{recursive:!0});let s=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},i);t.default.appendFileSync(a,`${s}
|
|
2
|
+
`,"utf8")}catch{}}e.s(["getDebugLogPath",()=>o,"writeDebugLog",()=>l])},14350,e=>{"use strict";var t=e.i(33405),r=e.i(22734),n=e.i(14747),s=e.i(37269);let a=e=>"string"==typeof e&&e.trim().length>0,i=e=>{try{return 0===(0,t.spawnSync)("bash",["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8"}).status}catch{return!1}},o=e=>({push:e,flush:()=>{}}),l=e=>{let t="",r=0,n=!1,s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);n=!0;let i=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&a(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&a(t?.delta?.text)?t.delta.text:""})(t);if(!i||t?.type==="assistant"&&r>0)return;r+=i.length,e(i)}catch{n||e(`${t}
|
|
3
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},u=e=>{let t="",r=!1,n="",s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);r=!0,t?.type==="message"&&t?.role==="assistant"&&a(t?.content)&&((t,r)=>{if(t){if(r){if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}e(t),n+=t;return}if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}n||(e(t),n=t)}})(t.content,t?.delta===!0)}catch{r||e(`${t}
|
|
4
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},d=e=>{let t="",r=!1,n=new Set,s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);if(r=!0,t?.type==="item.completed"&&a(t?.item?.id)){if(n.has(t.item.id))return;n.add(t.item.id)}let i=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&a(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&a(t.delta?.text)?t.delta.text:"":"";i&&e(i)}catch{r||e(`${t}
|
|
5
|
+
`)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;s(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&s(t),t=""}}},p=e=>{let t="",r=!1,n=[/^Thinking\.\.\./,/^<think>/i],s=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:a=>{t+=a,(()=>{for(;t.length>0;){if(r){let e=-1,n=0;for(let r of s){let s=t.match(r);s&&void 0!==s.index&&(s.index,s[0].length,(-1===e||s.index<e)&&(e=s.index,n=s[0].length))}if(-1!==e){t=t.slice(e+n),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let s of n){let n=t.match(s);if(n&&void 0!==n.index){let s=t.slice(0,n.index);s&&e.push(s),t=t.slice(n.index+n[0].length),r=!0;break}}if(r)continue;let a=Math.max(0,t.length-30);a>0&&(e.push(t.slice(0,a)),t=t.slice(a));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},c=new Set(["claude","gemini","ollama","codex"]);function m(){let e=process.env.AGX_CLI_PATH?.trim();if(e&&r.default.existsSync(e))return e;for(let e of[n.default.resolve(process.cwd(),"..","cli","index.js"),n.default.resolve("/ROOT/lib","..","cli","index.js"),n.default.resolve(process.execPath,"..","..","Resources","cli","index.js")])if(r.default.existsSync(e))return e;return null}function f({provider:e,model:t,prompt:r,systemPrompt:n,passthroughArgs:s},a={}){let o=a.commandExists??i,l=void 0===a.bundledCliPath?m():a.bundledCliPath,u=[],d=n?`${n}
|
|
6
|
+
|
|
7
|
+
${r}`:r;if(c.has(e)){let r=function({provider:e,model:t,prompt:r,cliPath:n,passthroughArgs:s}){let a=void 0===n?m():n;if(!a)return null;let i=[a,e,"-y","--print","--prompt",r];return t&&i.push("--model",t),s&&s.length>0&&i.push("--",...s),{command:process.execPath,args:i,parser:"raw"}}({provider:e,model:t,prompt:d,cliPath:l,passthroughArgs:s});return r&&u.push(r),o("agx")&&u.push(function({provider:e,model:t,prompt:r,passthroughArgs:n}){let s=[e,"-y","--print","--prompt",r];return t&&s.push("--model",t),n&&n.length>0&&s.push("--",...n),{command:"agx",args:s,parser:"raw"}}({provider:e,model:t,prompt:d,passthroughArgs:s})),u}let p=function({provider:e,model:t,prompt:r,systemPrompt:n}){switch(e){case"claude":{let e=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&e.push("--model",t),n&&e.push("--system-prompt",n),e.push(r),{command:"claude",args:e,parser:"claude-stream-json"}}case"gemini":return{command:"gemini",args:["--yolo","-p",n?`${n}
|
|
8
|
+
|
|
9
|
+
${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",n?`${n}
|
|
10
|
+
|
|
11
|
+
${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(n?`${n}
|
|
12
|
+
|
|
13
|
+
${r}`:r),{command:"codex",args:e,parser:"codex-json"}}case"zai":{let e=process.env.ZAI_API_KEY?.trim(),s=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&s.push("--model",t),n&&s.push("--system-prompt",n),s.push(r),{command:"claude",args:s,parser:"claude-stream-json",env:{ANTHROPIC_BASE_URL:"https://api.z.ai/api/anthropic",...e?{ANTHROPIC_AUTH_TOKEN:e}:{}}}}default:return null}}({provider:e,model:t,prompt:r,systemPrompt:n});return p&&o(p.command)&&u.push(p),u}async function h({command:e,args:r,timeoutMs:n,signal:a,onDelta:i,onLog:o,onSpawn:l,env:u}){await new Promise((d,p)=>{(0,s.writeDebugLog)("cli-runner.spawn",{command:e,args:r,timeoutMs:n,bundledCliPath:m(),isElectron:process.env.AGX_ELECTRON||null}),o&&o("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
|
|
14
|
+
`);let c=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDECODE:void 0,...u}}),f=!1,h="",g=!1,x=e=>{f||(f=!0,clearTimeout(y),a&&a.removeEventListener("abort",v),e?p(e):d())},v=()=>{(0,s.writeDebugLog)("cli-runner.abort",{command:e,args:r,pid:c.pid??null}),c.kill("SIGTERM"),x(Error("Chat request aborted."))};a&&a.addEventListener("abort",v,{once:!0}),l&&c.pid&&l(c.pid),(0,s.writeDebugLog)("cli-runner.spawned",{command:e,args:r,pid:c.pid??null});let y=setTimeout(()=>{g=!0,(0,s.writeDebugLog)("cli-runner.timeout",{command:e,args:r,pid:c.pid??null,timeoutMs:n}),c.kill("SIGKILL"),x(Error(`CLI request timed out after ${n}ms.`))},n);c.stdout.on("data",e=>{let t=e.toString();h+=t,i(t),o&&o("stdout",t)}),c.stderr.on("data",e=>{let t=e.toString();h+=t,o&&o("stderr",t)}),c.on("error",t=>{(0,s.writeDebugLog)("cli-runner.process_error",{command:e,args:r,pid:c.pid??null,error:t}),x(t)}),c.on("close",(t,n)=>{if(!f&&!g){if((0,s.writeDebugLog)("cli-runner.close",{command:e,args:r,pid:c.pid??null,code:t??null,signal:n??null}),0===t)return void x();x(Error(`CLI command failed (exit=${t??"unknown"} signal=${n??"none"}).${h.trim()?` ${h.trim()}`:""}`))}})})}async function g({provider:e,model:t,prompt:r,identity:n,self:a,skills:i,systemContext:c,passthroughArgs:g,signal:x,onDelta:v,onLog:y,onSpawn:w}){let E,b,R,A,_=(E=!1,b=!1,R="",A=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!E?(E=!0,"\n"):"";let r=E?t.replace(/^\n+/,"\n"):t,n=r.trimStart(),s=A.test(n),a=b&&s&&!E,i=b&&!E&&!a&&!/^\s/.test(r)&&/[.!?)]/.test(R)&&/^[A-Z0-9`(]/.test(r),o=a?`
|
|
15
|
+
|
|
16
|
+
${r}`:i?`
|
|
17
|
+
${r}`:r;E=o.endsWith("\n"),b=b||o.trim().length>0;let l=o.replace(/\s+$/g,"");return l.length>0&&(R=l[l.length-1]??R),o}),S=e=>{let t=_(e);t&&v(t)},C=[];c&&C.push(c),n&&C.push(`<identity>
|
|
18
|
+
${n}
|
|
19
|
+
</identity>`),a&&C.push(`<self>
|
|
20
|
+
${a}
|
|
21
|
+
</self>`),i&&C.push(`<skills>
|
|
22
|
+
${i}
|
|
23
|
+
</skills>`);let L=f({provider:e,model:t,prompt:r,systemPrompt:C.length>0?C.join("\n\n"):void 0,passthroughArgs:g});if(0===L.length)throw(0,s.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:m(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let j=null;for(let r of L){(0,s.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let n="claude-stream-json"===r.parser?l(S):"codex-json"===r.parser?d(S):"gemini-stream-json"===r.parser?u(S):o(S),a=r.filterThoughts?p(n):n;try{await h({command:r.command,args:r.args,timeoutMs:6e5,signal:x,onDelta:a.push,onLog:y,onSpawn:w,env:r.env}),a.flush(),(0,s.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(n){j=n instanceof Error?n:Error(String(n)),(0,s.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:j})}}throw j||Error("CLI execution failed.")}e.s(["buildCliAttempts",()=>f,"runCliResponse",()=>g],14350)},84776,e=>{"use strict";var t=e.i(62294),r=e.i(49041);async function n(){let e=await (0,t.getAgents)(r.LOCAL_USER.id),n=new Map;return await Promise.all(e.map(async e=>{n.set(e.id,await (0,t.getAgentSkills)(e.id))})),e.map(e=>({id:e.id,name:e.name,provider:e.provider||"claude",model:e.model||null,color:e.color||"#6B7280",...e.description?{identity:e.description}:{},...n.get(e.id)?.length?{skills:n.get(e.id).map(e=>({file:e.file,condition:e.condition??""}))}:{}}))}function s(e,t){if(!Array.isArray(t))return e;let r=new Set,n=[];for(let e of t){if("string"!=typeof e)continue;let t=e.trim();!t||r.has(t)||(r.add(t),n.push(t))}let s=new Set(n),a=e.filter(e=>s.has(e.id));if(n.length>0&&0===a.length)return e;let i=new Map(n.map((e,t)=>[e,t]));return a.sort((e,t)=>(i.get(e.id)??Number.MAX_SAFE_INTEGER)-(i.get(t.id)??Number.MAX_SAFE_INTEGER))}e.s(["filterActiveParticipants",()=>s,"loadDbParticipants",()=>n])},40499,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),s=e.i(59756),a=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),m=e.i(70101),f=e.i(74838),h=e.i(10372),g=e.i(93695);e.i(52474);var x=e.i(220),v=e.i(94028),y=e.i(42639),w=e.i(84776),E=e.i(14350);async function b(e){try{let{threadId:t,rootMessageId:r,activeParticipantIds:n}=await e.json();if(!t||!r)return v.NextResponse.json({error:"threadId and rootMessageId are required"},{status:400});let s=await (0,y.loadHistory)(t),a=s.find(e=>e.id===r);if(!a)return v.NextResponse.json({error:"Root message not found"},{status:404});let i=s.filter(e=>e.rootMessageId===r).sort((e,t)=>e.timestamp-t.timestamp),o=[a,...i],l=await (0,w.loadDbParticipants)(),u=(0,w.filterActiveParticipants)(l,n)[0];if(!u)return v.NextResponse.json({error:"No active agents configured for this project"},{status:400});let d=Object.fromEntries(l.map(e=>[e.id,e])),p=o.map(e=>{let t="user"===e.role?"User":e.participantId?d[e.participantId]?.name||e.participantId:"Assistant";return`${t}: ${e.content}`}).join("\n\n"),c=a.content,m=`A user asked: "${c}"
|
|
24
|
+
|
|
25
|
+
Below is the conversation thread with responses from various participants. Synthesize all the responses and provide a concise, direct answer to the user's question. Respond as if you are answering the user yourself. Keep it to 2-4 sentences.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
${p}
|
|
29
|
+
---`,f="";if(await (0,E.runCliResponse)({provider:u.provider,model:u.model,prompt:m,identity:u.identity,onDelta:e=>{f+=e}}),!(f=f.trim()))return v.NextResponse.json({error:"Empty summary generated"},{status:500});let h={id:`summary-${r}`,role:"assistant",participantId:u.id,content:`<!-- thread-summary -->
|
|
30
|
+
${f}`,timestamp:Date.now(),rootMessageId:r,parentMessageId:null,depth:1};return await (0,y.saveMessages)(t,[h]),v.NextResponse.json({ok:!0,summary:h})}catch(e){return console.error("Summarize error:",e),v.NextResponse.json({error:e instanceof Error?e.message:"Unknown error"},{status:500})}}e.s(["POST",()=>b],3997);var R=e.i(3997);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/summarize/route",pathname:"/api/summarize",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/summarize/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:_,workUnitAsyncStorage:S,serverHooks:C}=A;function L(){return(0,n.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:S})}async function j(e,t,n){A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/summarize/route";v=v.replace(/\/index$/,"")||"/";let y=await A.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:b,parsedUrl:R,isDraftMode:_,prerenderManifest:S,routerServerContext:C,isOnDemandRevalidate:L,revalidateOnlyGenerated:j,resolvedPathname:k,clientReferenceManifest:T,serverActionsManifest:$}=y,N=(0,o.normalizeAppPath)(v),I=!!(S.dynamicRoutes[N]||S.routes[k]),P=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,R,!1):t.end("This page could not be found"),null);if(I&&!_){let e=!!S.routes[k],t=S.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await P();throw new g.NoFallbackError}}let O=null;!I||A.isDev||_||(O="/index"===(O=k)?"/":O);let D=!0===A.isDev||!I,q=I&&!D;$&&T&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:T,serverActionsManifest:$});let U=e.method||"GET",M=(0,a.getTracer)(),H=M.getActiveScopeSpan(),F={params:E,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>A.onRequestError(e,t,n,s,C)},sharedContext:{buildId:w}},G=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i=async e=>A.handle(X,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.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 n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${v}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var a,l;let u=async({previousCacheEntry:r})=>{try{if(!o&&L&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=F.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(G,B,a,F.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[h.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:L})},!1,C),t}},d=await A.handleResponse({req:e,nextConfig:b,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:L,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:o});if(!I)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==x.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});o||t.setHeader("x-nextjs-cache",L?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&I||g.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(G,B,new Response(d.value.body,{headers:g,status:d.value.status||200})),null};H?await l(H):await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:L})},!1,C),I)throw t;return await (0,c.sendResponse)(G,B,new Response(null,{status:500})),null}}e.s(["handler",()=>j,"patchFetch",()=>L,"routeModule",()=>A,"serverHooks",()=>C,"workAsyncStorage",()=>_,"workUnitAsyncStorage",()=>S],40499)},18801,e=>{e.v(e=>Promise.resolve().then(()=>e(60447)))}];
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__d6e1ee6e._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},
|
|
1
|
+
module.exports=[18622,(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"))},56704,(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"))},32319,(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"))},24725,(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"))},93695,(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"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},95664,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(74838),v=e.i(10372),R=e.i(93695);e.i(52474);var g=e.i(220),f=e.i(94028),m=e.i(42639);async function w(e){let t=e.nextUrl.searchParams.get("threadId"),r=e.nextUrl.searchParams.get("status"),a=e.nextUrl.searchParams.get("limit"),n=a?Number.parseInt(a,10):void 0,s=await (0,m.listChatRuns)({threadId:t,status:"active"===r||"queued"===r||"running"===r||"awaiting_user"===r||"blocked"===r||"completed"===r||"failed"===r||"cancelled"===r?r:void 0,limit:n});return f.NextResponse.json(s.map(e=>({chatRunId:e.id,threadId:e.threadId,rootMessageId:e.rootMessageId,status:e.status})))}e.s(["GET",()=>w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],15026);var E=e.i(15026);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/chat-runs/route",pathname:"/api/chat-runs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/chat-runs/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:y,workUnitAsyncStorage:C,serverHooks:A}=b;function q(){return(0,a.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:C})}async function _(e,t,a){b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/chat-runs/route";f=f.replace(/\/index$/,"")||"/";let m=await b.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:C,isDraftMode:A,prerenderManifest:q,routerServerContext:_,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,resolvedPathname:T,clientReferenceManifest:k,serverActionsManifest:I}=m,j=(0,o.normalizeAppPath)(f),O=!!(q.dynamicRoutes[j]||q.routes[T]),S=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,C,!1):t.end("This page could not be found"),null);if(O&&!A){let e=!!q.routes[T],t=q.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await S();throw new R.NoFallbackError}}let U=null;!O||b.isDev||A||(U="/index"===(U=T)?"/":U);let H=!0===b.isDev||!O,M=O&&!H;I&&k&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:k,serverActionsManifest:I});let D=e.method||"GET",$=(0,s.getTracer)(),F=$.getActiveScopeSpan(),K={params:E,prerenderManifest:q,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>b.onRequestError(e,t,a,n,_)},sharedContext:{buildId:w}},B=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let i=async e=>b.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${D} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${f}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&P&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!O)return await (0,c.sendResponse)(B,L,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[v.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:P})},!1,_),t}},u=await b.handleResponse({req:e,nextConfig:y,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:o});if(!O)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&O||R.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,x.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(B,L,new Response(u.value.body,{headers:R,status:u.value.status||200})),null};F?await l(F):await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${D} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l))}catch(t){if(t instanceof R.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:P})},!1,_),O)throw t;return await (0,c.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>q,"routeModule",()=>b,"serverHooks",()=>A,"workAsyncStorage",()=>y,"workUnitAsyncStorage",()=>C],95664)},18801,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__50ddd3ce._.js","server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js"].map(t=>e.l(t))).then(()=>t(60447)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__e069c0a3._.js.map
|