@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
@@ -164,21 +164,24 @@ ${c.bold}${c.cyan}╰───────────────────
164
164
  }
165
165
  }
166
166
  } else if (defaultProvider === 'codex') {
167
- const codexModels = ['gpt-5.3-codex', 'gpt-5.1-code-mini'];
167
+ const codexModels = ['gpt-5.4', 'gpt-5.3-codex', 'gpt-5.1-code-mini'];
168
168
  console.log(`\n${c.bold}Choose your default model:${c.reset}`);
169
169
  codexModels.forEach((m, i) => {
170
170
  console.log(` ${c.cyan}${i + 1}${c.reset}) ${m}`);
171
171
  });
172
- console.log(` ${c.cyan}3${c.reset}) Other`);
172
+ console.log(` ${c.cyan}${codexModels.length + 1}${c.reset}) Other`);
173
173
  while (!defaultModel) {
174
174
  const choice = await prompt(`\nEnter number [${c.dim}1${c.reset}]: `);
175
175
  if (!choice) {
176
176
  defaultModel = codexModels[0];
177
- } else if (choice === '3') {
177
+ } else if (choice === String(codexModels.length + 1)) {
178
178
  const custom = await prompt(`\nEnter model name: `);
179
179
  if (custom && custom.trim()) defaultModel = custom.trim();
180
- } else if (/^[1-2]$/.test(choice)) {
181
- defaultModel = codexModels[parseInt(choice, 10) - 1];
180
+ } else {
181
+ const n = parseInt(choice, 10);
182
+ if (Number.isInteger(n) && n >= 1 && n <= codexModels.length) {
183
+ defaultModel = codexModels[n - 1];
184
+ }
182
185
  }
183
186
  }
184
187
  } else if (defaultProvider === 'gemini') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mndrk/agx",
3
- "version": "2.1.0",
3
+ "version": "2.3.0",
4
4
  "description": "Autonomous AI Agent Orchestrator for Claude, Gemini, and Ollama",
5
5
  "engines": {
6
6
  "node": ">=22.16.0"
@@ -1,3 +0,0 @@
1
- module.exports=[66456,a=>{"use strict";let b=(0,a.i(831709).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);a.s(["Zap",0,b],66456)},356239,a=>{"use strict";let b=(0,a.i(831709).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],356239)},831709,a=>{"use strict";var b=a.i(572131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g}],831709)},353532,a=>{"use strict";let b=(0,a.i(831709).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],353532)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,b],820859)},73948,a=>{"use strict";let b=(0,a.i(831709).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",0,b],73948)},171552,a=>{"use strict";let b=(0,a.i(831709).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",0,b],171552)},327788,a=>{"use strict";let b=(0,a.i(831709).default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]);a.s(["Pause",0,b],327788)},675222,a=>{"use strict";let b=(0,a.i(831709).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["ShieldCheck",0,b],675222)},523593,a=>{"use strict";let b=(0,a.i(831709).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);a.s(["GitBranch",0,b],523593)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],693896)},999076,a=>{"use strict";let b=(0,a.i(831709).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,b],999076)},44668,a=>{"use strict";let b=(0,a.i(831709).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",0,b],44668)},754812,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",0,b],754812)}];
2
-
3
- //# sourceMappingURL=0rhn_lucide-react_dist_esm_0tvwux2._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},667597,a=>{"use strict";let b=(0,a.i(831709).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],667597)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",0,b],756490)},599086,a=>{"use strict";let b=(0,a.i(831709).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",0,b],599086)},356239,a=>{"use strict";let b=(0,a.i(831709).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],356239)},73948,a=>{"use strict";let b=(0,a.i(831709).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",0,b],73948)},171552,a=>{"use strict";let b=(0,a.i(831709).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",0,b],171552)},327788,a=>{"use strict";let b=(0,a.i(831709).default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]);a.s(["Pause",0,b],327788)},697183,a=>{"use strict";let b=(0,a.i(831709).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",0,b],697183)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,b],820859)},864061,a=>{"use strict";let b=(0,a.i(831709).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],864061)},475632,a=>{"use strict";a.s(["stripMarkers",0,function(a){return a.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}])},520612,a=>{"use strict";var b=a.i(572131),c=a.i(50944);function d(a){return"string"!=typeof a?null:a.trim()||null}function e(a,b){return(a.get(b)?.trim()??"")||null}a.s(["useUrlSelection",0,function(){let a=(0,c.useRouter)(),f=(0,c.usePathname)(),g=(0,c.useSearchParams)(),h=(0,b.useCallback)(a=>e(g,a),[g]),i=(0,b.useCallback)((a,b)=>(function(a,b,c){let f=function(a,b){let c={...b},f=a=>Object.prototype.hasOwnProperty.call(b,a);if(f("issue")&&!f("run")){let f=e(a,"issue");d(b.issue)!==f&&(c.run=null)}if(f("job")&&!f("run")){let f=e(a,"job");d(b.job)!==f&&(c.run=null)}if(f("open")&&!f("message")){let f=e(a,"open");d(b.open)!==f&&(c.message=null)}return c}(b,c),g=new URLSearchParams(b.toString());for(let[a,b]of Object.entries(f)){let c=d(b);c?g.set(a,c):g.delete(a)}let h=g.toString();return h?`${a}?${h}`:a})(b??f,g,a),[f,g]),j=(0,b.useCallback)((b,c)=>{a.push(i(b,c))},[i,a]),k=(0,b.useCallback)((b,c)=>{a.replace(i(b,c))},[i,a]);return{pathname:f,searchParams:g,getSelection:h,buildHref:i,pushSelection:j,replaceSelection:k}}])},155829,496368,785061,a=>{"use strict";var b=a.i(572131);function c(a){return`threadId=${encodeURIComponent(a)}`}function d(a){return`workspaceId=${encodeURIComponent(a)}`}a.s(["useGroupChat",0,function(a){let[e,f]=(0,b.useState)([]),[g,h]=(0,b.useState)([]),[i,j]=(0,b.useState)([]),k=(0,b.useRef)(a),l=(0,b.useRef)(a);k.current=a,l.current!==a&&(l.current=a,f([]),h([]),j([]));let m=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);try{let[a,c]=await Promise.all([fetch(`/api/history?${e}`),fetch(`/api/logs?${d(b)}`)]);if(k.current!==b)return;a.ok&&f(await a.json()),c.ok&&h(await c.json())}catch{}},[]),n=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);await Promise.all([fetch(`/api/history?${e}`,{method:"DELETE"}),fetch(`/api/logs?${d(b)}`,{method:"DELETE"})]),k.current===b&&(f([]),h([]))},[]),o=(0,b.useCallback)(async(a,b=10,c,d,e,g,h,i,l,m)=>{let n=c?.trim()||k.current?.trim();if(!n)return;let o=Date.now(),p=crypto.randomUUID(),q={id:p,role:"user",participantId:null,content:a,timestamp:o,rootMessageId:d||null,parentMessageId:d||null,depth:+!!d,...g&&g.length>0?{attachments:g}:{}};f(a=>[...a,q]);try{let c=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,prompt:a,promptPrefix:l||void 0,maxRounds:b,userMessageId:p,rootMessageId:d||void 0,attachmentIds:e?.length?e:void 0,activeParticipantIds:Array.isArray(h)?h:void 0,projectSlug:i?.trim()||void 0,routing:m})}),g=await c.json().catch(a=>(console.warn("[useGroupChat] failed to parse run response:",a),null));c.ok&&g?.chatRunId?j(a=>[{chatRunId:g.chatRunId,threadId:n,rootMessageId:d||p,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...a.filter(a=>a.chatRunId!==g.chatRunId)]):c.ok||(console.error(`[useGroupChat] POST /api/chat failed (${c.status}):`,g?.error||c.statusText),f(a=>a.map(a=>a.id===p?{...a,sendFailed:!0}:a)))}catch(a){console.error("[useGroupChat] network error sending message:",a),f(a=>a.map(a=>a.id===p?{...a,sendFailed:!0}:a))}return p},[]),p=(0,b.useCallback)(async()=>{let a=k.current?.trim();if(a)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]),q=(0,b.useCallback)(async a=>{let b=k.current?.trim();if(b)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(b)}&threadId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]);return{messages:e,setMessages:f,logs:g,sendMessage:o,loadHistory:m,clearHistory:n,clearLogs:(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();b?(await fetch(`/api/logs?${d(b)}`,{method:"DELETE"}).catch(a=>console.warn("[useGroupChat] delete logs failed:",a)),k.current===b&&h([])):h([])},[]),chatRuns:i,setChatRuns:j,stop:p,stopThread:q}}],155829);let e=new Set(["spawning","running"]);function f(a){if("string"==typeof a)return a.trim()||void 0}a.s(["useProcessPolling",0,function(a,c){let d=c?.intervalMs??1500,f=c?.idleIntervalMs??1e4,[g,h]=(0,b.useState)(new Set),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)({}),[m,n]=(0,b.useState)([]),o=(0,b.useRef)(a);o.current=a;let p=(0,b.useRef)(c?.messages??[]);p.current=c?.messages??[];let q=(0,b.useRef)(c?.setMessages);q.current=c?.setMessages;let r=(0,b.useRef)(0);(0,b.useEffect)(()=>{let a=c?.messages??[];if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b)}},[c?.messages]);let s=(0,b.useCallback)(async()=>{let a=o.current;if(!a){h(new Set),j([]),l({}),n([]);return}let b=null;if(a.threadId?b=`/api/processes?threadId=${encodeURIComponent(a.threadId)}`:a.workspaceId&&(b=`/api/processes?workspaceId=${encodeURIComponent(a.workspaceId)}`),!b){h(new Set),j([]),l({}),n([]);return}try{let d=a.workspaceId||a.threadId,f=d?`/api/history?threadId=${encodeURIComponent(d)}&since=${r.current}`:null,g=d?`/api/chat-runs?threadId=${encodeURIComponent(d)}&limit=20`:null,i=[fetch(b)];f&&i.push(fetch(f)),g&&i.push(fetch(g));let[k,m,s]=await Promise.all(i),t=o.current;if(t?.threadId!==a.threadId||t?.workspaceId!==a.workspaceId)return;if(k.ok){let a=await k.json();j(a);let b=new Set(a.filter(a=>e.has(a.state)).map(a=>a.agentId));h(b);let c={};for(let b of a){if(!e.has(b.state))continue;let a=p.current.find(a=>a.id===b.sinceMessageId),d=a?.rootMessageId??b.sinceMessageId;c[b.agentId]={content:"",rootMessageId:d}}l(c)}if(s?.ok){var c;let a=(c=await s.json(),Array.isArray(c)?c.map(a=>{if(!a||"object"!=typeof a)return null;let b="string"==typeof a.chatRunId?a.chatRunId:"string"==typeof a.id?a.id:null,c="string"==typeof a.threadId?a.threadId:null,d="string"==typeof a.status?a.status:null,e="string"==typeof a.rootMessageId?a.rootMessageId:(a.rootMessageId,null);return b&&c&&d&&("queued"===d||"running"===d||"awaiting_user"===d||"blocked"===d||"completed"===d||"failed"===d||"cancelled"===d)?{chatRunId:b,threadId:c,rootMessageId:e,status:d,optimistic:!1}:null}).filter(a=>!!a):[]);n(a)}if(m?.ok&&q.current){let a=await m.json();if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b),q.current(b=>{let c=new Set(b.map(a=>a.id)),d=a.filter(a=>!c.has(a.id)),e=b.map(b=>a.find(a=>a.id===b.id)??b);return 0===d.length?e:[...e,...d].sort((a,b)=>a.timestamp-b.timestamp)})}}}catch{}},[]),t=a?.threadId||a?.workspaceId||null,u=m.some(a=>"queued"===a.status||"running"===a.status),v=i.some(a=>e.has(a.state)),w=u||v?d:f;return(0,b.useEffect)(()=>{if(!t){h(new Set),j([]),l({}),n([]);return}s();let a=setInterval(s,w);return()=>clearInterval(a)},[t,w,s]),{activeAgents:g,processes:i,streaming:k,chatRuns:m,poll:s}}],496368),a.s(["extractComposerRouting",0,function(a,b){let c=new Set,d=new Set;!function a(b,c){if(b)for(let d of b)c(d),a(d.content,c)}(a.content,a=>{if("participantMention"!==a.type)return;let b=a.attrs??{},e="string"==typeof b.id?b.id.trim():"",f="string"==typeof b.kind?b.kind:"agent";e&&"agent"===f&&(c.add(e),"parallel"===b.mode&&d.add(e))});let e=f(b);return{...e?{pinnedParticipantId:e}:{},mentionedParticipantIds:Array.from(c),parallelParticipantIds:Array.from(d)}},"orderParticipantIds",0,function(a,b){let c=function(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();!a||b.has(a)||(b.add(a),c.push(a))}return c}(a),d=f(b);return d&&c.includes(d)?[d,...c.filter(a=>a!==d)]:c}],785061)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],693896)},999076,a=>{"use strict";let b=(0,a.i(831709).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,b],999076)},549429,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",0,b],549429)},809326,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(739515);a.s(["default",0,function({params:a}){let{slug:e,objectiveId:f}=(0,c.use)(a);return(0,b.jsx)(d.ProjectObjectivesOverview,{projectSlug:e,initialObjectiveId:f})}])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__006vr7.._.js.map
@@ -1,18 +0,0 @@
1
- module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",0,b],756490)},697183,a=>{"use strict";let b=(0,a.i(831709).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",0,b],697183)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,b],820859)},864061,a=>{"use strict";let b=(0,a.i(831709).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],864061)},475632,a=>{"use strict";a.s(["stripMarkers",0,function(a){return a.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}])},520612,a=>{"use strict";var b=a.i(572131),c=a.i(50944);function d(a){return"string"!=typeof a?null:a.trim()||null}function e(a,b){return(a.get(b)?.trim()??"")||null}a.s(["useUrlSelection",0,function(){let a=(0,c.useRouter)(),f=(0,c.usePathname)(),g=(0,c.useSearchParams)(),h=(0,b.useCallback)(a=>e(g,a),[g]),i=(0,b.useCallback)((a,b)=>(function(a,b,c){let f=function(a,b){let c={...b},f=a=>Object.prototype.hasOwnProperty.call(b,a);if(f("issue")&&!f("run")){let f=e(a,"issue");d(b.issue)!==f&&(c.run=null)}if(f("job")&&!f("run")){let f=e(a,"job");d(b.job)!==f&&(c.run=null)}if(f("open")&&!f("message")){let f=e(a,"open");d(b.open)!==f&&(c.message=null)}return c}(b,c),g=new URLSearchParams(b.toString());for(let[a,b]of Object.entries(f)){let c=d(b);c?g.set(a,c):g.delete(a)}let h=g.toString();return h?`${a}?${h}`:a})(b??f,g,a),[f,g]),j=(0,b.useCallback)((b,c)=>{a.push(i(b,c))},[i,a]),k=(0,b.useCallback)((b,c)=>{a.replace(i(b,c))},[i,a]);return{pathname:f,searchParams:g,getSelection:h,buildHref:i,pushSelection:j,replaceSelection:k}}])},155829,496368,785061,a=>{"use strict";var b=a.i(572131);function c(a){return`threadId=${encodeURIComponent(a)}`}function d(a){return`workspaceId=${encodeURIComponent(a)}`}a.s(["useGroupChat",0,function(a){let[e,f]=(0,b.useState)([]),[g,h]=(0,b.useState)([]),[i,j]=(0,b.useState)([]),k=(0,b.useRef)(a),l=(0,b.useRef)(a);k.current=a,l.current!==a&&(l.current=a,f([]),h([]),j([]));let m=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);try{let[a,c]=await Promise.all([fetch(`/api/history?${e}`),fetch(`/api/logs?${d(b)}`)]);if(k.current!==b)return;a.ok&&f(await a.json()),c.ok&&h(await c.json())}catch{}},[]),n=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);await Promise.all([fetch(`/api/history?${e}`,{method:"DELETE"}),fetch(`/api/logs?${d(b)}`,{method:"DELETE"})]),k.current===b&&(f([]),h([]))},[]),o=(0,b.useCallback)(async(a,b=10,c,d,e,g,h,i,l,m)=>{let n=c?.trim()||k.current?.trim();if(!n)return;let o=Date.now(),p=crypto.randomUUID(),q={id:p,role:"user",participantId:null,content:a,timestamp:o,rootMessageId:d||null,parentMessageId:d||null,depth:+!!d,...g&&g.length>0?{attachments:g}:{}};f(a=>[...a,q]);try{let c=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,prompt:a,promptPrefix:l||void 0,maxRounds:b,userMessageId:p,rootMessageId:d||void 0,attachmentIds:e?.length?e:void 0,activeParticipantIds:Array.isArray(h)?h:void 0,projectSlug:i?.trim()||void 0,routing:m})}),g=await c.json().catch(a=>(console.warn("[useGroupChat] failed to parse run response:",a),null));c.ok&&g?.chatRunId?j(a=>[{chatRunId:g.chatRunId,threadId:n,rootMessageId:d||p,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...a.filter(a=>a.chatRunId!==g.chatRunId)]):c.ok||(console.error(`[useGroupChat] POST /api/chat failed (${c.status}):`,g?.error||c.statusText),f(a=>a.map(a=>a.id===p?{...a,sendFailed:!0}:a)))}catch(a){console.error("[useGroupChat] network error sending message:",a),f(a=>a.map(a=>a.id===p?{...a,sendFailed:!0}:a))}return p},[]),p=(0,b.useCallback)(async()=>{let a=k.current?.trim();if(a)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]),q=(0,b.useCallback)(async a=>{let b=k.current?.trim();if(b)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(b)}&threadId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]);return{messages:e,setMessages:f,logs:g,sendMessage:o,loadHistory:m,clearHistory:n,clearLogs:(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();b?(await fetch(`/api/logs?${d(b)}`,{method:"DELETE"}).catch(a=>console.warn("[useGroupChat] delete logs failed:",a)),k.current===b&&h([])):h([])},[]),chatRuns:i,setChatRuns:j,stop:p,stopThread:q}}],155829);let e=new Set(["spawning","running"]);function f(a){if("string"==typeof a)return a.trim()||void 0}a.s(["useProcessPolling",0,function(a,c){let d=c?.intervalMs??1500,f=c?.idleIntervalMs??1e4,[g,h]=(0,b.useState)(new Set),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)({}),[m,n]=(0,b.useState)([]),o=(0,b.useRef)(a);o.current=a;let p=(0,b.useRef)(c?.messages??[]);p.current=c?.messages??[];let q=(0,b.useRef)(c?.setMessages);q.current=c?.setMessages;let r=(0,b.useRef)(0);(0,b.useEffect)(()=>{let a=c?.messages??[];if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b)}},[c?.messages]);let s=(0,b.useCallback)(async()=>{let a=o.current;if(!a){h(new Set),j([]),l({}),n([]);return}let b=null;if(a.threadId?b=`/api/processes?threadId=${encodeURIComponent(a.threadId)}`:a.workspaceId&&(b=`/api/processes?workspaceId=${encodeURIComponent(a.workspaceId)}`),!b){h(new Set),j([]),l({}),n([]);return}try{let d=a.workspaceId||a.threadId,f=d?`/api/history?threadId=${encodeURIComponent(d)}&since=${r.current}`:null,g=d?`/api/chat-runs?threadId=${encodeURIComponent(d)}&limit=20`:null,i=[fetch(b)];f&&i.push(fetch(f)),g&&i.push(fetch(g));let[k,m,s]=await Promise.all(i),t=o.current;if(t?.threadId!==a.threadId||t?.workspaceId!==a.workspaceId)return;if(k.ok){let a=await k.json();j(a);let b=new Set(a.filter(a=>e.has(a.state)).map(a=>a.agentId));h(b);let c={};for(let b of a){if(!e.has(b.state))continue;let a=p.current.find(a=>a.id===b.sinceMessageId),d=a?.rootMessageId??b.sinceMessageId;c[b.agentId]={content:"",rootMessageId:d}}l(c)}if(s?.ok){var c;let a=(c=await s.json(),Array.isArray(c)?c.map(a=>{if(!a||"object"!=typeof a)return null;let b="string"==typeof a.chatRunId?a.chatRunId:"string"==typeof a.id?a.id:null,c="string"==typeof a.threadId?a.threadId:null,d="string"==typeof a.status?a.status:null,e="string"==typeof a.rootMessageId?a.rootMessageId:(a.rootMessageId,null);return b&&c&&d&&("queued"===d||"running"===d||"awaiting_user"===d||"blocked"===d||"completed"===d||"failed"===d||"cancelled"===d)?{chatRunId:b,threadId:c,rootMessageId:e,status:d,optimistic:!1}:null}).filter(a=>!!a):[]);n(a)}if(m?.ok&&q.current){let a=await m.json();if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b),q.current(b=>{let c=new Set(b.map(a=>a.id)),d=a.filter(a=>!c.has(a.id)),e=b.map(b=>a.find(a=>a.id===b.id)??b);return 0===d.length?e:[...e,...d].sort((a,b)=>a.timestamp-b.timestamp)})}}}catch{}},[]),t=a?.threadId||a?.workspaceId||null,u=m.some(a=>"queued"===a.status||"running"===a.status),v=i.some(a=>e.has(a.state)),w=u||v?d:f;return(0,b.useEffect)(()=>{if(!t){h(new Set),j([]),l({}),n([]);return}s();let a=setInterval(s,w);return()=>clearInterval(a)},[t,w,s]),{activeAgents:g,processes:i,streaming:k,chatRuns:m,poll:s}}],496368),a.s(["extractComposerRouting",0,function(a,b){let c=new Set,d=new Set;!function a(b,c){if(b)for(let d of b)c(d),a(d.content,c)}(a.content,a=>{if("participantMention"!==a.type)return;let b=a.attrs??{},e="string"==typeof b.id?b.id.trim():"",f="string"==typeof b.kind?b.kind:"agent";e&&"agent"===f&&(c.add(e),"parallel"===b.mode&&d.add(e))});let e=f(b);return{...e?{pinnedParticipantId:e}:{},mentionedParticipantIds:Array.from(c),parallelParticipantIds:Array.from(d)}},"orderParticipantIds",0,function(a,b){let c=function(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();!a||b.has(a)||(b.add(a),c.push(a))}return c}(a),d=f(b);return d&&c.includes(d)?[d,...c.filter(a=>a!==d)]:c}],785061)},73948,a=>{"use strict";let b=(0,a.i(831709).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",0,b],73948)},327788,a=>{"use strict";let b=(0,a.i(831709).default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]);a.s(["Pause",0,b],327788)},734709,a=>{"use strict";var b=a.i(187924),c=a.i(572131);a.s(["default",0,function({isOpen:a,title:d,message:e,preview:f,confirmLabel:g="Confirm",cancelLabel:h="Cancel",variant:i="default",onConfirm:j,onCancel:k}){let l=(0,c.useRef)(null),m=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(a){let a=setTimeout(()=>l.current?.focus(),50);return()=>clearTimeout(a)}},[a]);let n=(0,c.useCallback)(a=>{"Escape"===a.key&&k()},[k]);if(!a)return null;let o="danger"===i;return(0,b.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/50 backdrop-blur-md",style:{animation:"confirm-overlay-in 200ms ease-out"},onClick:a=>a.target===a.currentTarget&&k(),onKeyDown:n,children:[(0,b.jsxs)("div",{ref:m,className:"w-full max-w-md mx-4 bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-2xl overflow-hidden",style:{animation:"confirm-dialog-in 250ms cubic-bezier(0.34, 1.56, 0.64, 1)"},children:[(0,b.jsx)("div",{className:"px-6 pt-6 pb-3",children:(0,b.jsxs)("div",{className:"flex items-start gap-4",children:[o&&(0,b.jsx)("div",{className:"flex-shrink-0 w-11 h-11 rounded-full bg-red-500/10 border border-red-500/20 flex items-center justify-center",children:(0,b.jsx)("svg",{className:"w-5 h-5 text-red-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"})})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("h3",{className:"text-[15px] font-semibold text-[var(--foreground)]",children:d}),(0,b.jsx)("p",{className:"mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:e})]})]})}),f&&(0,b.jsx)("div",{className:"mx-6 mb-3 px-3 py-2.5 rounded-lg bg-[var(--muted)]/40 border border-[var(--card-border)]",children:(0,b.jsxs)("p",{className:"text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",f,"”"]})}),(0,b.jsx)("div",{className:"mx-6 border-t border-[var(--card-border)]"}),(0,b.jsxs)("div",{className:"px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,b.jsx)("button",{onClick:k,className:"px-4 py-2 rounded-lg text-[13px] font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]/60 transition-all duration-150",children:h}),(0,b.jsx)("button",{ref:l,onClick:j,className:`px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${o?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:g})]})]}),(0,b.jsx)("style",{children:`
2
- @keyframes confirm-overlay-in {
3
- from { opacity: 0; }
4
- to { opacity: 1; }
5
- }
6
- @keyframes confirm-dialog-in {
7
- from {
8
- opacity: 0;
9
- transform: scale(0.9) translateY(10px);
10
- }
11
- to {
12
- opacity: 1;
13
- transform: scale(1) translateY(0);
14
- }
15
- }
16
- `})]})}])},379065,a=>{"use strict";let b=(0,a.i(831709).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",0,b],379065)},354658,a=>{"use strict";let b=(0,a.i(831709).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",0,b],354658)},675665,a=>{"use strict";var b=a.i(572131);a.s(["useLinearConnection",0,function(){let[a,c]=(0,b.useState)(!1),[d,e]=(0,b.useState)(!0),[f,g]=(0,b.useState)(null),[h,i]=(0,b.useState)({claude:!1,codex:!1,gemini:!1}),[j,k]=(0,b.useState)({}),l=(0,b.useRef)(null),m=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/linear/mcp-setup"),b=await a.json();k(b.configured??{})}catch{}},[]),n=(0,b.useCallback)(async()=>{try{let[a,b]=await Promise.all([fetch("/api/linear/status"),fetch("/api/linear/mcp-setup")]),d=await a.json(),e=await b.json();return c(d.connected),g(d.user??null),i(d.clis??{claude:!1,codex:!1,gemini:!1}),k(e.configured??{}),d.connected}catch{return c(!1),!1}finally{e(!1)}},[]);(0,b.useEffect)(()=>(n(),()=>{l.current&&clearInterval(l.current)}),[n]);let o=(0,b.useCallback)(()=>{window.open("/api/linear/auth","_blank","noopener"),l.current&&clearInterval(l.current),l.current=setInterval(async()=>{await n()&&l.current&&(clearInterval(l.current),l.current=null)},2e3)},[n]),p=(0,b.useCallback)(async a=>{try{let b=await fetch("/api/linear/token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to save token"}}return await n(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[n]);return{connected:a,loading:d,user:f,clis:h,mcpConfigured:j,connect:o,connectWithKey:p,disconnect:(0,b.useCallback)(async()=>{await fetch("/api/linear/status",{method:"DELETE"}),c(!1),g(null)},[]),configureMcp:(0,b.useCallback)(async a=>{try{let b=await fetch("/api/linear/mcp-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to configure MCP"}}return await m(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[m]),refresh:n}}])}];
17
-
18
- //# sourceMappingURL=%5Broot-of-the-server%5D__0d18x53._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},667597,a=>{"use strict";let b=(0,a.i(831709).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],667597)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",0,b],756490)},599086,a=>{"use strict";let b=(0,a.i(831709).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",0,b],599086)},356239,a=>{"use strict";let b=(0,a.i(831709).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],356239)},73948,a=>{"use strict";let b=(0,a.i(831709).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",0,b],73948)},171552,a=>{"use strict";let b=(0,a.i(831709).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",0,b],171552)},327788,a=>{"use strict";let b=(0,a.i(831709).default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]);a.s(["Pause",0,b],327788)},697183,a=>{"use strict";let b=(0,a.i(831709).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",0,b],697183)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,b],820859)},864061,a=>{"use strict";let b=(0,a.i(831709).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],864061)},475632,a=>{"use strict";a.s(["stripMarkers",0,function(a){return a.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}])},520612,a=>{"use strict";var b=a.i(572131),c=a.i(50944);function d(a){return"string"!=typeof a?null:a.trim()||null}function e(a,b){return(a.get(b)?.trim()??"")||null}a.s(["useUrlSelection",0,function(){let a=(0,c.useRouter)(),f=(0,c.usePathname)(),g=(0,c.useSearchParams)(),h=(0,b.useCallback)(a=>e(g,a),[g]),i=(0,b.useCallback)((a,b)=>(function(a,b,c){let f=function(a,b){let c={...b},f=a=>Object.prototype.hasOwnProperty.call(b,a);if(f("issue")&&!f("run")){let f=e(a,"issue");d(b.issue)!==f&&(c.run=null)}if(f("job")&&!f("run")){let f=e(a,"job");d(b.job)!==f&&(c.run=null)}if(f("open")&&!f("message")){let f=e(a,"open");d(b.open)!==f&&(c.message=null)}return c}(b,c),g=new URLSearchParams(b.toString());for(let[a,b]of Object.entries(f)){let c=d(b);c?g.set(a,c):g.delete(a)}let h=g.toString();return h?`${a}?${h}`:a})(b??f,g,a),[f,g]),j=(0,b.useCallback)((b,c)=>{a.push(i(b,c))},[i,a]),k=(0,b.useCallback)((b,c)=>{a.replace(i(b,c))},[i,a]);return{pathname:f,searchParams:g,getSelection:h,buildHref:i,pushSelection:j,replaceSelection:k}}])},155829,496368,785061,a=>{"use strict";var b=a.i(572131);function c(a){return`threadId=${encodeURIComponent(a)}`}function d(a){return`workspaceId=${encodeURIComponent(a)}`}a.s(["useGroupChat",0,function(a){let[e,f]=(0,b.useState)([]),[g,h]=(0,b.useState)([]),[i,j]=(0,b.useState)([]),k=(0,b.useRef)(a),l=(0,b.useRef)(a);k.current=a,l.current!==a&&(l.current=a,f([]),h([]),j([]));let m=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);try{let[a,c]=await Promise.all([fetch(`/api/history?${e}`),fetch(`/api/logs?${d(b)}`)]);if(k.current!==b)return;a.ok&&f(await a.json()),c.ok&&h(await c.json())}catch{}},[]),n=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);await Promise.all([fetch(`/api/history?${e}`,{method:"DELETE"}),fetch(`/api/logs?${d(b)}`,{method:"DELETE"})]),k.current===b&&(f([]),h([]))},[]),o=(0,b.useCallback)(async(a,b=10,c,d,e,g,h,i,l,m)=>{let n=c?.trim()||k.current?.trim();if(!n)return;let o=Date.now(),p=crypto.randomUUID(),q={id:p,role:"user",participantId:null,content:a,timestamp:o,rootMessageId:d||null,parentMessageId:d||null,depth:+!!d,...g&&g.length>0?{attachments:g}:{}};f(a=>[...a,q]);try{let c=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,prompt:a,promptPrefix:l||void 0,maxRounds:b,userMessageId:p,rootMessageId:d||void 0,attachmentIds:e?.length?e:void 0,activeParticipantIds:Array.isArray(h)?h:void 0,projectSlug:i?.trim()||void 0,routing:m})}),g=await c.json().catch(a=>(console.warn("[useGroupChat] failed to parse run response:",a),null));c.ok&&g?.chatRunId?j(a=>[{chatRunId:g.chatRunId,threadId:n,rootMessageId:d||p,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...a.filter(a=>a.chatRunId!==g.chatRunId)]):c.ok||(console.error(`[useGroupChat] POST /api/chat failed (${c.status}):`,g?.error||c.statusText),f(a=>a.map(a=>a.id===p?{...a,sendFailed:!0}:a)))}catch(a){console.error("[useGroupChat] network error sending message:",a),f(a=>a.map(a=>a.id===p?{...a,sendFailed:!0}:a))}return p},[]),p=(0,b.useCallback)(async()=>{let a=k.current?.trim();if(a)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]),q=(0,b.useCallback)(async a=>{let b=k.current?.trim();if(b)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(b)}&threadId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]);return{messages:e,setMessages:f,logs:g,sendMessage:o,loadHistory:m,clearHistory:n,clearLogs:(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();b?(await fetch(`/api/logs?${d(b)}`,{method:"DELETE"}).catch(a=>console.warn("[useGroupChat] delete logs failed:",a)),k.current===b&&h([])):h([])},[]),chatRuns:i,setChatRuns:j,stop:p,stopThread:q}}],155829);let e=new Set(["spawning","running"]);function f(a){if("string"==typeof a)return a.trim()||void 0}a.s(["useProcessPolling",0,function(a,c){let d=c?.intervalMs??1500,f=c?.idleIntervalMs??1e4,[g,h]=(0,b.useState)(new Set),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)({}),[m,n]=(0,b.useState)([]),o=(0,b.useRef)(a);o.current=a;let p=(0,b.useRef)(c?.messages??[]);p.current=c?.messages??[];let q=(0,b.useRef)(c?.setMessages);q.current=c?.setMessages;let r=(0,b.useRef)(0);(0,b.useEffect)(()=>{let a=c?.messages??[];if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b)}},[c?.messages]);let s=(0,b.useCallback)(async()=>{let a=o.current;if(!a){h(new Set),j([]),l({}),n([]);return}let b=null;if(a.threadId?b=`/api/processes?threadId=${encodeURIComponent(a.threadId)}`:a.workspaceId&&(b=`/api/processes?workspaceId=${encodeURIComponent(a.workspaceId)}`),!b){h(new Set),j([]),l({}),n([]);return}try{let d=a.workspaceId||a.threadId,f=d?`/api/history?threadId=${encodeURIComponent(d)}&since=${r.current}`:null,g=d?`/api/chat-runs?threadId=${encodeURIComponent(d)}&limit=20`:null,i=[fetch(b)];f&&i.push(fetch(f)),g&&i.push(fetch(g));let[k,m,s]=await Promise.all(i),t=o.current;if(t?.threadId!==a.threadId||t?.workspaceId!==a.workspaceId)return;if(k.ok){let a=await k.json();j(a);let b=new Set(a.filter(a=>e.has(a.state)).map(a=>a.agentId));h(b);let c={};for(let b of a){if(!e.has(b.state))continue;let a=p.current.find(a=>a.id===b.sinceMessageId),d=a?.rootMessageId??b.sinceMessageId;c[b.agentId]={content:"",rootMessageId:d}}l(c)}if(s?.ok){var c;let a=(c=await s.json(),Array.isArray(c)?c.map(a=>{if(!a||"object"!=typeof a)return null;let b="string"==typeof a.chatRunId?a.chatRunId:"string"==typeof a.id?a.id:null,c="string"==typeof a.threadId?a.threadId:null,d="string"==typeof a.status?a.status:null,e="string"==typeof a.rootMessageId?a.rootMessageId:(a.rootMessageId,null);return b&&c&&d&&("queued"===d||"running"===d||"awaiting_user"===d||"blocked"===d||"completed"===d||"failed"===d||"cancelled"===d)?{chatRunId:b,threadId:c,rootMessageId:e,status:d,optimistic:!1}:null}).filter(a=>!!a):[]);n(a)}if(m?.ok&&q.current){let a=await m.json();if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b),q.current(b=>{let c=new Set(b.map(a=>a.id)),d=a.filter(a=>!c.has(a.id)),e=b.map(b=>a.find(a=>a.id===b.id)??b);return 0===d.length?e:[...e,...d].sort((a,b)=>a.timestamp-b.timestamp)})}}}catch{}},[]),t=a?.threadId||a?.workspaceId||null,u=m.some(a=>"queued"===a.status||"running"===a.status),v=i.some(a=>e.has(a.state)),w=u||v?d:f;return(0,b.useEffect)(()=>{if(!t){h(new Set),j([]),l({}),n([]);return}s();let a=setInterval(s,w);return()=>clearInterval(a)},[t,w,s]),{activeAgents:g,processes:i,streaming:k,chatRuns:m,poll:s}}],496368),a.s(["extractComposerRouting",0,function(a,b){let c=new Set,d=new Set;!function a(b,c){if(b)for(let d of b)c(d),a(d.content,c)}(a.content,a=>{if("participantMention"!==a.type)return;let b=a.attrs??{},e="string"==typeof b.id?b.id.trim():"",f="string"==typeof b.kind?b.kind:"agent";e&&"agent"===f&&(c.add(e),"parallel"===b.mode&&d.add(e))});let e=f(b);return{...e?{pinnedParticipantId:e}:{},mentionedParticipantIds:Array.from(c),parallelParticipantIds:Array.from(d)}},"orderParticipantIds",0,function(a,b){let c=function(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();!a||b.has(a)||(b.add(a),c.push(a))}return c}(a),d=f(b);return d&&c.includes(d)?[d,...c.filter(a=>a!==d)]:c}],785061)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],693896)},999076,a=>{"use strict";let b=(0,a.i(831709).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,b],999076)},549429,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",0,b],549429)},271230,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(739515);a.s(["default",0,function({params:a}){let{slug:e}=(0,c.use)(a);return(0,b.jsx)(d.ProjectObjectivesOverview,{projectSlug:e})}])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0z7nw_r._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[349692,372871,a=>{"use strict";let b=(0,a.i(831709).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["default",0,b],372871),a.s(["Loader2",0,b],349692)},356239,a=>{"use strict";let b=(0,a.i(831709).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],356239)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",0,b],756490)},804632,a=>{"use strict";let b=(0,a.i(831709).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,b],804632)},985339,a=>{"use strict";let b=(0,a.i(831709).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);a.s(["Users",0,b],985339)},627421,a=>{"use strict";let b=(0,a.i(831709).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",0,b],627421)},831709,a=>{"use strict";var b=a.i(572131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g}],831709)},739118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},588644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},554427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},824179,a=>{"use strict";let b=(0,a.i(831709).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",0,b],824179)},811760,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",0,b],811760)},157633,a=>{"use strict";let b=(0,a.i(831709).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);a.s(["Folder",0,b],157633)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],693896)},319405,a=>{"use strict";let b="obra/superpowers",c="vercel/next-skills";function d(a,b,c){return c?{repo:a,skillId:b,condition:c}:{repo:a,skillId:b}}function e(a){return a.condition?{...a}:{repo:a.repo,skillId:a.skillId}}function f(a){let b={...a};return b.extraSkills&&(b.extraSkills=b.extraSkills.map(e)),b}function g(a){return{...a,agents:a.agents.map(f)}}function h(a){let b={...a,agents:a.agents.map(f)};return b.variants&&(b.variants=b.variants.map(g)),b}let i={"strategist-lead":[d(b,"brainstorming"),d(b,"writing-plans"),d(b,"dispatching-parallel-agents"),d(b,"requesting-code-review"),d(b,"verification-before-completion")],"senior-builder":[d(b,"test-driven-development"),d(b,"systematic-debugging"),d(b,"subagent-driven-development"),d(b,"requesting-code-review"),d(b,"verification-before-completion"),d(b,"finishing-a-development-branch")],builder:[d(b,"test-driven-development"),d(b,"systematic-debugging"),d(b,"verification-before-completion"),d(b,"finishing-a-development-branch")],planner:[d(b,"brainstorming"),d(b,"writing-plans"),d(b,"verification-before-completion")],researcher:[d(b,"brainstorming"),d(b,"writing-plans"),d(b,"systematic-debugging"),d(b,"verification-before-completion")],reviewer:[d(b,"systematic-debugging"),d(b,"test-driven-development"),d(b,"requesting-code-review"),d(b,"verification-before-completion")]},j=["strategist-lead","senior-builder","builder","planner","researcher","reviewer"].map(a=>({id:a,skills:i[a].map(e)})),k=[d(c,"api-routes","next.js app router, route handlers, api endpoints"),d(c,"nextjs-patterns","next.js app structure, routing, layouts, data fetching"),d(c,"react-server-components","react server components, server client boundaries, next.js rendering")],l={"team-lead":{name:"Team Lead",title:"Team Lead",style:"balanced",skillProfileId:"strategist-lead",identity:"Own technical direction, break ambiguous work into executable plans, and keep the squad aligned on delivery."},"fullstack-engineer":{name:"Fullstack Engineer",title:"Senior Fullstack Engineer",style:"balanced",skillProfileId:"senior-builder",identity:"Ship features end-to-end across frontend and backend with pragmatic tradeoffs and clean boundaries.",extraSkills:k},"backend-engineer":{name:"Backend Engineer",title:"Senior Backend Engineer",style:"specialist",skillProfileId:"senior-builder",identity:"Own backend contracts, data integrity, and safe delivery under real production constraints."},"frontend-engineer":{name:"Frontend Engineer",title:"Senior Frontend Engineer",style:"balanced",skillProfileId:"senior-builder",identity:"Own product-facing UI quality, interaction design fidelity, and maintainable front-end architecture.",extraSkills:k},"data-engineer":{name:"Data Engineer",title:"Data Engineer",style:"specialist",skillProfileId:"senior-builder",identity:"Build reliable data pipelines, schemas, and transformations with a bias toward traceability."},"ml-engineer":{name:"ML Engineer",title:"ML Engineer",style:"specialist",skillProfileId:"senior-builder",identity:"Ship model-backed systems pragmatically, with evaluation, rollback paths, and tight production feedback."},"devops-engineer":{name:"DevOps Engineer",title:"DevOps Engineer",style:"specialist",skillProfileId:"senior-builder",identity:"Own delivery automation, deployment safety, and infrastructure changes that must fail predictably."},"security-engineer":{name:"Security Engineer",title:"Security Engineer",style:"conservative",skillProfileId:"senior-builder",identity:"Harden trust boundaries, implement secure defaults, and turn vague risk into concrete engineering requirements."},"ui-designer":{name:"UI Designer",title:"UI Designer",style:"specialist",skillProfileId:"builder",identity:"Refine interfaces into consistent, high-signal UI systems that are practical to build and maintain.",extraSkills:[d(c,"nextjs-patterns","next.js ui flows, routing, layouts, app router"),d(c,"react-server-components","react server components, server client boundaries, data fetching placement")]},"qa-engineer":{name:"QA Engineer",title:"QA Engineer",style:"conservative",skillProfileId:"reviewer",identity:"Find regressions early, tighten acceptance boundaries, and force evidence before release claims."},sre:{name:"SRE",title:"Site Reliability Engineer",style:"conservative",skillProfileId:"reviewer",identity:"Guard uptime, incident readiness, and operational correctness by challenging risky assumptions early."},"pen-tester":{name:"Pen Tester",title:"Penetration Tester",style:"specialist",skillProfileId:"reviewer",identity:"Probe the system as an adversary, find exploit paths, and make the attack surface legible to builders."},"product-manager":{name:"Product Manager",title:"Product Manager",style:"balanced",skillProfileId:"planner",identity:"Turn ambiguous requests into scoped bets, crisp plans, and explicit tradeoffs the team can execute."},"ux-designer":{name:"UX Designer",title:"UX Designer",style:"balanced",skillProfileId:"planner",identity:"Clarify user intent, reduce friction in flows, and turn product goals into coherent interaction design."},"technical-writer":{name:"Technical Writer",title:"Technical Writer",style:"balanced",skillProfileId:"planner",identity:"Turn complex implementation detail into clear docs, rollout notes, and operational guidance."},"growth-marketer":{name:"Growth Marketer",title:"Growth Marketer",style:"balanced",skillProfileId:"strategist-lead",identity:"Design growth experiments with clear hypotheses, sequencing, and measurable outcomes."},analyst:{name:"Analyst",title:"Product Analyst",style:"specialist",skillProfileId:"researcher",identity:"Ground decisions in evidence, identify gaps in the brief, and surface the signal behind user behavior."},"content-writer":{name:"Content Writer",title:"Content Strategist",style:"balanced",skillProfileId:"researcher",identity:"Translate product and audience insight into clear narratives, launch copy, and feedback loops."},researcher:{name:"Researcher",title:"Researcher",style:"balanced",skillProfileId:"researcher",identity:"Map fast-changing domains, synthesize evidence, and surface the governing model behind decisions."},"marketing-strategist":{name:"Marketing Strategist",title:"Marketing Strategist",style:"balanced",skillProfileId:"strategist-lead",identity:"Own brand positioning, campaign strategy, and channel mix with measurable conversion targets."},copywriter:{name:"Copywriter",title:"Copywriter",style:"balanced",skillProfileId:"researcher",identity:"Craft clear, persuasive copy that serves both the reader and the business goal."},"support-engineer":{name:"Support Engineer",title:"Support Engineer",style:"balanced",skillProfileId:"builder",identity:"Diagnose customer issues fast, escalate with precision, and turn patterns into preventive fixes."},"support-lead":{name:"Support Lead",title:"Support Lead",style:"balanced",skillProfileId:"planner",identity:"Triage incoming issues, route to the right responder, and track resolution quality."},"devrel-engineer":{name:"DevRel Engineer",title:"Developer Relations Engineer",style:"balanced",skillProfileId:"senior-builder",identity:"Build sample apps, integrations, and tooling that make the platform easy to adopt."},"community-manager":{name:"Community Manager",title:"Community Manager",style:"balanced",skillProfileId:"planner",identity:"Grow and engage the developer community through events, content, and feedback loops."},"ops-engineer":{name:"Ops Engineer",title:"Operations Engineer",style:"specialist",skillProfileId:"senior-builder",identity:"Automate operational workflows, reduce toil, and keep internal tooling reliable."},"project-manager":{name:"Project Manager",title:"Project Manager",style:"balanced",skillProfileId:"planner",identity:"Track milestones, remove blockers, and keep cross-team delivery on schedule."},"solutions-architect":{name:"Solutions Architect",title:"Solutions Architect",style:"balanced",skillProfileId:"strategist-lead",identity:"Design system-level architectures, evaluate tradeoffs, and guide teams through technical decisions."},"mobile-engineer":{name:"Mobile Engineer",title:"Senior Mobile Engineer",style:"balanced",skillProfileId:"senior-builder",identity:"Ship native and cross-platform mobile experiences with attention to performance and platform conventions."}},m=["team-lead","fullstack-engineer","backend-engineer","frontend-engineer","qa-engineer","product-manager","analyst","growth-marketer","content-writer","data-engineer","ml-engineer","ux-designer","ui-designer","devops-engineer","sre","security-engineer","pen-tester","researcher","technical-writer","marketing-strategist","copywriter","support-engineer","support-lead","devrel-engineer","community-manager","ops-engineer","project-manager","solutions-architect","mobile-engineer"].map(a=>f({id:a,...l[a]}));function n(a){return f({id:a,...l[a]})}let o=[{id:"engineering",name:"Engineering",description:"Software engineering teams across all domains — pick a specialization or build your own.",icon:"hammer",agents:[n("team-lead"),n("backend-engineer"),n("frontend-engineer"),n("fullstack-engineer"),n("qa-engineer")],variants:[{id:"general",name:"General",description:"Product engineering with leadership, builders across the stack, and quality gates.",agents:[n("team-lead"),n("backend-engineer"),n("frontend-engineer"),n("fullstack-engineer"),n("qa-engineer")]},{id:"ai",name:"AI",description:"Applied AI and ML engineering for models, evaluation, and production inference.",agents:[n("team-lead"),n("ml-engineer"),n("data-engineer"),n("researcher"),n("qa-engineer")]},{id:"data",name:"Data",description:"Data platform engineering for pipelines, warehousing, and transformation reliability.",agents:[n("team-lead"),n("data-engineer"),n("qa-engineer")]},{id:"mobile",name:"Mobile",description:"Native and cross-platform mobile engineering with fullstack support.",agents:[n("team-lead"),n("mobile-engineer"),n("fullstack-engineer"),n("qa-engineer")]},{id:"infra",name:"Infrastructure",description:"Platform reliability for delivery pipelines, runtime stability, and operational safety.",agents:[n("team-lead"),n("devops-engineer"),n("sre")]},{id:"security",name:"Security",description:"Security engineering for secure defaults, hardening, and adversarial validation.",agents:[n("team-lead"),n("security-engineer"),n("pen-tester")]},{id:"solutions",name:"Solutions",description:"Architecture and integration work across systems and customer deployments.",agents:[n("team-lead"),n("solutions-architect"),n("backend-engineer"),n("devops-engineer")]}]},{id:"product",name:"Product",description:"Discovery and prioritization for product direction, scope, and validation.",icon:"clipboard-list",agents:[n("team-lead"),n("product-manager"),n("analyst")]},{id:"design",name:"Design",description:"UX and UI pairing for flows, interaction models, and polished product surfaces.",icon:"palette",agents:[n("team-lead"),n("ux-designer"),n("ui-designer")]},{id:"growth",name:"Growth",description:"Experiment and content team for acquisition, activation, and learning loops.",icon:"megaphone",agents:[n("team-lead"),n("growth-marketer"),n("content-writer")]},{id:"research",name:"Research",description:"Research and synthesis pair for investigations, briefs, and decision support.",icon:"flask-conical",agents:[n("team-lead"),n("researcher"),n("technical-writer")]},{id:"marketing",name:"Marketing",description:"Brand strategy, campaign execution, and content production.",icon:"megaphone",agents:[n("team-lead"),n("marketing-strategist"),n("copywriter"),n("content-writer")]},{id:"support",name:"Support",description:"Customer-facing support with triage, diagnosis, and escalation.",icon:"life-buoy",agents:[n("team-lead"),n("support-lead"),n("support-engineer")]},{id:"devrel",name:"Developer Relations",description:"Developer advocacy through tooling, content, and community engagement.",icon:"users",agents:[n("team-lead"),n("devrel-engineer"),n("community-manager"),n("technical-writer")]},{id:"operations",name:"Operations",description:"Internal tooling, project delivery, and cross-team coordination.",icon:"settings",agents:[n("team-lead"),n("project-manager"),n("ops-engineer")]}].map(h),p=new Map(j.map(a=>[a.id,a])),q=new Map(m.map(a=>[a.id,a]));o.map(a=>[a.id,a]),a.s(["getAgentPresetBindings",0,function(a){let b,c="string"==typeof a?function(a){if(!a)return null;let b=q.get(a);return b?f(b):null}(a):a;return c?[...(b=function(a){if(!a)return null;let b=p.get(a);return b?{id:b.id,skills:b.skills.map(e)}:null}(c.skillProfileId))?b.skills:[],...c.extraSkills?c.extraSkills.map(e):[]]:[]},"listAgentPresets",0,function(){return m.map(f)},"listTeamTemplates",0,function(){return o.map(h)}])},70887,a=>{"use strict";let b=(0,a.i(831709).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",0,b],70887)},523593,a=>{"use strict";let b=(0,a.i(831709).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);a.s(["GitBranch",0,b],523593)},379065,a=>{"use strict";let b=(0,a.i(831709).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",0,b],379065)}];
2
-
3
- //# sourceMappingURL=_00trrg8._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[736868,a=>{"use strict";let b=(0,a.i(831709).default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);a.s(["FolderGit2",0,b],736868)},769677,a=>{"use strict";let b="project_objectives_workspace",c="project_goals_workspace",d=new Set(["on_track","at_risk","off_track","done"]);function e(a){return!!a&&"object"==typeof a&&!Array.isArray(a)}function f(a){return`${a}_${Math.random().toString(36).slice(2,10)}`}function g(a){return[...a].sort((a,b)=>Date.parse(b.updatedAt)-Date.parse(a.updatedAt))}function h(a){return[...a].sort((a,b)=>Date.parse(a.createdAt)-Date.parse(b.createdAt))}function i(a){return[...a].sort((a,b)=>Date.parse(b.createdAt)-Date.parse(a.createdAt))}function j(a,b=""){return"string"==typeof a?a:b}function k(a){return Array.isArray(a)?Array.from(new Set(a.map(a=>"string"==typeof a?a.trim():"").filter(Boolean))):[]}function l(a,b="1970-01-01T00:00:00.000Z"){if("string"!=typeof a)return b;let c=Date.parse(a);return Number.isNaN(c)?b:new Date(c).toISOString()}function m(a){return"number"==typeof a&&Number.isFinite(a)?Math.max(0,Math.min(100,Math.round(a))):0}function n(a,b=0){return"number"==typeof a&&Number.isFinite(a)?Math.max(0,Math.floor(a)):b}function o(a,b="objective"){let c=a.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-").slice(0,32);return c||b.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"objective"}function p(a,b,c="objective"){let d=o(c),e=o(a,d),f=e,g=2;for(;b.has(f);){let a=`-${g}`,b=Math.max(1,32-a.length);f=`${e.slice(0,b)}${a}`,g+=1}return b.add(f),f}function q(a){var b;if(!e(a))return null;let c=l(a.updatedAt??a.createdAt),g=l(a.createdAt,c);return{id:j(a.id,f("objective")),title:j(a.title,"Untitled objective"),teamId:j(a.teamId??a.team_id??a.ownerTeamId),key:o(j(a.key??a.slug??a.label),j(a.title??a.id,"objective")),threadId:j(a.threadId)||null,chatSessionVersion:n(a.chatSessionVersion,0),scheduledTaskIds:k(a.scheduledTaskIds??a.promptJobIds),summary:j(a.summary),progress:m(a.progress),status:"string"==typeof(b=a.status)&&d.has(b)?b:"on_track",createdAt:g,updatedAt:c}}function r(a){if(!e(a))return null;let b=l(a.updatedAt??a.createdAt),c=l(a.createdAt,b),d=j(a.objectiveId??a.goalId);return d?{id:j(a.id,f("objective_activity")),objectiveId:d,sourceType:"note",sourceLabel:j(a.sourceLabel,"Update"),title:j(a.title,"Untitled activity"),body:j(a.body),createdAt:c,updatedAt:b,relatedTaskId:j(a.relatedTaskId)||null}:null}function s(a){if(!e(a))return null;let b=j(a.activityId);return b?{id:j(a.id,f("objective_thread_message")),activityId:b,author:j(a.author,"You"),body:j(a.body),createdAt:l(a.createdAt)}:null}function t(){return{objectives:[],activities:[],activityThreads:{}}}function u(a){let b;if(!e(a))return t();let c=Array.isArray(a.objectives)?a.objectives.map(a=>q(a)).filter(a=>null!==a):[],d=Array.isArray(a.activities)?a.activities.map(a=>r(a)).filter(a=>null!==a):[],f=e(a.activityThreads)?Object.fromEntries(Object.entries(a.activityThreads).map(([a,b])=>[a,h(Array.isArray(b)?b.map(a=>s(a)).filter(a=>null!==a):[])])):{};return{objectives:g((b=new Set,c.map(a=>{let c=p(a.key||a.title||a.id,b,a.id||a.title||"objective");return a.key===c?a:{...a,key:c}}))),activities:i(d),activityThreads:f}}a.s(["CURRENT_OBJECTIVE_CHAT_SESSION_VERSION",0,2,"buildObjectiveTimelineActivities",0,function({objective:a,workspace:b}){return b.activities.filter(b=>b.objectiveId===a.id).map(a=>({...a,threadCount:b.activityThreads[a.id]?.length??0})).sort((a,b)=>Date.parse(b.createdAt)-Date.parse(a.createdAt))},"createProjectObjective",0,function(a){return{id:a.id??f("objective"),title:a.title.trim(),teamId:a.teamId.trim(),key:o(a.key?.trim()??a.title.trim(),a.id??a.title),threadId:"string"==typeof a.threadId&&a.threadId.trim()?a.threadId.trim():null,chatSessionVersion:n(a.chatSessionVersion??2,2),scheduledTaskIds:k(a.scheduledTaskIds??[]),summary:a.summary?.trim()??"",progress:m(a.progress??0),status:a.status??"on_track",createdAt:a.now,updatedAt:a.now}},"generateProjectObjectiveKey",0,function(a,b,c){return p(a,new Set(b.filter(a=>a.id!==c).map(a=>o(a.key||a.title||a.id))),c??a)},"readProjectObjectivesWorkspace",0,function(a){if(!e(a))return t();let d=a[b];if(void 0!==d){let a=u(d);if(a.objectives.length>0||a.activities.length>0||Object.keys(a.activityThreads).length>0)return a}let f=a[c];if(void 0!==f){if(!e(f))return t();let a=Array.isArray(f.goals)?f.goals.map(a=>(function(a){if(!e(a))return null;let b=j(a.target),c=[j(a.summary),b?`Measure: ${b}`:""].filter(Boolean).join("\n\n");return q({...a,summary:c})})(a)).filter(a=>null!==a):[],b=Array.isArray(f.manualActivities)?f.manualActivities.map(a=>r({...a,sourceLabel:"Update"})).filter(a=>null!==a):[],c=e(f.activityThreads)?Object.fromEntries(Object.entries(f.activityThreads).map(([a,b])=>[a,h(Array.isArray(b)?b.map(b=>s({...b,activityId:a})).filter(a=>null!==a):[])])):{};return{objectives:g(a),activities:i(b),activityThreads:c}}return t()},"removeProjectObjective",0,function(a,b){let c=new Set(a.activities.filter(a=>a.objectiveId===b).map(a=>a.id)),d=Object.fromEntries(Object.entries(a.activityThreads).filter(([a])=>!c.has(a)));return{objectives:a.objectives.filter(a=>a.id!==b),activities:a.activities.filter(a=>a.objectiveId!==b),activityThreads:d}},"upsertProjectObjective",0,function(a,b){let c=a.objectives.findIndex(a=>a.id===b.id)>=0?a.objectives.map(a=>a.id===b.id?b:a):[b,...a.objectives];return{...a,objectives:g(c)}},"writeProjectObjectivesWorkspace",0,function(a,d){let e={...a};return delete e[c],e[b]=u(d),e}])},719550,a=>{"use strict";var b=a.i(187924);a.s(["LinearIcon",0,function({size:a=16,...c}){return(0,b.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:a,height:a,viewBox:"0 0 100 100",fill:"currentColor",...c,children:(0,b.jsx)("path",{d:"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3542-.0443L12.6587 18.074Z"})})}])},68063,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},639211,a=>{"use strict";a.s(["GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"UI_POLL_CHAT_ALT_MS",0,15e3,"UI_POLL_CHAT_CHECK_MS",0,1e4,"UI_POLL_DB_HEALTH_MS",0,3e4,"UI_POLL_PROMPT_RUNS_MS",0,5e3,"UI_POLL_SYSTEM_STATUS_MS",0,3e4,"UI_POLL_TASK_DURATION_MS",0,6e4])},157633,a=>{"use strict";let b=(0,a.i(831709).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);a.s(["Folder",0,b],157633)},427411,a=>{"use strict";let b={bounds:null,sidebar:{workspaceWidth:260,logPanelHeight:200,workspaceVisible:!0,logPanelVisible:!1,linearTicketPanelWidth:576,linearRunsPanelWidth:224,objectiveChatPanelWidth:440,objectiveListPanelWidth:320},scroll:{lastThreadId:null,lastWorkspaceId:null}};function c(){return({...b}).sidebar}function d(a){let c={...b};c.sidebar={...c.sidebar,...a}}a.s(["loadLinearRunsPanelWidth",0,function(){return c().linearRunsPanelWidth},"loadLinearTicketPanelWidth",0,function(){return c().linearTicketPanelWidth},"loadObjectiveChatPanelWidth",0,function(){return c().objectiveChatPanelWidth},"loadObjectiveListPanelWidth",0,function(){return c().objectiveListPanelWidth},"loadWorkspaceWidth",0,function(){return c().workspaceWidth},"persistLinearRunsPanelWidth",0,function(a){d({linearRunsPanelWidth:a})},"persistLinearTicketPanelWidth",0,function(a){d({linearTicketPanelWidth:a})},"persistObjectiveChatPanelWidth",0,function(a){d({objectiveChatPanelWidth:a})},"persistObjectiveListPanelWidth",0,function(a){d({objectiveListPanelWidth:a})},"persistWorkspaceWidth",0,function(a){d({workspaceWidth:a})}])}];
2
-
3
- //# sourceMappingURL=_0ejzn1e._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[831709,a=>{"use strict";var b=a.i(572131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g}],831709)},739118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},588644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},554427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},349692,372871,a=>{"use strict";let b=(0,a.i(831709).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["default",0,b],372871),a.s(["Loader2",0,b],349692)},110149,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(349692);a.s(["default",0,function(){let a=(0,d.useRouter)(),[f,g]=(0,c.useState)(!0);return((0,c.useEffect)(()=>{let b=!1;return(async()=>{try{let c=await fetch("/api/projects",{cache:"no-store"});if(b)return;if(c.ok){let b=await c.json(),d=Array.isArray(b?.projects)?b.projects:[];0===d.length?a.replace("/setup"):a.replace(`/projects/${d[0].slug}`);return}}catch{}b||a.replace("/setup")})(),()=>{b=!0}},[a]),f)?(0,b.jsx)("div",{className:"h-screen w-full flex items-center justify-center bg-[var(--background)]",children:(0,b.jsx)(e.Loader2,{className:"w-6 h-6 animate-spin text-[var(--muted-foreground)]"})}):null}])}];
2
-
3
- //# sourceMappingURL=_0sjchy6._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[68063,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},639211,a=>{"use strict";a.s(["GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"UI_POLL_CHAT_ALT_MS",0,15e3,"UI_POLL_CHAT_CHECK_MS",0,1e4,"UI_POLL_DB_HEALTH_MS",0,3e4,"UI_POLL_PROMPT_RUNS_MS",0,5e3,"UI_POLL_SYSTEM_STATUS_MS",0,3e4,"UI_POLL_TASK_DURATION_MS",0,6e4])},713178,a=>{"use strict";var b=a.i(187924),c=a.i(572131);a.s(["default",0,function({initialPath:a,onSelect:d,onCancel:e}){let[f,g]=(0,c.useState)(a||""),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(null),n=(0,c.useRef)(null),o=(0,c.useCallback)(async a=>{k(!0),m(null);try{let b=a?`?path=${encodeURIComponent(a)}`:"",c=await fetch(`/api/filesystem/browse${b}`),d=await c.json();if(!c.ok)return void m(d.error||"Failed to browse");i(d),g(d.current),n.current?.scrollTo(0,0)}catch{m("Failed to connect")}finally{k(!1)}},[]);return(0,c.useEffect)(()=>{o(a||"")},[]),(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden shadow-lg",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,b.jsx)("input",{value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"===a.key&&o(f)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,b.jsx)("button",{type:"button",onClick:()=>o(f),className:"text-[10px] font-bold uppercase tracking-wider text-[var(--primary)] hover:underline px-2 py-1 shrink-0",children:"Go"})]}),(0,b.jsxs)("div",{ref:n,className:"max-h-48 overflow-y-auto",children:[j&&(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)] text-center",children:"Loading..."}),l&&(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--destructive)] text-center",children:l}),!j&&h&&(0,b.jsxs)("div",{className:"py-1",children:[h.parent&&(0,b.jsxs)("button",{type:"button",onClick:()=>o(h.parent),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"↑"}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:".."})]}),0===h.dirs.length&&!h.parent&&(0,b.jsx)("div",{className:"px-3 py-3 text-xs text-[var(--muted-foreground)] text-center",children:"No subdirectories"}),h.dirs.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>o(a.path),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"📁"}),(0,b.jsx)("span",{className:"truncate",children:a.name})]},a.path))]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] truncate max-w-[60%]",children:h?.current||f}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("button",{type:"button",onClick:e,className:"text-xs font-medium text-[var(--muted-foreground)] hover:underline px-2 py-1",children:"Cancel"}),(0,b.jsx)("button",{type:"button",onClick:()=>d(h?.current||f),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}])},188834,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(713178);let e={name:"",description:""},f={name:"",path:"",notes:""};function g({form:a,repos:e,isEditingProject:f,isSubmitting:h,onFieldChange:i,onRepoChange:j,onAddRepo:k,onRemoveRepo:l}){let[m,n]=(0,c.useState)([]),[o,p]=(0,c.useState)(null),q=(0,c.useRef)(0);(0,c.useEffect)(()=>{f?n([]):n(e.map((a,b)=>b)),q.current=e.length},[f,e.length]),(0,c.useEffect)(()=>{if(!f){q.current=e.length;return}let a=q.current;n(b=>{let c=b.filter(a=>a<e.length);return e.length>a&&c.push(...Array.from({length:e.length-a},(b,c)=>a+c)),c}),q.current=e.length},[f,e.length]);let r=(0,c.useCallback)(a=>{n(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])},[]),s=(0,c.useCallback)(a=>!f||m.includes(a),[m,f]);return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)("div",{className:"grid gap-4",children:(0,b.jsxs)("label",{className:"space-y-1.5 block",children:[(0,b.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Project Name"}),(0,b.jsx)("input",{value:a.name,onChange:a=>i("name",a.target.value),className:"input w-full",placeholder:"e.g. AGX Cloud",disabled:h})]})}),(0,b.jsxs)("label",{className:"space-y-1.5 block",children:[(0,b.jsx)("span",{className:"text-xs font-bold uppercase tracking-wider text-[var(--muted-foreground)]",children:"Description"}),(0,b.jsx)("textarea",{value:a.description,onChange:a=>i("description",a.target.value),className:"input w-full h-24 resize-none",placeholder:"What is this project about?",disabled:h})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-[var(--card-border)] pb-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Folders"}),(0,b.jsx)("p",{className:"text-[11px] text-[var(--muted-foreground)] mt-0.5",children:"Code repos, doc folders, design assets, config directories — any path your team needs access to."})]}),(0,b.jsx)("button",{type:"button",onClick:k,className:"text-xs font-semibold text-[var(--primary)] hover:underline flex-shrink-0",disabled:h,children:"+ Add Folder"})]}),(0,b.jsx)("div",{className:"space-y-4",children:e.map((a,c)=>(0,b.jsxs)("div",{className:"p-4 rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 space-y-3 relative group",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"text-xs font-bold text-[var(--foreground)] uppercase",children:["Folder #",c+1]}),f&&!s(c)?(0,b.jsxs)("div",{className:"mt-1 text-sm text-[var(--muted-foreground)]",children:[(0,b.jsx)("div",{children:a.name||"Unnamed folder"}),(0,b.jsx)("div",{className:"truncate",children:a.path||"No local path set"})]}):null]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[f&&(0,b.jsx)("button",{type:"button",onClick:()=>r(c),className:"text-xs font-semibold text-[var(--primary)] hover:underline",disabled:h,children:s(c)?"Done":"Edit"}),e.length>1&&(0,b.jsx)("button",{type:"button",onClick:()=>l(c),className:"text-xs font-semibold text-[var(--destructive)] hover:underline",disabled:h,children:"Remove"})]})]}),s(c)?(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)("input",{value:a.name,onChange:a=>j(c,"name",a.target.value),placeholder:"Name (e.g. Frontend, API Docs, Design System)",className:"input text-sm",disabled:h}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{value:a.path,onChange:a=>j(c,"path",a.target.value),placeholder:"Local path to folder",className:"input text-sm flex-1",disabled:h}),(0,b.jsx)("button",{type:"button",onClick:async()=>{try{let a=await fetch("/api/filesystem/pick-folder",{method:"POST"}),b=await a.json();b.path&&j(c,"path",b.path)}catch{p(o===c?null:c)}},className:"px-3 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--muted)]/30 hover:bg-[var(--muted)]/60 transition-colors text-xs font-semibold text-[var(--muted-foreground)] whitespace-nowrap",disabled:h,children:"Browse"})]}),o===c&&(0,b.jsx)("div",{className:"md:col-span-2",children:(0,b.jsx)(d.default,{initialPath:a.path||"",onSelect:a=>{j(c,"path",a),p(null)},onCancel:()=>p(null)})}),(0,b.jsx)("div",{className:"md:col-span-2",children:(0,b.jsx)("textarea",{value:a.notes,onChange:a=>j(c,"notes",a.target.value),placeholder:"Notes for this folder — e.g. coding conventions, deploy steps, ownership, doc standards...",className:"input text-sm w-full min-h-24 resize-y",disabled:h})})]}):null]},c))})]})]})}a.s(["createProjectPayload",0,function(a,b){let c=b.filter(a=>a.name.trim()&&a.path.trim()).map(a=>({...a.id?{id:a.id}:{},name:a.name.trim(),path:a.path.trim(),...a.git_url?.trim()?{git_url:a.git_url.trim()}:{},notes:a.notes.trim()||void 0}));return{name:a.name.trim(),description:a.description.trim()||void 0,repos:c.length?c:void 0}},"default",0,function({isOpen:a,onClose:d,onSubmit:e,editingProject:f,form:h,repos:i,isSubmitting:j,formError:k,onFieldChange:l,onRepoChange:m,onAddRepo:n,onRemoveRepo:o}){let[p,q]=(0,c.useState)([]);return((0,c.useEffect)(()=>{let a=!1;return async function(){if(!f)return q([]);try{let b=await fetch(`/api/knowledge-notes?scope=project&subjectId=${encodeURIComponent(f.id)}`),c=(b.ok?await b.json():{note:null}).note;a||q(c?.content?[{id:c.id,content:c.content,created_at:c.updatedAt??c.createdAt,source:c.sourceType}]:[])}catch{a||q([])}}(),()=>{a=!0}},[f]),a)?(0,b.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:a=>a.target===a.currentTarget&&d(),children:(0,b.jsxs)("div",{className:"modal-content w-full max-w-4xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,b.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-xl font-bold",children:f?"Edit Project":"Create New Project"}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:f?"Update your project settings and folders.":"Define a new project and connect folders."})]}),(0,b.jsx)("button",{onClick:d,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,b.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 sm:p-8",children:[f&&(0,b.jsx)("div",{className:"mb-6",children:(0,b.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--muted)]/20 p-4",children:[(0,b.jsx)("h3",{className:"text-sm font-bold uppercase tracking-widest text-[var(--muted-foreground)]",children:"Living Project Note"}),p.length>0?(0,b.jsx)("div",{className:"mt-3 space-y-2",children:p.slice(0,5).map(a=>(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] px-3 py-2 text-sm text-[var(--foreground)]",children:[(0,b.jsx)("div",{children:a.content}),a.created_at?(0,b.jsx)("div",{className:"mt-1 text-[11px] text-[var(--muted-foreground)]",children:new Date(a.created_at).toLocaleString()}):null]},a.id))}):(0,b.jsx)("p",{className:"mt-2 text-sm text-[var(--muted-foreground)]",children:"No project note yet."})]})}),(0,b.jsx)(g,{form:h,repos:i,isEditingProject:!!f,isSubmitting:j,onFieldChange:l,onRepoChange:m,onAddRepo:n,onRemoveRepo:o}),k&&(0,b.jsx)("div",{className:"mt-6 p-4 rounded-xl bg-[var(--destructive-muted)] border border-[var(--destructive)]/20 text-sm text-[var(--destructive)]",children:k})]}),(0,b.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-t border-[var(--card-border)] flex items-center justify-end gap-3 flex-shrink-0",children:[(0,b.jsx)("button",{onClick:d,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Cancel"}),(0,b.jsx)("button",{onClick:e,disabled:j,className:"btn-primary px-8 py-2 shadow-lg shadow-[var(--primary)]/20 min-w-[120px]",children:j?(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"spinner w-3 h-3 border-2 border-white/20 border-t-white"}),"Saving..."]}):f?"Save Changes":"Create Project"})]})]})}):null},"useProjectFormState",0,function(){let[a,b]=(0,c.useState)(e),[d,g]=(0,c.useState)([f]),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(null),l=(0,c.useCallback)((a,b,c)=>{g(d=>d.map((d,e)=>e===a?{...d,[b]:c}:d))},[]),m=(0,c.useCallback)(()=>{g(a=>[...a,{...f}])},[]),n=(0,c.useCallback)(a=>{g(b=>b.filter((b,c)=>c!==a))},[]),o=(0,c.useCallback)(()=>{b(e),g([f]),k(null)},[]),p=(0,c.useCallback)(a=>{b({name:a.name||"",description:a.description||""}),a.repos&&a.repos.length>0?g(a.repos.map(a=>({id:a.id,name:a.name||"",path:a.path||"",git_url:a.git_url||"",notes:a.notes||""}))):g([f]),k(null)},[]);return{form:a,setForm:b,repos:d,handleRepoChange:l,addRepo:m,removeRepo:n,resetForm:o,hydrateFromProject:p,isSubmitting:h,setIsSubmitting:i,formError:j,setFormError:k}}])}];
2
-
3
- //# sourceMappingURL=_0w4gpvr._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[588644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},739118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},554427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},830284,a=>{"use strict";var b=a.i(572131);a.s(["useProjects",0,function(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!1),[f,g]=(0,b.useState)(null),h=(0,b.useCallback)(async()=>{e(!0);try{let a=await fetch("/api/projects");if(!a.ok)throw Error("Failed to fetch projects");let b=await a.json();c(b.projects??[]),g(null)}catch(a){g(a instanceof Error?a:Error("Unknown error"))}finally{e(!1)}},[]);(0,b.useEffect)(()=>{h()},[h]);let i=(0,b.useCallback)(async a=>{let b=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to create project");let d=(await b.json()).project;return c(a=>[d,...a]),d},[]);return{projects:a,isLoading:d,error:f,refetch:h,createProject:i,updateProject:(0,b.useCallback)(async(a,b)=>{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error||"Failed to update project");let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?e:b)),e},[]),deleteProject:(0,b.useCallback)(async a=>{let b=await fetch(`/api/projects/${a}`,{method:"DELETE"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to delete project");c(b=>b.filter(b=>b.id!==a))},[])}},"useProjectsWithAgents",0,function(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!0),f=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/projects");if(!a.ok)return;let{projects:b}=await a.json(),d=await Promise.all((b??[]).map(async a=>{let b=[],c=[];try{let[d,e]=await Promise.all([fetch(`/api/projects/${a.id}/agents`),fetch(`/api/projects/${a.id}/threads`)]);d.ok&&(b=(await d.json()).agents??[]),e.ok&&(c=((await e.json()).threads??[]).map(a=>a.thread_id))}catch{}return{...a,repos:a.repos??[],agents:b.map(b=>({project_id:a.id,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at})),thread_ids:c,workspace_ids:c}}));c(d)}catch{}finally{e(!1)}},[]);(0,b.useEffect)(()=>{f()},[f]);let g=(0,b.useCallback)(async(a,b)=>{try{let d="string"==typeof a?{name:a}:a,e=d.name.trim(),f=(d.slug||e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),g=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...d,name:e,slug:f})});if(!g.ok)return null;let{project:h}=await g.json(),i=Array.isArray(b)?b:b?[b]:[];for(let a of i)await fetch(`/api/projects/${h.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:a})}).catch(a=>console.warn("[useProjects] link thread failed:",a));let j={...h,repos:h.repos??[],agents:[],thread_ids:i,workspace_ids:i};return c(a=>[...a,j].sort((a,b)=>a.name.localeCompare(b.name))),j}catch{return null}},[]),h=(0,b.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})})).ok)return;c(c=>c.map(c=>c.id===a?{...c,name:b}:c).sort((a,b)=>a.name.localeCompare(b.name)))}catch{}},[]),i=(0,b.useCallback)(async a=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"DELETE"})).ok)return;c(b=>b.filter(b=>b.id!==a))}catch{}},[]),j=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok){let a=await d.json().catch(()=>({}));throw Error(a.error||"Failed to update project")}let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?{...b,...e,repos:e.repos??b.repos}:b)),e}catch{return null}},[]),k=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),l=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents?agentId=${b}`,{method:"DELETE"});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]);return{projects:a,isLoading:d,createProject:g,updateProject:j,renameProject:h,deleteProject:i,addAgent:k,removeAgent:l,reorderAgents:(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),moveAgent:(0,b.useCallback)(async(a,b,c)=>{try{await fetch(`/api/projects/${b}/agents?agentId=${a}`,{method:"DELETE"}),await fetch(`/api/projects/${c}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:a})}),await f()}catch{}},[f]),refresh:f}}])},168811,a=>{"use strict";var b=a.i(187924),c=a.i(238246),d=a.i(572131),e=a.i(639211);function f(){let[a,c]=(0,d.useState)(null),[f,g]=(0,d.useState)("loading");(0,d.useEffect)(()=>{let a=!0;async function b(){try{let b=await fetch("/api/health");if(!a)return;if(!b.ok)return void g("error");let d=await b.json();c(d),g(d.connected?"connected":"disconnected")}catch{a&&g("error")}}b();let d=setInterval(b,e.UI_POLL_DB_HEALTH_MS);return()=>{a=!1,clearInterval(d)}},[]);let h={loading:"Checking database…",connected:`${a?.adapter??"db"} connected (${a?.latencyMs??"?"}ms)`,disconnected:`${a?.adapter??"db"} disconnected`,error:"Database unreachable"};return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--muted-foreground)]",role:"status","aria-label":h[f],children:[(0,b.jsx)("span",{className:`w-2 h-2 rounded-full ${{loading:"bg-yellow-400",connected:"bg-green-500",disconnected:"bg-red-500",error:"bg-red-500"}[f]}`}),(0,b.jsx)("span",{className:"hidden sm:inline",children:h[f]})]})}function g({children:a,fullWidth:d=!1,noFooter:e=!1}){return(0,b.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,b.jsx)("nav",{className:"desktop-titlebar flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,b.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,b.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,b.jsx)("div",{className:"flex items-center gap-8",children:(0,b.jsx)(c.default,{href:"/",className:"flex items-center gap-3 group",children:(0,b.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"transition-transform group-hover:scale-105",children:[(0,b.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,b.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,b.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,b.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,b.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,b.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})})}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(c.default,{href:"/",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Open Chat"}),(0,b.jsx)(c.default,{href:"/automations",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Automations"}),(0,b.jsx)(c.default,{href:"/skills",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Skills"}),(0,b.jsx)(c.default,{href:"/settings",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Settings"})]})]})})}),(0,b.jsx)("main",{className:`flex-1 min-h-0 flex flex-col ${d?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"}`,children:a}),!e&&(0,b.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,b.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,b.jsx)("span",{children:"AGX Board • Autonomous Agent Orchestration"}),(0,b.jsxs)("span",{className:"hidden sm:inline-flex items-center gap-3",children:[(0,b.jsx)(f,{}),(0,b.jsx)("span",{children:"Built with Next.js + Db"})]})]})})]})}a.s(["default",0,function(a){return(0,b.jsx)(d.Suspense,{fallback:(0,b.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,b.jsx)(g,{...a})})}],168811)},553893,a=>{"use strict";var b=a.i(639211);b.NODE_TIMEOUT_DEFAULT_MS,b.GRAPH_TIMEOUT_DEFAULT_MS;let c=new Set(["done","passed"]),d=new Set(["pending","running","awaiting_human","blocked"]);function e(a,b){return"root"===b.type?b.title?.trim()||"Task Objective":"work"===b.type||"function"===b.type?b.title?.trim()||a:"gate"===b.type?b.gateType.replace(/_gate$/u,"").replace(/_/gu," ").replace(/\b\w/gu,a=>a.toUpperCase()):"fork"===b.type?"Fork":"join"===b.type?`Join (${b.joinStrategy})`:"Conditional"}function f(a){for(let[b,c]of Object.entries(a.nodes))if("root"===c.type)return{id:b,node:c};return null}a.s(["buildGraphSummary",0,function(a){let b,g=f(a);return{mode:a.mode,graphVersion:a.graphVersion,nodeCount:Object.keys(a.nodes).length,progress:0===(b=Object.values(a.nodes).filter(a=>"skipped"!==a.status)).length?100:Math.round(b.filter(a=>c.has(a.status)).length/b.length*100),currentBlocker:function(a){let b=function(a){let b=Object.entries(a.nodes),c=b.filter(([,a])=>"gate"===a.type&&a.required),d=c.find(([,a])=>"failed"===a.status);if(d)return d[0];let e=c.find(([,a])=>"awaiting_human"===a.status);if(e)return e[0];let f=c.find(([,a])=>"pending"===a.status||"running"===a.status);if(f)return f[0];let g=b.find(([,a])=>"work"===a.type&&"blocked"===a.status);return g?.[0]??null}(a);if(!b)return null;let c=a.nodes[b];return c?{nodeId:b,label:e(b,c),status:c.status,required:"gate"===c.type&&c.required}:null}(a),derivedStatus:function(a){let b=Object.keys(a.nodes).length;if(0===b)return"INTAKE";if(1===b){let b=Object.values(a.nodes)[0];if("root"===b.type&&!b.graphCreated)return"INTAKE"}return Object.values(a.nodes).some(a=>d.has(a.status))?"PROGRESS":"DONE"}(a),hasRootNode:null!==g,rootNodeId:g?.id??null}},"findRootNode",0,f,"formatNodeStatusLabel",0,function(a){return a.replace(/_/gu," ")},"getNodeLabel",0,e,"toNodeStatusClass",0,function(a){return`node--${a}`}],553893)},984806,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(238246),e=a.i(50944),f=a.i(168811);function g({project:a,onEdit:c,onDelete:d,onClick:e,onManageTasks:f}){let h=a.repos&&a.repos.length>0;return(0,b.jsxs)("div",{onClick:()=>e?.(a),className:`p-5 surface-card space-y-4
2
- ${e?"cursor-pointer hover:border-gray-300 dark:hover:border-gray-700 hover:shadow-md active:scale-[0.99]":""}`,children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:a.name}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] tracking-wide uppercase",children:a.slug})]}),(0,b.jsxs)("div",{className:"flex flex-col items-end gap-2",children:[(0,b.jsxs)("span",{className:"text-[11px] font-semibold text-[var(--muted-foreground)]",children:["Updated ",new Date(a.updated_at).toLocaleDateString()]}),(c||d||f)&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[f&&(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),f(a)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] bg-[var(--background)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all",children:"Tasks"}),c&&(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),c(a)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] hover:border-[var(--primary)] hover:text-[var(--primary)] transition-all bg-[var(--background)]",children:"Edit"}),d&&(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},className:"text-[11px] font-semibold px-2 py-1 rounded-full border border-[var(--card-border)] text-[var(--destructive)] hover:border-[var(--destructive)] transition-all bg-[var(--background)]",children:"Delete"})]})]})]}),a.description&&(0,b.jsx)("p",{className:"text-sm text-[var(--foreground)] line-clamp-2",children:a.description}),a.ci_cd_info&&(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] text-[12px] uppercase tracking-wide",children:"CI / CD"}),(0,b.jsx)("p",{className:"text-[14px] text-[var(--accent)] font-medium truncate",children:a.ci_cd_info})]}),a.metadata&&Object.keys(a.metadata).length>0&&(0,b.jsxs)("div",{className:"p-3 rounded-lg bg-[var(--muted)]/20 border border-dashed border-[var(--card-border)] space-y-1",children:[(0,b.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"Metadata"}),(0,b.jsx)("div",{className:"space-y-1",children:Object.entries(a.metadata??{}).filter(([a])=>"undefined"!==a&&""!==a).map(([a,c])=>(0,b.jsxs)("div",{className:"text-[12px] text-[var(--muted-foreground)] flex justify-between",children:[(0,b.jsx)("span",{className:"font-semibold",children:a}),(0,b.jsx)("span",{className:"truncate text-right",children:"string"==typeof c?c:JSON.stringify(c)})]},a))})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-[12px] uppercase tracking-wider text-[var(--muted-foreground)]",children:"Folders"}),(0,b.jsx)("span",{className:"text-[12px] text-[var(--muted-foreground)]",children:h?`${a.repos.length} connected`:"Unlinked"})]}),h?(0,b.jsxs)("div",{className:"mt-3 space-y-2",children:[a.repos.slice(0,2).map(a=>(0,b.jsxs)("div",{className:"p-2 rounded-lg border border-[var(--card-border)] bg-[var(--background)] text-[11px]",children:[(0,b.jsx)("div",{className:"font-semibold truncate",children:a.name}),a.path&&(0,b.jsx)("p",{className:"text-[10px] text-[var(--muted-foreground)] truncate",children:a.path})]},a.id)),a.repos.length>2&&(0,b.jsxs)("p",{className:"text-[10px] text-center text-[var(--muted-foreground)]",children:["+ ",a.repos.length-2," more"]})]}):(0,b.jsx)("p",{className:"mt-3 text-[12px] text-[var(--muted-foreground)]",children:"No folders added yet."})]})]})}var h=a.i(188834),i=a.i(532633);let j={in_progress:{title:"In Progress",icon:"🔄",color:"var(--status-in-progress)",description:"Currently being worked on by the daemon"},blocked:{title:"Blocked",icon:"🚧",color:"var(--status-blocked)",description:"Waiting for input or resolution"},queued:{title:"Queued",icon:"📋",color:"var(--status-queued)",description:"Ready to be picked up"},completed:{title:"Completed",icon:"✅",color:"var(--status-completed)",description:"Successfully finished"}};function k({tasks:a,onSelectTask:c,onStatusChange:d}){if(0===a.length)return(0,b.jsxs)("div",{className:"text-center py-20 animate-fade-in",children:[(0,b.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-[var(--card-bg)] border border-[var(--card-border)] mb-4",children:(0,b.jsx)("span",{className:"text-3xl",children:"📋"})}),(0,b.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No tasks yet"}),(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] text-sm max-w-md mx-auto",children:"Create your first task to get started. Tasks will appear here organized by status."})]});let e=a.filter(a=>"in_progress"===a.status),f=a.filter(a=>"queued"===a.status),g=a.filter(a=>"blocked"===a.status),h=a.filter(a=>"completed"===a.status||"failed"===a.status),l=(a,e)=>{if(0===e.length)return null;let f=j[a];return(0,b.jsxs)("section",{className:"mb-8 animate-fade-in-up",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg",style:{backgroundColor:`color-mix(in srgb, ${f.color} 10%, transparent)`},children:[(0,b.jsx)("span",{className:"text-lg",children:f.icon}),(0,b.jsx)("h3",{className:"text-sm font-semibold",style:{color:f.color},children:f.title}),(0,b.jsx)("span",{className:"px-2 py-0.5 rounded-full text-xs font-medium",style:{backgroundColor:`color-mix(in srgb, ${f.color} 15%, transparent)`,color:f.color},children:e.length})]}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] hidden sm:block",children:f.description})]}),(0,b.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:e.map((a,e)=>(0,b.jsx)("div",{className:"animate-fade-in-up",style:{animationDelay:`${50*e}ms`},children:(0,b.jsx)(i.default,{task:a,onClick:()=>c?.(a),onStatusChange:d?b=>d(a.id,b):void 0})},a.id))})]})};return(0,b.jsxs)("div",{children:[l("in_progress",e),l("blocked",g),l("queued",f),l("completed",h)]})}var l=a.i(207588),m=a.i(830284);function n({project:a,onClose:c}){let{tasks:d,isLoading:e}=(0,l.useTasks)({project:a.slug});return(0,b.jsx)("div",{className:"modal-backdrop p-2 sm:p-4 z-50 overflow-y-auto flex items-center justify-center",onClick:a=>a.target===a.currentTarget&&c(),children:(0,b.jsxs)("div",{className:"modal-content w-full max-w-5xl mx-2 sm:mx-auto bg-[var(--card-bg)] rounded-3xl border border-[var(--card-border)] shadow-2xl animate-scale-in flex flex-col max-h-[90vh]",children:[(0,b.jsxs)("div",{className:"px-4 py-4 sm:px-8 sm:py-6 border-b border-[var(--card-border)] flex items-center justify-between flex-shrink-0",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("h2",{className:"text-xl font-bold",children:["Tasks for ",a.name]}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5",children:"Viewing all tasks associated with this project."})]}),(0,b.jsx)("button",{onClick:c,className:"p-2 rounded-xl hover:bg-[var(--muted)]/50 transition-colors",children:(0,b.jsx)("svg",{className:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-8",children:e?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20",children:[(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full mb-4"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Loading project tasks..."})]}):(0,b.jsx)(k,{tasks:d})}),(0,b.jsx)("div",{className:"px-8 py-6 border-t border-[var(--card-border)] flex justify-end flex-shrink-0",children:(0,b.jsx)("button",{onClick:c,className:"px-6 py-2 rounded-xl border border-[var(--card-border)] hover:bg-[var(--muted)]/50 transition-colors text-sm font-medium",children:"Close"})})]})})}a.s(["default",0,function(){let a=(0,e.useRouter)(),i=(0,e.useSearchParams)(),{projects:j,isLoading:k,error:l,refetch:o,createProject:p,updateProject:q,deleteProject:r}=(0,m.useProjects)(),s=(0,h.useProjectFormState)(),[t,u]=(0,c.useState)(null),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(null),{form:z,repos:A,handleRepoChange:B,addRepo:C,removeRepo:D,resetForm:E,hydrateFromProject:F,isSubmitting:G,setIsSubmitting:H,formError:I,setFormError:J,setForm:K}=s,L=()=>{u(null),E(),w(!0)},M=a=>{u(a),F(a),w(!0)};(0,c.useEffect)(()=>{let a=i.get("edit");if(!a||0===j.length||v)return;let b=j.find(b=>b.id===a);b&&M(b)},[i,j,v]);let N=(0,c.useCallback)(b=>{b.slug&&a.push(`/projects/${b.slug}`)},[a]),O=(0,c.useCallback)(a=>{y(a)},[]),P=(0,c.useCallback)(()=>{y(null)},[]),Q=()=>{E(),w(!1),u(null),i.get("edit")&&a.replace("/projects")},R=async()=>{if(!z.name.trim())return void J("Project name is required");let a=A.find(a=>a.name.trim()&&!a.path.trim());if(a)return void J(`Local path is required for folder "${a.name}"`);J(null),H(!0);let b=(0,h.createProjectPayload)(z,A);try{t?await q(t.id,b):await p(b),Q()}catch(a){J(a instanceof Error?a.message:"Failed to save project")}finally{H(!1)}},S=async a=>{if(window.confirm(`Delete project "${a.name}"? This cannot be undone.`))try{await r(a.id)}catch(a){alert(a instanceof Error?a.message:"Failed to delete project")}};return(0,b.jsx)(f.default,{children:(0,b.jsxs)("div",{className:"max-w-7xl mx-auto w-full flex flex-col min-h-full",children:[(0,b.jsxs)("header",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-4 py-8",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Projects"}),(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] mt-1",children:"Manage your projects and their folder contexts."})]}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)("button",{onClick:o,className:"px-4 py-2 rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--primary)] transition-all text-sm font-medium",children:"Refresh"}),(0,b.jsx)("button",{onClick:L,className:"btn-primary px-6 py-2 shadow-lg shadow-[var(--primary)]/20",children:"+ New Project"})]})]}),k?(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center py-20",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] animate-pulse",children:"Loading projects..."})]})}):0===j.length?(0,b.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center py-20 animate-fade-in",children:[(0,b.jsx)("div",{className:"w-24 h-24 rounded-3xl bg-[var(--card-bg)] border border-[var(--card-border)] flex items-center justify-center text-4xl mb-6 shadow-xl",children:"📂"}),(0,b.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"You have no projects"}),(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] text-center max-w-sm mb-8 leading-relaxed",children:"Create your first project to start organizing your tasks and connecting your folders."}),(0,b.jsx)("button",{onClick:L,className:"btn-primary px-8 py-3 text-lg shadow-xl shadow-[var(--primary)]/20",children:"Create a Project"})]}):(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 pb-20",children:[(0,b.jsxs)(d.default,{href:"/projects/orphans",className:"p-5 rounded-2xl border border-dashed border-[var(--card-border)] bg-[var(--card-bg)] shadow-sm space-y-4 transition-all hover:border-[var(--primary)] hover:shadow-md",children:[(0,b.jsx)("div",{className:"flex items-start justify-between gap-4",children:(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-lg font-semibold",children:"Orphan Tasks"}),(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] tracking-wide uppercase",children:"Unassigned"})]})}),(0,b.jsx)("p",{className:"text-sm text-[var(--foreground)]",children:"Review tasks with empty project assignment and move them into the correct project."})]}),j.map(a=>(0,b.jsx)(g,{project:a,onEdit:M,onDelete:S,onManageTasks:O,onClick:N},a.id))]}),(0,b.jsx)(h.default,{isOpen:v,onClose:Q,onSubmit:R,editingProject:t,form:z,repos:A,isSubmitting:G,formError:I,onFieldChange:(a,b)=>K(c=>({...c,[a]:b})),onRepoChange:B,onAddRepo:C,onRemoveRepo:D}),x&&(0,b.jsx)(n,{project:x,onClose:P})]})})}],984806)}];
3
-
4
- //# sourceMappingURL=_0x6hh0t._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[667597,a=>{"use strict";let b=(0,a.i(831709).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],667597)},599086,a=>{"use strict";let b=(0,a.i(831709).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",0,b],599086)},697183,a=>{"use strict";let b=(0,a.i(831709).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",0,b],697183)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,b],820859)},44668,a=>{"use strict";let b=(0,a.i(831709).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",0,b],44668)},654340,a=>{"use strict";let b=(0,a.i(831709).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",0,b],654340)},549429,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",0,b],549429)},675665,a=>{"use strict";var b=a.i(572131);a.s(["useLinearConnection",0,function(){let[a,c]=(0,b.useState)(!1),[d,e]=(0,b.useState)(!0),[f,g]=(0,b.useState)(null),[h,i]=(0,b.useState)({claude:!1,codex:!1,gemini:!1}),[j,k]=(0,b.useState)({}),l=(0,b.useRef)(null),m=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/linear/mcp-setup"),b=await a.json();k(b.configured??{})}catch{}},[]),n=(0,b.useCallback)(async()=>{try{let[a,b]=await Promise.all([fetch("/api/linear/status"),fetch("/api/linear/mcp-setup")]),d=await a.json(),e=await b.json();return c(d.connected),g(d.user??null),i(d.clis??{claude:!1,codex:!1,gemini:!1}),k(e.configured??{}),d.connected}catch{return c(!1),!1}finally{e(!1)}},[]);(0,b.useEffect)(()=>(n(),()=>{l.current&&clearInterval(l.current)}),[n]);let o=(0,b.useCallback)(()=>{window.open("/api/linear/auth","_blank","noopener"),l.current&&clearInterval(l.current),l.current=setInterval(async()=>{await n()&&l.current&&(clearInterval(l.current),l.current=null)},2e3)},[n]),p=(0,b.useCallback)(async a=>{try{let b=await fetch("/api/linear/token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to save token"}}return await n(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[n]);return{connected:a,loading:d,user:f,clis:h,mcpConfigured:j,connect:o,connectWithKey:p,disconnect:(0,b.useCallback)(async()=>{await fetch("/api/linear/status",{method:"DELETE"}),c(!1),g(null)},[]),configureMcp:(0,b.useCallback)(async a=>{try{let b=await fetch("/api/linear/mcp-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:a})});if(!b.ok){let a=await b.json().catch(()=>({}));return{ok:!1,error:a.error||"Failed to configure MCP"}}return await m(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[m]),refresh:n}}])}];
2
-
3
- //# sourceMappingURL=apps_local_0t6p.qm._.js.map
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,794731,e=>{"use strict";let t=(0,e.i(363732).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],794731)},640481,e=>{"use strict";let t=(0,e.i(363732).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],640481)},580873,e=>{"use strict";let t=(0,e.i(363732).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",0,t],580873)},958164,e=>{"use strict";let t=(0,e.i(363732).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",0,t],958164)},807087,e=>{"use strict";let t=(0,e.i(363732).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",0,t],807087)},716436,e=>{"use strict";let t=(0,e.i(363732).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);e.s(["Activity",0,t],716436)},417442,e=>{"use strict";let t=(0,e.i(363732).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,t],417442)},33887,e=>{"use strict";var t=e.i(271645);e.s(["useLinearConnection",0,function(){let[e,r]=(0,t.useState)(!1),[a,s]=(0,t.useState)(!0),[n,l]=(0,t.useState)(null),[d,i]=(0,t.useState)({claude:!1,codex:!1,gemini:!1}),[o,c]=(0,t.useState)({}),u=(0,t.useRef)(null),m=(0,t.useCallback)(async()=>{try{let e=await fetch("/api/linear/mcp-setup"),t=await e.json();c(t.configured??{})}catch{}},[]),x=(0,t.useCallback)(async()=>{try{let[e,t]=await Promise.all([fetch("/api/linear/status"),fetch("/api/linear/mcp-setup")]),a=await e.json(),s=await t.json();return r(a.connected),l(a.user??null),i(a.clis??{claude:!1,codex:!1,gemini:!1}),c(s.configured??{}),a.connected}catch{return r(!1),!1}finally{s(!1)}},[]);(0,t.useEffect)(()=>(x(),()=>{u.current&&clearInterval(u.current)}),[x]);let p=(0,t.useCallback)(()=>{window.open("/api/linear/auth","_blank","noopener"),u.current&&clearInterval(u.current),u.current=setInterval(async()=>{await x()&&u.current&&(clearInterval(u.current),u.current=null)},2e3)},[x]),h=(0,t.useCallback)(async e=>{try{let t=await fetch("/api/linear/token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accessToken:e})});if(!t.ok){let e=await t.json().catch(()=>({}));return{ok:!1,error:e.error||"Failed to save token"}}return await x(),{ok:!0}}catch{return{ok:!1,error:"Failed to connect"}}},[x]);return{connected:e,loading:a,user:n,clis:d,mcpConfigured:o,connect:p,connectWithKey:h,disconnect:(0,t.useCallback)(async()=>{await fetch("/api/linear/status",{method:"DELETE"}),r(!1),l(null)},[]),configureMcp:(0,t.useCallback)(async e=>{try{let t=await fetch("/api/linear/mcp-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cli:e})});if(!t.ok){let e=await t.json().catch(()=>({}));return{ok:!1,error:e.error||"Failed to configure MCP"}}return await m(),{ok:!0}}catch{return{ok:!1,error:"Failed to configure MCP"}}},[m]),refresh:x}}])},317389,e=>{"use strict";var t=e.i(843476),r=e.i(271645),a=e.i(618566),s=e.i(716436);function n({projectSlug:e,projectThreadIds:l=[]}){let d=(0,a.useRouter)(),[i,o]=(0,r.useState)([]),[c,u]=(0,r.useState)([]),m=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/participants");if(!e.ok)return;let t=await e.json();u(Array.isArray(t)?t:t.participants??[])}catch{}},[]);(0,r.useEffect)(()=>{m()},[m]),(0,r.useEffect)(()=>{let t=!1,r=e.trim().toLowerCase(),a=new Set(l.map(e=>e.trim()).filter(Boolean)),s=async()=>{try{let e=await fetch("/api/processes?enrich=1");if(!e.ok||t)return;let s=await e.json();if(t)return;let n=s.filter(e=>"spawning"===e.state||"running"===e.state).filter(e=>{let t=e.projectSlug.trim().toLowerCase();return!!t&&t===r||a.has(e.workspaceId)||a.has(e.threadId)}).sort((e,t)=>t.lastActivity-e.lastActivity);o(n)}catch{}};s();let n=setInterval(s,3e3);return()=>{t=!0,clearInterval(n)}},[e,l]);let x=new Map(c.map(e=>[e.id,e.name])),p=e=>x.get(e)||e.slice(0,8),h=[],f=new Map;for(let e of i){let t=f.get(e.agentId);t||(t={agentId:e.agentId,agentName:p(e.agentId),activities:[]},f.set(e.agentId,t),h.push(t)),t.activities.push({key:`${e.workspaceId}-${e.threadId}-${e.agentId}`,workspaceId:e.workspaceId,threadId:e.threadId,state:e.state,threadLabel:e.threadTitle?.trim()?e.threadTitle.trim():e.threadId?.trim()?`Thread ${e.threadId.slice(0,12)}...`:"Main thread",lastActiveLabel:function(e){let t=Math.max(0,Math.floor((Date.now()-e)/1e3));if(t<5)return"Just now";if(t<60)return`${t}s ago`;let r=Math.floor(t/60);if(r<60)return`${r}m ago`;let a=Math.floor(r/60);if(a<24)return`${a}h ago`;let s=Math.floor(a/24);return`${s}d ago`}(e.lastActivity),lastActivity:e.lastActivity,linearIssueId:e.linearIssueId,linearRunId:e.linearRunId})}if(0===h.length)return null;let g=i.length;return(0,t.jsxs)("section",{className:"col-span-full overflow-hidden rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)]",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-[var(--border)] px-4 py-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:[(0,t.jsx)(s.Activity,{className:"h-3.5 w-3.5"}),"Working Now"]}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-[var(--muted-foreground)]",children:[h.length," ",1===h.length?"agent":"agents"," active across"," ",g," ",1===g?"thread":"threads","."]})]}),(0,t.jsxs)("span",{className:"rounded-full border border-[var(--status-completed-border)] bg-[var(--status-completed-bg)] px-2.5 py-1 text-[10px] font-medium uppercase tracking-wider text-[var(--status-completed-text)]",children:[g," live ",1===g?"entry":"entries"]})]}),(0,t.jsx)("div",{className:"divide-y divide-[var(--border)]",children:h.map(r=>(0,t.jsxs)("div",{className:"px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-sm font-medium text-[var(--foreground)]",children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full bg-emerald-400 animate-pulse"}),r.agentName]}),r.activities.length>1&&(0,t.jsxs)("span",{className:"rounded-full bg-[var(--secondary)] px-2 py-0.5 text-[10px] text-[var(--muted-foreground)]",children:[r.activities.length," threads"]})]}),(0,t.jsx)("div",{className:"space-y-1 ml-4",children:r.activities.map(r=>(0,t.jsxs)("div",{className:"mx-[-0.5rem] flex cursor-pointer items-center gap-3 rounded-lg px-2 py-1.5 text-sm transition-colors hover:bg-[var(--secondary)]",onClick:()=>d.push(r.linearIssueId&&r.linearRunId?`/projects/${e}/linear?issue=${encodeURIComponent(r.linearIssueId)}&run=${encodeURIComponent(r.linearRunId)}`:`/projects/${e}/thread/${encodeURIComponent(r.workspaceId)}${r.threadId?`?open=${encodeURIComponent(r.threadId)}`:""}`),children:[(0,t.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1.5 rounded-full border border-[var(--status-completed-border)] bg-[var(--status-completed-bg)] px-2 py-0.5 text-[11px] font-medium text-[var(--status-completed-text)]",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400"}),"spawning"===r.state?"Starting":"Working"]}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-[var(--foreground)]",children:r.threadLabel}),(0,t.jsx)("span",{className:"shrink-0 text-xs text-[var(--muted-foreground)]",children:r.lastActiveLabel})]},r.key))})]},r.agentId))})]})}var l=e.i(807087);function d({projectId:e,projectSlug:s,projectThreadIds:n=[]}){let i=(0,a.useRouter)(),[o,c]=(0,r.useState)([]),[u,m]=(0,r.useState)([]),[x,p]=(0,r.useState)([]),h=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/participants");if(!e.ok)return;let t=await e.json();m(Array.isArray(t)?t:t.participants??[])}catch{}},[]),f=(0,r.useCallback)(async()=>{try{let t=await fetch(`/api/projects/${e}/teams`);if(!t.ok)return;let r=await t.json();p(Array.isArray(r)?r:[])}catch{}},[e]);(0,r.useEffect)(()=>{h(),f()},[h,f]),(0,r.useEffect)(()=>{let e=!1,t=s.trim().toLowerCase(),r=new Set(n.map(e=>e.trim()).filter(Boolean)),a=async()=>{try{let a=await fetch("/api/processes?enrich=1");if(!a.ok||e)return;let s=await a.json();if(e)return;let n=s.filter(e=>"done"===e.state).filter(e=>{let a=e.projectSlug.trim().toLowerCase();return!!a&&a===t||r.has(e.workspaceId)||r.has(e.threadId)}).sort((e,t)=>t.lastActivity-e.lastActivity).slice(0,10);c(n)}catch{}};a();let l=setInterval(a,1e4);return()=>{e=!0,clearInterval(l)}},[s,n]);let g=new Map(u.map(e=>[e.id,e.name])),v=new Map;for(let e of x)for(let t of e.agents)v.set(t.agent_id,{id:e.id,name:e.name});return 0===o.length?null:(0,t.jsxs)("section",{className:"col-span-full overflow-hidden rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)]",children:[(0,t.jsx)("div",{className:"flex items-center justify-between gap-3 border-b border-[var(--border)] px-4 py-3",children:(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:[(0,t.jsx)(l.CheckCircle2,{className:"h-3.5 w-3.5"}),"Recently Completed"]}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-[var(--muted-foreground)]",children:["Last ",o.length," completed"," ",1===o.length?"task":"tasks","."]})]})}),(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"min-w-full text-sm",children:[(0,t.jsx)("thead",{className:"bg-[var(--secondary)]",children:(0,t.jsxs)("tr",{className:"text-left text-[11px] uppercase tracking-[0.18em] text-[var(--muted-foreground)]",children:[(0,t.jsx)("th",{className:"px-4 py-3 font-medium",children:"Team"}),(0,t.jsx)("th",{className:"px-4 py-3 font-medium",children:"Agent"}),(0,t.jsx)("th",{className:"px-4 py-3 font-medium",children:"Status"}),(0,t.jsx)("th",{className:"px-4 py-3 font-medium",children:"Thread"}),(0,t.jsx)("th",{className:"px-4 py-3 font-medium",children:"Last active"})]})}),(0,t.jsx)("tbody",{children:o.map(e=>{let r;return(0,t.jsxs)("tr",{className:"cursor-pointer border-t border-[var(--border)] text-[var(--foreground)] transition-colors hover:bg-[var(--secondary)]",onClick:()=>i.push(e.linearIssueId&&e.linearRunId?`/projects/${s}/linear?issue=${encodeURIComponent(e.linearIssueId)}&run=${encodeURIComponent(e.linearRunId)}`:`/projects/${s}/thread/${encodeURIComponent(e.workspaceId)}${e.threadId?`?open=${encodeURIComponent(e.threadId)}`:""}`),children:[(0,t.jsx)("td",{className:"px-4 py-3",children:v.has(e.agentId)?(0,t.jsx)("button",{onClick:t=>{t.stopPropagation(),i.push(`/projects/${s}/teams/${v.get(e.agentId).id}`)},className:"text-left font-medium text-[var(--foreground)] transition-colors hover:text-[var(--primary)]",children:v.get(e.agentId).name}):(0,t.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"Unassigned"})}),(0,t.jsx)("td",{className:"px-4 py-3 text-[var(--foreground)]",children:(r=e.agentId,g.get(r)||r.slice(0,8))}),(0,t.jsx)("td",{className:"px-4 py-3",children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-[var(--border)] bg-[var(--secondary)] px-2 py-0.5 text-[11px] font-medium text-[var(--muted-foreground)]",children:[(0,t.jsx)(l.CheckCircle2,{className:"h-3 w-3"}),"Done"]})}),(0,t.jsx)("td",{className:"max-w-[24rem] px-4 py-3 text-[var(--muted-foreground)]",children:(0,t.jsx)("span",{className:"block truncate",children:e.threadTitle?.trim()?e.threadTitle.trim():e.threadId?.trim()?`Thread ${e.threadId.slice(0,12)}...`:"Main thread"})}),(0,t.jsx)("td",{className:"px-4 py-3 text-[var(--muted-foreground)]",children:function(e){let t=Math.max(0,Math.floor((Date.now()-e)/1e3));if(t<5)return"Just now";if(t<60)return`${t}s ago`;let r=Math.floor(t/60);if(r<60)return`${r}m ago`;let a=Math.floor(r/60);if(a<24)return`${a}h ago`;let s=Math.floor(a/24);return`${s}d ago`}(e.lastActivity)})]},`${e.workspaceId}-${e.threadId}-${e.agentId}`)})})]})})]})}var i=e.i(572665),o=e.i(417442);function c({projectId:e,onViewAll:a}){let[s,n]=(0,r.useState)([]),[l,d]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{fetch(`/api/projects/${e}/teams`).then(e=>e.ok?e.json():{teams:[]}).then(e=>n(e.teams??[])).catch(()=>n([])).finally(()=>d(!1))},[e]),(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Users,{className:"h-4 w-4 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-sm font-medium text-[var(--foreground)]",children:"Teams"}),!l&&s.length>0&&(0,t.jsx)("span",{className:"rounded-full bg-[var(--secondary)] px-2 py-0.5 text-xs text-[var(--muted-foreground)]",children:s.length})]}),a&&(0,t.jsxs)("button",{onClick:a,className:"flex items-center gap-1 text-xs text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",children:["View all ",(0,t.jsx)(o.ArrowRight,{className:"w-3 h-3"})]})]}),l?(0,t.jsx)("div",{className:"space-y-2",children:[1,2,3].map(e=>(0,t.jsx)("div",{className:"h-5 animate-pulse rounded bg-[var(--muted)]"},e))}):0===s.length?(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No teams yet"}):(0,t.jsx)("div",{className:"space-y-2",children:s.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)(i.Users,{className:"h-4 w-4 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-[var(--foreground)]",children:e.name}),(0,t.jsxs)("span",{className:"text-[var(--muted-foreground)]",children:[e.agents.length," agents"]})]},e.id))})]})}var u=e.i(580873);function m({projectId:e,projectSlug:s,onViewAll:n}){let l=(0,a.useRouter)(),[d,i]=(0,r.useState)([]),[c,x]=(0,r.useState)([]),[p,h]=(0,r.useState)({}),[f,g]=(0,r.useState)(!0),[v,j]=(0,r.useState)(()=>Date.now());(0,r.useEffect)(()=>{let e=window.setInterval(()=>{j(Date.now())},3e4);return()=>{window.clearInterval(e)}},[]),(0,r.useEffect)(()=>{let t=!1,r=async()=>{try{let[r,a]=await Promise.all([fetch("/api/automations"),fetch(`/api/prompt-jobs?projectId=${encodeURIComponent(e)}`)]),s=r.ok?await r.json():{automations:[]},n=a.ok?await a.json():{jobs:[]};if(t)return;let l=(s.automations??[]).filter(t=>t.projectId===e).slice(0,20),d=(n.jobs??[]).filter(t=>t.projectId===e).slice(0,20);i(l),x(d);let o=Object.fromEntries(await Promise.all(d.map(async e=>{try{let t=await fetch(`/api/prompt-jobs/${encodeURIComponent(e.id)}/runs`);if(!t.ok)return[e.id,null];let r=((await t.json()).runs??[])[0]??null;return[e.id,r]}catch{return[e.id,null]}})));if(t)return;h(o)}catch{if(t)return;i([]),x([]),h({})}finally{t||g(!1)}};return g(!0),r(),()=>{t=!0}},[e]);let b=e=>{if(!s||"prompt"!==e.kind)return;let t=new URLSearchParams({job:e.jobId});e.runId&&t.set("run",e.runId),l.push(`/projects/${s}/automations?${t.toString()}`)},y=[...c.filter(e=>{let t=p[e.id];return t?.status==="queued"||t?.status==="running"}).map(e=>({id:`prompt:${e.id}`,title:e.name,kind:"prompt",jobId:e.id,runId:p[e.id]?.id??null,updatedAt:p[e.id]?.createdAt??e.updatedAt})),...d.filter(e=>"running"===e.executionState||e.schedule?.tickInProgress).map(e=>({id:`automation:${e.graphId}`,title:e.title,kind:"automation",updatedAt:e.updatedAt}))].sort((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt)),N=new Set(y.map(e=>e.id)),w=[...c.filter(e=>"active"===e.state&&"number"==typeof e.nextRunAt).map(e=>({id:`prompt:${e.id}`,title:e.name,kind:"prompt",jobId:e.id,runId:null,nextRunAt:e.nextRunAt})),...d.filter(e=>e.schedule?.state==="active"&&"number"==typeof e.schedule?.nextTickAt).map(e=>({id:`automation:${e.graphId}`,title:e.title,kind:"automation",nextRunAt:e.schedule.nextTickAt}))].filter(e=>!N.has(e.id)).sort((e,t)=>e.nextRunAt-t.nextRunAt),k=c.length+d.length;return(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(u.Clock,{className:"h-4 w-4 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-sm font-medium text-[var(--foreground)]",children:"Scheduled Tasks"}),!f&&k>0&&(0,t.jsx)("span",{className:"rounded-full bg-[var(--secondary)] px-2 py-0.5 text-xs text-[var(--muted-foreground)]",children:k})]}),n&&(0,t.jsxs)("button",{onClick:n,className:"flex items-center gap-1 text-xs text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",children:["View all ",(0,t.jsx)(o.ArrowRight,{className:"w-3 h-3"})]})]}),f?(0,t.jsx)("div",{className:"space-y-2",children:[1,2,3].map(e=>(0,t.jsx)("div",{className:"h-5 animate-pulse rounded bg-[var(--muted)]"},e))}):0===k?(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No scheduled tasks"}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs uppercase tracking-wide text-[var(--muted-foreground)]",children:[(0,t.jsx)("span",{children:"Currently running"}),(0,t.jsx)("span",{children:y.length})]}),0===y.length?(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"Nothing running right now"}):(0,t.jsx)("div",{className:"space-y-2",children:y.slice(0,3).map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>b(e),disabled:"prompt"!==e.kind||!s,className:`flex w-full items-center gap-2 rounded-md px-1 py-1 text-left text-sm transition-colors ${"prompt"===e.kind&&s?"cursor-pointer hover:bg-[var(--secondary)]":"cursor-default"}`,children:[(0,t.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full bg-emerald-400"}),(0,t.jsx)("span",{className:"truncate text-[var(--foreground)]",children:e.title}),(0,t.jsx)("span",{className:"ml-auto shrink-0 text-xs text-[var(--status-completed-text)]",children:"running"})]},e.id))})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs uppercase tracking-wide text-[var(--muted-foreground)]",children:[(0,t.jsx)("span",{children:"Upcoming runs"}),(0,t.jsx)("span",{children:w.length})]}),0===w.length?(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No upcoming runs"}):(0,t.jsx)("div",{className:"space-y-2",children:w.slice(0,3).map(e=>{var r;return(0,t.jsxs)("button",{type:"button",onClick:()=>b(e),disabled:"prompt"!==e.kind||!s,className:`flex w-full items-center gap-2 rounded-md px-1 py-1 text-left text-sm transition-colors ${"prompt"===e.kind&&s?"cursor-pointer hover:bg-[var(--secondary)]":"cursor-default"}`,children:[(0,t.jsx)(u.Clock,{className:"h-3.5 w-3.5 shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-[var(--foreground)]",children:e.title}),(0,t.jsxs)("div",{className:"text-xs text-[var(--muted-foreground)]",children:["number"!=typeof(r=e.nextRunAt)?"No next run":new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(new Date(r))," ",(0,t.jsxs)("span",{className:"text-[var(--app-shell-soft-text)]",children:["• ",(e=>{if("number"!=typeof e)return"";let t=e-v;if(t<=0)return"now";let r=Math.ceil(t/6e4);if(r<60)return`in ${r}m`;let a=Math.floor(r/60),s=r%60;if(a<24)return 0===s?`in ${a}h`:`in ${a}h ${s}m`;let n=Math.floor(a/24),l=a%24;return 0===l?`in ${n}d`:`in ${n}d ${l}h`})(e.nextRunAt)]})]})]})]},e.id)})})]})]})]})}var x=e.i(196630),p=e.i(640481),h=e.i(929870),f=e.i(794731),g=e.i(797167),v=e.i(524123);function j({projectId:e,repos:a,onViewAll:s}){let{updateProject:n}=(0,v.useProjects)(),[l,d]=(0,r.useState)(a),[i,c]=(0,r.useState)(!1),[u,m]=(0,r.useState)(null),[b,y]=(0,r.useState)(""),[N,w]=(0,r.useState)(""),[k,I]=(0,r.useState)(null);(0,r.useEffect)(()=>{d(a)},[a]);let C=e=>{I(e),window.setTimeout(()=>I(null),2500)},$=e=>e.map(e=>({id:e.id,name:e.name,path:e.path,git_url:e.git_url})),A=()=>{y(""),w(""),m(null),c(!1)},S=async()=>{let t=b.trim(),r=N.trim();if(t&&r){d([...l,{id:`tmp-${Date.now()}`,name:t,path:r}]),A();try{await n(e,{repos:[...$(l),{name:t,path:r}]}),C("Folder added")}catch{d(l),C("Failed to add folder")}}},R=async t=>{let r=b.trim(),a=N.trim();if(!r||!a)return;let s=l.map(e=>e.id===t?{...e,name:r,path:a}:e);d(s),A();try{await n(e,{repos:$(s)}),C("Folder updated")}catch{d(l),C("Failed to update folder")}},M=async t=>{let r=l.filter(e=>e.id!==t);d(r),u===t&&A();try{await n(e,{repos:$(r)}),C("Folder deleted")}catch{d(l),C("Failed to delete folder")}};return(0,t.jsxs)("div",{className:"rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(x.FolderGit2,{className:"h-4 w-4 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-sm font-medium text-[var(--foreground)]",children:"Folders"}),l.length>0&&(0,t.jsx)("span",{className:"rounded-full bg-[var(--secondary)] px-2 py-0.5 text-xs text-[var(--muted-foreground)]",children:l.length})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>{m(null),y(""),w(""),c(!0)},className:"flex items-center gap-1 text-xs text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",children:[(0,t.jsx)(h.Plus,{className:"w-3 h-3"}),"Add"]}),s&&(0,t.jsxs)("button",{onClick:s,className:"flex items-center gap-1 text-xs text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",children:["View all ",(0,t.jsx)(o.ArrowRight,{className:"w-3 h-3"})]})]})]}),k&&(0,t.jsx)("p",{className:"mb-3 text-xs text-[var(--muted-foreground)]",children:k}),(i||u)&&(0,t.jsxs)("div",{className:"mb-3 space-y-2 rounded-xl border border-[var(--border)] bg-[var(--secondary)] p-3",children:[(0,t.jsx)("input",{value:b,onChange:e=>y(e.target.value),className:"input w-full text-sm",placeholder:"Folder name",autoFocus:!0}),(0,t.jsx)("input",{value:N,onChange:e=>w(e.target.value),className:"input w-full text-sm",placeholder:"Local path"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{u?R(u):S()},disabled:!b.trim()||!N.trim(),className:"rounded-lg bg-[var(--foreground)] px-3 py-1.5 text-xs font-medium text-[var(--background)] disabled:opacity-40",children:"Save"}),(0,t.jsxs)("button",{type:"button",onClick:A,className:"flex items-center gap-1 rounded-lg px-2 py-1.5 text-xs text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",children:[(0,t.jsx)(g.X,{className:"w-3 h-3"}),"Cancel"]})]})]}),0===l.length?(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:"No folders linked"}):(0,t.jsx)("div",{className:"space-y-2",children:l.slice(0,5).map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)(x.FolderGit2,{className:"h-4 w-4 shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-[var(--foreground)]",children:e.name}),e.path&&(0,t.jsx)("div",{className:"truncate text-xs text-[var(--muted-foreground)]",children:e.path})]}),(0,t.jsx)("button",{type:"button",onClick:()=>{c(!1),m(e.id),y(e.name),w(e.path??"")},className:"p-1 text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]","aria-label":`Edit ${e.name}`,children:(0,t.jsx)(p.Pencil,{className:"w-3 h-3"})}),(0,t.jsx)("button",{type:"button",onClick:()=>void M(e.id),className:"p-1 text-[var(--muted-foreground)] transition-colors hover:text-[var(--destructive)]","aria-label":`Delete ${e.name}`,children:(0,t.jsx)(f.Trash2,{className:"w-3 h-3"})})]},e.id))})]})}var b=e.i(938201),y=e.i(902572),N=e.i(958164);let w={on_track:{label:"On Track",dot:"bg-[var(--status-completed)]",badge:"border-[var(--status-completed-border)] bg-[var(--status-completed-bg)] text-[var(--status-completed-text)]"},at_risk:{label:"At Risk",dot:"bg-[var(--status-blocked)]",badge:"border-[var(--status-blocked-border)] bg-[var(--status-blocked-bg)] text-[var(--status-blocked-text)]"},off_track:{label:"Off Track",dot:"bg-[var(--status-failed)]",badge:"border-[var(--status-failed-border)] bg-[var(--status-failed-bg)] text-[var(--status-failed-text)]"},done:{label:"Done",dot:"bg-[var(--muted-foreground)]",badge:"border-[var(--border)] bg-[var(--secondary)] text-[var(--muted-foreground)]"}};function k({objective:e,teamName:r,onClick:a}){let s=w[e.status]??w.on_track,n="done"===e.status;return(0,t.jsxs)("button",{type:"button",onClick:a,className:`w-full rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] p-4 text-left transition-colors hover:bg-[var(--secondary)] ${n?"opacity-60":""}`,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2 mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)("span",{className:`h-2 w-2 shrink-0 rounded-full ${s.dot}`}),(0,t.jsx)("span",{className:"truncate text-sm font-medium text-[var(--foreground)]",children:e.title})]}),(0,t.jsx)("span",{className:`shrink-0 rounded-full border px-2 py-0.5 text-[11px] font-medium ${s.badge}`,children:s.label})]}),(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)("div",{className:"h-1.5 overflow-hidden rounded-full bg-[var(--muted)]",children:(0,t.jsx)("div",{className:"h-full rounded-full bg-emerald-500/70 transition-all",style:{width:`${Math.min(e.progress,100)}%`}})})}),(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,t.jsxs)("span",{className:r?"":"flex items-center gap-1 text-[var(--status-blocked-text)]",children:[!r&&(0,t.jsx)(N.AlertTriangle,{className:"h-3 w-3"}),r??"No team"]}),(0,t.jsxs)("span",{children:[e.progress,"%"]})]})]})}function I({projectId:e,projectSlug:s}){let n=(0,a.useRouter)(),{projects:l,isLoading:d}=(0,v.useProjects)(),i=(0,r.useMemo)(()=>l.find(e=>e.slug===s),[l,s]),c=(0,r.useMemo)(()=>(0,y.readProjectObjectivesWorkspace)(i?.metadata).objectives,[i?.metadata]),[u,m]=(0,r.useState)([]);(0,r.useEffect)(()=>{fetch(`/api/projects/${e}/teams`).then(e=>e.ok?e.json():{teams:[]}).then(e=>m(e.teams??[])).catch(()=>m([]))},[e]);let x=(0,r.useMemo)(()=>new Map(u.map(e=>[e.id,e.name])),[u]),p=c.filter(e=>e.progress>=100).length;return d?(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[1,2].map(e=>(0,t.jsx)("div",{className:"h-28 animate-pulse rounded-2xl bg-[var(--muted)]"},e))}):0===c.length?(0,t.jsxs)("button",{type:"button",onClick:()=>n.push(`/projects/${s}/objectives`),className:"w-full rounded-2xl border border-dashed border-[var(--border)] bg-[var(--card-bg)] p-6 text-center transition-colors hover:border-[var(--card-hover-border)] hover:bg-[var(--secondary)]",children:[(0,t.jsx)(b.Target,{className:"mx-auto mb-2 h-5 w-5 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"text-sm text-[var(--muted-foreground)]",children:"Add your first objective"})]}):(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 text-xs text-[var(--muted-foreground)]",children:[(0,t.jsxs)("span",{children:[c.length," ",1===c.length?"objective":"objectives"]}),(0,t.jsx)("span",{className:"text-[var(--border)]",children:"|"}),(0,t.jsxs)("span",{children:[p,"/",c.length," complete"]})]}),(0,t.jsxs)("button",{onClick:()=>n.push(`/projects/${s}/objectives`),className:"flex items-center gap-1 text-xs text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",children:["View all ",(0,t.jsx)(o.ArrowRight,{className:"w-3 h-3"})]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:c.map(e=>(0,t.jsx)(k,{objective:e,teamName:x.get(e.teamId)??null,onClick:()=>n.push(`/projects/${s}/objectives/${encodeURIComponent(e.id)}`)},e.id))})]})}var C=e.i(597628),$=e.i(99296),A=e.i(33887),S=e.i(644660);function R({icon:e,title:r,accentClass:a,onClick:s,badge:n,children:l}){return(0,t.jsxs)("button",{type:"button",onClick:s,className:"w-full rounded-2xl border border-[var(--card-border)] bg-[var(--card-bg)] p-4 text-left transition-colors hover:bg-[var(--secondary)]",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:a,children:e}),(0,t.jsx)("span",{className:"text-sm font-medium text-[var(--foreground)]",children:r})]}),n]}),l&&(0,t.jsx)("div",{className:"text-sm",children:l})]})}function M({projectId:e,projectSlug:s,primaryThreadId:n}){let l=(0,a.useRouter)(),{connected:d,loading:i}=(0,A.useLinearConnection)(),[o,c]=(0,r.useState)(null),[u,m]=(0,r.useState)(0);return(0,r.useEffect)(()=>{let t=!1;return fetch(`/api/threads?projectId=${encodeURIComponent(e)}&limit=3&format=json`).then(e=>e.ok?e.json():{threads:{},total:0}).then(e=>{if(t)return;let r=Object.values(e.threads??{}).flatMap(e=>e.threads??[]).slice(0,3);c(r),m("number"==typeof e.total?e.total:r.length)}).catch(()=>{t||(c([]),m(0))}),()=>{t=!0}},[e]),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[(0,t.jsx)(R,{icon:(0,t.jsx)(C.MessageSquare,{className:"w-4 h-4"}),title:"Chat",accentClass:"text-indigo-400",onClick:()=>{n&&l.push(`/projects/${s}/thread/${encodeURIComponent(n)}`)},badge:u>0?(0,t.jsx)("span",{className:"rounded-full bg-[var(--secondary)] px-2 py-0.5 text-xs text-[var(--muted-foreground)]",children:u}):void 0,children:null===o?(0,t.jsx)("div",{className:"space-y-1.5",children:[1,2].map(e=>(0,t.jsx)("div",{className:"h-5 animate-pulse rounded bg-[var(--muted)]"},e))}):0===o.length?(0,t.jsx)("p",{className:"text-[var(--muted-foreground)]",children:"No threads yet"}):(0,t.jsx)("div",{className:"space-y-1",children:o.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 truncate text-[var(--foreground)]",children:[(0,t.jsx)(C.MessageSquare,{className:"h-3 w-3 shrink-0 text-[var(--muted-foreground)]"}),(0,t.jsx)("span",{className:"truncate",children:e.title})]},e.id))})}),(0,t.jsx)(R,{icon:(0,t.jsx)($.TerminalSquare,{className:"w-4 h-4"}),title:"Terminal",accentClass:"text-emerald-400",onClick:()=>l.push(`/projects/${s}/terminal`),children:(0,t.jsx)("p",{className:"text-[var(--muted-foreground)]",children:"No sessions yet"})}),(0,t.jsx)(R,{icon:(0,t.jsx)(S.LinearIcon,{className:"w-4 h-4"}),title:"Linear",accentClass:"text-blue-400",onClick:()=>l.push(`/projects/${s}/linear`),badge:i?void 0:d?(0,t.jsx)("span",{className:"rounded-full border border-[var(--status-completed-border)] bg-[var(--status-completed-bg)] px-2 py-0.5 text-[11px] text-[var(--status-completed-text)]",children:"Connected"}):(0,t.jsx)("span",{className:"rounded-full border border-[var(--border)] bg-[var(--secondary)] px-2 py-0.5 text-[11px] text-[var(--muted-foreground)]",children:"Connect"}),children:!i&&!d&&(0,t.jsx)("p",{className:"text-[var(--muted-foreground)]",children:"Connect to see issues"})})]})}function T({projectId:e,projectSlug:r,projectName:s,projectDescription:l,projectMetadata:i,repos:o,threadIds:u}){let x=(0,a.useRouter)(),p=u[0]??null;return(0,t.jsx)("div",{className:"h-full overflow-y-auto",children:(0,t.jsxs)("div",{className:"max-w-5xl mx-auto px-6 py-8 space-y-8",children:[l&&(0,t.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:l}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h2",{className:"mb-3 text-sm text-[var(--muted-foreground)]",children:"What you're working toward"}),(0,t.jsx)(I,{projectId:e,projectSlug:r})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h2",{className:"mb-3 text-sm text-[var(--muted-foreground)]",children:"Start working"}),(0,t.jsx)(M,{projectId:e,projectSlug:r,primaryThreadId:p})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h2",{className:"mb-3 text-sm text-[var(--muted-foreground)]",children:"What's happening now"}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(m,{projectId:e,projectSlug:r,onViewAll:()=>x.push(`/projects/${r}/automations`)}),(0,t.jsx)(n,{projectSlug:r,projectThreadIds:u}),(0,t.jsx)(d,{projectId:e,projectSlug:r,projectThreadIds:u})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsx)(j,{projectId:e,repos:o}),(0,t.jsx)(c,{projectId:e,onViewAll:()=>x.push(`/projects/${r}/teams`)})]})]})})}e.s(["default",0,function({params:e}){let{slug:a}=(0,r.use)(e),{projects:s}=(0,v.useProjectsWithAgents)(),n=s.find(e=>e.slug===a);return n?(0,t.jsx)(T,{projectId:n.id,projectSlug:n.slug,projectName:n.name,projectDescription:n.description,projectMetadata:n.metadata,repos:n.repos,threadIds:n.thread_ids}):(0,t.jsx)("div",{className:"flex items-center justify-center h-full text-sm text-zinc-500",children:"Loading project..."})}],317389)}]);