@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
|
@@ -2,19 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
import dynamic from "next/dynamic";
|
|
5
|
-
import { Check, ChevronDown, Clock, Link2, Play, RefreshCw, Search, Settings, User } from "lucide-react";
|
|
5
|
+
import { Check, ChevronDown, Clock, FileText, Link2, Play, RefreshCw, Search, Settings, User } from "lucide-react";
|
|
6
6
|
import { useLinearIssues, type LinearIssue } from "@/hooks/useLinearIssues";
|
|
7
7
|
import { useLinearConnection } from "@/hooks/useLinearConnection";
|
|
8
8
|
import { useLinearRuns, type LinearRun } from "@/hooks/useLinearRuns";
|
|
9
|
+
import { useLinearRunScripts } from "@/hooks/useLinearRunScripts";
|
|
9
10
|
import { useGroupChat } from "@/hooks/useGroupChat";
|
|
10
11
|
import { useProcessPolling } from "@/hooks/useProcessPolling";
|
|
11
12
|
import { Markdown } from "@/components/chat-ui/Markdown";
|
|
13
|
+
import RunScriptManager from "@/components/linear/RunScriptManager";
|
|
12
14
|
import { stripMarkers } from "@/lib/chat-utils";
|
|
15
|
+
import {
|
|
16
|
+
loadLinearBoardFilters,
|
|
17
|
+
persistLinearBoardFilters,
|
|
18
|
+
} from "@/state/linearBoardFilters";
|
|
19
|
+
import {
|
|
20
|
+
loadLinearTicketPanelWidth,
|
|
21
|
+
persistLinearTicketPanelWidth,
|
|
22
|
+
loadLinearRunsPanelWidth,
|
|
23
|
+
persistLinearRunsPanelWidth,
|
|
24
|
+
} from "@/state/windowState";
|
|
13
25
|
import {
|
|
14
26
|
orderParticipantIds,
|
|
15
27
|
type ComposerRoutingMetadata,
|
|
16
28
|
} from "@/lib/chat/composer-routing";
|
|
17
|
-
import {
|
|
29
|
+
import {
|
|
30
|
+
buildLinearExecutionPrompt,
|
|
31
|
+
renderLinearExecutionPromptTemplate,
|
|
32
|
+
type LinearExecutionPromptInput,
|
|
33
|
+
} from "@/lib/linear-execution-prompt";
|
|
18
34
|
import type { Participant } from "@/lib/types";
|
|
19
35
|
import LinearSetup from "@/components/LinearSetup";
|
|
20
36
|
|
|
@@ -289,10 +305,14 @@ function MultiFilterPopdown({
|
|
|
289
305
|
if (selectedOptions.length === 0) {
|
|
290
306
|
return emptyLabel ?? label;
|
|
291
307
|
}
|
|
308
|
+
if (selectedOptions.length === options.length) {
|
|
309
|
+
return emptyLabel ?? label;
|
|
310
|
+
}
|
|
292
311
|
if (selectedOptions.length === 1) {
|
|
293
312
|
return selectedOptions[0]?.label ?? (emptyLabel ?? label);
|
|
294
313
|
}
|
|
295
|
-
|
|
314
|
+
const lowerLabel = label.toLowerCase();
|
|
315
|
+
return `${selectedOptions.length} ${lowerLabel}${lowerLabel.endsWith("s") ? "es" : "s"}`;
|
|
296
316
|
})();
|
|
297
317
|
|
|
298
318
|
useEffect(() => {
|
|
@@ -920,7 +940,7 @@ function TicketRow({
|
|
|
920
940
|
const shortStatus = STATUS_LABELS[issue.status] ?? issue.status.slice(0, 6);
|
|
921
941
|
return (
|
|
922
942
|
<div
|
|
923
|
-
className={`group relative flex items-center gap-3 px-4 py-2.5 text-sm transition-colors ${
|
|
943
|
+
className={`group relative flex cursor-pointer items-center gap-3 px-4 py-2.5 text-sm transition-colors ${
|
|
924
944
|
selected
|
|
925
945
|
? "bg-[var(--card-bg)]"
|
|
926
946
|
: "hover:bg-[var(--card-bg)]/50"
|
|
@@ -999,13 +1019,17 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
999
1019
|
|
|
1000
1020
|
const [setupDismissed, setSetupDismissed] = useState(false);
|
|
1001
1021
|
const [showSettings, setShowSettings] = useState(initialShowSettings ?? false);
|
|
1002
|
-
const [
|
|
1003
|
-
const [
|
|
1022
|
+
const [showRunScripts, setShowRunScripts] = useState(false);
|
|
1023
|
+
const [ticketPanelWidth, setTicketPanelWidth] = useState(() => loadLinearTicketPanelWidth() || 576);
|
|
1024
|
+
const [runsPanelWidth, setRunsPanelWidth] = useState(() => loadLinearRunsPanelWidth() || 224);
|
|
1004
1025
|
const [search, setSearch] = useState("");
|
|
1005
1026
|
const [debouncedSearch, setDebouncedSearch] = useState("");
|
|
1027
|
+
const [filterOptionsLoaded, setFilterOptionsLoaded] = useState(false);
|
|
1006
1028
|
const [assignees, setAssignees] = useState<LinearEntityOption[]>([]);
|
|
1029
|
+
const [statuses, setStatuses] = useState<string[]>([]);
|
|
1007
1030
|
const [workspaces, setWorkspaces] = useState<LinearEntityOption[]>([]);
|
|
1008
1031
|
const [selectedAssigneeIds, setSelectedAssigneeIds] = useState<string[]>([]);
|
|
1032
|
+
const [selectedStatuses, setSelectedStatuses] = useState<string[]>([]);
|
|
1009
1033
|
const [cycles, setCycles] = useState<CycleOption[]>([]);
|
|
1010
1034
|
const [selectedCycleId, setSelectedCycleId] = useState("");
|
|
1011
1035
|
const [selectedWorkspaceId, setSelectedWorkspaceId] = useState("");
|
|
@@ -1015,6 +1039,9 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1015
1039
|
const [pickerIssue, setPickerIssue] = useState<LinearIssue | null>(null);
|
|
1016
1040
|
const [pickerAnchor, setPickerAnchor] = useState<{ top: number; left: number } | null>(null);
|
|
1017
1041
|
const searchDebounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
|
1042
|
+
const skipNextFilterPersistRef = useRef(true);
|
|
1043
|
+
const runScriptsButtonRef = useRef<HTMLButtonElement | null>(null);
|
|
1044
|
+
const runScriptsPanelRef = useRef<HTMLDivElement | null>(null);
|
|
1018
1045
|
|
|
1019
1046
|
const handleSearchChange = useCallback((value: string) => {
|
|
1020
1047
|
setSearch(value);
|
|
@@ -1032,42 +1059,94 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1032
1059
|
};
|
|
1033
1060
|
}, []);
|
|
1034
1061
|
|
|
1062
|
+
useEffect(() => {
|
|
1063
|
+
const storedFilters = loadLinearBoardFilters(projectSlug);
|
|
1064
|
+
skipNextFilterPersistRef.current = true;
|
|
1065
|
+
setSearch(storedFilters.search);
|
|
1066
|
+
setDebouncedSearch(storedFilters.search);
|
|
1067
|
+
setSelectedAssigneeIds(storedFilters.assigneeIds);
|
|
1068
|
+
setSelectedStatuses(storedFilters.statuses);
|
|
1069
|
+
setSelectedWorkspaceId(storedFilters.teamId);
|
|
1070
|
+
setSelectedCycleId(storedFilters.cycleId);
|
|
1071
|
+
}, [projectSlug]);
|
|
1072
|
+
|
|
1073
|
+
useEffect(() => {
|
|
1074
|
+
if (skipNextFilterPersistRef.current) {
|
|
1075
|
+
skipNextFilterPersistRef.current = false;
|
|
1076
|
+
return;
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
persistLinearBoardFilters(projectSlug, {
|
|
1080
|
+
search,
|
|
1081
|
+
assigneeIds: selectedAssigneeIds,
|
|
1082
|
+
statuses: selectedStatuses,
|
|
1083
|
+
teamId: selectedWorkspaceId,
|
|
1084
|
+
cycleId: selectedCycleId,
|
|
1085
|
+
});
|
|
1086
|
+
}, [projectSlug, search, selectedAssigneeIds, selectedStatuses, selectedWorkspaceId, selectedCycleId]);
|
|
1087
|
+
|
|
1035
1088
|
// Fetch filter options when connected
|
|
1036
1089
|
useEffect(() => {
|
|
1037
1090
|
if (!connected) return;
|
|
1038
1091
|
let cancelled = false;
|
|
1039
|
-
|
|
1092
|
+
setFilterOptionsLoaded(false);
|
|
1093
|
+
const params = new URLSearchParams();
|
|
1094
|
+
if (projectSlug) {
|
|
1095
|
+
params.set("projectSlug", projectSlug);
|
|
1096
|
+
}
|
|
1097
|
+
const url = params.size > 0 ? `/api/linear/options?${params.toString()}` : "/api/linear/options";
|
|
1098
|
+
fetch(url)
|
|
1040
1099
|
.then((res) => res.json())
|
|
1041
1100
|
.then((data) => {
|
|
1042
1101
|
if (cancelled) {
|
|
1043
1102
|
return;
|
|
1044
1103
|
}
|
|
1045
1104
|
setAssignees(Array.isArray(data.assignees) ? data.assignees : []);
|
|
1105
|
+
setStatuses(Array.isArray(data.statuses) ? data.statuses : []);
|
|
1046
1106
|
setWorkspaces(Array.isArray(data.teams) ? data.teams : []);
|
|
1047
1107
|
setCycles(Array.isArray(data.cycles) ? data.cycles : []);
|
|
1108
|
+
setFilterOptionsLoaded(true);
|
|
1048
1109
|
})
|
|
1049
1110
|
.catch(() => {
|
|
1050
1111
|
if (!cancelled) {
|
|
1051
1112
|
setAssignees([]);
|
|
1113
|
+
setStatuses([]);
|
|
1052
1114
|
setWorkspaces([]);
|
|
1053
1115
|
setCycles([]);
|
|
1116
|
+
setFilterOptionsLoaded(true);
|
|
1054
1117
|
}
|
|
1055
1118
|
});
|
|
1056
1119
|
return () => {
|
|
1057
1120
|
cancelled = true;
|
|
1058
1121
|
};
|
|
1059
|
-
}, [connected]);
|
|
1122
|
+
}, [connected, projectSlug]);
|
|
1060
1123
|
|
|
1061
1124
|
useEffect(() => {
|
|
1125
|
+
if (!filterOptionsLoaded) {
|
|
1126
|
+
return;
|
|
1127
|
+
}
|
|
1062
1128
|
const validAssigneeIds = selectedAssigneeIds.filter((assigneeId) =>
|
|
1063
1129
|
assignees.some((assignee) => assignee.id === assigneeId)
|
|
1064
1130
|
);
|
|
1065
1131
|
if (validAssigneeIds.length !== selectedAssigneeIds.length) {
|
|
1066
1132
|
setSelectedAssigneeIds(validAssigneeIds);
|
|
1067
1133
|
}
|
|
1068
|
-
}, [assignees, selectedAssigneeIds]);
|
|
1134
|
+
}, [assignees, filterOptionsLoaded, selectedAssigneeIds]);
|
|
1135
|
+
|
|
1136
|
+
useEffect(() => {
|
|
1137
|
+
if (!filterOptionsLoaded) {
|
|
1138
|
+
return;
|
|
1139
|
+
}
|
|
1140
|
+
const validStatuses = selectedStatuses.filter((status) => statuses.includes(status));
|
|
1141
|
+
if (validStatuses.length !== selectedStatuses.length) {
|
|
1142
|
+
setSelectedStatuses(validStatuses);
|
|
1143
|
+
}
|
|
1144
|
+
}, [filterOptionsLoaded, selectedStatuses, statuses]);
|
|
1069
1145
|
|
|
1070
1146
|
useEffect(() => {
|
|
1147
|
+
if (!filterOptionsLoaded) {
|
|
1148
|
+
return;
|
|
1149
|
+
}
|
|
1071
1150
|
if (workspaces.length <= 1 && selectedWorkspaceId) {
|
|
1072
1151
|
setSelectedWorkspaceId("");
|
|
1073
1152
|
return;
|
|
@@ -1076,22 +1155,29 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1076
1155
|
if (selectedWorkspaceId && !workspaces.some((workspace) => workspace.id === selectedWorkspaceId)) {
|
|
1077
1156
|
setSelectedWorkspaceId("");
|
|
1078
1157
|
}
|
|
1079
|
-
}, [selectedWorkspaceId, workspaces]);
|
|
1158
|
+
}, [filterOptionsLoaded, selectedWorkspaceId, workspaces]);
|
|
1080
1159
|
|
|
1081
1160
|
useEffect(() => {
|
|
1161
|
+
if (!filterOptionsLoaded) {
|
|
1162
|
+
return;
|
|
1163
|
+
}
|
|
1082
1164
|
if (selectedCycleId && !cycles.some((cycle) => cycle.id === selectedCycleId)) {
|
|
1083
1165
|
setSelectedCycleId("");
|
|
1084
1166
|
}
|
|
1085
|
-
}, [cycles, selectedCycleId]);
|
|
1167
|
+
}, [cycles, filterOptionsLoaded, selectedCycleId]);
|
|
1086
1168
|
|
|
1087
1169
|
const filters = useMemo(
|
|
1088
1170
|
() => ({
|
|
1089
1171
|
search: debouncedSearch || undefined,
|
|
1172
|
+
statuses:
|
|
1173
|
+
selectedStatuses.length > 0 && selectedStatuses.length < statuses.length
|
|
1174
|
+
? selectedStatuses
|
|
1175
|
+
: undefined,
|
|
1090
1176
|
assigneeIds: selectedAssigneeIds.length > 0 ? selectedAssigneeIds : undefined,
|
|
1091
1177
|
teamId: selectedWorkspaceId || undefined,
|
|
1092
1178
|
cycleId: selectedCycleId || undefined,
|
|
1093
1179
|
}),
|
|
1094
|
-
[debouncedSearch, selectedAssigneeIds, selectedCycleId, selectedWorkspaceId]
|
|
1180
|
+
[debouncedSearch, selectedAssigneeIds, selectedCycleId, selectedStatuses, selectedWorkspaceId, statuses.length]
|
|
1095
1181
|
);
|
|
1096
1182
|
|
|
1097
1183
|
const {
|
|
@@ -1107,12 +1193,24 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1107
1193
|
createRun,
|
|
1108
1194
|
updateRun,
|
|
1109
1195
|
} = useLinearRuns(selectedIssue?.id, projectId ?? null);
|
|
1196
|
+
const {
|
|
1197
|
+
scripts: runScripts,
|
|
1198
|
+
activeScriptId,
|
|
1199
|
+
activeScript,
|
|
1200
|
+
setActiveScriptId,
|
|
1201
|
+
saveScript,
|
|
1202
|
+
deleteScript,
|
|
1203
|
+
} = useLinearRunScripts(projectSlug);
|
|
1110
1204
|
|
|
1111
1205
|
const selectedRun = runs.find((run) => run.id === selectedRunId) ?? null;
|
|
1112
1206
|
const assigneeOptions = useMemo<FilterOption[]>(
|
|
1113
1207
|
() => assignees.map((assignee) => ({ value: assignee.id, label: assignee.name })),
|
|
1114
1208
|
[assignees]
|
|
1115
1209
|
);
|
|
1210
|
+
const statusOptions = useMemo<FilterOption[]>(
|
|
1211
|
+
() => statuses.map((status) => ({ value: status, label: status })),
|
|
1212
|
+
[statuses]
|
|
1213
|
+
);
|
|
1116
1214
|
const workspaceOptions = useMemo<FilterOption[]>(
|
|
1117
1215
|
() => [{ value: "", label: "Workspace" }, ...workspaces.map((workspace) => ({ value: workspace.id, label: workspace.name }))],
|
|
1118
1216
|
[workspaces]
|
|
@@ -1127,8 +1225,10 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1127
1225
|
],
|
|
1128
1226
|
[cycles]
|
|
1129
1227
|
);
|
|
1228
|
+
const showStatusFilter = statusOptions.length > 0;
|
|
1130
1229
|
const showCycleFilter = cycleOptions.length > 1;
|
|
1131
1230
|
const showWorkspaceFilter = workspaceOptions.length > 2;
|
|
1231
|
+
const activeRunScriptLabel = activeScript?.name ?? "AGX default";
|
|
1132
1232
|
|
|
1133
1233
|
useEffect(() => {
|
|
1134
1234
|
if (issues.length === 0) {
|
|
@@ -1210,8 +1310,39 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1210
1310
|
};
|
|
1211
1311
|
}, [projectId]);
|
|
1212
1312
|
|
|
1313
|
+
useEffect(() => {
|
|
1314
|
+
if (!showRunScripts) {
|
|
1315
|
+
return;
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
const handlePointerDown = (event: MouseEvent) => {
|
|
1319
|
+
const target = event.target as Node;
|
|
1320
|
+
if (runScriptsPanelRef.current?.contains(target)) {
|
|
1321
|
+
return;
|
|
1322
|
+
}
|
|
1323
|
+
if (runScriptsButtonRef.current?.contains(target)) {
|
|
1324
|
+
return;
|
|
1325
|
+
}
|
|
1326
|
+
setShowRunScripts(false);
|
|
1327
|
+
};
|
|
1328
|
+
|
|
1329
|
+
const handleKeyDown = (event: KeyboardEvent) => {
|
|
1330
|
+
if (event.key === "Escape") {
|
|
1331
|
+
setShowRunScripts(false);
|
|
1332
|
+
}
|
|
1333
|
+
};
|
|
1334
|
+
|
|
1335
|
+
document.addEventListener("mousedown", handlePointerDown);
|
|
1336
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
1337
|
+
return () => {
|
|
1338
|
+
document.removeEventListener("mousedown", handlePointerDown);
|
|
1339
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
1340
|
+
};
|
|
1341
|
+
}, [showRunScripts]);
|
|
1342
|
+
|
|
1213
1343
|
const handleExecute = useCallback(
|
|
1214
1344
|
(issue: LinearIssue, event?: React.MouseEvent) => {
|
|
1345
|
+
setShowRunScripts(false);
|
|
1215
1346
|
if (participants.length === 0) {
|
|
1216
1347
|
window.alert("Add at least one agent to this project before running a Linear ticket.");
|
|
1217
1348
|
return;
|
|
@@ -1250,7 +1381,7 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1250
1381
|
});
|
|
1251
1382
|
setSelectedRunId(createdRun.id);
|
|
1252
1383
|
|
|
1253
|
-
const
|
|
1384
|
+
const executionPromptInput: LinearExecutionPromptInput = {
|
|
1254
1385
|
issue: {
|
|
1255
1386
|
identifier: issue.identifier,
|
|
1256
1387
|
title: issue.title,
|
|
@@ -1258,14 +1389,21 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1258
1389
|
assignee: issue.assignee,
|
|
1259
1390
|
},
|
|
1260
1391
|
project: projectSlug ? { slug: projectSlug } : null,
|
|
1261
|
-
}
|
|
1392
|
+
};
|
|
1393
|
+
const { prompt: defaultPrompt, promptPrefix } = buildLinearExecutionPrompt(executionPromptInput);
|
|
1394
|
+
const prompt = activeScript
|
|
1395
|
+
? renderLinearExecutionPromptTemplate(activeScript.prompt, executionPromptInput).trim() || defaultPrompt
|
|
1396
|
+
: defaultPrompt;
|
|
1397
|
+
const effectivePromptPrefix = activeScript
|
|
1398
|
+
? `${promptPrefix}ACTIVE RUN SCRIPT\n- Name: ${activeScript.name}\n\n`
|
|
1399
|
+
: promptPrefix;
|
|
1262
1400
|
|
|
1263
1401
|
const response = await fetch("/api/chat", {
|
|
1264
1402
|
method: "POST",
|
|
1265
1403
|
headers: { "Content-Type": "application/json" },
|
|
1266
1404
|
body: JSON.stringify({
|
|
1267
1405
|
prompt,
|
|
1268
|
-
promptPrefix,
|
|
1406
|
+
promptPrefix: effectivePromptPrefix,
|
|
1269
1407
|
threadId: createdRun.threadId,
|
|
1270
1408
|
activeParticipantIds: [agent.id],
|
|
1271
1409
|
projectSlug: projectSlug ?? undefined,
|
|
@@ -1299,7 +1437,7 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1299
1437
|
}
|
|
1300
1438
|
}
|
|
1301
1439
|
},
|
|
1302
|
-
[createRun, projectId, projectSlug, updateRun]
|
|
1440
|
+
[activeScript, createRun, projectId, projectSlug, updateRun]
|
|
1303
1441
|
);
|
|
1304
1442
|
|
|
1305
1443
|
const sentinelRef = useRef<HTMLDivElement | null>(null);
|
|
@@ -1373,13 +1511,26 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1373
1511
|
<button
|
|
1374
1512
|
type="button"
|
|
1375
1513
|
className="shrink-0 rounded p-1.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]"
|
|
1376
|
-
onClick={() =>
|
|
1514
|
+
onClick={() => {
|
|
1515
|
+
setShowRunScripts(false);
|
|
1516
|
+
setShowSettings(true);
|
|
1517
|
+
}}
|
|
1377
1518
|
title="Linear settings"
|
|
1378
1519
|
>
|
|
1379
1520
|
<Settings size={16} />
|
|
1380
1521
|
</button>
|
|
1381
1522
|
</div>
|
|
1382
1523
|
<div className="flex items-center gap-1.5 px-3 pb-2">
|
|
1524
|
+
{showStatusFilter ? (
|
|
1525
|
+
<MultiFilterPopdown
|
|
1526
|
+
label="Status"
|
|
1527
|
+
values={selectedStatuses}
|
|
1528
|
+
options={statusOptions}
|
|
1529
|
+
activeClasses="border-amber-500/30 bg-amber-500/10 text-amber-300"
|
|
1530
|
+
onChange={setSelectedStatuses}
|
|
1531
|
+
emptyLabel="All statuses"
|
|
1532
|
+
/>
|
|
1533
|
+
) : null}
|
|
1383
1534
|
<MultiFilterPopdown
|
|
1384
1535
|
label="Assignee"
|
|
1385
1536
|
values={selectedAssigneeIds}
|
|
@@ -1442,22 +1593,54 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1442
1593
|
</div>
|
|
1443
1594
|
</div>
|
|
1444
1595
|
|
|
1445
|
-
<ResizeHandle onResize={(delta) => setTicketPanelWidth((w) => Math.max(180, Math.min(600, w + delta)))} />
|
|
1596
|
+
<ResizeHandle onResize={(delta) => setTicketPanelWidth((w) => { const next = Math.max(180, Math.min(600, w + delta)); persistLinearTicketPanelWidth(next); return next; })} />
|
|
1446
1597
|
|
|
1447
1598
|
<div className="flex shrink-0 flex-col border-r border-[var(--card-border)]" style={{ width: runsPanelWidth }}>
|
|
1448
|
-
<div className="flex items-center justify-between border-b border-[var(--card-border)] px-3 py-2">
|
|
1599
|
+
<div className="relative flex items-center justify-between border-b border-[var(--card-border)] px-3 py-2">
|
|
1449
1600
|
<h3 className="text-xs font-semibold text-[var(--foreground)]">Runs</h3>
|
|
1450
|
-
|
|
1601
|
+
<div className="flex items-center gap-1">
|
|
1451
1602
|
<button
|
|
1603
|
+
ref={runScriptsButtonRef}
|
|
1452
1604
|
type="button"
|
|
1453
|
-
className=
|
|
1454
|
-
|
|
1455
|
-
|
|
1605
|
+
className={`flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-medium transition-colors ${
|
|
1606
|
+
showRunScripts
|
|
1607
|
+
? "bg-[var(--card-bg)] text-[var(--foreground)]"
|
|
1608
|
+
: "text-[var(--muted-foreground)] hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]"
|
|
1609
|
+
}`}
|
|
1610
|
+
onClick={() => setShowRunScripts((current) => !current)}
|
|
1611
|
+
title={`Run script: ${activeRunScriptLabel}`}
|
|
1456
1612
|
>
|
|
1457
|
-
<
|
|
1458
|
-
<span>
|
|
1613
|
+
<FileText size={10} />
|
|
1614
|
+
<span className="max-w-[88px] truncate">{activeRunScriptLabel}</span>
|
|
1459
1615
|
</button>
|
|
1460
|
-
|
|
1616
|
+
{selectedIssue && (
|
|
1617
|
+
<button
|
|
1618
|
+
type="button"
|
|
1619
|
+
className="flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]"
|
|
1620
|
+
onClick={(event) => handleExecute(selectedIssue, event)}
|
|
1621
|
+
title="Run agent on selected ticket"
|
|
1622
|
+
>
|
|
1623
|
+
<Play size={10} />
|
|
1624
|
+
<span>Run now</span>
|
|
1625
|
+
</button>
|
|
1626
|
+
)}
|
|
1627
|
+
</div>
|
|
1628
|
+
{showRunScripts ? (
|
|
1629
|
+
<div
|
|
1630
|
+
ref={runScriptsPanelRef}
|
|
1631
|
+
className="absolute right-3 top-full z-20 mt-2 max-h-[80vh] overflow-y-auto rounded-2xl border border-[var(--card-border)] bg-[var(--background)] p-4 shadow-2xl"
|
|
1632
|
+
style={{ width: "min(760px, calc(100vw - 32px))" }}
|
|
1633
|
+
>
|
|
1634
|
+
<RunScriptManager
|
|
1635
|
+
projectSlug={projectSlug}
|
|
1636
|
+
scripts={runScripts}
|
|
1637
|
+
activeScriptId={activeScriptId}
|
|
1638
|
+
onSetActiveScriptId={setActiveScriptId}
|
|
1639
|
+
onSaveScript={saveScript}
|
|
1640
|
+
onDeleteScript={deleteScript}
|
|
1641
|
+
/>
|
|
1642
|
+
</div>
|
|
1643
|
+
) : null}
|
|
1461
1644
|
</div>
|
|
1462
1645
|
|
|
1463
1646
|
<div className="flex-1 overflow-y-auto">
|
|
@@ -1517,7 +1700,7 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1517
1700
|
</div>
|
|
1518
1701
|
</div>
|
|
1519
1702
|
|
|
1520
|
-
<ResizeHandle onResize={(delta) => setRunsPanelWidth((w) => Math.max(140, Math.min(500, w + delta)))} />
|
|
1703
|
+
<ResizeHandle onResize={(delta) => setRunsPanelWidth((w) => { const next = Math.max(140, Math.min(500, w + delta)); persistLinearRunsPanelWidth(next); return next; })} />
|
|
1521
1704
|
|
|
1522
1705
|
<div className="flex min-w-0 flex-1 flex-col overflow-hidden">
|
|
1523
1706
|
{selectedRun ? (
|
|
@@ -1553,7 +1736,7 @@ export default function LinearBoard({ projectId, projectSlug, initialShowSetting
|
|
|
1553
1736
|
>
|
|
1554
1737
|
×
|
|
1555
1738
|
</button>
|
|
1556
|
-
<div className="p-6">
|
|
1739
|
+
<div className="max-h-[80vh] overflow-y-auto p-6">
|
|
1557
1740
|
<LinearSetup
|
|
1558
1741
|
connected={connected}
|
|
1559
1742
|
user={user}
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
loadWorkspaceSidebarVisible,
|
|
16
16
|
persistWorkspaceSidebarVisible,
|
|
17
17
|
} from "@/state/uiSettings";
|
|
18
|
+
import { loadWorkspaceWidth, persistWorkspaceWidth } from "@/state/windowState";
|
|
18
19
|
import {
|
|
19
20
|
loadStoredActiveParticipantIds,
|
|
20
21
|
persistStoredActiveParticipantIds,
|
|
@@ -357,6 +358,7 @@ export function ChatContainer({
|
|
|
357
358
|
return document.documentElement.classList.contains("dark") ? "dark" : "light";
|
|
358
359
|
});
|
|
359
360
|
const [workspaceSidebarVisible, setWorkspaceSidebarVisible] = useState(false);
|
|
361
|
+
const [workspaceSidebarWidth, setWorkspaceSidebarWidth] = useState(368);
|
|
360
362
|
const workspaceSidebarHydratedRef = useRef(false);
|
|
361
363
|
|
|
362
364
|
// Sync sidebar visibility from localStorage after hydration to avoid SSR mismatch
|
|
@@ -364,6 +366,7 @@ export function ChatContainer({
|
|
|
364
366
|
const stored = loadWorkspaceSidebarVisible();
|
|
365
367
|
workspaceSidebarHydratedRef.current = true;
|
|
366
368
|
setWorkspaceSidebarVisible(stored);
|
|
369
|
+
setWorkspaceSidebarWidth(loadWorkspaceWidth() || 368);
|
|
367
370
|
}, []);
|
|
368
371
|
useEffect(() => {
|
|
369
372
|
if (typeof window === "undefined") return;
|
|
@@ -1566,6 +1569,11 @@ export function ChatContainer({
|
|
|
1566
1569
|
});
|
|
1567
1570
|
}, [persistSidebarPreference]);
|
|
1568
1571
|
|
|
1572
|
+
const handleWorkspaceSidebarWidthChange = useCallback((w: number) => {
|
|
1573
|
+
setWorkspaceSidebarWidth(w);
|
|
1574
|
+
persistWorkspaceWidth(w);
|
|
1575
|
+
}, []);
|
|
1576
|
+
|
|
1569
1577
|
const handleAdd = async (p: Participant) => {
|
|
1570
1578
|
const res = await fetch("/api/participants", {
|
|
1571
1579
|
method: "POST",
|
|
@@ -1776,6 +1784,8 @@ export function ChatContainer({
|
|
|
1776
1784
|
onToggleParticipantActive={handleToggleParticipantActive}
|
|
1777
1785
|
visible={workspaceSidebarVisible}
|
|
1778
1786
|
onToggle={toggleWorkspaceSidebar}
|
|
1787
|
+
width={workspaceSidebarWidth}
|
|
1788
|
+
onWidthChange={handleWorkspaceSidebarWidthChange}
|
|
1779
1789
|
projects={projects}
|
|
1780
1790
|
onCreateProject={createProject}
|
|
1781
1791
|
onUpdateProject={updateProject}
|