@mndrk/agx 2.0.46 → 2.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
  4. package/cloud-runtime/standalone/.next/prerender-manifest.json +27 -3
  5. package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
  6. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  15. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  16. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  27. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  28. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  29. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  30. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  31. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  32. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  34. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
  35. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
  37. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
  39. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +2 -2
  43. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/linear/callback/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js +1 -1
  55. package/cloud-runtime/standalone/.next/server/app/api/linear/cycles/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js +1 -1
  57. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js +1 -1
  59. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js +5 -2
  61. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js +1 -1
  63. package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js +1 -1
  65. package/cloud-runtime/standalone/.next/server/app/api/linear/token/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
  67. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  73. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  75. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  77. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
  93. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  95. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  99. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +1 -1
  105. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +1 -1
  107. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +1 -1
  109. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +1 -1
  111. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +1 -1
  113. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +1 -1
  115. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +1 -1
  117. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  119. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  121. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  132. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  146. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  151. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  167. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  169. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  171. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  173. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  175. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  177. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  179. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  181. package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  183. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  185. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  186. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  187. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  189. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  190. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  191. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  193. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  194. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  195. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  196. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  197. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  198. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  199. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  200. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  201. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  203. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  204. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
  205. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  206. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  207. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  208. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  209. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  210. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  211. package/cloud-runtime/standalone/.next/server/app/folders/page/app-paths-manifest.json +3 -0
  212. package/cloud-runtime/standalone/.next/server/app/folders/page/build-manifest.json +18 -0
  213. package/cloud-runtime/standalone/.next/server/app/folders/page/next-font-manifest.json +11 -0
  214. package/cloud-runtime/standalone/.next/server/app/folders/page/react-loadable-manifest.json +1 -0
  215. package/cloud-runtime/standalone/.next/server/app/folders/page/server-reference-manifest.json +4 -0
  216. package/cloud-runtime/standalone/.next/server/app/folders/page.js +15 -0
  217. package/cloud-runtime/standalone/.next/server/app/folders/page.js.map +5 -0
  218. package/cloud-runtime/standalone/.next/server/app/folders/page.js.nft.json +1 -0
  219. package/cloud-runtime/standalone/.next/server/app/folders/page_client-reference-manifest.js +2 -0
  220. package/cloud-runtime/standalone/.next/server/app/folders.html +21 -0
  221. package/cloud-runtime/standalone/.next/server/app/folders.meta +15 -0
  222. package/cloud-runtime/standalone/.next/server/app/folders.rsc +24 -0
  223. package/cloud-runtime/standalone/.next/server/app/folders.segments/_full.segment.rsc +24 -0
  224. package/cloud-runtime/standalone/.next/server/app/folders.segments/_head.segment.rsc +5 -0
  225. package/cloud-runtime/standalone/.next/server/app/folders.segments/_index.segment.rsc +10 -0
  226. package/cloud-runtime/standalone/.next/server/app/folders.segments/_tree.segment.rsc +5 -0
  227. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +9 -0
  228. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders.segment.rsc +4 -0
  229. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  230. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  231. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  232. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  233. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  235. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  236. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  237. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  238. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +1 -1
  239. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  244. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  245. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +1 -1
  246. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  247. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  248. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  249. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  251. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  253. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  254. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  255. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
  256. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
  257. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  258. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  259. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  260. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  263. package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  264. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  265. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  266. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  267. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  268. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  269. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  270. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  271. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  272. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  273. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  274. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  275. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  276. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  277. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  278. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  279. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  280. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  281. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  282. package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  283. package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
  284. package/cloud-runtime/standalone/.next/server/app/skills.rsc +2 -2
  285. package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  286. package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  287. package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  288. package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  289. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  290. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  291. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  292. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  293. package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
  294. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
  295. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  296. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  297. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  298. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  299. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  300. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  301. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  302. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  303. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  304. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  305. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  306. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  307. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  308. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  309. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  310. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  311. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  312. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
  313. package/cloud-runtime/standalone/.next/server/chunks/{[externals]__31e26905._.js → [externals]__7b4c6b2b._.js} +1 -1
  314. package/cloud-runtime/standalone/.next/server/chunks/[externals]__a21cc96d._.js +3 -0
  315. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__015d40a6._.js +67 -0
  316. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__067034dd._.js +67 -0
  317. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5aaf8c25._.js → [root-of-the-server]__143fdf69._.js} +2 -2
  318. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__74a37ca4._.js → [root-of-the-server]__158df4bf._.js} +2 -2
  319. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c029daab._.js → [root-of-the-server]__179cb224._.js} +2 -2
  320. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3fd3c5b1._.js → [root-of-the-server]__1a1f66b1._.js} +2 -2
  321. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20a2cb22._.js +150 -0
  322. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d2ac93f2._.js → [root-of-the-server]__23b075bd._.js} +2 -2
  323. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3bf516b6._.js → [root-of-the-server]__3170b7bf._.js} +2 -2
  324. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__558389f7._.js → [root-of-the-server]__33865410._.js} +2 -2
  325. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4c2d07e0._.js → [root-of-the-server]__36d15de5._.js} +2 -2
  326. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__37844df7._.js +67 -0
  327. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d9f2041b._.js → [root-of-the-server]__3a93931b._.js} +4 -4
  328. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3fae531a._.js +89 -0
  329. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__76658fd6._.js → [root-of-the-server]__4cb22e4d._.js} +2 -2
  330. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ebece93b._.js → [root-of-the-server]__4ce74056._.js} +2 -2
  331. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__635fe0f9._.js → [root-of-the-server]__538b0bdd._.js} +2 -2
  332. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3b1431b6._.js → [root-of-the-server]__5c55f67a._.js} +2 -2
  333. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e20922e8._.js → [root-of-the-server]__69a3c480._.js} +2 -2
  334. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__42804c1d._.js → [root-of-the-server]__6c53437e._.js} +1 -1
  335. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8cbd8c56._.js +79 -0
  336. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__92ed2961._.js +48 -0
  337. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__509b1dd2._.js → [root-of-the-server]__94499e9a._.js} +2 -2
  338. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ddb3aa76._.js → [root-of-the-server]__a280fa63._.js} +2 -2
  339. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8c7d1318._.js → [root-of-the-server]__a2d31df1._.js} +2 -2
  340. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a3955224._.js +150 -0
  341. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4b0b5fe1._.js → [root-of-the-server]__a7b2350e._.js} +2 -2
  342. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5b13e7a5._.js → [root-of-the-server]__ab655b9f._.js} +2 -2
  343. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac6326b6._.js +106 -0
  344. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0284ea89._.js → [root-of-the-server]__b2748382._.js} +2 -2
  345. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e7be56ba._.js → [root-of-the-server]__b627cb83._.js} +2 -2
  346. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0e98af48._.js → [root-of-the-server]__bab85495._.js} +63 -18
  347. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dca6026a._.js → [root-of-the-server]__c21747df._.js} +2 -2
  348. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c22dd3a6._.js +179 -0
  349. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8890cd6._.js +150 -0
  350. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__aad349b4._.js → [root-of-the-server]__ca4987eb._.js} +1 -1
  351. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__fcdaf6d8._.js → [root-of-the-server]__d16caed5._.js} +2 -2
  352. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1f53e82e._.js → [root-of-the-server]__d324f8a1._.js} +2 -2
  353. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6988985c._.js → [root-of-the-server]__da645a5e._.js} +2 -2
  354. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d4f42f49._.js → [root-of-the-server]__e58e9f91._.js} +2 -2
  355. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b3df16._.js +3 -0
  356. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c8195768._.js → [root-of-the-server]__f7f336c7._.js} +1 -1
  357. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcfa3690._.js +93 -0
  358. package/cloud-runtime/standalone/.next/server/chunks/_4d07f8db._.js +3 -0
  359. package/cloud-runtime/standalone/.next/server/chunks/lib_7f7835f1._.js +66 -21
  360. package/cloud-runtime/standalone/.next/server/chunks/lib_9f439b27._.js +61 -16
  361. package/cloud-runtime/standalone/.next/server/chunks/lib_f81d6da9._.js +70 -0
  362. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__4c9d0778._.js → [root-of-the-server]__01e1641e._.js} +2 -2
  363. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b2a2b86._.js +3 -0
  364. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__32546242._.js +3 -0
  365. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__4140bb73._.js +3 -0
  366. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ffbc2e98._.js → [root-of-the-server]__5e73414b._.js} +2 -2
  367. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ff9ead4._.js +3 -0
  368. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ec81a3d9._.js +3 -0
  369. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f2c3b7ab._.js +1 -1
  370. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a42e4555._.js → [root-of-the-server]__fbe1ab4a._.js} +2 -2
  371. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1e9b9b1e._.js +3 -0
  372. package/cloud-runtime/standalone/.next/server/chunks/ssr/_24fe6213._.js +3 -0
  373. package/cloud-runtime/standalone/.next/server/chunks/ssr/_36a0c486._.js +3 -0
  374. package/cloud-runtime/standalone/.next/server/chunks/ssr/_3b21d3b2._.js +95 -0
  375. package/cloud-runtime/standalone/.next/server/chunks/ssr/_3eeac8f9._.js +3 -0
  376. package/cloud-runtime/standalone/.next/server/chunks/ssr/_48db42b7._.js +3 -0
  377. package/cloud-runtime/standalone/.next/server/chunks/ssr/_59f30a73._.js +3 -0
  378. package/cloud-runtime/standalone/.next/server/chunks/ssr/_7d3b0032._.js +3 -0
  379. package/cloud-runtime/standalone/.next/server/chunks/ssr/_916950b3._.js +3 -0
  380. package/cloud-runtime/standalone/.next/server/chunks/ssr/_b598ae8a._.js +3 -0
  381. package/cloud-runtime/standalone/.next/server/chunks/ssr/_b7009996._.js +3 -0
  382. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cc8c8302._.js +3 -0
  383. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d972a4e1._.js +3 -0
  384. package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd7bb6fb._.js +3 -0
  385. package/cloud-runtime/standalone/.next/server/chunks/ssr/_dd9880fb._.js +3 -0
  386. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e70d5625._.js +4 -0
  387. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f02d786a._.js +3 -0
  388. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f53d31e0._.js +3 -0
  389. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fd8cafe9._.js +3 -0
  390. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_folders_page_actions_9c8dfb6c.js +3 -0
  391. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_linear_page_tsx_971a6ba7._.js +15 -12
  392. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +2 -2
  393. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  394. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_54bf563f._.js +3 -0
  395. package/cloud-runtime/standalone/.next/server/instrumentation.js +1 -1
  396. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  397. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  398. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +4 -0
  399. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  400. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  401. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  402. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  403. package/cloud-runtime/standalone/.next/static/chunks/04c135686161dbb1.js +40 -0
  404. package/cloud-runtime/standalone/.next/static/chunks/0d63db0c39c0a3b2.js +1 -0
  405. package/cloud-runtime/standalone/.next/static/chunks/136ed07d84b14632.js +1 -0
  406. package/cloud-runtime/standalone/.next/static/chunks/18866ed04ed3a063.css +1 -0
  407. package/cloud-runtime/standalone/.next/static/chunks/1b808cdaa28a10b4.js +16 -0
  408. package/cloud-runtime/standalone/.next/static/chunks/{ccaf68956da192f8.js → 1bb38e61d891453c.js} +1 -1
  409. package/cloud-runtime/standalone/.next/static/chunks/2c7c8259c2b56bf5.js +1 -0
  410. package/cloud-runtime/standalone/.next/static/chunks/2da1f13d50dc4e54.js +1 -0
  411. package/cloud-runtime/standalone/.next/static/chunks/442eb8ef62bef9f9.js +3 -0
  412. package/cloud-runtime/standalone/.next/static/chunks/5f33b52d582b0bb4.js +1 -0
  413. package/cloud-runtime/standalone/.next/static/chunks/{1fa91c34c99502bf.js → 64c2961edd3a3b13.js} +1 -1
  414. package/cloud-runtime/standalone/.next/static/chunks/{db131a0b6350e416.js → 692ce04abdbb3970.js} +1 -1
  415. package/cloud-runtime/standalone/.next/static/chunks/83be8569d298c6b0.js +1 -0
  416. package/cloud-runtime/standalone/.next/static/chunks/87b3afe828c8cc52.js +1 -0
  417. package/cloud-runtime/standalone/.next/static/chunks/{14922fd23cdc223b.js → 9328740727c6456d.js} +1 -1
  418. package/cloud-runtime/standalone/.next/static/chunks/95d47e285ae9c031.js +1 -0
  419. package/cloud-runtime/standalone/.next/static/chunks/b9bf5d3ee92a1313.js +1 -0
  420. package/cloud-runtime/standalone/.next/static/chunks/ea35fb870141bcff.js +1 -0
  421. package/cloud-runtime/standalone/.next/static/chunks/f59722264449b61c.js +1 -0
  422. package/cloud-runtime/standalone/.next/static/chunks/f727d2c8f039511d.js +1 -0
  423. package/cloud-runtime/standalone/.next/static/chunks/{f4360c3e4089263f.js → f8706212baa8ec67.js} +1 -1
  424. package/cloud-runtime/standalone/.next/static/chunks/fd823c9d1381335d.js +1 -0
  425. package/cloud-runtime/standalone/app/api/linear/issues/route.ts +9 -2
  426. package/cloud-runtime/standalone/app/api/linear/options/route.ts +16 -4
  427. package/cloud-runtime/standalone/app/automations/page.tsx +11 -1
  428. package/cloud-runtime/standalone/app/folders/page.tsx +318 -0
  429. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +11 -1
  430. package/cloud-runtime/standalone/components/LinearBoard.tsx +211 -28
  431. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +10 -0
  432. package/cloud-runtime/standalone/components/linear/RunScriptManager.tsx +356 -0
  433. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +55 -10
  434. package/cloud-runtime/standalone/hooks/useLinearIssues.ts +7 -3
  435. package/cloud-runtime/standalone/hooks/useLinearRunScripts.ts +115 -0
  436. package/cloud-runtime/standalone/instrumentation.ts +3 -0
  437. package/cloud-runtime/standalone/lib/cli-runner.ts +27 -6
  438. package/cloud-runtime/standalone/lib/linear-client.ts +33 -3
  439. package/cloud-runtime/standalone/lib/linear-execution-prompt.ts +92 -15
  440. package/cloud-runtime/standalone/lib/linear-issue-store.ts +33 -5
  441. package/cloud-runtime/standalone/lib/scheduled-task-skill.ts +119 -0
  442. package/cloud-runtime/standalone/state/automations/.state/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.json +8 -0
  443. package/cloud-runtime/standalone/state/automations/active/c4300b01-1203-40fe-b3a9-b9fb9ec0c5cc.md +15 -0
  444. package/cloud-runtime/standalone/state/linearBoardFilters.ts +90 -0
  445. package/cloud-runtime/standalone/state/linearRunScripts.test.ts +99 -0
  446. package/cloud-runtime/standalone/state/linearRunScripts.ts +132 -0
  447. package/cloud-runtime/standalone/state/windowState.ts +21 -0
  448. package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
  449. package/cloud-runtime/standalone/worker/index.js +147 -28
  450. package/package.json +1 -1
  451. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1154e5b3._.js +0 -67
  452. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b83b657._.js +0 -147
  453. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6921fe3f._.js +0 -44
  454. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__70327010._.js +0 -134
  455. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__748c718f._.js +0 -147
  456. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__76290829._.js +0 -67
  457. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79fa35e4._.js +0 -101
  458. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8d205f82._.js +0 -48
  459. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a7e0ac67._.js +0 -25
  460. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ad6d6402._.js +0 -67
  461. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b133856b._.js +0 -61
  462. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ce2a1672._.js +0 -67
  463. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +0 -25
  464. package/cloud-runtime/standalone/.next/server/chunks/_a93e80e8._.js +0 -3
  465. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1c4256ce._.js +0 -3
  466. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__69887882._.js +0 -3
  467. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bb149a22._.js +0 -3
  468. package/cloud-runtime/standalone/.next/server/chunks/ssr/_11ce4c04._.js +0 -95
  469. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1d26be78._.js +0 -3
  470. package/cloud-runtime/standalone/.next/server/chunks/ssr/_22e99a52._.js +0 -3
  471. package/cloud-runtime/standalone/.next/server/chunks/ssr/_260b10ce._.js +0 -3
  472. package/cloud-runtime/standalone/.next/server/chunks/ssr/_32c878b9._.js +0 -3
  473. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4bfdfb14._.js +0 -3
  474. package/cloud-runtime/standalone/.next/server/chunks/ssr/_52fe115d._.js +0 -3
  475. package/cloud-runtime/standalone/.next/server/chunks/ssr/_69164b06._.js +0 -95
  476. package/cloud-runtime/standalone/.next/server/chunks/ssr/_77e1407a._.js +0 -3
  477. package/cloud-runtime/standalone/.next/server/chunks/ssr/_7f7a828a._.js +0 -3
  478. package/cloud-runtime/standalone/.next/server/chunks/ssr/_84a166cb._.js +0 -3
  479. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ba5903a7._.js +0 -3
  480. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cee3cf86._.js +0 -95
  481. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ed4fece9._.js +0 -3
  482. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f51a3112._.js +0 -3
  483. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e8bdedc5._.js +0 -3
  484. package/cloud-runtime/standalone/.next/static/chunks/2362d5c0dcaa5d64.js +0 -1
  485. package/cloud-runtime/standalone/.next/static/chunks/2730394502dd3664.js +0 -1
  486. package/cloud-runtime/standalone/.next/static/chunks/2a9c83f8211196e0.js +0 -1
  487. package/cloud-runtime/standalone/.next/static/chunks/34dd491bc4ce9561.js +0 -1
  488. package/cloud-runtime/standalone/.next/static/chunks/37f07896b044d69f.css +0 -1
  489. package/cloud-runtime/standalone/.next/static/chunks/3dc50de1c86e1ce9.js +0 -1
  490. package/cloud-runtime/standalone/.next/static/chunks/4ea8f08087116055.js +0 -1
  491. package/cloud-runtime/standalone/.next/static/chunks/98c20da4973991f0.js +0 -1
  492. package/cloud-runtime/standalone/.next/static/chunks/a72fbac84e32f665.js +0 -1
  493. package/cloud-runtime/standalone/.next/static/chunks/a9da98f883ac833b.js +0 -1
  494. package/cloud-runtime/standalone/.next/static/chunks/b2127dc67c5ade9f.js +0 -1
  495. package/cloud-runtime/standalone/.next/static/chunks/b3377e39d47c71cf.js +0 -3
  496. package/cloud-runtime/standalone/.next/static/chunks/b553dba1f51e709b.js +0 -16
  497. package/cloud-runtime/standalone/.next/static/chunks/bf2a2fafb710e63c.js +0 -1
  498. package/cloud-runtime/standalone/.next/static/chunks/c0d17e0c37ba8e7a.js +0 -1
  499. package/cloud-runtime/standalone/.next/static/chunks/cca7c8e4ade050f0.js +0 -37
  500. package/cloud-runtime/standalone/state/automations/.state/24a6a5db-3b14-49c4-841f-29f10f015fbb.json +0 -8
  501. package/cloud-runtime/standalone/state/automations/active/24a6a5db-3b14-49c4-841f-29f10f015fbb.md +0 -17
  502. /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → gty0FO80D_lbq3o9lSpQQ}/_buildManifest.js +0 -0
  503. /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → gty0FO80D_lbq3o9lSpQQ}/_clientMiddlewareManifest.json +0 -0
  504. /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → gty0FO80D_lbq3o9lSpQQ}/_ssgManifest.js +0 -0
@@ -0,0 +1,356 @@
1
+ "use client";
2
+
3
+ import { useEffect, useMemo, useState } from "react";
4
+ import { Check, Plus, Save, Trash2 } from "lucide-react";
5
+ import ConfirmDialog from "@/components/ConfirmDialog";
6
+ import RichTextEditor from "@/components/RichTextEditor";
7
+ import type { LinearRunScript } from "@/state/linearRunScripts";
8
+
9
+ type EditorMode =
10
+ | { type: "new" }
11
+ | { type: "edit"; scriptId: string };
12
+
13
+ interface RunScriptManagerProps {
14
+ projectSlug?: string | null;
15
+ scripts: LinearRunScript[];
16
+ activeScriptId: string | null;
17
+ onSetActiveScriptId: (scriptId: string | null) => void;
18
+ onSaveScript: (input: { id?: string; name: string; prompt: string }) => LinearRunScript;
19
+ onDeleteScript: (scriptId: string) => void;
20
+ }
21
+
22
+ function formatUpdatedAt(iso: string): string {
23
+ try {
24
+ return new Date(iso).toLocaleString([], {
25
+ month: "short",
26
+ day: "numeric",
27
+ hour: "numeric",
28
+ minute: "2-digit",
29
+ });
30
+ } catch {
31
+ return iso;
32
+ }
33
+ }
34
+
35
+ function buildProjectLabel(projectSlug?: string | null): string {
36
+ return String(projectSlug ?? "").trim() || "global Linear board";
37
+ }
38
+
39
+ export default function RunScriptManager({
40
+ projectSlug,
41
+ scripts,
42
+ activeScriptId,
43
+ onSetActiveScriptId,
44
+ onSaveScript,
45
+ onDeleteScript,
46
+ }: RunScriptManagerProps) {
47
+ const activeScript = useMemo(
48
+ () => scripts.find((script) => script.id === activeScriptId) ?? null,
49
+ [activeScriptId, scripts]
50
+ );
51
+ const [editorMode, setEditorMode] = useState<EditorMode>(() =>
52
+ activeScriptId ? { type: "edit", scriptId: activeScriptId } : { type: "new" }
53
+ );
54
+ const [draftName, setDraftName] = useState("");
55
+ const [draftPrompt, setDraftPrompt] = useState("");
56
+ const [error, setError] = useState<string | null>(null);
57
+ const [deleteTarget, setDeleteTarget] = useState<LinearRunScript | null>(null);
58
+ const editingScriptId = editorMode.type === "edit" ? editorMode.scriptId : null;
59
+
60
+ useEffect(() => {
61
+ if (editorMode.type === "edit") {
62
+ const script = scripts.find((entry) => entry.id === editorMode.scriptId);
63
+ if (script) {
64
+ setDraftName(script.name);
65
+ setDraftPrompt(script.prompt);
66
+ return;
67
+ }
68
+ }
69
+
70
+ if (activeScript && editorMode.type !== "new") {
71
+ if (editorMode.type !== "edit" || editorMode.scriptId !== activeScript.id) {
72
+ setEditorMode({ type: "edit", scriptId: activeScript.id });
73
+ }
74
+ setDraftName(activeScript.name);
75
+ setDraftPrompt(activeScript.prompt);
76
+ return;
77
+ }
78
+
79
+ if (scripts.length === 0) {
80
+ if (editorMode.type !== "new") {
81
+ setEditorMode({ type: "new" });
82
+ setDraftName("");
83
+ setDraftPrompt("");
84
+ }
85
+ }
86
+ }, [activeScript, editingScriptId, editorMode, scripts]);
87
+
88
+ const selectScript = (script: LinearRunScript) => {
89
+ setEditorMode({ type: "edit", scriptId: script.id });
90
+ setDraftName(script.name);
91
+ setDraftPrompt(script.prompt);
92
+ setError(null);
93
+ onSetActiveScriptId(script.id);
94
+ };
95
+
96
+ const startNewScript = () => {
97
+ setEditorMode({ type: "new" });
98
+ setDraftName("");
99
+ setDraftPrompt("");
100
+ setError(null);
101
+ };
102
+
103
+ const handleSaveNew = () => {
104
+ try {
105
+ const saved = onSaveScript({
106
+ name: draftName,
107
+ prompt: draftPrompt,
108
+ });
109
+ setEditorMode({ type: "edit", scriptId: saved.id });
110
+ setError(null);
111
+ } catch (saveError) {
112
+ setError(saveError instanceof Error ? saveError.message : "Failed to save run script.");
113
+ }
114
+ };
115
+
116
+ const handleUpdate = () => {
117
+ if (editorMode.type !== "edit") {
118
+ handleSaveNew();
119
+ return;
120
+ }
121
+
122
+ try {
123
+ const saved = onSaveScript({
124
+ id: editorMode.scriptId,
125
+ name: draftName,
126
+ prompt: draftPrompt,
127
+ });
128
+ setEditorMode({ type: "edit", scriptId: saved.id });
129
+ setError(null);
130
+ } catch (saveError) {
131
+ setError(saveError instanceof Error ? saveError.message : "Failed to update run script.");
132
+ }
133
+ };
134
+
135
+ const confirmDelete = () => {
136
+ if (!deleteTarget) {
137
+ return;
138
+ }
139
+
140
+ onDeleteScript(deleteTarget.id);
141
+ if (editorMode.type === "edit" && editorMode.scriptId === deleteTarget.id) {
142
+ setEditorMode({ type: "new" });
143
+ setDraftName("");
144
+ setDraftPrompt("");
145
+ }
146
+ setDeleteTarget(null);
147
+ setError(null);
148
+ };
149
+
150
+ return (
151
+ <div className="flex flex-col gap-5">
152
+ <div className="flex flex-col gap-1">
153
+ <h3 className="text-sm font-semibold text-[var(--foreground)]">Run Scripts</h3>
154
+ <p className="text-xs leading-relaxed text-[var(--muted-foreground)]">
155
+ Save reusable execution prompts for the {buildProjectLabel(projectSlug)}. These scripts are stored locally on this device and layered on top of the built-in ticket context when you run a Linear task.
156
+ </p>
157
+ </div>
158
+
159
+ <div className="grid gap-5 md:grid-cols-[240px_minmax(0,1fr)]">
160
+ <aside className="rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-3">
161
+ <div className="mb-3 flex items-center justify-between">
162
+ <span className="text-[11px] font-semibold uppercase tracking-[0.16em] text-[var(--muted-foreground)]">
163
+ Library
164
+ </span>
165
+ <button
166
+ type="button"
167
+ className="inline-flex items-center gap-1 rounded-md border border-[var(--card-border)] px-2 py-1 text-[11px] font-medium text-[var(--foreground)] transition-colors hover:bg-[var(--background)]"
168
+ onClick={startNewScript}
169
+ >
170
+ <Plus size={12} />
171
+ New
172
+ </button>
173
+ </div>
174
+
175
+ <div className="flex flex-col gap-1.5">
176
+ <button
177
+ type="button"
178
+ className={`flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-xs transition-colors ${
179
+ activeScriptId === null
180
+ ? "bg-[var(--background)] text-[var(--foreground)]"
181
+ : "text-[var(--muted-foreground)] hover:bg-[var(--background)] hover:text-[var(--foreground)]"
182
+ }`}
183
+ onClick={() => onSetActiveScriptId(null)}
184
+ >
185
+ <span
186
+ className={`flex h-4 w-4 shrink-0 items-center justify-center rounded-full border ${
187
+ activeScriptId === null
188
+ ? "border-blue-500 bg-blue-500 text-white"
189
+ : "border-[var(--card-border)]"
190
+ }`}
191
+ >
192
+ {activeScriptId === null ? <Check size={10} /> : null}
193
+ </span>
194
+ <span className="min-w-0 flex-1 truncate font-medium">AGX default</span>
195
+ </button>
196
+
197
+ {scripts.length === 0 ? (
198
+ <div className="rounded-lg border border-dashed border-[var(--card-border)] px-3 py-4 text-xs leading-relaxed text-[var(--muted-foreground)]">
199
+ No saved scripts yet. Create one to reuse your preferred Linear execution prompt.
200
+ </div>
201
+ ) : (
202
+ scripts.map((script) => {
203
+ const isActive = script.id === activeScriptId;
204
+ const isEditing = editorMode.type === "edit" && editorMode.scriptId === script.id;
205
+ return (
206
+ <button
207
+ key={script.id}
208
+ type="button"
209
+ className={`rounded-lg border px-3 py-2 text-left transition-colors ${
210
+ isEditing
211
+ ? "border-blue-500/50 bg-[var(--background)]"
212
+ : "border-transparent hover:border-[var(--card-border)] hover:bg-[var(--background)]"
213
+ }`}
214
+ onClick={() => selectScript(script)}
215
+ >
216
+ <div className="flex items-start gap-2">
217
+ <span
218
+ className={`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded-full border ${
219
+ isActive
220
+ ? "border-blue-500 bg-blue-500 text-white"
221
+ : "border-[var(--card-border)]"
222
+ }`}
223
+ >
224
+ {isActive ? <Check size={10} /> : null}
225
+ </span>
226
+ <div className="min-w-0 flex-1">
227
+ <div className="truncate text-xs font-medium text-[var(--foreground)]">
228
+ {script.name}
229
+ </div>
230
+ <div className="mt-1 line-clamp-2 text-[11px] leading-relaxed text-[var(--muted-foreground)]">
231
+ {script.prompt}
232
+ </div>
233
+ <div className="mt-2 text-[10px] uppercase tracking-[0.14em] text-[var(--muted-foreground)]">
234
+ Updated {formatUpdatedAt(script.updatedAt)}
235
+ </div>
236
+ </div>
237
+ </div>
238
+ </button>
239
+ );
240
+ })
241
+ )}
242
+ </div>
243
+ </aside>
244
+
245
+ <section className="rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-4">
246
+ <div className="mb-4 flex items-start justify-between gap-3">
247
+ <div>
248
+ <h4 className="text-sm font-semibold text-[var(--foreground)]">
249
+ {editorMode.type === "edit" ? "Edit Run Script" : "New Run Script"}
250
+ </h4>
251
+ <p className="mt-1 text-xs leading-relaxed text-[var(--muted-foreground)]">
252
+ Use placeholders like <code>{"{{ticket.identifier}}"}</code>, <code>{"{{ticket.title}}"}</code>, <code>{"{{ticket.status}}"}</code>, <code>{"{{ticket.assignee}}"}</code>, <code>{"{{project.slug}}"}</code>, <code>{"{{knowledge_base.root}}"}</code>, <code>{"{{knowledge_base.issue_path}}"}</code>, and <code>{"{{worktree.path}}"}</code>.
253
+ </p>
254
+ </div>
255
+ {activeScript ? (
256
+ <span className="rounded-full border border-blue-500/30 bg-blue-500/10 px-2.5 py-1 text-[11px] font-medium text-blue-400">
257
+ Active: {activeScript.name}
258
+ </span>
259
+ ) : (
260
+ <span className="rounded-full border border-[var(--card-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--muted-foreground)]">
261
+ Active: AGX default
262
+ </span>
263
+ )}
264
+ </div>
265
+
266
+ <div className="flex flex-col gap-3">
267
+ <label className="flex flex-col gap-1.5">
268
+ <span className="text-[11px] font-semibold uppercase tracking-[0.14em] text-[var(--muted-foreground)]">
269
+ Name
270
+ </span>
271
+ <input
272
+ type="text"
273
+ className="rounded-lg border border-[var(--card-border)] bg-[var(--background)] px-3 py-2 text-sm text-[var(--foreground)] outline-none transition-colors focus:border-blue-500"
274
+ placeholder="Investigation-first"
275
+ value={draftName}
276
+ onChange={(event) => setDraftName(event.target.value)}
277
+ />
278
+ </label>
279
+
280
+ <div className="flex flex-col gap-1.5">
281
+ <span className="text-[11px] font-semibold uppercase tracking-[0.14em] text-[var(--muted-foreground)]">
282
+ Prompt
283
+ </span>
284
+ <div className="overflow-hidden rounded-lg border border-[var(--card-border)] bg-[var(--background)] transition-colors focus-within:border-blue-500 [&_.rich-text-editor_.ProseMirror]:min-h-[220px]">
285
+ <RichTextEditor
286
+ content={draftPrompt}
287
+ onChange={setDraftPrompt}
288
+ placeholder={"Read {{ticket.identifier}} and the full comment thread in Linear before changing code.\nWrite your investigation to {{knowledge_base.issue_path}} and stop after posting a plan unless the issue is already approved for implementation."}
289
+ />
290
+ </div>
291
+ </div>
292
+
293
+ {error ? (
294
+ <div className="rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-xs text-red-300">
295
+ {error}
296
+ </div>
297
+ ) : null}
298
+
299
+ <div className="flex flex-wrap items-center gap-2">
300
+ <button
301
+ type="button"
302
+ className="inline-flex items-center gap-1.5 rounded-lg bg-blue-500 px-3 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-600"
303
+ onClick={handleSaveNew}
304
+ >
305
+ <Save size={14} />
306
+ Save as new
307
+ </button>
308
+ {editorMode.type === "edit" ? (
309
+ <button
310
+ type="button"
311
+ className="inline-flex items-center gap-1.5 rounded-lg border border-[var(--card-border)] px-3 py-2 text-sm font-medium text-[var(--foreground)] transition-colors hover:bg-[var(--background)]"
312
+ onClick={handleUpdate}
313
+ >
314
+ <Save size={14} />
315
+ Update
316
+ </button>
317
+ ) : null}
318
+ {editorMode.type === "edit" ? (
319
+ <button
320
+ type="button"
321
+ className="inline-flex items-center gap-1.5 rounded-lg border border-red-500/30 px-3 py-2 text-sm font-medium text-red-300 transition-colors hover:bg-red-500/10"
322
+ onClick={() => {
323
+ const script = scripts.find((entry) => entry.id === editorMode.scriptId) ?? null;
324
+ setDeleteTarget(script);
325
+ }}
326
+ >
327
+ <Trash2 size={14} />
328
+ Delete
329
+ </button>
330
+ ) : null}
331
+ <button
332
+ type="button"
333
+ className="inline-flex items-center gap-1.5 rounded-lg border border-[var(--card-border)] px-3 py-2 text-sm font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--background)] hover:text-[var(--foreground)]"
334
+ onClick={startNewScript}
335
+ >
336
+ <Plus size={14} />
337
+ Clear editor
338
+ </button>
339
+ </div>
340
+ </div>
341
+ </section>
342
+ </div>
343
+
344
+ <ConfirmDialog
345
+ isOpen={Boolean(deleteTarget)}
346
+ title="Delete run script?"
347
+ message="This removes the saved script from this device for the current project."
348
+ preview={deleteTarget?.name}
349
+ confirmLabel="Delete"
350
+ variant="danger"
351
+ onConfirm={confirmDelete}
352
+ onCancel={() => setDeleteTarget(null)}
353
+ />
354
+ </div>
355
+ );
356
+ }
@@ -45,6 +45,8 @@ interface WorkspaceSidebarProps {
45
45
  isRestoringActiveThread?: boolean;
46
46
  onToggle?: () => void;
47
47
  onSearch?: () => void;
48
+ width?: number;
49
+ onWidthChange?: (width: number) => void;
48
50
  // Projects
49
51
  projects?: ProjectWithAgents[];
50
52
  onCreateProject?: (payload: { name: string; description?: string; repos?: Array<{ name: string; path?: string; notes?: string }> }, threadId?: string) => Promise<unknown>;
@@ -90,7 +92,11 @@ export function WorkspaceSidebar({
90
92
  onSelectProject,
91
93
  activeProjectId = null,
92
94
  activeProjectView = null,
95
+ width,
96
+ onWidthChange,
93
97
  }: WorkspaceSidebarProps) {
98
+ const resizing = useRef(false);
99
+ const lastX = useRef(0);
94
100
  const emptyCtaRef = useRef<HTMLButtonElement | null>(null);
95
101
  const [hasMounted, setHasMounted] = useState(false);
96
102
  const [expandedProjects, setExpandedProjects] = useState<Set<string>>(new Set());
@@ -362,6 +368,7 @@ export function WorkspaceSidebar({
362
368
  className="workspace-sidebar"
363
369
  aria-label="Workspace sidebar"
364
370
  aria-busy={isLoading ? "true" : undefined}
371
+ style={width ? { width: `${width}px`, minWidth: `${width}px` } : undefined}
365
372
  >
366
373
  <div className="workspace-sidebar__brand">
367
374
  <div className="workspace-sidebar__brand-content flex items-center gap-2 px-1">
@@ -398,16 +405,6 @@ export function WorkspaceSidebar({
398
405
  </div>
399
406
  )}
400
407
 
401
- <nav className="workspace-sidebar__section" style={{ gap: 0 }}>
402
- <Link
403
- href="/agents"
404
- className="workspace-sidebar__nav-item"
405
- >
406
- <Bot size={14} className="flex-shrink-0" />
407
- Manage Agents
408
- </Link>
409
- </nav>
410
-
411
408
  <nav className="workspace-sidebar__section">
412
409
  <div className="workspace-sidebar__section-header group/projects-header">
413
410
  <p className="workspace-sidebar__section-label">Projects</p>
@@ -536,6 +533,15 @@ export function WorkspaceSidebar({
536
533
  <div className="pt-1">
537
534
  <div className="group/repos-header flex items-center justify-between px-3 py-1">
538
535
  <p className="text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide">Folders</p>
536
+ <div className="flex items-center gap-1">
537
+ <Link
538
+ href="/folders"
539
+ className="workspace-sidebar__action opacity-0 transition-opacity group-hover/repos-header:opacity-100 text-[var(--muted-foreground)] hover:text-white"
540
+ aria-label="Manage folders"
541
+ title="Manage folders"
542
+ >
543
+ <Settings size={12} />
544
+ </Link>
539
545
  <button
540
546
  type="button"
541
547
  className="workspace-sidebar__action opacity-0 transition-opacity group-hover/repos-header:opacity-100 text-[var(--muted-foreground)] hover:text-white"
@@ -557,6 +563,7 @@ export function WorkspaceSidebar({
557
563
  >
558
564
  <Plus size={12} />
559
565
  </button>
566
+ </div>
560
567
  </div>
561
568
  {project.repos.length > 0 ? (
562
569
  project.repos.map((repo) => (
@@ -613,6 +620,15 @@ export function WorkspaceSidebar({
613
620
  <div className="pt-1">
614
621
  <div className="group/agents-header flex items-center justify-between px-3 py-1">
615
622
  <p className="text-[10px] font-medium text-[var(--muted-foreground)] uppercase tracking-wide">Agents</p>
623
+ <div className="flex items-center gap-1">
624
+ <Link
625
+ href="/agents"
626
+ className="workspace-sidebar__action opacity-0 transition-opacity group-hover/agents-header:opacity-100 text-[var(--muted-foreground)] hover:text-white"
627
+ aria-label="Manage agents"
628
+ title="Manage agents"
629
+ >
630
+ <Settings size={12} />
631
+ </Link>
616
632
  {project.agents.length > 0 && (
617
633
  <button
618
634
  type="button"
@@ -624,6 +640,7 @@ export function WorkspaceSidebar({
624
640
  <Plus size={12} />
625
641
  </button>
626
642
  )}
643
+ </div>
627
644
  </div>
628
645
  {project.agents.length > 0 ? (
629
646
  <>
@@ -1252,6 +1269,34 @@ export function WorkspaceSidebar({
1252
1269
  />
1253
1270
  );
1254
1271
  })(), document.body)}
1272
+ {onWidthChange && (
1273
+ <div
1274
+ className="absolute right-0 top-0 bottom-0 z-20 w-1 cursor-col-resize group"
1275
+ onMouseDown={(e) => {
1276
+ e.preventDefault();
1277
+ resizing.current = true;
1278
+ const startX = e.clientX;
1279
+ const startWidth = width ?? 368;
1280
+ document.body.style.cursor = "col-resize";
1281
+ document.body.style.userSelect = "none";
1282
+ const onMouseMove = (ev: MouseEvent) => {
1283
+ const newWidth = Math.max(200, Math.min(600, startWidth + ev.clientX - startX));
1284
+ onWidthChange(newWidth);
1285
+ };
1286
+ const onMouseUp = () => {
1287
+ resizing.current = false;
1288
+ document.body.style.cursor = "";
1289
+ document.body.style.userSelect = "";
1290
+ window.removeEventListener("mousemove", onMouseMove);
1291
+ window.removeEventListener("mouseup", onMouseUp);
1292
+ };
1293
+ window.addEventListener("mousemove", onMouseMove);
1294
+ window.addEventListener("mouseup", onMouseUp);
1295
+ }}
1296
+ >
1297
+ <div className="absolute inset-y-0 right-0 w-1 transition-colors hover:bg-[var(--primary)]/40 group-hover:bg-[var(--primary)]/40" />
1298
+ </div>
1299
+ )}
1255
1300
  </aside>
1256
1301
  );
1257
1302
  }
@@ -12,7 +12,7 @@ export interface LinearIssue {
12
12
 
13
13
  interface Filters {
14
14
  teamId?: string;
15
- status?: string;
15
+ statuses?: string[];
16
16
  search?: string;
17
17
  assigneeIds?: string[];
18
18
  assignedToMe?: boolean;
@@ -56,7 +56,11 @@ export function useLinearIssues(
56
56
  try {
57
57
  const params = new URLSearchParams();
58
58
  if (filters.teamId) params.set("teamId", filters.teamId);
59
- if (filters.status) params.set("status", filters.status);
59
+ if (filters.statuses?.length) {
60
+ for (const status of filters.statuses) {
61
+ params.append("status", status);
62
+ }
63
+ }
60
64
  if (filters.search) params.set("search", filters.search);
61
65
  if (filters.assigneeIds?.length) {
62
66
  for (const assigneeId of filters.assigneeIds) {
@@ -84,7 +88,7 @@ export function useLinearIssues(
84
88
  setLoading(false);
85
89
  }
86
90
  },
87
- [filters.teamId, filters.status, filters.search, filters.assigneeIds, filters.assignedToMe, filters.cycleId, enabled, options.projectSlug, options.limit],
91
+ [filters.teamId, filters.statuses, filters.search, filters.assigneeIds, filters.assignedToMe, filters.cycleId, enabled, options.projectSlug, options.limit],
88
92
  );
89
93
 
90
94
  useEffect(() => {
@@ -0,0 +1,115 @@
1
+ "use client";
2
+
3
+ import { useCallback, useEffect, useMemo, useState } from "react";
4
+ import {
5
+ loadLinearRunScripts,
6
+ persistLinearRunScripts,
7
+ type LinearRunScript,
8
+ } from "@/state/linearRunScripts";
9
+
10
+ interface SaveLinearRunScriptInput {
11
+ id?: string;
12
+ name: string;
13
+ prompt: string;
14
+ }
15
+
16
+ function buildTimestamp(): string {
17
+ return new Date().toISOString();
18
+ }
19
+
20
+ function sortScripts(scripts: LinearRunScript[]): LinearRunScript[] {
21
+ return [...scripts].sort((left, right) => right.updatedAt.localeCompare(left.updatedAt));
22
+ }
23
+
24
+ export function useLinearRunScripts(projectSlug?: string | null) {
25
+ const [scripts, setScripts] = useState<LinearRunScript[]>([]);
26
+ const [activeScriptId, setActiveScriptIdState] = useState<string | null>(null);
27
+
28
+ useEffect(() => {
29
+ const state = loadLinearRunScripts(projectSlug);
30
+ setScripts(state.scripts);
31
+ setActiveScriptIdState(state.activeScriptId);
32
+ }, [projectSlug]);
33
+
34
+ const persistState = useCallback(
35
+ (nextScripts: LinearRunScript[], nextActiveScriptId: string | null) => {
36
+ setScripts(nextScripts);
37
+ setActiveScriptIdState(nextActiveScriptId);
38
+ persistLinearRunScripts(projectSlug, {
39
+ scripts: nextScripts,
40
+ activeScriptId: nextActiveScriptId,
41
+ });
42
+ },
43
+ [projectSlug]
44
+ );
45
+
46
+ const setActiveScriptId = useCallback(
47
+ (nextActiveScriptId: string | null) => {
48
+ const normalizedId =
49
+ nextActiveScriptId && scripts.some((script) => script.id === nextActiveScriptId)
50
+ ? nextActiveScriptId
51
+ : null;
52
+ persistState(scripts, normalizedId);
53
+ },
54
+ [persistState, scripts]
55
+ );
56
+
57
+ const saveScript = useCallback(
58
+ (input: SaveLinearRunScriptInput): LinearRunScript => {
59
+ const now = buildTimestamp();
60
+ const name = input.name.trim();
61
+ const prompt = input.prompt.trim();
62
+ if (!name || !prompt) {
63
+ throw new Error("Run script name and prompt are required.");
64
+ }
65
+
66
+ const existing = input.id ? scripts.find((script) => script.id === input.id) : null;
67
+ const nextScript: LinearRunScript = existing
68
+ ? {
69
+ ...existing,
70
+ name,
71
+ prompt,
72
+ updatedAt: now,
73
+ }
74
+ : {
75
+ id: crypto.randomUUID(),
76
+ name,
77
+ prompt,
78
+ createdAt: now,
79
+ updatedAt: now,
80
+ };
81
+
82
+ const nextScripts = sortScripts(
83
+ existing
84
+ ? scripts.map((script) => (script.id === existing.id ? nextScript : script))
85
+ : [nextScript, ...scripts]
86
+ );
87
+ persistState(nextScripts, nextScript.id);
88
+ return nextScript;
89
+ },
90
+ [persistState, scripts]
91
+ );
92
+
93
+ const deleteScript = useCallback(
94
+ (scriptId: string) => {
95
+ const nextScripts = scripts.filter((script) => script.id !== scriptId);
96
+ const nextActiveScriptId = activeScriptId === scriptId ? null : activeScriptId;
97
+ persistState(nextScripts, nextActiveScriptId);
98
+ },
99
+ [activeScriptId, persistState, scripts]
100
+ );
101
+
102
+ const activeScript = useMemo(
103
+ () => scripts.find((script) => script.id === activeScriptId) ?? null,
104
+ [activeScriptId, scripts]
105
+ );
106
+
107
+ return {
108
+ scripts,
109
+ activeScriptId,
110
+ activeScript,
111
+ setActiveScriptId,
112
+ saveScript,
113
+ deleteScript,
114
+ };
115
+ }
@@ -4,11 +4,14 @@ const PROMPT_JOB_POLL_INTERVAL_MS = 15_000;
4
4
  export async function register() {
5
5
  if (process.env.NEXT_RUNTIME === 'nodejs') {
6
6
  const { getConfiguredLocalServerPort } = await import("./lib/app-config");
7
+ const { ensureScheduledTaskSkillInstalled } = await import("./lib/scheduled-task-skill");
7
8
  await import("./lib/check-node-version");
8
9
  const { getQueue, QUEUE_NAMES } = await import('@/lib/queue/boss');
9
10
  const { taskProcessor } = await import('@/lib/orchestrator/processor');
10
11
  const { chatProcessor } = await import('@/lib/orchestrator/chat-processor');
11
12
 
13
+ ensureScheduledTaskSkillInstalled();
14
+
12
15
  const queue = await getQueue();
13
16
  await queue.work(QUEUE_NAMES.TASK_PROCESS, taskProcessor, { batchSize: 5 });
14
17
  await queue.work(QUEUE_NAMES.CHAT_RUN_PROCESS, chatProcessor, { batchSize: 2 });