@mndrk/agx 2.0.56 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +2 -0
- package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +15 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js +4 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js +5 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/build-manifest.json +9 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js +13 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route_client-reference-manifest.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +14 -13
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/app-paths-manifest.json +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/build-manifest.json +9 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/server-reference-manifest.json +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js +28 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.map +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route_client-reference-manifest.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js +9 -5
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js +4 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +16 -15
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +5 -4
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +14 -14
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +14 -14
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +6 -0
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/0jps_app_api_projects_[id]_objectives_[objectiveId]_worker_route_actions_0v8q3zz.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__0_au5u1._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__13x93ar._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0_10qfd._.js → [root-of-the-server]__0.6yz1u._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01lsgl~._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0205scg._.js → [root-of-the-server]__03.9arn._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__03h0gqp._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08jo91s._.js +9 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0o315az._.js → [root-of-the-server]__09j9jpf._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-nye63._.js → [root-of-the-server]__09jghbu._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0_7hiof._.js +43 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0.jam.l._.js → [root-of-the-server]__0a0cq38._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0asvfdo._.js +54 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0c86535._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0cj1krd._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0aa-88e._.js → [root-of-the-server]__0dy3h2i._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0touqng._.js → [root-of-the-server]__0e8-2k_._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0enhv5p._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0f9byr.._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0t2jk2r._.js → [root-of-the-server]__0g7hc1-._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g7p6pw._.js +55 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__019q25b._.js → [root-of-the-server]__0gj~dap._.js} +7 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0e6cj2y._.js → [root-of-the-server]__0hc45jw._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hkcw03._.js +49 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hmw36u._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0l53ok5._.js +54 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0n.momw._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tjo9we._.js +7 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-~t2br._.js → [root-of-the-server]__0v7jjvl._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0x6w64i._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__11nke7t._.js → [root-of-the-server]__0y3qxv1._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__10z8f9h._.js → [root-of-the-server]__0ygidxe._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0z82z0-._.js +49 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0zsv-tb._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~nnfjr._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~x4jbk._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10d.dhd._.js +229 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12qy318._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_039.xxy._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_06oeti1._.js +49 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0dyy7h.._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gi7c9x._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gr.psg._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0sd8z0i._.js +21 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0y42h_~._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~ah49q._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_01kqgle._.js +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_06qet8g._.js +36 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_0m2ly._.js +397 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_a~bj0._.js +25 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0a15wtk._.js +397 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0bjdpen._.js +29 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0fr1qq6._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0g.q2r6._.js +41 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0h7wd0e._.js +29 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0i7fs.i._.js +397 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0ipg-p6._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0npxy21._.js +11 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0uhfa93._.js +21 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_12wpldq._.js +25 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_worker_route_actions_116303i.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01hd2_5._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01pvj2g._.js +34 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0ik933l._.js +55 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0o1v.j4._.js +79 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0pxj122._.js +55 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_automations_index_ts_0_8ch28._.js +10 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_082u-ls._.js +41 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0.xgxyl._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0yu3--n._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0ze8hzc._.js +4 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_get-store_ts_0p0aod1._.js +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_linear-worker_ts_0ycjwem._.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0gips_c.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0u_5kfo.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0tvwux2._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0hvpc.y._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__006vr7.._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0d18x53._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0j9m72.._.js +18 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__02.r909._.js → [root-of-the-server]__0n5g8ml._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w.zmt6._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w1mm2j._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0z7nw_r._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__10h_7t0._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13h-0om._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_00trrg8._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0wk3skw._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yeuuy1._.js +25 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_075cq2j._.js → apps_local_0k4~c1x._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0t6p.qm._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_0_4hk8x._.js → apps_local_0v~bvwg._.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_[id]_page_tsx_06n47n~._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_new_page_tsx_0yqd0a5._.js +3 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_setup_page_tsx_0ql2qmr._.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_PromptJobBoard_tsx_06zob36._.js +8 -0
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +6 -6
- package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +2 -0
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
- package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
- package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/003q-y3exxalk.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/00po4v2x~0x_z.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/013gtut17~fne.js +23 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/014z_yruiincl.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/041-dhls9zkl1.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/04yoml2rqnuot.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0_mrpyqcoyb_5.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{11-u35xqxu~i-.js → 0aewbg0i704w7.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{08~pgzjb13k_v.js → 0dnw31436wd~..js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0jonp-o8lh-4j.js → 0e307b-0c2jbx.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0edewt9l~cs~k.css +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0o9cxba_5mv2c.js → 0fonouj2i9qnb.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gj98094p~zn4.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jrkacz_dyem6.js +37 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{02zcxdul-1jaf.js → 0mig99af4~uos.js} +3 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pdrpsy-zdxp0.js +5 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p~l5ap6qqx2o.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0stvi5btlxl4m.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rey9zfvm3yhd.js → 0tt1oh112yv-l.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0w94x-v00osq0.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0mvqoz13v0o2a.js → 0wh6p5~ft5rma.js} +2 -2
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0zw85-xl9ysjs.js +1 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/{00lise4d-u8d1.js → 1011~1x9nj4ny.js} +1 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/119v0-idpg-cv.js +16 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/11l2tww5f0hsk.js +20 -0
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/16d~es6h6k~rj.js +6 -0
- package/cloud-runtime/standalone/apps/local/app/agents/[id]/page.tsx +40 -5
- package/cloud-runtime/standalone/apps/local/app/api/agents/[id]/profile/route.ts +10 -0
- package/cloud-runtime/standalone/apps/local/app/api/linear/worker/route.ts +151 -0
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/route.ts +0 -8
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +6 -27
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/worker/route.ts +89 -0
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/route.ts +13 -0
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/search/route.ts +4 -4
- package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/route.ts +5 -3
- package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +7 -4
- package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/new/page.tsx +236 -10
- package/cloud-runtime/standalone/apps/local/app/setup/page.tsx +9 -1
- package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +36 -8
- package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +53 -24
- package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +73 -0
- package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +17 -12
- package/cloud-runtime/standalone/apps/local/components/linear/LinearSettingsModal.tsx +105 -0
- package/cloud-runtime/standalone/apps/local/components/linear/LinearWorkerConfig.tsx +367 -0
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveHealthTrend.tsx +215 -0
- package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +170 -46
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +8 -2
- package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +211 -368
- package/cloud-runtime/standalone/apps/local/components/projects/RecentlyCompletedCard.tsx +213 -0
- package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +121 -6
- package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +1 -1
- package/cloud-runtime/standalone/apps/local/components/setup/McpSetupStep.tsx +242 -0
- package/cloud-runtime/standalone/apps/local/components/setup/ProjectStep.tsx +2 -2
- package/cloud-runtime/standalone/apps/local/components/setup/ProviderStep.tsx +1 -1
- package/cloud-runtime/standalone/apps/local/components/setup/TeamsStep.tsx +288 -15
- package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +24 -14
- package/cloud-runtime/standalone/apps/local/hooks/useSetupFlow.ts +16 -2
- package/cloud-runtime/standalone/apps/local/lib/objective-health-history.ts +198 -0
- package/cloud-runtime/standalone/apps/local/lib/project-objective-context.ts +10 -0
- package/cloud-runtime/standalone/apps/local/lib/project-objectives.ts +0 -9
- package/cloud-runtime/standalone/apps/local/skills-lock.json +20 -0
- package/cloud-runtime/standalone/apps/local/src/automations/adapters.ts +5 -0
- package/cloud-runtime/standalone/apps/local/src/automations/types.ts +5 -0
- package/cloud-runtime/standalone/apps/local/src/automations/validation.ts +12 -5
- package/cloud-runtime/standalone/apps/local/src/objectives/parser.ts +0 -2
- package/cloud-runtime/standalone/apps/local/src/objectives/serializer.ts +0 -2
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-constants.ts +38 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-job.ts +47 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker.ts +482 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker-job.ts +47 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +511 -0
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +51 -417
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/store.ts +19 -4
- package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +12 -8
- package/cloud-runtime/standalone/apps/local/state/terminalTabs.ts +182 -106
- package/cloud-runtime/standalone/apps/local/worker/index.js +12 -13
- package/package.json +1 -1
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0-0479y._.js +0 -54
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08oj_ky._.js +0 -49
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08y2lkj._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g50c6p._.js +0 -237
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gtv0rq._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ksbs9p._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0pz~m67._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0q93mk3._.js +0 -7
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tdixb0._.js +0 -49
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0vhcrdv._.js +0 -229
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0xdp_8-._.js +0 -237
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__11s20j6._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12xhcor._.js +0 -54
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_01rag2f._.js +0 -49
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_03y4xss._.js +0 -21
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0cm4i3i._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0ijzgnb._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~fjhfa._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/_12yasaj._.js +0 -9
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_03q7_.q._.js +0 -21
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0m3e2d~._.js +0 -30
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0r-oiga._.js +0 -30
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_00cwfvi._.js +0 -34
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0hx7xyz._.js +0 -34
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0rqcat4._.js +0 -55
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0sc_lek._.js +0 -79
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_135ddsu._.js +0 -55
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_store_ts_0h.2qy9._.js +0 -43
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_022nz2u._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +0 -475
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0yvelwy.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0qzjdog._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0a-mbbj._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__07johgg._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0bf346q._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r3w68h._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0x7k~pk._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0y8j6el._.js +0 -18
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0yme9fy._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~7q5sw._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13eqcxp._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_09~glsn._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0n80y4_._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ut3k~7._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0vibfch._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +0 -8
- package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_04hvzn_._.js +0 -3
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.4d8rshxivwh.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/02p3n7faotpr9.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/051-7k0nnm-vm.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/055bzj5jfgzr0.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/05c-~4v_jrblf.css +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/09wzd7y~tk-3~.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0brmd4~76pthy.js +0 -20
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0hudzktaaxr4g.js +0 -6
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0hzq698w6f4m6.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0i.su2yr26wb6.js +0 -37
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jsbvcyub73d9.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l2pt2td_87wr.js +0 -5
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p7s38p3bcffh.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0q2dgbluvgxf2.js +0 -16
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ucg8e2wkd8gf.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/104xjvrf6y-zq.js +0 -1
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/15jlly_p-g4c8.js +0 -6
- package/cloud-runtime/standalone/apps/local/.next/static/chunks/16nozeadjid9-.js +0 -5
- /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → RnYHmEXBwXJjVrVVx2CuP}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → RnYHmEXBwXJjVrVVx2CuP}/_clientMiddlewareManifest.js +0 -0
- /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → RnYHmEXBwXJjVrVVx2CuP}/_ssgManifest.js +0 -0
package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
FileText,
|
|
14
14
|
Pencil,
|
|
15
15
|
Plus,
|
|
16
|
+
Search,
|
|
16
17
|
Trash2,
|
|
17
18
|
User,
|
|
18
19
|
Users,
|
|
@@ -27,17 +28,12 @@ import { Markdown } from "@/components/chat-ui/Markdown";
|
|
|
27
28
|
import { agentAvatarUrl } from "@/components/chat-ui/ParticipantBar";
|
|
28
29
|
import RichTextEditor from "@/components/RichTextEditor";
|
|
29
30
|
import SearchCombo, { type ComboOption } from "@/components/SearchCombo";
|
|
30
|
-
import { ScheduleConditionPicker } from "@/components/scheduling/ScheduleConditionPicker";
|
|
31
31
|
import { ObjectiveScheduledTasksPanel } from "@/components/projects/ObjectiveScheduledTasksPanel";
|
|
32
32
|
import { ObjectiveActivityTimeline } from "@/components/projects/ObjectiveActivityTimeline";
|
|
33
|
+
import { ObjectiveHealthTrend } from "@/components/projects/ObjectiveHealthTrend";
|
|
33
34
|
import { LinearIcon } from "@/components/linear/LinearIcon";
|
|
34
35
|
import { usePromptJobs } from "@/hooks/usePromptJobs";
|
|
35
36
|
import { useInputCapabilities } from "@/hooks/useInputCapabilities";
|
|
36
|
-
import { cronToHuman } from "@/src/graph/nl-schedule";
|
|
37
|
-
import {
|
|
38
|
-
DEFAULT_OBJECTIVE_LINEAR_WORKER_NAME,
|
|
39
|
-
type PromptJobExecutionMode,
|
|
40
|
-
} from "@/src/prompt-scheduler/types";
|
|
41
37
|
import { threadService } from "@/services/threadService";
|
|
42
38
|
import {
|
|
43
39
|
loadObjectiveChatPanelWidth,
|
|
@@ -77,8 +73,6 @@ interface ObjectiveEditorDraft {
|
|
|
77
73
|
title: string;
|
|
78
74
|
teamId: string;
|
|
79
75
|
summary: string;
|
|
80
|
-
cadence: string;
|
|
81
|
-
condition: string;
|
|
82
76
|
}
|
|
83
77
|
|
|
84
78
|
interface ObjectiveTeamDraft {
|
|
@@ -144,33 +138,6 @@ function ObjectiveChatResizeHandle({
|
|
|
144
138
|
onResize: (delta: number) => void;
|
|
145
139
|
}) {
|
|
146
140
|
const { isTouchLayout } = useInputCapabilities();
|
|
147
|
-
const dragging = useRef(false);
|
|
148
|
-
const lastX = useRef(0);
|
|
149
|
-
|
|
150
|
-
useEffect(() => {
|
|
151
|
-
if (isTouchLayout || !dragging.current) return;
|
|
152
|
-
|
|
153
|
-
const onMouseMove = (event: MouseEvent) => {
|
|
154
|
-
const delta = lastX.current - event.clientX;
|
|
155
|
-
lastX.current = event.clientX;
|
|
156
|
-
onResize(delta);
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
const onMouseUp = () => {
|
|
160
|
-
dragging.current = false;
|
|
161
|
-
document.body.style.cursor = "";
|
|
162
|
-
document.body.style.userSelect = "";
|
|
163
|
-
window.removeEventListener("mousemove", onMouseMove);
|
|
164
|
-
window.removeEventListener("mouseup", onMouseUp);
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
window.addEventListener("mousemove", onMouseMove);
|
|
168
|
-
window.addEventListener("mouseup", onMouseUp);
|
|
169
|
-
return () => {
|
|
170
|
-
window.removeEventListener("mousemove", onMouseMove);
|
|
171
|
-
window.removeEventListener("mouseup", onMouseUp);
|
|
172
|
-
};
|
|
173
|
-
}, [isTouchLayout, onResize]);
|
|
174
141
|
|
|
175
142
|
if (isTouchLayout) {
|
|
176
143
|
return null;
|
|
@@ -184,10 +151,22 @@ function ObjectiveChatResizeHandle({
|
|
|
184
151
|
className="group relative z-10 hidden w-0 shrink-0 cursor-col-resize xl:block"
|
|
185
152
|
onMouseDown={(event) => {
|
|
186
153
|
event.preventDefault();
|
|
187
|
-
|
|
188
|
-
lastX.current = event.clientX;
|
|
154
|
+
let lastX = event.clientX;
|
|
189
155
|
document.body.style.cursor = "col-resize";
|
|
190
156
|
document.body.style.userSelect = "none";
|
|
157
|
+
const onMouseMove = (ev: MouseEvent) => {
|
|
158
|
+
const delta = lastX - ev.clientX;
|
|
159
|
+
lastX = ev.clientX;
|
|
160
|
+
onResize(delta);
|
|
161
|
+
};
|
|
162
|
+
const onMouseUp = () => {
|
|
163
|
+
document.body.style.cursor = "";
|
|
164
|
+
document.body.style.userSelect = "";
|
|
165
|
+
window.removeEventListener("mousemove", onMouseMove);
|
|
166
|
+
window.removeEventListener("mouseup", onMouseUp);
|
|
167
|
+
};
|
|
168
|
+
window.addEventListener("mousemove", onMouseMove);
|
|
169
|
+
window.addEventListener("mouseup", onMouseUp);
|
|
191
170
|
}}
|
|
192
171
|
>
|
|
193
172
|
<div className="absolute inset-y-0 -left-0.5 w-1 transition-colors group-hover:bg-[var(--primary)]/40" />
|
|
@@ -209,8 +188,6 @@ function buildEmptyObjectiveDraft(): ObjectiveEditorDraft {
|
|
|
209
188
|
title: "",
|
|
210
189
|
teamId: "",
|
|
211
190
|
summary: "",
|
|
212
|
-
cadence: "",
|
|
213
|
-
condition: "",
|
|
214
191
|
};
|
|
215
192
|
}
|
|
216
193
|
|
|
@@ -220,8 +197,6 @@ function buildObjectiveDraft(objective: ProjectObjective): ObjectiveEditorDraft
|
|
|
220
197
|
title: objective.title,
|
|
221
198
|
teamId: objective.teamId,
|
|
222
199
|
summary: objective.summary,
|
|
223
|
-
cadence: objective.cadence,
|
|
224
|
-
condition: objective.condition,
|
|
225
200
|
};
|
|
226
201
|
}
|
|
227
202
|
|
|
@@ -268,12 +243,6 @@ function getTeamName(teams: ProjectTeamSummary[], teamId: string): string | null
|
|
|
268
243
|
return teams.find((team) => team.id === teamId)?.name ?? null;
|
|
269
244
|
}
|
|
270
245
|
|
|
271
|
-
function formatObjectiveCadence(cadence: string): string {
|
|
272
|
-
const trimmed = cadence.trim();
|
|
273
|
-
if (!trimmed) return "Not set yet";
|
|
274
|
-
return cronToHuman(trimmed) ?? trimmed;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
246
|
function prependObjectiveLabelToPrompt(
|
|
278
247
|
objective: Pick<ProjectObjective, "key">,
|
|
279
248
|
prompt: string
|
|
@@ -401,27 +370,24 @@ function buildObjectiveChatPrefix(
|
|
|
401
370
|
`Objective label: ${objective.key}`,
|
|
402
371
|
teamName ? `Owning team: ${teamName}` : "",
|
|
403
372
|
notesPreview ? `Current notes:\n${notesPreview}` : "Current notes: none yet.",
|
|
404
|
-
objective.
|
|
405
|
-
? `Wake schedule: ${formatObjectiveCadence(objective.cadence)}`
|
|
406
|
-
: "Wake schedule: not set yet.",
|
|
407
|
-
objective.condition ? `Wake condition: ${objective.condition}` : "",
|
|
373
|
+
"Wake schedule: managed by the built-in objective worker job.",
|
|
408
374
|
|
|
409
|
-
`## Objective file (source of truth)\n\nThis objective is stored as a frontmatter markdown file at:\n\`${objectiveFilePath}\`\n\nFile format:\n- YAML frontmatter between \`---\` delimiters contains all metadata (title, teamId, key, status, progress,
|
|
375
|
+
`## Objective file (source of truth)\n\nThis objective is stored as a frontmatter markdown file at:\n\`${objectiveFilePath}\`\n\nFile format:\n- YAML frontmatter between \`---\` delimiters contains all metadata (title, teamId, key, status, progress, scheduledTaskIds, threadId, chatSessionVersion, createdAt, updatedAt).\n- \`## Activities\` section contains the activity timeline; each activity is a \`### Title\` block with metadata lines (\`- **id:**\`, \`- **source:**\`, \`- **created:**\`, \`- **body:**\`) and optional \`#### Replies\` sub-section.\n\nNotes are stored as separate files in \`${notesDir}\`. Each note is a markdown file with YAML frontmatter (id, title, objectiveId, createdAt, updatedAt) and a markdown body.\n\nWhen updating the objective, you can edit this file directly. Rules:\n- NEVER remove or break the \`---\` frontmatter delimiters.\n- NEVER change the \`id\` or \`createdAt\` fields.\n- Always update \`updatedAt\` to the current ISO timestamp when making changes.\n- After any edit, call \`GET ${validateRoute}\` to verify the file is still valid.\n- If validation fails, fix the errors immediately before doing anything else.`,
|
|
410
376
|
|
|
411
377
|
"Scheduled tasks live in the shared scheduled-task list and are filtered by this objective label.",
|
|
412
|
-
"Your job is to help the team develop the strategy needed to reach the goal, including the right combination of objective notes,
|
|
378
|
+
"Your job is to help the team develop the strategy needed to reach the goal, including the right combination of objective notes, scheduled tasks, and Linear tickets.",
|
|
413
379
|
"Use the current session history to build on prior reasoning. Only reset and start from scratch when the user explicitly starts a new session.",
|
|
414
380
|
"Use this thread to pressure-test strategy, suggest better tactics, rewrite the objective when asked, propose the right operational cadence, and take concrete follow-up actions when the user wants them applied.",
|
|
415
381
|
"When suggesting edits, prefer editing the frontmatter file directly or using the notes API. When the user asks you to make a change, edit the file, validate, then confirm.",
|
|
416
382
|
"Local objective APIs:",
|
|
417
|
-
`- PATCH ${objectiveRoute} with JSON fields such as {"title","
|
|
383
|
+
`- PATCH ${objectiveRoute} with JSON fields such as {"title","teamId","key"} to update the objective itself.`,
|
|
418
384
|
`- GET ${notesRoute} to list all notes for this objective. Returns {"notes":[...],"total","page","limit","hasMore"}.`,
|
|
419
385
|
`- POST ${notesRoute} with {"title","body"} to create a new note.`,
|
|
420
386
|
`- GET ${notesRoute}/{noteId} to read a single note.`,
|
|
421
387
|
`- PATCH ${notesRoute}/{noteId} with {"title","body"} to update a note.`,
|
|
422
388
|
`- DELETE ${notesRoute}/{noteId} to delete a note.`,
|
|
423
389
|
`- GET ${scheduledTasksRoute} to inspect the scheduled tasks already tracked for this objective.`,
|
|
424
|
-
`- POST ${scheduledTasksRoute} with {"name","prompt","cadence","
|
|
390
|
+
`- POST ${scheduledTasksRoute} with {"name","prompt","cadence","agentId"} to create a scheduled task for this objective.`,
|
|
425
391
|
`- GET ${linearIssuesRoute} to inspect Linear tickets carrying the objective label "${objective.key}".`,
|
|
426
392
|
`- POST ${linearIssuesRoute} with {"title","description","teamId","assigneeId","cycleId","stateId","priority"} to create a Linear ticket labeled "${objective.key}".`,
|
|
427
393
|
`- GET ${validateRoute} to validate the objective file on disk. Returns {"valid":true} or {"valid":false,"errors":[...]}.`,
|
|
@@ -1300,33 +1266,6 @@ function ObjectiveListResizeHandle({
|
|
|
1300
1266
|
onResize: (delta: number) => void;
|
|
1301
1267
|
}) {
|
|
1302
1268
|
const { isTouchLayout } = useInputCapabilities();
|
|
1303
|
-
const dragging = useRef(false);
|
|
1304
|
-
const lastX = useRef(0);
|
|
1305
|
-
|
|
1306
|
-
useEffect(() => {
|
|
1307
|
-
if (isTouchLayout || !dragging.current) return;
|
|
1308
|
-
|
|
1309
|
-
const onMouseMove = (event: MouseEvent) => {
|
|
1310
|
-
const delta = event.clientX - lastX.current;
|
|
1311
|
-
lastX.current = event.clientX;
|
|
1312
|
-
onResize(delta);
|
|
1313
|
-
};
|
|
1314
|
-
|
|
1315
|
-
const onMouseUp = () => {
|
|
1316
|
-
dragging.current = false;
|
|
1317
|
-
document.body.style.cursor = "";
|
|
1318
|
-
document.body.style.userSelect = "";
|
|
1319
|
-
window.removeEventListener("mousemove", onMouseMove);
|
|
1320
|
-
window.removeEventListener("mouseup", onMouseUp);
|
|
1321
|
-
};
|
|
1322
|
-
|
|
1323
|
-
window.addEventListener("mousemove", onMouseMove);
|
|
1324
|
-
window.addEventListener("mouseup", onMouseUp);
|
|
1325
|
-
return () => {
|
|
1326
|
-
window.removeEventListener("mousemove", onMouseMove);
|
|
1327
|
-
window.removeEventListener("mouseup", onMouseUp);
|
|
1328
|
-
};
|
|
1329
|
-
}, [isTouchLayout, onResize]);
|
|
1330
1269
|
|
|
1331
1270
|
if (isTouchLayout) {
|
|
1332
1271
|
return null;
|
|
@@ -1340,10 +1279,22 @@ function ObjectiveListResizeHandle({
|
|
|
1340
1279
|
className="group relative z-10 w-0 shrink-0 cursor-col-resize"
|
|
1341
1280
|
onMouseDown={(event) => {
|
|
1342
1281
|
event.preventDefault();
|
|
1343
|
-
|
|
1344
|
-
lastX.current = event.clientX;
|
|
1282
|
+
let lastX = event.clientX;
|
|
1345
1283
|
document.body.style.cursor = "col-resize";
|
|
1346
1284
|
document.body.style.userSelect = "none";
|
|
1285
|
+
const onMouseMove = (ev: MouseEvent) => {
|
|
1286
|
+
const delta = ev.clientX - lastX;
|
|
1287
|
+
lastX = ev.clientX;
|
|
1288
|
+
onResize(delta);
|
|
1289
|
+
};
|
|
1290
|
+
const onMouseUp = () => {
|
|
1291
|
+
document.body.style.cursor = "";
|
|
1292
|
+
document.body.style.userSelect = "";
|
|
1293
|
+
window.removeEventListener("mousemove", onMouseMove);
|
|
1294
|
+
window.removeEventListener("mouseup", onMouseUp);
|
|
1295
|
+
};
|
|
1296
|
+
window.addEventListener("mousemove", onMouseMove);
|
|
1297
|
+
window.addEventListener("mouseup", onMouseUp);
|
|
1347
1298
|
}}
|
|
1348
1299
|
>
|
|
1349
1300
|
<div className="absolute inset-y-0 -left-0.5 w-1 transition-colors group-hover:bg-[var(--primary)]/40" />
|
|
@@ -1524,8 +1475,6 @@ export function ProjectObjectivesOverview({
|
|
|
1524
1475
|
teamId,
|
|
1525
1476
|
key: generateProjectObjectiveKey(title, workspace.objectives),
|
|
1526
1477
|
summary: objectiveEditor.summary,
|
|
1527
|
-
cadence: objectiveEditor.cadence,
|
|
1528
|
-
condition: objectiveEditor.condition,
|
|
1529
1478
|
now,
|
|
1530
1479
|
});
|
|
1531
1480
|
|
|
@@ -1534,6 +1483,17 @@ export function ProjectObjectivesOverview({
|
|
|
1534
1483
|
|
|
1535
1484
|
try {
|
|
1536
1485
|
await persistWorkspace(upsertProjectObjective(workspace, nextObjective));
|
|
1486
|
+
|
|
1487
|
+
// After the persist succeeds, ensure the built-in worker job exists
|
|
1488
|
+
try {
|
|
1489
|
+
await fetch(
|
|
1490
|
+
`/api/projects/${project?.id}/objectives/${nextObjective.id}/worker`,
|
|
1491
|
+
{ method: 'POST', headers: { 'Content-Type': 'application/json' } },
|
|
1492
|
+
);
|
|
1493
|
+
} catch {
|
|
1494
|
+
// Worker job creation is best-effort — will be lazily created on first run
|
|
1495
|
+
}
|
|
1496
|
+
|
|
1537
1497
|
setObjectiveEditor(null);
|
|
1538
1498
|
setSelectedObjectiveId(nextObjective.id);
|
|
1539
1499
|
} catch (error) {
|
|
@@ -1685,7 +1645,6 @@ export function ProjectObjectiveDetail({
|
|
|
1685
1645
|
const teamName = objective ? getTeamName(teams, objective.teamId) : null;
|
|
1686
1646
|
const [objectiveEditor, setObjectiveEditor] = useState<ObjectiveEditorDraft | null>(null);
|
|
1687
1647
|
const [teamEditor, setTeamEditor] = useState<ObjectiveTeamDraft | null>(null);
|
|
1688
|
-
const [wakeEditor, setWakeEditor] = useState<ObjectiveEditorDraft | null>(null);
|
|
1689
1648
|
|
|
1690
1649
|
const [activeTab, setActiveTab] = useState<ObjectiveDetailTab>("activity");
|
|
1691
1650
|
const [activityTotal, setActivityTotal] = useState(0);
|
|
@@ -1697,11 +1656,11 @@ export function ProjectObjectiveDetail({
|
|
|
1697
1656
|
const [noteDrafts, setNoteDrafts] = useState<Record<string, string>>({});
|
|
1698
1657
|
const [noteTitleDrafts, setNoteTitleDrafts] = useState<Record<string, string>>({});
|
|
1699
1658
|
const [savingNoteIds, setSavingNoteIds] = useState<Set<string>>(new Set());
|
|
1700
|
-
const [newNoteTitle, setNewNoteTitle] = useState("");
|
|
1701
1659
|
const [isCreatingNote, setIsCreatingNote] = useState(false);
|
|
1660
|
+
const [noteSearch, setNoteSearch] = useState("");
|
|
1702
1661
|
const [linearIssues, setLinearIssues] = useState<ObjectiveLinearIssueSummary[]>([]);
|
|
1703
1662
|
const [linearConnected, setLinearConnected] = useState(true);
|
|
1704
|
-
const [
|
|
1663
|
+
const [workingOnObjective, setWorkingOnObjective] = useState(false);
|
|
1705
1664
|
|
|
1706
1665
|
const { jobs: scheduledJobs } = usePromptJobs(project?.id ?? null, {
|
|
1707
1666
|
requireProjectId: true,
|
|
@@ -1847,7 +1806,6 @@ export function ProjectObjectiveDetail({
|
|
|
1847
1806
|
|
|
1848
1807
|
const handleCreateNote = async () => {
|
|
1849
1808
|
if (!project?.id || !objective?.id) return;
|
|
1850
|
-
const title = newNoteTitle.trim() || "Untitled";
|
|
1851
1809
|
setIsCreatingNote(true);
|
|
1852
1810
|
try {
|
|
1853
1811
|
const res = await fetch(
|
|
@@ -1855,14 +1813,13 @@ export function ProjectObjectiveDetail({
|
|
|
1855
1813
|
{
|
|
1856
1814
|
method: "POST",
|
|
1857
1815
|
headers: { "Content-Type": "application/json" },
|
|
1858
|
-
body: JSON.stringify({ title, body: "" }),
|
|
1816
|
+
body: JSON.stringify({ title: "Untitled", body: "" }),
|
|
1859
1817
|
},
|
|
1860
1818
|
);
|
|
1861
1819
|
if (res.ok) {
|
|
1862
1820
|
const data = await res.json();
|
|
1863
1821
|
setNotes((prev) => [data.note, ...prev]);
|
|
1864
1822
|
setEditingNoteId(data.note.id);
|
|
1865
|
-
setNewNoteTitle("");
|
|
1866
1823
|
}
|
|
1867
1824
|
} catch {
|
|
1868
1825
|
setSaveError("Failed to create note.");
|
|
@@ -1911,19 +1868,6 @@ export function ProjectObjectiveDetail({
|
|
|
1911
1868
|
setTeamEditor(null);
|
|
1912
1869
|
};
|
|
1913
1870
|
|
|
1914
|
-
const handleWakeSave = async () => {
|
|
1915
|
-
if (!wakeEditor || !objective) return;
|
|
1916
|
-
|
|
1917
|
-
const nextObjective = {
|
|
1918
|
-
...objective,
|
|
1919
|
-
cadence: wakeEditor.cadence.trim(),
|
|
1920
|
-
condition: wakeEditor.condition.trim(),
|
|
1921
|
-
updatedAt: new Date().toISOString(),
|
|
1922
|
-
};
|
|
1923
|
-
|
|
1924
|
-
await runPersist(upsertProjectObjective(workspace, nextObjective));
|
|
1925
|
-
setWakeEditor(null);
|
|
1926
|
-
};
|
|
1927
1871
|
|
|
1928
1872
|
const handleObjectiveDelete = async () => {
|
|
1929
1873
|
if (!objective) return;
|
|
@@ -1964,7 +1908,6 @@ export function ProjectObjectiveDetail({
|
|
|
1964
1908
|
catchUpPolicy: string;
|
|
1965
1909
|
cadence: string;
|
|
1966
1910
|
condition: string;
|
|
1967
|
-
executionMode?: PromptJobExecutionMode;
|
|
1968
1911
|
}) => {
|
|
1969
1912
|
if (!project?.id || !objective?.id) {
|
|
1970
1913
|
setSaveError("Objective not found.");
|
|
@@ -1981,10 +1924,7 @@ export function ProjectObjectiveDetail({
|
|
|
1981
1924
|
headers: { "Content-Type": "application/json" },
|
|
1982
1925
|
body: JSON.stringify({
|
|
1983
1926
|
...data,
|
|
1984
|
-
prompt:
|
|
1985
|
-
data.executionMode === "objective_linear_ticket"
|
|
1986
|
-
? data.prompt
|
|
1987
|
-
: prependObjectiveLabelToPrompt(objective, data.prompt),
|
|
1927
|
+
prompt: prependObjectiveLabelToPrompt(objective, data.prompt),
|
|
1988
1928
|
}),
|
|
1989
1929
|
}
|
|
1990
1930
|
);
|
|
@@ -2006,7 +1946,7 @@ export function ProjectObjectiveDetail({
|
|
|
2006
1946
|
[objective, project?.id, refetchProject]
|
|
2007
1947
|
);
|
|
2008
1948
|
|
|
2009
|
-
const
|
|
1949
|
+
const handleWorkOnObjective = useCallback(async () => {
|
|
2010
1950
|
if (!project?.id || !objective?.id) {
|
|
2011
1951
|
setSaveError("Objective not found.");
|
|
2012
1952
|
return false;
|
|
@@ -2021,27 +1961,20 @@ export function ProjectObjectiveDetail({
|
|
|
2021
1961
|
|
|
2022
1962
|
try {
|
|
2023
1963
|
const response = await fetch(
|
|
2024
|
-
`/api/projects/${project.id}/objectives/${objective.id}/
|
|
2025
|
-
{
|
|
2026
|
-
method: "POST",
|
|
2027
|
-
headers: { "Content-Type": "application/json" },
|
|
2028
|
-
body: JSON.stringify({
|
|
2029
|
-
name: DEFAULT_OBJECTIVE_LINEAR_WORKER_NAME,
|
|
2030
|
-
executionMode: "objective_linear_ticket",
|
|
2031
|
-
}),
|
|
2032
|
-
}
|
|
1964
|
+
`/api/projects/${project.id}/objectives/${objective.id}/worker`,
|
|
1965
|
+
{ method: "PUT" },
|
|
2033
1966
|
);
|
|
2034
1967
|
const payload = (await response.json().catch(() => ({}))) as { error?: string };
|
|
2035
1968
|
|
|
2036
1969
|
if (!response.ok) {
|
|
2037
|
-
throw new Error(payload.error || "Failed to
|
|
1970
|
+
throw new Error(payload.error || "Failed to trigger objective worker.");
|
|
2038
1971
|
}
|
|
2039
1972
|
|
|
2040
1973
|
await refetchProject();
|
|
2041
1974
|
return true;
|
|
2042
1975
|
} catch (error) {
|
|
2043
1976
|
setSaveError(
|
|
2044
|
-
error instanceof Error ? error.message : "Failed to
|
|
1977
|
+
error instanceof Error ? error.message : "Failed to trigger objective worker."
|
|
2045
1978
|
);
|
|
2046
1979
|
return false;
|
|
2047
1980
|
}
|
|
@@ -2239,26 +2172,35 @@ export function ProjectObjectiveDetail({
|
|
|
2239
2172
|
)}
|
|
2240
2173
|
</div>
|
|
2241
2174
|
|
|
2242
|
-
{
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
)
|
|
2261
|
-
|
|
2175
|
+
{project.id && objective.id ? (
|
|
2176
|
+
<ObjectiveHealthTrend
|
|
2177
|
+
projectId={project.id}
|
|
2178
|
+
objectiveId={objective.id}
|
|
2179
|
+
objectiveKey={objective.key}
|
|
2180
|
+
metadata={project.metadata}
|
|
2181
|
+
currentProgress={objective.progress}
|
|
2182
|
+
currentStatus={objective.status}
|
|
2183
|
+
objectiveUpdatedAt={objective.updatedAt}
|
|
2184
|
+
/>
|
|
2185
|
+
) : null}
|
|
2186
|
+
|
|
2187
|
+
</div>
|
|
2188
|
+
|
|
2189
|
+
{/* Work on objective */}
|
|
2190
|
+
<div className="mb-6">
|
|
2191
|
+
<button
|
|
2192
|
+
type="button"
|
|
2193
|
+
onClick={async () => {
|
|
2194
|
+
setWorkingOnObjective(true);
|
|
2195
|
+
await handleWorkOnObjective();
|
|
2196
|
+
setWorkingOnObjective(false);
|
|
2197
|
+
}}
|
|
2198
|
+
disabled={workingOnObjective}
|
|
2199
|
+
className="inline-flex items-center gap-2 rounded-xl border border-[var(--status-completed-border)] bg-[var(--status-completed-bg)] px-3 py-2 text-sm text-[var(--status-completed-text)] transition-opacity hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50"
|
|
2200
|
+
>
|
|
2201
|
+
<Sparkles className="h-4 w-4" />
|
|
2202
|
+
{workingOnObjective ? "Working..." : "Work on objective"}
|
|
2203
|
+
</button>
|
|
2262
2204
|
</div>
|
|
2263
2205
|
|
|
2264
2206
|
{/* Tabs */}
|
|
@@ -2318,24 +2260,18 @@ export function ProjectObjectiveDetail({
|
|
|
2318
2260
|
{/* Notes Tab */}
|
|
2319
2261
|
{activeTab === "notes" && (
|
|
2320
2262
|
<section className="space-y-4">
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
onKeyDown={(e) => {
|
|
2334
|
-
if (e.key === "Enter") handleCreateNote();
|
|
2335
|
-
}}
|
|
2336
|
-
placeholder="New note title..."
|
|
2337
|
-
className="flex-1 rounded-md border border-[var(--border)] bg-[var(--input)] px-3 py-1.5 text-sm text-[var(--foreground)] placeholder:text-[var(--app-shell-soft-text)] focus:border-[var(--primary)] focus:outline-none"
|
|
2338
|
-
/>
|
|
2263
|
+
{/* Search + Create */}
|
|
2264
|
+
<div className="flex gap-2 items-center">
|
|
2265
|
+
<div className="relative flex-1">
|
|
2266
|
+
<Search size={14} className="absolute left-3 top-1/2 -translate-y-1/2 text-[var(--muted-foreground)]" />
|
|
2267
|
+
<input
|
|
2268
|
+
type="text"
|
|
2269
|
+
value={noteSearch}
|
|
2270
|
+
onChange={(e) => setNoteSearch(e.target.value)}
|
|
2271
|
+
placeholder="Search notes..."
|
|
2272
|
+
className="w-full rounded-md border border-[var(--border)] bg-[var(--input)] py-1.5 pl-8 pr-3 text-sm text-[var(--foreground)] placeholder:text-[var(--app-shell-soft-text)] focus:border-[var(--primary)] focus:outline-none"
|
|
2273
|
+
/>
|
|
2274
|
+
</div>
|
|
2339
2275
|
<button
|
|
2340
2276
|
type="button"
|
|
2341
2277
|
onClick={handleCreateNote}
|
|
@@ -2343,121 +2279,130 @@ export function ProjectObjectiveDetail({
|
|
|
2343
2279
|
className="flex items-center gap-1.5 rounded-md border border-[var(--status-in-progress-border)] bg-[var(--status-in-progress-bg)] px-3 py-1.5 text-sm font-medium text-[var(--status-in-progress-text)] transition-opacity hover:opacity-90 disabled:opacity-50"
|
|
2344
2280
|
>
|
|
2345
2281
|
<Plus size={14} />
|
|
2346
|
-
|
|
2282
|
+
New note
|
|
2347
2283
|
</button>
|
|
2348
2284
|
</div>
|
|
2349
2285
|
|
|
2350
|
-
{/*
|
|
2286
|
+
{/* Masonry Grid */}
|
|
2351
2287
|
{isNotesLoading ? (
|
|
2352
2288
|
<p className="py-4 text-sm text-[var(--muted-foreground)]">Loading notes...</p>
|
|
2353
2289
|
) : notes.length === 0 ? (
|
|
2354
2290
|
<p className="text-sm text-[var(--muted-foreground)] py-4">
|
|
2355
2291
|
No notes yet. Add one above.
|
|
2356
2292
|
</p>
|
|
2357
|
-
) : (
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2293
|
+
) : (() => {
|
|
2294
|
+
const q = noteSearch.toLowerCase();
|
|
2295
|
+
const filtered = q
|
|
2296
|
+
? notes.filter(
|
|
2297
|
+
(n) =>
|
|
2298
|
+
n.title.toLowerCase().includes(q) ||
|
|
2299
|
+
n.body.toLowerCase().includes(q),
|
|
2300
|
+
)
|
|
2301
|
+
: notes;
|
|
2302
|
+
return filtered.length === 0 ? (
|
|
2303
|
+
<p className="text-sm text-[var(--muted-foreground)] py-4">
|
|
2304
|
+
No notes match your search.
|
|
2305
|
+
</p>
|
|
2306
|
+
) : (
|
|
2307
|
+
<div className="columns-1 gap-3 sm:columns-2 lg:columns-3" style={{ columnFill: "balance" as const }}>
|
|
2308
|
+
{filtered.map((note) => (
|
|
2309
|
+
<button
|
|
2367
2310
|
key={note.id}
|
|
2368
|
-
|
|
2311
|
+
type="button"
|
|
2312
|
+
onClick={() => setEditingNoteId(note.id)}
|
|
2313
|
+
className="mb-3 block w-full break-inside-avoid overflow-hidden rounded-lg border border-[var(--border)] bg-[var(--overlay-panel-muted)] text-left transition-shadow hover:shadow-md"
|
|
2369
2314
|
>
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
<FileText size={14} className="shrink-0 text-[var(--muted-foreground)]" />
|
|
2375
|
-
<input
|
|
2376
|
-
type="text"
|
|
2377
|
-
value={draftTitle}
|
|
2378
|
-
onChange={(e) =>
|
|
2379
|
-
setNoteTitleDrafts((prev) => ({
|
|
2380
|
-
...prev,
|
|
2381
|
-
[note.id]: e.target.value,
|
|
2382
|
-
}))
|
|
2383
|
-
}
|
|
2384
|
-
className="flex-1 border-b border-[var(--border)] bg-transparent py-0.5 text-sm font-medium text-[var(--foreground)] focus:border-[var(--primary)] focus:outline-none"
|
|
2385
|
-
/>
|
|
2386
|
-
</div>
|
|
2387
|
-
) : (
|
|
2388
|
-
<button
|
|
2389
|
-
type="button"
|
|
2390
|
-
onClick={() =>
|
|
2391
|
-
setEditingNoteId(note.id)
|
|
2392
|
-
}
|
|
2393
|
-
className="flex items-center gap-2 text-sm font-medium text-[var(--foreground)] transition-colors hover:text-[var(--primary)]"
|
|
2394
|
-
>
|
|
2395
|
-
<FileText size={14} className="text-[var(--muted-foreground)]" />
|
|
2396
|
-
{note.title}
|
|
2397
|
-
</button>
|
|
2398
|
-
)}
|
|
2399
|
-
<div className="flex items-center gap-2">
|
|
2400
|
-
<span className="text-[11px] text-[var(--muted-foreground)]">
|
|
2401
|
-
{isSavingNote
|
|
2402
|
-
? "Saving..."
|
|
2403
|
-
: new Date(note.updatedAt).toLocaleDateString()}
|
|
2404
|
-
</span>
|
|
2405
|
-
<button
|
|
2406
|
-
type="button"
|
|
2407
|
-
onClick={() =>
|
|
2408
|
-
setEditingNoteId(isEditing ? null : note.id)
|
|
2409
|
-
}
|
|
2410
|
-
className="p-1 text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]"
|
|
2411
|
-
>
|
|
2412
|
-
<Pencil size={12} />
|
|
2413
|
-
</button>
|
|
2414
|
-
<button
|
|
2415
|
-
type="button"
|
|
2416
|
-
onClick={() => handleDeleteNote(note.id)}
|
|
2417
|
-
className="p-1 text-[var(--muted-foreground)] transition-colors hover:text-[var(--destructive)]"
|
|
2418
|
-
>
|
|
2419
|
-
<Trash2 size={12} />
|
|
2420
|
-
</button>
|
|
2421
|
-
</div>
|
|
2315
|
+
<div className="px-3 pt-3 pb-1">
|
|
2316
|
+
<h4 className="text-sm font-medium text-[var(--foreground)] leading-snug">
|
|
2317
|
+
{note.title}
|
|
2318
|
+
</h4>
|
|
2422
2319
|
</div>
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
<div className="px-4 py-3">
|
|
2427
|
-
<ObjectiveNotesEditor
|
|
2428
|
-
content={draftBody}
|
|
2429
|
-
editable
|
|
2430
|
-
onChange={(value) =>
|
|
2431
|
-
setNoteDrafts((prev) => ({
|
|
2432
|
-
...prev,
|
|
2433
|
-
[note.id]: value,
|
|
2434
|
-
}))
|
|
2435
|
-
}
|
|
2436
|
-
placeholder="Write your note..."
|
|
2437
|
-
/>
|
|
2320
|
+
{note.body.trim() && (
|
|
2321
|
+
<div className="px-3 pb-2 text-xs text-[var(--muted-foreground)] line-clamp-4">
|
|
2322
|
+
<Markdown content={note.body} />
|
|
2438
2323
|
</div>
|
|
2439
|
-
)
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2324
|
+
)}
|
|
2325
|
+
<div className="flex items-center justify-between px-3 pb-2">
|
|
2326
|
+
<span className="text-[10px] text-[var(--muted-foreground)]">
|
|
2327
|
+
{new Date(note.updatedAt).toLocaleDateString()}
|
|
2328
|
+
</span>
|
|
2329
|
+
</div>
|
|
2330
|
+
</button>
|
|
2331
|
+
))}
|
|
2332
|
+
</div>
|
|
2333
|
+
);
|
|
2334
|
+
})()}
|
|
2335
|
+
|
|
2336
|
+
{/* Note Edit Modal */}
|
|
2337
|
+
{editingNoteId && (() => {
|
|
2338
|
+
const note = notes.find((n) => n.id === editingNoteId);
|
|
2339
|
+
if (!note) return null;
|
|
2340
|
+
const draftBody = noteDrafts[note.id] ?? note.body;
|
|
2341
|
+
const draftTitle = noteTitleDrafts[note.id] ?? note.title;
|
|
2342
|
+
const isSavingNote = savingNoteIds.has(note.id);
|
|
2343
|
+
return (
|
|
2344
|
+
<div
|
|
2345
|
+
className="fixed inset-0 z-50 flex items-start justify-center bg-black/50 pt-[5vh]"
|
|
2346
|
+
onClick={(e) => {
|
|
2347
|
+
if (e.target === e.currentTarget) setEditingNoteId(null);
|
|
2348
|
+
}}
|
|
2349
|
+
>
|
|
2350
|
+
<div className="mx-6 w-full max-w-7xl rounded-xl border border-[var(--border)] bg-[var(--background)] shadow-xl">
|
|
2351
|
+
{/* Modal Header */}
|
|
2352
|
+
<div className="flex items-center justify-between border-b border-[var(--border)] px-5 py-3">
|
|
2353
|
+
<input
|
|
2354
|
+
type="text"
|
|
2355
|
+
autoFocus
|
|
2356
|
+
value={draftTitle}
|
|
2357
|
+
onFocus={(e) => {
|
|
2358
|
+
if (draftTitle === "Untitled") e.target.select();
|
|
2359
|
+
}}
|
|
2360
|
+
onChange={(e) =>
|
|
2361
|
+
setNoteTitleDrafts((prev) => ({
|
|
2362
|
+
...prev,
|
|
2363
|
+
[note.id]: e.target.value,
|
|
2364
|
+
}))
|
|
2365
|
+
}
|
|
2366
|
+
className="flex-1 bg-transparent text-base font-semibold text-[var(--foreground)] focus:outline-none"
|
|
2367
|
+
/>
|
|
2368
|
+
<div className="flex items-center gap-2 ml-3">
|
|
2369
|
+
<span className="text-[11px] text-[var(--muted-foreground)]">
|
|
2370
|
+
{isSavingNote ? "Saving..." : new Date(note.updatedAt).toLocaleDateString()}
|
|
2371
|
+
</span>
|
|
2372
|
+
<button
|
|
2373
|
+
type="button"
|
|
2374
|
+
onClick={() => handleDeleteNote(note.id)}
|
|
2375
|
+
className="p-1 text-[var(--muted-foreground)] transition-colors hover:text-[var(--destructive)]"
|
|
2443
2376
|
>
|
|
2444
|
-
<
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
className="cursor-pointer px-4 py-3 text-sm italic text-[var(--muted-foreground)] transition-colors hover:bg-[var(--overlay-panel-muted)]"
|
|
2451
|
-
onClick={() => setEditingNoteId(note.id)}
|
|
2377
|
+
<Trash2 size={14} />
|
|
2378
|
+
</button>
|
|
2379
|
+
<button
|
|
2380
|
+
type="button"
|
|
2381
|
+
onClick={() => setEditingNoteId(null)}
|
|
2382
|
+
className="p-1 text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]"
|
|
2452
2383
|
>
|
|
2453
|
-
|
|
2454
|
-
</
|
|
2455
|
-
|
|
2384
|
+
<X size={14} />
|
|
2385
|
+
</button>
|
|
2386
|
+
</div>
|
|
2456
2387
|
</div>
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2388
|
+
{/* Modal Body */}
|
|
2389
|
+
<div className="max-h-[75vh] overflow-y-auto px-5 py-4">
|
|
2390
|
+
<ObjectiveNotesEditor
|
|
2391
|
+
content={draftBody}
|
|
2392
|
+
editable
|
|
2393
|
+
onChange={(value) =>
|
|
2394
|
+
setNoteDrafts((prev) => ({
|
|
2395
|
+
...prev,
|
|
2396
|
+
[note.id]: value,
|
|
2397
|
+
}))
|
|
2398
|
+
}
|
|
2399
|
+
placeholder="Write your note..."
|
|
2400
|
+
/>
|
|
2401
|
+
</div>
|
|
2402
|
+
</div>
|
|
2403
|
+
</div>
|
|
2404
|
+
);
|
|
2405
|
+
})()}
|
|
2461
2406
|
</section>
|
|
2462
2407
|
)}
|
|
2463
2408
|
|
|
@@ -2492,20 +2437,6 @@ export function ProjectObjectiveDetail({
|
|
|
2492
2437
|
{objective.key}
|
|
2493
2438
|
</code>.
|
|
2494
2439
|
</p>
|
|
2495
|
-
<button
|
|
2496
|
-
type="button"
|
|
2497
|
-
onClick={async () => {
|
|
2498
|
-
setCreatingLinearWorker(true);
|
|
2499
|
-
await handleObjectiveLinearWorkerCreate();
|
|
2500
|
-
setCreatingLinearWorker(false);
|
|
2501
|
-
}}
|
|
2502
|
-
disabled={creatingLinearWorker || !objective.teamId}
|
|
2503
|
-
title={!objective.teamId ? "Assign a team to this objective first" : undefined}
|
|
2504
|
-
className="inline-flex items-center gap-2 rounded-xl border border-[var(--status-completed-border)] bg-[var(--status-completed-bg)] px-3 py-2 text-sm text-[var(--status-completed-text)] transition-opacity hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50"
|
|
2505
|
-
>
|
|
2506
|
-
<Sparkles className="h-4 w-4" />
|
|
2507
|
-
{creatingLinearWorker ? "Creating..." : !objective.teamId ? "Assign team to work" : "Work Linear tickets"}
|
|
2508
|
-
</button>
|
|
2509
2440
|
</div>
|
|
2510
2441
|
{!linearConnected ? (
|
|
2511
2442
|
<EmptyState label="Connect Linear to create and track tickets for this objective." />
|
|
@@ -2525,20 +2456,12 @@ export function ProjectObjectiveDetail({
|
|
|
2525
2456
|
<p className="text-xs font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]">
|
|
2526
2457
|
{issue.identifier}
|
|
2527
2458
|
</p>
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
>
|
|
2535
|
-
{issue.title}
|
|
2536
|
-
</a>
|
|
2537
|
-
) : (
|
|
2538
|
-
<p className="mt-1 text-sm font-medium text-[var(--foreground)]">
|
|
2539
|
-
{issue.title}
|
|
2540
|
-
</p>
|
|
2541
|
-
)}
|
|
2459
|
+
<a
|
|
2460
|
+
href={`/projects/${projectSlug}/linear?issue=${issue.id}`}
|
|
2461
|
+
className="mt-1 block text-sm font-medium text-[var(--foreground)] transition-colors hover:text-[var(--primary)]"
|
|
2462
|
+
>
|
|
2463
|
+
{issue.title}
|
|
2464
|
+
</a>
|
|
2542
2465
|
</div>
|
|
2543
2466
|
<span className="rounded-full border border-[var(--tone-neutral-border)] px-2 py-1 text-[10px] font-semibold uppercase tracking-[0.18em] text-[var(--tone-neutral)]">
|
|
2544
2467
|
{issue.status}
|
|
@@ -2562,9 +2485,7 @@ export function ProjectObjectiveDetail({
|
|
|
2562
2485
|
{doneIssues.map((issue) => (
|
|
2563
2486
|
<a
|
|
2564
2487
|
key={issue.id}
|
|
2565
|
-
href={issue.
|
|
2566
|
-
target="_blank"
|
|
2567
|
-
rel="noreferrer"
|
|
2488
|
+
href={`/projects/${projectSlug}/linear?issue=${issue.id}`}
|
|
2568
2489
|
className="group flex items-center gap-3 rounded-md px-2 py-1.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--muted)] hover:text-[var(--foreground)]"
|
|
2569
2490
|
>
|
|
2570
2491
|
<span className="text-[11px] font-mono shrink-0">{issue.identifier}</span>
|
|
@@ -2590,8 +2511,6 @@ export function ProjectObjectiveDetail({
|
|
|
2590
2511
|
objectiveKey={objective.key}
|
|
2591
2512
|
createDefaults={{
|
|
2592
2513
|
name: `Work on ${objective.title}`,
|
|
2593
|
-
cadence: objective.cadence,
|
|
2594
|
-
condition: objective.condition,
|
|
2595
2514
|
}}
|
|
2596
2515
|
onCreateTask={handleScheduledTaskCreate}
|
|
2597
2516
|
/>
|
|
@@ -2635,15 +2554,6 @@ export function ProjectObjectiveDetail({
|
|
|
2635
2554
|
</div>
|
|
2636
2555
|
</div>
|
|
2637
2556
|
|
|
2638
|
-
{wakeEditor ? (
|
|
2639
|
-
<ObjectiveWakeModal
|
|
2640
|
-
draft={wakeEditor}
|
|
2641
|
-
isSaving={isSaving}
|
|
2642
|
-
onChange={setWakeEditor}
|
|
2643
|
-
onClose={() => setWakeEditor(null)}
|
|
2644
|
-
onSave={() => void handleWakeSave()}
|
|
2645
|
-
/>
|
|
2646
|
-
) : null}
|
|
2647
2557
|
</div>
|
|
2648
2558
|
);
|
|
2649
2559
|
}
|
|
@@ -2751,73 +2661,6 @@ function ObjectiveEditorModal({
|
|
|
2751
2661
|
);
|
|
2752
2662
|
}
|
|
2753
2663
|
|
|
2754
|
-
function ObjectiveWakeModal({
|
|
2755
|
-
draft,
|
|
2756
|
-
isSaving,
|
|
2757
|
-
onChange,
|
|
2758
|
-
onClose,
|
|
2759
|
-
onSave,
|
|
2760
|
-
}: {
|
|
2761
|
-
draft: ObjectiveEditorDraft;
|
|
2762
|
-
isSaving: boolean;
|
|
2763
|
-
onChange: (draft: ObjectiveEditorDraft) => void;
|
|
2764
|
-
onClose: () => void;
|
|
2765
|
-
onSave: () => void;
|
|
2766
|
-
}) {
|
|
2767
|
-
return (
|
|
2768
|
-
<div className="fixed inset-0 z-50 flex items-center justify-center bg-black/45 p-4">
|
|
2769
|
-
<div
|
|
2770
|
-
role="dialog"
|
|
2771
|
-
aria-modal="true"
|
|
2772
|
-
aria-label="Edit wake schedule"
|
|
2773
|
-
className="w-full max-w-2xl overflow-hidden rounded-[32px] border border-[var(--border)] bg-[var(--overlay-panel-strong)] shadow-2xl"
|
|
2774
|
-
>
|
|
2775
|
-
<div className="border-b border-[var(--border)] px-5 py-4">
|
|
2776
|
-
<h3 className="text-lg font-semibold text-[var(--foreground)]">Edit wake schedule</h3>
|
|
2777
|
-
<p className="mt-1 text-sm text-[var(--muted-foreground)]">
|
|
2778
|
-
Control when agents should wake up and whether they should gate execution on a condition.
|
|
2779
|
-
</p>
|
|
2780
|
-
</div>
|
|
2781
|
-
|
|
2782
|
-
<div className="px-5 py-5">
|
|
2783
|
-
<ScheduleConditionPicker
|
|
2784
|
-
value={{ cadence: draft.cadence, condition: draft.condition }}
|
|
2785
|
-
onChange={(nextValue) =>
|
|
2786
|
-
onChange({
|
|
2787
|
-
...draft,
|
|
2788
|
-
cadence: nextValue.cadence,
|
|
2789
|
-
condition: nextValue.condition,
|
|
2790
|
-
})
|
|
2791
|
-
}
|
|
2792
|
-
allowEmptySchedule
|
|
2793
|
-
scheduleLabel="Schedule"
|
|
2794
|
-
conditionLabel="Condition"
|
|
2795
|
-
conditionHelpText="Use a condition when agents should only work on this objective in specific circumstances."
|
|
2796
|
-
/>
|
|
2797
|
-
</div>
|
|
2798
|
-
|
|
2799
|
-
<div className="flex items-center justify-end gap-2 border-t border-[var(--border)] px-5 py-4">
|
|
2800
|
-
<button
|
|
2801
|
-
type="button"
|
|
2802
|
-
onClick={onClose}
|
|
2803
|
-
className="rounded-xl border border-[var(--border)] px-3 py-2 text-sm text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]"
|
|
2804
|
-
>
|
|
2805
|
-
Cancel
|
|
2806
|
-
</button>
|
|
2807
|
-
<button
|
|
2808
|
-
type="button"
|
|
2809
|
-
onClick={onSave}
|
|
2810
|
-
disabled={isSaving}
|
|
2811
|
-
className="rounded-xl border border-[var(--status-in-progress-border)] bg-[var(--status-in-progress-bg)] px-3 py-2 text-sm font-medium text-[var(--status-in-progress-text)] transition-opacity hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-50"
|
|
2812
|
-
>
|
|
2813
|
-
{isSaving ? "Saving..." : "Save schedule"}
|
|
2814
|
-
</button>
|
|
2815
|
-
</div>
|
|
2816
|
-
</div>
|
|
2817
|
-
</div>
|
|
2818
|
-
);
|
|
2819
|
-
}
|
|
2820
|
-
|
|
2821
2664
|
function FieldLabel({ label }: { label: string }) {
|
|
2822
2665
|
return (
|
|
2823
2666
|
<label className="mb-2 block text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]">
|