@mndrk/agx 2.0.55 → 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 (762) hide show
  1. package/README.md +5 -0
  2. package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +3 -0
  4. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
  5. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
  6. package/cloud-runtime/standalone/apps/local/.next/required-server-files.json +5 -0
  7. package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +23 -0
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js.nft.json +1 -1
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js +1 -1
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js +1 -1
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js +1 -1
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js +1 -1
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js +4 -3
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js +1 -1
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +1 -1
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js +1 -1
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js +2 -2
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +2 -2
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js +1 -1
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js +5 -4
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/app-paths-manifest.json +3 -0
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/build-manifest.json +9 -0
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/server-reference-manifest.json +4 -0
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js +13 -0
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.map +5 -0
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.nft.json +1 -0
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route_client-reference-manifest.js +3 -0
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js +1 -1
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +4 -4
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js +4 -4
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js +2 -2
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js +2 -2
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js +3 -3
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +19 -8
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js +3 -3
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/app-paths-manifest.json +3 -0
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/build-manifest.json +9 -0
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/server-reference-manifest.json +4 -0
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js +28 -0
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.map +5 -0
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -0
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route_client-reference-manifest.js +3 -0
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js +9 -5
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js +1 -1
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js +4 -4
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +1 -1
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js +1 -1
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js +1 -1
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +16 -15
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js +5 -5
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +2 -2
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js +1 -1
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +1 -1
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +9 -8
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js +1 -1
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page/react-loadable-manifest.json +2 -2
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js +1 -1
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +15 -15
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +15 -15
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js +1 -1
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js.nft.json +1 -1
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js +1 -1
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  196. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  197. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  198. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  199. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js +1 -1
  200. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js.nft.json +1 -1
  201. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
  202. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
  203. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +3 -3
  204. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +3 -3
  205. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
  212. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  213. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
  214. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  215. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  216. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  217. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js +1 -1
  218. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
  219. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  220. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +2 -2
  221. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js +1 -1
  222. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  223. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  224. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js +1 -1
  225. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  226. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  227. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/app-paths-manifest.json +3 -0
  228. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/build-manifest.json +18 -0
  229. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/next-font-manifest.json +11 -0
  230. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/react-loadable-manifest.json +1 -0
  231. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/server-reference-manifest.json +4 -0
  232. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +14 -0
  233. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.map +5 -0
  234. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -0
  235. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +3 -0
  236. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js +1 -1
  237. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  238. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  239. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js +1 -1
  240. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  241. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  242. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +8 -2
  243. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js +1 -1
  244. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  245. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  246. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js +1 -1
  247. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  248. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  249. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js +1 -1
  250. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  251. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  252. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js +1 -1
  253. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  254. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  255. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js +1 -1
  256. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
  257. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  258. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js +1 -1
  259. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  260. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  261. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js +1 -1
  262. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  263. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  264. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js +1 -1
  265. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  266. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  267. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js +1 -1
  268. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  269. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  270. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js +1 -1
  271. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  272. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  273. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js +1 -1
  274. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  275. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  276. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js +1 -1
  277. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  278. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  279. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js +1 -1
  280. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  281. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  282. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js +1 -1
  283. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  284. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  285. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
  286. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +3 -3
  287. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  288. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  289. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  290. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  291. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  292. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  293. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  294. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js +1 -1
  295. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
  296. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  297. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  298. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
  299. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  300. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  301. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  302. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  303. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  304. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  305. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js +1 -1
  306. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js.nft.json +1 -1
  307. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  308. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
  309. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
  310. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  311. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  312. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  313. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  314. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  315. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  316. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js +1 -1
  317. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  318. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  319. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  320. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
  321. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
  322. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  323. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  324. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  325. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
  326. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  327. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js +1 -1
  328. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js.nft.json +1 -1
  329. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  330. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
  331. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
  332. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  333. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  334. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  335. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  336. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  337. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  338. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js +1 -1
  339. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
  340. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  341. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  342. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
  343. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
  344. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  345. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  346. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  347. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  348. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  349. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js +1 -1
  350. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  351. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  352. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +3 -0
  353. package/cloud-runtime/standalone/apps/local/.next/server/chunks/0jps_app_api_projects_[id]_objectives_[objectiveId]_worker_route_actions_0v8q3zz.js +3 -0
  354. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__0_au5u1._.js +3 -0
  355. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__13x93ar._.js +3 -0
  356. 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
  357. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01lsgl~._.js +4 -0
  358. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0205scg._.js → [root-of-the-server]__03.9arn._.js} +2 -2
  359. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__01ol22y._.js → [root-of-the-server]__03h0gqp._.js} +2 -2
  360. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__094z9yf._.js → [root-of-the-server]__08jo91s._.js} +2 -2
  361. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09j9jpf._.js +3 -0
  362. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-nye63._.js → [root-of-the-server]__09jghbu._.js} +2 -2
  363. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0_7hiof._.js +43 -0
  364. 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
  365. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0asvfdo._.js +54 -0
  366. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0c86535._.js +3 -0
  367. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0cj1krd._.js +3 -0
  368. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0aa-88e._.js → [root-of-the-server]__0dy3h2i._.js} +2 -2
  369. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0touqng._.js → [root-of-the-server]__0e8-2k_._.js} +2 -2
  370. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0enhv5p._.js +3 -0
  371. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0f9byr.._.js +1 -1
  372. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g7hc1-._.js +18 -0
  373. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g7p6pw._.js +55 -0
  374. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__019q25b._.js → [root-of-the-server]__0gj~dap._.js} +7 -7
  375. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0e6cj2y._.js → [root-of-the-server]__0hc45jw._.js} +2 -2
  376. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0avz575._.js → [root-of-the-server]__0hkcw03._.js} +2 -2
  377. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hmw36u._.js +1 -1
  378. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0l53ok5._.js +54 -0
  379. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0n.momw._.js +8 -0
  380. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tjo9we._.js +7 -0
  381. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-~t2br._.js → [root-of-the-server]__0v7jjvl._.js} +2 -2
  382. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0x6w64i._.js +3 -0
  383. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__11nke7t._.js → [root-of-the-server]__0y3qxv1._.js} +2 -2
  384. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__10z8f9h._.js → [root-of-the-server]__0ygidxe._.js} +2 -2
  385. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0z82z0-._.js +49 -0
  386. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0zsv-tb._.js +8 -0
  387. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~nnfjr._.js +3 -0
  388. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~x4jbk._.js +3 -0
  389. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10d.dhd._.js +229 -0
  390. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12qy318._.js +3 -0
  391. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_039.xxy._.js +1 -1
  392. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_06oeti1._.js +49 -0
  393. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0dyy7h.._.js +3 -0
  394. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gi7c9x._.js +2 -2
  395. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gr.psg._.js +1 -1
  396. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0sd8z0i._.js +21 -0
  397. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0y42h_~._.js +2 -2
  398. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~ah49q._.js +1 -1
  399. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_01kqgle._.js +11 -0
  400. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_06qet8g._.js +36 -0
  401. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_0m2ly._.js +397 -0
  402. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_a~bj0._.js +25 -0
  403. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0a15wtk._.js +397 -0
  404. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0bjdpen._.js +29 -0
  405. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0fr1qq6._.js +1 -1
  406. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0g.q2r6._.js +41 -0
  407. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0h7wd0e._.js +29 -0
  408. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0i7fs.i._.js +397 -0
  409. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0ipg-p6._.js +3 -0
  410. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0npxy21._.js +11 -0
  411. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0uhfa93._.js +21 -0
  412. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_12wpldq._.js +25 -0
  413. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_worker_route_actions_116303i.js +3 -0
  414. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01hd2_5._.js +3 -0
  415. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01pvj2g._.js +34 -0
  416. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0ik933l._.js +55 -0
  417. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0o1v.j4._.js +79 -0
  418. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0pxj122._.js +55 -0
  419. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_automations_index_ts_0_8ch28._.js +10 -0
  420. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_082u-ls._.js +41 -0
  421. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0.xgxyl._.js +4 -0
  422. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0yu3--n._.js +4 -0
  423. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0ze8hzc._.js +4 -0
  424. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_get-store_ts_0p0aod1._.js +5 -5
  425. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_linear-worker_ts_0ycjwem._.js +5 -0
  426. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0gips_c.js +1 -1
  427. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0u_5kfo.js +1 -1
  428. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/02dz_local__next-internal_server_app_projects_[slug]_folders_page_actions_03fg4j9.js +3 -0
  429. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0tvwux2._.js +3 -0
  430. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0e2_v_.._.js +3 -0
  431. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0hvpc.y._.js +3 -0
  432. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0w3hl3p._.js +3 -0
  433. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__006vr7.._.js +3 -0
  434. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__08d5c~o._.js +3 -0
  435. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0_n~ybp._.js +3 -0
  436. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0d18x53._.js +18 -0
  437. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0fl7_-o._.js +18 -0
  438. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0h~rb5r._.js +3 -0
  439. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0j9m72.._.js +18 -0
  440. 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
  441. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w.zmt6._.js +3 -0
  442. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0z7nw_r._.js +3 -0
  443. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__10h_7t0._.js +3 -0
  444. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_00trrg8._.js +3 -0
  445. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0s~0ump._.js → _064h43p._.js} +2 -2
  446. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0742x_.._.js +3 -0
  447. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +3 -0
  448. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0fwy5tm._.js +7 -0
  449. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0sjchy6._.js +3 -0
  450. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ufdu.z._.js +7 -0
  451. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0wk3skw._.js +3 -0
  452. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yeuuy1._.js +25 -0
  453. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_03z24q2._.js +3 -0
  454. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_ac-.f._.js +1 -1
  455. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0a-8i4p._.js +3 -0
  456. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0h3mfm7._.js +3 -0
  457. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_075cq2j._.js → apps_local_0k4~c1x._.js} +2 -2
  458. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0n80y4_._.js → apps_local_0nvzo3y._.js} +2 -2
  459. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0t6p.qm._.js +3 -0
  460. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0v~bvwg._.js +3 -0
  461. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_11k_-8~._.js +1 -1
  462. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_[id]_page_tsx_06n47n~._.js +1 -1
  463. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_execution-graph_page_tsx_0tn2sx9._.js +2 -2
  464. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_folders_page_tsx_0ju618z._.js +3 -0
  465. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
  466. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_0aaa3~t._.js +1 -1
  467. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
  468. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
  469. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_new_page_tsx_0yqd0a5._.js +3 -0
  470. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +3 -0
  471. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
  472. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +4 -4
  473. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_setup_page_tsx_0ql2qmr._.js +1 -1
  474. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_PromptJobBoard_tsx_06zob36._.js +8 -0
  475. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TaskCard_tsx_0e35_z5._.js +6 -6
  476. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_ChatContainer_tsx_0c9fjtl._.js +3 -3
  477. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +6 -6
  478. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
  479. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mk0s0o.js +4 -0
  480. package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +2 -0
  481. package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
  482. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  483. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
  484. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +4 -0
  485. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  486. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
  487. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  488. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  489. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-_ukhpeg429c.js +16 -0
  490. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-olq~7zw3wjy.js +1 -0
  491. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0142ce0jj3j7r.js → 0-vo_x2cxmjm3.js} +1 -1
  492. package/cloud-runtime/standalone/apps/local/.next/static/chunks/003q-y3exxalk.js +1 -0
  493. package/cloud-runtime/standalone/apps/local/.next/static/chunks/00po4v2x~0x_z.js +1 -0
  494. package/cloud-runtime/standalone/apps/local/.next/static/chunks/013gtut17~fne.js +23 -0
  495. package/cloud-runtime/standalone/apps/local/.next/static/chunks/014z_yruiincl.js +1 -0
  496. package/cloud-runtime/standalone/apps/local/.next/static/chunks/041-dhls9zkl1.js +1 -0
  497. package/cloud-runtime/standalone/apps/local/.next/static/chunks/04yoml2rqnuot.js +16 -0
  498. package/cloud-runtime/standalone/apps/local/.next/static/chunks/07646a0h94826.js +3 -0
  499. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0_mrpyqcoyb_5.js +1 -0
  500. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rm7v.1y6qcni.js → 0aewbg0i704w7.js} +1 -1
  501. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0px65ynyk3t1d.js → 0bchtyu6m.2yv.js} +7 -7
  502. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0dnw31436wd~..js +5 -0
  503. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0e307b-0c2jbx.js +1 -0
  504. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0edewt9l~cs~k.css +1 -0
  505. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0f7i3ae1ynhf3.css +1 -0
  506. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0fonouj2i9qnb.js +5 -0
  507. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gj98094p~zn4.js +1 -0
  508. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jrkacz_dyem6.js +37 -0
  509. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l3v45kd.9is_.js +1 -0
  510. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lgb.0~i1xvv-.js +1 -0
  511. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lkal3uvr6_~2.js +1 -0
  512. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0mig99af4~uos.js +28 -0
  513. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pdrpsy-zdxp0.js +5 -0
  514. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p~l5ap6qqx2o.js +1 -0
  515. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0r0c9y6.8.m5p.js +1 -0
  516. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0stvi5btlxl4m.js +20 -0
  517. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0h_bwlg~kk8lz.js → 0tt1oh112yv-l.js} +2 -2
  518. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0uve8xrt~0a2e.js +1 -0
  519. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0w94x-v00osq0.js +1 -0
  520. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0wh6p5~ft5rma.js +5 -0
  521. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0x_pewz9npq~q.js +1 -0
  522. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xwny92a.ad_i.js +1 -0
  523. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0zw85-xl9ysjs.js +1 -0
  524. package/cloud-runtime/standalone/apps/local/.next/static/chunks/119v0-idpg-cv.js +16 -0
  525. package/cloud-runtime/standalone/apps/local/.next/static/chunks/11l2tww5f0hsk.js +20 -0
  526. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14v~9vx3tdv85.js +1 -0
  527. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0826uh6nmsi5l.js → 1503vb7lb6.g1.js} +1 -1
  528. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16d~es6h6k~rj.js +6 -0
  529. package/cloud-runtime/standalone/apps/local/.next/static/chunks/177-q0wwdi0qe.js +1 -0
  530. package/cloud-runtime/standalone/apps/local/agx-server.js +4055 -0
  531. package/cloud-runtime/standalone/apps/local/app/agents/[id]/page.tsx +40 -5
  532. package/cloud-runtime/standalone/apps/local/app/api/agents/[id]/profile/route.ts +10 -0
  533. package/cloud-runtime/standalone/apps/local/app/api/automations/route.ts +10 -2
  534. package/cloud-runtime/standalone/apps/local/app/api/linear/worker/route.ts +151 -0
  535. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/route.ts +0 -8
  536. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +22 -27
  537. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/worker/route.ts +89 -0
  538. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/route.ts +13 -0
  539. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/search/route.ts +4 -4
  540. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/route.ts +5 -3
  541. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +15 -5
  542. package/cloud-runtime/standalone/apps/local/app/globals.css +67 -5
  543. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/folders/page.tsx +25 -0
  544. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +19 -5
  545. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/objectives/[objectiveId]/page.tsx +7 -2
  546. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/new/page.tsx +236 -10
  547. package/cloud-runtime/standalone/apps/local/app/setup/page.tsx +9 -1
  548. package/cloud-runtime/standalone/apps/local/bundled-server.ts +45 -0
  549. package/cloud-runtime/standalone/apps/local/components/ActionToolbar.tsx +5 -2
  550. package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +35 -3
  551. package/cloud-runtime/standalone/apps/local/components/ContextMenu.tsx +2 -2
  552. package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +70 -20
  553. package/cloud-runtime/standalone/apps/local/components/IconButton.tsx +10 -2
  554. package/cloud-runtime/standalone/apps/local/components/KanbanBoard.tsx +84 -3
  555. package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +434 -36
  556. package/cloud-runtime/standalone/apps/local/components/LogTimeline.tsx +4 -1
  557. package/cloud-runtime/standalone/apps/local/components/NowRunningPanel.tsx +3 -1
  558. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +119 -6
  559. package/cloud-runtime/standalone/apps/local/components/SearchCombo.tsx +3 -3
  560. package/cloud-runtime/standalone/apps/local/components/SortableTaskCard.tsx +21 -3
  561. package/cloud-runtime/standalone/apps/local/components/StatusCircle.tsx +3 -3
  562. package/cloud-runtime/standalone/apps/local/components/TaskCard.tsx +51 -1
  563. package/cloud-runtime/standalone/apps/local/components/chat-ui/ChatContainer.tsx +15 -2
  564. package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +3 -3
  565. package/cloud-runtime/standalone/apps/local/components/chat-ui/ParticipantBar.tsx +76 -9
  566. package/cloud-runtime/standalone/apps/local/components/graph/ExecutionGraphPanel.tsx +4 -1
  567. package/cloud-runtime/standalone/apps/local/components/graph/GraphFirstView.tsx +6 -2
  568. package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +45 -25
  569. package/cloud-runtime/standalone/apps/local/components/graph/NodeInspector.tsx +9 -6
  570. package/cloud-runtime/standalone/apps/local/components/linear/LinearSettingsModal.tsx +105 -0
  571. package/cloud-runtime/standalone/apps/local/components/linear/LinearWorkerConfig.tsx +367 -0
  572. package/cloud-runtime/standalone/apps/local/components/projects/FoldersSummaryCard.tsx +16 -16
  573. package/cloud-runtime/standalone/apps/local/components/projects/FoldersView.tsx +856 -0
  574. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveActivityTimeline.tsx +40 -32
  575. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveHealthTrend.tsx +215 -0
  576. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +338 -91
  577. package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +12 -6
  578. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +489 -467
  579. package/cloud-runtime/standalone/apps/local/components/projects/ProjectSearchBar.tsx +4 -2
  580. package/cloud-runtime/standalone/apps/local/components/projects/RecentlyCompletedCard.tsx +213 -0
  581. package/cloud-runtime/standalone/apps/local/components/projects/ScheduledTasksSummaryCard.tsx +19 -19
  582. package/cloud-runtime/standalone/apps/local/components/projects/TeamsSummaryCard.tsx +10 -10
  583. package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +171 -56
  584. package/cloud-runtime/standalone/apps/local/components/projects/WorkingNowCard.tsx +12 -12
  585. package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectiveCard.tsx +13 -10
  586. package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectivesSection.tsx +7 -7
  587. package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathCard.tsx +2 -2
  588. package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathsSection.tsx +9 -9
  589. package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +4 -4
  590. package/cloud-runtime/standalone/apps/local/components/setup/McpSetupStep.tsx +242 -0
  591. package/cloud-runtime/standalone/apps/local/components/setup/ProjectStep.tsx +2 -2
  592. package/cloud-runtime/standalone/apps/local/components/setup/ProviderStep.tsx +1 -1
  593. package/cloud-runtime/standalone/apps/local/components/setup/TeamsStep.tsx +288 -15
  594. package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +233 -89
  595. package/cloud-runtime/standalone/apps/local/components/terminal/TerminalSessionList.tsx +3 -1
  596. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +72 -21
  597. package/cloud-runtime/standalone/apps/local/hooks/useInputCapabilities.ts +74 -0
  598. package/cloud-runtime/standalone/apps/local/hooks/useSetupFlow.ts +16 -2
  599. package/cloud-runtime/standalone/apps/local/lib/app-config.ts +35 -0
  600. package/cloud-runtime/standalone/apps/local/lib/objective-health-history.ts +198 -0
  601. package/cloud-runtime/standalone/apps/local/lib/project-objective-context.ts +10 -0
  602. package/cloud-runtime/standalone/apps/local/lib/project-objectives.ts +0 -9
  603. package/cloud-runtime/standalone/apps/local/lib/pty-manager.ts +5 -1
  604. package/cloud-runtime/standalone/apps/local/lib/terminal-server.ts +182 -0
  605. package/cloud-runtime/standalone/apps/local/next.config.ts +2 -1
  606. package/cloud-runtime/standalone/apps/local/package.json +2 -2
  607. package/cloud-runtime/standalone/apps/local/playwright.config.ts +8 -0
  608. package/cloud-runtime/standalone/apps/local/server.js +1 -1
  609. package/cloud-runtime/standalone/apps/local/server.ts +14 -158
  610. package/cloud-runtime/standalone/apps/local/skills-lock.json +20 -0
  611. package/cloud-runtime/standalone/apps/local/src/automations/adapters.ts +5 -0
  612. package/cloud-runtime/standalone/apps/local/src/automations/types.ts +5 -0
  613. package/cloud-runtime/standalone/apps/local/src/automations/validation.ts +12 -5
  614. package/cloud-runtime/standalone/apps/local/src/graph/types.ts +2 -0
  615. package/cloud-runtime/standalone/apps/local/src/objectives/parser.ts +0 -2
  616. package/cloud-runtime/standalone/apps/local/src/objectives/serializer.ts +0 -2
  617. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/cron.ts +11 -0
  618. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-constants.ts +38 -0
  619. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-job.ts +47 -0
  620. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker.ts +482 -0
  621. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker-job.ts +47 -0
  622. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +511 -0
  623. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +239 -368
  624. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/store.ts +19 -4
  625. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +32 -8
  626. package/cloud-runtime/standalone/apps/local/state/terminalTabs.ts +182 -106
  627. package/cloud-runtime/standalone/apps/local/state/windowState.ts +11 -0
  628. package/cloud-runtime/standalone/apps/local/styles/workspaceSidebar.css +65 -0
  629. package/cloud-runtime/standalone/apps/local/worker/index.js +9 -14
  630. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
  631. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  632. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
  633. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
  634. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  635. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  636. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  637. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
  638. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  639. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  640. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.node +0 -0
  641. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.pdb +0 -0
  642. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.exe +0 -0
  643. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
  644. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.dll +0 -0
  645. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.pdb +0 -0
  646. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  647. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  648. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  649. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
  650. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  651. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  652. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.node +0 -0
  653. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.pdb +0 -0
  654. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.exe +0 -0
  655. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.pdb +0 -0
  656. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.dll +0 -0
  657. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.pdb +0 -0
  658. package/lib/cli/daemon.js +13 -2
  659. package/lib/cli/onboarding.js +5 -6
  660. package/lib/cli/runCli.js +1 -1
  661. package/lib/cloud/client.js +1 -1
  662. package/lib/commands/chat.js +37 -11
  663. package/lib/commands/daemonBoard.js +19 -13
  664. package/lib/config/cloudConfig.js +1 -1
  665. package/lib/orchestrator/httpClient.js +1 -1
  666. package/lib/prompts/templates.js +8 -9
  667. package/package.json +1 -1
  668. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0-0479y._.js +0 -54
  669. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__088h0r2._.js +0 -3
  670. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08oj_ky._.js +0 -49
  671. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08y2lkj._.js +0 -3
  672. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +0 -3
  673. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gtv0rq._.js +0 -8
  674. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gvjvx7._.js +0 -237
  675. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ksbs9p._.js +0 -3
  676. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0o315az._.js +0 -3
  677. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0pz~m67._.js +0 -3
  678. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0q93mk3._.js +0 -7
  679. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0t2jk2r._.js +0 -18
  680. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0vhcrdv._.js +0 -229
  681. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__11s20j6._.js +0 -3
  682. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12xhcor._.js +0 -54
  683. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_01rag2f._.js +0 -49
  684. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_03y4xss._.js +0 -21
  685. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0cm4i3i._.js +0 -3
  686. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0ijzgnb._.js +0 -3
  687. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_03q7_.q._.js +0 -21
  688. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0m3e2d~._.js +0 -30
  689. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0r-oiga._.js +0 -30
  690. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_00cwfvi._.js +0 -34
  691. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0hx7xyz._.js +0 -34
  692. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0rqcat4._.js +0 -55
  693. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0sc_lek._.js +0 -79
  694. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_135ddsu._.js +0 -55
  695. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_store_ts_0h.2qy9._.js +0 -43
  696. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +0 -474
  697. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0xxf2a0.js +0 -3
  698. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0xd_mxu._.js +0 -3
  699. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__044xm0q._.js +0 -3
  700. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__066ay_e._.js +0 -3
  701. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__09smg3p._.js +0 -18
  702. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0bf346q._.js +0 -3
  703. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0hd2vo4._.js +0 -18
  704. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0iix1sf._.js +0 -3
  705. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r54zr9._.js +0 -3
  706. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0s8z2_c._.js +0 -18
  707. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0wq3ukc._.js +0 -3
  708. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03-mlx0._.js +0 -7
  709. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03rf_sb._.js +0 -3
  710. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_09b42z9._.js +0 -3
  711. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ag3.tl._.js +0 -7
  712. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0dh_hx0._.js +0 -3
  713. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0h8cbsi._.js +0 -3
  714. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0i1ffhz._.js +0 -3
  715. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +0 -8
  716. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0nlki7b._.js +0 -3
  717. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ut3k~7._.js +0 -3
  718. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0vibfch._.js +0 -3
  719. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +0 -8
  720. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_q01av._.js +0 -3
  721. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0eh.4j7._.js +0 -3
  722. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0qaowqy._.js +0 -3
  723. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0s0iy2_._.js +0 -3
  724. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0zr-_na._.js +0 -3
  725. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_10qsqky._.js +0 -3
  726. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.a4-dh~x9sa3.js +0 -6
  727. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.bv3h68wo33z.js +0 -1
  728. package/cloud-runtime/standalone/apps/local/.next/static/chunks/016.x9zt9~rsh.js +0 -16
  729. package/cloud-runtime/standalone/apps/local/.next/static/chunks/027-6dwgpb0cy.js +0 -1
  730. package/cloud-runtime/standalone/apps/local/.next/static/chunks/031720jijg_th.js +0 -1
  731. package/cloud-runtime/standalone/apps/local/.next/static/chunks/03m1xs0rztynh.js +0 -16
  732. package/cloud-runtime/standalone/apps/local/.next/static/chunks/051-7k0nnm-vm.js +0 -1
  733. package/cloud-runtime/standalone/apps/local/.next/static/chunks/07o~9mm~xds_b.js +0 -1
  734. package/cloud-runtime/standalone/apps/local/.next/static/chunks/08zgoptetnxjj.css +0 -1
  735. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09-_2lcshmjl5.js +0 -1
  736. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09_yj-9nfh48m.js +0 -1
  737. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09c7ssmgohk7l.js +0 -1
  738. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0awbe2r3qazge.css +0 -1
  739. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0dro-bz6f72z0.js +0 -1
  740. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gbunx8z.~i4x.js +0 -5
  741. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ge81r~ap.u7n.js +0 -28
  742. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ghg5160qeazw.js +0 -5
  743. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gl_8hdxl5qnd.js +0 -37
  744. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0g~v8p6_pc46-.js +0 -1
  745. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jb4f8425s.-2.js +0 -1
  746. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0kukkarp4un0o.js +0 -1
  747. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0m.2b-cekea8b.js +0 -1
  748. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0o0hwfzwwty4b.js +0 -6
  749. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ov5lu0tz2o2e.js +0 -1
  750. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pt8_y9asrg~7.js +0 -1
  751. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0wyg4lymaq0hg.js +0 -3
  752. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xl~1ux2f~rcu.js +0 -1
  753. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y7-eze-w7~b4.js +0 -5
  754. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y8e--tok1214.js +0 -5
  755. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0yy~0bgsz~o6-.js +0 -1
  756. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0~apd0q5_i88z.js +0 -16
  757. package/cloud-runtime/standalone/apps/local/.next/static/chunks/100xrwo-45nrg.js +0 -20
  758. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14h3qxwuo~1q9.js +0 -20
  759. package/cloud-runtime/standalone/apps/local/.next/static/chunks/17oesq5eds3xi.js +0 -1
  760. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → RnYHmEXBwXJjVrVVx2CuP}/_buildManifest.js +0 -0
  761. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → RnYHmEXBwXJjVrVVx2CuP}/_clientMiddlewareManifest.js +0 -0
  762. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → RnYHmEXBwXJjVrVVx2CuP}/_ssgManifest.js +0 -0
@@ -27,6 +27,7 @@ import Link from "next/link";
27
27
  import type { Thread } from "@/lib/storage";
28
28
  import type { Participant } from "@/lib/types";
29
29
  import type { ProjectRepo, ProjectWithAgents, ProjectWithRepos, UpdateProjectPayload } from "@/hooks/useProjects";
30
+ import { useInputCapabilities } from "@/hooks/useInputCapabilities";
30
31
  import { useFocusManagement } from "@/hooks/useFocusManagement";
31
32
  import { agentAvatarUrl, AgentForm, type AgentFormData } from "@/components/chat-ui/ParticipantBar";
32
33
  import ProjectModal, { createProjectPayload, useProjectFormState } from "@/components/ProjectModal";
@@ -65,7 +66,7 @@ interface WorkspaceSidebarProps {
65
66
  onUpdateParticipant?: (participant: Participant) => Promise<unknown>;
66
67
  onSelectProject?: (projectId: string) => void;
67
68
  activeProjectId?: string | null;
68
- activeProjectView?: "home" | "objectives" | "teams" | "thread" | "knowledge" | "automations" | "linear" | "terminal" | "settings" | "env-vars" | null;
69
+ activeProjectView?: "home" | "objectives" | "teams" | "thread" | "knowledge" | "automations" | "linear" | "terminal" | "settings" | "env-vars" | "folders" | null;
69
70
  onAddTeam?: (projectId: string) => void;
70
71
  }
71
72
 
@@ -109,14 +110,14 @@ function ProjectDropdown({
109
110
 
110
111
  useEffect(() => {
111
112
  if (!open) return;
112
- const handler = (e: MouseEvent) => {
113
+ const handler = (e: PointerEvent) => {
113
114
  if (dropdownRef.current && !dropdownRef.current.contains(e.target as Node)) {
114
115
  setOpen(false);
115
116
  setSearch("");
116
117
  }
117
118
  };
118
- document.addEventListener("mousedown", handler);
119
- return () => document.removeEventListener("mousedown", handler);
119
+ document.addEventListener("pointerdown", handler);
120
+ return () => document.removeEventListener("pointerdown", handler);
120
121
  }, [open]);
121
122
 
122
123
  useEffect(() => {
@@ -233,6 +234,7 @@ export function WorkspaceSidebar({
233
234
  onWidthChange,
234
235
  onAddTeam,
235
236
  }: WorkspaceSidebarProps) {
237
+ const { isTouchLayout, isPhone } = useInputCapabilities();
236
238
  const resizing = useRef(false);
237
239
  const lastX = useRef(0);
238
240
  const emptyCtaRef = useRef<HTMLButtonElement | null>(null);
@@ -526,6 +528,11 @@ export function WorkspaceSidebar({
526
528
  const showLoadingState = (isLoading && !hasThreads) || showRestoringState;
527
529
  const showEmptyState = !showLoadingState && !hasThreads;
528
530
  const isVisible = Boolean(visible);
531
+ const closeTouchDrawer = useCallback(() => {
532
+ if (isTouchLayout) {
533
+ onToggle?.();
534
+ }
535
+ }, [isTouchLayout, onToggle]);
529
536
  const sortedWorkspaces = [...threads].sort((a, b) => (a.title ?? "").localeCompare(b.title ?? ""));
530
537
  const threadById = new Map(threads.map((thread) => [thread.id, thread]));
531
538
  const nonDefaultProjects = projectsProp.filter((project) => !project.is_default);
@@ -684,6 +691,10 @@ export function WorkspaceSidebar({
684
691
  };
685
692
 
686
693
  if (!isVisible) {
694
+ if (isTouchLayout) {
695
+ return null;
696
+ }
697
+
687
698
  return (
688
699
  <aside
689
700
  id="workspace-sidebar"
@@ -722,13 +733,24 @@ export function WorkspaceSidebar({
722
733
  }
723
734
 
724
735
  return (
725
- <aside
726
- id="workspace-sidebar"
727
- className="workspace-sidebar"
728
- aria-label="Workspace sidebar"
729
- aria-busy={isLoading ? "true" : undefined}
730
- style={width ? { width: `${width}px`, minWidth: `${width}px` } : undefined}
731
- >
736
+ <>
737
+ {isTouchLayout ? (
738
+ <button
739
+ type="button"
740
+ className="workspace-sidebar__backdrop"
741
+ onClick={onToggle}
742
+ aria-label="Close sidebar"
743
+ />
744
+ ) : null}
745
+ <aside
746
+ id="workspace-sidebar"
747
+ className={`workspace-sidebar${isTouchLayout ? " workspace-sidebar--drawer" : ""}${isTouchLayout && isPhone ? " workspace-sidebar--drawer-phone" : ""}`}
748
+ aria-label="Workspace sidebar"
749
+ aria-busy={isLoading ? "true" : undefined}
750
+ aria-modal={isTouchLayout ? "true" : undefined}
751
+ role={isTouchLayout ? "dialog" : undefined}
752
+ style={!isTouchLayout && width ? { width: `${width}px`, minWidth: `${width}px` } : undefined}
753
+ >
732
754
  <div className="workspace-sidebar__brand">
733
755
  <div className="workspace-sidebar__brand-content">
734
756
  <WorkspaceSidebarBrandLogo />
@@ -751,8 +773,13 @@ export function WorkspaceSidebar({
751
773
  <ProjectDropdown
752
774
  projects={nonDefaultProjects}
753
775
  activeProjectId={activeProjectId}
754
- onSelectProject={onSelectProject}
755
- onCreateProject={() => handleCreateProject()}
776
+ onSelectProject={(projectId) => {
777
+ onSelectProject?.(projectId);
778
+ closeTouchDrawer();
779
+ }}
780
+ onCreateProject={() => {
781
+ handleCreateProject();
782
+ }}
756
783
  />
757
784
 
758
785
  {(() => {
@@ -773,6 +800,7 @@ export function WorkspaceSidebar({
773
800
  const isActiveProjectTerminal = isActiveProject && activeProjectView === "terminal";
774
801
  const isActiveProjectThread = isActiveProject && activeProjectView === "thread" && primaryProjectThreadId === activeThreadId;
775
802
  const isActiveProjectTeams = isActiveProject && activeProjectView === "teams";
803
+ const isActiveProjectFolders = isActiveProject && activeProjectView === "folders";
776
804
  const isActiveProjectEnvVars = isActiveProject && activeProjectView === "env-vars";
777
805
  const navActivity = navActivityByProject[selectedProject.id];
778
806
 
@@ -781,11 +809,12 @@ export function WorkspaceSidebar({
781
809
  {/* Home (standalone) */}
782
810
  <div className="px-2 mb-3">
783
811
  <div className="workspace-sidebar__workspace-item">
784
- <Link
785
- href={`/projects/${selectedProject.slug}`}
786
- className={`workspace-sidebar__nav-item ${isActiveProjectHome ? "workspace-sidebar__nav-item--active" : ""}`}
787
- aria-current={isActiveProjectHome ? "page" : undefined}
788
- >
812
+ <Link
813
+ href={`/projects/${selectedProject.slug}`}
814
+ onClick={closeTouchDrawer}
815
+ className={`workspace-sidebar__nav-item ${isActiveProjectHome ? "workspace-sidebar__nav-item--active" : ""}`}
816
+ aria-current={isActiveProjectHome ? "page" : undefined}
817
+ >
789
818
  <Home size={14} className="flex-shrink-0 text-[var(--muted-foreground)]" />
790
819
  <span className="workspace-sidebar__workspace-title text-sm">Home</span>
791
820
  </Link>
@@ -801,6 +830,7 @@ export function WorkspaceSidebar({
801
830
  <div className="workspace-sidebar__workspace-item">
802
831
  <Link
803
832
  href={`/projects/${selectedProject.slug}/objectives`}
833
+ onClick={closeTouchDrawer}
804
834
  className={`workspace-sidebar__nav-item ${isActiveProjectObjectives ? "workspace-sidebar__nav-item--active" : ""}`}
805
835
  aria-current={isActiveProjectObjectives ? "page" : undefined}
806
836
  >
@@ -824,6 +854,7 @@ export function WorkspaceSidebar({
824
854
  <div className="workspace-sidebar__workspace-item group/linear flex items-center">
825
855
  <Link
826
856
  href={`/projects/${selectedProject.slug}/linear`}
857
+ onClick={closeTouchDrawer}
827
858
  className={`workspace-sidebar__nav-item flex-1 ${isActiveProjectLinear ? "workspace-sidebar__nav-item--active" : ""}`}
828
859
  aria-current={isActiveProjectLinear ? "page" : undefined}
829
860
  >
@@ -845,6 +876,7 @@ export function WorkspaceSidebar({
845
876
  </Link>
846
877
  <Link
847
878
  href={`/projects/${selectedProject.slug}/linear?settings=true`}
879
+ onClick={closeTouchDrawer}
848
880
  className="flex h-5 w-5 items-center justify-center rounded opacity-0 group-hover/linear:opacity-100 hover:bg-[var(--sidebar-hover)] transition-opacity"
849
881
  title="Linear settings"
850
882
  >
@@ -854,6 +886,7 @@ export function WorkspaceSidebar({
854
886
  <div className="workspace-sidebar__workspace-item">
855
887
  <Link
856
888
  href={`/projects/${selectedProject.slug}/automations`}
889
+ onClick={closeTouchDrawer}
857
890
  className={`workspace-sidebar__nav-item ${isActiveProjectAutomations ? "workspace-sidebar__nav-item--active" : ""}`}
858
891
  aria-current={isActiveProjectAutomations ? "page" : undefined}
859
892
  >
@@ -873,6 +906,7 @@ export function WorkspaceSidebar({
873
906
  <div className="workspace-sidebar__workspace-item">
874
907
  <Link
875
908
  href={`/projects/${selectedProject.slug}/terminal`}
909
+ onClick={closeTouchDrawer}
876
910
  className={`workspace-sidebar__nav-item ${isActiveProjectTerminal ? "workspace-sidebar__nav-item--active" : ""}`}
877
911
  aria-current={isActiveProjectTerminal ? "page" : undefined}
878
912
  >
@@ -885,7 +919,10 @@ export function WorkspaceSidebar({
885
919
  <button
886
920
  type="button"
887
921
  className={`workspace-sidebar__nav-item ${isActiveProjectThread ? "workspace-sidebar__nav-item--active" : ""}`}
888
- onClick={() => onSelectThread(primaryProjectThreadId)}
922
+ onClick={() => {
923
+ onSelectThread(primaryProjectThreadId);
924
+ closeTouchDrawer();
925
+ }}
889
926
  aria-current={isActiveProjectThread ? "page" : undefined}
890
927
  >
891
928
  <MessageSquare size={14} className="flex-shrink-0 text-[var(--muted-foreground)]" />
@@ -918,6 +955,7 @@ export function WorkspaceSidebar({
918
955
  <div className="workspace-sidebar__workspace-item">
919
956
  <Link
920
957
  href={`/projects/${selectedProject.slug}/teams`}
958
+ onClick={closeTouchDrawer}
921
959
  className={`workspace-sidebar__nav-item ${isActiveProjectTeams ? "workspace-sidebar__nav-item--active" : ""}`}
922
960
  aria-current={isActiveProjectTeams ? "page" : undefined}
923
961
  >
@@ -925,9 +963,21 @@ export function WorkspaceSidebar({
925
963
  <span className="workspace-sidebar__workspace-title text-sm">Teams</span>
926
964
  </Link>
927
965
  </div>
966
+ <div className="workspace-sidebar__workspace-item">
967
+ <Link
968
+ href={`/projects/${selectedProject.slug}/folders`}
969
+ onClick={closeTouchDrawer}
970
+ className={`workspace-sidebar__nav-item ${isActiveProjectFolders ? "workspace-sidebar__nav-item--active" : ""}`}
971
+ aria-current={isActiveProjectFolders ? "page" : undefined}
972
+ >
973
+ <FolderGit2 size={14} className="flex-shrink-0 text-[var(--muted-foreground)]" />
974
+ <span className="workspace-sidebar__workspace-title text-sm">Folders</span>
975
+ </Link>
976
+ </div>
928
977
  <div className="workspace-sidebar__workspace-item">
929
978
  <Link
930
979
  href={`/projects/${selectedProject.slug}/env-vars`}
980
+ onClick={closeTouchDrawer}
931
981
  className={`workspace-sidebar__nav-item ${isActiveProjectEnvVars ? "workspace-sidebar__nav-item--active" : ""}`}
932
982
  aria-current={isActiveProjectEnvVars ? "page" : undefined}
933
983
  >
@@ -1470,7 +1520,7 @@ export function WorkspaceSidebar({
1470
1520
  />
1471
1521
  );
1472
1522
  })(), document.body)}
1473
- {onWidthChange && (
1523
+ {onWidthChange && !isTouchLayout && (
1474
1524
  <div
1475
1525
  className="absolute right-0 top-0 bottom-0 z-20 w-1 cursor-col-resize group"
1476
1526
  onMouseDown={(e) => {
@@ -1498,6 +1548,7 @@ export function WorkspaceSidebar({
1498
1548
  <div className="absolute inset-y-0 right-0 w-1 transition-colors hover:bg-[var(--primary)]/40 group-hover:bg-[var(--primary)]/40" />
1499
1549
  </div>
1500
1550
  )}
1501
- </aside>
1551
+ </aside>
1552
+ </>
1502
1553
  );
1503
1554
  }
@@ -0,0 +1,74 @@
1
+ "use client";
2
+
3
+ import { useEffect, useState } from "react";
4
+
5
+ const COARSE_POINTER_QUERY = "(pointer: coarse)";
6
+ const HOVER_QUERY = "(hover: hover)";
7
+ const PHONE_QUERY = "(max-width: 767px)";
8
+ const TABLET_QUERY = "(min-width: 768px)";
9
+
10
+ type InputCapabilities = {
11
+ isCoarsePointer: boolean;
12
+ canHover: boolean;
13
+ isPhone: boolean;
14
+ isTablet: boolean;
15
+ isTouchLayout: boolean;
16
+ };
17
+
18
+ function readCapabilities(): InputCapabilities {
19
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
20
+ return {
21
+ isCoarsePointer: false,
22
+ canHover: true,
23
+ isPhone: false,
24
+ isTablet: false,
25
+ isTouchLayout: false,
26
+ };
27
+ }
28
+
29
+ const isCoarsePointer = window.matchMedia(COARSE_POINTER_QUERY).matches;
30
+ const canHover = window.matchMedia(HOVER_QUERY).matches;
31
+ const isPhone = window.matchMedia(PHONE_QUERY).matches;
32
+ const isTablet = !isPhone && window.matchMedia(TABLET_QUERY).matches;
33
+ const isTouchLayout = isCoarsePointer || !canHover;
34
+
35
+ return {
36
+ isCoarsePointer,
37
+ canHover,
38
+ isPhone: isTouchLayout && isPhone,
39
+ isTablet: isTouchLayout && isTablet,
40
+ isTouchLayout,
41
+ };
42
+ }
43
+
44
+ export function useInputCapabilities(): InputCapabilities {
45
+ const [capabilities, setCapabilities] = useState<InputCapabilities>(readCapabilities);
46
+
47
+ useEffect(() => {
48
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
49
+ return;
50
+ }
51
+
52
+ const mediaQueries = [
53
+ window.matchMedia(COARSE_POINTER_QUERY),
54
+ window.matchMedia(HOVER_QUERY),
55
+ window.matchMedia(PHONE_QUERY),
56
+ window.matchMedia(TABLET_QUERY),
57
+ ];
58
+
59
+ const updateCapabilities = () => {
60
+ setCapabilities(readCapabilities());
61
+ };
62
+
63
+ mediaQueries.forEach((query) => query.addEventListener("change", updateCapabilities));
64
+ window.addEventListener("resize", updateCapabilities);
65
+ updateCapabilities();
66
+
67
+ return () => {
68
+ mediaQueries.forEach((query) => query.removeEventListener("change", updateCapabilities));
69
+ window.removeEventListener("resize", updateCapabilities);
70
+ };
71
+ }, []);
72
+
73
+ return capabilities;
74
+ }
@@ -6,7 +6,7 @@ import { useRouter } from "next/navigation";
6
6
  import type { ProjectData } from "@/components/setup/ProjectStep";
7
7
  import type { SelectedTeam } from "@/components/setup/TeamsStep";
8
8
 
9
- export type SetupStep = 1 | 2 | 3;
9
+ export type SetupStep = 1 | 2 | 3 | 4;
10
10
 
11
11
  export interface SetupFlowState {
12
12
  step: SetupStep;
@@ -31,7 +31,7 @@ export function useSetupFlow() {
31
31
  const [error, setError] = useState<string | null>(null);
32
32
 
33
33
  const goNext = useCallback(() => {
34
- setStep((s) => Math.min(s + 1, 3) as SetupStep);
34
+ setStep((s) => Math.min(s + 1, 4) as SetupStep);
35
35
  }, []);
36
36
 
37
37
  const goBack = useCallback(() => {
@@ -60,6 +60,19 @@ export function useSetupFlow() {
60
60
  const projectId = createdProject.id;
61
61
 
62
62
  for (const team of teams) {
63
+ // Build agents array with per-agent provider/model (overrides inherit from team defaults)
64
+ const agents = team.agents.map((agent) => {
65
+ const override = team.agentOverrides?.find((o) => o.agentId === agent.id);
66
+ return {
67
+ roleId: agent.id,
68
+ provider: override?.provider || team.provider || undefined,
69
+ model: override?.model || team.model || undefined,
70
+ };
71
+ });
72
+
73
+ // Only include agents array if any have provider/model config
74
+ const hasConfig = agents.some((a) => a.provider || a.model);
75
+
63
76
  await fetch(`/api/projects/${projectId}/teams`, {
64
77
  method: "POST",
65
78
  headers: { "Content-Type": "application/json" },
@@ -67,6 +80,7 @@ export function useSetupFlow() {
67
80
  templateId: team.templateId,
68
81
  variantId: team.variantId,
69
82
  name: team.name,
83
+ ...(hasConfig ? { agents } : {}),
70
84
  }),
71
85
  });
72
86
  }
@@ -9,6 +9,19 @@ function normalizeBaseUrl(value: string | null | undefined): string | null {
9
9
  return trimmed.replace(/\/+$/, "");
10
10
  }
11
11
 
12
+ function extractHostname(value: string | null | undefined): string | null {
13
+ const normalized = normalizeBaseUrl(value);
14
+ if (!normalized) {
15
+ return null;
16
+ }
17
+
18
+ try {
19
+ return new URL(normalized).hostname.toLowerCase();
20
+ } catch {
21
+ return null;
22
+ }
23
+ }
24
+
12
25
  export const LOCAL_APP_PORT = DEFAULT_LOCAL_APP_PORT;
13
26
  export const LOCAL_APP_URL = `http://localhost:${LOCAL_APP_PORT}`;
14
27
 
@@ -53,3 +66,25 @@ export function getAllowedOrigins(): string[] {
53
66
 
54
67
  return Array.from(origins);
55
68
  }
69
+
70
+ export function getAllowedDevOrigins(): string[] {
71
+ const origins = new Set<string>([
72
+ "localhost",
73
+ "127.0.0.1",
74
+ // Support Tailscale Serve/Tailnet dev URLs without needing per-machine config.
75
+ "**.ts.net",
76
+ ]);
77
+
78
+ for (const value of [
79
+ process.env.NEXT_PUBLIC_APP_URL,
80
+ process.env.AGX_BOARD_URL,
81
+ process.env.NEXT_PUBLIC_AGX_BOARD_URL,
82
+ ]) {
83
+ const hostname = extractHostname(value);
84
+ if (hostname) {
85
+ origins.add(hostname);
86
+ }
87
+ }
88
+
89
+ return Array.from(origins);
90
+ }
@@ -0,0 +1,198 @@
1
+ import type { ObjectiveActivityFile } from "@/src/objectives/activities/types";
2
+ import type { ProjectObjectiveHealth } from "@/lib/project-objectives";
3
+
4
+ export const PROJECT_OBJECTIVE_HEALTH_HISTORY_METADATA_KEY = "project_objective_health_history";
5
+
6
+ const OBJECTIVE_HEALTH_LINE_PATTERN =
7
+ /(?:^|\n)Objective health:\s*(\d{1,3})%\s*(On track|At risk|Off track|Done)\b/im;
8
+ const MAX_OBJECTIVE_HEALTH_SAMPLES = 200;
9
+
10
+ const STATUS_FROM_LABEL: Record<string, ProjectObjectiveHealth> = {
11
+ "on track": "on_track",
12
+ "at risk": "at_risk",
13
+ "off track": "off_track",
14
+ done: "done",
15
+ };
16
+
17
+ export interface ObjectiveHealthSample {
18
+ progress: number;
19
+ status: ProjectObjectiveHealth;
20
+ recordedAt: string;
21
+ source?: string;
22
+ note?: string;
23
+ objectiveId?: string | null;
24
+ objectiveKey?: string | null;
25
+ }
26
+
27
+ function isRecord(value: unknown): value is Record<string, unknown> {
28
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
29
+ }
30
+
31
+ function normalizeProgress(value: unknown): number {
32
+ if (typeof value !== "number" || !Number.isFinite(value)) return 0;
33
+ return Math.max(0, Math.min(100, Math.round(value)));
34
+ }
35
+
36
+ function normalizeStatus(value: unknown): ProjectObjectiveHealth | null {
37
+ if (typeof value !== "string") return null;
38
+ const normalized = value.trim().toLowerCase();
39
+ if (normalized === "on_track" || normalized === "at_risk" || normalized === "off_track" || normalized === "done") {
40
+ return normalized as ProjectObjectiveHealth;
41
+ }
42
+ return STATUS_FROM_LABEL[normalized] ?? null;
43
+ }
44
+
45
+ function normalizeTimestamp(value: unknown): string | null {
46
+ if (typeof value !== "string") return null;
47
+ const parsed = Date.parse(value);
48
+ if (Number.isNaN(parsed)) return null;
49
+ return new Date(parsed).toISOString();
50
+ }
51
+
52
+ function normalizeOptionalString(value: unknown): string | undefined {
53
+ return typeof value === "string" && value.trim() ? value.trim() : undefined;
54
+ }
55
+
56
+ function normalizeObjectiveHealthSample(value: unknown): ObjectiveHealthSample | null {
57
+ if (!isRecord(value)) return null;
58
+
59
+ const status = normalizeStatus(value.status);
60
+ const recordedAt = normalizeTimestamp(value.recordedAt);
61
+ if (!status || !recordedAt) {
62
+ return null;
63
+ }
64
+
65
+ return {
66
+ progress: normalizeProgress(value.progress),
67
+ status,
68
+ recordedAt,
69
+ source: normalizeOptionalString(value.source),
70
+ note: normalizeOptionalString(value.note),
71
+ objectiveId: normalizeOptionalString(value.objectiveId) ?? null,
72
+ objectiveKey: normalizeOptionalString(value.objectiveKey) ?? null,
73
+ };
74
+ }
75
+
76
+ function sortSamplesByRecordedAt(samples: ObjectiveHealthSample[]): ObjectiveHealthSample[] {
77
+ return [...samples].sort(
78
+ (left, right) => Date.parse(left.recordedAt) - Date.parse(right.recordedAt),
79
+ );
80
+ }
81
+
82
+ export function mergeObjectiveHealthSamples(
83
+ ...collections: Array<ObjectiveHealthSample[] | null | undefined>
84
+ ): ObjectiveHealthSample[] {
85
+ const flattened = collections.flatMap((collection) => collection ?? []);
86
+ const deduped: ObjectiveHealthSample[] = [];
87
+
88
+ for (const sample of sortSamplesByRecordedAt(flattened)) {
89
+ const previous = deduped[deduped.length - 1] ?? null;
90
+ if (
91
+ previous &&
92
+ previous.progress === sample.progress &&
93
+ previous.status === sample.status &&
94
+ (
95
+ !previous.source ||
96
+ !sample.source ||
97
+ previous.source === sample.source
98
+ ) &&
99
+ Math.abs(Date.parse(sample.recordedAt) - Date.parse(previous.recordedAt)) <= 5_000
100
+ ) {
101
+ continue;
102
+ }
103
+ deduped.push(sample);
104
+ }
105
+
106
+ return deduped;
107
+ }
108
+
109
+ export function readObjectiveHealthHistory(
110
+ metadata: Record<string, unknown> | undefined,
111
+ objectiveId: string,
112
+ ): ObjectiveHealthSample[] {
113
+ if (!isRecord(metadata) || !objectiveId.trim()) return [];
114
+
115
+ const rawHistory = metadata[PROJECT_OBJECTIVE_HEALTH_HISTORY_METADATA_KEY];
116
+ if (!isRecord(rawHistory)) return [];
117
+
118
+ const entries = rawHistory[objectiveId.trim()];
119
+ if (!Array.isArray(entries)) return [];
120
+
121
+ return mergeObjectiveHealthSamples(
122
+ entries
123
+ .map((entry) => normalizeObjectiveHealthSample(entry))
124
+ .filter((entry): entry is ObjectiveHealthSample => Boolean(entry)),
125
+ );
126
+ }
127
+
128
+ export function appendObjectiveHealthSample(
129
+ metadata: Record<string, unknown>,
130
+ sample: ObjectiveHealthSample & { objectiveId: string },
131
+ ): Record<string, unknown> {
132
+ const objectiveId = sample.objectiveId.trim();
133
+ if (!objectiveId) {
134
+ return metadata;
135
+ }
136
+
137
+ const existingHistory = readObjectiveHealthHistory(metadata, objectiveId);
138
+ const mergedHistory = mergeObjectiveHealthSamples(existingHistory, [sample]).slice(
139
+ -MAX_OBJECTIVE_HEALTH_SAMPLES,
140
+ );
141
+
142
+ const rawHistory = isRecord(metadata[PROJECT_OBJECTIVE_HEALTH_HISTORY_METADATA_KEY])
143
+ ? (metadata[PROJECT_OBJECTIVE_HEALTH_HISTORY_METADATA_KEY] as Record<string, unknown>)
144
+ : {};
145
+
146
+ return {
147
+ ...metadata,
148
+ [PROJECT_OBJECTIVE_HEALTH_HISTORY_METADATA_KEY]: {
149
+ ...rawHistory,
150
+ [objectiveId]: mergedHistory.map((entry) => ({
151
+ progress: normalizeProgress(entry.progress),
152
+ status: entry.status,
153
+ recordedAt: entry.recordedAt,
154
+ ...(entry.source ? { source: entry.source } : {}),
155
+ ...(entry.note ? { note: entry.note } : {}),
156
+ ...(entry.objectiveId ? { objectiveId: entry.objectiveId } : {}),
157
+ ...(entry.objectiveKey ? { objectiveKey: entry.objectiveKey } : {}),
158
+ })),
159
+ },
160
+ };
161
+ }
162
+
163
+ export function parseObjectiveHealthSampleFromActivity(
164
+ activity: ObjectiveActivityFile,
165
+ ): ObjectiveHealthSample | null {
166
+ if (activity.type !== "status-update") return null;
167
+
168
+ const match = activity.body.match(OBJECTIVE_HEALTH_LINE_PATTERN);
169
+ if (!match) return null;
170
+
171
+ const progress = normalizeProgress(Number(match[1]));
172
+ const status = normalizeStatus(match[2]);
173
+ const recordedAt = normalizeTimestamp(activity.createdAt);
174
+ if (!status || !recordedAt) return null;
175
+
176
+ return {
177
+ progress,
178
+ status,
179
+ recordedAt,
180
+ source: normalizeOptionalString(activity.source),
181
+ objectiveKey: normalizeOptionalString(activity.objectiveLabel) ?? null,
182
+ };
183
+ }
184
+
185
+ export function buildObjectiveHealthHistoryFromActivities(
186
+ activities: ObjectiveActivityFile[],
187
+ objectiveKey?: string | null,
188
+ ): ObjectiveHealthSample[] {
189
+ return mergeObjectiveHealthSamples(
190
+ activities
191
+ .map((activity) => parseObjectiveHealthSampleFromActivity(activity))
192
+ .filter((sample): sample is ObjectiveHealthSample => {
193
+ if (!sample) return false;
194
+ if (!objectiveKey) return true;
195
+ return sample.objectiveKey === objectiveKey;
196
+ }),
197
+ );
198
+ }
@@ -87,3 +87,13 @@ export async function persistProjectHealthSnapshot(input: {
87
87
  metadata: writeProjectHealthSnapshot(input.currentMetadata ?? {}, input.snapshot),
88
88
  });
89
89
  }
90
+
91
+ export async function persistProjectObjectiveMetadata(input: {
92
+ projectId: string;
93
+ currentMetadata: Record<string, unknown> | undefined;
94
+ transformMetadata: (metadata: Record<string, unknown>) => Record<string, unknown>;
95
+ }) {
96
+ return db.updateProject(input.projectId, LOCAL_USER.id, {
97
+ metadata: input.transformMetadata(input.currentMetadata ?? {}),
98
+ });
99
+ }
@@ -20,8 +20,6 @@ export interface ProjectObjective {
20
20
  /** @deprecated Use notes instead. Derived from the first note for backward compat. */
21
21
  summary: string;
22
22
  notes?: ObjectiveNoteFile[];
23
- cadence: string;
24
- condition: string;
25
23
  progress: number;
26
24
  status: ProjectObjectiveHealth;
27
25
  createdAt: string;
@@ -77,8 +75,6 @@ interface CreateProjectObjectiveInput {
77
75
  chatSessionVersion?: number;
78
76
  scheduledTaskIds?: string[];
79
77
  summary?: string;
80
- cadence?: string;
81
- condition?: string;
82
78
  progress?: number;
83
79
  status?: ProjectObjectiveHealth;
84
80
  now: string;
@@ -270,8 +266,6 @@ function normalizeObjective(raw: unknown): ProjectObjective | null {
270
266
  chatSessionVersion: readNonNegativeInteger(raw.chatSessionVersion, 0),
271
267
  scheduledTaskIds: readStringArray(raw.scheduledTaskIds ?? raw.promptJobIds),
272
268
  summary: readString(raw.summary),
273
- cadence: readString(raw.cadence),
274
- condition: readString(raw.condition),
275
269
  progress: readProgress(raw.progress),
276
270
  status: readObjectiveHealth(raw.status),
277
271
  createdAt,
@@ -370,7 +364,6 @@ function normalizeLegacyGoal(raw: unknown): ProjectObjective | null {
370
364
  return normalizeObjective({
371
365
  ...raw,
372
366
  summary: mergedSummary,
373
- cadence: "",
374
367
  });
375
368
  }
376
369
 
@@ -503,8 +496,6 @@ export function createProjectObjective(
503
496
  ),
504
497
  scheduledTaskIds: readStringArray(input.scheduledTaskIds ?? []),
505
498
  summary: input.summary?.trim() ?? "",
506
- cadence: input.cadence?.trim() ?? "",
507
- condition: input.condition?.trim() ?? "",
508
499
  progress: readProgress(input.progress ?? 0),
509
500
  status: input.status ?? "on_track",
510
501
  createdAt: input.now,
@@ -1,7 +1,6 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import { spawn, type ChildProcessWithoutNullStreams } from "child_process";
4
- import * as pty from "node-pty";
5
4
 
6
5
  export type TerminalBackend = "pty" | "compat";
7
6
 
@@ -37,6 +36,10 @@ const defaultShell =
37
36
  : process.env.SHELL || "/bin/zsh";
38
37
  let nodePtyHelperPrepared = false;
39
38
 
39
+ function loadNodePty(): typeof import("node-pty") {
40
+ return require("node-pty") as typeof import("node-pty");
41
+ }
42
+
40
43
  function appendOutput(buffer: string, chunk: string): string {
41
44
  const nextBuffer = buffer + chunk;
42
45
  if (nextBuffer.length <= MAX_OUTPUT_BUFFER) {
@@ -80,6 +83,7 @@ function createNodePtyProcess(
80
83
  env: Record<string, string>,
81
84
  ): TerminalProcess {
82
85
  ensureNodePtySpawnHelperExecutable();
86
+ const pty = loadNodePty();
83
87
 
84
88
  const proc = pty.spawn(shell, [], {
85
89
  name: "xterm-256color",