@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.
Files changed (600) hide show
  1. package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +2 -0
  3. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
  4. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +15 -0
  6. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js +1 -1
  7. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js +1 -1
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js +1 -1
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js +1 -1
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js +1 -1
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js +4 -3
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js +1 -1
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +2 -2
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js +1 -1
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js +2 -2
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +1 -1
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -3
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js +5 -4
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/app-paths-manifest.json +3 -0
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/build-manifest.json +9 -0
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/server-reference-manifest.json +4 -0
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js +13 -0
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.map +5 -0
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.nft.json +1 -0
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route_client-reference-manifest.js +3 -0
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js +1 -1
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +4 -4
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js +4 -4
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js +2 -2
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js +2 -2
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js +3 -3
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +14 -13
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js +3 -3
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/app-paths-manifest.json +3 -0
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/build-manifest.json +9 -0
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/server-reference-manifest.json +4 -0
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js +28 -0
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.map +5 -0
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -0
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route_client-reference-manifest.js +3 -0
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js +9 -5
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js +1 -1
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js +4 -4
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +1 -1
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js +1 -1
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js +1 -1
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +16 -15
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js +5 -5
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +1 -1
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js +1 -1
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +2 -2
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +5 -4
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js +1 -1
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js +1 -1
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +14 -14
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +14 -14
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js +1 -1
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js +1 -1
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  196. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js +1 -1
  197. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js.nft.json +1 -1
  198. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
  199. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
  200. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +2 -2
  201. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +2 -2
  202. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
  203. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
  204. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
  205. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +1 -1
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  212. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  213. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  214. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js +1 -1
  215. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  217. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js +1 -1
  218. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  219. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  220. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js +1 -1
  221. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  222. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  223. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +1 -1
  224. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
  225. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
  226. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js +1 -1
  227. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  228. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  229. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js +1 -1
  230. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  231. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  232. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +6 -0
  233. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js +1 -1
  234. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  235. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  236. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js +1 -1
  237. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  238. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  239. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js +1 -1
  240. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  241. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  242. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js +1 -1
  243. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  244. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  245. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js +1 -1
  246. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
  247. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  248. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js +1 -1
  249. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  250. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  251. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js +1 -1
  252. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  253. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  254. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js +1 -1
  255. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  256. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  257. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js +1 -1
  258. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  259. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  260. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js +1 -1
  261. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  262. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  263. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js +1 -1
  264. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  265. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  266. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js +1 -1
  267. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  268. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  269. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js +1 -1
  270. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  271. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  272. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js +1 -1
  273. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  274. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  275. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
  276. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +3 -3
  277. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  278. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  279. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  280. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  281. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  282. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  283. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  284. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js +1 -1
  285. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
  286. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  287. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  288. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +2 -2
  289. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  290. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  291. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  292. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  293. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
  294. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  295. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js +1 -1
  296. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js.nft.json +1 -1
  297. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  298. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
  299. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
  300. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  301. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  302. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  303. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  304. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  305. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  306. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js +1 -1
  307. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  308. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  309. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  310. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
  311. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
  312. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  313. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  314. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  315. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
  316. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  317. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js +1 -1
  318. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js.nft.json +1 -1
  319. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  320. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
  321. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
  322. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  323. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  324. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  325. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  326. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  327. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  328. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js +1 -1
  329. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
  330. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  331. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  332. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +2 -2
  333. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +2 -2
  334. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  335. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  336. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  337. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  338. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  339. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js +1 -1
  340. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  341. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  342. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +2 -0
  343. package/cloud-runtime/standalone/apps/local/.next/server/chunks/0jps_app_api_projects_[id]_objectives_[objectiveId]_worker_route_actions_0v8q3zz.js +3 -0
  344. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__0_au5u1._.js +3 -0
  345. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__13x93ar._.js +3 -0
  346. 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
  347. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01lsgl~._.js +4 -0
  348. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0205scg._.js → [root-of-the-server]__03.9arn._.js} +2 -2
  349. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__03h0gqp._.js +3 -0
  350. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08jo91s._.js +9 -0
  351. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0o315az._.js → [root-of-the-server]__09j9jpf._.js} +2 -2
  352. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-nye63._.js → [root-of-the-server]__09jghbu._.js} +2 -2
  353. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0_7hiof._.js +43 -0
  354. 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
  355. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0asvfdo._.js +54 -0
  356. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0c86535._.js +3 -0
  357. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0cj1krd._.js +3 -0
  358. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0aa-88e._.js → [root-of-the-server]__0dy3h2i._.js} +2 -2
  359. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0touqng._.js → [root-of-the-server]__0e8-2k_._.js} +2 -2
  360. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0enhv5p._.js +3 -0
  361. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0f9byr.._.js +1 -1
  362. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0t2jk2r._.js → [root-of-the-server]__0g7hc1-._.js} +2 -2
  363. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g7p6pw._.js +55 -0
  364. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__019q25b._.js → [root-of-the-server]__0gj~dap._.js} +7 -7
  365. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0e6cj2y._.js → [root-of-the-server]__0hc45jw._.js} +2 -2
  366. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hkcw03._.js +49 -0
  367. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hmw36u._.js +1 -1
  368. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0l53ok5._.js +54 -0
  369. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0n.momw._.js +8 -0
  370. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tjo9we._.js +7 -0
  371. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-~t2br._.js → [root-of-the-server]__0v7jjvl._.js} +2 -2
  372. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0x6w64i._.js +3 -0
  373. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__11nke7t._.js → [root-of-the-server]__0y3qxv1._.js} +2 -2
  374. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__10z8f9h._.js → [root-of-the-server]__0ygidxe._.js} +2 -2
  375. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0z82z0-._.js +49 -0
  376. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0zsv-tb._.js +8 -0
  377. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~nnfjr._.js +3 -0
  378. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~x4jbk._.js +3 -0
  379. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10d.dhd._.js +229 -0
  380. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12qy318._.js +3 -0
  381. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_039.xxy._.js +1 -1
  382. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_06oeti1._.js +49 -0
  383. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0dyy7h.._.js +3 -0
  384. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gi7c9x._.js +2 -2
  385. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gr.psg._.js +1 -1
  386. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0sd8z0i._.js +21 -0
  387. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0y42h_~._.js +2 -2
  388. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~ah49q._.js +1 -1
  389. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_01kqgle._.js +11 -0
  390. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_06qet8g._.js +36 -0
  391. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_0m2ly._.js +397 -0
  392. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_a~bj0._.js +25 -0
  393. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0a15wtk._.js +397 -0
  394. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0bjdpen._.js +29 -0
  395. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0fr1qq6._.js +1 -1
  396. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0g.q2r6._.js +41 -0
  397. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0h7wd0e._.js +29 -0
  398. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0i7fs.i._.js +397 -0
  399. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0ipg-p6._.js +3 -0
  400. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0npxy21._.js +11 -0
  401. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0uhfa93._.js +21 -0
  402. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_12wpldq._.js +25 -0
  403. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_worker_route_actions_116303i.js +3 -0
  404. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01hd2_5._.js +3 -0
  405. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01pvj2g._.js +34 -0
  406. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0ik933l._.js +55 -0
  407. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0o1v.j4._.js +79 -0
  408. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0pxj122._.js +55 -0
  409. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_automations_index_ts_0_8ch28._.js +10 -0
  410. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_082u-ls._.js +41 -0
  411. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0.xgxyl._.js +4 -0
  412. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0yu3--n._.js +4 -0
  413. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0ze8hzc._.js +4 -0
  414. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_get-store_ts_0p0aod1._.js +5 -5
  415. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_linear-worker_ts_0ycjwem._.js +5 -0
  416. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0gips_c.js +1 -1
  417. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0u_5kfo.js +1 -1
  418. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0tvwux2._.js +3 -0
  419. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0hvpc.y._.js +3 -0
  420. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__006vr7.._.js +3 -0
  421. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0d18x53._.js +18 -0
  422. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0j9m72.._.js +18 -0
  423. 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
  424. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w.zmt6._.js +3 -0
  425. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w1mm2j._.js +3 -0
  426. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0z7nw_r._.js +3 -0
  427. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__10h_7t0._.js +3 -0
  428. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13h-0om._.js +3 -0
  429. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_00trrg8._.js +3 -0
  430. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +1 -1
  431. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0wk3skw._.js +1 -1
  432. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yeuuy1._.js +25 -0
  433. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_075cq2j._.js → apps_local_0k4~c1x._.js} +2 -2
  434. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0t6p.qm._.js +3 -0
  435. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_0_4hk8x._.js → apps_local_0v~bvwg._.js} +2 -2
  436. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_[id]_page_tsx_06n47n~._.js +1 -1
  437. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
  438. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
  439. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
  440. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_new_page_tsx_0yqd0a5._.js +3 -0
  441. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +1 -1
  442. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
  443. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +1 -1
  444. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_setup_page_tsx_0ql2qmr._.js +1 -1
  445. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_PromptJobBoard_tsx_06zob36._.js +8 -0
  446. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +6 -6
  447. package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +2 -0
  448. package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
  449. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  450. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  451. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
  452. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  453. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  454. package/cloud-runtime/standalone/apps/local/.next/static/chunks/003q-y3exxalk.js +1 -0
  455. package/cloud-runtime/standalone/apps/local/.next/static/chunks/00po4v2x~0x_z.js +1 -0
  456. package/cloud-runtime/standalone/apps/local/.next/static/chunks/013gtut17~fne.js +23 -0
  457. package/cloud-runtime/standalone/apps/local/.next/static/chunks/014z_yruiincl.js +1 -0
  458. package/cloud-runtime/standalone/apps/local/.next/static/chunks/041-dhls9zkl1.js +1 -0
  459. package/cloud-runtime/standalone/apps/local/.next/static/chunks/04yoml2rqnuot.js +16 -0
  460. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0_mrpyqcoyb_5.js +1 -0
  461. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{11-u35xqxu~i-.js → 0aewbg0i704w7.js} +1 -1
  462. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{08~pgzjb13k_v.js → 0dnw31436wd~..js} +2 -2
  463. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0jonp-o8lh-4j.js → 0e307b-0c2jbx.js} +1 -1
  464. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0edewt9l~cs~k.css +1 -0
  465. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0o9cxba_5mv2c.js → 0fonouj2i9qnb.js} +1 -1
  466. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gj98094p~zn4.js +1 -0
  467. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jrkacz_dyem6.js +37 -0
  468. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{02zcxdul-1jaf.js → 0mig99af4~uos.js} +3 -3
  469. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pdrpsy-zdxp0.js +5 -0
  470. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p~l5ap6qqx2o.js +1 -0
  471. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0stvi5btlxl4m.js +20 -0
  472. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rey9zfvm3yhd.js → 0tt1oh112yv-l.js} +1 -1
  473. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0w94x-v00osq0.js +1 -0
  474. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0mvqoz13v0o2a.js → 0wh6p5~ft5rma.js} +2 -2
  475. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0zw85-xl9ysjs.js +1 -0
  476. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{00lise4d-u8d1.js → 1011~1x9nj4ny.js} +1 -1
  477. package/cloud-runtime/standalone/apps/local/.next/static/chunks/119v0-idpg-cv.js +16 -0
  478. package/cloud-runtime/standalone/apps/local/.next/static/chunks/11l2tww5f0hsk.js +20 -0
  479. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16d~es6h6k~rj.js +6 -0
  480. package/cloud-runtime/standalone/apps/local/app/agents/[id]/page.tsx +40 -5
  481. package/cloud-runtime/standalone/apps/local/app/api/agents/[id]/profile/route.ts +10 -0
  482. package/cloud-runtime/standalone/apps/local/app/api/linear/worker/route.ts +151 -0
  483. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/route.ts +0 -8
  484. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +6 -27
  485. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/worker/route.ts +89 -0
  486. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/route.ts +13 -0
  487. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/search/route.ts +4 -4
  488. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/route.ts +5 -3
  489. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +7 -4
  490. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/new/page.tsx +236 -10
  491. package/cloud-runtime/standalone/apps/local/app/setup/page.tsx +9 -1
  492. package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +36 -8
  493. package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +53 -24
  494. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +73 -0
  495. package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +17 -12
  496. package/cloud-runtime/standalone/apps/local/components/linear/LinearSettingsModal.tsx +105 -0
  497. package/cloud-runtime/standalone/apps/local/components/linear/LinearWorkerConfig.tsx +367 -0
  498. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveHealthTrend.tsx +215 -0
  499. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +170 -46
  500. package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +8 -2
  501. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +211 -368
  502. package/cloud-runtime/standalone/apps/local/components/projects/RecentlyCompletedCard.tsx +213 -0
  503. package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +121 -6
  504. package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +1 -1
  505. package/cloud-runtime/standalone/apps/local/components/setup/McpSetupStep.tsx +242 -0
  506. package/cloud-runtime/standalone/apps/local/components/setup/ProjectStep.tsx +2 -2
  507. package/cloud-runtime/standalone/apps/local/components/setup/ProviderStep.tsx +1 -1
  508. package/cloud-runtime/standalone/apps/local/components/setup/TeamsStep.tsx +288 -15
  509. package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +24 -14
  510. package/cloud-runtime/standalone/apps/local/hooks/useSetupFlow.ts +16 -2
  511. package/cloud-runtime/standalone/apps/local/lib/objective-health-history.ts +198 -0
  512. package/cloud-runtime/standalone/apps/local/lib/project-objective-context.ts +10 -0
  513. package/cloud-runtime/standalone/apps/local/lib/project-objectives.ts +0 -9
  514. package/cloud-runtime/standalone/apps/local/skills-lock.json +20 -0
  515. package/cloud-runtime/standalone/apps/local/src/automations/adapters.ts +5 -0
  516. package/cloud-runtime/standalone/apps/local/src/automations/types.ts +5 -0
  517. package/cloud-runtime/standalone/apps/local/src/automations/validation.ts +12 -5
  518. package/cloud-runtime/standalone/apps/local/src/objectives/parser.ts +0 -2
  519. package/cloud-runtime/standalone/apps/local/src/objectives/serializer.ts +0 -2
  520. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-constants.ts +38 -0
  521. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-job.ts +47 -0
  522. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker.ts +482 -0
  523. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker-job.ts +47 -0
  524. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +511 -0
  525. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +51 -417
  526. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/store.ts +19 -4
  527. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +12 -8
  528. package/cloud-runtime/standalone/apps/local/state/terminalTabs.ts +182 -106
  529. package/cloud-runtime/standalone/apps/local/worker/index.js +12 -13
  530. package/package.json +1 -1
  531. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0-0479y._.js +0 -54
  532. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08oj_ky._.js +0 -49
  533. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08y2lkj._.js +0 -3
  534. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +0 -3
  535. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g50c6p._.js +0 -237
  536. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gtv0rq._.js +0 -8
  537. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ksbs9p._.js +0 -3
  538. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0pz~m67._.js +0 -3
  539. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0q93mk3._.js +0 -7
  540. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tdixb0._.js +0 -49
  541. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0vhcrdv._.js +0 -229
  542. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0xdp_8-._.js +0 -237
  543. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__11s20j6._.js +0 -3
  544. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12xhcor._.js +0 -54
  545. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_01rag2f._.js +0 -49
  546. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_03y4xss._.js +0 -21
  547. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0cm4i3i._.js +0 -3
  548. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0ijzgnb._.js +0 -3
  549. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~fjhfa._.js +0 -3
  550. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_12yasaj._.js +0 -9
  551. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_03q7_.q._.js +0 -21
  552. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0m3e2d~._.js +0 -30
  553. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0r-oiga._.js +0 -30
  554. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_00cwfvi._.js +0 -34
  555. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0hx7xyz._.js +0 -34
  556. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0rqcat4._.js +0 -55
  557. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0sc_lek._.js +0 -79
  558. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_135ddsu._.js +0 -55
  559. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_store_ts_0h.2qy9._.js +0 -43
  560. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_022nz2u._.js +0 -3
  561. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +0 -475
  562. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0yvelwy.js +0 -3
  563. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0qzjdog._.js +0 -3
  564. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0a-mbbj._.js +0 -3
  565. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__07johgg._.js +0 -3
  566. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0bf346q._.js +0 -3
  567. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r3w68h._.js +0 -18
  568. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0x7k~pk._.js +0 -3
  569. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0y8j6el._.js +0 -18
  570. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0yme9fy._.js +0 -3
  571. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~7q5sw._.js +0 -3
  572. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13eqcxp._.js +0 -3
  573. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_09~glsn._.js +0 -3
  574. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0n80y4_._.js +0 -3
  575. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +0 -8
  576. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ut3k~7._.js +0 -3
  577. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0vibfch._.js +0 -3
  578. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +0 -8
  579. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_04hvzn_._.js +0 -3
  580. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.4d8rshxivwh.js +0 -20
  581. package/cloud-runtime/standalone/apps/local/.next/static/chunks/02p3n7faotpr9.js +0 -16
  582. package/cloud-runtime/standalone/apps/local/.next/static/chunks/051-7k0nnm-vm.js +0 -1
  583. package/cloud-runtime/standalone/apps/local/.next/static/chunks/055bzj5jfgzr0.js +0 -1
  584. package/cloud-runtime/standalone/apps/local/.next/static/chunks/05c-~4v_jrblf.css +0 -1
  585. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09wzd7y~tk-3~.js +0 -1
  586. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0brmd4~76pthy.js +0 -20
  587. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0hudzktaaxr4g.js +0 -6
  588. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0hzq698w6f4m6.js +0 -1
  589. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0i.su2yr26wb6.js +0 -37
  590. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jsbvcyub73d9.js +0 -1
  591. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l2pt2td_87wr.js +0 -5
  592. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p7s38p3bcffh.js +0 -1
  593. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0q2dgbluvgxf2.js +0 -16
  594. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ucg8e2wkd8gf.js +0 -1
  595. package/cloud-runtime/standalone/apps/local/.next/static/chunks/104xjvrf6y-zq.js +0 -1
  596. package/cloud-runtime/standalone/apps/local/.next/static/chunks/15jlly_p-g4c8.js +0 -6
  597. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16nozeadjid9-.js +0 -5
  598. /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → RnYHmEXBwXJjVrVVx2CuP}/_buildManifest.js +0 -0
  599. /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → RnYHmEXBwXJjVrVVx2CuP}/_clientMiddlewareManifest.js +0 -0
  600. /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → RnYHmEXBwXJjVrVVx2CuP}/_ssgManifest.js +0 -0
@@ -35,6 +35,27 @@ import type {
35
35
  } from "@/src/prompt-scheduler/types";
36
36
  import { cronToHuman } from "@/src/graph/nl-schedule";
37
37
  import { ScheduleConditionPicker } from "@/components/scheduling/ScheduleConditionPicker";
38
+ import {
39
+ LINEAR_WORKER_DEFAULT_PROMPT,
40
+ LINEAR_WORKER_JOB_NAME,
41
+ } from "@/src/prompt-scheduler/linear-worker-constants";
42
+
43
+ const EXECUTION_MODE_OPTIONS: Array<{
44
+ value: PromptJobExecutionMode;
45
+ label: string;
46
+ description: string;
47
+ }> = [
48
+ {
49
+ value: "prompt",
50
+ label: "Prompt",
51
+ description: "Run a prompt on a schedule",
52
+ },
53
+ {
54
+ value: "linear_worker",
55
+ label: "Linear Worker",
56
+ description: "Observe Linear workspace and decide what to work on",
57
+ },
58
+ ];
38
59
 
39
60
  const Composer = dynamic(() => import("@/components/chat-ui/Composer").then((m) => m.Composer), {
40
61
  ssr: false,
@@ -243,6 +264,9 @@ export function CreateJobModal({
243
264
  contextLabel?: string | null;
244
265
  }) {
245
266
  const [agents, setAgents] = useState<AgentOption[]>([]);
267
+ const [executionMode, setExecutionMode] = useState<PromptJobExecutionMode>(
268
+ editingJob?.executionMode ?? createDefaults?.executionMode ?? "prompt"
269
+ );
246
270
  const [name, setName] = useState(editingJob?.name ?? createDefaults?.name ?? "");
247
271
  const [prompt, setPrompt] = useState(editingJob?.prompt ?? createDefaults?.prompt ?? "");
248
272
  const [agentId, setAgentId] = useState(editingJob?.agentId ?? createDefaults?.agentId ?? "");
@@ -288,6 +312,7 @@ export function CreateJobModal({
288
312
  catchUpPolicy,
289
313
  cadence: cadence.trim(),
290
314
  condition: condition.trim(),
315
+ executionMode,
291
316
  });
292
317
  setSubmitting(false);
293
318
  onClose();
@@ -353,6 +378,37 @@ export function CreateJobModal({
353
378
  </div>
354
379
 
355
380
  <div className="w-[380px] shrink-0 overflow-y-auto p-6 space-y-6">
381
+ <div>
382
+ <Label>Type</Label>
383
+ <div className="space-y-1.5">
384
+ {EXECUTION_MODE_OPTIONS.map((opt) => (
385
+ <button
386
+ key={opt.value}
387
+ type="button"
388
+ onClick={() => {
389
+ setExecutionMode(opt.value);
390
+ if (opt.value === "linear_worker") {
391
+ if (!name.trim()) setName(LINEAR_WORKER_JOB_NAME);
392
+ if (!prompt.trim()) setPrompt(LINEAR_WORKER_DEFAULT_PROMPT);
393
+ }
394
+ }}
395
+ className={`w-full text-left px-3 py-2 rounded-lg border transition-all ${
396
+ executionMode === opt.value
397
+ ? "border-[var(--foreground)] bg-[var(--foreground)]/5"
398
+ : "border-[var(--card-border)] bg-[var(--muted)] hover:border-[var(--muted-foreground)]"
399
+ }`}
400
+ >
401
+ <div className="text-xs font-medium text-[var(--foreground)]">
402
+ {opt.label}
403
+ </div>
404
+ <div className="text-[10px] text-[var(--muted-foreground)]">
405
+ {opt.description}
406
+ </div>
407
+ </button>
408
+ ))}
409
+ </div>
410
+ </div>
411
+
356
412
  <AgentDropdown
357
413
  agents={agents}
358
414
  value={agentId}
@@ -897,6 +953,18 @@ function JobDetailView({
897
953
  <div className="px-6 py-5">
898
954
  <div className="rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] px-5 py-4">
899
955
  <div className="grid grid-cols-[96px,minmax(0,1fr)] items-center gap-x-4 gap-y-4">
956
+ {job.executionMode && job.executionMode !== "prompt" && (
957
+ <>
958
+ <div className="text-[11px] uppercase tracking-[0.12em] text-[var(--muted-foreground)]">
959
+ Type
960
+ </div>
961
+ <div className="min-w-0">
962
+ <span className="rounded-md border border-violet-400/20 bg-violet-500/10 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-violet-400">
963
+ {EXECUTION_MODE_OPTIONS.find((o) => o.value === job.executionMode)?.label ?? job.executionMode}
964
+ </span>
965
+ </div>
966
+ </>
967
+ )}
900
968
  <div className="text-[11px] uppercase tracking-[0.12em] text-[var(--muted-foreground)]">
901
969
  Agent
902
970
  </div>
@@ -1404,6 +1472,11 @@ export default function PromptJobBoard({
1404
1472
  >
1405
1473
  {scheduleLabel}
1406
1474
  </span>
1475
+ {job.executionMode === "linear_worker" ? (
1476
+ <span className="rounded-md border border-violet-400/20 bg-violet-500/10 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-violet-400">
1477
+ linear
1478
+ </span>
1479
+ ) : null}
1407
1480
  {job.condition ? (
1408
1481
  <span className="rounded-md border border-blue-400/20 bg-blue-500/10 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-blue-400">
1409
1482
  gated
@@ -150,46 +150,51 @@ export default function NodeDetailPanel({
150
150
  const triggeringNodeId = useGraphUIStore((state) => state.triggeringNodeId);
151
151
 
152
152
  const [activeTab, setActiveTab] = useState<TabId>("execution");
153
- const [width, setWidth] = useState(DEFAULT_WIDTH);
154
153
  const [isResizing, setIsResizing] = useState(false);
155
154
  const [diffRunA, setDiffRunA] = useState<string | null>(null);
156
155
  const [diffRunB, setDiffRunB] = useState<string | null>(null);
157
-
156
+
158
157
  const panelRef = useRef<HTMLDivElement>(null);
159
158
  const resizeHandleRef = useRef<HTMLDivElement>(null);
160
-
159
+
161
160
  // Get node data
162
161
  const node = selectedNodeId ? graph.nodes[selectedNodeId] : null;
163
162
  const nodeRuns = useMemo(
164
163
  () => selectedNodeId ? extractNodeRuns(graph, selectedNodeId) : [],
165
164
  [graph, selectedNodeId]
166
165
  );
167
-
168
- // Resize handling
166
+
167
+ // Resize handling — direct DOM manipulation to avoid re-renders
169
168
  const handleMouseDown = useCallback((e: React.MouseEvent) => {
170
169
  if (isTouchLayout) return;
171
170
  e.preventDefault();
172
171
  setIsResizing(true);
173
172
  }, [isTouchLayout]);
174
-
173
+
175
174
  useEffect(() => {
176
175
  if (!isResizing || isTouchLayout) return;
177
-
176
+
178
177
  const handleMouseMove = (e: MouseEvent) => {
178
+ if (!panelRef.current) return;
179
179
  const newWidth = window.innerWidth - e.clientX;
180
- setWidth(Math.max(MIN_WIDTH, Math.min(MAX_WIDTH, newWidth)));
180
+ const clamped = Math.max(MIN_WIDTH, Math.min(MAX_WIDTH, newWidth));
181
+ panelRef.current.style.width = `${clamped}px`;
181
182
  };
182
-
183
+
183
184
  const handleMouseUp = () => {
184
185
  setIsResizing(false);
185
186
  };
186
-
187
+
187
188
  document.addEventListener("mousemove", handleMouseMove);
188
189
  document.addEventListener("mouseup", handleMouseUp);
189
-
190
+ document.body.style.cursor = "ew-resize";
191
+ document.body.style.userSelect = "none";
192
+
190
193
  return () => {
191
194
  document.removeEventListener("mousemove", handleMouseMove);
192
195
  document.removeEventListener("mouseup", handleMouseUp);
196
+ document.body.style.cursor = "";
197
+ document.body.style.userSelect = "";
193
198
  };
194
199
  }, [isResizing, isTouchLayout]);
195
200
 
@@ -250,7 +255,7 @@ export default function NodeDetailPanel({
250
255
  <aside
251
256
  ref={panelRef}
252
257
  className={`node-detail-panel ${isOpen ? "node-detail-panel--open" : ""}${isTouchLayout ? " node-detail-panel--touch" : ""}`}
253
- style={isTouchLayout ? undefined : { width: `${width}px` }}
258
+ style={isTouchLayout ? undefined : { width: `${DEFAULT_WIDTH}px` }}
254
259
  >
255
260
  {/* Resize handle */}
256
261
  {!isTouchLayout ? (
@@ -0,0 +1,105 @@
1
+ "use client";
2
+
3
+ import { useState, type ComponentProps } from "react";
4
+ import { Bot, Link2, X } from "lucide-react";
5
+ import LinearSetup from "@/components/LinearSetup";
6
+ import LinearWorkerConfig from "@/components/linear/LinearWorkerConfig";
7
+
8
+ type LinearSetupProps = ComponentProps<typeof LinearSetup>;
9
+
10
+ interface LinearSettingsModalProps {
11
+ connected: LinearSetupProps["connected"];
12
+ user: LinearSetupProps["user"];
13
+ clis: LinearSetupProps["clis"];
14
+ mcpConfigured: LinearSetupProps["mcpConfigured"];
15
+ onConnect: LinearSetupProps["onConnect"];
16
+ onConnectWithKey: LinearSetupProps["onConnectWithKey"];
17
+ onDisconnect: LinearSetupProps["onDisconnect"];
18
+ onConfigureMcp: LinearSetupProps["onConfigureMcp"];
19
+ onClose: () => void;
20
+ projectId?: string;
21
+ }
22
+
23
+ type SettingsTab = "connection" | "worker";
24
+
25
+ export default function LinearSettingsModal({
26
+ connected,
27
+ user,
28
+ clis,
29
+ mcpConfigured,
30
+ onConnect,
31
+ onConnectWithKey,
32
+ onDisconnect,
33
+ onConfigureMcp,
34
+ onClose,
35
+ projectId,
36
+ }: LinearSettingsModalProps) {
37
+ const [tab, setTab] = useState<SettingsTab>(connected ? "worker" : "connection");
38
+
39
+ const tabs: Array<{ id: SettingsTab; label: string; icon: React.ReactNode; disabled?: boolean }> = [
40
+ { id: "connection", label: "Connection", icon: <Link2 size={14} /> },
41
+ { id: "worker", label: "Linear Worker", icon: <Bot size={14} />, disabled: !connected },
42
+ ];
43
+
44
+ return (
45
+ <div className="absolute inset-0 z-30 flex items-center justify-center bg-black/50">
46
+ <div className="relative flex w-full max-w-6xl flex-col rounded-lg border border-[var(--card-border)] bg-[var(--background)] shadow-xl">
47
+ {/* Header with tabs */}
48
+ <div className="flex items-center justify-between border-b border-[var(--card-border)] px-6">
49
+ <div className="flex items-center gap-6">
50
+ {tabs.map((t) => {
51
+ const isActive = tab === t.id;
52
+ return (
53
+ <button
54
+ key={t.id}
55
+ onClick={() => !t.disabled && setTab(t.id)}
56
+ disabled={t.disabled}
57
+ className={`relative flex items-center gap-2 py-4 text-sm font-semibold transition-colors ${
58
+ isActive
59
+ ? "text-[var(--foreground)]"
60
+ : t.disabled
61
+ ? "cursor-not-allowed text-[var(--muted-foreground)]/40"
62
+ : "text-[var(--muted-foreground)] hover:text-[var(--foreground)]"
63
+ }`}
64
+ >
65
+ {t.icon}
66
+ {t.label}
67
+ {isActive && (
68
+ <span className="absolute bottom-0 left-0 right-0 h-[2px] rounded-full bg-[var(--foreground)]" />
69
+ )}
70
+ </button>
71
+ );
72
+ })}
73
+ </div>
74
+ <button
75
+ type="button"
76
+ className="rounded p-1.5 text-[var(--muted-foreground)] transition-colors hover:bg-[var(--card-bg)] hover:text-[var(--foreground)]"
77
+ onClick={onClose}
78
+ >
79
+ <X size={18} />
80
+ </button>
81
+ </div>
82
+
83
+ {/* Tab content */}
84
+ <div className="flex-1 min-h-0 max-h-[80vh] overflow-y-auto p-6">
85
+ {tab === "connection" && (
86
+ <LinearSetup
87
+ connected={connected}
88
+ user={user}
89
+ clis={clis}
90
+ mcpConfigured={mcpConfigured}
91
+ onConnect={onConnect}
92
+ onConnectWithKey={onConnectWithKey}
93
+ onDisconnect={onDisconnect}
94
+ onConfigureMcp={onConfigureMcp}
95
+ onContinue={onClose}
96
+ />
97
+ )}
98
+ {tab === "worker" && connected && (
99
+ <LinearWorkerConfig projectId={projectId} />
100
+ )}
101
+ </div>
102
+ </div>
103
+ </div>
104
+ );
105
+ }
@@ -0,0 +1,367 @@
1
+ "use client";
2
+
3
+ import { useCallback, useEffect, useRef, useState } from "react";
4
+ import dynamic from "next/dynamic";
5
+ import { ChevronDown, ChevronRight, Pause, Play, RefreshCw } from "lucide-react";
6
+ import { ScheduleConditionPicker, SimpleDropdown } from "@/components/scheduling/ScheduleConditionPicker";
7
+ import {
8
+ LINEAR_WORKER_DEFAULT_PROMPT,
9
+ LINEAR_WORKER_DEFAULT_SCRIPT_PROMPT,
10
+ } from "@/src/prompt-scheduler/linear-worker-constants";
11
+ import type { PromptJob } from "@/src/prompt-scheduler/types";
12
+
13
+ const RichTextEditor = dynamic(() => import("@/components/RichTextEditor"), {
14
+ ssr: false,
15
+ });
16
+
17
+ interface TeamOption {
18
+ id: string;
19
+ name: string;
20
+ }
21
+
22
+ interface LinearWorkerConfigProps {
23
+ projectId?: string;
24
+ }
25
+
26
+ function formatNextRun(
27
+ epochMs: number | null,
28
+ state: PromptJob["state"]
29
+ ): string {
30
+ if (state === "paused") return "Paused";
31
+ if (state === "stopped") return "Stopped";
32
+ if (epochMs === null) return "Pending";
33
+ const diff = epochMs - Date.now();
34
+ if (diff < 0) return "Overdue";
35
+ if (diff < 60_000) return `in ${Math.round(diff / 1000)}s`;
36
+ if (diff < 3_600_000) return `in ${Math.round(diff / 60_000)}m`;
37
+ if (diff < 86_400_000) return `in ${Math.round(diff / 3_600_000)}h`;
38
+ return `in ${Math.round(diff / 86_400_000)}d`;
39
+ }
40
+
41
+ function formatLastRun(epochMs: number | null): string {
42
+ if (!epochMs) return "Never";
43
+ const diff = Date.now() - epochMs;
44
+ if (diff < 60_000) return "Just now";
45
+ if (diff < 3_600_000) return `${Math.round(diff / 60_000)}m ago`;
46
+ if (diff < 86_400_000) return `${Math.round(diff / 3_600_000)}h ago`;
47
+ return `${Math.round(diff / 86_400_000)}d ago`;
48
+ }
49
+
50
+ function Label({ children }: { children: React.ReactNode }) {
51
+ return (
52
+ <label className="block text-[10px] font-semibold text-[var(--muted-foreground)] uppercase tracking-widest mb-2">
53
+ {children}
54
+ </label>
55
+ );
56
+ }
57
+
58
+ function CollapsibleSection({
59
+ title,
60
+ expanded,
61
+ onToggle,
62
+ children,
63
+ }: {
64
+ title: string;
65
+ expanded: boolean;
66
+ onToggle: () => void;
67
+ children: React.ReactNode;
68
+ }) {
69
+ return (
70
+ <div className="rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden">
71
+ <button
72
+ type="button"
73
+ onClick={onToggle}
74
+ className="flex w-full items-center gap-2 px-4 py-3 text-left text-xs font-semibold text-[var(--muted-foreground)] uppercase tracking-widest hover:text-[var(--foreground)] transition-colors"
75
+ >
76
+ {expanded ? <ChevronDown size={12} /> : <ChevronRight size={12} />}
77
+ {title}
78
+ </button>
79
+ {expanded && (
80
+ <div className="border-t border-[var(--card-border)]">
81
+ {children}
82
+ </div>
83
+ )}
84
+ </div>
85
+ );
86
+ }
87
+
88
+ export default function LinearWorkerConfig({
89
+ projectId,
90
+ }: LinearWorkerConfigProps) {
91
+ const [job, setJob] = useState<PromptJob | null>(null);
92
+ const [teams, setTeams] = useState<TeamOption[]>([]);
93
+ const [loading, setLoading] = useState(true);
94
+ const [saving, setSaving] = useState(false);
95
+
96
+ // Form state
97
+ const [prompt, setPrompt] = useState(LINEAR_WORKER_DEFAULT_PROMPT);
98
+ const [scriptPrompt, setScriptPrompt] = useState(LINEAR_WORKER_DEFAULT_SCRIPT_PROMPT);
99
+ const [cadence, setCadence] = useState("*/30 * * * *");
100
+ const [condition, setCondition] = useState("");
101
+ const [teamId, setTeamId] = useState("");
102
+
103
+ // Collapsible sections
104
+ const [selectionExpanded, setSelectionExpanded] = useState(false);
105
+ const [executionExpanded, setExecutionExpanded] = useState(true);
106
+
107
+ const initialFetch = useRef(false);
108
+
109
+ const fetchWorker = useCallback(async () => {
110
+ try {
111
+ const params = new URLSearchParams();
112
+ if (projectId) params.set("projectId", projectId);
113
+ const res = await fetch(`/api/linear/worker?${params}`);
114
+ if (!res.ok) return;
115
+ const data = await res.json();
116
+ if (data.job) {
117
+ setJob(data.job);
118
+ setPrompt(data.job.prompt || LINEAR_WORKER_DEFAULT_PROMPT);
119
+ setScriptPrompt(data.job.scriptPrompt || LINEAR_WORKER_DEFAULT_SCRIPT_PROMPT);
120
+ setCadence(data.job.cronExpr || data.job.cadence || "*/30 * * * *");
121
+ setCondition(data.job.condition || "");
122
+ setTeamId(data.job.teamId || "");
123
+ }
124
+ } catch {
125
+ // ignore
126
+ } finally {
127
+ setLoading(false);
128
+ }
129
+ }, [projectId]);
130
+
131
+ const fetchTeams = useCallback(async () => {
132
+ if (!projectId) return;
133
+ try {
134
+ const res = await fetch(`/api/projects/${projectId}/teams`);
135
+ if (!res.ok) return;
136
+ const data = await res.json();
137
+ const fetchedTeams: TeamOption[] = (data.teams ?? []).map((t: any) => ({
138
+ id: t.id,
139
+ name: t.name,
140
+ }));
141
+ setTeams(fetchedTeams);
142
+ } catch {
143
+ // ignore
144
+ }
145
+ }, [projectId]);
146
+
147
+ useEffect(() => {
148
+ if (!initialFetch.current) {
149
+ initialFetch.current = true;
150
+ fetchWorker();
151
+ fetchTeams();
152
+ }
153
+ }, [fetchWorker, fetchTeams]);
154
+
155
+ // Poll for status updates
156
+ useEffect(() => {
157
+ const interval = setInterval(fetchWorker, 15_000);
158
+ return () => clearInterval(interval);
159
+ }, [fetchWorker]);
160
+
161
+ const handleSave = useCallback(async () => {
162
+ setSaving(true);
163
+ try {
164
+ const body: Record<string, unknown> = {
165
+ prompt,
166
+ scriptPrompt,
167
+ cadence,
168
+ condition,
169
+ teamId,
170
+ };
171
+ if (projectId) body.projectId = projectId;
172
+
173
+ const res = await fetch("/api/linear/worker", {
174
+ method: "POST",
175
+ headers: { "Content-Type": "application/json" },
176
+ body: JSON.stringify(body),
177
+ });
178
+
179
+ if (res.ok) {
180
+ const data = await res.json();
181
+ setJob(data.job);
182
+ }
183
+ } catch {
184
+ // ignore
185
+ } finally {
186
+ setSaving(false);
187
+ }
188
+ }, [prompt, scriptPrompt, cadence, condition, teamId, projectId]);
189
+
190
+ const handleToggle = useCallback(async () => {
191
+ if (!job) {
192
+ await handleSave();
193
+ return;
194
+ }
195
+
196
+ setSaving(true);
197
+ try {
198
+ const nextState = job.state === "active" ? "paused" : "active";
199
+ const res = await fetch("/api/linear/worker", {
200
+ method: "POST",
201
+ headers: { "Content-Type": "application/json" },
202
+ body: JSON.stringify({
203
+ projectId,
204
+ state: nextState,
205
+ }),
206
+ });
207
+
208
+ if (res.ok) {
209
+ const data = await res.json();
210
+ setJob(data.job);
211
+ }
212
+ } catch {
213
+ // ignore
214
+ } finally {
215
+ setSaving(false);
216
+ }
217
+ }, [job, projectId, handleSave]);
218
+
219
+ if (loading) {
220
+ return (
221
+ <div className="flex items-center gap-2 py-12 justify-center text-sm text-[var(--muted-foreground)]">
222
+ <RefreshCw size={14} className="animate-spin" />
223
+ Loading Linear Worker...
224
+ </div>
225
+ );
226
+ }
227
+
228
+ const isActive = job?.state === "active";
229
+
230
+ return (
231
+ <div className="flex flex-col gap-4 h-full">
232
+ {/* Status bar */}
233
+ <div className="flex items-center justify-between">
234
+ <div className="flex items-center gap-4 text-xs text-[var(--muted-foreground)]">
235
+ {job && (
236
+ <>
237
+ <span
238
+ className={`rounded-full border px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] ${
239
+ isActive
240
+ ? "border-emerald-500/30 bg-emerald-500/10 text-emerald-400"
241
+ : "border-yellow-500/30 bg-yellow-500/10 text-yellow-400"
242
+ }`}
243
+ >
244
+ {job.state}
245
+ </span>
246
+ <span>
247
+ Next: <span className="text-[var(--foreground)]">{formatNextRun(job.nextRunAt, job.state)}</span>
248
+ </span>
249
+ <span>
250
+ Last: <span className="text-[var(--foreground)]">{formatLastRun(job.lastRunAt)}</span>
251
+ </span>
252
+ {job.lastOutcome && (
253
+ <span>
254
+ Outcome:{" "}
255
+ <span className={job.lastOutcome === "success" ? "text-emerald-400" : job.lastOutcome === "failed" ? "text-red-400" : "text-[var(--foreground)]"}>
256
+ {job.lastOutcome}
257
+ </span>
258
+ </span>
259
+ )}
260
+ </>
261
+ )}
262
+ </div>
263
+ <button
264
+ type="button"
265
+ disabled={saving}
266
+ onClick={handleToggle}
267
+ className={`flex items-center gap-1.5 rounded-lg border px-3 py-1.5 text-xs font-medium transition-colors ${
268
+ isActive
269
+ ? "border-yellow-500/30 bg-yellow-500/10 text-yellow-400 hover:bg-yellow-500/20"
270
+ : "border-emerald-500/30 bg-emerald-500/10 text-emerald-400 hover:bg-emerald-500/20"
271
+ }`}
272
+ >
273
+ {isActive ? (
274
+ <>
275
+ <Pause size={12} /> Pause
276
+ </>
277
+ ) : (
278
+ <>
279
+ <Play size={12} /> {job ? "Resume" : "Enable"}
280
+ </>
281
+ )}
282
+ </button>
283
+ </div>
284
+
285
+ {/* Main layout: Left (prompts) | Right (config) */}
286
+ <div className="flex flex-1 min-h-0 gap-6 overflow-y-auto">
287
+ {/* Left: Collapsible prompt sections */}
288
+ <div className="flex flex-1 min-w-0 flex-col gap-4">
289
+ {/* Ticket Selection — collapsible */}
290
+ <CollapsibleSection
291
+ title="How to pick a ticket"
292
+ expanded={selectionExpanded}
293
+ onToggle={() => setSelectionExpanded(!selectionExpanded)}
294
+ >
295
+ <div className="min-h-[120px] overflow-y-auto resize-y" style={{ height: 320 }}>
296
+ <RichTextEditor
297
+ content={prompt}
298
+ onChange={(md) => setPrompt(md)}
299
+ placeholder="Describe how to pick which ticket to work on..."
300
+ />
301
+ </div>
302
+ </CollapsibleSection>
303
+
304
+ {/* Execution Prompt — collapsible */}
305
+ <CollapsibleSection
306
+ title="How to work a ticket"
307
+ expanded={executionExpanded}
308
+ onToggle={() => setExecutionExpanded(!executionExpanded)}
309
+ >
310
+ <div className="min-h-[300px] max-h-[50vh] overflow-y-auto">
311
+ <RichTextEditor
312
+ content={scriptPrompt}
313
+ onChange={(md) => setScriptPrompt(md)}
314
+ placeholder="Instructions injected into the agent session when working a ticket..."
315
+ />
316
+ </div>
317
+ </CollapsibleSection>
318
+ </div>
319
+
320
+ {/* Right: Team + Agent + Schedule */}
321
+ <div className="w-[340px] shrink-0 space-y-6">
322
+ {/* Team selector */}
323
+ {teams.length > 0 && (
324
+ <div>
325
+ <Label>Team</Label>
326
+ <SimpleDropdown
327
+ value={teamId || ""}
328
+ options={[
329
+ { value: "", label: "Select a team" },
330
+ ...teams.map((t) => ({ value: t.id, label: t.name })),
331
+ ]}
332
+ onChange={(v) => setTeamId(v)}
333
+ ariaLabel="Select team"
334
+ />
335
+ <p className="mt-1.5 text-[10px] text-[var(--muted-foreground)]">
336
+ Agents in this team become default participants of the linear chat.
337
+ </p>
338
+ </div>
339
+ )}
340
+
341
+ {/* Schedule */}
342
+ <ScheduleConditionPicker
343
+ value={{ cadence, condition }}
344
+ onChange={(next) => {
345
+ setCadence(next.cadence);
346
+ setCondition(next.condition);
347
+ }}
348
+ scheduleLabel="Schedule"
349
+ conditionLabel="Condition"
350
+ />
351
+ </div>
352
+ </div>
353
+
354
+ {/* Save button */}
355
+ <div className="flex shrink-0 justify-end pt-2">
356
+ <button
357
+ type="button"
358
+ disabled={saving}
359
+ onClick={handleSave}
360
+ className="rounded-lg bg-[var(--foreground)] px-5 py-2 text-sm font-medium text-[var(--background)] transition-opacity hover:opacity-90 disabled:opacity-40"
361
+ >
362
+ {saving ? "Saving..." : "Save configuration"}
363
+ </button>
364
+ </div>
365
+ </div>
366
+ );
367
+ }