@mndrk/agx 2.2.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 (433) 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 +4 -4
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +4 -4
  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 +2 -2
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  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_client-reference-manifest.js +1 -1
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  212. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  213. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  214. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  215. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0-zk9w8._.js +7 -2
  216. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0.01bfe._.js +13 -8
  217. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__00c~p6z._.js +7 -2
  218. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__019dflu._.js +7 -2
  219. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__02t.3rm._.js +4 -4
  220. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__06zr0ph._.js +6 -1
  221. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__07d._0s._.js +15 -10
  222. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08xj~a3._.js +1 -1
  223. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0a0cq38._.js +34 -3
  224. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0asvfdo._.js +35 -4
  225. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0bt7ejs._.js +7 -2
  226. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0f.~98d._.js +7 -2
  227. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g-~-.q._.js +6 -1
  228. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g7p6pw._.js +1 -1
  229. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gj~dap._.js +40 -9
  230. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hkcw03._.js +8 -3
  231. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hyu3en._.js +7 -2
  232. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0i5aw03._.js +7 -2
  233. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ke4z91._.js +7 -2
  234. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0l53ok5._.js +41 -10
  235. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ll-~cx._.js +7 -2
  236. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0mh6p.0._.js +7 -2
  237. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0nc-lbr._.js +1 -1
  238. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0p9rl6.._.js +8 -3
  239. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0q~pnp0._.js +6 -6
  240. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ue0bu5._.js +6 -1
  241. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0unwwyx._.js +12 -7
  242. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0vtkl3q._.js +4 -4
  243. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0x6w64i._.js +1 -1
  244. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0z82z0-._.js +6 -1
  245. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0zrv3p3._.js +16 -11
  246. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~iknwz._.js +12 -7
  247. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10d.dhd._.js +46 -15
  248. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10sw5ia._.js +4 -4
  249. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__11yx.ud._.js +33 -2
  250. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__13-nlgu._.js +5 -5
  251. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__13960a8._.js +14 -9
  252. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_06qet8g._.js +14 -9
  253. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_0m2ly._.js +4 -4
  254. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0a15wtk._.js +4 -4
  255. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0fr1qq6._.js +1 -1
  256. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0g.q2r6._.js +6 -1
  257. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0i7fs.i._.js +4 -4
  258. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01pvj2g._.js +1 -1
  259. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_agent-participants_ts_0cq15u5._.js +1 -1
  260. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_db_ts_0twf-w5._.js +1 -1
  261. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_orchestrator_chat-processor_ts_0c2l_oh._.js +43 -12
  262. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_0l95hik._.js +15 -15
  263. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_sqlite-query-adapter_ts_0s5xprd._.js +1 -1
  264. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_082u-ls._.js +19 -14
  265. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_schedule-runner_ts_07-ozf_._.js +2 -2
  266. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0_l0fpi.js +1 -1
  267. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0gips_c.js +1 -1
  268. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0rszt9p.js +10 -6
  269. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0u_5kfo.js +1 -1
  270. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_06fnblz._.js +3 -0
  271. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0140-84._.js +3 -0
  272. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03fckp4._.js +3 -0
  273. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0tcjapj._.js → _0ip6k6n._.js} +2 -2
  274. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0jensz1._.js +3 -0
  275. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0t0p8q5._.js +3 -0
  276. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yeuuy1._.js +1 -23
  277. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_03z24q2._.js +1 -1
  278. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_ac-.f._.js +3 -3
  279. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0a-8i4p._.js +1 -1
  280. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0k4~c1x._.js +1 -1
  281. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0ld1uug._.js +1 -1
  282. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0ms1d6i._.js +4 -0
  283. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0p_v0ri._.js +1 -1
  284. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0x.xj52._.js +3 -0
  285. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0~g2ijr._.js +1 -1
  286. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_11k_-8~._.js +3 -3
  287. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_[id]_page_tsx_06n47n~._.js +1 -1
  288. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_page_tsx_078reb_._.js +1 -1
  289. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +25 -3
  290. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
  291. 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
  292. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_[teamId]_page_tsx_0iyozfl._.js +1 -1
  293. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_new_page_tsx_0yqd0a5._.js +1 -1
  294. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +1 -20
  295. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_setup_page_tsx_0ql2qmr._.js +1 -1
  296. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_PromptJobBoard_tsx_06zob36._.js +2 -2
  297. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +1 -1
  298. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_terminal_TerminalPane_tsx_0l17vs_._.js +22 -0
  299. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
  300. package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
  301. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  302. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  303. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
  304. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  305. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  306. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1011~1x9nj4ny.js → 0-k2m1ncx7hwx.js} +1 -1
  307. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0dnw31436wd~..js → 0-pkmgle2s8u8.js} +1 -1
  308. package/cloud-runtime/standalone/apps/local/.next/static/chunks/064jfmraty.9h.js +1 -0
  309. package/cloud-runtime/standalone/apps/local/.next/static/chunks/06kru5m9q~r.j.js +1 -0
  310. package/cloud-runtime/standalone/apps/local/.next/static/chunks/06kyg1q0bcz6p.js +5 -0
  311. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0_cjth28_11b2.js → 08bdyjcnamzep.js} +1 -1
  312. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0-olq~7zw3wjy.js → 08xq~uyr6.eqw.js} +1 -1
  313. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0gj98094p~zn4.js → 0cku81z~3oe6..js} +1 -1
  314. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0e7jhy0-52_4k.js +1 -0
  315. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0wh6p5~ft5rma.js → 0htc.sqrk_0.c.js} +1 -1
  316. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ju4xmxwqddw6.js +1 -0
  317. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0mm978wb-ueg-.js +6 -0
  318. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0musu8f.4wvxz.js +1 -0
  319. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0bchtyu6m.2yv.js → 0muti0yiyhu0t.js} +1 -1
  320. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0rhps884e-bzu.js +1 -0
  321. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0rr3fvwc5ind~.js +5 -0
  322. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0sbkkjowkksa6.js +1 -0
  323. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0sjz0.o9_33qy.js +1 -0
  324. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0srzmg8ivve1g.css +1 -0
  325. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0fonouj2i9qnb.js → 0swo3_e8.4s7j.js} +2 -2
  326. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0sysrf3~l~r35.js +1 -0
  327. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0t69h-kc701fn.js +1 -0
  328. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0v67lnh..wj4z.js +1 -0
  329. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{013gtut17~fne.js → 0wb45ol1xrqe~.js} +1 -23
  330. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{00po4v2x~0x_z.js → 0wiw2v8gm-k_-.js} +1 -1
  331. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0jq0t4zip38wt.js → 0wopevh0s7.8c.js} +1 -1
  332. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xm2~gxlt1npd.js +1 -0
  333. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1503vb7lb6.g1.js → 0ya124ushze_f.js} +4 -4
  334. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{00e1ihnb6ap3t.js → 0zt2o58c5gytn.js} +2 -2
  335. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0~idsggr8vqf5.js +59 -0
  336. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0xu_doej_wc-3.js → 0~mcfx41q4znh.js} +3 -3
  337. package/cloud-runtime/standalone/apps/local/.next/static/chunks/116j4mjz~y42t.js +1 -0
  338. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0-vo_x2cxmjm3.js → 12b62py0mq1gm.js} +4 -4
  339. package/cloud-runtime/standalone/apps/local/.next/static/chunks/12y5i0lh6s73o.js +1 -0
  340. package/cloud-runtime/standalone/apps/local/.next/static/chunks/148.mt80civoz.js +20 -0
  341. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14m5d270euu_s.js +1 -0
  342. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16h9208kl5~xa.js +16 -0
  343. package/cloud-runtime/standalone/apps/local/app/agents/[id]/page.tsx +6 -3
  344. package/cloud-runtime/standalone/apps/local/app/agents/page.tsx +3 -3
  345. package/cloud-runtime/standalone/apps/local/app/api/chat/route.ts +7 -1
  346. package/cloud-runtime/standalone/apps/local/app/api/participants/route.ts +9 -9
  347. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/search/route.ts +6 -6
  348. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/route.ts +3 -3
  349. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/agents/route.ts +1 -1
  350. package/cloud-runtime/standalone/apps/local/app/api/schedules/poll/route.ts +11 -2
  351. package/cloud-runtime/standalone/apps/local/app/page.tsx +72 -14
  352. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/page.tsx +34 -1
  353. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.tsx +6 -3
  354. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/[teamId]/page.tsx +6 -3
  355. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/new/page.tsx +8 -17
  356. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/replace/page.tsx +1 -1
  357. package/cloud-runtime/standalone/apps/local/app/projects/page.tsx +7 -0
  358. package/cloud-runtime/standalone/apps/local/app/setup/page.tsx +1 -38
  359. package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +8 -4
  360. package/cloud-runtime/standalone/apps/local/components/EmptyStateCard.tsx +37 -0
  361. package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +103 -770
  362. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +5 -37
  363. package/cloud-runtime/standalone/apps/local/components/TeamPickerModal.tsx +3 -3
  364. package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +28 -32
  365. package/cloud-runtime/standalone/apps/local/components/chat-ui/ParticipantBar.tsx +24 -39
  366. package/cloud-runtime/standalone/apps/local/components/linear/LinearBoardFilters.tsx +343 -0
  367. package/cloud-runtime/standalone/apps/local/components/linear/TicketRow.tsx +158 -0
  368. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveHealthTrend.tsx +45 -61
  369. package/cloud-runtime/standalone/apps/local/components/projects/RecentlyCompletedCard.tsx +0 -16
  370. package/cloud-runtime/standalone/apps/local/components/projects/ReplaceAgentsModal.tsx +2 -2
  371. package/cloud-runtime/standalone/apps/local/components/setup/McpSetupStep.tsx +155 -120
  372. package/cloud-runtime/standalone/apps/local/components/setup/ProviderStep.tsx +85 -88
  373. package/cloud-runtime/standalone/apps/local/components/setup/SetupLayout.tsx +6 -4
  374. package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +18 -193
  375. package/cloud-runtime/standalone/apps/local/components/terminal/TerminalPane.tsx +40 -4
  376. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +4 -4
  377. package/cloud-runtime/standalone/apps/local/components/ui/ResizeHandle.tsx +52 -0
  378. package/cloud-runtime/standalone/apps/local/hooks/useAutomations.ts +8 -3
  379. package/cloud-runtime/standalone/apps/local/hooks/useLinearActiveAgents.ts +38 -0
  380. package/cloud-runtime/standalone/apps/local/hooks/useLinearParticipants.ts +118 -0
  381. package/cloud-runtime/standalone/apps/local/hooks/usePromptJobs.ts +5 -3
  382. package/cloud-runtime/standalone/apps/local/hooks/useSetupFlow.ts +6 -81
  383. package/cloud-runtime/standalone/apps/local/lib/agent-participants.ts +1 -1
  384. package/cloud-runtime/standalone/apps/local/lib/agent-process-registry.ts +34 -0
  385. package/cloud-runtime/standalone/apps/local/lib/db.ts +5 -5
  386. package/cloud-runtime/standalone/apps/local/lib/linear-board-utils.ts +9 -0
  387. package/cloud-runtime/standalone/apps/local/lib/linear-run-status.ts +88 -0
  388. package/cloud-runtime/standalone/apps/local/lib/linear-run-store.ts +4 -4
  389. package/cloud-runtime/standalone/apps/local/lib/sqlite-query-adapter.ts +5 -1
  390. package/cloud-runtime/standalone/apps/local/lib/team-catalog.ts +60 -60
  391. package/cloud-runtime/standalone/apps/local/lib/types.ts +1 -1
  392. package/cloud-runtime/standalone/apps/local/migrations/sqlite_schema.sql +1 -1
  393. package/cloud-runtime/standalone/apps/local/skills-lock.json +5 -0
  394. package/cloud-runtime/standalone/apps/local/src/graph/schedule-runner.ts +26 -1
  395. package/cloud-runtime/standalone/apps/local/src/graph/store.ts +13 -0
  396. package/cloud-runtime/standalone/apps/local/state/linearBoardPins.ts +45 -0
  397. package/cloud-runtime/standalone/apps/local/worker/index.js +56 -4
  398. package/lib/cli/onboarding.js +8 -5
  399. package/package.json +1 -1
  400. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_067eb..._.js +0 -3
  401. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_00trrg8._.js +0 -3
  402. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +0 -3
  403. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0sjchy6._.js +0 -3
  404. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0w4gpvr._.js +0 -3
  405. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0x6hh0t._.js +0 -4
  406. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0t6p.qm._.js +0 -3
  407. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-wlbe.ripd2w.css +0 -1
  408. package/cloud-runtime/standalone/apps/local/.next/static/chunks/014z_yruiincl.js +0 -1
  409. package/cloud-runtime/standalone/apps/local/.next/static/chunks/041-dhls9zkl1.js +0 -1
  410. package/cloud-runtime/standalone/apps/local/.next/static/chunks/069yt_7prdxsp.js +0 -1
  411. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0e6rxcxy.l5c8.js +0 -1
  412. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ime4btrg-g4l.js +0 -1
  413. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0j-nhn61e~nnj.js +0 -1
  414. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jglardpw~5uc.js +0 -37
  415. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l3v45kd.9is_.js +0 -1
  416. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ng6wy4ak35jg.js +0 -1
  417. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0n~jhoq~op4e5.js +0 -16
  418. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p-rdas54yo~w.js +0 -1
  419. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pdrpsy-zdxp0.js +0 -5
  420. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p~l5ap6qqx2o.js +0 -1
  421. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0tm20~ec~occu.js +0 -1
  422. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0w94x-v00osq0.js +0 -1
  423. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xwny92a.ad_i.js +0 -1
  424. package/cloud-runtime/standalone/apps/local/.next/static/chunks/11l2tww5f0hsk.js +0 -20
  425. package/cloud-runtime/standalone/apps/local/.next/static/chunks/12qohmk-~yrtg.js +0 -1
  426. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14v~9vx3tdv85.js +0 -1
  427. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16fyhcmwlw3th.js +0 -6
  428. package/cloud-runtime/standalone/apps/local/.next/static/chunks/18e8w~~mvoh5o.js +0 -1
  429. package/cloud-runtime/standalone/apps/local/components/setup/ProjectStep.tsx +0 -189
  430. package/cloud-runtime/standalone/apps/local/components/setup/TeamsStep.tsx +0 -500
  431. /package/cloud-runtime/standalone/apps/local/.next/static/{qPuactsz6OYimwT6dSdHn → ROMPfjQqFXqGHmbybq1eC}/_buildManifest.js +0 -0
  432. /package/cloud-runtime/standalone/apps/local/.next/static/{qPuactsz6OYimwT6dSdHn → ROMPfjQqFXqGHmbybq1eC}/_clientMiddlewareManifest.js +0 -0
  433. /package/cloud-runtime/standalone/apps/local/.next/static/{qPuactsz6OYimwT6dSdHn → ROMPfjQqFXqGHmbybq1eC}/_ssgManifest.js +0 -0
@@ -90,7 +90,7 @@ module.exports=[11061,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node
90
90
  )
91
91
  LEFT JOIN messages msg ON msg.thread_id = lr.thread_id AND msg.id = lr.root_message_id
92
92
  WHERE lr.id = ?
93
- LIMIT 1`).get(e.id.trim());return i?l(i):null})}async function E(e){return c(t=>{let a=t.prepare(`SELECT
93
+ LIMIT 1`).get(e.id.trim());return i?l(i):null})}async function T(e){return c(t=>{let a=t.prepare(`SELECT
94
94
  lr.*,
95
95
  cr.status AS chat_status,
96
96
  cr.last_error AS chat_last_error,
@@ -104,7 +104,7 @@ module.exports=[11061,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node
104
104
  )
105
105
  LEFT JOIN messages msg ON msg.thread_id = lr.thread_id AND msg.id = lr.root_message_id
106
106
  WHERE lr.id = ?
107
- LIMIT 1`).get(e.trim());return a?l(a):null})}async function m(e){let t=e.issueId.trim(),a=o(e.projectId??null),r=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),100):50;return c(e=>{let i=[t],s=["lr.issue_id = ?"];return a&&(s.push("lr.project_id = ?"),i.push(a)),i.push(r),e.prepare(`SELECT
107
+ LIMIT 1`).get(e.trim());return a?l(a):null})}async function E(e){let t=e.issueId.trim(),a=o(e.projectId??null),r=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),100):50;return c(e=>{let i=[t],s=["lr.issue_id = ?"];return a&&(s.push("lr.project_id = ?"),i.push(a)),i.push(r),e.prepare(`SELECT
108
108
  lr.*,
109
109
  cr.status AS chat_status,
110
110
  cr.last_error AS chat_last_error,
@@ -119,23 +119,23 @@ module.exports=[11061,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node
119
119
  LEFT JOIN messages msg ON msg.thread_id = lr.thread_id AND msg.id = lr.root_message_id
120
120
  WHERE ${s.join(" AND ")}
121
121
  ORDER BY lr.created_at DESC
122
- LIMIT ?`).all(...i).map(l)})}async function T(e){return c(t=>{let a=e?.trim(),r=a?`SELECT issue_id, MAX(created_at) AS last_activity_at
122
+ LIMIT ?`).all(...i).map(l)})}async function m(e){return c(t=>{let a=e?.trim(),r=a?`SELECT issue_id, MAX(created_at) AS last_activity_at
123
123
  FROM linear_runs
124
124
  WHERE project_id = ?
125
125
  GROUP BY issue_id`:`SELECT issue_id, MAX(created_at) AS last_activity_at
126
126
  FROM linear_runs
127
127
  GROUP BY issue_id`,i=a?t.prepare(r).all(e.trim()):t.prepare(r).all(),s=new Map;for(let e of i)s.set(e.issue_id,new Date(e.last_activity_at).toISOString());return s})}async function g(e){return c(t=>{let a=e?.trim(),r=a?`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
128
128
  FROM linear_runs lr
129
- LEFT JOIN chat_runs cr ON cr.id = (
129
+ INNER JOIN chat_runs cr ON cr.id = (
130
130
  SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
131
131
  )
132
- WHERE (lr.status IN ('queued', 'running') OR cr.status IN ('queued', 'running'))
132
+ WHERE cr.status IN ('queued', 'running')
133
133
  AND lr.project_id = ?`:`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
134
134
  FROM linear_runs lr
135
- LEFT JOIN chat_runs cr ON cr.id = (
135
+ INNER JOIN chat_runs cr ON cr.id = (
136
136
  SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
137
137
  )
138
- WHERE (lr.status IN ('queued', 'running') OR cr.status IN ('queued', 'running'))`;return(a?t.prepare(r).all(e.trim()):t.prepare(r).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,p,"getIssueActiveAgents",0,g,"getIssueActivityMap",0,T,"getLinearRun",0,E,"listLinearRuns",0,m,"updateLinearRun",0,_])},812057,(e,t,a)=>{t.exports=e.x("node:util",()=>require("node:util"))},508763,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),a=e.i(769025),r=e.i(522734),i=e.i(814747),s=e.i(446786);let n=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(s.default.homedir(),".agx","group-chat"),d=i.default.join(n,"history.sqlite"),o=i.default.join(n,"uploads");function u(){let e=new t.DatabaseSync(d);return(0,a.pragmaSet)(e,"journal_mode = WAL"),e}function l(e){if(e.exec(`
138
+ WHERE cr.status IN ('queued', 'running')`;return(a?t.prepare(r).all(e.trim()):t.prepare(r).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,p,"getIssueActiveAgents",0,g,"getIssueActivityMap",0,m,"getLinearRun",0,T,"listLinearRuns",0,E,"updateLinearRun",0,_])},812057,(e,t,a)=>{t.exports=e.x("node:util",()=>require("node:util"))},508763,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),a=e.i(769025),r=e.i(522734),i=e.i(814747),s=e.i(446786);let n=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(s.default.homedir(),".agx","group-chat"),d=i.default.join(n,"history.sqlite"),o=i.default.join(n,"uploads");function u(){let e=new t.DatabaseSync(d);return(0,a.pragmaSet)(e,"journal_mode = WAL"),e}function l(e){if(e.exec(`
139
139
  CREATE TABLE IF NOT EXISTS attachments (
140
140
  id TEXT PRIMARY KEY,
141
141
  message_id TEXT,
@@ -148,9 +148,9 @@ module.exports=[11061,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node
148
148
  );
149
149
  CREATE INDEX IF NOT EXISTS idx_attachments_message ON attachments(message_id);
150
150
  `),!e.prepare("PRAGMA table_info(attachments)").all().some(e=>"disk_name"===e.name)){e.exec("ALTER TABLE attachments ADD COLUMN disk_name TEXT NOT NULL DEFAULT ''");let t=e.prepare("SELECT id, filename FROM attachments WHERE disk_name = ''").all(),a=e.prepare("UPDATE attachments SET disk_name = ? WHERE id = ?");for(let e of t){let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"";a.run(e.id+t,e.id)}}}async function c(e){await r.promises.mkdir(o,{recursive:!0});let t=e.filename.includes(".")?"."+e.filename.split(".").pop().toLowerCase():"",a=e.id+t,s=i.default.join(o,a);await r.promises.writeFile(s,e.data);let n=u();try{l(n),n.prepare(`INSERT INTO attachments (id, disk_name, filename, mime_type, size, status, created_at)
151
- VALUES (?, ?, ?, ?, ?, 'uploaded', ?)`).run(e.id,a,e.filename,e.mimeType,e.size,Date.now())}finally{n.close()}return{id:e.id,filename:e.filename,mimeType:e.mimeType,size:e.size,status:"uploaded",url:`/api/attachments/${e.id}`}}async function p(e,t){if(0===t.length)return[];let a=u();try{l(a);let r=t.map(()=>"?").join(", ");return a.prepare(`UPDATE attachments SET message_id = ? WHERE id IN (${r})`).run(e,...t),a.prepare(`SELECT id, disk_name, filename, mime_type, size, status FROM attachments WHERE id IN (${r})`).all(...t).map(e=>({id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`,diskPath:i.default.join(o,e.disk_name||e.id)}))}finally{a.close()}}async function _(e){let t=i.default.join(o,e);try{await r.promises.unlink(t)}catch{}let a=u();try{return l(a),a.prepare("DELETE FROM attachments WHERE id = ?").run(e).changes>0}finally{a.close()}}async function E(e){let t=u();try{l(t);let a=t.prepare("SELECT filename, disk_name, mime_type, size FROM attachments WHERE id = ?").get(e);if(!a)return null;let r=a.disk_name||e;return{filename:a.filename,mimeType:a.mime_type,size:a.size,diskPath:i.default.join(o,r)}}finally{t.close()}}async function m(e){if(0===e.length)return new Map;let t=u();try{l(t);let a=e.map(()=>"?").join(", "),r=t.prepare(`SELECT id, message_id, filename, mime_type, size, status
151
+ VALUES (?, ?, ?, ?, ?, 'uploaded', ?)`).run(e.id,a,e.filename,e.mimeType,e.size,Date.now())}finally{n.close()}return{id:e.id,filename:e.filename,mimeType:e.mimeType,size:e.size,status:"uploaded",url:`/api/attachments/${e.id}`}}async function p(e,t){if(0===t.length)return[];let a=u();try{l(a);let r=t.map(()=>"?").join(", ");return a.prepare(`UPDATE attachments SET message_id = ? WHERE id IN (${r})`).run(e,...t),a.prepare(`SELECT id, disk_name, filename, mime_type, size, status FROM attachments WHERE id IN (${r})`).all(...t).map(e=>({id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`,diskPath:i.default.join(o,e.disk_name||e.id)}))}finally{a.close()}}async function _(e){let t=i.default.join(o,e);try{await r.promises.unlink(t)}catch{}let a=u();try{return l(a),a.prepare("DELETE FROM attachments WHERE id = ?").run(e).changes>0}finally{a.close()}}async function T(e){let t=u();try{l(t);let a=t.prepare("SELECT filename, disk_name, mime_type, size FROM attachments WHERE id = ?").get(e);if(!a)return null;let r=a.disk_name||e;return{filename:a.filename,mimeType:a.mime_type,size:a.size,diskPath:i.default.join(o,r)}}finally{t.close()}}async function E(e){if(0===e.length)return new Map;let t=u();try{l(t);let a=e.map(()=>"?").join(", "),r=t.prepare(`SELECT id, message_id, filename, mime_type, size, status
152
152
  FROM attachments
153
- WHERE message_id IN (${a})`).all(...e),i=new Map;for(let e of r){let t={id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`},a=i.get(e.message_id)||[];a.push(t),i.set(e.message_id,a)}return i}finally{t.close()}}async function T(){let e=Date.now()-864e5,t=u();try{l(t);let a=t.prepare("SELECT id, disk_name FROM attachments WHERE message_id IS NULL AND created_at < ?").all(e);for(let{id:e,disk_name:t}of a){let a=i.default.join(o,t||e);try{await r.promises.unlink(a)}catch{}}if(a.length>0){let e=a.map(()=>"?").join(", ");t.prepare(`DELETE FROM attachments WHERE id IN (${e})`).run(...a.map(e=>e.id))}return a.length}finally{t.close()}}e.s(["createAttachment",0,c,"deleteAttachment",0,_,"finalizeAttachments",0,p,"gcOrphanedAttachments",0,T,"getAttachmentMeta",0,E,"getAttachmentsForMessages",0,m])},558174,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),a=e.i(769025),r=e.i(814747),i=e.i(446786),s=e.i(522734);let n=process.env.AGX_GROUP_CHAT_DIR?.trim()||r.default.join(i.default.homedir(),".agx","group-chat"),d=r.default.join(n,"history.sqlite");function o(e){return{id:e.id,workspaceId:e.workspace_id,threadId:e.thread_id,agentId:e.agent_id,pid:e.pid,state:e.state,sinceMessageId:e.since_message_id,responseMessageId:e.response_message_id||"",startedAt:e.started_at,lastActivity:e.last_activity,projectSlug:e.project_slug||""}}function u(e){let r=function(){(0,s.mkdirSync)(n,{recursive:!0});let e=new t.DatabaseSync(d);(0,a.pragmaSet)(e,"journal_mode = WAL"),e.exec(`
153
+ WHERE message_id IN (${a})`).all(...e),i=new Map;for(let e of r){let t={id:e.id,filename:e.filename,mimeType:e.mime_type,size:e.size,status:e.status,url:`/api/attachments/${e.id}`},a=i.get(e.message_id)||[];a.push(t),i.set(e.message_id,a)}return i}finally{t.close()}}async function m(){let e=Date.now()-864e5,t=u();try{l(t);let a=t.prepare("SELECT id, disk_name FROM attachments WHERE message_id IS NULL AND created_at < ?").all(e);for(let{id:e,disk_name:t}of a){let a=i.default.join(o,t||e);try{await r.promises.unlink(a)}catch{}}if(a.length>0){let e=a.map(()=>"?").join(", ");t.prepare(`DELETE FROM attachments WHERE id IN (${e})`).run(...a.map(e=>e.id))}return a.length}finally{t.close()}}e.s(["createAttachment",0,c,"deleteAttachment",0,_,"finalizeAttachments",0,p,"gcOrphanedAttachments",0,m,"getAttachmentMeta",0,T,"getAttachmentsForMessages",0,E])},558174,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),a=e.i(769025),r=e.i(814747),i=e.i(446786),s=e.i(522734);let n=process.env.AGX_GROUP_CHAT_DIR?.trim()||r.default.join(i.default.homedir(),".agx","group-chat"),d=r.default.join(n,"history.sqlite");function o(e){return{id:e.id,workspaceId:e.workspace_id,threadId:e.thread_id,agentId:e.agent_id,pid:e.pid,state:e.state,sinceMessageId:e.since_message_id,responseMessageId:e.response_message_id||"",startedAt:e.started_at,lastActivity:e.last_activity,projectSlug:e.project_slug||""}}function u(e){let r=function(){(0,s.mkdirSync)(n,{recursive:!0});let e=new t.DatabaseSync(d);(0,a.pragmaSet)(e,"journal_mode = WAL"),e.exec(`
154
154
  CREATE TABLE IF NOT EXISTS agent_processes (
155
155
  id INTEGER PRIMARY KEY AUTOINCREMENT,
156
156
  workspace_id TEXT NOT NULL,
@@ -164,7 +164,38 @@ module.exports=[11061,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node
164
164
  project_slug TEXT NOT NULL DEFAULT '',
165
165
  UNIQUE (workspace_id, agent_id)
166
166
  )
167
- `),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_state ON agent_processes (state)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_thread ON agent_processes (thread_id)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_workspace ON agent_processes (workspace_id)");try{e.exec("ALTER TABLE agent_processes ADD COLUMN project_slug TEXT NOT NULL DEFAULT ''")}catch{}try{e.exec("ALTER TABLE agent_processes ADD COLUMN response_message_id TEXT NOT NULL DEFAULT ''")}catch{}return e}();try{return e(r)}finally{r.close()}}function l(e){return u(t=>t.prepare("SELECT * FROM agent_processes WHERE thread_id = ?").all(e).map(o))}function c(e){return u(t=>t.prepare("SELECT * FROM agent_processes WHERE workspace_id = ?").all(e).map(o))}function p(e){let t=0;for(let a of e){if(a.pid>0)try{process.kill(a.pid,"SIGTERM")}catch{}t++}return t}e.s(["getAll",0,function(){return u(e=>e.prepare("SELECT * FROM agent_processes").all().map(o))},"getAllEnriched",0,function(){return u(e=>e.prepare(`
167
+ `),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_state ON agent_processes (state)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_thread ON agent_processes (thread_id)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_workspace ON agent_processes (workspace_id)");try{e.exec("ALTER TABLE agent_processes ADD COLUMN project_slug TEXT NOT NULL DEFAULT ''")}catch{}try{e.exec("ALTER TABLE agent_processes ADD COLUMN response_message_id TEXT NOT NULL DEFAULT ''")}catch{}return e.exec(`
168
+ CREATE TABLE IF NOT EXISTS messages (
169
+ thread_id TEXT NOT NULL,
170
+ id TEXT NOT NULL,
171
+ role TEXT NOT NULL,
172
+ participant_id TEXT,
173
+ content TEXT NOT NULL,
174
+ timestamp INTEGER NOT NULL,
175
+ PRIMARY KEY (thread_id, id)
176
+ )
177
+ `),e.exec(`
178
+ CREATE TABLE IF NOT EXISTS linear_runs (
179
+ id TEXT PRIMARY KEY,
180
+ project_id TEXT,
181
+ project_slug TEXT,
182
+ issue_id TEXT NOT NULL,
183
+ issue_identifier TEXT NOT NULL,
184
+ issue_title TEXT NOT NULL,
185
+ issue_status TEXT NOT NULL,
186
+ issue_assignee TEXT,
187
+ thread_id TEXT NOT NULL,
188
+ root_message_id TEXT,
189
+ chat_run_id TEXT,
190
+ agent_id TEXT NOT NULL,
191
+ agent_name TEXT NOT NULL,
192
+ mode TEXT NOT NULL DEFAULT 'chat',
193
+ status TEXT NOT NULL DEFAULT 'queued',
194
+ error TEXT,
195
+ created_at INTEGER NOT NULL,
196
+ updated_at INTEGER NOT NULL
197
+ )
198
+ `),e}();try{return e(r)}finally{r.close()}}function l(e){return u(t=>t.prepare("SELECT * FROM agent_processes WHERE thread_id = ?").all(e).map(o))}function c(e){return u(t=>t.prepare("SELECT * FROM agent_processes WHERE workspace_id = ?").all(e).map(o))}function p(e){let t=0;for(let a of e){if(a.pid>0)try{process.kill(a.pid,"SIGTERM")}catch{}t++}return t}e.s(["getAll",0,function(){return u(e=>e.prepare("SELECT * FROM agent_processes").all().map(o))},"getAllEnriched",0,function(){return u(e=>e.prepare(`
168
199
  SELECT ap.*, substr(m.content, 1, 120) AS thread_title,
169
200
  lr.issue_id AS linear_issue_id, lr.id AS linear_run_id
170
201
  FROM agent_processes ap
@@ -186,7 +217,7 @@ module.exports=[11061,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node
186
217
  project_slug = excluded.project_slug`).run(e.workspaceId,e.threadId,e.agentId,e.pid,e.state,e.sinceMessageId,e.responseMessageId||"",e.startedAt,e.lastActivity,e.projectSlug||"");if(1===a.changes&&a.lastInsertRowid)return Number(a.lastInsertRowid);let r=t.prepare("SELECT id FROM agent_processes WHERE workspace_id = ? AND agent_id = ?").get(e.workspaceId,e.agentId);return r?.id??0})},"update",0,function(e,t,a){let r=[],i=[];void 0!==a.state&&(r.push("state = ?"),i.push(a.state)),void 0!==a.lastActivity&&(r.push("last_activity = ?"),i.push(a.lastActivity)),void 0!==a.pid&&(r.push("pid = ?"),i.push(a.pid)),0!==r.length&&u(a=>a.prepare(`UPDATE agent_processes SET ${r.join(", ")} WHERE workspace_id = ? AND agent_id = ?`).run(...i,e,t))}])},84548,e=>{"use strict";e.s(["buildMarkdownWithFrontmatter",0,function(e,t){return`---
187
218
  ${Object.entries(e).map(([e,t])=>`${e}: ${null==t?"":String(t)}`).join("\n")}
188
219
  ---
189
- ${t}`}])},689303,e=>{"use strict";var t=e.i(488877);e.s(["listResolvedRepoKnowledge",0,function(e){let a=[];for(let r of e){if(!r.id){let e=String(r.notes??"").trim();if(!e)continue;a.push({repoId:"",repoName:r.name,path:r.path??null,content:e,producer:"human"});continue}let e=t.vaultStore.getKnowledgeNote("repo",r.id),i=e?.content.trim()||String(r.notes??"").trim();i&&a.push({repoId:r.id,repoName:r.name,path:r.path??null,content:i,producer:"human"})}return a}])},273406,e=>{"use strict";var t=e.i(744071),a=e.i(391310);function r(e,t){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function i(e){var t;let a,i,s=e.issue.identifier.trim()||"TICKET-ID",n=e.issue.title.trim()||"Untitled ticket",d=String(e.issue.status??"").trim()||"Unknown",o=String(e.issue.assignee??"").trim()||"Unassigned",u=function(e){let t=String(e?.slug??"").trim();if(t)return r(t,"project");let a=String(e?.name??"").trim();return a?r(a,"project"):"project"}(e.project),l=String(e.project?.name??"").trim()||u,c=String(e.runtime?.knowledgeBaseRoot??"").trim()||`~/.agx/vault/${u}`,p=String(e.runtime?.issueKnowledgePath??"").trim()||`${c}/issues/${s}/`,_=String(e.runtime?.isolatedWorktreePath??"").trim()||`/tmp/agx-${r(s,"ticket")}`;return{issue:{identifier:s,title:n,status:d,assignee:o},project:{name:l,slug:u,label:(t=e.project,a=String(t?.name??"").trim(),i=String(t?.slug??"").trim(),a&&i?`${a} (${i})`:a||i||"current project"),repos:e.project?.repos?[...e.project.repos]:[]},runtime:{knowledgeBaseRoot:c,issueKnowledgePath:p,isolatedWorktreePath:_}}}var s=e.i(11061),n=e.i(601544),d=e.i(848159),o=e.i(565248),u=e.i(735330);async function l(e){let t=(await (0,a.loadDbParticipants)()).find(t=>t.id===e.agentId)??null;if(!t)throw Error(`Agent "${e.agentId}" could not be resolved for scripted Linear work.`);let r=await (0,s.createLinearRun)({projectId:e.projectId??null,projectSlug:e.projectSlug??null,issueId:e.issue.id,issueIdentifier:e.issue.identifier,issueTitle:e.issue.title,issueStatus:e.issue.status,issueAssignee:e.issue.assignee??null,agentId:t.id,agentName:t.name,mode:"scripted"});try{var n;let a,d,o,u,l,p,_,E,m,T,g,h={issue:{identifier:e.issue.identifier,title:e.issue.title,status:e.issue.status,assignee:e.issue.assignee??null},project:e.projectSlug?{slug:e.projectSlug}:null},{prompt:N,promptPrefix:L}=(d=(a=i(h)).issue.identifier,o=a.issue.title,u=a.issue.status,l=a.issue.assignee,p=a.runtime.knowledgeBaseRoot,_=a.runtime.issueKnowledgePath,E=a.runtime.isolatedWorktreePath,m=`LINEAR TASK EXECUTION
220
+ ${t}`}])},689303,e=>{"use strict";var t=e.i(488877);e.s(["listResolvedRepoKnowledge",0,function(e){let a=[];for(let r of e){if(!r.id){let e=String(r.notes??"").trim();if(!e)continue;a.push({repoId:"",repoName:r.name,path:r.path??null,content:e,producer:"human"});continue}let e=t.vaultStore.getKnowledgeNote("repo",r.id),i=e?.content.trim()||String(r.notes??"").trim();i&&a.push({repoId:r.id,repoName:r.name,path:r.path??null,content:i,producer:"human"})}return a}])},273406,e=>{"use strict";var t=e.i(744071),a=e.i(391310);function r(e,t){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function i(e){var t;let a,i,s=e.issue.identifier.trim()||"TICKET-ID",n=e.issue.title.trim()||"Untitled ticket",d=String(e.issue.status??"").trim()||"Unknown",o=String(e.issue.assignee??"").trim()||"Unassigned",u=function(e){let t=String(e?.slug??"").trim();if(t)return r(t,"project");let a=String(e?.name??"").trim();return a?r(a,"project"):"project"}(e.project),l=String(e.project?.name??"").trim()||u,c=String(e.runtime?.knowledgeBaseRoot??"").trim()||`~/.agx/vault/${u}`,p=String(e.runtime?.issueKnowledgePath??"").trim()||`${c}/issues/${s}/`,_=String(e.runtime?.isolatedWorktreePath??"").trim()||`/tmp/agx-${r(s,"ticket")}`;return{issue:{identifier:s,title:n,status:d,assignee:o},project:{name:l,slug:u,label:(t=e.project,a=String(t?.name??"").trim(),i=String(t?.slug??"").trim(),a&&i?`${a} (${i})`:a||i||"current project"),repos:e.project?.repos?[...e.project.repos]:[]},runtime:{knowledgeBaseRoot:c,issueKnowledgePath:p,isolatedWorktreePath:_}}}var s=e.i(11061),n=e.i(601544),d=e.i(848159),o=e.i(565248),u=e.i(735330);async function l(e){let t=(await (0,a.loadDbParticipants)()).find(t=>t.id===e.agentId)??null;if(!t)throw Error(`Agent "${e.agentId}" could not be resolved for scripted Linear work.`);let r=await (0,s.createLinearRun)({projectId:e.projectId??null,projectSlug:e.projectSlug??null,issueId:e.issue.id,issueIdentifier:e.issue.identifier,issueTitle:e.issue.title,issueStatus:e.issue.status,issueAssignee:e.issue.assignee??null,agentId:t.id,agentName:t.name,mode:"scripted"});try{var n;let a,d,o,u,l,p,_,T,E,m,g,h={issue:{identifier:e.issue.identifier,title:e.issue.title,status:e.issue.status,assignee:e.issue.assignee??null},project:e.projectSlug?{slug:e.projectSlug}:null},{prompt:N,promptPrefix:L}=(d=(a=i(h)).issue.identifier,o=a.issue.title,u=a.issue.status,l=a.issue.assignee,p=a.runtime.knowledgeBaseRoot,_=a.runtime.issueKnowledgePath,T=a.runtime.isolatedWorktreePath,E=`LINEAR TASK EXECUTION
190
221
 
191
222
  You are an engineer working through a single Linear ticket. Work like a careful teammate: continue existing work when present, investigate before coding, present a plan before implementation, ask clarifying questions when requirements are ambiguous, and stop cleanly when blocked instead of guessing.
192
223
 
@@ -198,7 +229,7 @@ INJECTED CONTEXT
198
229
  - Project: ${a.project.label}
199
230
  - Knowledge base root: ${p}
200
231
  - Issue knowledge path: ${_}
201
- - Suggested isolated worktree: ${E}
232
+ - Suggested isolated worktree: ${T}
202
233
  - Additional project resources such as repo knowledge, project memory, and project variables are injected separately by the active project context.
203
234
 
204
235
  SOURCE REPOSITORIES
@@ -221,9 +252,9 @@ RULES
221
252
  - If a PR already exists, focus on CI failures, reviewer feedback, merge status, or ticket follow-up instead of starting over.
222
253
  - Leave the ticket and the knowledge base in a resumable state at the end of the session. Clean up temporary worktrees or session claims if your workflow created them.
223
254
 
224
- `,{prompt:`Work on this Linear ticket: ${d} - ${o}`,promptPrefix:m}),I=e.scriptPrompt?.trim()??"",S=e.scriptName?.trim()??"",f=I&&(g={"ticket.identifier":(T=i(h)).issue.identifier,"ticket.title":T.issue.title,"ticket.status":T.issue.status,"ticket.assignee":T.issue.assignee,"project.name":T.project.name,"project.slug":T.project.slug,"project.label":T.project.label,"knowledge_base.root":T.runtime.knowledgeBaseRoot,"knowledge_base.issue_path":T.runtime.issueKnowledgePath,"worktree.path":T.runtime.isolatedWorktreePath},I.replace(/\{\{\s*([a-zA-Z0-9._-]+)\s*\}\}/g,(e,t)=>g[t]??"")).trim()||N,R=I?`${L}ACTIVE SESSION SCRIPT
225
- - Name: ${S||"Custom script"}
255
+ `,{prompt:`Work on this Linear ticket: ${d} - ${o}`,promptPrefix:E}),I=e.scriptPrompt?.trim()??"",R=e.scriptName?.trim()??"",S=I&&(g={"ticket.identifier":(m=i(h)).issue.identifier,"ticket.title":m.issue.title,"ticket.status":m.issue.status,"ticket.assignee":m.issue.assignee,"project.name":m.project.name,"project.slug":m.project.slug,"project.label":m.project.label,"knowledge_base.root":m.runtime.knowledgeBaseRoot,"knowledge_base.issue_path":m.runtime.issueKnowledgePath,"worktree.path":m.runtime.isolatedWorktreePath},I.replace(/\{\{\s*([a-zA-Z0-9._-]+)\s*\}\}/g,(e,t)=>g[t]??"")).trim()||N,O=I?`${L}ACTIVE SESSION SCRIPT
256
+ - Name: ${R||"Custom script"}
226
257
 
227
- `:L,{chatRunId:O,userMessageId:A}=await c({threadId:r.threadId,prompt:f,promptPrefix:R,projectSlug:e.projectSlug??null,participantId:t.id});return{run:r=await (0,s.updateLinearRun)({id:r.id,chatRunId:O,rootMessageId:A})??r,chatRunId:O,userMessageId:A}}catch(e){throw await (0,s.updateLinearRun)({id:r.id,status:"failed",error:e instanceof Error?e.message:String(e)}),e}}async function c(e){let r=(await (0,a.loadDbParticipants)()).find(t=>t.id===e.participantId)??null;if(!r)throw Error(`Participant "${e.participantId}" is unavailable.`);let i=(0,u.normalizeProjectSlug)(e.projectSlug),s=await (0,u.resolveProjectContext)(i,[],[r]),l=Date.now(),c=crypto.randomUUID(),p={id:c,role:"user",participantId:null,content:e.prompt,timestamp:l,rootMessageId:null,parentMessageId:null,depth:0};await (0,n.saveMessages)(e.threadId,[p]);let _=e.promptPrefix?`${e.promptPrefix}${e.prompt}`:e.prompt,E=crypto.randomUUID(),m={threadId:e.threadId,prompt:_,projectContext:s,mentionedIds:[],initialParallelIds:[],maxRounds:Math.min(Math.max(e.maxRounds??10,1),50),recentHistory:[],currentUserMessageId:c,rootMessageId:c,participantIds:[r.id]};await (0,n.createChatRun)({id:E,threadId:e.threadId,rootMessageId:c,userId:t.LOCAL_USER.id,projectSlug:i||null,maxSteps:m.maxRounds,activeParticipantIds:[r.id],payload:m}),await (0,d.ensureOrchestratorRuntime)();let T=await (0,o.getQueue)();return await T.send(o.QUEUE_NAMES.CHAT_RUN_PROCESS,{chatRunId:E,userId:t.LOCAL_USER.id,signal:"start"}),{chatRunId:E,userMessageId:c}}e.s(["startScriptedLinearSession",0,l],273406)}];
258
+ `:L,{chatRunId:f,userMessageId:A}=await c({threadId:r.threadId,prompt:S,promptPrefix:O,projectSlug:e.projectSlug??null,participantId:t.id});return{run:r=await (0,s.updateLinearRun)({id:r.id,chatRunId:f,rootMessageId:A})??r,chatRunId:f,userMessageId:A}}catch(e){throw await (0,s.updateLinearRun)({id:r.id,status:"failed",error:e instanceof Error?e.message:String(e)}),e}}async function c(e){let r=(await (0,a.loadDbParticipants)()).find(t=>t.id===e.participantId)??null;if(!r)throw Error(`Participant "${e.participantId}" is unavailable.`);let i=(0,u.normalizeProjectSlug)(e.projectSlug),s=await (0,u.resolveProjectContext)(i,[],[r]),l=Date.now(),c=crypto.randomUUID(),p={id:c,role:"user",participantId:null,content:e.prompt,timestamp:l,rootMessageId:null,parentMessageId:null,depth:0};await (0,n.saveMessages)(e.threadId,[p]);let _=e.promptPrefix?`${e.promptPrefix}${e.prompt}`:e.prompt,T=crypto.randomUUID(),E={threadId:e.threadId,prompt:_,projectContext:s,mentionedIds:[],initialParallelIds:[],maxRounds:Math.min(Math.max(e.maxRounds??10,1),50),recentHistory:[],currentUserMessageId:c,rootMessageId:c,participantIds:[r.id]};await (0,n.createChatRun)({id:T,threadId:e.threadId,rootMessageId:c,userId:t.LOCAL_USER.id,projectSlug:i||null,maxSteps:E.maxRounds,activeParticipantIds:[r.id],payload:E}),await (0,d.ensureOrchestratorRuntime)();let m=await (0,o.getQueue)();return await m.send(o.QUEUE_NAMES.CHAT_RUN_PROCESS,{chatRunId:T,userId:t.LOCAL_USER.id,signal:"start"}),{chatRunId:T,userMessageId:c}}e.s(["startScriptedLinearSession",0,l],273406)}];
228
259
 
229
260
  //# sourceMappingURL=%5Broot-of-the-server%5D__10d.dhd._.js.map
@@ -126,15 +126,15 @@ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/a
126
126
  FROM linear_runs
127
127
  GROUP BY issue_id`,s=r?t.prepare(a).all(e.trim()):t.prepare(a).all(),n=new Map;for(let e of s)n.set(e.issue_id,new Date(e.last_activity_at).toISOString());return n})}async function g(e){return c(t=>{let r=e?.trim(),a=r?`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
128
128
  FROM linear_runs lr
129
- LEFT JOIN chat_runs cr ON cr.id = (
129
+ INNER JOIN chat_runs cr ON cr.id = (
130
130
  SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
131
131
  )
132
- WHERE (lr.status IN ('queued', 'running') OR cr.status IN ('queued', 'running'))
132
+ WHERE cr.status IN ('queued', 'running')
133
133
  AND lr.project_id = ?`:`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
134
134
  FROM linear_runs lr
135
- LEFT JOIN chat_runs cr ON cr.id = (
135
+ INNER JOIN chat_runs cr ON cr.id = (
136
136
  SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
137
137
  )
138
- WHERE (lr.status IN ('queued', 'running') OR cr.status IN ('queued', 'running'))`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,_,"getIssueActiveAgents",0,g,"getIssueActivityMap",0,h,"getLinearRun",0,E,"listLinearRuns",0,T,"updateLinearRun",0,p])},139516,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),n=e.i(561916),i=e.i(174677),d=e.i(869741),u=e.i(316795),o=e.i(487718),l=e.i(995169),c=e.i(47587),_=e.i(666012),p=e.i(570101),E=e.i(626937),T=e.i(10372),h=e.i(193695);e.i(52474);var g=e.i(600220),N=e.i(89171),m=e.i(11061);async function R(e){let t=e.nextUrl.searchParams.get("projectId")?.trim()||void 0;try{let e=await (0,m.getIssueActiveAgents)(t);return N.NextResponse.json({agents:e})}catch(e){return N.NextResponse.json({error:e.message??"Failed to fetch active agents"},{status:500})}}e.s(["GET",0,R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],927484);var L=e.i(927484);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/linear/issues/active-agents/route",pathname:"/api/linear/issues/active-agents",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/linear/issues/active-agents/route.ts",nextConfigOutput:"standalone",userland:L,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:A,serverHooks:S}=I;async function x(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let N="/api/linear/issues/active-agents/route";N=N.replace(/\/index$/,"")||"/";let m=await I.prepare(e,t,{srcPage:N,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:L,nextConfig:O,parsedUrl:A,isDraftMode:S,prerenderManifest:x,routerServerContext:f,isOnDemandRevalidate:v,revalidateOnlyGenerated:C,resolvedPathname:U,clientReferenceManifest:M,serverActionsManifest:D}=m,w=(0,d.normalizeAppPath)(N),y=!!(x.dynamicRoutes[w]||x.routes[U]),X=async()=>((null==f?void 0:f.render404)?await f.render404(e,t,A,!1):t.end("This page could not be found"),null);if(y&&!S){let e=!!x.routes[U],t=x.dynamicRoutes[w];if(t&&!1===t.fallback&&!e){if(O.adapterPath)return await X();throw new h.NoFallbackError}}let F=null;!y||I.isDev||S||(F="/index"===(F=U)?"/":F);let j=!0===I.isDev||!y,q=y&&!j;D&&M&&(0,i.setManifestsSingleton)({page:N,clientReferenceManifest:M,serverActionsManifest:D});let b=e.method||"GET",P=(0,n.getTracer)(),H=P.getActiveScopeSpan(),k=!!(null==f?void 0:f.isWrappedByNextServer),G=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,O,x,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let W={params:L,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!O.experimental.authInterrupts},cacheComponents:!!O.cacheComponents,supportsDynamicResponse:j,incrementalCache:B,cacheLifeProfiles:O.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>I.onRequestError(e,t,a,s,f)},sharedContext:{buildId:R}},$=new u.NodeNextRequest(e),Y=new u.NodeNextResponse(t),K=o.NextRequestAdapter.fromNodeNextRequest($,(0,o.signalFromNodeResponse)(t));try{let s,i=async e=>I.handle(K,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=P.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${b} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${b} ${N}`)}),d=async s=>{var n,d;let u=async({previousCacheEntry:r})=>{try{if(!G&&v&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let d=W.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let u=W.renderOpts.collectedTags;if(!y)return await (0,_.sendResponse)($,Y,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[T.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=T.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=T.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:v})},!1,f),t}},o=await I.handleResponse({req:e,nextConfig:O,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:v,revalidateOnlyGenerated:C,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:G});if(!y)return null;if((null==o||null==(n=o.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==o||null==(d=o.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",v?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,p.fromNodeOutgoingHttpHeaders)(o.value.headers);return G&&y||l.delete(T.NEXT_CACHE_TAGS_HEADER),!o.cacheControl||t.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,E.getCacheControlHeader)(o.cacheControl)),await (0,_.sendResponse)($,Y,new Response(o.value.body,{headers:l,status:o.value.status||200})),null};k&&H?await d(H):(s=P.getActiveScopeSpan(),await P.withPropagatedContext(e.headers,()=>P.trace(l.BaseServerSpan.handleRequest,{spanName:`${b} ${N}`,kind:n.SpanKind.SERVER,attributes:{"http.method":b,"http.target":e.url}},d),void 0,!k))}catch(t){if(t instanceof h.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:v})},!1,f),y)throw t;return await (0,_.sendResponse)($,Y,new Response(null,{status:500})),null}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:A})},"routeModule",0,I,"serverHooks",0,S,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,A],139516)}];
138
+ WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,_,"getIssueActiveAgents",0,g,"getIssueActivityMap",0,h,"getLinearRun",0,E,"listLinearRuns",0,T,"updateLinearRun",0,p])},139516,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),n=e.i(561916),i=e.i(174677),d=e.i(869741),u=e.i(316795),o=e.i(487718),l=e.i(995169),c=e.i(47587),_=e.i(666012),p=e.i(570101),E=e.i(626937),T=e.i(10372),h=e.i(193695);e.i(52474);var g=e.i(600220),N=e.i(89171),m=e.i(11061);async function R(e){let t=e.nextUrl.searchParams.get("projectId")?.trim()||void 0;try{let e=await (0,m.getIssueActiveAgents)(t);return N.NextResponse.json({agents:e})}catch(e){return N.NextResponse.json({error:e.message??"Failed to fetch active agents"},{status:500})}}e.s(["GET",0,R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],927484);var L=e.i(927484);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/linear/issues/active-agents/route",pathname:"/api/linear/issues/active-agents",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/linear/issues/active-agents/route.ts",nextConfigOutput:"standalone",userland:L,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:O,serverHooks:S}=I;async function x(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let N="/api/linear/issues/active-agents/route";N=N.replace(/\/index$/,"")||"/";let m=await I.prepare(e,t,{srcPage:N,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:L,nextConfig:A,parsedUrl:O,isDraftMode:S,prerenderManifest:x,routerServerContext:f,isOnDemandRevalidate:v,revalidateOnlyGenerated:C,resolvedPathname:U,clientReferenceManifest:M,serverActionsManifest:D}=m,w=(0,d.normalizeAppPath)(N),y=!!(x.dynamicRoutes[w]||x.routes[U]),X=async()=>((null==f?void 0:f.render404)?await f.render404(e,t,O,!1):t.end("This page could not be found"),null);if(y&&!S){let e=!!x.routes[U],t=x.dynamicRoutes[w];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await X();throw new h.NoFallbackError}}let F=null;!y||I.isDev||S||(F="/index"===(F=U)?"/":F);let j=!0===I.isDev||!y,b=y&&!j;D&&M&&(0,i.setManifestsSingleton)({page:N,clientReferenceManifest:M,serverActionsManifest:D});let P=e.method||"GET",q=(0,n.getTracer)(),H=q.getActiveScopeSpan(),k=!!(null==f?void 0:f.isWrappedByNextServer),G=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,A,x,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let W={params:L,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:j,incrementalCache:B,cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>I.onRequestError(e,t,a,s,f)},sharedContext:{buildId:R}},$=new u.NodeNextRequest(e),Y=new u.NodeNextResponse(t),K=o.NextRequestAdapter.fromNodeNextRequest($,(0,o.signalFromNodeResponse)(t));try{let s,i=async e=>I.handle(K,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${P} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${P} ${N}`)}),d=async s=>{var n,d;let u=async({previousCacheEntry:r})=>{try{if(!G&&v&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let d=W.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let u=W.renderOpts.collectedTags;if(!y)return await (0,_.sendResponse)($,Y,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(n.headers);u&&(t[T.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=T.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=T.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:v})},!1,f),t}},o=await I.handleResponse({req:e,nextConfig:A,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:v,revalidateOnlyGenerated:C,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:G});if(!y)return null;if((null==o||null==(n=o.value)?void 0:n.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==o||null==(d=o.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",v?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,p.fromNodeOutgoingHttpHeaders)(o.value.headers);return G&&y||l.delete(T.NEXT_CACHE_TAGS_HEADER),!o.cacheControl||t.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,E.getCacheControlHeader)(o.cacheControl)),await (0,_.sendResponse)($,Y,new Response(o.value.body,{headers:l,status:o.value.status||200})),null};k&&H?await d(H):(s=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(l.BaseServerSpan.handleRequest,{spanName:`${P} ${N}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},d),void 0,!k))}catch(t){if(t instanceof h.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:v})},!1,f),y)throw t;return await (0,_.sendResponse)($,Y,new Response(null,{status:500})),null}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:O})},"routeModule",0,I,"serverHooks",0,S,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,O],139516)}];
139
139
 
140
140
  //# sourceMappingURL=%5Broot-of-the-server%5D__10sw5ia._.js.map
@@ -12,7 +12,38 @@ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/a
12
12
  project_slug TEXT NOT NULL DEFAULT '',
13
13
  UNIQUE (workspace_id, agent_id)
14
14
  )
15
- `),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_state ON agent_processes (state)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_thread ON agent_processes (thread_id)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_workspace ON agent_processes (workspace_id)");try{e.exec("ALTER TABLE agent_processes ADD COLUMN project_slug TEXT NOT NULL DEFAULT ''")}catch{}try{e.exec("ALTER TABLE agent_processes ADD COLUMN response_message_id TEXT NOT NULL DEFAULT ''")}catch{}return e}();try{return e(a)}finally{a.close()}}function p(e){return l(t=>t.prepare("SELECT * FROM agent_processes WHERE thread_id = ?").all(e).map(d))}function c(e){return l(t=>t.prepare("SELECT * FROM agent_processes WHERE workspace_id = ?").all(e).map(d))}function u(e){let t=0;for(let r of e){if(r.pid>0)try{process.kill(r.pid,"SIGTERM")}catch{}t++}return t}e.s(["getAll",0,function(){return l(e=>e.prepare("SELECT * FROM agent_processes").all().map(d))},"getAllEnriched",0,function(){return l(e=>e.prepare(`
15
+ `),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_state ON agent_processes (state)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_thread ON agent_processes (thread_id)"),e.exec("CREATE INDEX IF NOT EXISTS idx_agent_processes_workspace ON agent_processes (workspace_id)");try{e.exec("ALTER TABLE agent_processes ADD COLUMN project_slug TEXT NOT NULL DEFAULT ''")}catch{}try{e.exec("ALTER TABLE agent_processes ADD COLUMN response_message_id TEXT NOT NULL DEFAULT ''")}catch{}return e.exec(`
16
+ CREATE TABLE IF NOT EXISTS messages (
17
+ thread_id TEXT NOT NULL,
18
+ id TEXT NOT NULL,
19
+ role TEXT NOT NULL,
20
+ participant_id TEXT,
21
+ content TEXT NOT NULL,
22
+ timestamp INTEGER NOT NULL,
23
+ PRIMARY KEY (thread_id, id)
24
+ )
25
+ `),e.exec(`
26
+ CREATE TABLE IF NOT EXISTS linear_runs (
27
+ id TEXT PRIMARY KEY,
28
+ project_id TEXT,
29
+ project_slug TEXT,
30
+ issue_id TEXT NOT NULL,
31
+ issue_identifier TEXT NOT NULL,
32
+ issue_title TEXT NOT NULL,
33
+ issue_status TEXT NOT NULL,
34
+ issue_assignee TEXT,
35
+ thread_id TEXT NOT NULL,
36
+ root_message_id TEXT,
37
+ chat_run_id TEXT,
38
+ agent_id TEXT NOT NULL,
39
+ agent_name TEXT NOT NULL,
40
+ mode TEXT NOT NULL DEFAULT 'chat',
41
+ status TEXT NOT NULL DEFAULT 'queued',
42
+ error TEXT,
43
+ created_at INTEGER NOT NULL,
44
+ updated_at INTEGER NOT NULL
45
+ )
46
+ `),e}();try{return e(a)}finally{a.close()}}function p(e){return l(t=>t.prepare("SELECT * FROM agent_processes WHERE thread_id = ?").all(e).map(d))}function c(e){return l(t=>t.prepare("SELECT * FROM agent_processes WHERE workspace_id = ?").all(e).map(d))}function u(e){let t=0;for(let r of e){if(r.pid>0)try{process.kill(r.pid,"SIGTERM")}catch{}t++}return t}e.s(["getAll",0,function(){return l(e=>e.prepare("SELECT * FROM agent_processes").all().map(d))},"getAllEnriched",0,function(){return l(e=>e.prepare(`
16
47
  SELECT ap.*, substr(m.content, 1, 120) AS thread_title,
17
48
  lr.issue_id AS linear_issue_id, lr.id AS linear_run_id
18
49
  FROM agent_processes ap
@@ -31,6 +62,6 @@ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/a
31
62
  response_message_id = excluded.response_message_id,
32
63
  started_at = excluded.started_at,
33
64
  last_activity = excluded.last_activity,
34
- project_slug = excluded.project_slug`).run(e.workspaceId,e.threadId,e.agentId,e.pid,e.state,e.sinceMessageId,e.responseMessageId||"",e.startedAt,e.lastActivity,e.projectSlug||"");if(1===r.changes&&r.lastInsertRowid)return Number(r.lastInsertRowid);let a=t.prepare("SELECT id FROM agent_processes WHERE workspace_id = ? AND agent_id = ?").get(e.workspaceId,e.agentId);return a?.id??0})},"update",0,function(e,t,r){let a=[],s=[];void 0!==r.state&&(a.push("state = ?"),s.push(r.state)),void 0!==r.lastActivity&&(a.push("last_activity = ?"),s.push(r.lastActivity)),void 0!==r.pid&&(a.push("pid = ?"),s.push(r.pid)),0!==a.length&&l(r=>r.prepare(`UPDATE agent_processes SET ${a.join(", ")} WHERE workspace_id = ? AND agent_id = ?`).run(...s,e,t))}])},40305,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),n=e.i(561916),i=e.i(174677),o=e.i(869741),d=e.i(316795),l=e.i(487718),p=e.i(995169),c=e.i(47587),u=e.i(666012),g=e.i(570101),E=e.i(626937),_=e.i(10372),h=e.i(193695);e.i(52474);var T=e.i(600220),x=e.i(89171),R=e.i(558174);async function N(e){let t=e.nextUrl.searchParams.get("threadId"),r=e.nextUrl.searchParams.get("workspaceId"),a="1"===e.nextUrl.searchParams.get("enrich");return t?x.NextResponse.json((0,R.getByThread)(t)):r?x.NextResponse.json((0,R.getByWorkspace)(r)):a?x.NextResponse.json((0,R.getAllEnriched)()):x.NextResponse.json((0,R.getAll)())}async function A(e){let t=e.nextUrl.searchParams.get("threadId"),r=e.nextUrl.searchParams.get("workspaceId");if(t){let e=(0,R.killByThread)(t);return x.NextResponse.json({killed:e})}if(r){let e=(0,R.killByWorkspace)(r);return x.NextResponse.json({killed:e})}return x.NextResponse.json({error:"threadId or workspaceId required"},{status:400})}e.s(["DELETE",0,A,"GET",0,N],26206);var v=e.i(26206);let f=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/processes/route",pathname:"/api/processes",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/processes/route.ts",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:w,workUnitAsyncStorage:m,serverHooks:I}=f;async function y(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),f.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/processes/route";x=x.replace(/\/index$/,"")||"/";let R=await f.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:N,params:A,nextConfig:v,parsedUrl:w,isDraftMode:m,prerenderManifest:I,routerServerContext:y,isOnDemandRevalidate:O,revalidateOnlyGenerated:C,resolvedPathname:L,clientReferenceManifest:k,serverActionsManifest:S}=R,U=(0,o.normalizeAppPath)(x),D=!!(I.dynamicRoutes[U]||I.routes[L]),P=async()=>((null==y?void 0:y.render404)?await y.render404(e,t,w,!1):t.end("This page could not be found"),null);if(D&&!m){let e=!!I.routes[L],t=I.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(v.adapterPath)return await P();throw new h.NoFallbackError}}let j=null;!D||f.isDev||m||(j="/index"===(j=L)?"/":j);let M=!0===f.isDev||!D,b=D&&!M;S&&k&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:k,serverActionsManifest:S});let q=e.method||"GET",F=(0,n.getTracer)(),H=F.getActiveScopeSpan(),B=!!(null==y?void 0:y.isWrappedByNextServer),X=!!(0,s.getRequestMeta)(e,"minimalMode"),G=(0,s.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,v,I,X);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let W={params:A,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!v.experimental.authInterrupts},cacheComponents:!!v.cacheComponents,supportsDynamicResponse:M,incrementalCache:G,cacheLifeProfiles:v.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>f.onRequestError(e,t,a,s,y)},sharedContext:{buildId:N}},$=new d.NodeNextRequest(e),K=new d.NodeNextResponse(t),V=l.NextRequestAdapter.fromNodeNextRequest($,(0,l.signalFromNodeResponse)(t));try{let s,i=async e=>f.handle(V,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${q} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${q} ${x}`)}),o=async s=>{var n,o;let d=async({previousCacheEntry:r})=>{try{if(!X&&O&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=W.renderOpts.collectedTags;if(!D)return await (0,u.sendResponse)($,K,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[_.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=_.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:T.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await f.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:O})},!1,y),t}},l=await f.handleResponse({req:e,nextConfig:v,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:C,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:X});if(!D)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(o=l.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});X||t.setHeader("x-nextjs-cache",O?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),m&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(l.value.headers);return X&&D||p.delete(_.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,E.getCacheControlHeader)(l.cacheControl)),await (0,u.sendResponse)($,K,new Response(l.value.body,{headers:p,status:l.value.status||200})),null};B&&H?await o(H):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${q} ${x}`,kind:n.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof h.NoFallbackError||await f.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:O})},!1,y),D)throw t;return await (0,u.sendResponse)($,K,new Response(null,{status:500})),null}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:m})},"routeModule",0,f,"serverHooks",0,I,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,m],40305)}];
65
+ project_slug = excluded.project_slug`).run(e.workspaceId,e.threadId,e.agentId,e.pid,e.state,e.sinceMessageId,e.responseMessageId||"",e.startedAt,e.lastActivity,e.projectSlug||"");if(1===r.changes&&r.lastInsertRowid)return Number(r.lastInsertRowid);let a=t.prepare("SELECT id FROM agent_processes WHERE workspace_id = ? AND agent_id = ?").get(e.workspaceId,e.agentId);return a?.id??0})},"update",0,function(e,t,r){let a=[],s=[];void 0!==r.state&&(a.push("state = ?"),s.push(r.state)),void 0!==r.lastActivity&&(a.push("last_activity = ?"),s.push(r.lastActivity)),void 0!==r.pid&&(a.push("pid = ?"),s.push(r.pid)),0!==a.length&&l(r=>r.prepare(`UPDATE agent_processes SET ${a.join(", ")} WHERE workspace_id = ? AND agent_id = ?`).run(...s,e,t))}])},40305,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),n=e.i(561916),i=e.i(174677),o=e.i(869741),d=e.i(316795),l=e.i(487718),p=e.i(995169),c=e.i(47587),u=e.i(666012),T=e.i(570101),E=e.i(626937),_=e.i(10372),g=e.i(193695);e.i(52474);var N=e.i(600220),h=e.i(89171),R=e.i(558174);async function x(e){let t=e.nextUrl.searchParams.get("threadId"),r=e.nextUrl.searchParams.get("workspaceId"),a="1"===e.nextUrl.searchParams.get("enrich");return t?h.NextResponse.json((0,R.getByThread)(t)):r?h.NextResponse.json((0,R.getByWorkspace)(r)):a?h.NextResponse.json((0,R.getAllEnriched)()):h.NextResponse.json((0,R.getAll)())}async function A(e){let t=e.nextUrl.searchParams.get("threadId"),r=e.nextUrl.searchParams.get("workspaceId");if(t){let e=(0,R.killByThread)(t);return h.NextResponse.json({killed:e})}if(r){let e=(0,R.killByWorkspace)(r);return h.NextResponse.json({killed:e})}return h.NextResponse.json({error:"threadId or workspaceId required"},{status:400})}e.s(["DELETE",0,A,"GET",0,x],26206);var L=e.i(26206);let f=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/processes/route",pathname:"/api/processes",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/processes/route.ts",nextConfigOutput:"standalone",userland:L,...{}}),{workAsyncStorage:v,workUnitAsyncStorage:I,serverHooks:O}=f;async function m(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),f.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let h="/api/processes/route";h=h.replace(/\/index$/,"")||"/";let R=await f.prepare(e,t,{srcPage:h,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:x,params:A,nextConfig:L,parsedUrl:v,isDraftMode:I,prerenderManifest:O,routerServerContext:m,isOnDemandRevalidate:w,revalidateOnlyGenerated:U,resolvedPathname:y,clientReferenceManifest:C,serverActionsManifest:S}=R,k=(0,o.normalizeAppPath)(h),D=!!(O.dynamicRoutes[k]||O.routes[y]),X=async()=>((null==m?void 0:m.render404)?await m.render404(e,t,v,!1):t.end("This page could not be found"),null);if(D&&!I){let e=!!O.routes[y],t=O.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(L.adapterPath)return await X();throw new g.NoFallbackError}}let P=null;!D||f.isDev||I||(P="/index"===(P=y)?"/":P);let j=!0===f.isDev||!D,M=D&&!j;S&&C&&(0,i.setManifestsSingleton)({page:h,clientReferenceManifest:C,serverActionsManifest:S});let b=e.method||"GET",q=(0,n.getTracer)(),F=q.getActiveScopeSpan(),H=!!(null==m?void 0:m.isWrappedByNextServer),B=!!(0,s.getRequestMeta)(e,"minimalMode"),G=(0,s.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,L,O,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let W={params:A,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!L.experimental.authInterrupts},cacheComponents:!!L.cacheComponents,supportsDynamicResponse:j,incrementalCache:G,cacheLifeProfiles:L.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>f.onRequestError(e,t,a,s,m)},sharedContext:{buildId:x}},K=new d.NodeNextRequest(e),$=new d.NodeNextResponse(t),Y=l.NextRequestAdapter.fromNodeNextRequest(K,(0,l.signalFromNodeResponse)(t));try{let s,i=async e=>f.handle(Y,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${b} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${b} ${h}`)}),o=async s=>{var n,o;let d=async({previousCacheEntry:r})=>{try{if(!B&&w&&U&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let d=W.renderOpts.collectedTags;if(!D)return await (0,u.sendResponse)(K,$,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,T.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[_.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=_.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=_.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:N.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await f.onRequestError(e,t,{routerKind:"App Router",routePath:h,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:w})},!1,m),t}},l=await f.handleResponse({req:e,nextConfig:L,cacheKey:P,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:U,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:B});if(!D)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==N.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(o=l.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",w?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,T.fromNodeOutgoingHttpHeaders)(l.value.headers);return B&&D||p.delete(_.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,E.getCacheControlHeader)(l.cacheControl)),await (0,u.sendResponse)(K,$,new Response(l.value.body,{headers:p,status:l.value.status||200})),null};H&&F?await o(F):(s=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${b} ${h}`,kind:n.SpanKind.SERVER,attributes:{"http.method":b,"http.target":e.url}},o),void 0,!H))}catch(t){if(t instanceof g.NoFallbackError||await f.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:w})},!1,m),D)throw t;return await (0,u.sendResponse)(K,$,new Response(null,{status:500})),null}}e.s(["handler",0,m,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:I})},"routeModule",0,f,"serverHooks",0,O,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,I],40305)}];
35
66
 
36
67
  //# sourceMappingURL=%5Broot-of-the-server%5D__11yx.ud._.js.map
@@ -124,17 +124,17 @@ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/a
124
124
  WHERE project_id = ?
125
125
  GROUP BY issue_id`:`SELECT issue_id, MAX(created_at) AS last_activity_at
126
126
  FROM linear_runs
127
- GROUP BY issue_id`,s=r?t.prepare(a).all(e.trim()):t.prepare(a).all(),i=new Map;for(let e of s)i.set(e.issue_id,new Date(e.last_activity_at).toISOString());return i})}async function g(e){return c(t=>{let r=e?.trim(),a=r?`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
127
+ GROUP BY issue_id`,s=r?t.prepare(a).all(e.trim()):t.prepare(a).all(),i=new Map;for(let e of s)i.set(e.issue_id,new Date(e.last_activity_at).toISOString());return i})}async function N(e){return c(t=>{let r=e?.trim(),a=r?`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
128
128
  FROM linear_runs lr
129
- LEFT JOIN chat_runs cr ON cr.id = (
129
+ INNER JOIN chat_runs cr ON cr.id = (
130
130
  SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
131
131
  )
132
- WHERE (lr.status IN ('queued', 'running') OR cr.status IN ('queued', 'running'))
132
+ WHERE cr.status IN ('queued', 'running')
133
133
  AND lr.project_id = ?`:`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
134
134
  FROM linear_runs lr
135
- LEFT JOIN chat_runs cr ON cr.id = (
135
+ INNER JOIN chat_runs cr ON cr.id = (
136
136
  SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
137
137
  )
138
- WHERE (lr.status IN ('queued', 'running') OR cr.status IN ('queued', 'running'))`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,_,"getIssueActiveAgents",0,g,"getIssueActivityMap",0,h,"getLinearRun",0,E,"listLinearRuns",0,T,"updateLinearRun",0,p])},10211,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),i=e.i(561916),n=e.i(174677),d=e.i(869741),u=e.i(316795),o=e.i(487718),l=e.i(995169),c=e.i(47587),_=e.i(666012),p=e.i(570101),E=e.i(626937),T=e.i(10372),h=e.i(193695);e.i(52474);var g=e.i(600220),N=e.i(89171),m=e.i(11061);async function R(e){let t=e.nextUrl.searchParams.get("projectId")?.trim()||void 0;try{let e=await (0,m.getIssueActivityMap)(t),r={};for(let[t,a]of e)r[t]=a;return N.NextResponse.json({activity:r})}catch(e){return N.NextResponse.json({error:e.message??"Failed to fetch activity"},{status:500})}}e.s(["GET",0,R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],119463);var L=e.i(119463);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/linear/issues/activity/route",pathname:"/api/linear/issues/activity",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/linear/issues/activity/route.ts",nextConfigOutput:"standalone",userland:L,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:A,serverHooks:S}=I;async function x(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let N="/api/linear/issues/activity/route";N=N.replace(/\/index$/,"")||"/";let m=await I.prepare(e,t,{srcPage:N,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:L,nextConfig:O,parsedUrl:A,isDraftMode:S,prerenderManifest:x,routerServerContext:f,isOnDemandRevalidate:v,revalidateOnlyGenerated:C,resolvedPathname:U,clientReferenceManifest:y,serverActionsManifest:M}=m,D=(0,d.normalizeAppPath)(N),w=!!(x.dynamicRoutes[D]||x.routes[U]),X=async()=>((null==f?void 0:f.render404)?await f.render404(e,t,A,!1):t.end("This page could not be found"),null);if(w&&!S){let e=!!x.routes[U],t=x.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(O.adapterPath)return await X();throw new h.NoFallbackError}}let F=null;!w||I.isDev||S||(F="/index"===(F=U)?"/":F);let j=!0===I.isDev||!w,q=w&&!j;M&&y&&(0,n.setManifestsSingleton)({page:N,clientReferenceManifest:y,serverActionsManifest:M});let b=e.method||"GET",P=(0,i.getTracer)(),H=P.getActiveScopeSpan(),k=!!(null==f?void 0:f.isWrappedByNextServer),G=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,O,x,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let W={params:L,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!O.experimental.authInterrupts},cacheComponents:!!O.cacheComponents,supportsDynamicResponse:j,incrementalCache:B,cacheLifeProfiles:O.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>I.onRequestError(e,t,a,s,f)},sharedContext:{buildId:R}},$=new u.NodeNextRequest(e),Y=new u.NodeNextResponse(t),K=o.NextRequestAdapter.fromNodeNextRequest($,(0,o.signalFromNodeResponse)(t));try{let s,n=async e=>I.handle(K,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=P.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${b} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${b} ${N}`)}),d=async s=>{var i,d;let u=async({previousCacheEntry:r})=>{try{if(!G&&v&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let d=W.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let u=W.renderOpts.collectedTags;if(!w)return await (0,_.sendResponse)($,Y,i,W.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(i.headers);u&&(t[T.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=T.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=T.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:v})},!1,f),t}},o=await I.handleResponse({req:e,nextConfig:O,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:v,revalidateOnlyGenerated:C,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:G});if(!w)return null;if((null==o||null==(i=o.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==o||null==(d=o.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",v?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,p.fromNodeOutgoingHttpHeaders)(o.value.headers);return G&&w||l.delete(T.NEXT_CACHE_TAGS_HEADER),!o.cacheControl||t.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,E.getCacheControlHeader)(o.cacheControl)),await (0,_.sendResponse)($,Y,new Response(o.value.body,{headers:l,status:o.value.status||200})),null};k&&H?await d(H):(s=P.getActiveScopeSpan(),await P.withPropagatedContext(e.headers,()=>P.trace(l.BaseServerSpan.handleRequest,{spanName:`${b} ${N}`,kind:i.SpanKind.SERVER,attributes:{"http.method":b,"http.target":e.url}},d),void 0,!k))}catch(t){if(t instanceof h.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:v})},!1,f),w)throw t;return await (0,_.sendResponse)($,Y,new Response(null,{status:500})),null}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:A})},"routeModule",0,I,"serverHooks",0,S,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,A],10211)}];
138
+ WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(a).all(e.trim()):t.prepare(a).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,_,"getIssueActiveAgents",0,N,"getIssueActivityMap",0,h,"getLinearRun",0,E,"listLinearRuns",0,T,"updateLinearRun",0,p])},10211,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),s=e.i(759756),i=e.i(561916),n=e.i(174677),d=e.i(869741),u=e.i(316795),o=e.i(487718),l=e.i(995169),c=e.i(47587),_=e.i(666012),p=e.i(570101),E=e.i(626937),T=e.i(10372),h=e.i(193695);e.i(52474);var N=e.i(600220),g=e.i(89171),m=e.i(11061);async function R(e){let t=e.nextUrl.searchParams.get("projectId")?.trim()||void 0;try{let e=await (0,m.getIssueActivityMap)(t),r={};for(let[t,a]of e)r[t]=a;return g.NextResponse.json({activity:r})}catch(e){return g.NextResponse.json({error:e.message??"Failed to fetch activity"},{status:500})}}e.s(["GET",0,R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],119463);var L=e.i(119463);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/linear/issues/activity/route",pathname:"/api/linear/issues/activity",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/linear/issues/activity/route.ts",nextConfigOutput:"standalone",userland:L,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:O,serverHooks:S}=I;async function x(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),I.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/linear/issues/activity/route";g=g.replace(/\/index$/,"")||"/";let m=await I.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:L,nextConfig:A,parsedUrl:O,isDraftMode:S,prerenderManifest:x,routerServerContext:f,isOnDemandRevalidate:v,revalidateOnlyGenerated:C,resolvedPathname:U,clientReferenceManifest:y,serverActionsManifest:M}=m,D=(0,d.normalizeAppPath)(g),w=!!(x.dynamicRoutes[D]||x.routes[U]),X=async()=>((null==f?void 0:f.render404)?await f.render404(e,t,O,!1):t.end("This page could not be found"),null);if(w&&!S){let e=!!x.routes[U],t=x.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await X();throw new h.NoFallbackError}}let F=null;!w||I.isDev||S||(F="/index"===(F=U)?"/":F);let j=!0===I.isDev||!w,b=w&&!j;M&&y&&(0,n.setManifestsSingleton)({page:g,clientReferenceManifest:y,serverActionsManifest:M});let P=e.method||"GET",q=(0,i.getTracer)(),H=q.getActiveScopeSpan(),k=!!(null==f?void 0:f.isWrappedByNextServer),G=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,A,x,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let W={params:L,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:j,incrementalCache:B,cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>I.onRequestError(e,t,a,s,f)},sharedContext:{buildId:R}},$=new u.NodeNextRequest(e),Y=new u.NodeNextResponse(t),K=o.NextRequestAdapter.fromNodeNextRequest($,(0,o.signalFromNodeResponse)(t));try{let s,n=async e=>I.handle(K,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${P} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${P} ${g}`)}),d=async s=>{var i,d;let u=async({previousCacheEntry:r})=>{try{if(!G&&v&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let d=W.renderOpts.pendingWaitUntil;d&&a.waitUntil&&(a.waitUntil(d),d=void 0);let u=W.renderOpts.collectedTags;if(!w)return await (0,_.sendResponse)($,Y,i,W.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(i.headers);u&&(t[T.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=T.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=T.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:N.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:v})},!1,f),t}},o=await I.handleResponse({req:e,nextConfig:A,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:v,revalidateOnlyGenerated:C,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:G});if(!w)return null;if((null==o||null==(i=o.value)?void 0:i.kind)!==N.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==o||null==(d=o.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",v?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,p.fromNodeOutgoingHttpHeaders)(o.value.headers);return G&&w||l.delete(T.NEXT_CACHE_TAGS_HEADER),!o.cacheControl||t.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,E.getCacheControlHeader)(o.cacheControl)),await (0,_.sendResponse)($,Y,new Response(o.value.body,{headers:l,status:o.value.status||200})),null};k&&H?await d(H):(s=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(l.BaseServerSpan.handleRequest,{spanName:`${P} ${g}`,kind:i.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},d),void 0,!k))}catch(t){if(t instanceof h.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:b,isOnDemandRevalidate:v})},!1,f),w)throw t;return await (0,_.sendResponse)($,Y,new Response(null,{status:500})),null}}e.s(["handler",0,x,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:O})},"routeModule",0,I,"serverHooks",0,S,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,O],10211)}];
139
139
 
140
140
  //# sourceMappingURL=%5Broot-of-the-server%5D__13-nlgu._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},951336,e=>{"use strict";var t=e.i(779429),r=e.i(769025);e.i(508241);var a=e.i(72777),o=e.i(716279);let n=new Set(["replan","rollback"]);class i extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class s extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class d extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function u(e){return null==e?null:JSON.stringify(e)}function p(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function c(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function l(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function g(e){if(!(0,o.isAutomationFrontmatterEnabled)()||!e.schedule)return;let t=(0,o.getAutomationRepository)(),r=(0,a.graphAutomationToDefinition)({graphId:e.id,taskId:e.taskId,schedule:e.schedule,createdAt:e.createdAt,updatedAt:e.updatedAt,executionState:e.executionState});t.upsertAutomation(r),t.updateAutomationState(e.id,{nextRunAt:e.schedule.nextTickAt,lastRunAt:e.schedule.lastTickAt,updatedAt:e.updatedAt,runCount:e.schedule.runCount,consecutiveFailures:e.schedule.consecutiveFailures,tickInProgress:e.schedule.tickInProgress})}function h(e){let r=e.trim();if(!r)return null;let a=(0,t.getSQLiteDb)().prepare(`SELECT task_id AS taskId
1
+ module.exports=[924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},951336,e=>{"use strict";var t=e.i(779429),r=e.i(769025);e.i(508241);var a=e.i(72777),o=e.i(716279);let n=new Set(["replan","rollback"]);class i extends Error{constructor(e){super(`Execution graph not found: ${e}`),this.name="GraphNotFoundError"}}class s extends Error{nodeIds;constructor(e,t){super(`Execution graph ${e} is missing node(s): ${t.join(", ")}`),this.name="GraphNodeNotFoundError",this.nodeIds=t}}class d extends Error{taskId;existingGraphId;constructor(e,t){super(`Task ${e} is already bound to execution graph ${t}.`),this.name="GraphTaskAlreadyBoundError",this.taskId=e,this.existingGraphId=t}}function u(e){return null==e?null:JSON.stringify(e)}function p(e){if(null==e)return null;if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}function c(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toISOString()}function l(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:e}function h(e){if(!(0,o.isAutomationFrontmatterEnabled)()||!e.schedule)return;let t=(0,o.getAutomationRepository)(),r=(0,a.graphAutomationToDefinition)({graphId:e.id,taskId:e.taskId,schedule:e.schedule,createdAt:e.createdAt,updatedAt:e.updatedAt,executionState:e.executionState});t.upsertAutomation(r),t.updateAutomationState(e.id,{nextRunAt:e.schedule.nextTickAt,lastRunAt:e.schedule.lastTickAt,updatedAt:e.updatedAt,runCount:e.schedule.runCount,consecutiveFailures:e.schedule.consecutiveFailures,tickInProgress:e.schedule.tickInProgress})}function g(e){let r=e.trim();if(!r)return null;let a=(0,t.getSQLiteDb)().prepare(`SELECT task_id AS taskId
2
2
  FROM execution_graphs
3
3
  WHERE id = ?
4
4
  LIMIT 1`).get(r);return a?.taskId??null}function E(e){let{type:t,status:r,metrics:a,output:o,...n}=e;return{type:t,status:r,config:n,output:o??null,metrics:a??null}}function _(e){let t={...l(p(e.payload))};return"eventType"in t||(t.eventType=e.event_type),"timestamp"in t||(t.timestamp=c(e.timestamp)),t}function m(e){return{query(t,r){let a=e.prepare(t);return/^\s*(INSERT|UPDATE|DELETE)/i.test(t)&&!/RETURNING/i.test(t)?(a.run(...(r??[]).map(e=>e)),{rows:[]}):{rows:a.all(...(r??[]).map(e=>e))}}}}class f{getDb(){return(0,t.getSQLiteDb)()}createGraph(e,t){let a=this.getDb(),o=m(a);t?.skipTaskBinding&&(0,r.pragmaSet)(a,"foreign_keys = OFF");try{return(0,r.transaction)(a,()=>{let r=o.query("SELECT id FROM execution_graphs WHERE task_id = ? LIMIT 1",[e.taskId]).rows[0];if(r&&r.id!==e.id)throw new d(e.taskId,r.id);for(let[t,r]of(o.query(`INSERT INTO execution_graphs
@@ -14,24 +14,29 @@ module.exports=[924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/pro
14
14
  created_at = excluded.created_at,
15
15
  updated_at = excluded.updated_at`,[e.id,e.taskId,e.graphVersion,e.mode,u(e.policy),u(e.doneCriteria),u(e.schedule??null),e.createdAt,e.updatedAt]),o.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e.id]),o.query("DELETE FROM graph_edges WHERE graph_id = ?",[e.id]),Object.entries(e.nodes))){let a=E(r);o.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
16
16
  VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,t,a.type,a.status,u(a.config),u(a.output),u(a.metrics)])}for(let t of e.edges)o.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
17
- VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,u(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(o,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(o,e.id,t);t?.skipTaskBinding||o.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let a=this.getGraphForTask(o,e.taskId);if(!a)throw new i(e.id);return g(a),a})}finally{t?.skipTaskBinding&&(0,r.pragmaSet)(a,"foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(m(t),e)}updateNodeRuntime(e,t,a){let o=this.getDb(),n=m(o);return(0,r.transaction)(o,()=>{if(!n.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new i(e);let r=Object.keys(t);if(0===r.length){let t=n.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:c(t.rows[0].updated_at)}}let a=r.map(()=>"?").join(", "),o=n.query(`SELECT node_id, type, status, config, output, metrics
18
- FROM graph_nodes WHERE graph_id = ? AND node_id IN (${a})`,[e,...r]),d=new Map;for(let e of o.rows)d.set(e.node_id,e);let g=r.filter(e=>!d.has(e));if(g.length>0)throw new s(e,g);for(let a of r){let r=t[a],o=d.get(a);if(!o||!r)continue;let i={...l(p(o.config)),...l(r.configPatch)};void 0!==r.startedAt&&(i.startedAt=r.startedAt),void 0!==r.completedAt&&(i.completedAt=r.completedAt),void 0!==r.actualMinutes&&(i.actualMinutes=r.actualMinutes),n.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
19
- WHERE graph_id = ? AND node_id = ?`,[r.status??o.status,u(r.metrics??p(o.metrics)),u(r.output??p(o.output)),u(i),e,a])}let h=n.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:h.rows[0].graph_version,updatedAt:c(h.rows[0].updated_at)}})}updateGraphStructure(e,t,a){let o=this.getDb(),n=m(o);return(0,r.transaction)(o,()=>{let r=n.query("SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new i(e);if(t.nodes)for(let[r,a]of(n.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=E(a);n.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
17
+ VALUES (?, ?, ?, ?, ?, ?)`,[e.id,t.from,t.to,t.type,t.condition??null,u(t.dataMapping??null)]);for(let t of e.versionHistory)this.appendEventInternal(o,e.id,t);for(let t of e.runtimeEvents??[])this.appendEventInternal(o,e.id,t);t?.skipTaskBinding||o.query("UPDATE tasks SET graph_id = ? WHERE id = ?",[e.id,e.taskId]);let a=this.getGraphForTask(o,e.taskId);if(!a)throw new i(e.id);return h(a),a})}finally{t?.skipTaskBinding&&(0,r.pragmaSet)(a,"foreign_keys = ON")}}getGraph(e){let t=this.getDb();return this.getGraphForTask(m(t),e)}updateNodeRuntime(e,t,a){let o=this.getDb(),n=m(o);return(0,r.transaction)(o,()=>{if(!n.query("SELECT id, graph_version FROM execution_graphs WHERE id = ?",[e]).rows[0])throw new i(e);let r=Object.keys(t);if(0===r.length){let t=n.query("SELECT graph_version, updated_at FROM execution_graphs WHERE id = ?",[e]);return{graphVersion:t.rows[0].graph_version,updatedAt:c(t.rows[0].updated_at)}}let a=r.map(()=>"?").join(", "),o=n.query(`SELECT node_id, type, status, config, output, metrics
18
+ FROM graph_nodes WHERE graph_id = ? AND node_id IN (${a})`,[e,...r]),d=new Map;for(let e of o.rows)d.set(e.node_id,e);let h=r.filter(e=>!d.has(e));if(h.length>0)throw new s(e,h);for(let a of r){let r=t[a],o=d.get(a);if(!o||!r)continue;let i={...l(p(o.config)),...l(r.configPatch)};void 0!==r.startedAt&&(i.startedAt=r.startedAt),void 0!==r.completedAt&&(i.completedAt=r.completedAt),void 0!==r.actualMinutes&&(i.actualMinutes=r.actualMinutes),n.query(`UPDATE graph_nodes SET status = ?, metrics = ?, output = ?, config = ?
19
+ WHERE graph_id = ? AND node_id = ?`,[r.status??o.status,u(r.metrics??p(o.metrics)),u(r.output??p(o.output)),u(i),e,a])}let g=n.query("UPDATE execution_graphs SET updated_at = datetime('now') WHERE id = ? RETURNING graph_version, updated_at",[e]);return{graphVersion:g.rows[0].graph_version,updatedAt:c(g.rows[0].updated_at)}})}updateGraphStructure(e,t,a){let o=this.getDb(),n=m(o);return(0,r.transaction)(o,()=>{let r=n.query("SELECT id, task_id, graph_version, mode, policy, done_criteria, schedule FROM execution_graphs WHERE id = ?",[e]).rows[0];if(!r)throw new i(e);if(t.nodes)for(let[r,a]of(n.query("DELETE FROM graph_nodes WHERE graph_id = ?",[e]),Object.entries(t.nodes))){let t=E(a);n.query(`INSERT INTO graph_nodes (graph_id, node_id, type, status, config, output, metrics)
20
20
  VALUES (?, ?, ?, ?, ?, ?, ?)`,[e,r,t.type,t.status,u(t.config),u(t.output),u(t.metrics)])}if(t.edges)for(let r of(n.query("DELETE FROM graph_edges WHERE graph_id = ?",[e]),t.edges))n.query(`INSERT INTO graph_edges (graph_id, from_id, to_id, type, condition, data_mapping)
21
21
  VALUES (?, ?, ?, ?, ?, ?)`,[e,r.from,r.to,r.type,r.condition??null,u(r.dataMapping??null)]);let a=n.query(`UPDATE execution_graphs
22
22
  SET mode = ?, policy = ?, done_criteria = ?, schedule = ?, updated_at = datetime('now')
23
23
  WHERE id = ?
24
- RETURNING graph_version, updated_at`,[t.mode??r.mode,u(t.policy??p(r.policy)??{}),u(t.doneCriteria??p(r.done_criteria)??{}),u(t.schedule??p(r.schedule)??null),e]);if(void 0!==t.schedule){let e=this.getGraphForTask(n,r.task_id);e?.schedule&&g(e)}return{graphVersion:a.rows[0].graph_version,updatedAt:c(a.rows[0].updated_at)}})}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(m(r),e,t)}getGraphForTask(e,t){let r=e.query(`SELECT id, task_id, graph_version, mode, execution_state, policy, done_criteria, schedule, created_at, updated_at
24
+ RETURNING graph_version, updated_at`,[t.mode??r.mode,u(t.policy??p(r.policy)??{}),u(t.doneCriteria??p(r.done_criteria)??{}),u(t.schedule??p(r.schedule)??null),e]);if(void 0!==t.schedule){let e=this.getGraphForTask(n,r.task_id);e?.schedule&&h(e)}return{graphVersion:a.rows[0].graph_version,updatedAt:c(a.rows[0].updated_at)}})}appendEvent(e,t){let r=this.getDb();this.appendEventInternal(m(r),e,t)}getGraphForTask(e,t){let r=e.query(`SELECT id, task_id, graph_version, mode, execution_state, policy, done_criteria, schedule, created_at, updated_at
25
25
  FROM execution_graphs WHERE task_id = ? ORDER BY updated_at DESC LIMIT 1`,[t]).rows[0];if(!r)return null;let i=e.query(`SELECT node_id, type, status, config, output, metrics
26
26
  FROM graph_nodes WHERE graph_id = ? ORDER BY node_id ASC`,[r.id]),s=e.query(`SELECT from_id, to_id, type, condition, data_mapping
27
27
  FROM graph_edges WHERE graph_id = ? ORDER BY from_id ASC, to_id ASC`,[r.id]),d=e.query(`SELECT event_type, payload, timestamp
28
- FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[r.id]),u={};for(let e of i.rows)u[e.node_id]=function(e){let t={...l(p(e.config)),type:e.type,status:e.status},r=p(e.metrics);null!==r&&(t.metrics=r);let a=p(e.output);return null!==a&&(t.output=a),t}(e);let g=s.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:p(e.condition)}:{},...e.data_mapping?{dataMapping:p(e.data_mapping)}:{}})),h=[],E=[];for(let e of d.rows){let t=_(e);n.has(t.eventType)?h.push(t):E.push(t)}var m={id:r.id,taskId:r.task_id,graphVersion:r.graph_version,mode:r.mode,executionState:r.execution_state??void 0,nodes:u,edges:g,policy:p(r.policy)??{},doneCriteria:p(r.done_criteria)??{},schedule:p(r.schedule)??void 0,versionHistory:h,runtimeEvents:E,createdAt:c(r.created_at),updatedAt:c(r.updated_at)};if(!(0,o.isAutomationFrontmatterEnabled)())return m;let f=(0,o.getAutomationRepository)().getAutomation(m.id);return f&&"execution_graph"===f.definition.target.type?{...m,schedule:(0,a.automationRecordToGraphSchedule)(f,m.schedule)}:m}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
29
- VALUES (?, ?, ?, ?)`,[t,r.eventType,u(r),r.timestamp])}}let S=new f;function I(e){return S.getGraph(e)}e.s(["GraphNodeNotFoundError",0,s,"GraphStore",0,f,"GraphTaskAlreadyBoundError",0,d,"GraphVersionConflictError",0,class extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}},"appendEvent",0,function(e,t){return S.appendEvent(e,t)},"createGraph",0,function(e,t){return S.createGraph(e,t)},"deactivateSchedulesByRootMessageId",0,function(e){let r=e.trim();if(!r)return 0;let a=0;if((0,o.isAutomationFrontmatterEnabled)()){for(let e of(0,o.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active",rootMessageId:r})){if("execution_graph"!==e.definition.target.type)continue;let t=e.definition.target.graphId??e.definition.id,r=e.definition.target.taskId??h(t);if(!r)continue;let o=I(r);o?.schedule&&(S.updateGraphStructure(o.id,{mode:o.mode,nodes:o.nodes,edges:o.edges,policy:o.policy,doneCriteria:o.doneCriteria,schedule:{...o.schedule,state:"stopped",tickInProgress:!1}},o.graphVersion),a+=1)}if(a>0||!(0,o.isAutomationDualReadEnabled)())return a}return Number((0,t.getSQLiteDb)().prepare(`UPDATE execution_graphs
28
+ FROM graph_events WHERE graph_id = ? ORDER BY timestamp ASC, event_type ASC`,[r.id]),u={};for(let e of i.rows)u[e.node_id]=function(e){let t={...l(p(e.config)),type:e.type,status:e.status},r=p(e.metrics);null!==r&&(t.metrics=r);let a=p(e.output);return null!==a&&(t.output=a),t}(e);let h=s.rows.map(e=>({from:e.from_id,to:e.to_id,type:e.type,...e.condition?{condition:p(e.condition)}:{},...e.data_mapping?{dataMapping:p(e.data_mapping)}:{}})),g=[],E=[];for(let e of d.rows){let t=_(e);n.has(t.eventType)?g.push(t):E.push(t)}var m={id:r.id,taskId:r.task_id,graphVersion:r.graph_version,mode:r.mode,executionState:r.execution_state??void 0,nodes:u,edges:h,policy:p(r.policy)??{},doneCriteria:p(r.done_criteria)??{},schedule:p(r.schedule)??void 0,versionHistory:g,runtimeEvents:E,createdAt:c(r.created_at),updatedAt:c(r.updated_at)};if(!(0,o.isAutomationFrontmatterEnabled)())return m;let f=(0,o.getAutomationRepository)().getAutomation(m.id);return f&&"execution_graph"===f.definition.target.type?{...m,schedule:(0,a.automationRecordToGraphSchedule)(f,m.schedule)}:m}appendEventInternal(e,t,r){e.query(`INSERT INTO graph_events (graph_id, event_type, payload, timestamp)
29
+ VALUES (?, ?, ?, ?)`,[t,r.eventType,u(r),r.timestamp])}claimScheduleTick(e){return(this.getDb().prepare(`UPDATE execution_graphs
30
+ SET schedule = json_set(schedule, '$.tickInProgress', json('true')),
31
+ updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
32
+ WHERE task_id = ?
33
+ AND json_extract(schedule, '$.tickInProgress') = 0
34
+ AND json_extract(schedule, '$.state') = 'active'`).run(e).changes??0)>0}}let S=new f;function I(e){return S.getGraph(e)}e.s(["GraphNodeNotFoundError",0,s,"GraphStore",0,f,"GraphTaskAlreadyBoundError",0,d,"GraphVersionConflictError",0,class extends Error{expectedVersion;actualVersion;constructor(e,t){super(`Execution graph version conflict: expected ${e}, found ${t}.`),this.name="GraphVersionConflictError",this.expectedVersion=e,this.actualVersion=t}},"appendEvent",0,function(e,t){return S.appendEvent(e,t)},"createGraph",0,function(e,t){return S.createGraph(e,t)},"deactivateSchedulesByRootMessageId",0,function(e){let r=e.trim();if(!r)return 0;let a=0;if((0,o.isAutomationFrontmatterEnabled)()){for(let e of(0,o.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active",rootMessageId:r})){if("execution_graph"!==e.definition.target.type)continue;let t=e.definition.target.graphId??e.definition.id,r=e.definition.target.taskId??g(t);if(!r)continue;let o=I(r);o?.schedule&&(S.updateGraphStructure(o.id,{mode:o.mode,nodes:o.nodes,edges:o.edges,policy:o.policy,doneCriteria:o.doneCriteria,schedule:{...o.schedule,state:"stopped",tickInProgress:!1}},o.graphVersion),a+=1)}if(a>0||!(0,o.isAutomationDualReadEnabled)())return a}return Number((0,t.getSQLiteDb)().prepare(`UPDATE execution_graphs
30
35
  SET schedule = json_set(schedule, '$.state', 'stopped', '$.tickInProgress', json('false')),
31
36
  updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
32
37
  WHERE schedule IS NOT NULL
33
38
  AND json_extract(schedule, '$.rootMessageId') = ?
34
- AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0)},"getActiveScheduleForRootMessageId",0,function(e){let r=e.trim();if(!r)return null;if((0,o.isAutomationFrontmatterEnabled)()){let e=(0,o.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active",rootMessageId:r})[0];if(e?.definition.target.type==="execution_graph"){let t=e.definition.target.graphId??e.definition.id,r=e.definition.target.taskId??h(t);if(r)return{graphId:t,taskId:r}}if(!(0,o.isAutomationDualReadEnabled)())return null}return(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
39
+ AND json_extract(schedule, '$.state') = 'active'`).run(r).changes??0)},"getActiveScheduleForRootMessageId",0,function(e){let r=e.trim();if(!r)return null;if((0,o.isAutomationFrontmatterEnabled)()){let e=(0,o.getAutomationRepository)().listVisibleAutomations({targetType:"execution_graph",state:"active",rootMessageId:r})[0];if(e?.definition.target.type==="execution_graph"){let t=e.definition.target.graphId??e.definition.id,r=e.definition.target.taskId??g(t);if(r)return{graphId:t,taskId:r}}if(!(0,o.isAutomationDualReadEnabled)())return null}return(0,t.getSQLiteDb)().prepare(`SELECT id AS graphId, task_id AS taskId
35
40
  FROM execution_graphs
36
41
  WHERE schedule IS NOT NULL
37
42
  AND json_extract(schedule, '$.rootMessageId') = ?
@@ -47,6 +52,6 @@ module.exports=[924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/pro
47
52
  LIMIT ?`;return o.push(n),m((0,t.getSQLiteDb)()).query(i,o).rows.map(e=>_(e))},"updateGraphStructure",0,function(e,t,r){return S.updateGraphStructure(e,t,r)},"updateNodeRuntime",0,function(e,t,r){return S.updateNodeRuntime(e,t,r)}])},533655,e=>{"use strict";e.s(["BASH_FUNCTION_TIMEOUT_MS",0,3e4,"CHECK_NPM_BUILD_TIMEOUT_MS",0,6e5,"CHECK_NPM_COVERAGE_TIMEOUT_MS",0,3e5,"CHECK_NPM_LINT_TIMEOUT_MS",0,6e4,"CHECK_NPM_TEST_TIMEOUT_MS",0,3e5,"CHECK_NPM_TYPECHECK_TIMEOUT_MS",0,12e4,"GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"PS_COMMAND_TIMEOUT_MS",0,5e3,"QUEUE_POLL_INTERVAL_MS",0,1e3,"SCHEDULE_POLL_INTERVAL_MS",0,5e3,"SHELL_COMMAND_TIMEOUT_MS",0,5e3,"SKILLS_CACHE_TTL_MS",0,36e5,"SKILL_DETAIL_CACHE_TTL_MS",0,36e5,"SKILL_FETCH_TIMEOUT_MS",0,12e4,"STEER_DUPLICATE_WINDOW_MS",0,9e5,"WRITE_RATE_SAMPLE_WINDOW_MS",0,1e4,"WRITE_RATE_WARNING_COOLDOWN_MS",0,6e4])},466713,e=>{"use strict";var t=e.i(533655);let r={replanBudgetRemaining:3,replanBudgetInitial:3,verifyBudgetRemaining:5,verifyBudgetInitial:5,maxConcurrentAutoChecks:1,immutableRequiredGates:!0,maxConcurrent:3,priorityMode:"fifo",nodeTimeoutMs:t.NODE_TIMEOUT_DEFAULT_MS,graphTimeoutMs:t.GRAPH_TIMEOUT_DEFAULT_MS};e.s(["DEFAULT_EXECUTION_POLICY",0,r,"FAILURE_NODE_STATUSES",0,["failed"],"INCOMPLETE_FOR_DONE_STATUSES",0,["pending","running","awaiting_human","blocked"],"SOFT_DEP_SATISFIED_STATUSES",0,["done","passed","failed","skipped","blocked"],"SUCCESS_NODE_STATUSES",0,["done","passed"],"TERMINAL_NODE_STATUSES",0,["done","passed","failed","skipped"]])},84548,e=>{"use strict";e.s(["buildMarkdownWithFrontmatter",0,function(e,t){return`---
48
53
  ${Object.entries(e).map(([e,t])=>`${e}: ${null==t?"":String(t)}`).join("\n")}
49
54
  ---
50
- ${t}`}])},986488,e=>{"use strict";var t=e.i(173426),r=e.i(846888),a=e.i(764541),o=e.i(84548);async function n(e){let n=e.nowIso??new Date().toISOString(),i=(0,t.createAdminDbClient)(),s=await a.db.getTask(e.taskId,e.userId),d={status:e.status,stage:"PROGRESS",updated_at:n};if(Object.prototype.hasOwnProperty.call(e,"startedAt")&&(d.started_at=e.startedAt??null),Object.prototype.hasOwnProperty.call(e,"completedAt")&&(d.completed_at=e.completedAt??null),s){let{frontmatter:t,body:a}=(0,r.parseFrontmatter)(String(s.content||""));t.status=e.status,t.stage="PROGRESS",e.clearError&&delete t.error,d.content=(0,o.buildMarkdownWithFrontmatter)(t,a)}let u=i.from("tasks").update(d).eq("id",e.taskId);e.userId&&(u=u.eq("user_id",e.userId));let{error:p}=await u;if(p)throw p}e.s(["syncTaskProgressForGraphExecution",0,n])},325799,e=>{"use strict";var t=e.i(89171),r=e.i(744071),a=e.i(764541);async function o(e){let o=r.LOCAL_USER.id,n=await a.db.getTask(e.taskId,o);return n?{ok:!0,actor:{actorId:o,actorType:"service"},task:n,projectId:e.requestedProjectId??n.project_id??null}:{ok:!1,response:t.NextResponse.json({error:"Task not found"},{status:404})}}e.s(["authorizeGraphMutation",0,o])},607664,12555,e=>{"use strict";function t(){return new Date().toISOString()}function r(e,t,r){return{actorId:e.actorId,actorType:e.actorType,action:t,...r?{projectId:r}:{}}}e.s(["buildBudgetConsumedEvent",0,function(e){return{eventType:"budget_consumed",budgetType:e.budgetType,remaining:e.remaining,triggerNodeId:e.triggerNodeId,timestamp:e.timestamp??t(),audit:r(e.actor,"budget_consumption",e.projectId)}},"buildGateVerificationEvent",0,function(e){return{eventType:"gate_verification",nodeId:e.nodeId,timestamp:e.timestamp??t(),result:e.result,audit:r(e.actor,"gate_verification",e.projectId)}},"buildGraphCreatedEvent",0,function(e){return{eventType:"graph_created",timestamp:e.timestamp??t(),mode:e.mode,nodeCount:e.nodeCount,edgeCount:e.edgeCount,audit:r(e.actor,"graph_create",e.projectId)}},"buildNodeStatusEvent",0,function(e){return{eventType:"node_status",nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,timestamp:e.timestamp??t(),...e.reason?{reason:e.reason}:{},audit:r(e.actor,"node_status_transition",e.projectId)}},"buildReplanEvent",0,function(e){return{eventType:"replan",fromVersion:e.fromVersion,toVersion:e.toVersion,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),triggeredAtNodeId:e.triggeredAtNodeId,changes:e.changes,audit:r(e.actor,"graph_replan",e.projectId)}},"buildRollbackEvent",0,function(e){return{eventType:"rollback",toCheckpoint:e.toCheckpoint,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),audit:r(e.actor,"graph_rollback",e.projectId)}}],607664);let a={graphCreateCount:0,replanCount:0,rollbackCount:0,migrationFailureCount:0,gatePassCount:0,gateFailCount:0};e.s(["recordGateVerificationResult",0,function(e){if(e){a.gatePassCount+=1;return}a.gateFailCount+=1},"recordGraphCreate",0,function(){a.graphCreateCount+=1},"recordMigrationFailure",0,function(){a.migrationFailureCount+=1},"recordReplan",0,function(){a.replanCount+=1},"recordRollback",0,function(){a.rollbackCount+=1}],12555)},333615,e=>{"use strict";var t=e.i(469719),r=e.i(607664),a=e.i(745254),o=e.i(457857),n=e.i(325799),i=e.i(12555),s=e.i(951336),d=e.i(883643);let u=t.z.object({error:t.z.string().min(1),nodeIds:t.z.array(t.z.string())});async function p(e){try{await (0,s.appendEvent)(e.graphId,(0,r.buildNodeStatusEvent)({actor:e.actor,nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,reason:e.reason,projectId:e.projectId}))}catch(e){console.error("Failed to append rejected node transition event",e)}}async function c(e){let t=await (0,n.authorizeGraphMutation)({request:e.request,taskId:e.taskId,action:e.action,requestedProjectId:e.requestedProjectId});if(!t.ok)return t.response;let c=await (0,s.getGraph)(e.taskId);if(!c)return(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Graph not found"},{status:404});let l=c.nodes[e.nodeId];if(!l)return(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Node not found"},{status:404});if(e.allowedFromStatuses&&!e.allowedFromStatuses.includes(l.status))return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:`Rejected: node must be in one of [${e.allowedFromStatuses.join(", ")}] to ${e.action}`}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Cannot ${e.action} node ${e.nodeId}: current status is ${l.status}`},{status:400});try{(0,d.assertValidNodeStatusTransition)(l.type,l.status,e.targetStatus)}catch{return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:"Rejected invalid transition"}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Invalid node transition for ${e.nodeId}: ${l.status} -> ${e.targetStatus}`},{status:400})}if("gate"===l.type&&"pending"===l.status&&"passed"===e.targetStatus&&!function(e){if("gate"!==e.type)return!1;let t=e.verificationStrategy.checks??[];return"progress"===e.gateType&&0===t.length&&"auto"===e.verificationStrategy.type}(l))return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:"Rejected required gate bypass"}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Required gate transition blocked for node ${e.nodeId}`},{status:400});try{let n={...e.patch??{},status:e.targetStatus};e.resetWorkAttempts&&"work"===l.type&&(n.configPatch={...n.configPatch??{},attempts:0});let d={[e.nodeId]:{...n}},u=await (0,s.updateNodeRuntime)(c.id,d,e.ifMatchGraphVersion??c.graphVersion),p=new Date().toISOString();if(await (0,s.appendEvent)(c.id,(0,r.buildNodeStatusEvent)({actor:t.actor,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:e.reason,timestamp:p,projectId:t.projectId})),("gate"===l.type||"node_verify"===e.action)&&("passed"===e.targetStatus||"failed"===e.targetStatus)){let a="passed"===e.targetStatus;(0,i.recordGateVerificationResult)(a),await (0,s.appendEvent)(c.id,(0,r.buildGateVerificationEvent)({actor:t.actor,nodeId:e.nodeId,timestamp:p,result:{passed:a,checks:e.gateChecks??[],verifiedAt:p,verifiedBy:"user"===t.actor.actorType?"human":"agent"},projectId:t.projectId}))}if(e.consumeVerifyBudget||"node_verify"===e.action){let a=Math.max(0,c.policy.verifyBudgetRemaining-1);await (0,s.appendEvent)(c.id,(0,r.buildBudgetConsumedEvent)({actor:t.actor,budgetType:"verify",remaining:a,triggerNodeId:e.nodeId,timestamp:p,projectId:t.projectId}))}return(0,o.jsonWithSchema)(a.NodeMutationResponseSchema,{graphId:c.id,nodeId:e.nodeId,graphVersion:u.graphVersion,updatedAt:u.updatedAt})}catch(e){if(e instanceof s.GraphVersionConflictError)return(0,o.graphConflictResponse)(e);if(e instanceof s.GraphNodeNotFoundError)return(0,o.jsonWithSchema)(u,{error:e.message,nodeIds:e.nodeIds},{status:404});return console.error("Error mutating node status:",e),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Failed to mutate node status"},{status:500})}}e.s(["applyNodeStatusMutation",0,c])},474714,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),o=e.i(759756),n=e.i(561916),i=e.i(174677),s=e.i(869741),d=e.i(316795),u=e.i(487718),p=e.i(995169),c=e.i(47587),l=e.i(666012),g=e.i(570101),h=e.i(626937),E=e.i(10372),_=e.i(193695);e.i(52474);var m=e.i(600220),f=e.i(173426),S=e.i(745254),I=e.i(457857),T=e.i(333615),R=e.i(986488);async function y(e,{params:t}){let{id:r,nodeId:a}=await t,o=(0,I.normalizeTaskId)(r),n=(0,I.normalizeNodeId)(a);if(!o||!n)return(0,I.jsonWithSchema)(S.ErrorResponseSchema,{error:"Invalid taskId or nodeId"},{status:400});let i=await (0,I.parseJsonBody)(e,S.StartNodeRequestSchema);if(!i.ok)return i.response;let s=i.data,d=await (0,T.applyNodeStatusMutation)({request:e,taskId:o,nodeId:n,action:"node_resume",requestedProjectId:s.projectId??s.project_id,ifMatchGraphVersion:s.ifMatchGraphVersion,targetStatus:"running",reason:"manual node resume",resetWorkAttempts:!0,allowedFromStatuses:["paused","stopped"],patch:{}});if(d.status>=200&&d.status<300)try{let e=(0,f.createAdminDbClient)(),t=new Date().toISOString();await (0,R.syncTaskProgressForGraphExecution)({taskId:o,status:"queued",nowIso:t,completedAt:null,clearError:!0}),await e.from("execution_graphs").update({execution_state:"running",updated_at:t}).eq("task_id",o)}catch(e){console.error("Failed to requeue task after node resume:",e)}return d}e.s(["POST",0,y],232788);var A=e.i(232788);let v=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/nodes/[nodeId]/resume/route",pathname:"/api/tasks/[id]/nodes/[nodeId]/resume",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/tasks/[id]/nodes/[nodeId]/resume/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:N,serverHooks:M}=v;async function O(e,t,a){a.requestMeta&&(0,o.setRequestMeta)(e,a.requestMeta),v.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/tasks/[id]/nodes/[nodeId]/resume/route";f=f.replace(/\/index$/,"")||"/";let S=await v.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:I,params:T,nextConfig:R,parsedUrl:y,isDraftMode:A,prerenderManifest:C,routerServerContext:N,isOnDemandRevalidate:M,revalidateOnlyGenerated:O,resolvedPathname:k,clientReferenceManifest:w,serverActionsManifest:x}=S,b=(0,s.normalizeAppPath)(f),D=!!(C.dynamicRoutes[b]||C.routes[k]),L=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,y,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!C.routes[k],t=C.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await L();throw new _.NoFallbackError}}let F=null;!D||v.isDev||A||(F="/index"===(F=k)?"/":F);let j=!0===v.isDev||!D,U=D&&!j;x&&w&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:w,serverActionsManifest:x});let P=e.method||"GET",q=(0,n.getTracer)(),G=q.getActiveScopeSpan(),H=!!(null==N?void 0:N.isWrappedByNextServer),W=!!(0,o.getRequestMeta)(e,"minimalMode"),V=(0,o.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,R,C,W);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let $={params:T,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:j,incrementalCache:V,cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,o)=>v.onRequestError(e,t,a,o,N)},sharedContext:{buildId:I}},B=new d.NodeNextRequest(e),K=new d.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o,i=async e=>v.handle(z,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${P} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),o&&o!==e&&(o.setAttribute("http.route",a),o.updateName(t))}else e.updateName(`${P} ${f}`)}),s=async o=>{var n,s;let d=async({previousCacheEntry:r})=>{try{if(!W&&M&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(o);e.fetchMetrics=$.renderOpts.fetchMetrics;let s=$.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let d=$.renderOpts.collectedTags;if(!D)return await (0,l.sendResponse)(B,K,n,$.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[E.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=E.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:M})},!1,N),t}},u=await v.handleResponse({req:e,nextConfig:R,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:M,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:W});if(!D)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(s=u.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",M?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&D||p.delete(E.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,l.sendResponse)(B,K,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};H&&G?await s(G):(o=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${P} ${f}`,kind:n.SpanKind.SERVER,attributes:{"http.method":P,"http.target":e.url}},s),void 0,!H))}catch(t){if(t instanceof _.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:M})},!1,N),D)throw t;return await (0,l.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:N})},"routeModule",0,v,"serverHooks",0,M,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,N],474714)}];
55
+ ${t}`}])},986488,e=>{"use strict";var t=e.i(173426),r=e.i(846888),a=e.i(764541),o=e.i(84548);async function n(e){let n=e.nowIso??new Date().toISOString(),i=(0,t.createAdminDbClient)(),s=await a.db.getTask(e.taskId,e.userId),d={status:e.status,stage:"PROGRESS",updated_at:n};if(Object.prototype.hasOwnProperty.call(e,"startedAt")&&(d.started_at=e.startedAt??null),Object.prototype.hasOwnProperty.call(e,"completedAt")&&(d.completed_at=e.completedAt??null),s){let{frontmatter:t,body:a}=(0,r.parseFrontmatter)(String(s.content||""));t.status=e.status,t.stage="PROGRESS",e.clearError&&delete t.error,d.content=(0,o.buildMarkdownWithFrontmatter)(t,a)}let u=i.from("tasks").update(d).eq("id",e.taskId);e.userId&&(u=u.eq("user_id",e.userId));let{error:p}=await u;if(p)throw p}e.s(["syncTaskProgressForGraphExecution",0,n])},325799,e=>{"use strict";var t=e.i(89171),r=e.i(744071),a=e.i(764541);async function o(e){let o=r.LOCAL_USER.id,n=await a.db.getTask(e.taskId,o);return n?{ok:!0,actor:{actorId:o,actorType:"service"},task:n,projectId:e.requestedProjectId??n.project_id??null}:{ok:!1,response:t.NextResponse.json({error:"Task not found"},{status:404})}}e.s(["authorizeGraphMutation",0,o])},607664,12555,e=>{"use strict";function t(){return new Date().toISOString()}function r(e,t,r){return{actorId:e.actorId,actorType:e.actorType,action:t,...r?{projectId:r}:{}}}e.s(["buildBudgetConsumedEvent",0,function(e){return{eventType:"budget_consumed",budgetType:e.budgetType,remaining:e.remaining,triggerNodeId:e.triggerNodeId,timestamp:e.timestamp??t(),audit:r(e.actor,"budget_consumption",e.projectId)}},"buildGateVerificationEvent",0,function(e){return{eventType:"gate_verification",nodeId:e.nodeId,timestamp:e.timestamp??t(),result:e.result,audit:r(e.actor,"gate_verification",e.projectId)}},"buildGraphCreatedEvent",0,function(e){return{eventType:"graph_created",timestamp:e.timestamp??t(),mode:e.mode,nodeCount:e.nodeCount,edgeCount:e.edgeCount,audit:r(e.actor,"graph_create",e.projectId)}},"buildNodeStatusEvent",0,function(e){return{eventType:"node_status",nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,timestamp:e.timestamp??t(),...e.reason?{reason:e.reason}:{},audit:r(e.actor,"node_status_transition",e.projectId)}},"buildReplanEvent",0,function(e){return{eventType:"replan",fromVersion:e.fromVersion,toVersion:e.toVersion,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),triggeredAtNodeId:e.triggeredAtNodeId,changes:e.changes,audit:r(e.actor,"graph_replan",e.projectId)}},"buildRollbackEvent",0,function(e){return{eventType:"rollback",toCheckpoint:e.toCheckpoint,timestamp:e.timestamp??t(),reason:e.reason,triggeredBy:e.triggeredBy??("user"===e.actor.actorType?"human":"agent"),audit:r(e.actor,"graph_rollback",e.projectId)}}],607664);let a={graphCreateCount:0,replanCount:0,rollbackCount:0,migrationFailureCount:0,gatePassCount:0,gateFailCount:0};e.s(["recordGateVerificationResult",0,function(e){if(e){a.gatePassCount+=1;return}a.gateFailCount+=1},"recordGraphCreate",0,function(){a.graphCreateCount+=1},"recordMigrationFailure",0,function(){a.migrationFailureCount+=1},"recordReplan",0,function(){a.replanCount+=1},"recordRollback",0,function(){a.rollbackCount+=1}],12555)},333615,e=>{"use strict";var t=e.i(469719),r=e.i(607664),a=e.i(745254),o=e.i(457857),n=e.i(325799),i=e.i(12555),s=e.i(951336),d=e.i(883643);let u=t.z.object({error:t.z.string().min(1),nodeIds:t.z.array(t.z.string())});async function p(e){try{await (0,s.appendEvent)(e.graphId,(0,r.buildNodeStatusEvent)({actor:e.actor,nodeId:e.nodeId,fromStatus:e.fromStatus,toStatus:e.toStatus,reason:e.reason,projectId:e.projectId}))}catch(e){console.error("Failed to append rejected node transition event",e)}}async function c(e){let t=await (0,n.authorizeGraphMutation)({request:e.request,taskId:e.taskId,action:e.action,requestedProjectId:e.requestedProjectId});if(!t.ok)return t.response;let c=await (0,s.getGraph)(e.taskId);if(!c)return(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Graph not found"},{status:404});let l=c.nodes[e.nodeId];if(!l)return(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Node not found"},{status:404});if(e.allowedFromStatuses&&!e.allowedFromStatuses.includes(l.status))return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:`Rejected: node must be in one of [${e.allowedFromStatuses.join(", ")}] to ${e.action}`}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Cannot ${e.action} node ${e.nodeId}: current status is ${l.status}`},{status:400});try{(0,d.assertValidNodeStatusTransition)(l.type,l.status,e.targetStatus)}catch{return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:"Rejected invalid transition"}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Invalid node transition for ${e.nodeId}: ${l.status} -> ${e.targetStatus}`},{status:400})}if("gate"===l.type&&"pending"===l.status&&"passed"===e.targetStatus&&!function(e){if("gate"!==e.type)return!1;let t=e.verificationStrategy.checks??[];return"progress"===e.gateType&&0===t.length&&"auto"===e.verificationStrategy.type}(l))return await p({graphId:c.id,actor:t.actor,projectId:t.projectId,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:"Rejected required gate bypass"}),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:`Required gate transition blocked for node ${e.nodeId}`},{status:400});try{let n={...e.patch??{},status:e.targetStatus};e.resetWorkAttempts&&"work"===l.type&&(n.configPatch={...n.configPatch??{},attempts:0});let d={[e.nodeId]:{...n}},u=await (0,s.updateNodeRuntime)(c.id,d,e.ifMatchGraphVersion??c.graphVersion),p=new Date().toISOString();if(await (0,s.appendEvent)(c.id,(0,r.buildNodeStatusEvent)({actor:t.actor,nodeId:e.nodeId,fromStatus:l.status,toStatus:e.targetStatus,reason:e.reason,timestamp:p,projectId:t.projectId})),("gate"===l.type||"node_verify"===e.action)&&("passed"===e.targetStatus||"failed"===e.targetStatus)){let a="passed"===e.targetStatus;(0,i.recordGateVerificationResult)(a),await (0,s.appendEvent)(c.id,(0,r.buildGateVerificationEvent)({actor:t.actor,nodeId:e.nodeId,timestamp:p,result:{passed:a,checks:e.gateChecks??[],verifiedAt:p,verifiedBy:"user"===t.actor.actorType?"human":"agent"},projectId:t.projectId}))}if(e.consumeVerifyBudget||"node_verify"===e.action){let a=Math.max(0,c.policy.verifyBudgetRemaining-1);await (0,s.appendEvent)(c.id,(0,r.buildBudgetConsumedEvent)({actor:t.actor,budgetType:"verify",remaining:a,triggerNodeId:e.nodeId,timestamp:p,projectId:t.projectId}))}return(0,o.jsonWithSchema)(a.NodeMutationResponseSchema,{graphId:c.id,nodeId:e.nodeId,graphVersion:u.graphVersion,updatedAt:u.updatedAt})}catch(e){if(e instanceof s.GraphVersionConflictError)return(0,o.graphConflictResponse)(e);if(e instanceof s.GraphNodeNotFoundError)return(0,o.jsonWithSchema)(u,{error:e.message,nodeIds:e.nodeIds},{status:404});return console.error("Error mutating node status:",e),(0,o.jsonWithSchema)(a.ErrorResponseSchema,{error:"Failed to mutate node status"},{status:500})}}e.s(["applyNodeStatusMutation",0,c])},474714,e=>{"use strict";var t=e.i(747909),r=e.i(174017),a=e.i(996250),o=e.i(759756),n=e.i(561916),i=e.i(174677),s=e.i(869741),d=e.i(316795),u=e.i(487718),p=e.i(995169),c=e.i(47587),l=e.i(666012),h=e.i(570101),g=e.i(626937),E=e.i(10372),_=e.i(193695);e.i(52474);var m=e.i(600220),f=e.i(173426),S=e.i(745254),I=e.i(457857),T=e.i(333615),R=e.i(986488);async function y(e,{params:t}){let{id:r,nodeId:a}=await t,o=(0,I.normalizeTaskId)(r),n=(0,I.normalizeNodeId)(a);if(!o||!n)return(0,I.jsonWithSchema)(S.ErrorResponseSchema,{error:"Invalid taskId or nodeId"},{status:400});let i=await (0,I.parseJsonBody)(e,S.StartNodeRequestSchema);if(!i.ok)return i.response;let s=i.data,d=await (0,T.applyNodeStatusMutation)({request:e,taskId:o,nodeId:n,action:"node_resume",requestedProjectId:s.projectId??s.project_id,ifMatchGraphVersion:s.ifMatchGraphVersion,targetStatus:"running",reason:"manual node resume",resetWorkAttempts:!0,allowedFromStatuses:["paused","stopped"],patch:{}});if(d.status>=200&&d.status<300)try{let e=(0,f.createAdminDbClient)(),t=new Date().toISOString();await (0,R.syncTaskProgressForGraphExecution)({taskId:o,status:"queued",nowIso:t,completedAt:null,clearError:!0}),await e.from("execution_graphs").update({execution_state:"running",updated_at:t}).eq("task_id",o)}catch(e){console.error("Failed to requeue task after node resume:",e)}return d}e.s(["POST",0,y],232788);var A=e.i(232788);let v=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/nodes/[nodeId]/resume/route",pathname:"/api/tasks/[id]/nodes/[nodeId]/resume",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/tasks/[id]/nodes/[nodeId]/resume/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:N,serverHooks:M}=v;async function k(e,t,a){a.requestMeta&&(0,o.setRequestMeta)(e,a.requestMeta),v.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/tasks/[id]/nodes/[nodeId]/resume/route";f=f.replace(/\/index$/,"")||"/";let S=await v.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:I,params:T,nextConfig:R,parsedUrl:y,isDraftMode:A,prerenderManifest:C,routerServerContext:N,isOnDemandRevalidate:M,revalidateOnlyGenerated:k,resolvedPathname:O,clientReferenceManifest:w,serverActionsManifest:x}=S,b=(0,s.normalizeAppPath)(f),D=!!(C.dynamicRoutes[b]||C.routes[O]),L=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,y,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!C.routes[O],t=C.dynamicRoutes[b];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await L();throw new _.NoFallbackError}}let j=null;!D||v.isDev||A||(j="/index"===(j=O)?"/":j);let F=!0===v.isDev||!D,P=D&&!F;x&&w&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:w,serverActionsManifest:x});let U=e.method||"GET",q=(0,n.getTracer)(),H=q.getActiveScopeSpan(),G=!!(null==N?void 0:N.isWrappedByNextServer),W=!!(0,o.getRequestMeta)(e,"minimalMode"),V=(0,o.getRequestMeta)(e,"incrementalCache")||await v.getIncrementalCache(e,R,C,W);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let $={params:T,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:F,incrementalCache:V,cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,o)=>v.onRequestError(e,t,a,o,N)},sharedContext:{buildId:I}},B=new d.NodeNextRequest(e),K=new d.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o,i=async e=>v.handle(Y,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=q.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),o&&o!==e&&(o.setAttribute("http.route",a),o.updateName(t))}else e.updateName(`${U} ${f}`)}),s=async o=>{var n,s;let d=async({previousCacheEntry:r})=>{try{if(!W&&M&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(o);e.fetchMetrics=$.renderOpts.fetchMetrics;let s=$.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let d=$.renderOpts.collectedTags;if(!D)return await (0,l.sendResponse)(B,K,n,$.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[E.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,a=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=E.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:M})},!1,N),t}},u=await v.handleResponse({req:e,nextConfig:R,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:M,revalidateOnlyGenerated:k,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:W});if(!D)return null;if((null==u||null==(n=u.value)?void 0:n.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(s=u.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",M?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&D||p.delete(E.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,l.sendResponse)(B,K,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};G&&H?await s(H):(o=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${f}`,kind:n.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},s),void 0,!G))}catch(t){if(t instanceof _.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:M})},!1,N),D)throw t;return await (0,l.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",0,k,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:N})},"routeModule",0,v,"serverHooks",0,M,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,N],474714)}];
51
56
 
52
57
  //# sourceMappingURL=%5Broot-of-the-server%5D__13960a8._.js.map