@mndrk/agx 2.1.0 → 2.3.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 (457) hide show
  1. package/README.md +70 -105
  2. package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
  4. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
  6. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  7. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page/react-loadable-manifest.json +2 -2
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +5 -5
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +5 -5
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +3 -3
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +3 -3
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +3 -3
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +3 -3
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +2 -2
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +4 -3
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +4 -3
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +3 -2
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +3 -2
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  196. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  197. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
  198. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
  199. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  200. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  201. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  202. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  203. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  204. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  205. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  212. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  213. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  214. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  215. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  217. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0-zk9w8._.js +7 -2
  218. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0.01bfe._.js +13 -8
  219. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__00c~p6z._.js +7 -2
  220. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__019dflu._.js +7 -2
  221. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__02t.3rm._.js +4 -4
  222. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__06zr0ph._.js +6 -1
  223. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__07d._0s._.js +15 -10
  224. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08xj~a3._.js +1 -1
  225. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0a0cq38._.js +34 -3
  226. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0asvfdo._.js +35 -4
  227. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0bt7ejs._.js +7 -2
  228. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0f.~98d._.js +7 -2
  229. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g-~-.q._.js +6 -1
  230. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g7p6pw._.js +1 -1
  231. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gj~dap._.js +40 -9
  232. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hkcw03._.js +8 -3
  233. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hyu3en._.js +7 -2
  234. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0i5aw03._.js +7 -2
  235. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ke4z91._.js +7 -2
  236. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0l53ok5._.js +41 -10
  237. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ll-~cx._.js +7 -2
  238. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0mh6p.0._.js +7 -2
  239. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0nc-lbr._.js +1 -1
  240. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0p9rl6.._.js +8 -3
  241. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0q~pnp0._.js +6 -6
  242. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ue0bu5._.js +6 -1
  243. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0unwwyx._.js +12 -7
  244. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0vtkl3q._.js +4 -4
  245. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0x6w64i._.js +1 -1
  246. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0z82z0-._.js +6 -1
  247. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0zrv3p3._.js +16 -11
  248. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~iknwz._.js +12 -7
  249. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10d.dhd._.js +46 -15
  250. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10sw5ia._.js +4 -4
  251. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__11yx.ud._.js +33 -2
  252. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__13-nlgu._.js +5 -5
  253. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__13960a8._.js +14 -9
  254. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_06qet8g._.js +14 -9
  255. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_0m2ly._.js +4 -4
  256. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0a15wtk._.js +4 -4
  257. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0fr1qq6._.js +1 -1
  258. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0g.q2r6._.js +6 -1
  259. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0i7fs.i._.js +4 -4
  260. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01pvj2g._.js +1 -1
  261. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_agent-participants_ts_0cq15u5._.js +1 -1
  262. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_db_ts_0twf-w5._.js +1 -1
  263. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_orchestrator_chat-processor_ts_0c2l_oh._.js +43 -12
  264. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_0l95hik._.js +15 -15
  265. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_0s5xprd._.js +1 -1
  266. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_082u-ls._.js +19 -14
  267. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_schedule-runner_ts_07-ozf_._.js +2 -2
  268. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0_l0fpi.js +1 -1
  269. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0gips_c.js +1 -1
  270. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0rszt9p.js +10 -6
  271. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0u_5kfo.js +1 -1
  272. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_06fnblz._.js +3 -0
  273. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__039h7r.._.js +18 -0
  274. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0lno3km._.js +3 -0
  275. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__0fl7_-o._.js → [root-of-the-server]__0nqqk26._.js} +2 -2
  276. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__0j9m72.._.js → [root-of-the-server]__0tqn-o5._.js} +2 -2
  277. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~nm7b6._.js +3 -0
  278. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0140-84._.js +3 -0
  279. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03fckp4._.js +3 -0
  280. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_064h43p._.js → _05xj_bp._.js} +2 -2
  281. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0tcjapj._.js → _0ip6k6n._.js} +2 -2
  282. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0jensz1._.js +3 -0
  283. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0t0p8q5._.js +3 -0
  284. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yeuuy1._.js +1 -23
  285. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_03z24q2._.js +1 -1
  286. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_0nvzo3y._.js → apps_local_04dh2yh._.js} +2 -2
  287. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_ac-.f._.js +3 -3
  288. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0a-8i4p._.js +1 -1
  289. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0k4~c1x._.js +1 -1
  290. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0ld1uug._.js +1 -1
  291. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0ms1d6i._.js +4 -0
  292. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0p_v0ri._.js +1 -1
  293. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0x.xj52._.js +3 -0
  294. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0~g2ijr._.js +1 -1
  295. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_11k_-8~._.js +3 -3
  296. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_[id]_page_tsx_06n47n~._.js +1 -1
  297. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_page_tsx_078reb_._.js +1 -1
  298. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_0aaa3~t._.js +1 -1
  299. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +25 -3
  300. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
  301. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_[teamId]_agents_[agentId]_page_tsx_0wm~_~t._.js +1 -1
  302. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_[teamId]_page_tsx_0iyozfl._.js +1 -1
  303. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_new_page_tsx_0yqd0a5._.js +1 -1
  304. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +1 -20
  305. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_setup_page_tsx_0ql2qmr._.js +1 -1
  306. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_PromptJobBoard_tsx_06zob36._.js +2 -2
  307. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_ChatContainer_tsx_0c9fjtl._.js +1 -1
  308. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +1 -1
  309. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_terminal_TerminalPane_tsx_0l17vs_._.js +22 -0
  310. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
  311. package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
  312. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  313. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  314. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
  315. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  316. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  317. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0e307b-0c2jbx.js → 0-cets4_axpvm.js} +1 -1
  318. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1011~1x9nj4ny.js → 0-k2m1ncx7hwx.js} +1 -1
  319. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0dnw31436wd~..js → 0-pkmgle2s8u8.js} +1 -1
  320. package/cloud-runtime/standalone/apps/local/.next/static/chunks/064jfmraty.9h.js +1 -0
  321. package/cloud-runtime/standalone/apps/local/.next/static/chunks/06kru5m9q~r.j.js +1 -0
  322. package/cloud-runtime/standalone/apps/local/.next/static/chunks/06kyg1q0bcz6p.js +5 -0
  323. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{119v0-idpg-cv.js → 08bdyjcnamzep.js} +1 -1
  324. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0-olq~7zw3wjy.js → 08xq~uyr6.eqw.js} +1 -1
  325. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0gj98094p~zn4.js → 0cku81z~3oe6..js} +1 -1
  326. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0e7jhy0-52_4k.js +1 -0
  327. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0wh6p5~ft5rma.js → 0htc.sqrk_0.c.js} +1 -1
  328. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ju4xmxwqddw6.js +1 -0
  329. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0kn66yvx08813.css +1 -0
  330. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{07646a0h94826.js → 0l89kxqcf86on.js} +2 -2
  331. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0mm978wb-ueg-.js +6 -0
  332. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0musu8f.4wvxz.js +1 -0
  333. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0bchtyu6m.2yv.js → 0muti0yiyhu0t.js} +1 -1
  334. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0rhps884e-bzu.js +1 -0
  335. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0rr3fvwc5ind~.js +5 -0
  336. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0sbkkjowkksa6.js +1 -0
  337. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0sjz0.o9_33qy.js +1 -0
  338. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0srzmg8ivve1g.css +1 -0
  339. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0fonouj2i9qnb.js → 0swo3_e8.4s7j.js} +2 -2
  340. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0sysrf3~l~r35.js +1 -0
  341. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0t69h-kc701fn.js +1 -0
  342. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0v67lnh..wj4z.js +1 -0
  343. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{013gtut17~fne.js → 0wb45ol1xrqe~.js} +1 -23
  344. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{00po4v2x~0x_z.js → 0wiw2v8gm-k_-.js} +1 -1
  345. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0tt1oh112yv-l.js → 0wopevh0s7.8c.js} +1 -1
  346. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xm2~gxlt1npd.js +1 -0
  347. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1503vb7lb6.g1.js → 0ya124ushze_f.js} +4 -4
  348. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0zt2o58c5gytn.js +16 -0
  349. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0~idsggr8vqf5.js +59 -0
  350. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0stvi5btlxl4m.js → 0~mcfx41q4znh.js} +3 -3
  351. package/cloud-runtime/standalone/apps/local/.next/static/chunks/116j4mjz~y42t.js +1 -0
  352. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0-vo_x2cxmjm3.js → 12b62py0mq1gm.js} +4 -4
  353. package/cloud-runtime/standalone/apps/local/.next/static/chunks/12y5i0lh6s73o.js +1 -0
  354. package/cloud-runtime/standalone/apps/local/.next/static/chunks/148.mt80civoz.js +20 -0
  355. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14m5d270euu_s.js +1 -0
  356. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0-_ukhpeg429c.js → 16h9208kl5~xa.js} +1 -1
  357. package/cloud-runtime/standalone/apps/local/app/agents/[id]/page.tsx +6 -3
  358. package/cloud-runtime/standalone/apps/local/app/agents/page.tsx +3 -3
  359. package/cloud-runtime/standalone/apps/local/app/api/chat/route.ts +7 -1
  360. package/cloud-runtime/standalone/apps/local/app/api/participants/route.ts +9 -9
  361. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/search/route.ts +6 -6
  362. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/route.ts +3 -3
  363. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/agents/route.ts +1 -1
  364. package/cloud-runtime/standalone/apps/local/app/api/schedules/poll/route.ts +11 -2
  365. package/cloud-runtime/standalone/apps/local/app/page.tsx +72 -14
  366. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +1 -1
  367. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/page.tsx +34 -1
  368. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.tsx +6 -3
  369. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/[teamId]/page.tsx +6 -3
  370. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/new/page.tsx +8 -17
  371. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/replace/page.tsx +1 -1
  372. package/cloud-runtime/standalone/apps/local/app/projects/page.tsx +7 -0
  373. package/cloud-runtime/standalone/apps/local/app/setup/page.tsx +1 -38
  374. package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +8 -4
  375. package/cloud-runtime/standalone/apps/local/components/EmptyStateCard.tsx +37 -0
  376. package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +103 -770
  377. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +8 -39
  378. package/cloud-runtime/standalone/apps/local/components/TeamPickerModal.tsx +3 -3
  379. package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +28 -32
  380. package/cloud-runtime/standalone/apps/local/components/chat-ui/ParticipantBar.tsx +24 -39
  381. package/cloud-runtime/standalone/apps/local/components/linear/LinearBoardFilters.tsx +343 -0
  382. package/cloud-runtime/standalone/apps/local/components/linear/LinearSettingsModal.tsx +9 -3
  383. package/cloud-runtime/standalone/apps/local/components/linear/LinearWorkerConfig.tsx +65 -30
  384. package/cloud-runtime/standalone/apps/local/components/linear/LinearWorkerRunLog.tsx +190 -0
  385. package/cloud-runtime/standalone/apps/local/components/linear/TicketRow.tsx +158 -0
  386. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveHealthTrend.tsx +45 -61
  387. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +38 -34
  388. package/cloud-runtime/standalone/apps/local/components/projects/RecentlyCompletedCard.tsx +0 -16
  389. package/cloud-runtime/standalone/apps/local/components/projects/ReplaceAgentsModal.tsx +2 -2
  390. package/cloud-runtime/standalone/apps/local/components/setup/McpSetupStep.tsx +155 -120
  391. package/cloud-runtime/standalone/apps/local/components/setup/ProviderStep.tsx +85 -88
  392. package/cloud-runtime/standalone/apps/local/components/setup/SetupLayout.tsx +6 -4
  393. package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +18 -193
  394. package/cloud-runtime/standalone/apps/local/components/terminal/TerminalPane.tsx +40 -4
  395. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +121 -20
  396. package/cloud-runtime/standalone/apps/local/components/ui/ResizeHandle.tsx +52 -0
  397. package/cloud-runtime/standalone/apps/local/hooks/useAutomations.ts +8 -3
  398. package/cloud-runtime/standalone/apps/local/hooks/useLinearActiveAgents.ts +38 -0
  399. package/cloud-runtime/standalone/apps/local/hooks/useLinearParticipants.ts +118 -0
  400. package/cloud-runtime/standalone/apps/local/hooks/usePromptJobs.ts +5 -3
  401. package/cloud-runtime/standalone/apps/local/hooks/useSetupFlow.ts +6 -81
  402. package/cloud-runtime/standalone/apps/local/lib/agent-participants.ts +1 -1
  403. package/cloud-runtime/standalone/apps/local/lib/agent-process-registry.ts +34 -0
  404. package/cloud-runtime/standalone/apps/local/lib/db.ts +5 -5
  405. package/cloud-runtime/standalone/apps/local/lib/linear-board-utils.ts +9 -0
  406. package/cloud-runtime/standalone/apps/local/lib/linear-run-status.ts +88 -0
  407. package/cloud-runtime/standalone/apps/local/lib/linear-run-store.ts +4 -4
  408. package/cloud-runtime/standalone/apps/local/lib/sqlite-query-adapter.ts +5 -1
  409. package/cloud-runtime/standalone/apps/local/lib/team-catalog.ts +60 -60
  410. package/cloud-runtime/standalone/apps/local/lib/types.ts +1 -1
  411. package/cloud-runtime/standalone/apps/local/migrations/sqlite_schema.sql +1 -1
  412. package/cloud-runtime/standalone/apps/local/skills-lock.json +5 -0
  413. package/cloud-runtime/standalone/apps/local/src/graph/schedule-runner.ts +26 -1
  414. package/cloud-runtime/standalone/apps/local/src/graph/store.ts +13 -0
  415. package/cloud-runtime/standalone/apps/local/state/linearBoardPins.ts +45 -0
  416. package/cloud-runtime/standalone/apps/local/styles/workspaceSidebar.css +71 -2
  417. package/cloud-runtime/standalone/apps/local/worker/index.js +56 -4
  418. package/lib/cli/onboarding.js +8 -5
  419. package/package.json +1 -1
  420. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0tvwux2._.js +0 -3
  421. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__006vr7.._.js +0 -3
  422. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0d18x53._.js +0 -18
  423. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0z7nw_r._.js +0 -3
  424. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_00trrg8._.js +0 -3
  425. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +0 -3
  426. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0sjchy6._.js +0 -3
  427. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0w4gpvr._.js +0 -3
  428. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0x6hh0t._.js +0 -4
  429. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0t6p.qm._.js +0 -3
  430. package/cloud-runtime/standalone/apps/local/.next/static/chunks/014z_yruiincl.js +0 -1
  431. package/cloud-runtime/standalone/apps/local/.next/static/chunks/041-dhls9zkl1.js +0 -1
  432. package/cloud-runtime/standalone/apps/local/.next/static/chunks/04yoml2rqnuot.js +0 -16
  433. package/cloud-runtime/standalone/apps/local/.next/static/chunks/069yt_7prdxsp.js +0 -1
  434. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0_mrpyqcoyb_5.js +0 -1
  435. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0edewt9l~cs~k.css +0 -1
  436. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0f7i3ae1ynhf3.css +0 -1
  437. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0j-nhn61e~nnj.js +0 -1
  438. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jrkacz_dyem6.js +0 -37
  439. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l3v45kd.9is_.js +0 -1
  440. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p-rdas54yo~w.js +0 -1
  441. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pdrpsy-zdxp0.js +0 -5
  442. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p~l5ap6qqx2o.js +0 -1
  443. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0r0c9y6.8.m5p.js +0 -1
  444. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0tm20~ec~occu.js +0 -1
  445. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0uve8xrt~0a2e.js +0 -1
  446. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0w94x-v00osq0.js +0 -1
  447. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xwny92a.ad_i.js +0 -1
  448. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0zw85-xl9ysjs.js +0 -1
  449. package/cloud-runtime/standalone/apps/local/.next/static/chunks/11l2tww5f0hsk.js +0 -20
  450. package/cloud-runtime/standalone/apps/local/.next/static/chunks/12qohmk-~yrtg.js +0 -1
  451. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14v~9vx3tdv85.js +0 -1
  452. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16d~es6h6k~rj.js +0 -6
  453. package/cloud-runtime/standalone/apps/local/components/setup/ProjectStep.tsx +0 -189
  454. package/cloud-runtime/standalone/apps/local/components/setup/TeamsStep.tsx +0 -500
  455. /package/cloud-runtime/standalone/apps/local/.next/static/{RnYHmEXBwXJjVrVVx2CuP → ROMPfjQqFXqGHmbybq1eC}/_buildManifest.js +0 -0
  456. /package/cloud-runtime/standalone/apps/local/.next/static/{RnYHmEXBwXJjVrVVx2CuP → ROMPfjQqFXqGHmbybq1eC}/_clientMiddlewareManifest.js +0 -0
  457. /package/cloud-runtime/standalone/apps/local/.next/static/{RnYHmEXBwXJjVrVVx2CuP → ROMPfjQqFXqGHmbybq1eC}/_ssgManifest.js +0 -0
@@ -70,7 +70,7 @@ export interface SkillProfile {
70
70
  export interface AgentPreset {
71
71
  id: AgentPresetId;
72
72
  name: string;
73
- title: string;
73
+ role: string;
74
74
  style: AgentStyle;
75
75
  skillProfileId: SkillProfileId;
76
76
  identity: string;
@@ -200,8 +200,8 @@ const NEXT_JS_UI: SkillReference[] = [
200
200
  const agentPresetsData: Record<AgentPresetId, Omit<AgentPreset, "id">> = {
201
201
  // Leadership & strategy
202
202
  "team-lead": {
203
- name: "Team Lead",
204
- title: "Team Lead",
203
+ name: "Ada",
204
+ role: "Team Lead",
205
205
  style: "balanced",
206
206
  skillProfileId: "strategist-lead",
207
207
  identity: "Own technical direction, break ambiguous work into executable plans, and keep the squad aligned on delivery.",
@@ -209,59 +209,59 @@ const agentPresetsData: Record<AgentPresetId, Omit<AgentPreset, "id">> = {
209
209
 
210
210
  // Builders
211
211
  "fullstack-engineer": {
212
- name: "Fullstack Engineer",
213
- title: "Senior Fullstack Engineer",
212
+ name: "Kai",
213
+ role: "Senior Fullstack Engineer",
214
214
  style: "balanced",
215
215
  skillProfileId: "senior-builder",
216
216
  identity: "Ship features end-to-end across frontend and backend with pragmatic tradeoffs and clean boundaries.",
217
217
  extraSkills: NEXT_JS_FULL,
218
218
  },
219
219
  "backend-engineer": {
220
- name: "Backend Engineer",
221
- title: "Senior Backend Engineer",
220
+ name: "Ravi",
221
+ role: "Senior Backend Engineer",
222
222
  style: "specialist",
223
223
  skillProfileId: "senior-builder",
224
224
  identity: "Own backend contracts, data integrity, and safe delivery under real production constraints.",
225
225
  },
226
226
  "frontend-engineer": {
227
- name: "Frontend Engineer",
228
- title: "Senior Frontend Engineer",
227
+ name: "Mira",
228
+ role: "Senior Frontend Engineer",
229
229
  style: "balanced",
230
230
  skillProfileId: "senior-builder",
231
231
  identity: "Own product-facing UI quality, interaction design fidelity, and maintainable front-end architecture.",
232
232
  extraSkills: NEXT_JS_FULL,
233
233
  },
234
234
  "data-engineer": {
235
- name: "Data Engineer",
236
- title: "Data Engineer",
235
+ name: "Nia",
236
+ role: "Data Engineer",
237
237
  style: "specialist",
238
238
  skillProfileId: "senior-builder",
239
239
  identity: "Build reliable data pipelines, schemas, and transformations with a bias toward traceability.",
240
240
  },
241
241
  "ml-engineer": {
242
- name: "ML Engineer",
243
- title: "ML Engineer",
242
+ name: "Luca",
243
+ role: "ML Engineer",
244
244
  style: "specialist",
245
245
  skillProfileId: "senior-builder",
246
246
  identity: "Ship model-backed systems pragmatically, with evaluation, rollback paths, and tight production feedback.",
247
247
  },
248
248
  "devops-engineer": {
249
- name: "DevOps Engineer",
250
- title: "DevOps Engineer",
249
+ name: "Juno",
250
+ role: "DevOps Engineer",
251
251
  style: "specialist",
252
252
  skillProfileId: "senior-builder",
253
253
  identity: "Own delivery automation, deployment safety, and infrastructure changes that must fail predictably.",
254
254
  },
255
255
  "security-engineer": {
256
- name: "Security Engineer",
257
- title: "Security Engineer",
256
+ name: "Iris",
257
+ role: "Security Engineer",
258
258
  style: "conservative",
259
259
  skillProfileId: "senior-builder",
260
260
  identity: "Harden trust boundaries, implement secure defaults, and turn vague risk into concrete engineering requirements.",
261
261
  },
262
262
  "ui-designer": {
263
- name: "UI Designer",
264
- title: "UI Designer",
263
+ name: "Theo",
264
+ role: "UI Designer",
265
265
  style: "specialist",
266
266
  skillProfileId: "builder",
267
267
  identity: "Refine interfaces into consistent, high-signal UI systems that are practical to build and maintain.",
@@ -270,22 +270,22 @@ const agentPresetsData: Record<AgentPresetId, Omit<AgentPreset, "id">> = {
270
270
 
271
271
  // Quality & review
272
272
  "qa-engineer": {
273
- name: "QA Engineer",
274
- title: "QA Engineer",
273
+ name: "Sana",
274
+ role: "QA Engineer",
275
275
  style: "conservative",
276
276
  skillProfileId: "reviewer",
277
277
  identity: "Find regressions early, tighten acceptance boundaries, and force evidence before release claims.",
278
278
  },
279
279
  sre: {
280
- name: "SRE",
281
- title: "Site Reliability Engineer",
280
+ name: "Dax",
281
+ role: "Site Reliability Engineer",
282
282
  style: "conservative",
283
283
  skillProfileId: "reviewer",
284
284
  identity: "Guard uptime, incident readiness, and operational correctness by challenging risky assumptions early.",
285
285
  },
286
286
  "pen-tester": {
287
- name: "Pen Tester",
288
- title: "Penetration Tester",
287
+ name: "Vega",
288
+ role: "Penetration Tester",
289
289
  style: "specialist",
290
290
  skillProfileId: "reviewer",
291
291
  identity: "Probe the system as an adversary, find exploit paths, and make the attack surface legible to builders.",
@@ -293,50 +293,50 @@ const agentPresetsData: Record<AgentPresetId, Omit<AgentPreset, "id">> = {
293
293
 
294
294
  // Planning & research
295
295
  "product-manager": {
296
- name: "Product Manager",
297
- title: "Product Manager",
296
+ name: "Sage",
297
+ role: "Product Manager",
298
298
  style: "balanced",
299
299
  skillProfileId: "planner",
300
300
  identity: "Turn ambiguous requests into scoped bets, crisp plans, and explicit tradeoffs the team can execute.",
301
301
  },
302
302
  "ux-designer": {
303
- name: "UX Designer",
304
- title: "UX Designer",
303
+ name: "Yara",
304
+ role: "UX Designer",
305
305
  style: "balanced",
306
306
  skillProfileId: "planner",
307
307
  identity: "Clarify user intent, reduce friction in flows, and turn product goals into coherent interaction design.",
308
308
  },
309
309
  "technical-writer": {
310
- name: "Technical Writer",
311
- title: "Technical Writer",
310
+ name: "Orin",
311
+ role: "Technical Writer",
312
312
  style: "balanced",
313
313
  skillProfileId: "planner",
314
314
  identity: "Turn complex implementation detail into clear docs, rollout notes, and operational guidance.",
315
315
  },
316
316
  "growth-marketer": {
317
- name: "Growth Marketer",
318
- title: "Growth Marketer",
317
+ name: "Zed",
318
+ role: "Growth Marketer",
319
319
  style: "balanced",
320
320
  skillProfileId: "strategist-lead",
321
321
  identity: "Design growth experiments with clear hypotheses, sequencing, and measurable outcomes.",
322
322
  },
323
323
  analyst: {
324
- name: "Analyst",
325
- title: "Product Analyst",
324
+ name: "Piper",
325
+ role: "Product Analyst",
326
326
  style: "specialist",
327
327
  skillProfileId: "researcher",
328
328
  identity: "Ground decisions in evidence, identify gaps in the brief, and surface the signal behind user behavior.",
329
329
  },
330
330
  "content-writer": {
331
- name: "Content Writer",
332
- title: "Content Strategist",
331
+ name: "Wren",
332
+ role: "Content Strategist",
333
333
  style: "balanced",
334
334
  skillProfileId: "researcher",
335
335
  identity: "Translate product and audience insight into clear narratives, launch copy, and feedback loops.",
336
336
  },
337
337
  researcher: {
338
- name: "Researcher",
339
- title: "Researcher",
338
+ name: "Ezra",
339
+ role: "Researcher",
340
340
  style: "balanced",
341
341
  skillProfileId: "researcher",
342
342
  identity: "Map fast-changing domains, synthesize evidence, and surface the governing model behind decisions.",
@@ -344,15 +344,15 @@ const agentPresetsData: Record<AgentPresetId, Omit<AgentPreset, "id">> = {
344
344
 
345
345
  // Marketing & comms
346
346
  "marketing-strategist": {
347
- name: "Marketing Strategist",
348
- title: "Marketing Strategist",
347
+ name: "Finn",
348
+ role: "Marketing Strategist",
349
349
  style: "balanced",
350
350
  skillProfileId: "strategist-lead",
351
351
  identity: "Own brand positioning, campaign strategy, and channel mix with measurable conversion targets.",
352
352
  },
353
353
  copywriter: {
354
- name: "Copywriter",
355
- title: "Copywriter",
354
+ name: "Blair",
355
+ role: "Copywriter",
356
356
  style: "balanced",
357
357
  skillProfileId: "researcher",
358
358
  identity: "Craft clear, persuasive copy that serves both the reader and the business goal.",
@@ -360,15 +360,15 @@ const agentPresetsData: Record<AgentPresetId, Omit<AgentPreset, "id">> = {
360
360
 
361
361
  // Support
362
362
  "support-engineer": {
363
- name: "Support Engineer",
364
- title: "Support Engineer",
363
+ name: "Gwen",
364
+ role: "Support Engineer",
365
365
  style: "balanced",
366
366
  skillProfileId: "builder",
367
367
  identity: "Diagnose customer issues fast, escalate with precision, and turn patterns into preventive fixes.",
368
368
  },
369
369
  "support-lead": {
370
- name: "Support Lead",
371
- title: "Support Lead",
370
+ name: "Eli",
371
+ role: "Support Lead",
372
372
  style: "balanced",
373
373
  skillProfileId: "planner",
374
374
  identity: "Triage incoming issues, route to the right responder, and track resolution quality.",
@@ -376,15 +376,15 @@ const agentPresetsData: Record<AgentPresetId, Omit<AgentPreset, "id">> = {
376
376
 
377
377
  // DevRel
378
378
  "devrel-engineer": {
379
- name: "DevRel Engineer",
380
- title: "Developer Relations Engineer",
379
+ name: "Milo",
380
+ role: "Developer Relations Engineer",
381
381
  style: "balanced",
382
382
  skillProfileId: "senior-builder",
383
383
  identity: "Build sample apps, integrations, and tooling that make the platform easy to adopt.",
384
384
  },
385
385
  "community-manager": {
386
- name: "Community Manager",
387
- title: "Community Manager",
386
+ name: "Uma",
387
+ role: "Community Manager",
388
388
  style: "balanced",
389
389
  skillProfileId: "planner",
390
390
  identity: "Grow and engage the developer community through events, content, and feedback loops.",
@@ -392,15 +392,15 @@ const agentPresetsData: Record<AgentPresetId, Omit<AgentPreset, "id">> = {
392
392
 
393
393
  // Operations
394
394
  "ops-engineer": {
395
- name: "Ops Engineer",
396
- title: "Operations Engineer",
395
+ name: "Nate",
396
+ role: "Operations Engineer",
397
397
  style: "specialist",
398
398
  skillProfileId: "senior-builder",
399
399
  identity: "Automate operational workflows, reduce toil, and keep internal tooling reliable.",
400
400
  },
401
401
  "project-manager": {
402
- name: "Project Manager",
403
- title: "Project Manager",
402
+ name: "Quinn",
403
+ role: "Project Manager",
404
404
  style: "balanced",
405
405
  skillProfileId: "planner",
406
406
  identity: "Track milestones, remove blockers, and keep cross-team delivery on schedule.",
@@ -408,15 +408,15 @@ const agentPresetsData: Record<AgentPresetId, Omit<AgentPreset, "id">> = {
408
408
 
409
409
  // Additional engineering presets
410
410
  "solutions-architect": {
411
- name: "Solutions Architect",
412
- title: "Solutions Architect",
411
+ name: "Cass",
412
+ role: "Solutions Architect",
413
413
  style: "balanced",
414
414
  skillProfileId: "strategist-lead",
415
415
  identity: "Design system-level architectures, evaluate tradeoffs, and guide teams through technical decisions.",
416
416
  },
417
417
  "mobile-engineer": {
418
- name: "Mobile Engineer",
419
- title: "Senior Mobile Engineer",
418
+ name: "Rio",
419
+ role: "Senior Mobile Engineer",
420
420
  style: "balanced",
421
421
  skillProfileId: "senior-builder",
422
422
  identity: "Ship native and cross-platform mobile experiences with attention to performance and platform conventions.",
@@ -505,7 +505,7 @@ const teamTemplatesData: TeamTemplate[] = [
505
505
  id: "growth",
506
506
  name: "Growth",
507
507
  description: "Experiment and content team for acquisition, activation, and learning loops.",
508
- icon: "megaphone",
508
+ icon: "trending-up",
509
509
  agents: [preset("team-lead"), preset("growth-marketer"), preset("content-writer")],
510
510
  },
511
511
  {
@@ -12,7 +12,7 @@ export interface Conversation {
12
12
  export interface Participant {
13
13
  id: string;
14
14
  name: string;
15
- title?: string;
15
+ role?: string;
16
16
  provider: ChatProvider;
17
17
  model: string | null;
18
18
  color: string;
@@ -311,7 +311,7 @@ CREATE TABLE IF NOT EXISTS agents (
311
311
  model TEXT,
312
312
  provider TEXT,
313
313
  color TEXT,
314
- title TEXT,
314
+ role TEXT,
315
315
  created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
316
316
  updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
317
317
  CHECK (style IN ('degen', 'conservative', 'specialist', 'balanced'))
@@ -15,6 +15,11 @@
15
15
  "source": "obra/superpowers",
16
16
  "sourceType": "github",
17
17
  "computedHash": "9b446f0c7fe1cfb560b1d34439523b1a76d5f177290007b2c053a1c749a4a8ba"
18
+ },
19
+ "writing-plans": {
20
+ "source": "obra/superpowers",
21
+ "sourceType": "github",
22
+ "computedHash": "bfaed11054ad8021c66860244e2d2e0d1eca483ae9f5fbfcb956e99c61f5c3d7"
18
23
  }
19
24
  }
20
25
  }
@@ -315,8 +315,23 @@ export async function executeScheduleTick(
315
315
  return { fired: false, graph, error: new Error('No schedule on graph') };
316
316
  }
317
317
 
318
- const tickResult = scheduleTickIfDue(graph);
318
+ // Atomic claim: only proceed if tickInProgress is currently false
319
+ const claimed = store.claimScheduleTick(taskId);
320
+ if (!claimed) {
321
+ return { fired: false, graph, error: new Error('Tick already in progress') };
322
+ }
323
+
324
+ // Re-read graph after atomic claim (tickInProgress is now true in DB)
325
+ const claimedGraph = store.getGraph(taskId) ?? graph;
326
+
327
+ const tickResult = scheduleTickIfDue(claimedGraph);
319
328
  if (!tickResult.tickFired) {
329
+ // Release the claim since we won't execute
330
+ const released = completeScheduleTick(claimedGraph);
331
+ store.updateGraphStructure(released.id, {
332
+ nodes: released.nodes,
333
+ schedule: released.schedule,
334
+ });
320
335
  return { fired: false, graph: tickResult.graph };
321
336
  }
322
337
 
@@ -330,6 +345,7 @@ export async function executeScheduleTick(
330
345
  let currentGraph = tickResult.graph;
331
346
  let loopCount = 0;
332
347
 
348
+ try {
333
349
  while (true) {
334
350
  loopCount++;
335
351
  const nodesBefore = Object.entries(currentGraph.nodes).map(([id, n]) => `${id}:${n.status}`).join(', ');
@@ -392,4 +408,13 @@ export async function executeScheduleTick(
392
408
  });
393
409
 
394
410
  return { fired: true, graph: finalGraph };
411
+ } catch (err) {
412
+ // Release tickInProgress on failure to prevent stranding the lock
413
+ const released = completeScheduleTick(currentGraph);
414
+ store.updateGraphStructure(released.id, {
415
+ nodes: released.nodes,
416
+ schedule: released.schedule,
417
+ });
418
+ throw err;
419
+ }
395
420
  }
@@ -601,6 +601,19 @@ export class GraphStore {
601
601
  [graphId, event.eventType, toJson(event), event.timestamp],
602
602
  );
603
603
  }
604
+
605
+ claimScheduleTick(taskId: string): boolean {
606
+ const db = this.getDb();
607
+ const result = db.prepare(
608
+ `UPDATE execution_graphs
609
+ SET schedule = json_set(schedule, '$.tickInProgress', json('true')),
610
+ updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
611
+ WHERE task_id = ?
612
+ AND json_extract(schedule, '$.tickInProgress') = 0
613
+ AND json_extract(schedule, '$.state') = 'active'`,
614
+ ).run(taskId);
615
+ return (result.changes ?? 0) > 0;
616
+ }
604
617
  }
605
618
 
606
619
  export function createGraphStore(): GraphStore {
@@ -0,0 +1,45 @@
1
+ const LINEAR_BOARD_PINS_STORAGE_PREFIX = "agx-linear:pinnedIssues";
2
+
3
+ function isStorageAvailable(): boolean {
4
+ return typeof window !== "undefined" && typeof window.localStorage !== "undefined";
5
+ }
6
+
7
+ function getStorageKey(projectSlug?: string | null): string {
8
+ const normalized = String(projectSlug ?? "").trim().toLowerCase();
9
+ return normalized
10
+ ? `${LINEAR_BOARD_PINS_STORAGE_PREFIX}:${normalized}`
11
+ : `${LINEAR_BOARD_PINS_STORAGE_PREFIX}:global`;
12
+ }
13
+
14
+ export function loadPinnedIssueIds(projectSlug?: string | null): Set<string> {
15
+ if (!isStorageAvailable()) return new Set();
16
+
17
+ const raw = window.localStorage.getItem(getStorageKey(projectSlug));
18
+ if (!raw) return new Set();
19
+
20
+ try {
21
+ const parsed: unknown = JSON.parse(raw);
22
+ if (!Array.isArray(parsed)) return new Set();
23
+ return new Set(
24
+ parsed.filter((id): id is string => typeof id === "string" && id.length > 0)
25
+ );
26
+ } catch {
27
+ return new Set();
28
+ }
29
+ }
30
+
31
+ export function persistPinnedIssueIds(
32
+ projectSlug: string | null | undefined,
33
+ ids: Set<string>
34
+ ): void {
35
+ if (!isStorageAvailable()) return;
36
+
37
+ try {
38
+ window.localStorage.setItem(
39
+ getStorageKey(projectSlug),
40
+ JSON.stringify([...ids])
41
+ );
42
+ } catch {
43
+ // ignore storage errors
44
+ }
45
+ }
@@ -61,13 +61,80 @@
61
61
  transform: scale(1.08);
62
62
  }
63
63
 
64
+ /* ──────────────────────────────────────────────
65
+ Collapsed icon rail
66
+ ────────────────────────────────────────────── */
67
+ .workspace-sidebar__collapsed-rail {
68
+ display: flex;
69
+ flex-direction: column;
70
+ align-items: center;
71
+ gap: 0.25rem;
72
+ padding: 0.5rem 0;
73
+ flex: 1;
74
+ min-height: 0;
75
+ overflow-y: auto;
76
+ }
77
+
78
+ .workspace-sidebar__rail-icon {
79
+ display: flex;
80
+ align-items: center;
81
+ justify-content: center;
82
+ width: 2rem;
83
+ height: 2rem;
84
+ border-radius: 0.5rem;
85
+ border: none;
86
+ background: transparent;
87
+ color: var(--app-shell-muted);
88
+ cursor: pointer;
89
+ transition: background-color 0.15s ease, color 0.15s ease;
90
+ text-decoration: none;
91
+ flex-shrink: 0;
92
+ }
93
+
94
+ .workspace-sidebar__rail-icon:hover {
95
+ background: var(--app-shell-subtle);
96
+ color: var(--foreground);
97
+ }
98
+
99
+ .workspace-sidebar__rail-icon--active {
100
+ background: var(--app-shell-elevated);
101
+ color: var(--foreground);
102
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 0 0 1px color-mix(in srgb, var(--primary) 28%, transparent);
103
+ }
104
+
105
+ /* ──────────────────────────────────────────────
106
+ Rail tooltip (portal-rendered, fixed position)
107
+ ────────────────────────────────────────────── */
108
+ .workspace-sidebar__rail-tooltip {
109
+ position: fixed;
110
+ z-index: 9999;
111
+ background: var(--app-shell-elevated);
112
+ color: var(--foreground);
113
+ font-size: 0.75rem;
114
+ font-weight: 500;
115
+ white-space: nowrap;
116
+ padding: 0.3rem 0.5rem;
117
+ border-radius: 0.375rem;
118
+ border: 1px solid var(--app-shell-border);
119
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
120
+ pointer-events: none;
121
+ }
122
+
123
+ .workspace-sidebar__rail-separator {
124
+ width: 1.25rem;
125
+ height: 1px;
126
+ background: var(--app-shell-border);
127
+ margin: 0.25rem 0;
128
+ flex-shrink: 0;
129
+ }
130
+
64
131
 
65
132
  /* ──────────────────────────────────────────────
66
133
  Brand bar
67
134
  ────────────────────────────────────────────── */
68
135
  .workspace-sidebar__brand {
69
- padding: 0.5rem 0.75rem;
70
- min-height: 0;
136
+ padding: 0.61rem 0.75rem;
137
+ min-height: 49px;
71
138
  box-sizing: border-box;
72
139
  border-bottom: 1px solid var(--app-shell-border);
73
140
  display: flex;
@@ -77,6 +144,8 @@
77
144
  backdrop-filter: blur(12px);
78
145
  }
79
146
 
147
+ .desktop-titlebar { max-height: 49px }
148
+
80
149
  .workspace-sidebar__brand-content {
81
150
  display: inline-flex;
82
151
  align-items: center;
@@ -765,6 +765,7 @@ var init_boss = __esm({
765
765
  var LOCAL_USER;
766
766
  var init_auth_mode = __esm({
767
767
  "apps/local/lib/auth-mode.ts"() {
768
+ "use strict";
768
769
  LOCAL_USER = {
769
770
  id: "2c3cc1ca-956d-4b62-b295-4d2d3374103f",
770
771
  email: process.env.AGX_BOARD_USER_EMAIL || "local@agx.board",
@@ -1766,7 +1767,11 @@ function runMigrations(db2) {
1766
1767
  if (!agentColNames.has("model")) db2.exec("ALTER TABLE agents ADD COLUMN model TEXT");
1767
1768
  if (!agentColNames.has("provider")) db2.exec("ALTER TABLE agents ADD COLUMN provider TEXT");
1768
1769
  if (!agentColNames.has("color")) db2.exec("ALTER TABLE agents ADD COLUMN color TEXT");
1769
- if (!agentColNames.has("title")) db2.exec("ALTER TABLE agents ADD COLUMN title TEXT");
1770
+ if (agentColNames.has("title") && !agentColNames.has("role")) {
1771
+ db2.exec("ALTER TABLE agents RENAME COLUMN title TO role");
1772
+ } else if (!agentColNames.has("role")) {
1773
+ db2.exec("ALTER TABLE agents ADD COLUMN role TEXT");
1774
+ }
1770
1775
  }
1771
1776
  db2.exec(`
1772
1777
  CREATE TABLE IF NOT EXISTS agent_skills (
@@ -8429,7 +8434,7 @@ async function createAgent(userId, input) {
8429
8434
  description: input.description ?? null
8430
8435
  };
8431
8436
  if (input.id !== void 0) payload.id = input.id;
8432
- if (input.title !== void 0) payload.title = input.title;
8437
+ if (input.role !== void 0) payload.role = input.role;
8433
8438
  if (input.voice !== void 0) payload.voice = input.voice;
8434
8439
  if (input.seed !== void 0) payload.seed = input.seed;
8435
8440
  if (input.model !== void 0) payload.model = input.model;
@@ -8448,7 +8453,7 @@ async function updateAgent(id, userId, input) {
8448
8453
  const db2 = createAdminDbClient();
8449
8454
  const updatePayload = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
8450
8455
  if (input.name !== void 0) updatePayload.name = input.name;
8451
- if (input.title !== void 0) updatePayload.title = input.title;
8456
+ if (input.role !== void 0) updatePayload.role = input.role;
8452
8457
  if (input.style !== void 0) updatePayload.style = input.style;
8453
8458
  if (input.description !== void 0) updatePayload.description = input.description;
8454
8459
  if (input.voice !== void 0) updatePayload.voice = input.voice;
@@ -11104,6 +11109,39 @@ function getDb2() {
11104
11109
  db2.exec("ALTER TABLE agent_processes ADD COLUMN response_message_id TEXT NOT NULL DEFAULT ''");
11105
11110
  } catch {
11106
11111
  }
11112
+ db2.exec(`
11113
+ CREATE TABLE IF NOT EXISTS messages (
11114
+ thread_id TEXT NOT NULL,
11115
+ id TEXT NOT NULL,
11116
+ role TEXT NOT NULL,
11117
+ participant_id TEXT,
11118
+ content TEXT NOT NULL,
11119
+ timestamp INTEGER NOT NULL,
11120
+ PRIMARY KEY (thread_id, id)
11121
+ )
11122
+ `);
11123
+ db2.exec(`
11124
+ CREATE TABLE IF NOT EXISTS linear_runs (
11125
+ id TEXT PRIMARY KEY,
11126
+ project_id TEXT,
11127
+ project_slug TEXT,
11128
+ issue_id TEXT NOT NULL,
11129
+ issue_identifier TEXT NOT NULL,
11130
+ issue_title TEXT NOT NULL,
11131
+ issue_status TEXT NOT NULL,
11132
+ issue_assignee TEXT,
11133
+ thread_id TEXT NOT NULL,
11134
+ root_message_id TEXT,
11135
+ chat_run_id TEXT,
11136
+ agent_id TEXT NOT NULL,
11137
+ agent_name TEXT NOT NULL,
11138
+ mode TEXT NOT NULL DEFAULT 'chat',
11139
+ status TEXT NOT NULL DEFAULT 'queued',
11140
+ error TEXT,
11141
+ created_at INTEGER NOT NULL,
11142
+ updated_at INTEGER NOT NULL
11143
+ )
11144
+ `);
11107
11145
  return db2;
11108
11146
  }
11109
11147
  function withDb(fn) {
@@ -13192,6 +13230,7 @@ function resolveBoundSkillFiles(bindings, prompt, provider) {
13192
13230
  var import_node_fs4;
13193
13231
  var init_agent_skill_bindings = __esm({
13194
13232
  "apps/local/lib/agent-skill-bindings.ts"() {
13233
+ "use strict";
13195
13234
  import_node_fs4 = __toESM(require("node:fs"));
13196
13235
  init_sqlite_query_adapter();
13197
13236
  init_skills_library();
@@ -14258,7 +14297,7 @@ async function loadDbParticipants() {
14258
14297
  return agents.map((agent) => ({
14259
14298
  id: agent.id,
14260
14299
  name: agent.name,
14261
- ...agent.title ? { title: agent.title } : {},
14300
+ ...agent.role ? { role: agent.role } : {},
14262
14301
  provider: agent.provider || "claude",
14263
14302
  model: agent.model || null,
14264
14303
  color: agent.color || "#6B7280",
@@ -23919,6 +23958,7 @@ function parseNaturalSchedule(input) {
23919
23958
  var PATTERNS;
23920
23959
  var init_nl_schedule = __esm({
23921
23960
  "apps/local/src/graph/nl-schedule.ts"() {
23961
+ "use strict";
23922
23962
  PATTERNS = [
23923
23963
  // "every N seconds" → intervalMs only (sub-minute)
23924
23964
  {
@@ -25719,6 +25759,18 @@ var init_store = __esm({
25719
25759
  [graphId, event.eventType, toJson(event), event.timestamp]
25720
25760
  );
25721
25761
  }
25762
+ claimScheduleTick(taskId) {
25763
+ const db2 = this.getDb();
25764
+ const result = db2.prepare(
25765
+ `UPDATE execution_graphs
25766
+ SET schedule = json_set(schedule, '$.tickInProgress', json('true')),
25767
+ updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
25768
+ WHERE task_id = ?
25769
+ AND json_extract(schedule, '$.tickInProgress') = 0
25770
+ AND json_extract(schedule, '$.state') = 'active'`
25771
+ ).run(taskId);
25772
+ return (result.changes ?? 0) > 0;
25773
+ }
25722
25774
  };
25723
25775
  defaultGraphStore = new GraphStore();
25724
25776
  }