@mndrk/agx 2.0.46 → 2.0.48
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 +27 -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/agent-specs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +2 -2
- package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js +5 -2
- package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +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.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.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 +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/folders/page/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page/build-manifest.json +18 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page/next-font-manifest.json +11 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page/react-loadable-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page.js +15 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page.js.map +5 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page.js.nft.json +1 -0
- package/cloud-runtime/standalone/.next/server/app/folders/page_client-reference-manifest.js +2 -0
- package/cloud-runtime/standalone/.next/server/app/folders.html +21 -0
- package/cloud-runtime/standalone/.next/server/app/folders.meta +15 -0
- package/cloud-runtime/standalone/.next/server/app/folders.rsc +24 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_full.segment.rsc +24 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_head.segment.rsc +5 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_index.segment.rsc +10 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/_tree.segment.rsc +5 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +9 -0
- package/cloud-runtime/standalone/.next/server/app/folders.segments/folders.segment.rsc +4 -0
- package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +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.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
- 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 +2 -2
- package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[externals]__31e26905._.js → [externals]__7b4c6b2b._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[externals]__a21cc96d._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__015d40a6._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__067034dd._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5aaf8c25._.js → [root-of-the-server]__143fdf69._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__74a37ca4._.js → [root-of-the-server]__158df4bf._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c029daab._.js → [root-of-the-server]__179cb224._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3fd3c5b1._.js → [root-of-the-server]__1a1f66b1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20a2cb22._.js +150 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d2ac93f2._.js → [root-of-the-server]__23b075bd._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3bf516b6._.js → [root-of-the-server]__3170b7bf._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__558389f7._.js → [root-of-the-server]__33865410._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4c2d07e0._.js → [root-of-the-server]__36d15de5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__37844df7._.js +67 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d9f2041b._.js → [root-of-the-server]__3a93931b._.js} +4 -4
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3fae531a._.js +89 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__76658fd6._.js → [root-of-the-server]__4cb22e4d._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ebece93b._.js → [root-of-the-server]__4ce74056._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__635fe0f9._.js → [root-of-the-server]__538b0bdd._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3b1431b6._.js → [root-of-the-server]__5c55f67a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e20922e8._.js → [root-of-the-server]__69a3c480._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__42804c1d._.js → [root-of-the-server]__6c53437e._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8cbd8c56._.js +79 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__92ed2961._.js +48 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__509b1dd2._.js → [root-of-the-server]__94499e9a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ddb3aa76._.js → [root-of-the-server]__a280fa63._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8c7d1318._.js → [root-of-the-server]__a2d31df1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a3955224._.js +150 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4b0b5fe1._.js → [root-of-the-server]__a7b2350e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5b13e7a5._.js → [root-of-the-server]__ab655b9f._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac6326b6._.js +106 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0284ea89._.js → [root-of-the-server]__b2748382._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e7be56ba._.js → [root-of-the-server]__b627cb83._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0e98af48._.js → [root-of-the-server]__bab85495._.js} +63 -18
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dca6026a._.js → [root-of-the-server]__c21747df._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c22dd3a6._.js +179 -0
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8890cd6._.js +150 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__aad349b4._.js → [root-of-the-server]__ca4987eb._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__fcdaf6d8._.js → [root-of-the-server]__d16caed5._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1f53e82e._.js → [root-of-the-server]__d324f8a1._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6988985c._.js → [root-of-the-server]__da645a5e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d4f42f49._.js → [root-of-the-server]__e58e9f91._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b3df16._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c8195768._.js → [root-of-the-server]__f7f336c7._.js} +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcfa3690._.js +93 -0
- package/cloud-runtime/standalone/.next/server/chunks/_4d07f8db._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/lib_7f7835f1._.js +66 -21
- package/cloud-runtime/standalone/.next/server/chunks/lib_9f439b27._.js +61 -16
- package/cloud-runtime/standalone/.next/server/chunks/lib_f81d6da9._.js +70 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__4c9d0778._.js → [root-of-the-server]__01e1641e._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b2a2b86._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__32546242._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__4140bb73._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ffbc2e98._.js → [root-of-the-server]__5e73414b._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ff9ead4._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ec81a3d9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f2c3b7ab._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a42e4555._.js → [root-of-the-server]__fbe1ab4a._.js} +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1e9b9b1e._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_24fe6213._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_36a0c486._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_3b21d3b2._.js +95 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_3eeac8f9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_48db42b7._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_59f30a73._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_7d3b0032._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_916950b3._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_b598ae8a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_b7009996._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cc8c8302._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_d972a4e1._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd7bb6fb._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd9880fb._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_e70d5625._.js +4 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f02d786a._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f53d31e0._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_fd8cafe9._.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_folders_page_actions_9c8dfb6c.js +3 -0
- package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_linear_page_tsx_971a6ba7._.js +15 -12
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +2 -2
- package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_54bf563f._.js +3 -0
- package/cloud-runtime/standalone/.next/server/instrumentation.js +1 -1
- package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/next-font-manifest.json +4 -0
- package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/04c135686161dbb1.js +40 -0
- package/cloud-runtime/standalone/.next/static/chunks/0d63db0c39c0a3b2.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/136ed07d84b14632.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/18866ed04ed3a063.css +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/1b808cdaa28a10b4.js +16 -0
- package/cloud-runtime/standalone/.next/static/chunks/{ccaf68956da192f8.js → 1bb38e61d891453c.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/2c7c8259c2b56bf5.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/2da1f13d50dc4e54.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/442eb8ef62bef9f9.js +3 -0
- package/cloud-runtime/standalone/.next/static/chunks/5f33b52d582b0bb4.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{1fa91c34c99502bf.js → 64c2961edd3a3b13.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/{db131a0b6350e416.js → 692ce04abdbb3970.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/83be8569d298c6b0.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/87b3afe828c8cc52.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{14922fd23cdc223b.js → 9328740727c6456d.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/95d47e285ae9c031.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/b9bf5d3ee92a1313.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/ea35fb870141bcff.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f59722264449b61c.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/f727d2c8f039511d.js +1 -0
- package/cloud-runtime/standalone/.next/static/chunks/{f4360c3e4089263f.js → f8706212baa8ec67.js} +1 -1
- package/cloud-runtime/standalone/.next/static/chunks/fd823c9d1381335d.js +1 -0
- package/cloud-runtime/standalone/app/api/linear/issues/route.ts +9 -2
- package/cloud-runtime/standalone/app/api/linear/options/route.ts +16 -4
- package/cloud-runtime/standalone/app/automations/page.tsx +11 -1
- package/cloud-runtime/standalone/app/folders/page.tsx +318 -0
- package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +11 -1
- package/cloud-runtime/standalone/components/LinearBoard.tsx +211 -28
- package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +10 -0
- package/cloud-runtime/standalone/components/linear/RunScriptManager.tsx +356 -0
- package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +55 -10
- package/cloud-runtime/standalone/hooks/useLinearIssues.ts +7 -3
- package/cloud-runtime/standalone/hooks/useLinearRunScripts.ts +115 -0
- package/cloud-runtime/standalone/instrumentation.ts +3 -0
- package/cloud-runtime/standalone/lib/cli-runner.ts +27 -6
- package/cloud-runtime/standalone/lib/linear-client.ts +33 -3
- package/cloud-runtime/standalone/lib/linear-execution-prompt.ts +92 -15
- package/cloud-runtime/standalone/lib/linear-issue-store.ts +33 -5
- package/cloud-runtime/standalone/lib/scheduled-task-skill.ts +119 -0
- package/cloud-runtime/standalone/state/automations/.state/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.json +8 -0
- package/cloud-runtime/standalone/state/automations/active/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.md +15 -0
- package/cloud-runtime/standalone/state/linearBoardFilters.ts +90 -0
- package/cloud-runtime/standalone/state/linearRunScripts.test.ts +99 -0
- package/cloud-runtime/standalone/state/linearRunScripts.ts +132 -0
- package/cloud-runtime/standalone/state/windowState.ts +21 -0
- package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
- package/cloud-runtime/standalone/worker/index.js +147 -28
- package/package.json +1 -1
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1154e5b3._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b83b657._.js +0 -147
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6921fe3f._.js +0 -44
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__70327010._.js +0 -134
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__748c718f._.js +0 -147
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__76290829._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79fa35e4._.js +0 -101
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8d205f82._.js +0 -48
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a7e0ac67._.js +0 -25
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ad6d6402._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b133856b._.js +0 -61
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ce2a1672._.js +0 -67
- package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +0 -25
- package/cloud-runtime/standalone/.next/server/chunks/_a93e80e8._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1c4256ce._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__69887882._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bb149a22._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_11ce4c04._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_1d26be78._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_22e99a52._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_260b10ce._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_32c878b9._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_4bfdfb14._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_52fe115d._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_69164b06._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_77e1407a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_7f7a828a._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_84a166cb._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_ba5903a7._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_cee3cf86._.js +0 -95
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_ed4fece9._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/_f51a3112._.js +0 -3
- package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e8bdedc5._.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/2362d5c0dcaa5d64.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/2730394502dd3664.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/2a9c83f8211196e0.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/34dd491bc4ce9561.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/37f07896b044d69f.css +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/3dc50de1c86e1ce9.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/4ea8f08087116055.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/98c20da4973991f0.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/a72fbac84e32f665.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/a9da98f883ac833b.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b2127dc67c5ade9f.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/b3377e39d47c71cf.js +0 -3
- package/cloud-runtime/standalone/.next/static/chunks/b553dba1f51e709b.js +0 -16
- package/cloud-runtime/standalone/.next/static/chunks/bf2a2fafb710e63c.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/c0d17e0c37ba8e7a.js +0 -1
- package/cloud-runtime/standalone/.next/static/chunks/cca7c8e4ade050f0.js +0 -37
- package/cloud-runtime/standalone/state/automations/.state/24a6a5db-3b14-49c4-841f-29f10f015fbb.json +0 -8
- package/cloud-runtime/standalone/state/automations/active/24a6a5db-3b14-49c4-841f-29f10f015fbb.md +0 -17
- /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → gty0FO80D_lbq3o9lSpQQ}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → gty0FO80D_lbq3o9lSpQQ}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → gty0FO80D_lbq3o9lSpQQ}/_ssgManifest.js +0 -0
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
module.exports=[522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},942969,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let i=Object.values(r);return i.length>0?i[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function i(e,t){e.exec(`PRAGMA ${t}`)}function s(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function n(e,t){return(...r)=>{e.exec("BEGIN");try{let i=t(...r);return e.exec("COMMIT"),i}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>i,"transaction",()=>s,"transactionFn",()=>n])},828237,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(942969);e.i(522734);var r=e.i(446786),i=e.i(814747);let s="3.35.0",n=["json1"],a=["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),i=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(i[e]||0);if(0!==t)return t}return 0}(p.v,s)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${s}`,found:p.v,required:`>= ${s}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),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 a)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let s=i.default.resolve(t),{execSync:n}=e.r(233405);if("darwin"===r.default.platform()){let e=n(`df -T "${s}" 2>/dev/null || df "${s}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(d);m&&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{(0,t.pragmaSet)(u,"journal_mode = wal"),(0,t.pragmaSet)(u,"foreign_keys = 1"),(0,t.pragmaSet)(u,"busy_timeout = 5000"),(0,t.pragmaSet)(u,"synchronous = 1"),(0,t.pragmaSet)(u,"cache_size = -64000");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(u,"journal_mode = DELETE");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(u,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>u])},157306,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747);let s=process.env.AGX_DATA_DIR||i.default.join(r.default.homedir(),".agx"),n=process.env.AGX_DEBUG_LOG_PATH||i.default.join(s,"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 o(e,r){try{t.default.mkdirSync(i.default.dirname(n),{recursive:!0});let s=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},a);t.default.appendFileSync(n,`${s}
|
|
2
|
-
`,"utf8")}catch{}}e.s(["writeDebugLog",()=>o])},390107,e=>{"use strict";let t;var r=e.i(233405),i=e.i(522734),s=e.i(814747),n=e.i(157306);function a(){return process.env.SHELL?.trim()||"/bin/bash"}function o(e){try{if(!/^[A-Za-z0-9._-]+$/.test(e))return!1;let t=a();return 0===(0,r.spawnSync)(t,["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8",timeout:5e3}).status}catch{return!1}}let l=e=>"string"==typeof e&&e.trim().length>0,u=e=>({push:e,flush:()=>{}}),d=e=>{let t="",r=0,i=!1,s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);i=!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"&&l(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&l(t?.delta?.text)?t.delta.text:""})(t);if(!n||t?.type==="assistant"&&r>0)return;r+=n.length,e(n)}catch{i||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=""}}},c=e=>{let t="",r=!1,i="",s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);r=!0,t?.type==="message"&&t?.role==="assistant"&&l(t?.content)&&((t,r)=>{if(t){if(r){if(i&&t.startsWith(i)){let r=t.slice(i.length);r&&e(r),i=t;return}e(t),i+=t;return}if(i&&t.startsWith(i)){let r=t.slice(i.length);r&&e(r),i=t;return}i||(e(t),i=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=""}}},p=e=>{let t="",r=!1,i=new Set,s=t=>{let s=t.trim();if(s)try{let t=JSON.parse(s);if(r=!0,t?.type==="item.completed"&&l(t?.item?.id)){if(i.has(t.item.id))return;i.add(t.item.id)}let n=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&l(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&l(t.delta?.text)?t.delta.text:"":"";n&&e(n)}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=""}}},m=e=>{let t="",r=!1,i=[/^Thinking\.\.\./,/^<think>/i],s=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:n=>{t+=n,(()=>{for(;t.length>0;){if(r){let e=-1,i=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,i=s[0].length))}if(-1!==e){t=t.slice(e+i),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let s of i){let i=t.match(s);if(i&&void 0!==i.index){let s=t.slice(0,i.index);s&&e.push(s),t=t.slice(i.index+i[0].length),r=!0;break}}if(r)continue;let n=Math.max(0,t.length-30);n>0&&(e.push(t.slice(0,n)),t=t.slice(n));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},f=new Set(["claude","gemini","ollama","codex"]);function h({provider:e,model:t,prompt:r,systemPrompt:i}){switch(e){case"claude":{let e=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&e.push("--model",t),i&&e.push("--system-prompt",i),e.push(r),{command:"claude",args:e,parser:"claude-stream-json"}}case"gemini":return{command:"gemini",args:["--yolo","-p",i?`${i}
|
|
6
|
-
|
|
7
|
-
${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",i?`${i}
|
|
8
|
-
|
|
9
|
-
${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(i?`${i}
|
|
10
|
-
|
|
11
|
-
${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),i&&s.push("--system-prompt",i),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}}function g(){let e=process.env.AGX_CLI_PATH?.trim();if(e&&i.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(i.default.existsSync(e))return e;return null}function E({provider:e,model:t,prompt:r,systemPrompt:i,passthroughArgs:s},n={}){let a=n.commandExists??o,l=void 0===n.bundledCliPath?g():n.bundledCliPath,u=[],d=i?`${i}
|
|
12
|
-
|
|
13
|
-
${r}`:r;if(f.has(e)){let n=function({provider:e,model:t,prompt:r,cliPath:i,passthroughArgs:s}){let n=void 0===i?g():i;if(!n)return null;let a=[n,e,"-y","--print","--prompt",r];return t&&a.push("--model",t),s&&s.length>0&&a.push("--",...s),{command:process.execPath,args:a,parser:"raw"}}({provider:e,model:t,prompt:d,cliPath:l,passthroughArgs:s});n&&u.push(n),a("agx")&&u.push(function({provider:e,model:t,prompt:r,passthroughArgs:i}){let s=[e,"-y","--print","--prompt",r];return t&&s.push("--model",t),i&&i.length>0&&s.push("--",...i),{command:"agx",args:s,parser:"raw"}}({provider:e,model:t,prompt:d,passthroughArgs:s}));let o=h({provider:e,model:t,prompt:r,systemPrompt:i});return o&&a(o.command)&&u.push(o),u}let c=h({provider:e,model:t,prompt:r,systemPrompt:i});return c&&a(c.command)&&u.push(c),u}async function _({command:e,args:i,timeoutMs:s,signal:o,onDelta:l,onLog:u,onSpawn:d,env:c}){await new Promise((p,m)=>{let f;(0,n.writeDebugLog)("cli-runner.spawn",{command:e,args:i,timeoutMs:s,bundledCliPath:g(),isElectron:process.env.AGX_ELECTRON||null}),u&&u("stderr",`$ ${e} ${i.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
|
|
14
|
-
`);let h=(0,r.spawn)(e,i,{stdio:["ignore","pipe","pipe"],env:(f=function(){if(void 0!==t)return t;try{let e=a(),i=(0,r.spawnSync)(e,["-lc",'printf %s "$PATH"'],{encoding:"utf8",timeout:5e3});t=(0===i.status?i.stdout.trim():"")||null}catch{t=null}return t}(),{...process.env,...f?{PATH:f}:{},CLAUDECODE:void 0,...c})}),E=!1,_="",b=!1,L=e=>{E||(E=!0,clearTimeout(x),o&&o.removeEventListener("abort",y),e?m(e):p())},y=()=>{(0,n.writeDebugLog)("cli-runner.abort",{command:e,args:i,pid:h.pid??null}),h.kill("SIGTERM"),L(Error("Chat request aborted."))};o&&o.addEventListener("abort",y,{once:!0}),d&&h.pid&&d(h.pid),(0,n.writeDebugLog)("cli-runner.spawned",{command:e,args:i,pid:h.pid??null});let x=setTimeout(()=>{b=!0,(0,n.writeDebugLog)("cli-runner.timeout",{command:e,args:i,pid:h.pid??null,timeoutMs:s}),h.kill("SIGKILL"),L(Error(`CLI request timed out after ${s}ms.`))},s);h.stdout.on("data",e=>{let t=e.toString();_+=t,l(t),u&&u("stdout",t)}),h.stderr.on("data",e=>{let t=e.toString();_+=t,u&&u("stderr",t)}),h.on("error",t=>{(0,n.writeDebugLog)("cli-runner.process_error",{command:e,args:i,pid:h.pid??null,error:t}),L(t)}),h.on("close",(t,r)=>{if(!E&&!b){if((0,n.writeDebugLog)("cli-runner.close",{command:e,args:i,pid:h.pid??null,code:t??null,signal:r??null}),0===t)return void L();L(Error(`CLI command failed (exit=${t??"unknown"} signal=${r??"none"}).${_.trim()?` ${_.trim()}`:""}`))}})})}async function b({provider:e,model:t,prompt:r,identity:i,self:s,skills:a,systemContext:o,passthroughArgs:l,signal:f,onDelta:h,onLog:b,onSpawn:L}){let y,x,S,w,T=(y=!1,x=!1,S="",w=/^(?:```|~~~|#{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,i=r.trimStart(),s=w.test(i),n=x&&s&&!y,a=x&&!y&&!n&&!/^\s/.test(r)&&/[.!?)]/.test(S)&&/^[A-Z0-9`(]/.test(r),o=n?`
|
|
15
|
-
|
|
16
|
-
${r}`:a?`
|
|
17
|
-
${r}`:r;y=o.endsWith("\n"),x=x||o.trim().length>0;let l=o.replace(/\s+$/g,"");return l.length>0&&(S=l[l.length-1]??S),o}),v=e=>{let t=T(e);t&&h(t)},A=[];o&&A.push(o),i&&A.push(`<identity>
|
|
18
|
-
${i}
|
|
19
|
-
</identity>`),s&&A.push(`<self>
|
|
20
|
-
${s}
|
|
21
|
-
</self>`),a&&A.push(`<skills>
|
|
22
|
-
${a}
|
|
23
|
-
</skills>`);let I=E({provider:e,model:t,prompt:r,systemPrompt:A.length>0?A.join("\n\n"):void 0,passthroughArgs:l});if(0===I.length)throw(0,n.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:g(),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 I){(0,n.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let i="claude-stream-json"===r.parser?d(v):"codex-json"===r.parser?p(v):"gemini-stream-json"===r.parser?c(v):u(v),s=r.filterThoughts?m(i):i;try{await _({command:r.command,args:r.args,timeoutMs:18e5,signal:f,onDelta:s.push,onLog:b,onSpawn:L,env:r.env}),s.flush(),(0,n.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(i){N=i instanceof Error?i:Error(String(i)),(0,n.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:N})}}throw N||Error("CLI execution failed.")}e.s(["buildCliAttempts",()=>E,"runCliResponse",()=>b],390107)},40793,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),r=e.i(942969),i=e.i(666680);let s={randomUUID:i.randomUUID},n=new Uint8Array(256),a=n.length,o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));let l=function(e,t,r){if(s.randomUUID&&!t&&!e)return s.randomUUID();var l=e,u=r;let d=(l=l||{}).random??l.rng?.()??(a>n.length-16&&((0,i.randomFillSync)(n),a=0),n.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(o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]).toLowerCase()}(d)};var u=e.i(814747),d=e.i(522734),c=e.i(446786),p=e.i(828237);process.env.AGX_MAX_WORKERS;class m{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,i=r>=40;return i&&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:i}}}var f=e.i(157306);let h=process.env.AGX_DATA_DIR||u.default.join(c.default.homedir(),".agx");function g(){let e=Number(process.env.AGX_QUEUE_STALE_MS);return Number.isFinite(e)&&e>0?e:6e5}class E{db;workers=new Map;pollingInterval=null;writeRateInterval=null;writeMonitor=new m;workerId;constructor(e){this.workerId=l();const r=e||process.env.SQLITE_QUEUE_PATH||u.default.join(h,"agx-queue.db"),i=u.default.dirname(r);d.default.existsSync(i)||d.default.mkdirSync(i,{recursive:!0}),this.db=new t.DatabaseSync(r);const s=(0,p.validateSQLiteEnvironment)(this.db,r);if(s.length>0){const e=s.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(`
|
|
24
|
-
CREATE TABLE IF NOT EXISTS agx_jobs (
|
|
25
|
-
id TEXT PRIMARY KEY,
|
|
26
|
-
queue TEXT NOT NULL,
|
|
27
|
-
data TEXT NOT NULL,
|
|
28
|
-
status TEXT NOT NULL CHECK(status IN ('pending', 'active', 'completed', 'failed', 'retry')),
|
|
29
|
-
created_at INTEGER NOT NULL,
|
|
30
|
-
start_after INTEGER NOT NULL DEFAULT 0,
|
|
31
|
-
started_at INTEGER,
|
|
32
|
-
completed_at INTEGER,
|
|
33
|
-
failed_at INTEGER,
|
|
34
|
-
worker_id TEXT,
|
|
35
|
-
retry_count INTEGER DEFAULT 0,
|
|
36
|
-
retry_limit INTEGER DEFAULT 0,
|
|
37
|
-
priority INTEGER DEFAULT 0,
|
|
38
|
-
error TEXT
|
|
39
|
-
);
|
|
40
|
-
CREATE INDEX IF NOT EXISTS idx_jobs_fetch ON agx_jobs (queue, status, start_after, priority DESC, created_at ASC);
|
|
41
|
-
`);let e=new Set((0,r.pragmaAll)(this.db,"table_info(agx_jobs)").map(e=>e.name));e.has("failed_at")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN failed_at INTEGER"),e.has("error")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN error TEXT")}async send(e,t,r){let i=l(),s=Date.now(),n=r?.startAfter?r.startAfter instanceof Date?r.startAfter.getTime():r.startAfter:s;return this.db.prepare(`
|
|
42
|
-
INSERT INTO agx_jobs (
|
|
43
|
-
id, queue, data, status, created_at, start_after, retry_limit, priority
|
|
44
|
-
) VALUES (?, ?, ?, 'pending', ?, ?, ?, ?)
|
|
45
|
-
`).run(i,e,JSON.stringify(t),s,n,r?.retryLimit??3,r?.priority??0),this.writeMonitor.record(),(0,f.writeDebugLog)("queue.send",{queue:e,jobId:i,startAfter:n,retryLimit:r?.retryLimit??3,priority:r?.priority??0,data:t}),i}async work(e,t,r){(0,f.writeDebugLog)("queue.worker.register",{queue:e,batchSize:r?.batchSize??1,pollInterval:r?.pollInterval??null,workerId:this.workerId}),this.workers.set(e,{handler:t,options:r||{},running:!0})}startPolling(){this.pollingInterval||(this.pollingInterval=setInterval(()=>this.poll(),1e3),this.writeRateInterval=setInterval(()=>this.writeMonitor.check(),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 i=t.options.batchSize||1,s=Date.now(),n=s-g(),a=(0,r.transaction)(this.db,()=>{let t=this.reapStaleJobs(e,s,n);t.length>0&&(0,f.writeDebugLog)("queue.reap_stale",{queue:e,workerId:this.workerId,staleBefore:n,jobs:t});let r=this.db.prepare(`
|
|
46
|
-
SELECT id, data FROM agx_jobs
|
|
47
|
-
WHERE queue = ?
|
|
48
|
-
AND (status = 'pending' OR status = 'retry')
|
|
49
|
-
AND start_after <= ?
|
|
50
|
-
ORDER BY priority DESC, created_at ASC
|
|
51
|
-
LIMIT ?
|
|
52
|
-
`).all(e,s,i);if(0===r.length)return[];let a=r.map(e=>e.id),o=this.db.prepare(`
|
|
53
|
-
UPDATE agx_jobs
|
|
54
|
-
SET status = 'active', started_at = ?, worker_id = ?
|
|
55
|
-
WHERE id = ?
|
|
56
|
-
`);for(let e of a)o.run(s,this.workerId,e);return r.map(t=>({id:t.id,name:e,data:JSON.parse(t.data)}))});a.length>0&&((0,f.writeDebugLog)("queue.claim",{queue:e,workerId:this.workerId,jobIds:a.map(e=>e.id)}),this.executeJobs(a,t.handler))}async executeJobs(e,t){try{await t(e),this.completeJobs(e.map(e=>e.id)),(0,f.writeDebugLog)("queue.complete",{jobIds:e.map(e=>e.id)})}catch(t){this.failJobs(e.map(e=>e.id),t.message||String(t)),(0,f.writeDebugLog)("queue.fail",{jobIds:e.map(e=>e.id),error:t})}}completeJobs(e){let t=Date.now(),i=this.db.prepare(`
|
|
57
|
-
UPDATE agx_jobs
|
|
58
|
-
SET status = 'completed', completed_at = ?, worker_id = NULL
|
|
59
|
-
WHERE id = ?
|
|
60
|
-
`);(0,r.transaction)(this.db,()=>{for(let r of e)i.run(t,r)})}failJobs(e,t){let i=Date.now(),s=this.db.prepare(`
|
|
61
|
-
SELECT id, retry_count, retry_limit FROM agx_jobs WHERE id = ?
|
|
62
|
-
`),n=this.db.prepare(`
|
|
63
|
-
UPDATE agx_jobs
|
|
64
|
-
SET status = 'retry', retry_count = retry_count + 1,
|
|
65
|
-
start_after = ? + (retry_count * 1000 * 2), -- Exponential backoff (kinda)
|
|
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', failed_at = ?, started_at = NULL, worker_id = NULL, error = ?
|
|
73
|
-
WHERE id = ?
|
|
74
|
-
`);(0,r.transaction)(this.db,()=>{for(let r of e){let e=s.get(r);if(e&&e.retry_count<e.retry_limit){let s=(e.retry_count+1)*2e3;n.run(i+s,t,r)}else a.run(i,t,r)}})}reapStaleJobs(e,t,r){let i=this.db.prepare(`
|
|
75
|
-
SELECT id, retry_count, retry_limit
|
|
76
|
-
FROM agx_jobs
|
|
77
|
-
WHERE queue = ?
|
|
78
|
-
AND status = 'active'
|
|
79
|
-
AND started_at IS NOT NULL
|
|
80
|
-
AND started_at <= ?
|
|
81
|
-
ORDER BY started_at ASC
|
|
82
|
-
`).all(e,r);if(0===i.length)return[];let s=this.db.prepare(`
|
|
83
|
-
UPDATE agx_jobs
|
|
84
|
-
SET status = 'retry',
|
|
85
|
-
retry_count = retry_count + 1,
|
|
86
|
-
start_after = ?,
|
|
87
|
-
started_at = NULL,
|
|
88
|
-
worker_id = NULL,
|
|
89
|
-
error = ?
|
|
90
|
-
WHERE id = ?
|
|
91
|
-
`),n=this.db.prepare(`
|
|
92
|
-
UPDATE agx_jobs
|
|
93
|
-
SET status = 'failed',
|
|
94
|
-
failed_at = ?,
|
|
95
|
-
started_at = NULL,
|
|
96
|
-
worker_id = NULL,
|
|
97
|
-
error = ?
|
|
98
|
-
WHERE id = ?
|
|
99
|
-
`),a=[];for(let e of i){let r=`Job exceeded active timeout of ${g()}ms`;e.retry_count<e.retry_limit?(s.run(t,r,e.id),a.push({id:e.id,fromStatus:"active",toStatus:"retry",retryCount:e.retry_count+1})):(n.run(t,r,e.id),a.push({id:e.id,fromStatus:"active",toStatus:"failed",retryCount:e.retry_count}))}return a}}let _=null;async function b(){return _||(_=new E,await _.start()),_}async function L(){_&&(await _.stop(),_=null)}e.s(["QUEUE_NAMES",0,{TASK_PROCESS:"agx.task.process",CHAT_RUN_PROCESS:"agx.chat.process",TASK_CLEANUP:"agx.task.cleanup"},"getQueue",()=>b,"stopQueue",()=>L],40793)}];
|
|
100
|
-
|
|
101
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__79fa35e4._.js.map
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let n=Object.values(r);return n.length>0?n[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function n(e,t){e.exec(`PRAGMA ${t}`)}function i(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function s(e,t){return(...r)=>{e.exec("BEGIN");try{let n=t(...r);return e.exec("COMMIT"),n}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>n,"transaction",()=>i,"transactionFn",()=>s])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),n=e.i(814747);let i="3.35.0",s=["json1"],a=["fts5"],l=["nfs","smb","cifs","efs","fuse.sshfs"];function o(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function d(d,u){let c=[],p=d.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),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}(p.v,i)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${i}`,found:p.v,required:`>= ${i}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),s))o(d,e)||c.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of a)o(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let i=n.default.resolve(t),{execSync:s}=e.r(233405);if("darwin"===r.default.platform()){let e=s(`df -T "${i}" 2>/dev/null || df "${i}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(u);m&&l.some(e=>m.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${u}' is on a network filesystem (${m})`,path:u,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(d,"journal_mode = wal"),(0,t.pragmaSet)(d,"foreign_keys = 1"),(0,t.pragmaSet)(d,"busy_timeout = 5000"),(0,t.pragmaSet)(d,"synchronous = 1"),(0,t.pragmaSet)(d,"cache_size = -64000");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(d,"journal_mode = DELETE");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(d,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):c.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){c.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return c}e.s(["validateSQLiteEnvironment",()=>d])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},457431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(960447);return t()}e.i(949041),e.s(["createAdminDbClient",()=>t])},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},37269,e=>{"use strict";var t=e.i(522734),r=e.i(446786),n=e.i(814747);let i=process.env.AGX_DATA_DIR||n.default.join(r.default.homedir(),".agx"),s=process.env.AGX_DEBUG_LOG_PATH||n.default.join(i,"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 l(){return s}function o(e,r){try{t.default.mkdirSync(n.default.dirname(s),{recursive:!0});let i=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},a);t.default.appendFileSync(s,`${i}
|
|
2
|
-
`,"utf8")}catch{}}e.s(["getDebugLogPath",()=>l,"writeDebugLog",()=>o])},701435,e=>{"use strict";let t;var r=e.i(233405);function n(){return process.env.SHELL?.trim()||"/bin/bash"}function i(e){let i=function(){if(void 0!==t)return t;try{let e=n(),i=(0,r.spawnSync)(e,["-lc",'printf %s "$PATH"'],{encoding:"utf8",timeout:5e3});t=(0===i.status?i.stdout.trim():"")||null}catch{t=null}return t}();return{...process.env,...i?{PATH:i}:{},CLAUDECODE:void 0,...e}}function s(e){try{if(!/^[A-Za-z0-9._-]+$/.test(e))return!1;let t=n();return 0===(0,r.spawnSync)(t,["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8",timeout:5e3}).status}catch{return!1}}e.s(["buildSpawnEnv",()=>i,"commandExists",()=>s])},914350,e=>{"use strict";var t=e.i(233405),r=e.i(522734),n=e.i(814747),i=e.i(37269),s=e.i(701435);let a=e=>"string"==typeof e&&e.trim().length>0,l=e=>({push:e,flush:()=>{}}),o=e=>{let t="",r=0,n=!1,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);n=!0;let s=(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(!s||t?.type==="assistant"&&r>0)return;r+=s.length,e(s)}catch{n||e(`${t}
|
|
3
|
-
`)}};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,n="",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(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;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},u=e=>{let t="",r=!1,n=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(n.has(t.item.id))return;n.add(t.item.id)}let s=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:"":"";s&&e(s)}catch{r||e(`${t}
|
|
5
|
-
`)}};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,n=[/^Thinking\.\.\./,/^<think>/i],i=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:s=>{t+=s,(()=>{for(;t.length>0;){if(r){let e=-1,n=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,n=i[0].length))}if(-1!==e){t=t.slice(e+n),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let i of n){let n=t.match(i);if(n&&void 0!==n.index){let i=t.slice(0,n.index);i&&e.push(i),t=t.slice(n.index+n[0].length),r=!0;break}}if(r)continue;let s=Math.max(0,t.length-30);s>0&&(e.push(t.slice(0,s)),t=t.slice(s));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},p=new Set(["claude","gemini","ollama","codex"]);function m({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}
|
|
6
|
-
|
|
7
|
-
${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",n?`${n}
|
|
8
|
-
|
|
9
|
-
${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(n?`${n}
|
|
10
|
-
|
|
11
|
-
${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),n&&i.push("--system-prompt",n),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}}function f(){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 h({provider:e,model:t,prompt:r,systemPrompt:n,passthroughArgs:i},a={}){let l=a.commandExists??s.commandExists,o=void 0===a.bundledCliPath?f():a.bundledCliPath,d=[],u=n?`${n}
|
|
12
|
-
|
|
13
|
-
${r}`:r;if(p.has(e)){let s=function({provider:e,model:t,prompt:r,cliPath:n,passthroughArgs:i}){let s=void 0===n?f():n;if(!s)return null;let a=[s,e,"-y","--print","--prompt",r];return t&&a.push("--model",t),i&&i.length>0&&a.push("--",...i),{command:process.execPath,args:a,parser:"raw"}}({provider:e,model:t,prompt:u,cliPath:o,passthroughArgs:i});s&&d.push(s),l("agx")&&d.push(function({provider:e,model:t,prompt:r,passthroughArgs:n}){let i=[e,"-y","--print","--prompt",r];return t&&i.push("--model",t),n&&n.length>0&&i.push("--",...n),{command:"agx",args:i,parser:"raw"}}({provider:e,model:t,prompt:u,passthroughArgs:i}));let a=m({provider:e,model:t,prompt:r,systemPrompt:n});return a&&l(a.command)&&d.push(a),d}let c=m({provider:e,model:t,prompt:r,systemPrompt:n});return c&&l(c.command)&&d.push(c),d}async function g({command:e,args:r,timeoutMs:n,signal:a,onDelta:l,onLog:o,onSpawn:d,env:u}){await new Promise((c,p)=>{(0,i.writeDebugLog)("cli-runner.spawn",{command:e,args:r,timeoutMs:n,bundledCliPath:f(),isElectron:process.env.AGX_ELECTRON||null}),o&&o("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
|
|
14
|
-
`);let m=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:(0,s.buildSpawnEnv)(u)}),h=!1,g="",x=!1,v=e=>{h||(h=!0,clearTimeout(k),a&&a.removeEventListener("abort",_),e?p(e):c())},_=()=>{(0,i.writeDebugLog)("cli-runner.abort",{command:e,args:r,pid:m.pid??null}),m.kill("SIGTERM"),v(Error("Chat request aborted."))};a&&a.addEventListener("abort",_,{once:!0}),d&&m.pid&&d(m.pid),(0,i.writeDebugLog)("cli-runner.spawned",{command:e,args:r,pid:m.pid??null});let k=setTimeout(()=>{x=!0,(0,i.writeDebugLog)("cli-runner.timeout",{command:e,args:r,pid:m.pid??null,timeoutMs:n}),m.kill("SIGKILL"),v(Error(`CLI request timed out after ${n}ms.`))},n);m.stdout.on("data",e=>{let t=e.toString();g+=t,l(t),o&&o("stdout",t)}),m.stderr.on("data",e=>{let t=e.toString();g+=t,o&&o("stderr",t)}),m.on("error",t=>{(0,i.writeDebugLog)("cli-runner.process_error",{command:e,args:r,pid:m.pid??null,error:t}),v(t)}),m.on("close",(t,n)=>{if(!h&&!x){if((0,i.writeDebugLog)("cli-runner.close",{command:e,args:r,pid:m.pid??null,code:t??null,signal:n??null}),0===t)return void v();v(Error(`CLI command failed (exit=${t??"unknown"} signal=${n??"none"}).${g.trim()?` ${g.trim()}`:""}`))}})})}async function x({provider:e,model:t,prompt:r,identity:n,self:s,skills:a,systemContext:p,passthroughArgs:m,signal:x,onDelta:v,onLog:_,onSpawn:k}){let y,S,w,E,b=(y=!1,S=!1,w="",E=/^(?:```|~~~|#{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,n=r.trimStart(),i=E.test(n),s=S&&i&&!y,a=S&&!y&&!s&&!/^\s/.test(r)&&/[.!?)]/.test(w)&&/^[A-Z0-9`(]/.test(r),l=s?`
|
|
15
|
-
|
|
16
|
-
${r}`:a?`
|
|
17
|
-
${r}`:r;y=l.endsWith("\n"),S=S||l.trim().length>0;let o=l.replace(/\s+$/g,"");return o.length>0&&(w=o[o.length-1]??w),l}),R=e=>{let t=b(e);t&&v(t)},A=[];p&&A.push(p),n&&A.push(`<identity>
|
|
18
|
-
${n}
|
|
19
|
-
</identity>`),s&&A.push(`<self>
|
|
20
|
-
${s}
|
|
21
|
-
</self>`),a&&A.push(`<skills>
|
|
22
|
-
${a}
|
|
23
|
-
</skills>`);let L=h({provider:e,model:t,prompt:r,systemPrompt:A.length>0?A.join("\n\n"):void 0,passthroughArgs:m});if(0===L.length)throw(0,i.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:f(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let C=null;for(let r of L){(0,i.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let n="claude-stream-json"===r.parser?o(R):"codex-json"===r.parser?u(R):"gemini-stream-json"===r.parser?d(R):l(R),s=r.filterThoughts?c(n):n;try{await g({command:r.command,args:r.args,timeoutMs:18e5,signal:x,onDelta:s.push,onLog:_,onSpawn:k,env:r.env}),s.flush(),(0,i.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(n){C=n instanceof Error?n:Error(String(n)),(0,i.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:C})}}throw C||Error("CLI execution failed.")}e.s(["buildCliAttempts",()=>h,"runCliResponse",()=>x],914350)},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},737175,e=>{"use strict";var t=e.i(902157),r=e.i(750227),n=e.i(874533),i=e.i(960447);let s=null,a=new Map;function l(e){return e.replace(/\s+/g," ").trim()}function o(e){return e.replace(/<br\s*\/?>/gi,"\n").replace(/<\/(p|h1|h2|h3|h4|h5|h6|li|tr|div)>/gi,"\n").replace(/<li[^>]*>/gi,"• ").replace(/<[^>]*>/g,"").replace(/&#x([0-9a-f]+);/gi,(e,t)=>{let r=Number.parseInt(t,16);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/&#([0-9]+);/g,(e,t)=>{let r=Number.parseInt(t,10);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/ /g," ").replace(/\r/g,"").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function d(e){return"claude"===e||"codex"===e||"gemini"===e||"zai"===e?e:null}function u(e){return"claude"===e?"claude-code":"codex"===e?"codex":"gemini"===e?"gemini-cli":"zai"===e?"claude-code":null}function c(e){return r.default.join(process.cwd(),".agents","skills",e,"SKILL.md")}function p(){let e=r.default.join(process.cwd(),".agents","skills");return t.default.existsSync(e)?t.default.readdirSync(e,{withFileTypes:!0}).filter(n=>n.isDirectory()&&t.default.existsSync(r.default.join(e,n.name,"SKILL.md"))).map(e=>e.name).sort((e,t)=>e.localeCompare(t)):[]}async function m(){if(s&&Date.now()-s.loadedAt<36e5)return s.data;try{let e=await fetch("https://skills.sh");if(!e.ok)return[];let t=await e.text(),r=t.indexOf("initialSkills");if(-1===r)return[];let n=t.indexOf(":[",r);if(-1===n)return[];let i=n+1,a=0,l=i;for(let e=i;e<t.length;e+=1)if("["===t[e]&&(a+=1),"]"===t[e]&&(a-=1),0===a){l=e+1;break}let o=t.slice(i,l).replace(/\\"/g,'"'),d=JSON.parse(o).map((e,t)=>({rank:t+1,name:e.name??e.skillId??"",skillId:e.skillId??e.name??"",repo:e.source??"",installs:"number"==typeof e.installs?e.installs:0}));return s={loadedAt:Date.now(),data:d},d}catch{return[]}}async function f(e,t){let r=`${e}/${t}`,n=a.get(r);if(n&&Date.now()-n.loadedAt<36e5)return n.data;try{let n=await fetch(`https://skills.sh/${e}/${t}`);if(!n.ok)return null;let i=await n.text(),s=function(e){let t=e.match(/<div class="prose[^>]*>([\s\S]*?)<\/div>\s*<\/div>\s*<\/div>\s*<\/div>\s*<div class=" lg:col-span-3">/i);if(t?.[1])return t[1];let r=e.indexOf('<div class="prose');if(-1===r)return"";let n=e.indexOf(">",r);if(-1===n)return"";let i=e.indexOf('<div class=" lg:col-span-3">',n);return -1===i?"":e.slice(n+1,i).replace(/\s*<\/div>\s*$/i,"").trim()}(i),d=s.match(/<h1[^>]*>([\s\S]*?)<\/h1>/i),u=d?l(o(d[1])):"",c=(d?s.slice((d.index??0)+d[0].length):s).match(/<p[^>]*>([\s\S]*?)<\/p>/i),p=c?l(o(c[1])):"",m=[],f=s.match(/<h2[^>]*>\s*When to Use This Skill\s*<\/h2>([\s\S]*?)(?:<h2[^>]*>|$)/i);if(f){let e=f[1].match(/<ul[^>]*>([\s\S]*?)<\/ul>/i);if(e){let t=/<li[^>]*>([\s\S]*?)<\/li>/gi,r=null;for(;null!==(r=t.exec(e[1]));){let e=l(o(r[1]));e&&m.push(e)}}}let h=i.match(/Weekly\s+Installs[\s\S]{0,240}?>([\d,.]+[KkMm]?)<\/div>/i)?.[1]??"",g=i.match(/First\s+[Ss]een[\s\S]{0,240}?>([A-Za-z]{3}\s+\d{1,2},\s+\d{4})<\/div>/i)?.[1]??"",x=i.match(/\\"command\\":\\"((?:[^"\\]|\\.)*)\\"/),v=x?x[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\").trim():`npx skills add ${e} --skill ${t}`,_={title:u,description:p,whenToUse:m,weeklyInstalls:h,firstSeen:g,installCommand:v};return a.set(r,{loadedAt:Date.now(),data:_}),_}catch{return null}}function h(e){(0,i.getSQLiteDb)().prepare(`INSERT INTO skill_learning_history
|
|
24
|
-
(provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at)
|
|
25
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(e.provider,e.repo,e.skill_id,e.skill_label,e.status,e.command,e.error,e.run_started_at,e.run_completed_at,e.created_at,e.updated_at)}function g(e=50,t){let r=(0,i.getSQLiteDb)(),n=[],s="",a=t?d(t):null;return a&&(s="WHERE provider = ?",n.push(a)),n.push(e),r.prepare(`SELECT id, provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at
|
|
26
|
-
FROM skill_learning_history
|
|
27
|
-
${s}
|
|
28
|
-
ORDER BY updated_at DESC, created_at DESC
|
|
29
|
-
LIMIT ?`).all(...n)}function x(e){let t=(0,i.getSQLiteDb)(),r=[],n="status = 'succeeded'",s=e?d(e):null;return s&&(n+=" AND provider = ?",r.push(s)),t.prepare(`SELECT provider, repo, skill_id, skill_label, MAX(COALESCE(run_completed_at, updated_at, created_at)) AS learned_at
|
|
30
|
-
FROM skill_learning_history
|
|
31
|
-
WHERE ${n}
|
|
32
|
-
GROUP BY provider, repo, skill_id, skill_label
|
|
33
|
-
ORDER BY learned_at DESC`).all(...r)}function v(e){let t=Array.from(new Set(e.providers.map(e=>d(e)).filter(Boolean)));if(0===t.length)return{ok:!1,command:"",stdout:"",stderr:"",results:[],error:"No supported providers selected"};let r=Date.now(),i=[],s="",a="",o="",c=new Map;for(let e of t){let t=u(e);if(!t)continue;let r=c.get(t)??[];r.push(e),c.set(t,r)}for(let[t,d]of c.entries()){let u=["--yes","skills@latest","add",e.repo,"--skill",e.skillId,"--agent",t,"--yes"];o=`npx ${u.join(" ")}`;let c=(0,n.spawnSync)("npx",u,{cwd:process.cwd(),encoding:"utf8",timeout:12e4,env:{...process.env,FORCE_COLOR:"0"}});s=String(c.stdout??""),a=String(c.stderr??"");let p=0===c.status;for(let n of d)i.push({provider:n,ok:p,agent:t}),h({provider:n,repo:e.repo,skill_id:e.skillId,skill_label:e.skillId,status:p?"succeeded":"failed",command:o,error:p?null:l(a||s).slice(0,1e3),run_started_at:r,run_completed_at:Date.now(),created_at:r,updated_at:Date.now()});if(!p)return{ok:!1,command:o,stdout:s,stderr:a,results:i,error:l(a||s)||"Installation failed"}}return{ok:!0,command:o,stdout:s,stderr:a,results:i}}function _(e){let t=Array.from(new Set(e.providers.map(e=>d(e)).filter(Boolean)));if(0===t.length)return{ok:!1,command:"",stdout:"",stderr:"",results:[],error:"No supported providers selected"};let r=Date.now(),i=[],s="",a="",o="",c=new Map;for(let e of t){let t=u(e);if(!t)continue;let r=c.get(t)??[];r.push(e),c.set(t,r)}for(let[t,d]of c.entries()){let u=["--yes","skills@latest","remove",e.skillId,"--agent",t,"--yes"];o=`npx ${u.join(" ")}`;let c=(0,n.spawnSync)("npx",u,{cwd:process.cwd(),encoding:"utf8",timeout:12e4,env:{...process.env,FORCE_COLOR:"0"}});s=String(c.stdout??""),a=String(c.stderr??"");let p=0===c.status;for(let n of d)i.push({provider:n,ok:p,agent:t}),h({provider:n,repo:"local/remove",skill_id:e.skillId,skill_label:e.skillId,status:p?"succeeded":"failed",command:o,error:p?null:l(a||s).slice(0,1e3),run_started_at:r,run_completed_at:Date.now(),created_at:r,updated_at:Date.now()});if(!p)return{ok:!1,command:o,stdout:s,stderr:a,results:i,error:l(a||s)||"Removal failed"}}return{ok:!0,command:o,stdout:s,stderr:a,results:i}}e.s(["fetchSkillDetail",()=>f,"fetchSkillsCatalog",()=>m,"installSkill",()=>v,"installedSkillPath",()=>c,"listAvailableSkills",()=>x,"listInstalledSkillIds",()=>p,"listSkillHistory",()=>g,"removeSkill",()=>_])},149953,e=>{"use strict";var t=e.i(902157),r=e.i(960447),n=e.i(737175);async function i(e){return(0,r.getSQLiteDb)().prepare("SELECT agent_id, repo, skill_id, condition, created_at FROM agent_skill_bindings WHERE agent_id = ? ORDER BY created_at ASC").all(e).map(e=>({repo:e.repo,skillId:e.skill_id,...e.condition?{condition:e.condition}:{}}))}async function s(e,t){let n=(0,r.getSQLiteDb)(),s=new Map;for(let e of t){let t=e.repo.trim(),r=e.skillId.trim();t&&r&&s.set(`${t}::${r}`,{repo:t,skillId:r,condition:e.condition?.trim()||null})}for(let t of(await i(e))){let r=`${t.repo}::${t.skillId}`;s.has(r)||n.prepare("DELETE FROM agent_skill_bindings WHERE agent_id = ? AND repo = ? AND skill_id = ?").run(e,t.repo,t.skillId)}for(let t of s.values())n.prepare(`INSERT INTO agent_skill_bindings (agent_id, repo, skill_id, condition)
|
|
34
|
-
VALUES (?, ?, ?, ?)
|
|
35
|
-
ON CONFLICT(agent_id, repo, skill_id) DO UPDATE SET condition = excluded.condition`).run(e,t.repo,t.skillId,t.condition);return i(e)}function a(e){return e.toLowerCase().replace(/[^a-z0-9]+/g," ").replace(/\s+/g," ").trim()}function l(e){let t=new Set,r=[];for(let n of a(e).split(" "))n.length<4||t.has(n)||(t.add(n),r.push(n));return r}function o(e,r,i){let s=[];for(let o of e){if(!function(e,t){let r=a(t);if(!r)return!1;if((e.condition?e.condition.split(/\n|,|;|\|/g).map(e=>a(e)).filter(e=>e.length>=4):[]).some(e=>r.includes(e)))return!0;let n=e.repo.split("/").filter(Boolean).pop()??e.repo;return[...l(e.skillId),...l(n)].some(e=>r.includes(e))}(o,r))continue;let e=(0,n.installedSkillPath)(o.skillId);(t.default.existsSync(e)||(0,n.installSkill)({repo:o.repo,skillId:o.skillId,providers:[i]}).ok)&&s.push({file:e,...o.condition?{condition:o.condition}:{}})}return s}e.s(["getAgentSkillBindings",()=>i,"resolveBoundSkillFiles",()=>o,"setAgentSkillBindings",()=>s])},384776,e=>{"use strict";var t=e.i(762294),r=e.i(149953),n=e.i(949041);async function i(){let e=await (0,t.getAgents)(n.LOCAL_USER.id),i=new Map,s=new Map;return await Promise.all(e.map(async e=>{i.set(e.id,await (0,t.getAgentSkills)(e.id)),s.set(e.id,await (0,r.getAgentSkillBindings)(e.id))})),e.map(e=>({id:e.id,name:e.name,...e.title?{title:e.title}:{},provider:e.provider||"claude",model:e.model||null,color:e.color||"#6B7280",...e.description?{identity:e.description}:{},...e.voice?{voice:e.voice}:{},...e.seed?{seed:e.seed}:{},...i.get(e.id)?.length?{skills:i.get(e.id).map(e=>({file:e.file,condition:e.condition??""}))}:{},...s.get(e.id)?.length?{skillBindings:s.get(e.id)}:{}}))}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 i=new Set(n),s=e.filter(e=>i.has(e.id));if(n.length>0&&0===s.length)return e;let a=new Map(n.map((e,t)=>[e,t]));return s.sort((e,t)=>(a.get(e.id)??Number.MAX_SAFE_INTEGER)-(a.get(t.id)??Number.MAX_SAFE_INTEGER))}e.s(["filterActiveParticipants",()=>s,"loadDbParticipants",()=>i])},196658,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),i=e.i(759756),s=e.i(561916),a=e.i(174677),l=e.i(869741),o=e.i(316795),d=e.i(487718),u=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),f=e.i(626937),h=e.i(10372),g=e.i(193695);e.i(52474);var x=e.i(600220),v=e.i(89171),_=e.i(442639),k=e.i(384776),y=e.i(914350);async function S(e){try{let t,{threadId:r,rootMessageId:n,activeParticipantIds:i}=await e.json();if(!r||!n)return v.NextResponse.json({error:"threadId and rootMessageId are required"},{status:400});let s=await (0,_.loadHistory)(r),a=s.find(e=>e.id===n);if(!a)return v.NextResponse.json({error:"Root message not found"},{status:404});let l=s.filter(e=>e.rootMessageId===n).sort((e,t)=>e.timestamp-t.timestamp),o=[a,...l],d=await (0,k.loadDbParticipants)(),u=(0,k.filterActiveParticipants)(d,i)[0];if(!u)return v.NextResponse.json({error:"No active agents configured for this project"},{status:400});let c=Object.fromEntries(d.map(e=>[e.id,e])),p=o.map(e=>{let t="user"===e.role?"User":e.participantId?c[e.participantId]?.name||e.participantId:"Assistant";return`${t}: ${e.content}`}).join("\n\n"),m=`Read the following conversation and extract a list of actionable tasks that were discussed. Order them by execution sequence — tasks that others depend on should come first.
|
|
36
|
-
|
|
37
|
-
For each task, provide:
|
|
38
|
-
- "title": a concise title (under 80 characters)
|
|
39
|
-
- "description": a detailed description including all relevant context, requirements, constraints, and acceptance criteria discussed in the thread
|
|
40
|
-
- "depends_on": an array of zero-based indices of other tasks in this list that must be completed before this one can start (e.g. [0, 2] means this task depends on tasks at index 0 and 2). Use an empty array [] if the task has no dependencies.
|
|
41
|
-
|
|
42
|
-
Return ONLY a valid JSON array of objects with "title", "description", and "depends_on" fields. No other text.
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
${p}
|
|
46
|
-
---`,f="";await (0,y.runCliResponse)({provider:u.provider,model:u.model,prompt:m,identity:u.identity,onDelta:e=>{f+=e}});let h=f=f.trim(),g=f.match(/```(?:json)?\s*([\s\S]*?)```/);g&&(h=g[1].trim());try{if(t=JSON.parse(h),!Array.isArray(t))throw Error("Not an array")}catch{return v.NextResponse.json({error:"Failed to parse tasks from LLM response",raw:f},{status:500})}let x=t.filter(e=>e.title&&e.description).slice(0,20),S=x.map(()=>crypto.randomUUID()),w=x.map((e,t)=>({id:S[t],title:e.title.slice(0,200),description:e.description,dependsOn:(e.depends_on||[]).filter(e=>e>=0&&e<x.length&&e!==t).map(e=>S[e])}));return v.NextResponse.json({ok:!0,tasks:w})}catch(e){return console.error("Task extraction error:",e),v.NextResponse.json({error:e instanceof Error?e.message:"Unknown error"},{status:500})}}e.s(["POST",()=>S],742405);var w=e.i(742405);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/extract/route",pathname:"/api/tasks/extract",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/tasks/extract/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:b,workUnitAsyncStorage:R,serverHooks:A}=E;function L(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:R})}async function C(e,t,n){E.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/tasks/extract/route";v=v.replace(/\/index$/,"")||"/";let _=await E.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:k,params:y,nextConfig:S,parsedUrl:w,isDraftMode:b,prerenderManifest:R,routerServerContext:A,isOnDemandRevalidate:L,revalidateOnlyGenerated:C,resolvedPathname:I,clientReferenceManifest:O,serverActionsManifest:$}=_,D=(0,l.normalizeAppPath)(v),N=!!(R.dynamicRoutes[D]||R.routes[I]),T=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,w,!1):t.end("This page could not be found"),null);if(N&&!b){let e=!!R.routes[I],t=R.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await T();throw new g.NoFallbackError}}let j=null;!N||E.isDev||b||(j="/index"===(j=I)?"/":j);let P=!0===E.isDev||!N,q=N&&!P;$&&O&&(0,a.setManifestsSingleton)({page:v,clientReferenceManifest:O,serverActionsManifest:$});let M=e.method||"GET",U=(0,s.getTracer)(),F=U.getActiveScopeSpan(),B={params:y,prerenderManifest:R,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:P,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,i)=>E.onRequestError(e,t,n,i,A)},sharedContext:{buildId:k}},H=new o.NodeNextRequest(e),G=new o.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(H,(0,d.signalFromNodeResponse)(t));try{let a=async e=>E.handle(K,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),o=async i=>{var s,o;let d=async({previousCacheEntry:r})=>{try{if(!l&&L&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await a(i);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let d=B.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(H,G,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,n=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:L})},!1,A),t}},u=await E.handleResponse({req:e,nextConfig:S,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:L,revalidateOnlyGenerated:C,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:l});if(!N)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",L?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return l&&N||g.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(H,G,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};F?await o(F):await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o))}catch(t){if(t instanceof g.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:L})},!1,A),N)throw t;return await (0,p.sendResponse)(H,G,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>L,"routeModule",()=>E,"serverHooks",()=>A,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>R],196658)},318801,e=>{e.v(e=>Promise.resolve().then(()=>e(960447)))}];
|
|
47
|
-
|
|
48
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__8d205f82._.js.map
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
module.exports=[522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},942969,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let n=Object.values(r);return n.length>0?n[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function n(e,t){e.exec(`PRAGMA ${t}`)}function s(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function i(e,t){return(...r)=>{e.exec("BEGIN");try{let n=t(...r);return e.exec("COMMIT"),n}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>n,"transaction",()=>s,"transactionFn",()=>i])},828237,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(942969);e.i(522734);var r=e.i(446786),n=e.i(814747);let s="3.35.0",i=["json1"],l=["fts5"],a=["nfs","smb","cifs","efs","fuse.sshfs"];function o(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function u(u,c){let d=[],p=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}(p.v,s)&&d.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${s}`,found:p.v,required:`>= ${s}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),i))o(u,e)||d.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 l)o(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let s=n.default.resolve(t),{execSync:i}=e.r(233405);if("darwin"===r.default.platform()){let e=i(`df -T "${s}" 2>/dev/null || df "${s}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(c);m&&a.some(e=>m.toLowerCase().includes(e))&&d.push({kind:"filesystem_error",message:`Database path '${c}' is on a network filesystem (${m})`,path:c,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(u,"journal_mode = wal"),(0,t.pragmaSet)(u,"foreign_keys = 1"),(0,t.pragmaSet)(u,"busy_timeout = 5000"),(0,t.pragmaSet)(u,"synchronous = 1"),(0,t.pragmaSet)(u,"cache_size = -64000");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(u,"journal_mode = DELETE");let e=(0,t.pragmaGet)(u,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(u,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):d.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){d.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 d}e.s(["validateSQLiteEnvironment",()=>u])},157306,e=>{"use strict";var t=e.i(522734),r=e.i(446786),n=e.i(814747);let s=process.env.AGX_DATA_DIR||n.default.join(r.default.homedir(),".agx"),i=process.env.AGX_DEBUG_LOG_PATH||n.default.join(s,"logs","desktop-chat-debug.log");function l(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 a(e,r){try{t.default.mkdirSync(n.default.dirname(i),{recursive:!0});let s=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},l);t.default.appendFileSync(i,`${s}
|
|
2
|
-
`,"utf8")}catch{}}e.s(["writeDebugLog",()=>a])},390107,e=>{"use strict";let t;var r=e.i(233405),n=e.i(522734),s=e.i(814747),i=e.i(157306);function l(){return process.env.SHELL?.trim()||"/bin/bash"}function a(e){try{if(!/^[A-Za-z0-9._-]+$/.test(e))return!1;let t=l();return 0===(0,r.spawnSync)(t,["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8",timeout:5e3}).status}catch{return!1}}let o=e=>"string"==typeof e&&e.trim().length>0,u=e=>({push:e,flush:()=>{}}),c=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"&&o(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&o(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=""}}},d=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"&&o(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=""}}},p=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"&&o(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"&&o(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&o(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=""}}},m=e=>{let t="",r=!1,n=[/^Thinking\.\.\./,/^<think>/i],s=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{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 i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},f=new Set(["claude","gemini","ollama","codex"]);function h({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}
|
|
6
|
-
|
|
7
|
-
${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",n?`${n}
|
|
8
|
-
|
|
9
|
-
${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(n?`${n}
|
|
10
|
-
|
|
11
|
-
${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}}function g(){let e=process.env.AGX_CLI_PATH?.trim();if(e&&n.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(n.default.existsSync(e))return e;return null}function x({provider:e,model:t,prompt:r,systemPrompt:n,passthroughArgs:s},i={}){let l=i.commandExists??a,o=void 0===i.bundledCliPath?g():i.bundledCliPath,u=[],c=n?`${n}
|
|
12
|
-
|
|
13
|
-
${r}`:r;if(f.has(e)){let i=function({provider:e,model:t,prompt:r,cliPath:n,passthroughArgs:s}){let i=void 0===n?g():n;if(!i)return null;let l=[i,e,"-y","--print","--prompt",r];return t&&l.push("--model",t),s&&s.length>0&&l.push("--",...s),{command:process.execPath,args:l,parser:"raw"}}({provider:e,model:t,prompt:c,cliPath:o,passthroughArgs:s});i&&u.push(i),l("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:c,passthroughArgs:s}));let a=h({provider:e,model:t,prompt:r,systemPrompt:n});return a&&l(a.command)&&u.push(a),u}let d=h({provider:e,model:t,prompt:r,systemPrompt:n});return d&&l(d.command)&&u.push(d),u}async function y({command:e,args:n,timeoutMs:s,signal:a,onDelta:o,onLog:u,onSpawn:c,env:d}){await new Promise((p,m)=>{let f;(0,i.writeDebugLog)("cli-runner.spawn",{command:e,args:n,timeoutMs:s,bundledCliPath:g(),isElectron:process.env.AGX_ELECTRON||null}),u&&u("stderr",`$ ${e} ${n.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
|
|
14
|
-
`);let h=(0,r.spawn)(e,n,{stdio:["ignore","pipe","pipe"],env:(f=function(){if(void 0!==t)return t;try{let e=l(),n=(0,r.spawnSync)(e,["-lc",'printf %s "$PATH"'],{encoding:"utf8",timeout:5e3});t=(0===n.status?n.stdout.trim():"")||null}catch{t=null}return t}(),{...process.env,...f?{PATH:f}:{},CLAUDECODE:void 0,...d})}),x=!1,y="",v=!1,L=e=>{x||(x=!0,clearTimeout(_),a&&a.removeEventListener("abort",b),e?m(e):p())},b=()=>{(0,i.writeDebugLog)("cli-runner.abort",{command:e,args:n,pid:h.pid??null}),h.kill("SIGTERM"),L(Error("Chat request aborted."))};a&&a.addEventListener("abort",b,{once:!0}),c&&h.pid&&c(h.pid),(0,i.writeDebugLog)("cli-runner.spawned",{command:e,args:n,pid:h.pid??null});let _=setTimeout(()=>{v=!0,(0,i.writeDebugLog)("cli-runner.timeout",{command:e,args:n,pid:h.pid??null,timeoutMs:s}),h.kill("SIGKILL"),L(Error(`CLI request timed out after ${s}ms.`))},s);h.stdout.on("data",e=>{let t=e.toString();y+=t,o(t),u&&u("stdout",t)}),h.stderr.on("data",e=>{let t=e.toString();y+=t,u&&u("stderr",t)}),h.on("error",t=>{(0,i.writeDebugLog)("cli-runner.process_error",{command:e,args:n,pid:h.pid??null,error:t}),L(t)}),h.on("close",(t,r)=>{if(!x&&!v){if((0,i.writeDebugLog)("cli-runner.close",{command:e,args:n,pid:h.pid??null,code:t??null,signal:r??null}),0===t)return void L();L(Error(`CLI command failed (exit=${t??"unknown"} signal=${r??"none"}).${y.trim()?` ${y.trim()}`:""}`))}})})}async function v({provider:e,model:t,prompt:r,identity:n,self:s,skills:l,systemContext:a,passthroughArgs:o,signal:f,onDelta:h,onLog:v,onSpawn:L}){let b,_,w,E,S=(b=!1,_=!1,w="",E=/^(?:```|~~~|#{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")&&!b?(b=!0,"\n"):"";let r=b?t.replace(/^\n+/,"\n"):t,n=r.trimStart(),s=E.test(n),i=_&&s&&!b,l=_&&!b&&!i&&!/^\s/.test(r)&&/[.!?)]/.test(w)&&/^[A-Z0-9`(]/.test(r),a=i?`
|
|
15
|
-
|
|
16
|
-
${r}`:l?`
|
|
17
|
-
${r}`:r;b=a.endsWith("\n"),_=_||a.trim().length>0;let o=a.replace(/\s+$/g,"");return o.length>0&&(w=o[o.length-1]??w),a}),$=e=>{let t=S(e);t&&h(t)},A=[];a&&A.push(a),n&&A.push(`<identity>
|
|
18
|
-
${n}
|
|
19
|
-
</identity>`),s&&A.push(`<self>
|
|
20
|
-
${s}
|
|
21
|
-
</self>`),l&&A.push(`<skills>
|
|
22
|
-
${l}
|
|
23
|
-
</skills>`);let j=x({provider:e,model:t,prompt:r,systemPrompt:A.length>0?A.join("\n\n"):void 0,passthroughArgs:o});if(0===j.length)throw(0,i.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:g(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let C=null;for(let r of j){(0,i.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let n="claude-stream-json"===r.parser?c($):"codex-json"===r.parser?p($):"gemini-stream-json"===r.parser?d($):u($),s=r.filterThoughts?m(n):n;try{await y({command:r.command,args:r.args,timeoutMs:18e5,signal:f,onDelta:s.push,onLog:v,onSpawn:L,env:r.env}),s.flush(),(0,i.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(n){C=n instanceof Error?n:Error(String(n)),(0,i.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:C})}}throw C||Error("CLI execution failed.")}e.s(["buildCliAttempts",()=>x,"runCliResponse",()=>v],390107)},548207,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__255b11f2._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(t=>e.l(t))).then(()=>t(965196)))}];
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__a7e0ac67._.js.map
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
module.exports=[193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},423502,(e,t,r)=>{},841897,e=>{"use strict";e.i(423502);var t=e.i(902157),r=e.i(750227);function n(){return r.default.join(process.cwd(),".linear-token.json")}function a(e){(0,t.writeFileSync)(n(),JSON.stringify(e,null,2))}function s(){try{(0,t.unlinkSync)(n())}catch{}}class i{accessToken;constructor(e){this.accessToken=e}get viewer(){return this.request("query { viewer { id name email } }").then(e=>e.viewer)}async users(){return(await this.request(`query {
|
|
2
|
-
users(first: 100) {
|
|
3
|
-
nodes {
|
|
4
|
-
id
|
|
5
|
-
name
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
}`)).users.nodes.filter(e=>e.name.trim().length>0).map(e=>({id:e.id,name:e.name})).sort((e,t)=>e.name.localeCompare(t.name))}async teams(){return(await this.request(`query {
|
|
9
|
-
teams(first: 50) {
|
|
10
|
-
nodes {
|
|
11
|
-
id
|
|
12
|
-
name
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}`)).teams.nodes.filter(e=>e.name.trim().length>0).map(e=>({id:e.id,name:e.name})).sort((e,t)=>e.name.localeCompare(t.name))}async issues(e){let t,r=(t=[`first: ${e.first}`],e.after&&t.push(`after: ${JSON.stringify(e.after)}`),e.orderBy&&t.push(`orderBy: ${e.orderBy}`),e.filter&&Object.keys(e.filter).length>0&&t.push(`filter: ${function e(t){if(null===t)return"null";if(Array.isArray(t))return`[${t.map(e).join(", ")}]`;if("string"==typeof t)return JSON.stringify(t);if("number"==typeof t||"boolean"==typeof t)return String(t);if("object"==typeof t){let r=Object.entries(t).filter(([,e])=>void 0!==e);return`{ ${r.map(([t,r])=>`${t}: ${e(r)}`).join(", ")} }`}throw Error(`Unsupported GraphQL value: ${typeof t}`)}(e.filter)}`),t.join(", ")),n=await this.request(`query {
|
|
16
|
-
issues(${r}) {
|
|
17
|
-
nodes {
|
|
18
|
-
id
|
|
19
|
-
identifier
|
|
20
|
-
title
|
|
21
|
-
description
|
|
22
|
-
url
|
|
23
|
-
updatedAt
|
|
24
|
-
state { name }
|
|
25
|
-
assignee { id name email }
|
|
26
|
-
team { id name key }
|
|
27
|
-
cycle { id number name }
|
|
28
|
-
}
|
|
29
|
-
pageInfo {
|
|
30
|
-
hasNextPage
|
|
31
|
-
endCursor
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}`);return{nodes:n.issues.nodes.map(e=>({id:e.id,identifier:e.identifier,title:e.title,description:e.description,url:e.url,updatedAt:e.updatedAt,state:Promise.resolve(e.state),assignee:Promise.resolve(e.assignee),team:Promise.resolve(e.team),cycle:Promise.resolve(e.cycle)})),pageInfo:n.issues.pageInfo}}async cycles(){let e=await this.request(`query {
|
|
35
|
-
teams(first: 50) {
|
|
36
|
-
nodes {
|
|
37
|
-
id
|
|
38
|
-
name
|
|
39
|
-
activeCycle {
|
|
40
|
-
id
|
|
41
|
-
number
|
|
42
|
-
name
|
|
43
|
-
startsAt
|
|
44
|
-
endsAt
|
|
45
|
-
team {
|
|
46
|
-
id
|
|
47
|
-
name
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
cycles(first: 20) {
|
|
51
|
-
nodes {
|
|
52
|
-
id
|
|
53
|
-
number
|
|
54
|
-
name
|
|
55
|
-
startsAt
|
|
56
|
-
endsAt
|
|
57
|
-
team {
|
|
58
|
-
id
|
|
59
|
-
name
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}`),t=new Map;for(let r of e.teams.nodes)for(let e of[...r.activeCycle?[r.activeCycle]:[],...r.cycles.nodes])t.has(e.id)||t.set(e.id,{id:e.id,number:e.number,name:e.name,startsAt:e.startsAt,endsAt:e.endsAt,teamId:e.team?.id??r.id,teamName:e.team?.name??r.name});return[...t.values()].sort((e,t)=>new Date(t.startsAt).getTime()-new Date(e.startsAt).getTime())}async request(e){let t=await fetch("https://api.linear.app/graphql",{method:"POST",headers:{"Content-Type":"application/json",Authorization:this.accessToken},body:JSON.stringify({query:e}),cache:"no-store"}),r=await t.json();if(!t.ok||r.errors?.length)throw Error(r.errors?.map(e=>e.message).find(Boolean)??`Linear request failed with status ${t.status}`);if(!r.data)throw Error("Linear response did not include data");return r.data}}function o(){let e=function(){try{let e=(0,t.readFileSync)(n(),"utf8");return JSON.parse(e)}catch{return null}}();return e?new i(e.accessToken):null}e.s(["LinearClient",()=>i,"deleteLinearToken",()=>s,"getLinearClient",()=>o,"saveLinearToken",()=>a])},416498,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),d=e.i(487718),u=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),f=e.i(626937),h=e.i(10372),y=e.i(193695);e.i(52474);var g=e.i(600220),x=e.i(89171),v=e.i(841897);async function w(){let e=(0,v.getLinearClient)();if(!e)return x.NextResponse.json({error:"Not connected"},{status:401});try{let t=await e.cycles();return x.NextResponse.json({cycles:t})}catch(e){return x.NextResponse.json({error:e.message??"Failed to fetch cycles"},{status:500})}}e.s(["GET",()=>w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],456194);var R=e.i(456194);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/linear/cycles/route",pathname:"/api/linear/cycles",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/linear/cycles/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:C,workUnitAsyncStorage:E,serverHooks:b}=A;function T(){return(0,n.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:E})}async function q(e,t,n){A.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/linear/cycles/route";x=x.replace(/\/index$/,"")||"/";let v=await A.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,params:R,nextConfig:C,parsedUrl:E,isDraftMode:b,prerenderManifest:T,routerServerContext:q,isOnDemandRevalidate:N,revalidateOnlyGenerated:k,resolvedPathname:j,clientReferenceManifest:O,serverActionsManifest:P}=v,S=(0,o.normalizeAppPath)(x),$=!!(T.dynamicRoutes[S]||T.routes[j]),_=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,E,!1):t.end("This page could not be found"),null);if($&&!b){let e=!!T.routes[j],t=T.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await _();throw new y.NoFallbackError}}let I=null;!$||A.isDev||b||(I="/index"===(I=j)?"/":I);let H=!0===A.isDev||!$,U=$&&!H;P&&O&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:O,serverActionsManifest:P});let D=e.method||"GET",L=(0,s.getTracer)(),M=L.getActiveScopeSpan(),F={params:R,prerenderManifest:T,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>A.onRequestError(e,t,n,a,q)},sharedContext:{buildId:w}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let i=async e=>A.handle(G,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${x}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!o&&N&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=F.renderOpts.collectedTags;if(!$)return await (0,p.sendResponse)(B,K,s,F.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,q),t}},u=await A.handleResponse({req:e,nextConfig:C,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:k,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:o});if(!$)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",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let y=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return o&&$||y.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||y.get("Cache-Control")||y.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(B,K,new Response(u.value.body,{headers:y,status:u.value.status||200})),null};M?await l(M):await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${D} ${x}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l))}catch(t){if(t instanceof y.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,q),$)throw t;return await (0,p.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>q,"patchFetch",()=>T,"routeModule",()=>A,"serverHooks",()=>b,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>E],416498)}];
|
|
66
|
-
|
|
67
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__ad6d6402._.js.map
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let n=Object.values(r);return n.length>0?n[0]:void 0}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function n(e,t){e.exec(`PRAGMA ${t}`)}function o(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function i(e,t){return(...r)=>{e.exec("BEGIN");try{let n=t(...r);return e.exec("COMMIT"),n}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>n,"transaction",()=>o,"transactionFn",()=>i])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),n=e.i(814747);let o="3.35.0",i=["json1"],a=["fts5"],s=["nfs","smb","cifs","efs","fuse.sshfs"];function c(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}function l(l,u){let d=[],p=l.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}(p.v,o)&&d.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${o}`,found:p.v,required:`>= ${o}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),i))c(l,e)||d.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 a)c(l,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let o=n.default.resolve(t),{execSync:i}=e.r(233405);if("darwin"===r.default.platform()){let e=i(`df -T "${o}" 2>/dev/null || df "${o}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(u);m&&s.some(e=>m.toLowerCase().includes(e))&&d.push({kind:"filesystem_error",message:`Database path '${u}' is on a network filesystem (${m})`,path:u,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(l,"journal_mode = wal"),(0,t.pragmaSet)(l,"foreign_keys = 1"),(0,t.pragmaSet)(l,"busy_timeout = 5000"),(0,t.pragmaSet)(l,"synchronous = 1"),(0,t.pragmaSet)(l,"cache_size = -64000");let e=(0,t.pragmaGet)(l,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(l,"journal_mode = DELETE");let e=(0,t.pragmaGet)(l,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(l,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):d.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){d.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 d}e.s(["validateSQLiteEnvironment",()=>l])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},457431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(960447);return t()}e.i(949041),e.s(["createAdminDbClient",()=>t])},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},579042,e=>{"use strict";e.s(["DEFAULT_EXECUTION_POLICY",0,{replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:18e5,graphTimeoutMs:864e5},"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},37269,e=>{"use strict";var t=e.i(522734),r=e.i(446786),n=e.i(814747);let o=process.env.AGX_DATA_DIR||n.default.join(r.default.homedir(),".agx"),i=process.env.AGX_DEBUG_LOG_PATH||n.default.join(o,"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 c(e,r){try{t.default.mkdirSync(n.default.dirname(i),{recursive:!0});let o=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},a);t.default.appendFileSync(i,`${o}
|
|
2
|
-
`,"utf8")}catch{}}e.s(["getDebugLogPath",()=>s,"writeDebugLog",()=>c])},701435,e=>{"use strict";let t;var r=e.i(233405);function n(){return process.env.SHELL?.trim()||"/bin/bash"}function o(e){let o=function(){if(void 0!==t)return t;try{let e=n(),o=(0,r.spawnSync)(e,["-lc",'printf %s "$PATH"'],{encoding:"utf8",timeout:5e3});t=(0===o.status?o.stdout.trim():"")||null}catch{t=null}return t}();return{...process.env,...o?{PATH:o}:{},CLAUDECODE:void 0,...e}}function i(e){try{if(!/^[A-Za-z0-9._-]+$/.test(e))return!1;let t=n();return 0===(0,r.spawnSync)(t,["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8",timeout:5e3}).status}catch{return!1}}e.s(["buildSpawnEnv",()=>o,"commandExists",()=>i])},914350,e=>{"use strict";var t=e.i(233405),r=e.i(522734),n=e.i(814747),o=e.i(37269),i=e.i(701435);let a=e=>"string"==typeof e&&e.trim().length>0,s=e=>({push:e,flush:()=>{}}),c=e=>{let t="",r=0,n=!1,o=t=>{let o=t.trim();if(o)try{let t=JSON.parse(o);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;o(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&o(t),t=""}}},l=e=>{let t="",r=!1,n="",o=t=>{let o=t.trim();if(o)try{let t=JSON.parse(o);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;o(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&o(t),t=""}}},u=e=>{let t="",r=!1,n=new Set,o=t=>{let o=t.trim();if(o)try{let t=JSON.parse(o);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;o(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&o(t),t=""}}},d=e=>{let t="",r=!1,n=[/^Thinking\.\.\./,/^<think>/i],o=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(r){let e=-1,n=0;for(let r of o){let o=t.match(r);o&&void 0!==o.index&&(o.index,o[0].length,(-1===e||o.index<e)&&(e=o.index,n=o[0].length))}if(-1!==e){t=t.slice(e+n),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let o of n){let n=t.match(o);if(n&&void 0!==n.index){let o=t.slice(0,n.index);o&&e.push(o),t=t.slice(n.index+n[0].length),r=!0;break}}if(r)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},p=new Set(["claude","gemini","ollama","codex"]);function m({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}
|
|
6
|
-
|
|
7
|
-
${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",n?`${n}
|
|
8
|
-
|
|
9
|
-
${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(n?`${n}
|
|
10
|
-
|
|
11
|
-
${r}`:r),{command:"codex",args:e,parser:"codex-json"}}case"zai":{let e=process.env.ZAI_API_KEY?.trim(),o=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&o.push("--model",t),n&&o.push("--system-prompt",n),o.push(r),{command:"claude",args:o,parser:"claude-stream-json",env:{ANTHROPIC_BASE_URL:"https://api.z.ai/api/anthropic",...e?{ANTHROPIC_AUTH_TOKEN:e}:{}}}}default:return null}}function g(){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 h({provider:e,model:t,prompt:r,systemPrompt:n,passthroughArgs:o},a={}){let s=a.commandExists??i.commandExists,c=void 0===a.bundledCliPath?g():a.bundledCliPath,l=[],u=n?`${n}
|
|
12
|
-
|
|
13
|
-
${r}`:r;if(p.has(e)){let i=function({provider:e,model:t,prompt:r,cliPath:n,passthroughArgs:o}){let i=void 0===n?g():n;if(!i)return null;let a=[i,e,"-y","--print","--prompt",r];return t&&a.push("--model",t),o&&o.length>0&&a.push("--",...o),{command:process.execPath,args:a,parser:"raw"}}({provider:e,model:t,prompt:u,cliPath:c,passthroughArgs:o});i&&l.push(i),s("agx")&&l.push(function({provider:e,model:t,prompt:r,passthroughArgs:n}){let o=[e,"-y","--print","--prompt",r];return t&&o.push("--model",t),n&&n.length>0&&o.push("--",...n),{command:"agx",args:o,parser:"raw"}}({provider:e,model:t,prompt:u,passthroughArgs:o}));let a=m({provider:e,model:t,prompt:r,systemPrompt:n});return a&&s(a.command)&&l.push(a),l}let d=m({provider:e,model:t,prompt:r,systemPrompt:n});return d&&s(d.command)&&l.push(d),l}async function f({command:e,args:r,timeoutMs:n,signal:a,onDelta:s,onLog:c,onSpawn:l,env:u}){await new Promise((d,p)=>{(0,o.writeDebugLog)("cli-runner.spawn",{command:e,args:r,timeoutMs:n,bundledCliPath:g(),isElectron:process.env.AGX_ELECTRON||null}),c&&c("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
|
|
14
|
-
`);let m=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:(0,i.buildSpawnEnv)(u)}),h=!1,f="",_=!1,x=e=>{h||(h=!0,clearTimeout(E),a&&a.removeEventListener("abort",y),e?p(e):d())},y=()=>{(0,o.writeDebugLog)("cli-runner.abort",{command:e,args:r,pid:m.pid??null}),m.kill("SIGTERM"),x(Error("Chat request aborted."))};a&&a.addEventListener("abort",y,{once:!0}),l&&m.pid&&l(m.pid),(0,o.writeDebugLog)("cli-runner.spawned",{command:e,args:r,pid:m.pid??null});let E=setTimeout(()=>{_=!0,(0,o.writeDebugLog)("cli-runner.timeout",{command:e,args:r,pid:m.pid??null,timeoutMs:n}),m.kill("SIGKILL"),x(Error(`CLI request timed out after ${n}ms.`))},n);m.stdout.on("data",e=>{let t=e.toString();f+=t,s(t),c&&c("stdout",t)}),m.stderr.on("data",e=>{let t=e.toString();f+=t,c&&c("stderr",t)}),m.on("error",t=>{(0,o.writeDebugLog)("cli-runner.process_error",{command:e,args:r,pid:m.pid??null,error:t}),x(t)}),m.on("close",(t,n)=>{if(!h&&!_){if((0,o.writeDebugLog)("cli-runner.close",{command:e,args:r,pid:m.pid??null,code:t??null,signal:n??null}),0===t)return void x();x(Error(`CLI command failed (exit=${t??"unknown"} signal=${n??"none"}).${f.trim()?` ${f.trim()}`:""}`))}})})}async function _({provider:e,model:t,prompt:r,identity:n,self:i,skills:a,systemContext:p,passthroughArgs:m,signal:_,onDelta:x,onLog:y,onSpawn:E}){let b,v,A,R,S=(b=!1,v=!1,A="",R=/^(?:```|~~~|#{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")&&!b?(b=!0,"\n"):"";let r=b?t.replace(/^\n+/,"\n"):t,n=r.trimStart(),o=R.test(n),i=v&&o&&!b,a=v&&!b&&!i&&!/^\s/.test(r)&&/[.!?)]/.test(A)&&/^[A-Z0-9`(]/.test(r),s=i?`
|
|
15
|
-
|
|
16
|
-
${r}`:a?`
|
|
17
|
-
${r}`:r;b=s.endsWith("\n"),v=v||s.trim().length>0;let c=s.replace(/\s+$/g,"");return c.length>0&&(A=c[c.length-1]??A),s}),L=e=>{let t=S(e);t&&x(t)},T=[];p&&T.push(p),n&&T.push(`<identity>
|
|
18
|
-
${n}
|
|
19
|
-
</identity>`),i&&T.push(`<self>
|
|
20
|
-
${i}
|
|
21
|
-
</self>`),a&&T.push(`<skills>
|
|
22
|
-
${a}
|
|
23
|
-
</skills>`);let j=h({provider:e,model:t,prompt:r,systemPrompt:T.length>0?T.join("\n\n"):void 0,passthroughArgs:m});if(0===j.length)throw(0,o.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:g(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let I=null;for(let r of j){(0,o.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let n="claude-stream-json"===r.parser?c(L):"codex-json"===r.parser?u(L):"gemini-stream-json"===r.parser?l(L):s(L),i=r.filterThoughts?d(n):n;try{await f({command:r.command,args:r.args,timeoutMs:18e5,signal:_,onDelta:i.push,onLog:y,onSpawn:E,env:r.env}),i.flush(),(0,o.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(n){I=n instanceof Error?n:Error(String(n)),(0,o.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:I})}}throw I||Error("CLI execution failed.")}e.s(["buildCliAttempts",()=>h,"runCliResponse",()=>_],914350)},338479,e=>{"use strict";var t=e.i(254799);e.i(201037);var r=e.i(200866),n=e.i(434542),o=e.i(300248);function i(e){return{id:e.id,name:e.name,prompt:e.prompt,agentId:e.agent_id||"",projectId:e.project_id||"",provider:e.provider||e.cli||"claude",model:e.model||"",cliArgs:e.cli_args||"",cronExpr:e.cron_expr,cadence:e.cadence,state:e.state,overlapPolicy:e.overlap_policy,catchUpPolicy:e.catch_up_policy||"fire_once",cancelCheckSec:e.cancel_check_sec,triggerType:e.trigger_type||"scheduled",condition:e.condition||"",checkEveryMs:e.check_every_ms||3e5,nextRunAt:e.next_run_at,lastRunAt:e.last_run_at,lastOutcome:e.last_outcome,createdAt:e.created_at,updatedAt:e.updated_at}}function a(e){return{id:e.id,jobId:e.job_id,status:e.status,output:e.output,error:e.error,durationMs:e.duration_ms,startedAt:e.started_at,finishedAt:e.finished_at,cancelledAt:e.cancelled_at,createdAt:e.created_at}}function s(e){return Object.values(e).some(e=>void 0!==e)}class c{db;automationRepository;constructor(e,t){this.db=e,this.automationRepository=t}getAutomationRepo(){return this.automationRepository??=(0,n.getAutomationRepository)(),this.automationRepository}createJob(e){if(!(0,n.isAutomationFrontmatterEnabled)())return this.createLegacyJob(e);let o=(0,t.randomUUID)(),i=new Date().toISOString(),a=this.getAutomationRepo().createAutomation({id:o,name:e.name,...e.projectId?{projectId:e.projectId}:{},state:"active",trigger:(e.triggerType??"scheduled")==="condition"?{type:"condition",condition:e.condition??"",checkEveryMs:e.checkEveryMs??3e5}:{type:"scheduled",...e.cadence?{cadence:e.cadence}:{},...e.cronExpr?{cronExpr:e.cronExpr}:{}},execution:{overlapPolicy:e.overlapPolicy,catchUpPolicy:e.catchUpPolicy,cancelCheckSec:e.cancelCheckSec},target:{type:"prompt_job",...e.agentId?{agentId:e.agentId}:{},...e.provider?{provider:e.provider}:{},...e.model?{model:e.model}:{},...void 0!==e.cliArgs?{cliArgs:e.cliArgs}:{}},createdAt:i,body:e.prompt}),s=(0,r.automationRecordToPromptJob)(a);return this.upsertLegacyJobRow(s),s}getJob(e){if(!(0,n.isAutomationFrontmatterEnabled)())return this.getLegacyJob(e);let t=this.getAutomationRepo().getAutomation(e);if(t?.definition.target.type==="prompt_job"){let e=(0,r.automationRecordToPromptJob)(t);return this.ensureLegacyJobRow(e),e}return(0,n.isAutomationDualReadEnabled)()?this.getLegacyJob(e):null}listJobs(e){if(!(0,n.isAutomationFrontmatterEnabled)())return this.listLegacyJobs(e);let t=new Map;for(let n of this.getAutomationRepo().listVisibleAutomations({targetType:"prompt_job",...e?.state?{state:e.state}:{},...e?.projectId?{projectId:e.projectId}:{}})){let e=(0,r.automationRecordToPromptJob)(n);t.set(e.id,e),this.ensureLegacyJobRow(e)}if((0,n.isAutomationDualReadEnabled)())for(let r of this.listLegacyJobs(e))t.has(r.id)||t.set(r.id,r);return[...t.values()].sort((e,t)=>{let r=Date.parse(e.createdAt);return Date.parse(t.createdAt)-r})}updateJob(e,t){if(!(0,n.isAutomationFrontmatterEnabled)())return this.updateLegacyJob(e,t);let o=this.getPromptJobRecord(e,!0);if(!o)return null;let i=this.buildDefinitionPatch(o,t);if(s(i)){let t=this.getAutomationRepo().updateAutomation(e,i);if(!t)return null;o=t}let a=this.buildStatePatch(t);if(s(a)){let t=this.getAutomationRepo().updateAutomationState(e,a);if(!t)return null;o=t}let c=(0,r.automationRecordToPromptJob)(o);return this.upsertLegacyJobRow(c),c}deleteJob(e){(0,n.isAutomationFrontmatterEnabled)()&&this.getAutomationRepo().deleteAutomation(e),this.db.prepare("DELETE FROM prompt_jobs WHERE id = ?").run(e)}getDueJobs(e=Date.now()){if(!(0,n.isAutomationFrontmatterEnabled)())return this.getLegacyDueJobs(e);let t=new Map;for(let n of this.getAutomationRepo().listDueAutomations(e,{targetType:"prompt_job"})){let e=(0,r.automationRecordToPromptJob)(n);t.set(e.id,e),this.ensureLegacyJobRow(e)}if((0,n.isAutomationDualReadEnabled)())for(let r of this.getLegacyDueJobs(e))t.has(r.id)||t.set(r.id,r);return[...t.values()].sort((e,t)=>(e.nextRunAt??Number.MAX_SAFE_INTEGER)-(t.nextRunAt??Number.MAX_SAFE_INTEGER))}createRun(e){this.ensureLegacyJobRowById(e);let r=(0,t.randomUUID)();return this.db.prepare("INSERT INTO prompt_runs (id, job_id) VALUES (?, ?)").run(r,e),this.getRun(r)}getRun(e){let t=this.db.prepare("SELECT * FROM prompt_runs WHERE id = ?").get(e);return t?a(t):null}listRuns(e,t=50){return this.db.prepare("SELECT * FROM prompt_runs WHERE job_id = ? ORDER BY created_at DESC LIMIT ?").all(e,t).map(a)}updateRun(e,t){let r={status:"status",output:"output",error:"error",durationMs:"duration_ms",startedAt:"started_at",finishedAt:"finished_at",cancelledAt:"cancelled_at"},n=[],o=[];for(let[e,i]of Object.entries(t)){let t=r[e];t&&(n.push(`${t} = ?`),o.push(i??null))}return 0===n.length||(o.push(e),this.db.prepare(`UPDATE prompt_runs SET ${n.join(", ")} WHERE id = ?`).run(...o.map(e=>e))),this.getRun(e)}hasRunningRun(e){return void 0!==this.db.prepare("SELECT id FROM prompt_runs WHERE job_id = ? AND status IN ('queued', 'running') LIMIT 1").get(e)}isRunCancelled(e){let t=this.db.prepare("SELECT status FROM prompt_runs WHERE id = ?").get(e);return t?.status==="cancelled"}getPromptJobRecord(e,t){let r=this.getAutomationRepo().getAutomation(e);if(r?.definition.target.type==="prompt_job")return r;if(!t||!(0,n.isAutomationDualReadEnabled)())return null;let o=this.getLegacyJob(e);return o?this.materializeLegacyJob(o):null}materializeLegacyJob(e){let t=(0,r.promptJobToAutomationDefinition)(e),n=(0,r.promptJobToAutomationRuntimeState)(e),o=this.getAutomationRepo().upsertAutomation(t);return this.getAutomationRepo().updateAutomationState(e.id,{nextRunAt:n.nextRunAt,lastRunAt:n.lastRunAt,lastOutcome:n.lastOutcome,lastError:n.lastError,updatedAt:n.updatedAt})??o}buildDefinitionPatch(e,t){let r={},n={},o={},i={};if(void 0!==t.name&&(r.name=t.name),void 0!==t.projectId&&(r.projectId=t.projectId||null),void 0!==t.state&&(r.state=t.state),void 0!==t.prompt&&(r.body=t.prompt),void 0!==t.triggerType||void 0!==t.cadence||void 0!==t.cronExpr||void 0!==t.condition||void 0!==t.checkEveryMs){let r=e.definition.trigger,o=t.triggerType??r.type;n.type=o,"condition"===o?(n.condition=t.condition??("condition"===r.type?r.condition:""),n.checkEveryMs=t.checkEveryMs??("condition"===r.type?r.checkEveryMs:3e5)):(n.cadence=""===t.cadence?void 0:t.cadence??("scheduled"===r.type?r.cadence:void 0),n.cronExpr=void 0!==t.cronExpr?t.cronExpr:void 0!==t.cadence&&""!==t.cadence?void 0:"scheduled"===r.type?r.cronExpr:void 0,n.intervalMs="scheduled"===r.type?r.intervalMs:void 0)}return void 0!==t.overlapPolicy&&(o.overlapPolicy=t.overlapPolicy),void 0!==t.catchUpPolicy&&(o.catchUpPolicy=t.catchUpPolicy),void 0!==t.cancelCheckSec&&(o.cancelCheckSec=t.cancelCheckSec),void 0!==t.agentId&&(i.agentId=t.agentId||void 0),void 0!==t.provider&&(i.provider=t.provider||void 0),void 0!==t.model&&(i.model=t.model||void 0),void 0!==t.cliArgs&&(i.cliArgs=t.cliArgs),{...Object.keys(r).length>0?r:{},...Object.keys(n).length>0?{trigger:n}:{},...Object.keys(o).length>0?{execution:o}:{},...Object.keys(i).length>0?{target:i}:{}}}buildStatePatch(e){let t={};return void 0!==e.nextRunAt&&(t.nextRunAt=e.nextRunAt),void 0!==e.lastRunAt&&(t.lastRunAt=e.lastRunAt),void 0!==e.lastOutcome&&(t.lastOutcome=e.lastOutcome),t}ensureLegacyJobRowById(e){if(this.legacyJobRowExists(e))return;let t=this.getJob(e);t&&this.upsertLegacyJobRow(t)}ensureLegacyJobRow(e){this.legacyJobRowExists(e.id)||this.upsertLegacyJobRow(e)}legacyJobRowExists(e){return void 0!==this.db.prepare("SELECT 1 FROM prompt_jobs WHERE id = ?").get(e)}upsertLegacyJobRow(e){this.db.prepare(`INSERT INTO prompt_jobs (
|
|
24
|
-
id, name, prompt, cli, agent_id, project_id, provider, model, cli_args,
|
|
25
|
-
cron_expr, cadence, state, overlap_policy, catch_up_policy, cancel_check_sec,
|
|
26
|
-
trigger_type, condition, check_every_ms, next_run_at, last_run_at, last_outcome,
|
|
27
|
-
created_at, updated_at
|
|
28
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
29
|
-
ON CONFLICT (id) DO UPDATE SET
|
|
30
|
-
name = excluded.name,
|
|
31
|
-
prompt = excluded.prompt,
|
|
32
|
-
cli = excluded.cli,
|
|
33
|
-
agent_id = excluded.agent_id,
|
|
34
|
-
project_id = excluded.project_id,
|
|
35
|
-
provider = excluded.provider,
|
|
36
|
-
model = excluded.model,
|
|
37
|
-
cli_args = excluded.cli_args,
|
|
38
|
-
cron_expr = excluded.cron_expr,
|
|
39
|
-
cadence = excluded.cadence,
|
|
40
|
-
state = excluded.state,
|
|
41
|
-
overlap_policy = excluded.overlap_policy,
|
|
42
|
-
catch_up_policy = excluded.catch_up_policy,
|
|
43
|
-
cancel_check_sec = excluded.cancel_check_sec,
|
|
44
|
-
trigger_type = excluded.trigger_type,
|
|
45
|
-
condition = excluded.condition,
|
|
46
|
-
check_every_ms = excluded.check_every_ms,
|
|
47
|
-
next_run_at = excluded.next_run_at,
|
|
48
|
-
last_run_at = excluded.last_run_at,
|
|
49
|
-
last_outcome = excluded.last_outcome,
|
|
50
|
-
created_at = excluded.created_at,
|
|
51
|
-
updated_at = excluded.updated_at`).run(e.id,e.name,e.prompt,e.provider||"claude",e.agentId||null,e.projectId||null,e.provider||"claude",e.model||"",e.cliArgs||"",e.cronExpr||"",e.cadence||"",e.state,e.overlapPolicy,e.catchUpPolicy,e.cancelCheckSec,e.triggerType,e.condition||"",e.checkEveryMs,e.nextRunAt??null,e.lastRunAt??null,e.lastOutcome??null,e.createdAt,e.updatedAt)}createLegacyJob(e){let r,n=(0,t.randomUUID)(),i=e.cadence,a=e.cronExpr||i,s=e.triggerType??"scheduled",c=e.provider??"claude";return r="condition"===s?Date.now()+(e.checkEveryMs??3e5):(0,o.computeNextTickFromCron)(a)??null,this.db.prepare(`INSERT INTO prompt_jobs (
|
|
52
|
-
id, name, prompt, cli, agent_id, project_id, provider, model, cli_args,
|
|
53
|
-
cron_expr, cadence, overlap_policy, catch_up_policy, cancel_check_sec,
|
|
54
|
-
trigger_type, condition, check_every_ms, next_run_at
|
|
55
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(n,e.name,e.prompt,c,e.agentId||null,e.projectId||null,c,e.model??"",e.cliArgs??"",a,i,e.overlapPolicy??"skip",e.catchUpPolicy??"fire_once",e.cancelCheckSec??5,s,e.condition??"",e.checkEveryMs??3e5,r),this.getLegacyJob(n)}getLegacyJob(e){let t=this.db.prepare("SELECT * FROM prompt_jobs WHERE id = ?").get(e);return t?i(t):null}listLegacyJobs(e){let t="SELECT * FROM prompt_jobs",r=[],n=[];return e?.state&&(r.push("state = ?"),n.push(e.state)),e?.projectId&&(r.push("project_id = ?"),n.push(e.projectId)),r.length>0&&(t+=` WHERE ${r.join(" AND ")}`),t+=" ORDER BY created_at DESC",this.db.prepare(t).all(...n).map(i)}updateLegacyJob(e,t){let r={name:"name",prompt:"prompt",cli:"cli",agentId:"agent_id",projectId:"project_id",provider:"provider",cronExpr:"cron_expr",model:"model",cliArgs:"cli_args",cadence:"cadence",state:"state",overlapPolicy:"overlap_policy",catchUpPolicy:"catch_up_policy",cancelCheckSec:"cancel_check_sec",triggerType:"trigger_type",condition:"condition",checkEveryMs:"check_every_ms",nextRunAt:"next_run_at",lastRunAt:"last_run_at",lastOutcome:"last_outcome"},n=[],i=[];for(let[e,a]of Object.entries(t)){let s=r[e];s&&void 0!==a&&(n.push(`${s} = ?`),i.push(a),"cadence"===e&&"string"==typeof a&&void 0===t.cronExpr&&(n.push("cron_expr = ?"),i.push(a),n.push("next_run_at = ?"),i.push((0,o.computeNextTickFromCron)(a)??null)))}return 0===n.length||(n.push("updated_at = datetime('now')"),i.push(e),this.db.prepare(`UPDATE prompt_jobs SET ${n.join(", ")} WHERE id = ?`).run(...i.map(e=>e))),this.getLegacyJob(e)}getLegacyDueJobs(e){return this.db.prepare(`SELECT * FROM prompt_jobs
|
|
56
|
-
WHERE state = 'active'
|
|
57
|
-
AND next_run_at IS NOT NULL
|
|
58
|
-
AND next_run_at <= ?
|
|
59
|
-
ORDER BY next_run_at ASC`).all(e).map(i)}}var l=e.i(522734),u=e.i(814747),d=e.i(960447);let p=null;function m(){if(!p){let e=(0,d.getSQLiteDb)();if(e.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='prompt_jobs'").get()){if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='catch_up_policy'").get())for(let t of(0,l.readFileSync)(u.default.join(process.cwd(),"db/sqlite/003_prompt_scheduler_v2.sql"),"utf-8").replace(/^\s*--.*$/gm,"").split(";").map(e=>e.trim()).filter(Boolean))try{e.exec(t)}catch(e){if(!e.message?.includes("duplicate column"))throw e}}else{let t=(0,l.readFileSync)(u.default.join(process.cwd(),"db/sqlite/002_prompt_scheduler_schema.sql"),"utf-8");e.exec(t)}p=new c(e)}return p}e.s(["getPromptJobStore",()=>m],338479)},835338,e=>{"use strict";var t=e.i(344506),r=e.i(508689);function n(e){let n=e.trim();if(!n)return null;let o=(0,t.toCronExpr)(n);return o?{cronExpr:o.cronExpr,cadence:o.cadence}:!function(e){if(5!==e.split(/\s+/).length)return!1;try{return r.CronExpressionParser.parse(e),!0}catch{return!1}}(n)?null:{cronExpr:n,cadence:n}}function o(e,t){try{return r.CronExpressionParser.parse(e,{currentDate:t?new Date(t):new Date}).next().toDate().getTime()}catch{return null}}e.s(["computeNextRun",()=>o,"parseCadence",()=>n])}];
|
|
60
|
-
|
|
61
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__b133856b._.js.map
|