@mndrk/agx 2.0.55 → 2.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/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 +1 -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 +8 -0
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +2 -2
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +1 -1
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +3 -2
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +17 -7
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +13 -13
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +2 -2
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +4 -4
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page/react-loadable-manifest.json +2 -2
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +5 -5
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +5 -5
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js.nft.json +1 -1
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +3 -3
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +3 -3
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +2 -2
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/app-paths-manifest.json +3 -0
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/build-manifest.json +18 -0
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/next-font-manifest.json +11 -0
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/react-loadable-manifest.json +1 -0
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/server-reference-manifest.json +4 -0
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +14 -0
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.map +5 -0
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -0
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +3 -0
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +2 -2
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +3 -3
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
  196. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
  197. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  198. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  199. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  200. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  201. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  202. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  203. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  204. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  205. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
  212. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  213. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  214. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
  215. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
  216. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  217. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  218. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  219. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  220. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  221. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  222. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
  223. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  224. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  225. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
  226. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
  227. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  228. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  229. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  230. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  231. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  232. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  233. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  234. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +1 -0
  235. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +1 -1
  236. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g50c6p._.js +237 -0
  237. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0o315az._.js +1 -1
  238. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0t2jk2r._.js +2 -2
  239. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tdixb0._.js +49 -0
  240. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0gvjvx7._.js → [root-of-the-server]__0xdp_8-._.js} +25 -25
  241. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0y42h_~._.js +2 -2
  242. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~fjhfa._.js +3 -0
  243. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_12yasaj._.js +9 -0
  244. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_022nz2u._.js +3 -0
  245. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +11 -10
  246. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0yvelwy.js +3 -0
  247. 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
  248. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0qzjdog._.js +3 -0
  249. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0a-mbbj._.js +3 -0
  250. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0e2_v_.._.js +3 -0
  251. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0w3hl3p._.js +3 -0
  252. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__07johgg._.js +3 -0
  253. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__08d5c~o._.js +3 -0
  254. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0_n~ybp._.js +3 -0
  255. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0fl7_-o._.js +18 -0
  256. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0h~rb5r._.js +3 -0
  257. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r3w68h._.js +18 -0
  258. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0x7k~pk._.js +3 -0
  259. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__0hd2vo4._.js → [root-of-the-server]__0y8j6el._.js} +2 -2
  260. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0yme9fy._.js +3 -0
  261. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~7q5sw._.js +3 -0
  262. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13eqcxp._.js +3 -0
  263. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0s~0ump._.js → _064h43p._.js} +2 -2
  264. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0742x_.._.js +3 -0
  265. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_09b42z9._.js → _09~glsn._.js} +2 -2
  266. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +3 -0
  267. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0fwy5tm._.js +7 -0
  268. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +2 -2
  269. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0sjchy6._.js +3 -0
  270. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ufdu.z._.js +7 -0
  271. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_03rf_sb._.js → _0wk3skw._.js} +2 -2
  272. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +2 -2
  273. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_03z24q2._.js +3 -0
  274. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_04hvzn_._.js +3 -0
  275. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_4hk8x._.js +3 -0
  276. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_ac-.f._.js +1 -1
  277. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0a-8i4p._.js +3 -0
  278. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0h3mfm7._.js +3 -0
  279. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0nvzo3y._.js +3 -0
  280. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_11k_-8~._.js +1 -1
  281. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_execution-graph_page_tsx_0tn2sx9._.js +2 -2
  282. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_folders_page_tsx_0ju618z._.js +3 -0
  283. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
  284. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_0aaa3~t._.js +1 -1
  285. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
  286. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
  287. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +3 -0
  288. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
  289. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +4 -4
  290. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TaskCard_tsx_0e35_z5._.js +6 -6
  291. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_ChatContainer_tsx_0c9fjtl._.js +3 -3
  292. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +4 -4
  293. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
  294. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mk0s0o.js +4 -0
  295. package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
  296. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  297. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
  298. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +4 -0
  299. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  300. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
  301. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  302. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  303. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-_ukhpeg429c.js +16 -0
  304. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-olq~7zw3wjy.js +1 -0
  305. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0142ce0jj3j7r.js → 0-vo_x2cxmjm3.js} +1 -1
  306. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.4d8rshxivwh.js +20 -0
  307. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1011~1x9nj4ny.js → 00lise4d-u8d1.js} +1 -1
  308. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0~apd0q5_i88z.js → 02p3n7faotpr9.js} +2 -2
  309. package/cloud-runtime/standalone/apps/local/.next/static/chunks/02zcxdul-1jaf.js +28 -0
  310. package/cloud-runtime/standalone/apps/local/.next/static/chunks/055bzj5jfgzr0.js +1 -0
  311. package/cloud-runtime/standalone/apps/local/.next/static/chunks/05c-~4v_jrblf.css +1 -0
  312. package/cloud-runtime/standalone/apps/local/.next/static/chunks/07646a0h94826.js +3 -0
  313. package/cloud-runtime/standalone/apps/local/.next/static/chunks/08~pgzjb13k_v.js +5 -0
  314. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09wzd7y~tk-3~.js +1 -0
  315. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0px65ynyk3t1d.js → 0bchtyu6m.2yv.js} +7 -7
  316. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0brmd4~76pthy.js +20 -0
  317. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0f7i3ae1ynhf3.css +1 -0
  318. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0.a4-dh~x9sa3.js → 0hudzktaaxr4g.js} +2 -2
  319. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{09-_2lcshmjl5.js → 0hzq698w6f4m6.js} +1 -1
  320. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0i.su2yr26wb6.js +37 -0
  321. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jonp-o8lh-4j.js +1 -0
  322. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jsbvcyub73d9.js +1 -0
  323. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l2pt2td_87wr.js +5 -0
  324. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l3v45kd.9is_.js +1 -0
  325. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lgb.0~i1xvv-.js +1 -0
  326. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lkal3uvr6_~2.js +1 -0
  327. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0mvqoz13v0o2a.js +5 -0
  328. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0o9cxba_5mv2c.js +5 -0
  329. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p7s38p3bcffh.js +1 -0
  330. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0q2dgbluvgxf2.js +16 -0
  331. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0r0c9y6.8.m5p.js +1 -0
  332. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0h_bwlg~kk8lz.js → 0rey9zfvm3yhd.js} +2 -2
  333. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ucg8e2wkd8gf.js +1 -0
  334. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0uve8xrt~0a2e.js +1 -0
  335. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0x_pewz9npq~q.js +1 -0
  336. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xwny92a.ad_i.js +1 -0
  337. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0ov5lu0tz2o2e.js → 104xjvrf6y-zq.js} +1 -1
  338. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rm7v.1y6qcni.js → 11-u35xqxu~i-.js} +1 -1
  339. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14v~9vx3tdv85.js +1 -0
  340. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0826uh6nmsi5l.js → 1503vb7lb6.g1.js} +1 -1
  341. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0o0hwfzwwty4b.js → 15jlly_p-g4c8.js} +2 -2
  342. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16nozeadjid9-.js +5 -0
  343. package/cloud-runtime/standalone/apps/local/.next/static/chunks/177-q0wwdi0qe.js +1 -0
  344. package/cloud-runtime/standalone/apps/local/agx-server.js +4055 -0
  345. package/cloud-runtime/standalone/apps/local/app/api/automations/route.ts +10 -2
  346. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +16 -0
  347. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +8 -1
  348. package/cloud-runtime/standalone/apps/local/app/globals.css +67 -5
  349. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/folders/page.tsx +25 -0
  350. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +19 -5
  351. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/objectives/[objectiveId]/page.tsx +7 -2
  352. package/cloud-runtime/standalone/apps/local/bundled-server.ts +45 -0
  353. package/cloud-runtime/standalone/apps/local/components/ActionToolbar.tsx +5 -2
  354. package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +35 -3
  355. package/cloud-runtime/standalone/apps/local/components/ContextMenu.tsx +2 -2
  356. package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +36 -14
  357. package/cloud-runtime/standalone/apps/local/components/IconButton.tsx +10 -2
  358. package/cloud-runtime/standalone/apps/local/components/KanbanBoard.tsx +84 -3
  359. package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +382 -13
  360. package/cloud-runtime/standalone/apps/local/components/LogTimeline.tsx +4 -1
  361. package/cloud-runtime/standalone/apps/local/components/NowRunningPanel.tsx +3 -1
  362. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +46 -6
  363. package/cloud-runtime/standalone/apps/local/components/SearchCombo.tsx +3 -3
  364. package/cloud-runtime/standalone/apps/local/components/SortableTaskCard.tsx +21 -3
  365. package/cloud-runtime/standalone/apps/local/components/StatusCircle.tsx +3 -3
  366. package/cloud-runtime/standalone/apps/local/components/TaskCard.tsx +51 -1
  367. package/cloud-runtime/standalone/apps/local/components/chat-ui/ChatContainer.tsx +15 -2
  368. package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +3 -3
  369. package/cloud-runtime/standalone/apps/local/components/chat-ui/ParticipantBar.tsx +76 -9
  370. package/cloud-runtime/standalone/apps/local/components/graph/ExecutionGraphPanel.tsx +4 -1
  371. package/cloud-runtime/standalone/apps/local/components/graph/GraphFirstView.tsx +6 -2
  372. package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +29 -14
  373. package/cloud-runtime/standalone/apps/local/components/graph/NodeInspector.tsx +9 -6
  374. package/cloud-runtime/standalone/apps/local/components/projects/FoldersSummaryCard.tsx +16 -16
  375. package/cloud-runtime/standalone/apps/local/components/projects/FoldersView.tsx +856 -0
  376. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveActivityTimeline.tsx +40 -32
  377. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +172 -49
  378. package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +4 -4
  379. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +347 -168
  380. package/cloud-runtime/standalone/apps/local/components/projects/ProjectSearchBar.tsx +4 -2
  381. package/cloud-runtime/standalone/apps/local/components/projects/ScheduledTasksSummaryCard.tsx +19 -19
  382. package/cloud-runtime/standalone/apps/local/components/projects/TeamsSummaryCard.tsx +10 -10
  383. package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +50 -50
  384. package/cloud-runtime/standalone/apps/local/components/projects/WorkingNowCard.tsx +12 -12
  385. package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectiveCard.tsx +13 -10
  386. package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectivesSection.tsx +7 -7
  387. package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathCard.tsx +2 -2
  388. package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathsSection.tsx +9 -9
  389. package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +3 -3
  390. package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +211 -77
  391. package/cloud-runtime/standalone/apps/local/components/terminal/TerminalSessionList.tsx +3 -1
  392. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +72 -21
  393. package/cloud-runtime/standalone/apps/local/hooks/useInputCapabilities.ts +74 -0
  394. package/cloud-runtime/standalone/apps/local/lib/app-config.ts +35 -0
  395. package/cloud-runtime/standalone/apps/local/lib/pty-manager.ts +5 -1
  396. package/cloud-runtime/standalone/apps/local/lib/terminal-server.ts +182 -0
  397. package/cloud-runtime/standalone/apps/local/next.config.ts +2 -1
  398. package/cloud-runtime/standalone/apps/local/package.json +2 -2
  399. package/cloud-runtime/standalone/apps/local/playwright.config.ts +8 -0
  400. package/cloud-runtime/standalone/apps/local/server.js +1 -1
  401. package/cloud-runtime/standalone/apps/local/server.ts +14 -158
  402. package/cloud-runtime/standalone/apps/local/src/graph/types.ts +2 -0
  403. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/cron.ts +11 -0
  404. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +325 -88
  405. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +20 -0
  406. package/cloud-runtime/standalone/apps/local/state/windowState.ts +11 -0
  407. package/cloud-runtime/standalone/apps/local/styles/workspaceSidebar.css +65 -0
  408. package/cloud-runtime/standalone/apps/local/worker/index.js +0 -4
  409. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
  410. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  411. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
  412. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
  413. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  414. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  415. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  416. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
  417. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  418. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  419. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.node +0 -0
  420. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.pdb +0 -0
  421. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.exe +0 -0
  422. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
  423. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.dll +0 -0
  424. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.pdb +0 -0
  425. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  426. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  427. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  428. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
  429. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  430. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  431. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.node +0 -0
  432. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.pdb +0 -0
  433. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.exe +0 -0
  434. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.pdb +0 -0
  435. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.dll +0 -0
  436. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.pdb +0 -0
  437. package/lib/cli/daemon.js +13 -2
  438. package/lib/cli/onboarding.js +5 -6
  439. package/lib/cli/runCli.js +1 -1
  440. package/lib/cloud/client.js +1 -1
  441. package/lib/commands/chat.js +37 -11
  442. package/lib/commands/daemonBoard.js +19 -13
  443. package/lib/config/cloudConfig.js +1 -1
  444. package/lib/orchestrator/httpClient.js +1 -1
  445. package/lib/prompts/templates.js +8 -9
  446. package/package.json +1 -1
  447. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01ol22y._.js +0 -3
  448. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__088h0r2._.js +0 -3
  449. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__094z9yf._.js +0 -9
  450. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0avz575._.js +0 -49
  451. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0xxf2a0.js +0 -3
  452. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0xd_mxu._.js +0 -3
  453. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__044xm0q._.js +0 -3
  454. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__066ay_e._.js +0 -3
  455. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__09smg3p._.js +0 -18
  456. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0iix1sf._.js +0 -3
  457. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r54zr9._.js +0 -3
  458. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0s8z2_c._.js +0 -18
  459. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w1mm2j._.js +0 -3
  460. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0wq3ukc._.js +0 -3
  461. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13h-0om._.js +0 -3
  462. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03-mlx0._.js +0 -7
  463. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ag3.tl._.js +0 -7
  464. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0dh_hx0._.js +0 -3
  465. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0h8cbsi._.js +0 -3
  466. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0i1ffhz._.js +0 -3
  467. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0nlki7b._.js +0 -3
  468. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_q01av._.js +0 -3
  469. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0eh.4j7._.js +0 -3
  470. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0qaowqy._.js +0 -3
  471. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0s0iy2_._.js +0 -3
  472. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0zr-_na._.js +0 -3
  473. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_10qsqky._.js +0 -3
  474. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.bv3h68wo33z.js +0 -1
  475. package/cloud-runtime/standalone/apps/local/.next/static/chunks/016.x9zt9~rsh.js +0 -16
  476. package/cloud-runtime/standalone/apps/local/.next/static/chunks/027-6dwgpb0cy.js +0 -1
  477. package/cloud-runtime/standalone/apps/local/.next/static/chunks/031720jijg_th.js +0 -1
  478. package/cloud-runtime/standalone/apps/local/.next/static/chunks/03m1xs0rztynh.js +0 -16
  479. package/cloud-runtime/standalone/apps/local/.next/static/chunks/07o~9mm~xds_b.js +0 -1
  480. package/cloud-runtime/standalone/apps/local/.next/static/chunks/08zgoptetnxjj.css +0 -1
  481. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09_yj-9nfh48m.js +0 -1
  482. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09c7ssmgohk7l.js +0 -1
  483. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0awbe2r3qazge.css +0 -1
  484. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0dro-bz6f72z0.js +0 -1
  485. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gbunx8z.~i4x.js +0 -5
  486. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ge81r~ap.u7n.js +0 -28
  487. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ghg5160qeazw.js +0 -5
  488. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gl_8hdxl5qnd.js +0 -37
  489. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0g~v8p6_pc46-.js +0 -1
  490. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jb4f8425s.-2.js +0 -1
  491. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0kukkarp4un0o.js +0 -1
  492. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0m.2b-cekea8b.js +0 -1
  493. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pt8_y9asrg~7.js +0 -1
  494. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0wyg4lymaq0hg.js +0 -3
  495. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xl~1ux2f~rcu.js +0 -1
  496. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y7-eze-w7~b4.js +0 -5
  497. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y8e--tok1214.js +0 -5
  498. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0yy~0bgsz~o6-.js +0 -1
  499. package/cloud-runtime/standalone/apps/local/.next/static/chunks/100xrwo-45nrg.js +0 -20
  500. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14h3qxwuo~1q9.js +0 -20
  501. package/cloud-runtime/standalone/apps/local/.next/static/chunks/17oesq5eds3xi.js +0 -1
  502. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_buildManifest.js +0 -0
  503. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_clientMiddlewareManifest.js +0 -0
  504. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_ssgManifest.js +0 -0
@@ -30,7 +30,7 @@ const TYPE_META: Record<ObjectiveActivityType, { label: string; className: strin
30
30
  },
31
31
  note: {
32
32
  label: "Note",
33
- className: "bg-zinc-500/15 text-zinc-400 border-zinc-500/30",
33
+ className: "bg-[var(--tone-neutral-bg)] text-[var(--tone-neutral)] border-[var(--tone-neutral-border)]",
34
34
  },
35
35
  };
36
36
 
@@ -62,42 +62,46 @@ function formatRelativeTime(isoDate: string): string {
62
62
  function ActivityEntry({ activity }: { activity: ObjectiveActivityFile }) {
63
63
  const [expanded, setExpanded] = useState(false);
64
64
  const meta = TYPE_META[activity.type] ?? TYPE_META.note;
65
- const preview =
66
- activity.body.length > 200 ? `${activity.body.slice(0, 200).trim()}…` : activity.body;
67
65
  const hasMore = activity.body.length > 200;
68
66
 
69
67
  return (
70
68
  <div className="relative pl-6 pb-6 last:pb-0">
71
- <div className="absolute left-0 top-1.5 w-3 h-3 rounded-full border-2 border-zinc-600 bg-[#131315]" />
72
- <div className="absolute left-[5px] top-4 bottom-0 w-px bg-zinc-800 last:hidden" />
69
+ <div className="absolute left-0 top-1.5 h-3 w-3 rounded-full border-2 border-[var(--timeline-node-border)] bg-[var(--timeline-node-bg)]" />
70
+ <div className="absolute bottom-0 left-[5px] top-4 w-px bg-[var(--timeline-track)] last:hidden" />
73
71
 
74
- <div className="flex items-center gap-2 mb-1.5">
72
+ <div className="mb-1.5 flex items-center gap-2">
75
73
  <span
76
74
  className={`rounded-full border px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.14em] ${meta.className}`}
77
75
  >
78
76
  {meta.label}
79
77
  </span>
80
- <span className="text-[11px] text-zinc-500">{formatRelativeTime(activity.createdAt)}</span>
78
+ <span className="text-[11px] text-[var(--muted-foreground)]">{formatRelativeTime(activity.createdAt)}</span>
81
79
  {activity.source !== "manual" && (
82
- <span className="text-[11px] text-zinc-600 font-mono truncate max-w-[180px]">
80
+ <span className="max-w-[180px] truncate font-mono text-[11px] text-[var(--app-shell-soft-text)]">
83
81
  {activity.source}
84
82
  </span>
85
83
  )}
86
84
  </div>
87
85
 
88
86
  {expanded ? (
89
- <div className="text-sm text-zinc-300 prose prose-invert prose-sm max-w-none">
87
+ <div className="prose prose-sm max-w-none text-sm text-[var(--foreground)] prose-neutral dark:prose-invert">
90
88
  <Markdown content={activity.body} />
91
89
  </div>
92
90
  ) : (
93
- <p className="text-sm text-zinc-400 leading-relaxed">{preview}</p>
91
+ <div
92
+ className={`text-sm leading-relaxed text-[var(--muted-foreground)] ${
93
+ hasMore ? "max-h-24 overflow-hidden [mask-image:linear-gradient(to_bottom,black_72%,transparent)]" : ""
94
+ }`}
95
+ >
96
+ <Markdown content={activity.body} />
97
+ </div>
94
98
  )}
95
99
 
96
100
  {hasMore && (
97
101
  <button
98
102
  type="button"
99
103
  onClick={() => setExpanded(!expanded)}
100
- className="mt-1.5 flex items-center gap-1 text-xs text-zinc-500 hover:text-zinc-300 transition-colors"
104
+ className="mt-1.5 flex items-center gap-1 text-xs text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]"
101
105
  >
102
106
  {expanded ? <ChevronDown size={12} /> : <ChevronRight size={12} />}
103
107
  {expanded ? "Show less" : "Show more"}
@@ -152,8 +156,8 @@ function LogActivityForm({
152
156
  };
153
157
 
154
158
  return (
155
- <div className="rounded-lg border border-zinc-700/60 bg-zinc-900/50 p-3 mb-4">
156
- <div className="flex flex-wrap gap-1.5 mb-3">
159
+ <div className="mb-4 rounded-lg border border-[var(--border)] bg-[var(--overlay-panel-muted)] p-3">
160
+ <div className="mb-3 flex flex-wrap gap-1.5">
157
161
  {ALL_TYPES.map((t) => {
158
162
  const meta = TYPE_META[t];
159
163
  const isActive = type === t;
@@ -164,7 +168,7 @@ function LogActivityForm({
164
168
  onClick={() => setType(t)}
165
169
  className={`rounded-full border px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-[0.14em] transition-colors ${
166
170
  isActive
167
- ? "bg-zinc-200 text-zinc-900 border-zinc-200"
171
+ ? "border-[var(--foreground)] bg-[var(--foreground)] text-[var(--background)]"
168
172
  : `${meta.className} hover:opacity-80`
169
173
  }`}
170
174
  >
@@ -179,13 +183,13 @@ function LogActivityForm({
179
183
  onChange={(e) => setBody(e.target.value)}
180
184
  placeholder="What did you do?"
181
185
  rows={3}
182
- className="w-full rounded-md border border-zinc-700/60 bg-zinc-800/50 px-3 py-2 text-sm text-zinc-200 placeholder:text-zinc-600 focus:outline-none focus:border-zinc-500 resize-none"
186
+ className="w-full resize-none rounded-md border border-[var(--border)] bg-[var(--input)] px-3 py-2 text-sm text-[var(--foreground)] placeholder:text-[var(--app-shell-soft-text)] focus:border-[var(--card-hover-border)] focus:outline-none"
183
187
  />
184
- <div className="flex items-center justify-end gap-2 mt-2">
188
+ <div className="mt-2 flex items-center justify-end gap-2">
185
189
  <button
186
190
  type="button"
187
191
  onClick={onCancel}
188
- className="px-3 py-1.5 text-xs text-zinc-400 hover:text-zinc-200 transition-colors"
192
+ className="px-3 py-1.5 text-xs text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]"
189
193
  >
190
194
  Cancel
191
195
  </button>
@@ -229,10 +233,14 @@ export function ObjectiveActivityTimeline({
229
233
  if (!response.ok) throw new Error("Failed to load activities");
230
234
 
231
235
  const data = (await response.json()) as ObjectiveActivityPage;
232
- setActivities((prev) => (append ? [...prev, ...data.activities] : data.activities));
233
- setTotal(data.total);
234
- onTotalChange?.(data.total);
235
- setHasMore(data.hasMore);
236
+ const nextActivities = Array.isArray(data.activities) ? data.activities : [];
237
+ const nextTotal = typeof data.total === "number" ? data.total : nextActivities.length;
238
+ const nextHasMore = Boolean(data.hasMore);
239
+
240
+ setActivities((prev) => (append ? [...prev, ...nextActivities] : nextActivities));
241
+ setTotal(nextTotal);
242
+ onTotalChange?.(nextTotal);
243
+ setHasMore(nextHasMore);
236
244
  } catch (error) {
237
245
  console.error("Failed to fetch activities:", error);
238
246
  } finally {
@@ -255,8 +263,8 @@ export function ObjectiveActivityTimeline({
255
263
 
256
264
  return (
257
265
  <section>
258
- <div className="flex items-center justify-between mb-3">
259
- <p className="text-sm text-zinc-500">
266
+ <div className="mb-3 flex items-center justify-between">
267
+ <p className="text-sm text-[var(--muted-foreground)]">
260
268
  Time-ordered log of outputs from scheduled tasks and manual entries.
261
269
  </p>
262
270
  <div className="flex items-center gap-1.5">
@@ -266,7 +274,7 @@ export function ObjectiveActivityTimeline({
266
274
  className={`flex items-center gap-1 px-2.5 py-1 rounded-md text-xs font-medium transition-colors ${
267
275
  showLogForm
268
276
  ? "text-sky-400 bg-sky-500/10"
269
- : "text-zinc-400 hover:text-zinc-200 hover:bg-zinc-800/50"
277
+ : "text-[var(--muted-foreground)] hover:bg-[var(--muted)] hover:text-[var(--foreground)]"
270
278
  }`}
271
279
  >
272
280
  {showLogForm ? <X size={12} /> : <Plus size={12} />}
@@ -278,7 +286,7 @@ export function ObjectiveActivityTimeline({
278
286
  className={`p-1.5 rounded-md transition-colors ${
279
287
  showFilter || typeFilter !== "all"
280
288
  ? "text-sky-400 bg-sky-500/10"
281
- : "text-zinc-500 hover:text-zinc-300 hover:bg-zinc-800/50"
289
+ : "text-[var(--muted-foreground)] hover:bg-[var(--muted)] hover:text-[var(--foreground)]"
282
290
  }`}
283
291
  aria-label="Filter activities"
284
292
  >
@@ -294,8 +302,8 @@ export function ObjectiveActivityTimeline({
294
302
  onClick={() => setTypeFilter("all")}
295
303
  className={`rounded-full border px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-[0.14em] transition-colors ${
296
304
  typeFilter === "all"
297
- ? "bg-zinc-200 text-zinc-900 border-zinc-200"
298
- : "bg-zinc-800/50 text-zinc-400 border-zinc-700 hover:border-zinc-500"
305
+ ? "border-[var(--foreground)] bg-[var(--foreground)] text-[var(--background)]"
306
+ : "border-[var(--tone-neutral-border)] bg-[var(--tone-neutral-bg)] text-[var(--tone-neutral)] hover:border-[var(--card-hover-border)]"
299
307
  }`}
300
308
  >
301
309
  All
@@ -310,7 +318,7 @@ export function ObjectiveActivityTimeline({
310
318
  onClick={() => setTypeFilter(type)}
311
319
  className={`rounded-full border px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-[0.14em] transition-colors ${
312
320
  isActive
313
- ? "bg-zinc-200 text-zinc-900 border-zinc-200"
321
+ ? "border-[var(--foreground)] bg-[var(--foreground)] text-[var(--background)]"
314
322
  : `${meta.className} hover:opacity-80`
315
323
  }`}
316
324
  >
@@ -339,11 +347,11 @@ export function ObjectiveActivityTimeline({
339
347
  )}
340
348
 
341
349
  {isLoading && activities.length === 0 ? (
342
- <div className="text-sm text-zinc-500 py-6 text-center">Loading activities...</div>
350
+ <div className="py-6 text-center text-sm text-[var(--muted-foreground)]">Loading activities...</div>
343
351
  ) : activities.length === 0 ? (
344
- <div className="rounded-xl border border-dashed border-zinc-700/60 bg-zinc-900/30 p-6 text-center">
345
- <p className="text-sm text-zinc-500">No activities yet.</p>
346
- <p className="text-xs text-zinc-600 mt-1">
352
+ <div className="rounded-xl border border-dashed border-[var(--border)] bg-[var(--overlay-panel-muted)] p-6 text-center">
353
+ <p className="text-sm text-[var(--muted-foreground)]">No activities yet.</p>
354
+ <p className="mt-1 text-xs text-[var(--app-shell-soft-text)]">
347
355
  Activities are created by scheduled tasks and agent actions.
348
356
  </p>
349
357
  </div>
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
 
3
- import { useMemo, useState } from "react";
4
- import { Clock, Plus, Sparkles, Trash2, X } from "lucide-react";
3
+ import { useCallback, useEffect, useMemo, useState } from "react";
4
+ import { Check, Clock, Pause, Play, Plus, Trash2, X, XCircle } from "lucide-react";
5
5
  import { usePromptJobs } from "@/hooks/usePromptJobs";
6
6
  import { cronToHuman } from "@/src/graph/nl-schedule";
7
- import type { PromptJob } from "@/src/prompt-scheduler/types";
7
+ import type { PromptJob, PromptRun } from "@/src/prompt-scheduler/types";
8
8
  import { CreateJobModal, type CreateJobData } from "@/components/PromptJobBoard";
9
9
 
10
10
  export type ObjectiveScheduledTaskDraft = CreateJobData;
@@ -15,7 +15,6 @@ interface ObjectiveScheduledTasksPanelProps {
15
15
  objectiveKey: string;
16
16
  createDefaults?: Partial<ObjectiveScheduledTaskDraft>;
17
17
  onCreateTask: (draft: ObjectiveScheduledTaskDraft) => Promise<boolean>;
18
- onCreateObjectiveLinearWorker: () => Promise<boolean>;
19
18
  }
20
19
 
21
20
  function formatCadence(job: Pick<PromptJob, "cadence" | "cronExpr">): string {
@@ -24,6 +23,18 @@ function formatCadence(job: Pick<PromptJob, "cadence" | "cronExpr">): string {
24
23
  return cronToHuman(job.cronExpr || source) ?? source;
25
24
  }
26
25
 
26
+ function isJobOverdue(job: Pick<PromptJob, "nextRunAt" | "lastRunAt" | "prevScheduledAt" | "state">): boolean {
27
+ if (job.state !== "active") return false;
28
+ if (job.nextRunAt !== null && job.nextRunAt - Date.now() < 0) {
29
+ if (job.lastRunAt && job.lastRunAt >= job.nextRunAt) return false;
30
+ return true;
31
+ }
32
+ if (job.prevScheduledAt && job.lastRunAt) {
33
+ return job.lastRunAt > job.prevScheduledAt + 5 * 60_000;
34
+ }
35
+ return false;
36
+ }
37
+
27
38
  function formatNextRun(epochMs: number | null, state: PromptJob["state"]): string {
28
39
  if (state === "paused") return "Paused";
29
40
  if (state === "stopped") return "Stopped";
@@ -109,7 +120,7 @@ function ObjectiveScheduledTaskDetailModal({
109
120
  <p className="mb-2 text-xs font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]">
110
121
  Instructions
111
122
  </p>
112
- <div className="rounded-2xl border border-[var(--border)] bg-[rgba(15,23,42,0.28)] px-4 py-4 text-sm leading-6 text-[var(--foreground)] whitespace-pre-wrap">
123
+ <div className="whitespace-pre-wrap rounded-2xl border border-[var(--border)] bg-[var(--overlay-panel-muted)] px-4 py-4 text-sm leading-6 text-[var(--foreground)]">
113
124
  {job.prompt || "No instructions yet"}
114
125
  </div>
115
126
  </div>
@@ -119,7 +130,7 @@ function ObjectiveScheduledTaskDetailModal({
119
130
  <p className="mb-2 text-xs font-semibold uppercase tracking-[0.18em] text-[var(--muted-foreground)]">
120
131
  Condition
121
132
  </p>
122
- <div className="rounded-2xl border border-[var(--border)] bg-[rgba(15,23,42,0.28)] px-4 py-4 text-sm leading-6 text-[var(--foreground)]">
133
+ <div className="rounded-2xl border border-[var(--border)] bg-[var(--overlay-panel-muted)] px-4 py-4 text-sm leading-6 text-[var(--foreground)]">
123
134
  {job.condition}
124
135
  </div>
125
136
  </div>
@@ -137,7 +148,7 @@ function ObjectiveScheduledTaskDetailModal({
137
148
  type="button"
138
149
  onClick={() => void onHide()}
139
150
  disabled={hiding}
140
- className="inline-flex items-center gap-2 rounded-xl border border-rose-500/20 px-4 py-2.5 text-sm text-rose-100 transition-colors hover:bg-rose-500/10 disabled:cursor-not-allowed disabled:opacity-50"
151
+ className="inline-flex items-center gap-2 rounded-xl border border-[var(--status-failed-border)] px-4 py-2.5 text-sm text-[var(--destructive)] transition-colors hover:bg-[var(--destructive-muted)] disabled:cursor-not-allowed disabled:opacity-50"
141
152
  >
142
153
  <Trash2 className="h-4 w-4" />
143
154
  {hiding ? "Hiding..." : "Hide task"}
@@ -157,12 +168,12 @@ function formatState(state: PromptJob["state"]): string {
157
168
 
158
169
  function stateClasses(state: PromptJob["state"]): string {
159
170
  if (state === "active") {
160
- return "border-emerald-500/20 bg-emerald-500/10 text-emerald-300";
171
+ return "border-[var(--status-completed-border)] bg-[var(--status-completed-bg)] text-[var(--status-completed)]";
161
172
  }
162
173
  if (state === "paused") {
163
- return "border-amber-500/20 bg-amber-500/10 text-amber-300";
174
+ return "border-[var(--status-blocked-border)] bg-[var(--status-blocked-bg)] text-[var(--status-blocked)]";
164
175
  }
165
- return "border-zinc-700 bg-zinc-800/80 text-zinc-300";
176
+ return "border-[var(--tone-neutral-border)] bg-[var(--tone-neutral-bg)] text-[var(--tone-neutral)]";
166
177
  }
167
178
 
168
179
  export function ObjectiveScheduledTasksPanel({
@@ -171,18 +182,17 @@ export function ObjectiveScheduledTasksPanel({
171
182
  objectiveKey,
172
183
  createDefaults,
173
184
  onCreateTask,
174
- onCreateObjectiveLinearWorker,
175
185
  }: ObjectiveScheduledTasksPanelProps) {
176
- const { jobs, loading, refresh, deleteJob } = usePromptJobs(projectId, {
186
+ const { jobs, loading, refresh, deleteJob, toggleJob, fetchRuns, runNow } = usePromptJobs(projectId, {
177
187
  requireProjectId: true,
178
188
  includeObjectiveJobs: true,
179
189
  objectiveId,
180
190
  });
181
191
  const [showCreate, setShowCreate] = useState(false);
182
- const [creatingLinearWorker, setCreatingLinearWorker] = useState(false);
183
192
  const [busyId, setBusyId] = useState<string | null>(null);
184
193
  const [error, setError] = useState<string | null>(null);
185
194
  const [selectedJobId, setSelectedJobId] = useState<string | null>(null);
195
+ const [recentRuns, setRecentRuns] = useState<(PromptRun & { jobName: string })[]>([]);
186
196
 
187
197
  const visibleJobs = useMemo(
188
198
  () => jobs.filter((job) => job.objectiveId === objectiveId),
@@ -193,6 +203,32 @@ export function ObjectiveScheduledTasksPanel({
193
203
  [selectedJobId, visibleJobs]
194
204
  );
195
205
 
206
+ const loadRecentRuns = useCallback(async () => {
207
+ if (visibleJobs.length === 0) {
208
+ setRecentRuns([]);
209
+ return;
210
+ }
211
+ const allRuns: (PromptRun & { jobName: string })[] = [];
212
+ await Promise.all(
213
+ visibleJobs.map(async (job) => {
214
+ const runs = await fetchRuns(job.id);
215
+ for (const run of runs) {
216
+ allRuns.push({ ...run, jobName: job.name });
217
+ }
218
+ })
219
+ );
220
+ allRuns.sort(
221
+ (a, b) =>
222
+ new Date(b.startedAt ?? b.createdAt).getTime() -
223
+ new Date(a.startedAt ?? a.createdAt).getTime()
224
+ );
225
+ setRecentRuns(allRuns.slice(0, 10));
226
+ }, [visibleJobs, fetchRuns]);
227
+
228
+ useEffect(() => {
229
+ void loadRecentRuns();
230
+ }, [loadRecentRuns]);
231
+
196
232
  const handleHide = async (job: PromptJob) => {
197
233
  setBusyId(job.id);
198
234
  setError(null);
@@ -217,17 +253,6 @@ export function ObjectiveScheduledTasksPanel({
217
253
  return ok;
218
254
  };
219
255
 
220
- const handleCreateObjectiveLinearWorker = async () => {
221
- setCreatingLinearWorker(true);
222
- setError(null);
223
- const ok = await onCreateObjectiveLinearWorker();
224
- setCreatingLinearWorker(false);
225
- if (!ok) {
226
- setError("Failed to create the objective Linear worker.");
227
- return;
228
- }
229
- await refresh();
230
- };
231
256
 
232
257
  return (
233
258
  <>
@@ -262,15 +287,6 @@ export function ObjectiveScheduledTasksPanel({
262
287
  </p>
263
288
  </div>
264
289
  <div className="flex flex-wrap items-center gap-2">
265
- <button
266
- type="button"
267
- onClick={() => void handleCreateObjectiveLinearWorker()}
268
- disabled={creatingLinearWorker}
269
- className="inline-flex items-center gap-2 rounded-xl border border-emerald-500/20 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-100 transition-colors hover:bg-emerald-500/15 disabled:cursor-not-allowed disabled:opacity-50"
270
- >
271
- <Sparkles className="h-4 w-4" />
272
- {creatingLinearWorker ? "Creating..." : "Work Linear tickets"}
273
- </button>
274
290
  <button
275
291
  type="button"
276
292
  onClick={() => setShowCreate(true)}
@@ -283,7 +299,7 @@ export function ObjectiveScheduledTasksPanel({
283
299
  </div>
284
300
 
285
301
  {error ? (
286
- <p className="mt-4 text-sm text-red-300">{error}</p>
302
+ <p className="mt-4 text-sm text-[var(--destructive)]">{error}</p>
287
303
  ) : null}
288
304
 
289
305
  <div className="mt-5 space-y-3">
@@ -308,7 +324,11 @@ export function ObjectiveScheduledTasksPanel({
308
324
  }}
309
325
  role="button"
310
326
  tabIndex={0}
311
- className="block w-full rounded-2xl border border-[var(--border)] bg-[rgba(15,23,42,0.28)] px-4 py-4 text-left transition-colors hover:border-[var(--card-hover-border)] focus:outline-none focus:ring-2 focus:ring-[var(--card-hover-border)]"
327
+ className={`block w-full rounded-2xl border px-4 py-4 text-left transition-colors focus:outline-none focus:ring-2 focus:ring-[var(--card-hover-border)] ${
328
+ isJobOverdue(job)
329
+ ? "border-amber-500/40 bg-amber-500/5 hover:border-amber-500/60"
330
+ : "border-[var(--border)] bg-[var(--overlay-panel-muted)] hover:border-[var(--card-hover-border)]"
331
+ }`}
312
332
  >
313
333
  <div className="flex flex-wrap items-start justify-between gap-3">
314
334
  <div className="min-w-0 flex-1">
@@ -319,7 +339,7 @@ export function ObjectiveScheduledTasksPanel({
319
339
  ? "bg-emerald-400"
320
340
  : job.state === "paused"
321
341
  ? "bg-amber-400"
322
- : "bg-zinc-500"
342
+ : "bg-[var(--tone-neutral)]"
323
343
  }`}
324
344
  />
325
345
  <p className="truncate text-sm font-semibold text-[var(--foreground)]">
@@ -330,9 +350,15 @@ export function ObjectiveScheduledTasksPanel({
330
350
  >
331
351
  {formatState(job.state)}
332
352
  </span>
353
+ {isJobOverdue(job) && (
354
+ <span className="shrink-0 text-[10px] font-semibold uppercase tracking-[0.16em] text-amber-400 bg-amber-500/10 px-2 py-0.5 rounded-full border border-amber-500/20 inline-flex items-center gap-1">
355
+ <Clock className="h-3 w-3" />
356
+ overdue
357
+ </span>
358
+ )}
333
359
  </div>
334
360
  <div className="mt-2 flex flex-wrap items-center gap-3 text-xs text-[var(--muted-foreground)]">
335
- <span className="inline-flex items-center gap-1.5">
361
+ <span className={`inline-flex items-center gap-1.5 ${isJobOverdue(job) ? "text-amber-400 font-medium" : ""}`}>
336
362
  <Clock className="h-3.5 w-3.5" />
337
363
  Next run {formatNextRun(job.nextRunAt, job.state)}
338
364
  </span>
@@ -355,23 +381,120 @@ export function ObjectiveScheduledTasksPanel({
355
381
  ) : null}
356
382
  </div>
357
383
 
358
- <button
359
- type="button"
360
- onClick={(event) => {
361
- event.stopPropagation();
362
- void handleHide(job);
363
- }}
364
- disabled={busyId === job.id}
365
- className="inline-flex items-center gap-1.5 rounded-lg border border-[var(--border)] px-3 py-2 text-xs font-medium text-[var(--muted-foreground)] transition-colors hover:border-red-400/40 hover:text-red-300 disabled:cursor-not-allowed disabled:opacity-50"
366
- >
367
- <Trash2 className="h-3.5 w-3.5" />
368
- {busyId === job.id ? "Hiding..." : "Hide"}
369
- </button>
384
+ <div className="flex items-center gap-1.5 shrink-0">
385
+ <button
386
+ type="button"
387
+ title="Run now"
388
+ onClick={async (event) => {
389
+ event.stopPropagation();
390
+ setBusyId(job.id);
391
+ await runNow(job.id);
392
+ setBusyId(null);
393
+ await refresh();
394
+ await loadRecentRuns();
395
+ }}
396
+ disabled={busyId === job.id}
397
+ className="rounded-lg border border-[var(--border)] p-2 text-[var(--muted-foreground)] transition-colors hover:border-emerald-400/40 hover:text-emerald-300 disabled:cursor-not-allowed disabled:opacity-50"
398
+ >
399
+ <Play className="h-3.5 w-3.5 fill-current" />
400
+ </button>
401
+ <button
402
+ type="button"
403
+ title={job.state === "active" ? "Pause" : "Resume"}
404
+ onClick={async (event) => {
405
+ event.stopPropagation();
406
+ setBusyId(job.id);
407
+ await toggleJob(job);
408
+ setBusyId(null);
409
+ }}
410
+ disabled={busyId === job.id}
411
+ className={`rounded-lg border p-2 transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${
412
+ job.state === "active"
413
+ ? "border-[var(--border)] text-[var(--muted-foreground)] hover:border-amber-400/40 hover:text-amber-300"
414
+ : "border-emerald-500/30 text-emerald-400 hover:border-emerald-400/50 hover:text-emerald-300"
415
+ }`}
416
+ >
417
+ {job.state === "active" ? (
418
+ <Pause className="h-3.5 w-3.5" />
419
+ ) : (
420
+ <Play className="h-3.5 w-3.5 fill-current" />
421
+ )}
422
+ </button>
423
+ <button
424
+ type="button"
425
+ title="Delete"
426
+ onClick={(event) => {
427
+ event.stopPropagation();
428
+ if (!confirm(`Delete "${job.name}"? This cannot be undone.`)) return;
429
+ void handleHide(job);
430
+ }}
431
+ disabled={busyId === job.id}
432
+ className="rounded-lg border border-[var(--border)] p-2 text-[var(--muted-foreground)] transition-colors hover:border-[var(--status-failed-border)] hover:text-[var(--destructive)] disabled:cursor-not-allowed disabled:opacity-50"
433
+ >
434
+ <Trash2 className="h-3.5 w-3.5" />
435
+ </button>
436
+ </div>
370
437
  </div>
371
438
  </div>
372
439
  ))
373
440
  )}
374
441
  </div>
442
+
443
+ {/* Recent Executions */}
444
+ {recentRuns.length > 0 && (
445
+ <div className="mt-8">
446
+ <p className="text-[11px] font-medium uppercase tracking-[0.18em] text-[var(--muted-foreground)] mb-3">
447
+ Recent executions
448
+ </p>
449
+ <div className="space-y-0.5">
450
+ {recentRuns.map((run) => {
451
+ const ts = run.startedAt ?? run.createdAt;
452
+ const isSuccess = run.status === "success";
453
+ const isFailed = run.status === "failed";
454
+ const isRunning = run.status === "running";
455
+ return (
456
+ <div
457
+ key={run.id}
458
+ className="flex items-center gap-3 py-2 px-2 rounded-md text-xs"
459
+ >
460
+ <span
461
+ className={`flex size-5 shrink-0 items-center justify-center rounded-full border ${
462
+ isSuccess
463
+ ? "border-emerald-500/40 text-emerald-400"
464
+ : isFailed
465
+ ? "border-[var(--status-failed-border)] text-[var(--destructive)]"
466
+ : isRunning
467
+ ? "border-sky-500/40 text-sky-400"
468
+ : "border-[var(--border)] text-[var(--muted-foreground)]"
469
+ }`}
470
+ >
471
+ {isSuccess ? (
472
+ <Check className="h-3 w-3" />
473
+ ) : isFailed ? (
474
+ <XCircle className="h-3 w-3" />
475
+ ) : (
476
+ <span className={`block size-1.5 rounded-full ${isRunning ? "bg-sky-400 animate-pulse" : "bg-current"}`} />
477
+ )}
478
+ </span>
479
+ <span className="truncate text-[var(--muted-foreground)]">
480
+ {run.jobName}
481
+ </span>
482
+ <span className="ml-auto shrink-0 text-[11px] text-[var(--muted-foreground)]">
483
+ {formatDateTime(ts)}
484
+ </span>
485
+ {run.durationMs != null && (
486
+ <span className="shrink-0 font-mono text-[11px] text-[var(--muted-foreground)]">
487
+ {run.durationMs < 1000
488
+ ? `${run.durationMs}ms`
489
+ : `${Math.round(run.durationMs / 1000)}s`}
490
+ </span>
491
+ )}
492
+ </div>
493
+ );
494
+ })}
495
+ </div>
496
+ </div>
497
+ )}
375
498
  </div>
376
499
  </>
377
500
  );
@@ -34,18 +34,18 @@ export function ProjectHome({
34
34
  <div className="h-full overflow-y-auto">
35
35
  <div className="max-w-5xl mx-auto px-6 py-8 space-y-8">
36
36
  {projectDescription && (
37
- <p className="text-sm text-zinc-400">{projectDescription}</p>
37
+ <p className="text-sm text-[var(--muted-foreground)]">{projectDescription}</p>
38
38
  )}
39
39
 
40
40
  {/* Objectives */}
41
41
  <section>
42
- <h2 className="text-sm text-zinc-500 mb-3">What you're working toward</h2>
42
+ <h2 className="mb-3 text-sm text-[var(--muted-foreground)]">What you're working toward</h2>
43
43
  <ObjectivesSection projectId={projectId} projectSlug={projectSlug} />
44
44
  </section>
45
45
 
46
46
  {/* Tool entry points */}
47
47
  <section>
48
- <h2 className="text-sm text-zinc-500 mb-3">Start working</h2>
48
+ <h2 className="mb-3 text-sm text-[var(--muted-foreground)]">Start working</h2>
49
49
  <ToolPathsSection
50
50
  projectId={projectId}
51
51
  projectSlug={projectSlug}
@@ -55,7 +55,7 @@ export function ProjectHome({
55
55
 
56
56
  {/* Activity */}
57
57
  <section>
58
- <h2 className="text-sm text-zinc-500 mb-3">What's happening now</h2>
58
+ <h2 className="mb-3 text-sm text-[var(--muted-foreground)]">What's happening now</h2>
59
59
  <div className="space-y-4">
60
60
  <WorkingNowCard
61
61
  projectSlug={projectSlug}