@mndrk/agx 2.0.55 → 2.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/README.md +5 -0
  2. package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +1 -0
  4. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
  5. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
  6. package/cloud-runtime/standalone/apps/local/.next/required-server-files.json +5 -0
  7. package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +8 -0
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +2 -2
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +1 -1
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +3 -2
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +17 -7
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +13 -13
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +2 -2
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +4 -4
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page/react-loadable-manifest.json +2 -2
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +5 -5
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +5 -5
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js.nft.json +1 -1
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +3 -3
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +3 -3
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +2 -2
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +2 -2
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/app-paths-manifest.json +3 -0
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/build-manifest.json +18 -0
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/next-font-manifest.json +11 -0
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/react-loadable-manifest.json +1 -0
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page/server-reference-manifest.json +4 -0
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +14 -0
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.map +5 -0
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -0
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +3 -0
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +2 -2
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +3 -3
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
  196. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
  197. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  198. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  199. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  200. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  201. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  202. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  203. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  204. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  205. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
  212. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  213. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  214. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
  215. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
  216. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  217. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  218. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  219. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  220. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  221. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  222. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
  223. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  224. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  225. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +3 -3
  226. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
  227. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  228. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  229. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  230. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  231. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  232. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  233. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  234. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +1 -0
  235. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +1 -1
  236. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g50c6p._.js +237 -0
  237. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0o315az._.js +1 -1
  238. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0t2jk2r._.js +2 -2
  239. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tdixb0._.js +49 -0
  240. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0gvjvx7._.js → [root-of-the-server]__0xdp_8-._.js} +25 -25
  241. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0y42h_~._.js +2 -2
  242. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~fjhfa._.js +3 -0
  243. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_12yasaj._.js +9 -0
  244. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_022nz2u._.js +3 -0
  245. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +11 -10
  246. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0yvelwy.js +3 -0
  247. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/02dz_local__next-internal_server_app_projects_[slug]_folders_page_actions_03fg4j9.js +3 -0
  248. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0qzjdog._.js +3 -0
  249. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0a-mbbj._.js +3 -0
  250. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0e2_v_.._.js +3 -0
  251. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0w3hl3p._.js +3 -0
  252. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__07johgg._.js +3 -0
  253. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__08d5c~o._.js +3 -0
  254. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0_n~ybp._.js +3 -0
  255. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0fl7_-o._.js +18 -0
  256. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0h~rb5r._.js +3 -0
  257. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r3w68h._.js +18 -0
  258. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0x7k~pk._.js +3 -0
  259. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__0hd2vo4._.js → [root-of-the-server]__0y8j6el._.js} +2 -2
  260. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0yme9fy._.js +3 -0
  261. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~7q5sw._.js +3 -0
  262. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13eqcxp._.js +3 -0
  263. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_0s~0ump._.js → _064h43p._.js} +2 -2
  264. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0742x_.._.js +3 -0
  265. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_09b42z9._.js → _09~glsn._.js} +2 -2
  266. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +3 -0
  267. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0fwy5tm._.js +7 -0
  268. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +2 -2
  269. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0sjchy6._.js +3 -0
  270. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ufdu.z._.js +7 -0
  271. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_03rf_sb._.js → _0wk3skw._.js} +2 -2
  272. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +2 -2
  273. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_03z24q2._.js +3 -0
  274. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_04hvzn_._.js +3 -0
  275. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_4hk8x._.js +3 -0
  276. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_ac-.f._.js +1 -1
  277. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0a-8i4p._.js +3 -0
  278. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0h3mfm7._.js +3 -0
  279. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0nvzo3y._.js +3 -0
  280. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_11k_-8~._.js +1 -1
  281. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_execution-graph_page_tsx_0tn2sx9._.js +2 -2
  282. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_folders_page_tsx_0ju618z._.js +3 -0
  283. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
  284. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_0aaa3~t._.js +1 -1
  285. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
  286. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
  287. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +3 -0
  288. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
  289. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +4 -4
  290. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TaskCard_tsx_0e35_z5._.js +6 -6
  291. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_ChatContainer_tsx_0c9fjtl._.js +3 -3
  292. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +4 -4
  293. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
  294. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mk0s0o.js +4 -0
  295. package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
  296. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  297. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
  298. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +4 -0
  299. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  300. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
  301. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  302. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  303. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-_ukhpeg429c.js +16 -0
  304. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-olq~7zw3wjy.js +1 -0
  305. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0142ce0jj3j7r.js → 0-vo_x2cxmjm3.js} +1 -1
  306. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.4d8rshxivwh.js +20 -0
  307. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1011~1x9nj4ny.js → 00lise4d-u8d1.js} +1 -1
  308. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0~apd0q5_i88z.js → 02p3n7faotpr9.js} +2 -2
  309. package/cloud-runtime/standalone/apps/local/.next/static/chunks/02zcxdul-1jaf.js +28 -0
  310. package/cloud-runtime/standalone/apps/local/.next/static/chunks/055bzj5jfgzr0.js +1 -0
  311. package/cloud-runtime/standalone/apps/local/.next/static/chunks/05c-~4v_jrblf.css +1 -0
  312. package/cloud-runtime/standalone/apps/local/.next/static/chunks/07646a0h94826.js +3 -0
  313. package/cloud-runtime/standalone/apps/local/.next/static/chunks/08~pgzjb13k_v.js +5 -0
  314. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09wzd7y~tk-3~.js +1 -0
  315. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0px65ynyk3t1d.js → 0bchtyu6m.2yv.js} +7 -7
  316. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0brmd4~76pthy.js +20 -0
  317. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0f7i3ae1ynhf3.css +1 -0
  318. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0.a4-dh~x9sa3.js → 0hudzktaaxr4g.js} +2 -2
  319. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{09-_2lcshmjl5.js → 0hzq698w6f4m6.js} +1 -1
  320. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0i.su2yr26wb6.js +37 -0
  321. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jonp-o8lh-4j.js +1 -0
  322. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jsbvcyub73d9.js +1 -0
  323. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l2pt2td_87wr.js +5 -0
  324. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l3v45kd.9is_.js +1 -0
  325. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lgb.0~i1xvv-.js +1 -0
  326. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0lkal3uvr6_~2.js +1 -0
  327. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0mvqoz13v0o2a.js +5 -0
  328. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0o9cxba_5mv2c.js +5 -0
  329. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p7s38p3bcffh.js +1 -0
  330. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0q2dgbluvgxf2.js +16 -0
  331. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0r0c9y6.8.m5p.js +1 -0
  332. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0h_bwlg~kk8lz.js → 0rey9zfvm3yhd.js} +2 -2
  333. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ucg8e2wkd8gf.js +1 -0
  334. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0uve8xrt~0a2e.js +1 -0
  335. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0x_pewz9npq~q.js +1 -0
  336. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xwny92a.ad_i.js +1 -0
  337. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0ov5lu0tz2o2e.js → 104xjvrf6y-zq.js} +1 -1
  338. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rm7v.1y6qcni.js → 11-u35xqxu~i-.js} +1 -1
  339. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14v~9vx3tdv85.js +1 -0
  340. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0826uh6nmsi5l.js → 1503vb7lb6.g1.js} +1 -1
  341. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0o0hwfzwwty4b.js → 15jlly_p-g4c8.js} +2 -2
  342. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16nozeadjid9-.js +5 -0
  343. package/cloud-runtime/standalone/apps/local/.next/static/chunks/177-q0wwdi0qe.js +1 -0
  344. package/cloud-runtime/standalone/apps/local/agx-server.js +4055 -0
  345. package/cloud-runtime/standalone/apps/local/app/api/automations/route.ts +10 -2
  346. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +16 -0
  347. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +8 -1
  348. package/cloud-runtime/standalone/apps/local/app/globals.css +67 -5
  349. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/folders/page.tsx +25 -0
  350. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +19 -5
  351. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/objectives/[objectiveId]/page.tsx +7 -2
  352. package/cloud-runtime/standalone/apps/local/bundled-server.ts +45 -0
  353. package/cloud-runtime/standalone/apps/local/components/ActionToolbar.tsx +5 -2
  354. package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +35 -3
  355. package/cloud-runtime/standalone/apps/local/components/ContextMenu.tsx +2 -2
  356. package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +36 -14
  357. package/cloud-runtime/standalone/apps/local/components/IconButton.tsx +10 -2
  358. package/cloud-runtime/standalone/apps/local/components/KanbanBoard.tsx +84 -3
  359. package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +382 -13
  360. package/cloud-runtime/standalone/apps/local/components/LogTimeline.tsx +4 -1
  361. package/cloud-runtime/standalone/apps/local/components/NowRunningPanel.tsx +3 -1
  362. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +46 -6
  363. package/cloud-runtime/standalone/apps/local/components/SearchCombo.tsx +3 -3
  364. package/cloud-runtime/standalone/apps/local/components/SortableTaskCard.tsx +21 -3
  365. package/cloud-runtime/standalone/apps/local/components/StatusCircle.tsx +3 -3
  366. package/cloud-runtime/standalone/apps/local/components/TaskCard.tsx +51 -1
  367. package/cloud-runtime/standalone/apps/local/components/chat-ui/ChatContainer.tsx +15 -2
  368. package/cloud-runtime/standalone/apps/local/components/chat-ui/Composer.tsx +3 -3
  369. package/cloud-runtime/standalone/apps/local/components/chat-ui/ParticipantBar.tsx +76 -9
  370. package/cloud-runtime/standalone/apps/local/components/graph/ExecutionGraphPanel.tsx +4 -1
  371. package/cloud-runtime/standalone/apps/local/components/graph/GraphFirstView.tsx +6 -2
  372. package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +29 -14
  373. package/cloud-runtime/standalone/apps/local/components/graph/NodeInspector.tsx +9 -6
  374. package/cloud-runtime/standalone/apps/local/components/projects/FoldersSummaryCard.tsx +16 -16
  375. package/cloud-runtime/standalone/apps/local/components/projects/FoldersView.tsx +856 -0
  376. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveActivityTimeline.tsx +40 -32
  377. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +172 -49
  378. package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +4 -4
  379. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +347 -168
  380. package/cloud-runtime/standalone/apps/local/components/projects/ProjectSearchBar.tsx +4 -2
  381. package/cloud-runtime/standalone/apps/local/components/projects/ScheduledTasksSummaryCard.tsx +19 -19
  382. package/cloud-runtime/standalone/apps/local/components/projects/TeamsSummaryCard.tsx +10 -10
  383. package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +50 -50
  384. package/cloud-runtime/standalone/apps/local/components/projects/WorkingNowCard.tsx +12 -12
  385. package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectiveCard.tsx +13 -10
  386. package/cloud-runtime/standalone/apps/local/components/projects/home/ObjectivesSection.tsx +7 -7
  387. package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathCard.tsx +2 -2
  388. package/cloud-runtime/standalone/apps/local/components/projects/home/ToolPathsSection.tsx +9 -9
  389. package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +3 -3
  390. package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +211 -77
  391. package/cloud-runtime/standalone/apps/local/components/terminal/TerminalSessionList.tsx +3 -1
  392. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +72 -21
  393. package/cloud-runtime/standalone/apps/local/hooks/useInputCapabilities.ts +74 -0
  394. package/cloud-runtime/standalone/apps/local/lib/app-config.ts +35 -0
  395. package/cloud-runtime/standalone/apps/local/lib/pty-manager.ts +5 -1
  396. package/cloud-runtime/standalone/apps/local/lib/terminal-server.ts +182 -0
  397. package/cloud-runtime/standalone/apps/local/next.config.ts +2 -1
  398. package/cloud-runtime/standalone/apps/local/package.json +2 -2
  399. package/cloud-runtime/standalone/apps/local/playwright.config.ts +8 -0
  400. package/cloud-runtime/standalone/apps/local/server.js +1 -1
  401. package/cloud-runtime/standalone/apps/local/server.ts +14 -158
  402. package/cloud-runtime/standalone/apps/local/src/graph/types.ts +2 -0
  403. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/cron.ts +11 -0
  404. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +325 -88
  405. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +20 -0
  406. package/cloud-runtime/standalone/apps/local/state/windowState.ts +11 -0
  407. package/cloud-runtime/standalone/apps/local/styles/workspaceSidebar.css +65 -0
  408. package/cloud-runtime/standalone/apps/local/worker/index.js +0 -4
  409. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
  410. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  411. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
  412. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
  413. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  414. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  415. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  416. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
  417. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  418. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
  419. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.node +0 -0
  420. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/pty.pdb +0 -0
  421. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.exe +0 -0
  422. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
  423. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.dll +0 -0
  424. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-arm64/winpty.pdb +0 -0
  425. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  426. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  427. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  428. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
  429. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  430. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
  431. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.node +0 -0
  432. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/pty.pdb +0 -0
  433. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.exe +0 -0
  434. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.pdb +0 -0
  435. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.dll +0 -0
  436. package/cloud-runtime/standalone/node_modules/node-pty/prebuilds/win32-x64/winpty.pdb +0 -0
  437. package/lib/cli/daemon.js +13 -2
  438. package/lib/cli/onboarding.js +5 -6
  439. package/lib/cli/runCli.js +1 -1
  440. package/lib/cloud/client.js +1 -1
  441. package/lib/commands/chat.js +37 -11
  442. package/lib/commands/daemonBoard.js +19 -13
  443. package/lib/config/cloudConfig.js +1 -1
  444. package/lib/orchestrator/httpClient.js +1 -1
  445. package/lib/prompts/templates.js +8 -9
  446. package/package.json +1 -1
  447. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01ol22y._.js +0 -3
  448. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__088h0r2._.js +0 -3
  449. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__094z9yf._.js +0 -9
  450. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0avz575._.js +0 -49
  451. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0xxf2a0.js +0 -3
  452. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0xd_mxu._.js +0 -3
  453. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__044xm0q._.js +0 -3
  454. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__066ay_e._.js +0 -3
  455. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__09smg3p._.js +0 -18
  456. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0iix1sf._.js +0 -3
  457. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r54zr9._.js +0 -3
  458. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0s8z2_c._.js +0 -18
  459. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w1mm2j._.js +0 -3
  460. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0wq3ukc._.js +0 -3
  461. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13h-0om._.js +0 -3
  462. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_03-mlx0._.js +0 -7
  463. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ag3.tl._.js +0 -7
  464. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0dh_hx0._.js +0 -3
  465. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0h8cbsi._.js +0 -3
  466. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0i1ffhz._.js +0 -3
  467. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0nlki7b._.js +0 -3
  468. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0_q01av._.js +0 -3
  469. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0eh.4j7._.js +0 -3
  470. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0qaowqy._.js +0 -3
  471. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0s0iy2_._.js +0 -3
  472. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0zr-_na._.js +0 -3
  473. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_10qsqky._.js +0 -3
  474. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.bv3h68wo33z.js +0 -1
  475. package/cloud-runtime/standalone/apps/local/.next/static/chunks/016.x9zt9~rsh.js +0 -16
  476. package/cloud-runtime/standalone/apps/local/.next/static/chunks/027-6dwgpb0cy.js +0 -1
  477. package/cloud-runtime/standalone/apps/local/.next/static/chunks/031720jijg_th.js +0 -1
  478. package/cloud-runtime/standalone/apps/local/.next/static/chunks/03m1xs0rztynh.js +0 -16
  479. package/cloud-runtime/standalone/apps/local/.next/static/chunks/07o~9mm~xds_b.js +0 -1
  480. package/cloud-runtime/standalone/apps/local/.next/static/chunks/08zgoptetnxjj.css +0 -1
  481. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09_yj-9nfh48m.js +0 -1
  482. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09c7ssmgohk7l.js +0 -1
  483. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0awbe2r3qazge.css +0 -1
  484. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0dro-bz6f72z0.js +0 -1
  485. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gbunx8z.~i4x.js +0 -5
  486. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ge81r~ap.u7n.js +0 -28
  487. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ghg5160qeazw.js +0 -5
  488. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gl_8hdxl5qnd.js +0 -37
  489. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0g~v8p6_pc46-.js +0 -1
  490. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jb4f8425s.-2.js +0 -1
  491. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0kukkarp4un0o.js +0 -1
  492. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0m.2b-cekea8b.js +0 -1
  493. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pt8_y9asrg~7.js +0 -1
  494. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0wyg4lymaq0hg.js +0 -3
  495. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xl~1ux2f~rcu.js +0 -1
  496. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y7-eze-w7~b4.js +0 -5
  497. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0y8e--tok1214.js +0 -5
  498. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0yy~0bgsz~o6-.js +0 -1
  499. package/cloud-runtime/standalone/apps/local/.next/static/chunks/100xrwo-45nrg.js +0 -20
  500. package/cloud-runtime/standalone/apps/local/.next/static/chunks/14h3qxwuo~1q9.js +0 -20
  501. package/cloud-runtime/standalone/apps/local/.next/static/chunks/17oesq5eds3xi.js +0 -1
  502. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_buildManifest.js +0 -0
  503. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_clientMiddlewareManifest.js +0 -0
  504. /package/cloud-runtime/standalone/apps/local/.next/static/{z8XjY2Aj-ox_Dro192i4I → fPVnk_kTRzrxXr7U3TRFW}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[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 n={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,n,"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"]])},160129,e=>{"use strict";var t=e.i(46081);e.s(["completeScheduleTick",0,function(e){if(!e.schedule||!e.schedule.tickInProgress)return e;let n=e.schedule,r=n.nextTickAt;return n.cronExpr&&(r=(0,t.computeNextTickFromCron)(n.cronExpr)),{...e,schedule:{...n,tickInProgress:!1,nextTickAt:r}}},"createThreadMonitorSchedule",0,function(e,t=6e4,n){return{intervalMs:t,state:"active",resetNodeIds:e,maxRuns:n,runCount:0,tickInProgress:!1,createdAt:new Date().toISOString()}},"isScheduleTickComplete",0,function(e){if(!e.schedule)return!0;let t=new Set(["done","passed","failed","skipped"]);for(let n of e.schedule.resetNodeIds){let r=e.nodes[n];if(r&&!t.has(r.status))return!1}return!0},"scheduleTickIfDue",0,function(e,t=Date.now()){let n=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return n("no_schedule");let r=e.schedule;if("active"!==r.state)return n("not_active");if(r.tickInProgress)return n("tick_in_progress");if(null!=r.maxRuns&&r.runCount>=r.maxRuns)return n("max_runs_reached");if(r.cronExpr&&"number"==typeof r.nextTickAt){if(t<r.nextTickAt)return n("not_due")}else if(t-(r.lastTickAt??0)<r.intervalMs)return n("not_due");let a=JSON.parse(JSON.stringify(e)),i=[];for(let e of r.resetNodeIds){let t=a.nodes[e];t&&("done"===t.status||"passed"===t.status||"failed"===t.status||"skipped"===t.status)&&(a.nodes[e]={...t,status:"pending",startedAt:void 0,completedAt:void 0,metrics:void 0,..."function"===t.type?{output:void 0}:{},..."conditional"===t.type?{evaluatedTo:void 0}:{}},i.push(e))}return a.schedule={...r,tickInProgress:!0,lastTickAt:t,runCount:r.runCount+1},{graph:a,tickFired:!0,resetNodeIds:i}}])},656317,e=>{"use strict";var t=e.i(747909),n=e.i(174017),r=e.i(996250),a=e.i(759756),i=e.i(561916),s=e.i(174677),o=e.i(869741),u=e.i(316795),d=e.i(487718),l=e.i(995169),c=e.i(47587),p=e.i(666012),E=e.i(570101),h=e.i(626937),m=e.i(10372),_=e.i(193695);e.i(52474);var T=e.i(600220),R=e.i(89171),C=e.i(469719),S=e.i(284521),g=e.i(951336),f=e.i(46081),v=e.i(160129);let I=C.z.object({name:C.z.string().trim().min(1),description:C.z.string().trim().min(1).optional(),cadence:C.z.string().trim().min(1),taskId:C.z.string().trim().min(1).optional(),command:C.z.string().trim().min(1).optional(),maxRuns:C.z.number().int().positive().optional(),maxConsecutiveFailures:C.z.number().int().positive().optional()});async function A(t){try{let n=await t.json().catch(()=>({})),r=I.safeParse(n);if(!r.success)return R.NextResponse.json({error:"Invalid request",issues:r.error.issues},{status:400});let a=r.data,i=(0,S.toCronExpr)(a.cadence);if(!i)return R.NextResponse.json({error:`Could not parse cadence: "${a.cadence}". Use a cron expression or natural language like "every 2 hours".`},{status:400});if(a.taskId){let t=(0,g.getGraph)(a.taskId);if(!t)return R.NextResponse.json({error:"Task not found"},{status:404});let n={intervalMs:6e4,cronExpr:i.cronExpr,cadence:i.cadence,name:a.name,description:a.description,resetNodeIds:Object.entries(t.nodes).filter(([,e])=>"function"===e.type||"conditional"===e.type).map(([e])=>e),maxRuns:a.maxRuns,maxConsecutiveFailures:a.maxConsecutiveFailures},r=(0,f.activateGraphSchedule)(t,n),{updateGraphStructure:s}=await e.A(234316);s(r.id,{mode:r.mode,nodes:r.nodes,edges:r.edges,policy:r.policy,doneCriteria:r.doneCriteria,schedule:r.schedule},t.graphVersion);let o=(0,g.getGraph)(a.taskId);return R.NextResponse.json({success:!0,taskId:a.taskId,graphId:o?.id??r.id,schedule:o?.schedule??r.schedule})}let s=new Date().toISOString(),o=`auto-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,u={type:"function",status:"pending",deps:[],kind:"bash",title:a.name,command:a.command??'echo "Automation tick"'},d={id:o,taskId:o,graphVersion:1,mode:"SIMPLE",nodes:{run:u},edges:[],policy:{replanBudgetRemaining:0,replanBudgetInitial:0,verifyBudgetRemaining:0,verifyBudgetInitial:0,maxConcurrentAutoChecks:0,immutableRequiredGates:!1,maxConcurrent:1,priorityMode:"fifo",nodeTimeoutMs:3e5,graphTimeoutMs:6e5},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0},schedule:{...(0,v.createThreadMonitorSchedule)(["run"],6e4),cronExpr:i.cronExpr,cadence:i.cadence,name:a.name,description:a.description,maxConsecutiveFailures:a.maxConsecutiveFailures,consecutiveFailures:0,maxRuns:a.maxRuns},versionHistory:[],createdAt:s,updatedAt:s};return(0,g.createGraph)(d),R.NextResponse.json({success:!0,created:!0,taskId:o,graphId:o,schedule:d.schedule,parsedCron:i})}catch(e){return console.error("Create automation error:",e),R.NextResponse.json({error:"Failed to create automation",message:e instanceof Error?e.message:String(e)},{status:500})}}e.s(["POST",0,A,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],152745);var M=e.i(152745);let x=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/automations/create/route",pathname:"/api/automations/create",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/automations/create/route.ts",nextConfigOutput:"standalone",userland:M,...{}}),{workAsyncStorage:N,workUnitAsyncStorage:O,serverHooks:k}=x;async function P(e,t,r){r.requestMeta&&(0,a.setRequestMeta)(e,r.requestMeta),x.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/automations/create/route";R=R.replace(/\/index$/,"")||"/";let C=await x.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!C)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,params:g,nextConfig:f,parsedUrl:v,isDraftMode:I,prerenderManifest:A,routerServerContext:M,isOnDemandRevalidate:N,revalidateOnlyGenerated:O,resolvedPathname:k,clientReferenceManifest:P,serverActionsManifest:y}=C,U=(0,o.normalizeAppPath)(R),w=!!(A.dynamicRoutes[U]||A.routes[k]),D=async()=>((null==M?void 0:M.render404)?await M.render404(e,t,v,!1):t.end("This page could not be found"),null);if(w&&!I){let e=!!A.routes[k],t=A.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(f.adapterPath)return await D();throw new _.NoFallbackError}}let L=null;!w||x.isDev||I||(L="/index"===(L=k)?"/":L);let b=!0===x.isDev||!w,H=w&&!b;y&&P&&(0,s.setManifestsSingleton)({page:R,clientReferenceManifest:P,serverActionsManifest:y});let F=e.method||"GET",q=(0,i.getTracer)(),j=q.getActiveScopeSpan(),K=!!(null==M?void 0:M.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),G=(0,a.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,f,A,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let W={params:g,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!f.experimental.authInterrupts},cacheComponents:!!f.cacheComponents,supportsDynamicResponse:b,incrementalCache:G,cacheLifeProfiles:f.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>x.onRequestError(e,t,r,a,M)},sharedContext:{buildId:S}},$=new u.NodeNextRequest(e),z=new u.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest($,(0,d.signalFromNodeResponse)(t));try{let a,s=async e=>x.handle(V,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=q.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",r),a.updateName(t))}else e.updateName(`${F} ${R}`)}),o=async a=>{var i,o;let u=async({previousCacheEntry:n})=>{try{if(!B&&N&&O&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(a);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let u=W.renderOpts.collectedTags;if(!w)return await (0,p.sendResponse)($,z,i,W.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(i.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,r=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:T.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,M),t}},d=await x.handleResponse({req:e,nextConfig:f,cacheKey:L,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:O,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:B});if(!w)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,E.fromNodeOutgoingHttpHeaders)(d.value.headers);return B&&w||l.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)($,z,new Response(d.value.body,{headers:l,status:d.value.status||200})),null};K&&j?await o(j):(a=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(l.BaseServerSpan.handleRequest,{spanName:`${F} ${R}`,kind:i.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof _.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,M),w)throw t;return await (0,p.sendResponse)($,z,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:O})},"routeModule",0,x,"serverHooks",0,k,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,O],656317)},234316,e=>{e.v(e=>Promise.resolve().then(()=>e(951336)))}];
2
+
3
+ //# sourceMappingURL=_0~fjhfa._.js.map
@@ -0,0 +1,9 @@
1
+ module.exports=[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 s={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,s,"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"]])},160129,e=>{"use strict";var t=e.i(46081);e.s(["completeScheduleTick",0,function(e){if(!e.schedule||!e.schedule.tickInProgress)return e;let s=e.schedule,r=s.nextTickAt;return s.cronExpr&&(r=(0,t.computeNextTickFromCron)(s.cronExpr)),{...e,schedule:{...s,tickInProgress:!1,nextTickAt:r}}},"createThreadMonitorSchedule",0,function(e,t=6e4,s){return{intervalMs:t,state:"active",resetNodeIds:e,maxRuns:s,runCount:0,tickInProgress:!1,createdAt:new Date().toISOString()}},"isScheduleTickComplete",0,function(e){if(!e.schedule)return!0;let t=new Set(["done","passed","failed","skipped"]);for(let s of e.schedule.resetNodeIds){let r=e.nodes[s];if(r&&!t.has(r.status))return!1}return!0},"scheduleTickIfDue",0,function(e,t=Date.now()){let s=t=>({graph:e,tickFired:!1,resetNodeIds:[],skipReason:t});if(!e.schedule)return s("no_schedule");let r=e.schedule;if("active"!==r.state)return s("not_active");if(r.tickInProgress)return s("tick_in_progress");if(null!=r.maxRuns&&r.runCount>=r.maxRuns)return s("max_runs_reached");if(r.cronExpr&&"number"==typeof r.nextTickAt){if(t<r.nextTickAt)return s("not_due")}else if(t-(r.lastTickAt??0)<r.intervalMs)return s("not_due");let a=JSON.parse(JSON.stringify(e)),n=[];for(let e of r.resetNodeIds){let t=a.nodes[e];t&&("done"===t.status||"passed"===t.status||"failed"===t.status||"skipped"===t.status)&&(a.nodes[e]={...t,status:"pending",startedAt:void 0,completedAt:void 0,metrics:void 0,..."function"===t.type?{output:void 0}:{},..."conditional"===t.type?{evaluatedTo:void 0}:{}},n.push(e))}return a.schedule={...r,tickInProgress:!0,lastTickAt:t,runCount:r.runCount+1},{graph:a,tickFired:!0,resetNodeIds:n}}])},995435,e=>{"use strict";var t=e.i(747909),s=e.i(174017),r=e.i(996250),a=e.i(759756),n=e.i(561916),i=e.i(174677),o=e.i(869741),d=e.i(316795),l=e.i(487718),u=e.i(995169),c=e.i(47587),p=e.i(666012),h=e.i(570101),g=e.i(626937),m=e.i(10372),E=e.i(193695);e.i(52474);var _=e.i(600220),T=e.i(89171),I=e.i(469719),v=e.i(951336),R=e.i(46081),S=e.i(160129);let f=I.z.object({action:I.z.literal("activate"),rootMessageId:I.z.string().trim().min(1),intervalMs:I.z.number().int().positive().optional()}),M=I.z.object({action:I.z.literal("stop"),rootMessageId:I.z.string().trim().min(1)}),C=I.z.discriminatedUnion("action",[f,M]),A=`Review the conversation so far and determine whether the thread is actually ready to move into review.
2
+ If it is not ready, produce exactly one message that does both of these things together:
3
+ 1. Briefly assess what has been accomplished and what remains.
4
+ 2. Give the team the concrete next steps needed to move toward shipping.
5
+
6
+ Do not split status and instructions into separate responses. Keep it to one concise message.
7
+ Only mark the work complete when it is truly ready to stop ship mode and move into review.`;async function N(t){try{var s;let r,a=await t.json().catch(()=>({})),n=C.safeParse(a);if(!n.success)return T.NextResponse.json({error:"Invalid request",issues:n.error.issues},{status:400});let i=n.data;if("stop"===i.action){let e=(0,v.deactivateSchedulesByRootMessageId)(i.rootMessageId);return T.NextResponse.json({success:!0,deactivated:e})}let o=i.intervalMs??15e3,d=(0,v.getActiveScheduleForRootMessageId)(i.rootMessageId);if(d){let e=(0,v.getGraph)(d.taskId);return T.NextResponse.json({success:!0,alreadyActive:!0,taskId:d.taskId,graphId:d.graphId,schedule:e?.schedule??null})}let l=(0,v.getGraph)(i.rootMessageId);if(l){let t=(0,R.activateGraphSchedule)(l,{intervalMs:o,resetNodeIds:l.schedule?.resetNodeIds??["pull-status","idle-check"],name:l.schedule?.name??"Ship mode",description:l.schedule?.description??"Automatically steers an idle thread toward completion.",maxConsecutiveFailures:l.schedule?.maxConsecutiveFailures??3,rootMessageId:i.rootMessageId,nowIso:new Date().toISOString()}),{updateGraphStructure:s}=await e.A(234316);s(t.id,{mode:t.mode,nodes:t.nodes,edges:t.edges,policy:t.policy,doneCriteria:t.doneCriteria,schedule:t.schedule},l.graphVersion);let r=(0,v.getGraph)(i.rootMessageId);return T.NextResponse.json({success:!0,reactivated:!0,taskId:i.rootMessageId,graphId:r?.id??t.id,schedule:r?.schedule??t.schedule})}let u=(s=i.rootMessageId,r=new Date().toISOString(),{id:`sched-${s}`,taskId:s,graphVersion:1,mode:"SIMPLE",nodes:{"pull-status":{type:"function",status:"pending",deps:[],kind:"internal",title:"Pull thread status",command:"thread-status",args:{rootMessageId:s}},"idle-check":{type:"conditional",status:"pending",deps:["pull-status"],condition:{expression:"input.activeProcessCount === 0",inputFrom:"pull-status"},thenBranch:["steer"],elseBranch:[]},steer:{type:"work",status:"pending",deps:["idle-check"],title:"Steer toward completion",description:A,attempts:0,maxAttempts:2,retryPolicy:{backoffMs:5e3,onExhaust:"fail"}},act:{type:"function",status:"pending",deps:["steer"],kind:"internal",title:"Act on steer result",command:"ship-mode-act",args:{rootMessageId:s,steerNodeId:"steer"},timeoutMs:3e5}},edges:[{from:"pull-status",to:"idle-check",type:"hard"},{from:"idle-check",to:"steer",type:"hard"},{from:"steer",to:"act",type:"hard",condition:"always"}],policy:{replanBudgetRemaining:0,replanBudgetInitial:0,verifyBudgetRemaining:0,verifyBudgetInitial:0,maxConcurrentAutoChecks:0,immutableRequiredGates:!1,maxConcurrent:1,priorityMode:"fifo",nodeTimeoutMs:3e5,graphTimeoutMs:0},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0},schedule:{...(0,S.createThreadMonitorSchedule)(["pull-status","idle-check","steer","act"],o),name:"Ship mode",description:"Automatically steers an idle thread toward completion.",maxConsecutiveFailures:3,rootMessageId:s},versionHistory:[],createdAt:r,updatedAt:r});return(0,v.createGraph)(u,{skipTaskBinding:!0}),T.NextResponse.json({success:!0,created:!0,taskId:u.taskId,graphId:u.id,schedule:u.schedule})}catch(e){return console.error("Schedule API error:",e),T.NextResponse.json({error:"Failed to manage schedule",message:e instanceof Error?e.message:String(e)},{status:500})}}async function y(e){let t=e.nextUrl.searchParams.get("rootMessageId");if(!t){let e=(0,v.getActiveScheduleRootMessageIds)();return T.NextResponse.json({activeRootMessageIds:e})}let s=(0,v.getActiveScheduleForRootMessageId)(t);if(!s)return T.NextResponse.json({active:!1});let r=(0,v.getGraph)(s.taskId);return T.NextResponse.json({active:!0,taskId:s.taskId,graphId:s.graphId,schedule:r?.schedule??null})}e.s(["GET",0,y,"POST",0,N,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],501800);var k=e.i(501800);let O=new t.AppRouteRouteModule({definition:{kind:s.RouteKind.APP_ROUTE,page:"/api/schedules/route",pathname:"/api/schedules",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/schedules/route.ts",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:x,workUnitAsyncStorage:w,serverHooks:P}=O;async function U(e,t,r){r.requestMeta&&(0,a.setRequestMeta)(e,r.requestMeta),O.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let T="/api/schedules/route";T=T.replace(/\/index$/,"")||"/";let I=await O.prepare(e,t,{srcPage:T,multiZoneDraftMode:!1});if(!I)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:S,parsedUrl:f,isDraftMode:M,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:N,revalidateOnlyGenerated:y,resolvedPathname:k,clientReferenceManifest:x,serverActionsManifest:w}=I,P=(0,o.normalizeAppPath)(T),U=!!(C.dynamicRoutes[P]||C.routes[k]),D=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,f,!1):t.end("This page could not be found"),null);if(U&&!M){let e=!!C.routes[k],t=C.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await D();throw new E.NoFallbackError}}let L=null;!U||O.isDev||M||(L="/index"===(L=k)?"/":L);let b=!0===O.isDev||!U,H=U&&!b;w&&x&&(0,i.setManifestsSingleton)({page:T,clientReferenceManifest:x,serverActionsManifest:w});let F=e.method||"GET",q=(0,n.getTracer)(),B=q.getActiveScopeSpan(),j=!!(null==A?void 0:A.isWrappedByNextServer),G=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,S,C,G);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let W={params:R,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:b,incrementalCache:K,cacheLifeProfiles:S.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,s,r,a)=>O.onRequestError(e,t,r,a,A)},sharedContext:{buildId:v}},$=new d.NodeNextRequest(e),z=new d.NodeNextResponse(t),V=l.NextRequestAdapter.fromNodeNextRequest($,(0,l.signalFromNodeResponse)(t));try{let a,i=async e=>O.handle(V,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=q.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=s.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",r),a.updateName(t))}else e.updateName(`${F} ${T}`)}),o=async a=>{var n,o;let d=async({previousCacheEntry:s})=>{try{if(!G&&N&&y&&!s)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(a);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let d=W.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)($,z,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[m.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let s=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,r=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:s,expire:r}}}}catch(t){throw(null==s?void 0:s.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),t}},l=await O.handleResponse({req:e,nextConfig:S,cacheKey:L,routeKind:s.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:y,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:G});if(!U)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==_.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});G||t.setHeader("x-nextjs-cache",N?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),M&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(l.value.headers);return G&&U||u.delete(m.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(l.cacheControl)),await (0,p.sendResponse)($,z,new Response(l.value.body,{headers:u,status:l.value.status||200})),null};j&&B?await o(B):(a=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${T}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!j))}catch(t){if(t instanceof E.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,A),U)throw t;return await (0,p.sendResponse)($,z,new Response(null,{status:500})),null}}e.s(["handler",0,U,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:w})},"routeModule",0,O,"serverHooks",0,P,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,w],995435)},234316,e=>{e.v(e=>Promise.resolve().then(()=>e(951336)))}];
8
+
9
+ //# sourceMappingURL=_12yasaj._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[917435,853874,e=>{"use strict";e.i(522734);var t=e.i(814747),i=e.i(446786);e.i(84516);var n=e.i(860789);async function o(e,t=Date.now()){let i=await e.reapStaleRuns();for(let o of(i>0&&console.log(`[prompt-jobs] reaped ${i} stale run(s)`),e.listJobs({state:"active"})))if(null===o.nextRunAt){let i=o.cronExpr||(0,n.parseCadence)(o.cadence)?.cronExpr||"";if(!i)continue;let r=u({cronExpr:i},t);r&&e.updateJob(o.id,{nextRunAt:r})}let r=e.getDueJobs(t),a=[],l=[];for(let i of r){if("skip"===i.overlapPolicy&&e.hasRunningRun(i.id)){l.push({jobId:i.id,reason:"overlap_skip"});let n=u(i,t);e.updateJob(i.id,{nextRunAt:n});continue}let o=function(e,t){if(!e.nextRunAt)return 1;let i=0,o=e.nextRunAt;for(;o<=t&&i<100;){i++;let t=(0,n.computeNextRun)(e.cronExpr,o);if(!t||t<=o)break;o=t}return Math.max(1,i)}(i,t);if("skip"===i.catchUpPolicy&&o>1){l.push({jobId:i.id,reason:`catch_up_skip (${o} missed)`});let n=u(i,t);e.updateJob(i.id,{nextRunAt:n,lastRunAt:t});continue}if("replay_all"===i.catchUpPolicy&&o>1)for(let t=0;t<o;t++){let t=e.createRun(i.id);a.push(t)}else{let t=e.createRun(i.id);a.push(t)}let r=u(i,t);e.updateJob(i.id,{nextRunAt:r,lastRunAt:t})}return{queued:a,skipped:l}}function u(e,t){return(0,n.computeNextRun)(e.cronExpr,t)}e.s(["pollDueJobs",0,o],853874),e.i(846888),e.i(391310),e.i(460275),e.i(273406),e.i(11061),e.i(858015),e.i(901977),e.i(124985);(0,t.join)((0,i.homedir)(),".agx","agents"),e.s(["requestPromptJobPump",0,function(){return!1}],917435)}];
2
+
3
+ //# sourceMappingURL=apps_local_src_prompt-scheduler_processor_ts_022nz2u._.js.map
@@ -52,7 +52,7 @@ module.exports=[845248,e=>{"use strict";var t=e.i(522734),i=e.i(814747),r=e.i(44
52
52
  WHERE state = 'active'
53
53
  AND next_run_at IS NOT NULL
54
54
  AND next_run_at <= ?
55
- ORDER BY next_run_at ASC`).all(e).map(e=>_(this.normalizeLegacyJobRow(e))).filter(t=>null!==t.nextRunAt&&t.nextRunAt<=e)}}var I=e.i(633211);let v=null;function T(e){return e.replace(/^\s*--.*$/gm,"").split(";").map(e=>e.trim()).filter(Boolean)}function A(){if(!v){let e=(0,I.getSQLiteDb)();if(e.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='prompt_jobs'").get()){if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='catch_up_policy'").get())for(let r of T((0,t.readFileSync)(i.default.join(process.cwd(),"db/sqlite/003_prompt_scheduler_v2.sql"),"utf-8")))try{e.exec(r)}catch(e){if(!e.message?.includes("duplicate column"))throw e}}else{let r=(0,t.readFileSync)(i.default.join(process.cwd(),"db/sqlite/002_prompt_scheduler_schema.sql"),"utf-8");e.exec(r)}if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_runs') WHERE name='host_pid'").get())for(let r of T((0,t.readFileSync)(i.default.join(process.cwd(),"db/sqlite/004_prompt_runs_host_pid.sql"),"utf-8")))try{e.exec(r)}catch(e){if(!e.message?.includes("duplicate column"))throw e}if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='objective_id'").get())for(let r of T((0,t.readFileSync)(i.default.join(process.cwd(),"db/sqlite/005_prompt_jobs_objectives.sql"),"utf-8")))try{e.exec(r)}catch(e){if(!e.message?.includes("duplicate column"))throw e}if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='execution_mode'").get())for(let r of T((0,t.readFileSync)(i.default.join(process.cwd(),"db/sqlite/006_prompt_jobs_execution_mode.sql"),"utf-8")))try{e.exec(r)}catch(e){if(!e.message?.includes("duplicate column"))throw e}v=new j(e)}return v}async function S(e,t=Date.now()){let i=await e.reapStaleRuns();for(let r of(i>0&&console.log(`[prompt-jobs] reaped ${i} stale run(s)`),e.listJobs({state:"active"})))if(null===r.nextRunAt){let i=r.cronExpr||(0,p.parseCadence)(r.cadence)?.cronExpr||"";if(!i)continue;let a=R({cronExpr:i},t);a&&e.updateJob(r.id,{nextRunAt:a})}let r=e.getDueJobs(t),a=[],n=[];for(let i of r){if("skip"===i.overlapPolicy&&e.hasRunningRun(i.id)){n.push({jobId:i.id,reason:"overlap_skip"});let r=R(i,t);e.updateJob(i.id,{nextRunAt:r});continue}let r=function(e,t){if(!e.nextRunAt)return 1;let i=0,r=e.nextRunAt;for(;r<=t&&i<100;){i++;let t=(0,p.computeNextRun)(e.cronExpr,r);if(!t||t<=r)break;r=t}return Math.max(1,i)}(i,t);if("skip"===i.catchUpPolicy&&r>1){n.push({jobId:i.id,reason:`catch_up_skip (${r} missed)`});let a=R(i,t);e.updateJob(i.id,{nextRunAt:a,lastRunAt:t});continue}if("replay_all"===i.catchUpPolicy&&r>1)for(let t=0;t<r;t++){let t=e.createRun(i.id);a.push(t)}else{let t=e.createRun(i.id);a.push(t)}let s=R(i,t);e.updateJob(i.id,{nextRunAt:s,lastRunAt:t})}return{queued:a,skipped:n}}function R(e,t){return(0,p.computeNextRun)(e.cronExpr,t)}var w=e.i(623775),L=e.i(864075),N=e.i(133439),O=e.i(374371);function k(e,t){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function D(e){var t;let i,r,a=e.issue.identifier.trim()||"TICKET-ID",n=e.issue.title.trim()||"Untitled ticket",s=String(e.issue.status??"").trim()||"Unknown",o=String(e.issue.assignee??"").trim()||"Unassigned",l=function(e){let t=String(e?.slug??"").trim();if(t)return k(t,"project");let i=String(e?.name??"").trim();return i?k(i,"project"):"project"}(e.project),d=String(e.project?.name??"").trim()||l,u=String(e.runtime?.knowledgeBaseRoot??"").trim()||`~/.agx/vault/${l}`,c=String(e.runtime?.issueKnowledgePath??"").trim()||`${u}/issues/${a}/`,p=String(e.runtime?.isolatedWorktreePath??"").trim()||`/tmp/agx-${k(a,"ticket")}`;return{issue:{identifier:a,title:n,status:s,assignee:o},project:{name:d,slug:l,label:(t=e.project,i=String(t?.name??"").trim(),r=String(t?.slug??"").trim(),i&&r?`${i} (${r})`:i||r||"current project"),repos:e.project?.repos?[...e.project.repos]:[]},runtime:{knowledgeBaseRoot:u,issueKnowledgePath:c,isolatedWorktreePath:p}}}var x=e.x("node:sqlite",()=>require("node:sqlite"),!0),$=e.i(801243);let C=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),M=i.default.join(C,"history.sqlite");function P(e){return e?.trim()||null}function U(e){return"scripted"===e?"scripted":"chat"}function F(e){let t,i=e.chat_created_at??e.created_at,r=e.chat_completed_at??null,a=function(e,t){switch(e){case"queued":return"queued";case"running":case"awaiting_user":case"blocked":return"running";case"completed":return"success";case"failed":return"failed";case"cancelled":return"cancelled";default:return t}}(e.chat_status,e.status);return{id:e.id,projectId:e.project_id,projectSlug:e.project_slug,issueId:e.issue_id,issueIdentifier:e.issue_identifier,issueTitle:e.issue_title,issueStatus:e.issue_status,issueAssignee:e.issue_assignee,threadId:e.thread_id,rootMessageId:e.root_message_id,chatRunId:e.chat_run_id,agentId:e.agent_id,agentName:e.agent_name,mode:U(e.mode),sessionTitle:"chat"===U(e.mode)&&(t=String(e.root_content??"").replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").replace(/\s+/g," ").trim())?t.length>72?`${t.slice(0,69).trimEnd()}...`:t:null,status:a,durationMs:null!=r?Math.max(r-i,0):null,lastError:e.chat_last_error??e.error,startedAt:new Date(i).toISOString(),updatedAt:new Date((e.chat_updated_at??e.updated_at)||e.updated_at).toISOString(),completedAt:"number"==typeof r?new Date(r).toISOString():null}}async function J(e){await t.promises.mkdir(C,{recursive:!0});let i=new x.DatabaseSync(M);(0,$.pragmaSet)(i,"journal_mode = WAL");try{return i.exec(`
55
+ ORDER BY next_run_at ASC`).all(e).map(e=>_(this.normalizeLegacyJobRow(e))).filter(t=>null!==t.nextRunAt&&t.nextRunAt<=e)}}var I=e.i(633211);let v=null;function T(e){return e.replace(/^\s*--.*$/gm,"").split(";").map(e=>e.trim()).filter(Boolean)}function A(){if(!v){let e=(0,I.getSQLiteDb)();if(e.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='prompt_jobs'").get()){if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='catch_up_policy'").get())for(let r of T((0,t.readFileSync)(i.default.join(process.cwd(),"db/sqlite/003_prompt_scheduler_v2.sql"),"utf-8")))try{e.exec(r)}catch(e){if(!e.message?.includes("duplicate column"))throw e}}else{let r=(0,t.readFileSync)(i.default.join(process.cwd(),"db/sqlite/002_prompt_scheduler_schema.sql"),"utf-8");e.exec(r)}if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_runs') WHERE name='host_pid'").get())for(let r of T((0,t.readFileSync)(i.default.join(process.cwd(),"db/sqlite/004_prompt_runs_host_pid.sql"),"utf-8")))try{e.exec(r)}catch(e){if(!e.message?.includes("duplicate column"))throw e}if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='objective_id'").get())for(let r of T((0,t.readFileSync)(i.default.join(process.cwd(),"db/sqlite/005_prompt_jobs_objectives.sql"),"utf-8")))try{e.exec(r)}catch(e){if(!e.message?.includes("duplicate column"))throw e}if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='execution_mode'").get())for(let r of T((0,t.readFileSync)(i.default.join(process.cwd(),"db/sqlite/006_prompt_jobs_execution_mode.sql"),"utf-8")))try{e.exec(r)}catch(e){if(!e.message?.includes("duplicate column"))throw e}v=new j(e)}return v}async function S(e,t=Date.now()){let i=await e.reapStaleRuns();for(let r of(i>0&&console.log(`[prompt-jobs] reaped ${i} stale run(s)`),e.listJobs({state:"active"})))if(null===r.nextRunAt){let i=r.cronExpr||(0,p.parseCadence)(r.cadence)?.cronExpr||"";if(!i)continue;let a=w({cronExpr:i},t);a&&e.updateJob(r.id,{nextRunAt:a})}let r=e.getDueJobs(t),a=[],n=[];for(let i of r){if("skip"===i.overlapPolicy&&e.hasRunningRun(i.id)){n.push({jobId:i.id,reason:"overlap_skip"});let r=w(i,t);e.updateJob(i.id,{nextRunAt:r});continue}let r=function(e,t){if(!e.nextRunAt)return 1;let i=0,r=e.nextRunAt;for(;r<=t&&i<100;){i++;let t=(0,p.computeNextRun)(e.cronExpr,r);if(!t||t<=r)break;r=t}return Math.max(1,i)}(i,t);if("skip"===i.catchUpPolicy&&r>1){n.push({jobId:i.id,reason:`catch_up_skip (${r} missed)`});let a=w(i,t);e.updateJob(i.id,{nextRunAt:a,lastRunAt:t});continue}if("replay_all"===i.catchUpPolicy&&r>1)for(let t=0;t<r;t++){let t=e.createRun(i.id);a.push(t)}else{let t=e.createRun(i.id);a.push(t)}let s=w(i,t);e.updateJob(i.id,{nextRunAt:s,lastRunAt:t})}return{queued:a,skipped:n}}function w(e,t){return(0,p.computeNextRun)(e.cronExpr,t)}var R=e.i(623775),N=e.i(864075),L=e.i(133439),k=e.i(374371);function O(e,t){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function D(e){var t;let i,r,a=e.issue.identifier.trim()||"TICKET-ID",n=e.issue.title.trim()||"Untitled ticket",s=String(e.issue.status??"").trim()||"Unknown",o=String(e.issue.assignee??"").trim()||"Unassigned",l=function(e){let t=String(e?.slug??"").trim();if(t)return O(t,"project");let i=String(e?.name??"").trim();return i?O(i,"project"):"project"}(e.project),d=String(e.project?.name??"").trim()||l,u=String(e.runtime?.knowledgeBaseRoot??"").trim()||`~/.agx/vault/${l}`,c=String(e.runtime?.issueKnowledgePath??"").trim()||`${u}/issues/${a}/`,p=String(e.runtime?.isolatedWorktreePath??"").trim()||`/tmp/agx-${O(a,"ticket")}`;return{issue:{identifier:a,title:n,status:s,assignee:o},project:{name:d,slug:l,label:(t=e.project,i=String(t?.name??"").trim(),r=String(t?.slug??"").trim(),i&&r?`${i} (${r})`:i||r||"current project"),repos:e.project?.repos?[...e.project.repos]:[]},runtime:{knowledgeBaseRoot:u,issueKnowledgePath:c,isolatedWorktreePath:p}}}var x=e.x("node:sqlite",()=>require("node:sqlite"),!0),$=e.i(801243);let C=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),M=i.default.join(C,"history.sqlite");function P(e){return e?.trim()||null}function U(e){return"scripted"===e?"scripted":"chat"}function F(e){let t,i=e.chat_created_at??e.created_at,r=e.chat_completed_at??null,a=function(e,t){switch(e){case"queued":return"queued";case"running":case"awaiting_user":case"blocked":return"running";case"completed":return"success";case"failed":return"failed";case"cancelled":return"cancelled";default:return t}}(e.chat_status,e.status);return{id:e.id,projectId:e.project_id,projectSlug:e.project_slug,issueId:e.issue_id,issueIdentifier:e.issue_identifier,issueTitle:e.issue_title,issueStatus:e.issue_status,issueAssignee:e.issue_assignee,threadId:e.thread_id,rootMessageId:e.root_message_id,chatRunId:e.chat_run_id,agentId:e.agent_id,agentName:e.agent_name,mode:U(e.mode),sessionTitle:"chat"===U(e.mode)&&(t=String(e.root_content??"").replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").replace(/\s+/g," ").trim())?t.length>72?`${t.slice(0,69).trimEnd()}...`:t:null,status:a,durationMs:null!=r?Math.max(r-i,0):null,lastError:e.chat_last_error??e.error,startedAt:new Date(i).toISOString(),updatedAt:new Date((e.chat_updated_at??e.updated_at)||e.updated_at).toISOString(),completedAt:"number"==typeof r?new Date(r).toISOString():null}}async function J(e){await t.promises.mkdir(C,{recursive:!0});let i=new x.DatabaseSync(M);(0,$.pragmaSet)(i,"journal_mode = WAL");try{return i.exec(`
56
56
  CREATE TABLE IF NOT EXISTS chat_runs (
57
57
  id TEXT PRIMARY KEY,
58
58
  thread_id TEXT NOT NULL,
@@ -155,7 +155,7 @@ module.exports=[845248,e=>{"use strict";var t=e.i(522734),i=e.i(814747),r=e.i(44
155
155
  LEFT JOIN chat_runs cr ON cr.id = (
156
156
  SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
157
157
  )
158
- WHERE (lr.status IN ('queued', 'running') OR cr.status IN ('queued', 'running'))`;return(i?t.prepare(r).all(e.trim()):t.prepare(r).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}var K=e.i(200704),B=e.i(202322),H=e.i(295851),Y=e.i(251642);async function G(e){let t=(await (0,N.loadDbParticipants)()).find(t=>t.id===e.agentId)??null;if(!t)throw Error(`Agent "${e.agentId}" could not be resolved for scripted Linear work.`);let i=await X({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 r;let a,n,s,o,l,d,u,c,p,m,f,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:g,promptPrefix:_}=(n=(a=D(h)).issue.identifier,s=a.issue.title,o=a.issue.status,l=a.issue.assignee,d=a.runtime.knowledgeBaseRoot,u=a.runtime.issueKnowledgePath,c=a.runtime.isolatedWorktreePath,p=`LINEAR TASK EXECUTION
158
+ WHERE (lr.status IN ('queued', 'running') OR cr.status IN ('queued', 'running'))`;return(i?t.prepare(r).all(e.trim()):t.prepare(r).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}var B=e.i(200704),K=e.i(202322),H=e.i(295851),Y=e.i(251642);async function G(e){let t=(await (0,L.loadDbParticipants)()).find(t=>t.id===e.agentId)??null;if(!t)throw Error(`Agent "${e.agentId}" could not be resolved for scripted Linear work.`);let i=await X({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 r;let a,n,s,o,l,d,u,c,p,m,f,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:g,promptPrefix:_}=(n=(a=D(h)).issue.identifier,s=a.issue.title,o=a.issue.status,l=a.issue.assignee,d=a.runtime.knowledgeBaseRoot,u=a.runtime.issueKnowledgePath,c=a.runtime.isolatedWorktreePath,p=`LINEAR TASK EXECUTION
159
159
 
160
160
  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.
161
161
 
@@ -193,7 +193,7 @@ RULES
193
193
  `,{prompt:`Work on this Linear ticket: ${n} - ${s}`,promptPrefix:p}),y=e.scriptPrompt?.trim()??"",b=e.scriptName?.trim()??"",E=y&&(f={"ticket.identifier":(m=D(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},y.replace(/\{\{\s*([a-zA-Z0-9._-]+)\s*\}\}/g,(e,t)=>f[t]??"")).trim()||g,j=y?`${_}ACTIVE SESSION SCRIPT
194
194
  - Name: ${b||"Custom script"}
195
195
 
196
- `:_,{chatRunId:I,userMessageId:v}=await V({threadId:i.threadId,prompt:E,promptPrefix:j,projectSlug:e.projectSlug??null,participantId:t.id});return{run:i=await W({id:i.id,chatRunId:I,rootMessageId:v})??i,chatRunId:I,userMessageId:v}}catch(e){throw await W({id:i.id,status:"failed",error:e instanceof Error?e.message:String(e)}),e}}async function V(e){let t=(await (0,N.loadDbParticipants)()).find(t=>t.id===e.participantId)??null;if(!t)throw Error(`Participant "${e.participantId}" is unavailable.`);let i=(0,Y.normalizeProjectSlug)(e.projectSlug),r=await (0,Y.resolveProjectContext)(i,[],[t]),a=Date.now(),n=crypto.randomUUID(),s={id:n,role:"user",participantId:null,content:e.prompt,timestamp:a,rootMessageId:null,parentMessageId:null,depth:0};await (0,K.saveMessages)(e.threadId,[s]);let o=e.promptPrefix?`${e.promptPrefix}${e.prompt}`:e.prompt,l=crypto.randomUUID(),d={threadId:e.threadId,prompt:o,projectContext:r,mentionedIds:[],initialParallelIds:[],maxRounds:Math.min(Math.max(e.maxRounds??10,1),50),recentHistory:[],currentUserMessageId:n,rootMessageId:n,participantIds:[t.id]};await (0,K.createChatRun)({id:l,threadId:e.threadId,rootMessageId:n,userId:L.LOCAL_USER.id,projectSlug:i||null,maxSteps:d.maxRounds,activeParticipantIds:[t.id],payload:d}),await (0,B.ensureOrchestratorRuntime)();let u=await (0,H.getQueue)();return await u.send(H.QUEUE_NAMES.CHAT_RUN_PROCESS,{chatRunId:l,userId:L.LOCAL_USER.id,signal:"start"}),{chatRunId:l,userMessageId:n}}var z=e.i(902157),Z=e.i(750227),Q=e.i(180228),ee=e.i(660526);let et=Z.default.join((0,ee.homedir)(),".agx");function ei(){return Z.default.join(et,"linear-token.json")}function er(e){if(null===e)return"null";if(Array.isArray(e))return`[${e.map(er).join(", ")}]`;if("string"==typeof e)return JSON.stringify(e);if("number"==typeof e||"boolean"==typeof e)return String(e);if("object"==typeof e){let t=Object.entries(e).filter(([,e])=>void 0!==e);return`{ ${t.map(([e,t])=>`${e}: ${er(t)}`).join(", ")} }`}throw Error(`Unsupported GraphQL value: ${typeof e}`)}class ea{accessToken;constructor(e){this.accessToken=e}get viewer(){return this.request("query { viewer { id name email } }").then(e=>e.viewer)}async users(){return(await this.request(`query {
196
+ `:_,{chatRunId:I,userMessageId:v}=await V({threadId:i.threadId,prompt:E,promptPrefix:j,projectSlug:e.projectSlug??null,participantId:t.id});return{run:i=await W({id:i.id,chatRunId:I,rootMessageId:v})??i,chatRunId:I,userMessageId:v}}catch(e){throw await W({id:i.id,status:"failed",error:e instanceof Error?e.message:String(e)}),e}}async function V(e){let t=(await (0,L.loadDbParticipants)()).find(t=>t.id===e.participantId)??null;if(!t)throw Error(`Participant "${e.participantId}" is unavailable.`);let i=(0,Y.normalizeProjectSlug)(e.projectSlug),r=await (0,Y.resolveProjectContext)(i,[],[t]),a=Date.now(),n=crypto.randomUUID(),s={id:n,role:"user",participantId:null,content:e.prompt,timestamp:a,rootMessageId:null,parentMessageId:null,depth:0};await (0,B.saveMessages)(e.threadId,[s]);let o=e.promptPrefix?`${e.promptPrefix}${e.prompt}`:e.prompt,l=crypto.randomUUID(),d={threadId:e.threadId,prompt:o,projectContext:r,mentionedIds:[],initialParallelIds:[],maxRounds:Math.min(Math.max(e.maxRounds??10,1),50),recentHistory:[],currentUserMessageId:n,rootMessageId:n,participantIds:[t.id]};await (0,B.createChatRun)({id:l,threadId:e.threadId,rootMessageId:n,userId:N.LOCAL_USER.id,projectSlug:i||null,maxSteps:d.maxRounds,activeParticipantIds:[t.id],payload:d}),await (0,K.ensureOrchestratorRuntime)();let u=await (0,H.getQueue)();return await u.send(H.QUEUE_NAMES.CHAT_RUN_PROCESS,{chatRunId:l,userId:N.LOCAL_USER.id,signal:"start"}),{chatRunId:l,userMessageId:n}}var z=e.i(902157),Z=e.i(750227),Q=e.i(180228),ee=e.i(660526);let et=Z.default.join((0,ee.homedir)(),".agx");function ei(){return Z.default.join(et,"linear-token.json")}function er(e){if(null===e)return"null";if(Array.isArray(e))return`[${e.map(er).join(", ")}]`;if("string"==typeof e)return JSON.stringify(e);if("number"==typeof e||"boolean"==typeof e)return String(e);if("object"==typeof e){let t=Object.entries(e).filter(([,e])=>void 0!==e);return`{ ${t.map(([e,t])=>`${e}: ${er(t)}`).join(", ")} }`}throw Error(`Unsupported GraphQL value: ${typeof e}`)}class ea{accessToken;constructor(e){this.accessToken=e}get viewer(){return this.request("query { viewer { id name email } }").then(e=>e.viewer)}async users(){return(await this.request(`query {
197
197
  users(first: 100) {
198
198
  nodes {
199
199
  id
@@ -430,7 +430,7 @@ ${a}
430
430
  ${r}
431
431
  ---
432
432
  `)}(Z.default.join(e,"README.md"),{type:"linear-issue",issue_id:i.id,identifier:i.identifier,title:i.title,status:i.status,assignee_id:i.assigneeId??null,assignee_name:i.assignee??null,assignee_email:i.assigneeEmail??null,team_id:i.teamId??null,team_name:i.teamName??null,team_key:i.teamKey??null,cycle_id:i.cycleId??null,cycle_name:i.cycleName??null,cycle_number:i.cycleNumber??null,url:i.url??null,updated_at:i.updatedAt,pulled_at:t},[`# ${i.identifier}: ${i.title}`,"",`- Status: ${i.status}`,`- Assignee: ${i.assignee??"Unassigned"}`,i.teamName?`- Team: ${i.teamName}`:null,i.cycleName||null!=i.cycleNumber?`- Cycle: ${i.cycleName??`Cycle ${i.cycleNumber}`}`:null,i.labels?.length?`- Labels: ${i.labels.join(", ")}`:null,`- Updated in Linear: ${i.updatedAt}`,`- Pulled locally: ${t}`,i.url?`- URL: ${i.url}`:null,"","## Description","",i.description?.trim()||"_No description provided._"].filter(e=>null!==e).join("\n")),a.push(`- [${i.identifier}](${encodeURIComponent(eA(i.identifier,i.id))}/README.md) - ${i.title} (${i.status})`)}ev(Z.default.join(r,"_index.md"),`${a.join("\n")}
433
- `)}(l,n,e.projectSlug),{issueCount:l.length,complete:o,pulledAt:n}}async function eR(e={}){let t=!!e.refresh,i=ej(e.projectSlug);if(!t){let[e,t]=await Promise.all([e_(),eg(i)]);if(e>0&&t)return null}return en()?eS({projectSlug:e.projectSlug}):null}async function ew(e={}){let[t,i]=await Promise.all([ey(e),eg(eE)]);return{issues:t.issues.map(eT),pageInfo:t.pageInfo,syncState:{lastPulledAt:i?.lastPulledAt??null}}}let eL=new Set(["done","cancelled","canceled","duplicate"]);function eN(e){return eL.has(String(e??"").trim().toLowerCase())}async function eO(e){let t=await eR({refresh:e.refresh,projectSlug:e.projectSlug}),{issues:i}=await ew({limit:e.limit??500});return{issues:i.filter(t=>(t.labels??[]).some(t=>{var i;return i=e.objectiveKey,t.trim().toLowerCase()===i.trim().toLowerCase()})),refreshedAt:t?.pulledAt??null}}var ek=e.i(929160);let eD="project_objectives_workspace",ex="project_goals_workspace",e$="project_health_snapshot",eC=new Set(["on_track","at_risk","off_track","done"]);function eM(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function eP(e){return`${e}_${Math.random().toString(36).slice(2,10)}`}function eU(e){return[...e].sort((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function eF(e){return[...e].sort((e,t)=>Date.parse(e.createdAt)-Date.parse(t.createdAt))}function eJ(e){return[...e].sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}function eX(e,t=""){return"string"==typeof e?e:t}function eW(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let i=Date.parse(e);return Number.isNaN(i)?t:new Date(i).toISOString()}function eq(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function eK(e){return"string"==typeof e&&eC.has(e)?e:"on_track"}function eB(e,t="objective"){let i=e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-").slice(0,32);return i||t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"objective"}function eH(e){var t;if(!eM(e))return null;let i=eW(e.updatedAt??e.createdAt),r=eW(e.createdAt,i);return{id:eX(e.id,eP("objective")),title:eX(e.title,"Untitled objective"),teamId:eX(e.teamId??e.team_id??e.ownerTeamId),key:eB(eX(e.key??e.slug??e.label),eX(e.title??e.id,"objective")),threadId:eX(e.threadId)||null,chatSessionVersion:function(e,t=0){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.floor(e)):t}(e.chatSessionVersion,0),scheduledTaskIds:Array.isArray(t=e.scheduledTaskIds??e.promptJobIds)?Array.from(new Set(t.map(e=>"string"==typeof e?e.trim():"").filter(Boolean))):[],summary:eX(e.summary),cadence:eX(e.cadence),condition:eX(e.condition),progress:eq(e.progress),status:eK(e.status),createdAt:r,updatedAt:i}}function eY(e){if(!eM(e))return null;let t=eW(e.updatedAt??e.createdAt),i=eW(e.createdAt,t),r=eX(e.objectiveId??e.goalId);return r?{id:eX(e.id,eP("objective_activity")),objectiveId:r,sourceType:"note",sourceLabel:eX(e.sourceLabel,"Update"),title:eX(e.title,"Untitled activity"),body:eX(e.body),createdAt:i,updatedAt:t,relatedTaskId:eX(e.relatedTaskId)||null}:null}function eG(e){if(!eM(e))return null;let t=eX(e.activityId);return t?{id:eX(e.id,eP("objective_thread_message")),activityId:t,author:eX(e.author,"You"),body:eX(e.body),createdAt:eW(e.createdAt)}:null}function eV(){return{objectives:[],activities:[],activityThreads:{}}}function ez(e){let t;if(!eM(e))return eV();let i=Array.isArray(e.objectives)?e.objectives.map(e=>eH(e)).filter(e=>null!==e):[],r=Array.isArray(e.activities)?e.activities.map(e=>eY(e)).filter(e=>null!==e):[],a=eM(e.activityThreads)?Object.fromEntries(Object.entries(e.activityThreads).map(([e,t])=>[e,eF(Array.isArray(t)?t.map(e=>eG(e)).filter(e=>null!==e):[])])):{};return{objectives:eU((t=new Set,i.map(e=>{let i=function(e,t,i="objective"){let r=eB(i),a=eB(e,r),n=a,s=2;for(;t.has(n);){let e=`-${s}`,t=Math.max(1,32-e.length);n=`${a.slice(0,t)}${e}`,s+=1}return t.add(n),n}(e.key||e.title||e.id,t,e.id||e.title||"objective");return e.key===i?e:{...e,key:i}}))),activities:eJ(r),activityThreads:a}}function eZ(e,t){let i={...e};return t?i[e$]={progress:eq(t.progress),status:eK(t.status),updatedAt:eW(t.updatedAt),...t.source?{source:t.source.trim()}:{},...t.objectiveId?{objectiveId:t.objectiveId}:{},...t.objectiveKey?{objectiveKey:t.objectiveKey}:{},...t.note?{note:t.note.trim()}:{}}:delete i[e$],i}let eQ=/^---\s*\n([\s\S]*?)\n---\s*(?:\n([\s\S]*))?$/;function e0(e,t=""){return"string"==typeof e?e:t}function e1(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let i=Date.parse(e);return Number.isNaN(i)?t:new Date(i).toISOString()}let e2=new Set(["on_track","at_risk","off_track","done"]);function e8(e,t={}){var i,r,a,n;let s,o,l=e.match(eQ);if(!l)throw Error(`Objective file is missing YAML frontmatter${t.filePath?` (${t.filePath})`:""}.`);let[,d,u=""]=l,c=!(i=(0,Q.load)(d,{...t.filePath?{filename:t.filePath}:{}}))||"object"!=typeof i||Array.isArray(i)?{}:i,{summary:p,activities:m,activityThreads:f}=function(e,t){let i=e.split(/(?=^## )/m),r="",a=[],n={};for(let e of i){let i=e.trim();if(i){if(i.startsWith("## Notes")){r=i.replace(/^## Notes\s*/,"").trim();continue}if(i.startsWith("## Activities")){for(let e of i.split(/(?=^### )/m).slice(1)){let i=function(e,t){let i=e.split("\n"),r=i[0];if(!r)return null;let a=r.replace(/^###\s+/,"").trim();if(!a)return null;let n="",s="Update",o="",l="",d=null,u=[],c=!1;for(let e=1;e<i.length;e++){let t=i[e];if(t.startsWith("#### Replies")){c=!0;continue}if(c){let e=t.match(/^- \*\*(.+?)\*\*\s+\((\d{4}-\S+)\):\s*(.+)$/);if(e){let[,t,i,r]=e;u.push({id:`reply_${Math.random().toString(36).slice(2,10)}`,activityId:n,author:t,body:r,createdAt:e1(i)})}continue}let r=t.match(/^- \*\*(\w+):\*\*\s*(.+)$/);if(r){let[,e,t]=r;switch(e){case"id":n=t.trim();break;case"source":s=t.trim();break;case"created":o=e1(t.trim());break;case"body":l=t.trim();break;case"relatedTaskId":d=t.trim()||null}continue}}for(let e of(n||(n=`objective_activity_${Math.random().toString(36).slice(2,10)}`),o||(o=new Date().toISOString()),u))e.activityId=n;return{activity:{id:n,objectiveId:t,sourceType:"note",sourceLabel:s,title:a,body:l,createdAt:o,updatedAt:o,relatedTaskId:d},replies:u}}(e.trim(),t);i&&(a.push(i.activity),i.replies.length>0&&(n[i.activity.id]=i.replies))}continue}i.startsWith("## ")||(r=i)}}return{summary:r,activities:a,activityThreads:n}}(u,e0(c.id));return{objective:(s=e1(c.updatedAt??c.createdAt),o=e1(c.createdAt,s),{id:e0(c.id),title:e0(c.title,"Untitled objective"),teamId:e0(c.teamId),key:e0(c.key),threadId:e0(c.threadId)||null,chatSessionVersion:function(e,t=0){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.floor(e)):t}(c.chatSessionVersion,0),scheduledTaskIds:Array.isArray(r=c.scheduledTaskIds)?r.map(e=>"string"==typeof e?e.trim():"").filter(Boolean):[],summary:p,cadence:e0(c.cadence),condition:e0(c.condition),progress:"number"==typeof(a=c.progress)&&Number.isFinite(a)?Math.max(0,Math.min(100,Math.round(a))):0,status:"string"==typeof(n=c.status)&&e2.has(n)?n:"on_track",createdAt:o,updatedAt:s}),activities:m,activityThreads:f}}let e5=/^---\s*\n([\s\S]*?)\n---\s*(?:\n([\s\S]*))?$/;function e3(e,t=""){return"string"==typeof e?e:t}function e4(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let i=Date.parse(e);return Number.isNaN(i)?t:new Date(i).toISOString()}function e7(e,t={}){let i=e.match(e5);if(!i)throw Error(`Note file is missing YAML frontmatter${t.filePath?` (${t.filePath})`:""}.`);let[,r,a=""]=i,n=(0,Q.load)(r,{...t.filePath?{filename:t.filePath}:{}}),s=n&&"object"==typeof n&&!Array.isArray(n)?n:{},o=e4(s.createdAt),l=e4(s.updatedAt,o);return{id:e3(s.id),title:e3(s.title,"Untitled"),objectiveId:e3(s.objectiveId),createdAt:o,updatedAt:l,body:a.trim()}}function e9(e){let t={id:e.id,title:e.title,objectiveId:e.objectiveId,createdAt:e.createdAt,updatedAt:e.updatedAt},i=(0,Q.dump)(t,{lineWidth:120,noRefs:!0,sortKeys:!1}).trimEnd(),r=e.body.trim();return r?`---
433
+ `)}(l,n,e.projectSlug),{issueCount:l.length,complete:o,pulledAt:n}}async function ew(e={}){let t=!!e.refresh,i=ej(e.projectSlug);if(!t){let[e,t]=await Promise.all([e_(),eg(i)]);if(e>0&&t)return null}return en()?eS({projectSlug:e.projectSlug}):null}async function eR(e={}){let[t,i]=await Promise.all([ey(e),eg(eE)]);return{issues:t.issues.map(eT),pageInfo:t.pageInfo,syncState:{lastPulledAt:i?.lastPulledAt??null}}}let eN=new Set(["done","cancelled","canceled","duplicate"]);function eL(e){return eN.has(String(e??"").trim().toLowerCase())}async function ek(e){let t=await ew({refresh:e.refresh,projectSlug:e.projectSlug}),{issues:i}=await eR({limit:e.limit??500});return{issues:i.filter(t=>(t.labels??[]).some(t=>{var i;return i=e.objectiveKey,t.trim().toLowerCase()===i.trim().toLowerCase()})),refreshedAt:t?.pulledAt??null}}var eO=e.i(929160);let eD="project_objectives_workspace",ex="project_goals_workspace",e$="project_health_snapshot",eC=new Set(["on_track","at_risk","off_track","done"]);function eM(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function eP(e){return`${e}_${Math.random().toString(36).slice(2,10)}`}function eU(e){return[...e].sort((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function eF(e){return[...e].sort((e,t)=>Date.parse(e.createdAt)-Date.parse(t.createdAt))}function eJ(e){return[...e].sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}function eX(e,t=""){return"string"==typeof e?e:t}function eW(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let i=Date.parse(e);return Number.isNaN(i)?t:new Date(i).toISOString()}function eq(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function eB(e){return"string"==typeof e&&eC.has(e)?e:"on_track"}function eK(e,t="objective"){let i=e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-").slice(0,32);return i||t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"objective"}function eH(e){var t;if(!eM(e))return null;let i=eW(e.updatedAt??e.createdAt),r=eW(e.createdAt,i);return{id:eX(e.id,eP("objective")),title:eX(e.title,"Untitled objective"),teamId:eX(e.teamId??e.team_id??e.ownerTeamId),key:eK(eX(e.key??e.slug??e.label),eX(e.title??e.id,"objective")),threadId:eX(e.threadId)||null,chatSessionVersion:function(e,t=0){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.floor(e)):t}(e.chatSessionVersion,0),scheduledTaskIds:Array.isArray(t=e.scheduledTaskIds??e.promptJobIds)?Array.from(new Set(t.map(e=>"string"==typeof e?e.trim():"").filter(Boolean))):[],summary:eX(e.summary),cadence:eX(e.cadence),condition:eX(e.condition),progress:eq(e.progress),status:eB(e.status),createdAt:r,updatedAt:i}}function eY(e){if(!eM(e))return null;let t=eW(e.updatedAt??e.createdAt),i=eW(e.createdAt,t),r=eX(e.objectiveId??e.goalId);return r?{id:eX(e.id,eP("objective_activity")),objectiveId:r,sourceType:"note",sourceLabel:eX(e.sourceLabel,"Update"),title:eX(e.title,"Untitled activity"),body:eX(e.body),createdAt:i,updatedAt:t,relatedTaskId:eX(e.relatedTaskId)||null}:null}function eG(e){if(!eM(e))return null;let t=eX(e.activityId);return t?{id:eX(e.id,eP("objective_thread_message")),activityId:t,author:eX(e.author,"You"),body:eX(e.body),createdAt:eW(e.createdAt)}:null}function eV(){return{objectives:[],activities:[],activityThreads:{}}}function ez(e){let t;if(!eM(e))return eV();let i=Array.isArray(e.objectives)?e.objectives.map(e=>eH(e)).filter(e=>null!==e):[],r=Array.isArray(e.activities)?e.activities.map(e=>eY(e)).filter(e=>null!==e):[],a=eM(e.activityThreads)?Object.fromEntries(Object.entries(e.activityThreads).map(([e,t])=>[e,eF(Array.isArray(t)?t.map(e=>eG(e)).filter(e=>null!==e):[])])):{};return{objectives:eU((t=new Set,i.map(e=>{let i=function(e,t,i="objective"){let r=eK(i),a=eK(e,r),n=a,s=2;for(;t.has(n);){let e=`-${s}`,t=Math.max(1,32-e.length);n=`${a.slice(0,t)}${e}`,s+=1}return t.add(n),n}(e.key||e.title||e.id,t,e.id||e.title||"objective");return e.key===i?e:{...e,key:i}}))),activities:eJ(r),activityThreads:a}}function eZ(e,t){let i={...e};return t?i[e$]={progress:eq(t.progress),status:eB(t.status),updatedAt:eW(t.updatedAt),...t.source?{source:t.source.trim()}:{},...t.objectiveId?{objectiveId:t.objectiveId}:{},...t.objectiveKey?{objectiveKey:t.objectiveKey}:{},...t.note?{note:t.note.trim()}:{}}:delete i[e$],i}let eQ=/^---\s*\n([\s\S]*?)\n---\s*(?:\n([\s\S]*))?$/;function e0(e,t=""){return"string"==typeof e?e:t}function e1(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let i=Date.parse(e);return Number.isNaN(i)?t:new Date(i).toISOString()}let e2=new Set(["on_track","at_risk","off_track","done"]);function e8(e,t={}){var i,r,a,n;let s,o,l=e.match(eQ);if(!l)throw Error(`Objective file is missing YAML frontmatter${t.filePath?` (${t.filePath})`:""}.`);let[,d,u=""]=l,c=!(i=(0,Q.load)(d,{...t.filePath?{filename:t.filePath}:{}}))||"object"!=typeof i||Array.isArray(i)?{}:i,{summary:p,activities:m,activityThreads:f}=function(e,t){let i=e.split(/(?=^## )/m),r="",a=[],n={};for(let e of i){let i=e.trim();if(i){if(i.startsWith("## Notes")){r=i.replace(/^## Notes\s*/,"").trim();continue}if(i.startsWith("## Activities")){for(let e of i.split(/(?=^### )/m).slice(1)){let i=function(e,t){let i=e.split("\n"),r=i[0];if(!r)return null;let a=r.replace(/^###\s+/,"").trim();if(!a)return null;let n="",s="Update",o="",l="",d=null,u=[],c=!1;for(let e=1;e<i.length;e++){let t=i[e];if(t.startsWith("#### Replies")){c=!0;continue}if(c){let e=t.match(/^- \*\*(.+?)\*\*\s+\((\d{4}-\S+)\):\s*(.+)$/);if(e){let[,t,i,r]=e;u.push({id:`reply_${Math.random().toString(36).slice(2,10)}`,activityId:n,author:t,body:r,createdAt:e1(i)})}continue}let r=t.match(/^- \*\*(\w+):\*\*\s*(.+)$/);if(r){let[,e,t]=r;switch(e){case"id":n=t.trim();break;case"source":s=t.trim();break;case"created":o=e1(t.trim());break;case"body":l=t.trim();break;case"relatedTaskId":d=t.trim()||null}continue}}for(let e of(n||(n=`objective_activity_${Math.random().toString(36).slice(2,10)}`),o||(o=new Date().toISOString()),u))e.activityId=n;return{activity:{id:n,objectiveId:t,sourceType:"note",sourceLabel:s,title:a,body:l,createdAt:o,updatedAt:o,relatedTaskId:d},replies:u}}(e.trim(),t);i&&(a.push(i.activity),i.replies.length>0&&(n[i.activity.id]=i.replies))}continue}i.startsWith("## ")||(r=i)}}return{summary:r,activities:a,activityThreads:n}}(u,e0(c.id));return{objective:(s=e1(c.updatedAt??c.createdAt),o=e1(c.createdAt,s),{id:e0(c.id),title:e0(c.title,"Untitled objective"),teamId:e0(c.teamId),key:e0(c.key),threadId:e0(c.threadId)||null,chatSessionVersion:function(e,t=0){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.floor(e)):t}(c.chatSessionVersion,0),scheduledTaskIds:Array.isArray(r=c.scheduledTaskIds)?r.map(e=>"string"==typeof e?e.trim():"").filter(Boolean):[],summary:p,cadence:e0(c.cadence),condition:e0(c.condition),progress:"number"==typeof(a=c.progress)&&Number.isFinite(a)?Math.max(0,Math.min(100,Math.round(a))):0,status:"string"==typeof(n=c.status)&&e2.has(n)?n:"on_track",createdAt:o,updatedAt:s}),activities:m,activityThreads:f}}let e5=/^---\s*\n([\s\S]*?)\n---\s*(?:\n([\s\S]*))?$/;function e3(e,t=""){return"string"==typeof e?e:t}function e4(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let i=Date.parse(e);return Number.isNaN(i)?t:new Date(i).toISOString()}function e7(e,t={}){let i=e.match(e5);if(!i)throw Error(`Note file is missing YAML frontmatter${t.filePath?` (${t.filePath})`:""}.`);let[,r,a=""]=i,n=(0,Q.load)(r,{...t.filePath?{filename:t.filePath}:{}}),s=n&&"object"==typeof n&&!Array.isArray(n)?n:{},o=e4(s.createdAt),l=e4(s.updatedAt,o);return{id:e3(s.id),title:e3(s.title,"Untitled"),objectiveId:e3(s.objectiveId),createdAt:o,updatedAt:l,body:a.trim()}}function e9(e){let t={id:e.id,title:e.title,objectiveId:e.objectiveId,createdAt:e.createdAt,updatedAt:e.updatedAt},i=(0,Q.dump)(t,{lineWidth:120,noRefs:!0,sortKeys:!1}).trimEnd(),r=e.body.trim();return r?`---
434
434
  ${i}
435
435
  ---
436
436
 
@@ -448,7 +448,7 @@ ${o}
448
448
  `:`---
449
449
  ${a}
450
450
  ---
451
- `}(r,e.activities,e.activityThreads);t.default.writeFileSync(s,o,"utf8"),a.add(n)}for(let n of r)if(!a.has(n)){let r=i.default.join(this.rootDir,n);try{let a=t.default.readFileSync(r,"utf8"),s=e8(a,{filePath:r}),o=n.replace(/\.md$/,""),l=e.objectives.find(e=>e.id===s.objective.id);if(l&&l.key!==o){let e=i.default.join(this.rootDir,o),r=i.default.join(this.rootDir,l.key);t.default.existsSync(e)&&t.default.renameSync(e,r)}t.default.rmSync(r,{force:!0})}catch{t.default.rmSync(r,{force:!0})}}}findObjectiveByKey(e){let r=i.default.join(this.rootDir,`${e}.md`);if(!t.default.existsSync(r))return null;try{let e=t.default.readFileSync(r,"utf8");return e8(e,{filePath:r}).objective}catch{return null}}findObjectiveById(e){if(!t.default.existsSync(this.rootDir))return null;for(let r of t.default.readdirSync(this.rootDir).filter(e=>e.endsWith(".md"))){let a=i.default.join(this.rootDir,r);try{let i=t.default.readFileSync(a,"utf8"),r=e8(i,{filePath:a});if(r.objective.id===e)return r.objective}catch{continue}}return null}deleteObjective(e){let r=i.default.join(this.rootDir,`${e}.md`);return!!t.default.existsSync(r)&&(t.default.rmSync(r,{force:!0}),!0)}hasFiles(){return!!t.default.existsSync(this.rootDir)&&t.default.readdirSync(this.rootDir).some(e=>e.endsWith(".md"))}}let ti=new Map;function tr(e){let t,a=i.default.join((t=process.env.AGX_DATA_DIR?.trim())?i.default.resolve(t):i.default.join((0,r.homedir)(),".agx"),"projects",e,"objectives"),n=ti.get(a);return n||(n=new tt(a),ti.set(a,n)),n}async function ta(e,t){var i;let r,a=await ek.db.getProjectWithRepos(e,L.LOCAL_USER.id);if(!a)return null;let n=(r=tr((i=a).slug??i.id)).hasFiles()?r.readWorkspace():function(e){if(!eM(e))return eV();let t=e[eD];if(void 0!==t){let e=ez(t);if(e.objectives.length>0||e.activities.length>0||Object.keys(e.activityThreads).length>0)return e}let i=e[ex];if(void 0!==i){if(!eM(i))return eV();let e=Array.isArray(i.goals)?i.goals.map(e=>(function(e){if(!eM(e))return null;let t=eX(e.target),i=[eX(e.summary),t?`Measure: ${t}`:""].filter(Boolean).join("\n\n");return eH({...e,summary:i,cadence:""})})(e)).filter(e=>null!==e):[],t=Array.isArray(i.manualActivities)?i.manualActivities.map(e=>eY({...e,sourceLabel:"Update"})).filter(e=>null!==e):[],r=eM(i.activityThreads)?Object.fromEntries(Object.entries(i.activityThreads).map(([e,t])=>[e,eF(Array.isArray(t)?t.map(t=>eG({...t,activityId:e})).filter(e=>null!==e):[])])):{};return{objectives:eU(e),activities:eJ(t),activityThreads:r}}return eV()}(i.metadata),s=n.objectives.find(e=>e.id===t)??null;return s?{project:a,workspace:n,objective:s}:null}async function tn(e){var t,i;let r,a=await ek.db.getProjectWithRepos(e.projectId,L.LOCAL_USER.id);tr(a?.slug??e.projectId).writeWorkspace(e.workspace);let n=(t=e.currentMetadata??{},i=e.workspace,r={...t},delete r[ex],r[eD]=ez(i),r),s=e.transformMetadata?e.transformMetadata(n):n;return ek.db.updateProject(e.projectId,L.LOCAL_USER.id,{metadata:s})}async function ts(e){return ek.db.updateProject(e.projectId,L.LOCAL_USER.id,{metadata:eZ(e.currentMetadata??{},e.snapshot)})}let to=/^---\s*\n([\s\S]*?)\n---\s*(?:\n([\s\S]*))?$/,tl=new Set(["metric-check","status-update","milestone","note"]);function td(e,t=""){return"string"==typeof e?e:t}class tu{rootDir;constructor(e){this.rootDir=i.default.resolve(e)}ensureDir(){t.default.mkdirSync(this.rootDir,{recursive:!0})}readAll(){if(!t.default.existsSync(this.rootDir))return[];let e=t.default.readdirSync(this.rootDir).filter(e=>e.endsWith(".md")),r=[];for(let a of e){let e=i.default.join(this.rootDir,a);try{let i=t.default.readFileSync(e,"utf8");r.push(function(e,t={}){var i;let r=e.match(to);if(!r)throw Error(`Activity file is missing YAML frontmatter${t.filePath?` (${t.filePath})`:""}.`);let[,a,n=""]=r,s=(0,Q.load)(a,{...t.filePath?{filename:t.filePath}:{}}),o=s&&"object"==typeof s&&!Array.isArray(s)?s:{};return{id:td(o.id),source:td(o.source,"manual"),objectiveLabel:td(o.objectiveLabel),createdAt:function(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let i=Date.parse(e);return Number.isNaN(i)?t:new Date(i).toISOString()}(o.createdAt),type:"string"==typeof(i=o.type)&&tl.has(i)?i:"note",body:n.trim()}}(i,{filePath:e}))}catch(t){console.error(`[activities] failed to read ${e}:`,t)}}return r.sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}list(e={}){let t=this.readAll();if(e.type&&(t=t.filter(t=>t.type===e.type)),e.source&&(t=t.filter(t=>t.source===e.source)),e.from){let i=Date.parse(e.from);Number.isNaN(i)||(t=t.filter(e=>Date.parse(e.createdAt)>=i))}if(e.to){let i=Date.parse(e.to);Number.isNaN(i)||(t=t.filter(e=>Date.parse(e.createdAt)<=i))}let i=t.length,r=Math.max(1,e.page??1),a=Math.min(100,Math.max(1,e.limit??25)),n=(r-1)*a;return{activities:t.slice(n,n+a),total:i,page:r,limit:a,hasMore:n+a<i}}append(e){var r;let a,n,s,o,l;this.ensureDir();let d=(o=(r=e).createdAt.replace(/[:.]/g,"-").replace("T","-").replace("Z",""),l=r.type.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48),`${o}-${l}.md`),u=i.default.join(this.rootDir,d),c=(a={id:e.id,source:e.source,objectiveLabel:e.objectiveLabel,createdAt:e.createdAt,type:e.type},n=(0,Q.dump)(a,{lineWidth:120,noRefs:!0,sortKeys:!1}).trimEnd(),(s=e.body.trim())?`---
451
+ `}(r,e.activities,e.activityThreads);t.default.writeFileSync(s,o,"utf8"),a.add(n)}for(let n of r)if(!a.has(n)){let r=i.default.join(this.rootDir,n);try{let a=t.default.readFileSync(r,"utf8"),s=e8(a,{filePath:r}),o=n.replace(/\.md$/,""),l=e.objectives.find(e=>e.id===s.objective.id);if(l&&l.key!==o){let e=i.default.join(this.rootDir,o),r=i.default.join(this.rootDir,l.key);t.default.existsSync(e)&&t.default.renameSync(e,r)}t.default.rmSync(r,{force:!0})}catch{t.default.rmSync(r,{force:!0})}}}findObjectiveByKey(e){let r=i.default.join(this.rootDir,`${e}.md`);if(!t.default.existsSync(r))return null;try{let e=t.default.readFileSync(r,"utf8");return e8(e,{filePath:r}).objective}catch{return null}}findObjectiveById(e){if(!t.default.existsSync(this.rootDir))return null;for(let r of t.default.readdirSync(this.rootDir).filter(e=>e.endsWith(".md"))){let a=i.default.join(this.rootDir,r);try{let i=t.default.readFileSync(a,"utf8"),r=e8(i,{filePath:a});if(r.objective.id===e)return r.objective}catch{continue}}return null}deleteObjective(e){let r=i.default.join(this.rootDir,`${e}.md`);return!!t.default.existsSync(r)&&(t.default.rmSync(r,{force:!0}),!0)}hasFiles(){return!!t.default.existsSync(this.rootDir)&&t.default.readdirSync(this.rootDir).some(e=>e.endsWith(".md"))}}let ti=new Map;function tr(e){let t,a=i.default.join((t=process.env.AGX_DATA_DIR?.trim())?i.default.resolve(t):i.default.join((0,r.homedir)(),".agx"),"projects",e,"objectives"),n=ti.get(a);return n||(n=new tt(a),ti.set(a,n)),n}async function ta(e,t){var i;let r,a=await eO.db.getProjectWithRepos(e,N.LOCAL_USER.id);if(!a)return null;let n=(r=tr((i=a).slug??i.id)).hasFiles()?r.readWorkspace():function(e){if(!eM(e))return eV();let t=e[eD];if(void 0!==t){let e=ez(t);if(e.objectives.length>0||e.activities.length>0||Object.keys(e.activityThreads).length>0)return e}let i=e[ex];if(void 0!==i){if(!eM(i))return eV();let e=Array.isArray(i.goals)?i.goals.map(e=>(function(e){if(!eM(e))return null;let t=eX(e.target),i=[eX(e.summary),t?`Measure: ${t}`:""].filter(Boolean).join("\n\n");return eH({...e,summary:i,cadence:""})})(e)).filter(e=>null!==e):[],t=Array.isArray(i.manualActivities)?i.manualActivities.map(e=>eY({...e,sourceLabel:"Update"})).filter(e=>null!==e):[],r=eM(i.activityThreads)?Object.fromEntries(Object.entries(i.activityThreads).map(([e,t])=>[e,eF(Array.isArray(t)?t.map(t=>eG({...t,activityId:e})).filter(e=>null!==e):[])])):{};return{objectives:eU(e),activities:eJ(t),activityThreads:r}}return eV()}(i.metadata),s=n.objectives.find(e=>e.id===t)??null;return s?{project:a,workspace:n,objective:s}:null}async function tn(e){var t,i;let r,a=await eO.db.getProjectWithRepos(e.projectId,N.LOCAL_USER.id);tr(a?.slug??e.projectId).writeWorkspace(e.workspace);let n=(t=e.currentMetadata??{},i=e.workspace,r={...t},delete r[ex],r[eD]=ez(i),r),s=e.transformMetadata?e.transformMetadata(n):n;return eO.db.updateProject(e.projectId,N.LOCAL_USER.id,{metadata:s})}async function ts(e){return eO.db.updateProject(e.projectId,N.LOCAL_USER.id,{metadata:eZ(e.currentMetadata??{},e.snapshot)})}let to=/^---\s*\n([\s\S]*?)\n---\s*(?:\n([\s\S]*))?$/,tl=new Set(["metric-check","status-update","milestone","note"]);function td(e,t=""){return"string"==typeof e?e:t}class tu{rootDir;constructor(e){this.rootDir=i.default.resolve(e)}ensureDir(){t.default.mkdirSync(this.rootDir,{recursive:!0})}readAll(){if(!t.default.existsSync(this.rootDir))return[];let e=t.default.readdirSync(this.rootDir).filter(e=>e.endsWith(".md")),r=[];for(let a of e){let e=i.default.join(this.rootDir,a);try{let i=t.default.readFileSync(e,"utf8");r.push(function(e,t={}){var i;let r=e.match(to);if(!r)throw Error(`Activity file is missing YAML frontmatter${t.filePath?` (${t.filePath})`:""}.`);let[,a,n=""]=r,s=(0,Q.load)(a,{...t.filePath?{filename:t.filePath}:{}}),o=s&&"object"==typeof s&&!Array.isArray(s)?s:{};return{id:td(o.id),source:td(o.source,"manual"),objectiveLabel:td(o.objectiveLabel),createdAt:function(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let i=Date.parse(e);return Number.isNaN(i)?t:new Date(i).toISOString()}(o.createdAt),type:"string"==typeof(i=o.type)&&tl.has(i)?i:"note",body:n.trim()}}(i,{filePath:e}))}catch(t){console.error(`[activities] failed to read ${e}:`,t)}}return r.sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}list(e={}){let t=this.readAll();if(e.type&&(t=t.filter(t=>t.type===e.type)),e.source&&(t=t.filter(t=>t.source===e.source)),e.from){let i=Date.parse(e.from);Number.isNaN(i)||(t=t.filter(e=>Date.parse(e.createdAt)>=i))}if(e.to){let i=Date.parse(e.to);Number.isNaN(i)||(t=t.filter(e=>Date.parse(e.createdAt)<=i))}let i=t.length,r=Math.max(1,e.page??1),a=Math.min(100,Math.max(1,e.limit??25)),n=(r-1)*a;return{activities:t.slice(n,n+a),total:i,page:r,limit:a,hasMore:n+a<i}}append(e){var r;let a,n,s,o,l;this.ensureDir();let d=(o=(r=e).createdAt.replace(/[:.]/g,"-").replace("T","-").replace("Z",""),l=r.type.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48),`${o}-${l}.md`),u=i.default.join(this.rootDir,d),c=(a={id:e.id,source:e.source,objectiveLabel:e.objectiveLabel,createdAt:e.createdAt,type:e.type},n=(0,Q.dump)(a,{lineWidth:120,noRefs:!0,sortKeys:!1}).trimEnd(),(s=e.body.trim())?`---
452
452
  ${n}
453
453
  ---
454
454
 
@@ -456,8 +456,8 @@ ${s}
456
456
  `:`---
457
457
  ${n}
458
458
  ---
459
- `);return t.default.writeFileSync(u,c,"utf8"),u}}let tc=new Map,tp=null,tm=!1,tf=!1,th=!1,tg=(0,i.join)((0,r.homedir)(),".agx","agents"),t_={on_track:"On track",at_risk:"At risk",off_track:"Off track",done:"Done"};function ty(e,t){let i=(0,O.buildCliAttempts)({provider:e,model:t,prompt:"",systemPrompt:void 0});if(i.length>0){let{command:e,args:t}=i[0];return`${e} ${t.slice(0,3).join(" ")}`}return e}async function tb(e){let r,a,n,s=await (0,w.getAgent)(e,L.LOCAL_USER.id);if(!s)return{provider:"claude",model:null,identity:void 0,self:void 0,skills:void 0};let o=(0,i.join)(tg,e),l=[];s.name&&l.push(`Name: ${s.name}`),s.description&&l.push(s.description),s.voice&&l.push(`Voice: ${s.voice}`),l.length>0&&(r=l.join("\n"));let d=(0,i.join)(o,"self.md");if((0,t.existsSync)(d)){let e=(0,t.readFileSync)(d,"utf-8"),i=e.match(/^---[\s\S]*?---\s*\n?([\s\S]*)$/);(a=i?i[1].trim():e.trim())||(a=void 0)}let u=await (0,w.getAgentSkills)(e);if(u.length>0){let e=[];for(let r of u){let a=r.file.startsWith("/")?r.file:(0,i.join)(o,r.file);if((0,t.existsSync)(a))try{let i=(0,t.readFileSync)(a,"utf-8");e.push(`## ${r.file}
460
- ${i}`)}catch(e){console.error("[prompt-jobs/processor] failed to read skill file:",e)}}e.length>0&&(n=e.join("\n\n"))}return{provider:s.provider||"claude",model:s.model||null,identity:r,self:a,skills:n}}async function tE(e){return tj(e,e.agentId)}async function tj(e,t){return t?tb(t):{provider:e.provider||"claude",model:e.model||null,identity:void 0,self:void 0,skills:void 0}}async function tI(e){let t=Date.now(),i="";try{return await (0,O.runCliResponse)({provider:e.provider,model:e.model,prompt:e.prompt,identity:e.identity,self:e.self,skills:e.skills,systemContext:e.systemContext,passthroughArgs:e.cliArgs?e.cliArgs.split(/\s+/).filter(Boolean):void 0,onDelta:e=>{i+=e},onSpawn:e.onSpawn}),{output:i,error:"",durationMs:Date.now()-t,status:"success"}}catch(e){return{output:i,error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}function tv(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}function tT(e){return[`- id: ${e.id}`,` identifier: ${e.identifier}`,` title: ${e.title}`,` status: ${e.status}`,` assignee: ${e.assignee??"Unassigned"}`,e.url?` url: ${e.url}`:null].filter(e=>!!e).join("\n")}function tA(e,t,i){return`${e}: ${t}% ${t_[i]}`}function tS(e){return"number"==typeof e&&Number.isFinite(e)?eq(e):null}function tR(e){return"string"==typeof e&&e.trim()?eK(e):null}async function tw(e){let t=await (0,N.loadDbParticipants)();if(e.agentId){let i=t.find(t=>t.id===e.agentId)??null;if(!i)throw Error(`Objective worker agent "${e.agentId}" is no longer available.`);return i}if(!e.projectId)throw Error("Objective Linear worker requires a project context to resolve an agent.");for(let i of(await (0,w.getProjectAgents)(e.projectId))){let e=t.find(e=>e.id===i.agent_id)??null;if(e)return e}throw Error("No project agent is available to work objective Linear tickets.")}async function tL(e){var t,a;let n,s,o;(t=e.projectSlug,a=e.objectiveKey,s=i.default.join((n=process.env.AGX_DATA_DIR?.trim())?i.default.resolve(n):i.default.join((0,r.homedir)(),".agx"),"projects",t,"objectives",a,"activities"),!(o=tc.get(s))&&(o=new tu(s),tc.set(s,o)),o).append({id:crypto.randomUUID(),source:`scheduled-task:${e.jobId}`,objectiveLabel:e.objectiveKey,createdAt:new Date().toISOString(),type:"status-update",body:e.body})}async function tN(e){let t=Date.now();try{var i,r,a;let n,s;if(!e.job.projectId||!e.job.objectiveId)throw Error("Objective Linear worker jobs require projectId and objectiveId.");let o=await ta(e.job.projectId,e.job.objectiveId);if(!o)throw Error("Objective context could not be resolved for this scheduled task.");let[{issues:l},d]=await Promise.all([eO({objectiveKey:o.objective.key,projectSlug:o.project.slug,refresh:!0}),q(e.job.projectId)]),u=new Set(l.map(e=>e.id)),c=d.filter(e=>u.has(e.issueId)),p=c.map(e=>`- ${e.issueId}: already running with ${e.agentName}`),m=function(e,t=[]){let i=new Set(Array.from(t,e=>e.trim()).filter(Boolean));return e.filter(e=>!eN(e.status)&&!i.has(e.id))}(l,c.map(e=>e.issueId)),f=(i={jobPrompt:e.job.prompt,objective:{title:o.objective.title,key:o.objective.key,summary:o.objective.summary,progress:o.objective.progress,status:o.objective.status},projectObjectives:o.workspace.objectives.map(e=>({title:e.title,key:e.key,progress:e.progress,status:e.status})),allIssues:l,eligibleIssues:m,activeIssueNotes:p},n=["OBJECTIVE",`- Title: ${i.objective.title}`,`- Label key: ${i.objective.key}`,`- Summary: ${i.objective.summary.trim()||"No summary provided."}`,`- Current progress: ${i.objective.progress}%`,`- Current health: ${i.objective.status}`,"","PROJECT OBJECTIVES",i.projectObjectives.length>0?i.projectObjectives.map(e=>`- ${e.title} (${e.key}) | ${e.progress}% | ${e.status}`).join("\n"):"- No project objectives found.","","ALL OBJECTIVE TICKETS",i.allIssues.length>0?i.allIssues.map(e=>tT(e)).join("\n\n"):"- None.","","SCHEDULER GUIDANCE",i.jobPrompt.trim()||"No additional guidance provided.","","ELIGIBLE TICKETS",i.eligibleIssues.length>0?i.eligibleIssues.map(e=>tT(e)).join("\n\n"):"- None."],i.activeIssueNotes.length>0&&n.push("","ALREADY ACTIVE ELSEWHERE",i.activeIssueNotes.join("\n")),n.push("",'Choose "work" only when one listed ticket is clearly the right next ticket to start now.','Choose "stop" when none of the listed tickets should be worked right now.','If you choose "work", ticketId must exactly match one of the listed ids.'),n.join("\n")),h=await tI({...e.controllerContext,prompt:f,systemContext:'You are deciding whether a scheduled objective worker should start exactly one Linear work session.\nReturn ONLY raw JSON with no markdown fences or commentary.\nValid responses:\n{"decision":"stop","reason":"short reason","objectiveProgress":42,"objectiveStatus":"at_risk","projectProgress":35,"projectStatus":"at_risk"}\n{"decision":"work","ticketId":"ticket-id-from-list","reason":"short reason","objectiveProgress":42,"objectiveStatus":"at_risk","projectProgress":35,"projectStatus":"at_risk"}\nPercentages must be integers from 0 to 100.\nStatuses must be one of: on_track, at_risk, off_track, done.',cliArgs:e.cliArgs,onSpawn:e.onSpawn});if("success"!==h.status)return{...h,output:h.output||"Objective controller failed before selecting a ticket."};let g=function(e){let t=e.trim();if(!t)return null;let i=tv(t);if(i)return i;let r=t.indexOf("{"),a=t.lastIndexOf("}");return -1===r||a<=r?null:tv(t.slice(r,a+1))}(h.output),_="string"==typeof g?.decision?g.decision.trim().toLowerCase():"",y="string"==typeof g?.reason?g.reason.trim():"",b=tS(g?.objectiveProgress),E=tR(g?.objectiveStatus),j=tS(g?.projectProgress),I=tR(g?.projectStatus),v="string"==typeof g?.projectNote?g.projectNote.trim():"",T="string"==typeof g?.objectiveNote?g.objectiveNote.trim():"",A=new Date().toISOString(),S=null!==b&&E?tA("Objective health",b,E):null,R=null!==j&&I?tA("Project health",j,I):null,w=null!==b&&null!==E&&(b!==o.objective.progress||E!==o.objective.status),L=w?(r=o.workspace,a={...o.objective,progress:b,status:E,updatedAt:A},s=r.objectives.findIndex(e=>e.id===a.id)>=0?r.objectives.map(e=>e.id===a.id?a:e):[a,...r.objectives],{...r,objectives:eU(s)}):o.workspace,N=null!==j&&null!==I?{progress:j,status:I,updatedAt:A,source:`scheduled-task:${e.job.id}`,objectiveId:o.objective.id,objectiveKey:o.objective.key,note:v||void 0}:null;if(w?await tn({projectId:o.project.id,currentMetadata:o.project.metadata,workspace:L,transformMetadata:e=>N?eZ(e,N):e}):N&&await ts({projectId:o.project.id,currentMetadata:o.project.metadata,snapshot:N}),"stop"===_){let i=l.some(e=>!eN(e.status)),r=0===l.length?"No objective-labeled Linear tickets were found.":0===m.length?i?"All actionable objective tickets already have active sessions.":"All objective tickets are already in a terminal state.":"The controller decided that no ticket should be started right now.",a=y||r;return await tL({jobId:e.job.id,projectSlug:o.project.slug,objectiveKey:o.objective.key,body:["No actionable objective tickets.",`Reason: ${a}`,S,T||null,R,v||null].filter(e=>!!e).join("\n\n")}),{output:["No actionable objective tickets.",`Reason: ${a}`,S,R].filter(e=>!!e).join("\n"),error:"",durationMs:Date.now()-t,status:"success"}}if("work"!==_)throw Error(`Objective worker controller returned an invalid decision: ${h.output}`);let O="string"==typeof g?.ticketId?g.ticketId.trim():"",k=m.find(e=>e.id===O)??null;if(!k)throw Error(`Objective worker controller selected an unknown ticket: ${O||"(empty)"}`);let D=await G({projectId:o.project.id,projectSlug:o.project.slug,issue:{id:k.id,identifier:k.identifier,title:k.title,status:k.status,assignee:k.assignee},agentId:e.sessionAgent.id}),x=k.url?`[${k.identifier}](${k.url})`:k.identifier;return await tL({jobId:e.job.id,projectSlug:o.project.slug,objectiveKey:o.objective.key,body:[`Started work on ${x}: ${k.title}`,y?`Reason: ${y}`:null,S,T||null,R,v||null,`Linear run: ${D.run.id}`].filter(e=>!!e).join("\n\n")}),{output:[`Started work on ${k.identifier}: ${k.title}`,y?`Reason: ${y}`:null,S,R,`Linear run: ${D.run.id}`,`Chat run: ${D.chatRunId}`].filter(e=>!!e).join("\n"),error:"",durationMs:Date.now()-t,status:"success"}}catch(e){return{output:"",error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}async function tO(e,t,i={}){if("objective_linear_ticket"===e.executionMode){let t=await tw(e),r=await tj(e,t.id);return tN({job:e,controllerContext:r,sessionAgent:t,cliArgs:e.cliArgs,onSpawn:i.onSpawn})}return tI({...t,prompt:e.prompt,cliArgs:e.cliArgs,onSpawn:i.onSpawn})}async function tk(e,t){let i=A(),r=new Date().toISOString(),a=ty(e.provider||"claude",e.model||null);i.updateRun(t.id,{status:"running",startedAt:r,hostCommand:a});let n=await tE(e),s=`You are a condition gate. Your job is to determine whether the following condition expression evaluates to "yes" (pass) or "no" (fail).
459
+ `);return t.default.writeFileSync(u,c,"utf8"),u}}let tc=new Map,tp=null,tm=!1,tf=!1,th=!1,tg=(0,i.join)((0,r.homedir)(),".agx","agents"),t_={on_track:"On track",at_risk:"At risk",off_track:"Off track",done:"Done"};function ty(e,t){let i=(0,k.buildCliAttempts)({provider:e,model:t,prompt:"",systemPrompt:void 0});if(i.length>0){let{command:e,args:t}=i[0];return`${e} ${t.slice(0,3).join(" ")}`}return e}async function tb(e){let r,a,n,s=await (0,R.getAgent)(e,N.LOCAL_USER.id);if(!s)return{provider:"claude",model:null,identity:void 0,self:void 0,skills:void 0};let o=(0,i.join)(tg,e),l=[];s.name&&l.push(`Name: ${s.name}`),s.description&&l.push(s.description),s.voice&&l.push(`Voice: ${s.voice}`),l.length>0&&(r=l.join("\n"));let d=(0,i.join)(o,"self.md");if((0,t.existsSync)(d)){let e=(0,t.readFileSync)(d,"utf-8"),i=e.match(/^---[\s\S]*?---\s*\n?([\s\S]*)$/);(a=i?i[1].trim():e.trim())||(a=void 0)}let u=await (0,R.getAgentSkills)(e);if(u.length>0){let e=[];for(let r of u){let a=r.file.startsWith("/")?r.file:(0,i.join)(o,r.file);if((0,t.existsSync)(a))try{let i=(0,t.readFileSync)(a,"utf-8");e.push(`## ${r.file}
460
+ ${i}`)}catch(e){console.error("[prompt-jobs/processor] failed to read skill file:",e)}}e.length>0&&(n=e.join("\n\n"))}return{provider:s.provider||"claude",model:s.model||null,identity:r,self:a,skills:n}}async function tE(e){return tj(e,e.agentId)}async function tj(e,t){return t?tb(t):{provider:e.provider||"claude",model:e.model||null,identity:void 0,self:void 0,skills:void 0}}async function tI(e){let t=Date.now(),i="";try{return await (0,k.runCliResponse)({provider:e.provider,model:e.model,prompt:e.prompt,identity:e.identity,self:e.self,skills:e.skills,systemContext:e.systemContext,passthroughArgs:e.cliArgs?e.cliArgs.split(/\s+/).filter(Boolean):void 0,onDelta:e=>{i+=e},onSpawn:e.onSpawn}),{output:i,error:"",durationMs:Date.now()-t,status:"success"}}catch(e){return{output:i,error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}function tv(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}function tT(e){return[`- id: ${e.id}`,` identifier: ${e.identifier}`,` title: ${e.title}`,` status: ${e.status}`,` assignee: ${e.assignee??"Unassigned"}`,e.url?` url: ${e.url}`:null].filter(e=>!!e).join("\n")}function tA(e,t,i){return`${e}: ${t}% ${t_[i]}`}function tS(e){return"number"==typeof e&&Number.isFinite(e)?eq(e):null}function tw(e){return"string"==typeof e&&e.trim()?eB(e):null}async function tR(e,t){let i=await (0,L.loadDbParticipants)();if(e.agentId){let t=i.find(t=>t.id===e.agentId)??null;if(!t)throw Error(`Objective worker agent "${e.agentId}" is no longer available.`);return t}if(t){for(let e of(await (0,R.getTeamAgents)(t))){let t=i.find(t=>t.id===e.agent_id)??null;if(t)return t}throw Error("No agent in the assigned team is available to work this objective.")}if(!e.projectId)throw Error("Objective Linear worker requires a project context to resolve an agent.");for(let t of(await (0,R.getProjectAgents)(e.projectId))){let e=i.find(e=>e.id===t.agent_id)??null;if(e)return e}throw Error("No project agent is available to work objective Linear tickets.")}async function tN(e){var t,a;let n,s,o;(t=e.projectSlug,a=e.objectiveKey,s=i.default.join((n=process.env.AGX_DATA_DIR?.trim())?i.default.resolve(n):i.default.join((0,r.homedir)(),".agx"),"projects",t,"objectives",a,"activities"),!(o=tc.get(s))&&(o=new tu(s),tc.set(s,o)),o).append({id:crypto.randomUUID(),source:`scheduled-task:${e.jobId}`,objectiveLabel:e.objectiveKey,createdAt:new Date().toISOString(),type:"status-update",body:e.body})}async function tL(e,t){try{let i=await ta(t.projectId,t.objectiveId);if(!i)return;let r=[`**${e.jobName}** — ${e.status}`,"",e.result];e.reason&&r.push("",`Reason: ${e.reason}`),e.linearRunId&&r.push("",`Linear run: ${e.linearRunId}`),e.chatRunId&&r.push("",`Chat run: ${e.chatRunId}`),await tN({jobId:t.jobId,projectSlug:i.project.slug,objectiveKey:i.objective.key,body:r.join("\n")})}catch{}}async function tk(e){let t=Date.now();try{var i,r,a;let n,s;if(!e.job.projectId||!e.job.objectiveId)throw Error("Objective Linear worker jobs require projectId and objectiveId.");let o=await ta(e.job.projectId,e.job.objectiveId);if(!o)throw Error("Objective context could not be resolved for this scheduled task.");let[{issues:l},d]=await Promise.all([ek({objectiveKey:o.objective.key,projectSlug:o.project.slug,refresh:!0}),q(e.job.projectId)]),u=new Set(l.map(e=>e.id)),c=d.filter(e=>u.has(e.issueId)),p=c.map(e=>`- ${e.issueId}: already running with ${e.agentName}`),m=function(e,t=[]){let i=new Set(Array.from(t,e=>e.trim()).filter(Boolean));return e.filter(e=>!eL(e.status)&&!i.has(e.id))}(l,c.map(e=>e.issueId)),f=(i={jobPrompt:e.job.prompt,objective:{title:o.objective.title,key:o.objective.key,summary:o.objective.summary,progress:o.objective.progress,status:o.objective.status},projectObjectives:o.workspace.objectives.map(e=>({title:e.title,key:e.key,progress:e.progress,status:e.status})),allIssues:l,eligibleIssues:m,activeIssueNotes:p},n=["OBJECTIVE",`- Title: ${i.objective.title}`,`- Label key: ${i.objective.key}`,`- Summary: ${i.objective.summary.trim()||"No summary provided."}`,`- Current progress: ${i.objective.progress}%`,`- Current health: ${i.objective.status}`,"","PROJECT OBJECTIVES",i.projectObjectives.length>0?i.projectObjectives.map(e=>`- ${e.title} (${e.key}) | ${e.progress}% | ${e.status}`).join("\n"):"- No project objectives found.","","ALL OBJECTIVE TICKETS",i.allIssues.length>0?i.allIssues.map(e=>tT(e)).join("\n\n"):"- None.","","SCHEDULER GUIDANCE",i.jobPrompt.trim()||"No additional guidance provided.","","ELIGIBLE TICKETS",i.eligibleIssues.length>0?i.eligibleIssues.map(e=>tT(e)).join("\n\n"):"- None."],i.activeIssueNotes.length>0&&n.push("","ALREADY ACTIVE ELSEWHERE",i.activeIssueNotes.join("\n")),n.push("",'Choose "work_ticket" when one listed ticket is clearly the right next ticket to start now.','Choose "run_prompt" when the objective needs work not captured by an existing ticket (e.g. creating tickets, drafting docs, reviewing PRs).','Choose "stop" when no action should be taken right now.','If you choose "work_ticket", ticketId must exactly match one of the listed ids.','If you choose "run_prompt", provide a detailed prompt the executing agent will follow.'),n.join("\n")),h=await tI({...e.controllerContext,prompt:f,systemContext:'You are deciding what action an objective worker should take next.\nReturn ONLY raw JSON with no markdown fences or commentary.\nValid responses:\n{"action":"work_ticket","ticketId":"ticket-id-from-list","reason":"short reason","objectiveProgress":42,"objectiveStatus":"at_risk","projectProgress":35,"projectStatus":"at_risk"}\n{"action":"run_prompt","prompt":"detailed instructions for the agent to execute","reason":"short reason","objectiveProgress":42,"objectiveStatus":"at_risk","projectProgress":35,"projectStatus":"at_risk"}\n{"action":"stop","reason":"short reason","objectiveProgress":42,"objectiveStatus":"at_risk","projectProgress":35,"projectStatus":"at_risk"}\nRules:\n- "work_ticket": Use when a specific eligible Linear ticket should be worked now. ticketId must exactly match one of the listed ids in ELIGIBLE TICKETS.\n- "run_prompt": Use when the objective needs work not captured by an existing ticket — creating new tickets, drafting docs, reviewing PRs, research, or other non-ticket work. Provide a detailed prompt.\n- "stop": Use when no action should be taken right now.\nPercentages must be integers from 0 to 100.\nStatuses must be one of: on_track, at_risk, off_track, done.',cliArgs:e.cliArgs,onSpawn:e.onSpawn});if("success"!==h.status)return{...h,output:h.output||"Objective controller failed before selecting an action."};let g=function(e){let t=e.trim();if(!t)return null;let i=tv(t);if(i)return i;let r=t.indexOf("{"),a=t.lastIndexOf("}");return -1===r||a<=r?null:tv(t.slice(r,a+1))}(h.output),_="string"==typeof g?.action?g.action.trim().toLowerCase():"string"==typeof g?.decision?g.decision.trim().toLowerCase():"",y="string"==typeof g?.reason?g.reason.trim():"",b=tS(g?.objectiveProgress),E=tw(g?.objectiveStatus),j=tS(g?.projectProgress),I=tw(g?.projectStatus),v="string"==typeof g?.projectNote?g.projectNote.trim():"",T="string"==typeof g?.objectiveNote?g.objectiveNote.trim():"",A=new Date().toISOString(),S=null!==b&&E?tA("Objective health",b,E):null,w=null!==j&&I?tA("Project health",j,I):null,R=null!==b&&null!==E&&(b!==o.objective.progress||E!==o.objective.status),N=R?(r=o.workspace,a={...o.objective,progress:b,status:E,updatedAt:A},s=r.objectives.findIndex(e=>e.id===a.id)>=0?r.objectives.map(e=>e.id===a.id?a:e):[a,...r.objectives],{...r,objectives:eU(s)}):o.workspace,L=null!==j&&null!==I?{progress:j,status:I,updatedAt:A,source:`scheduled-task:${e.job.id}`,objectiveId:o.objective.id,objectiveKey:o.objective.key,note:v||void 0}:null;R?await tn({projectId:o.project.id,currentMetadata:o.project.metadata,workspace:N,transformMetadata:e=>L?eZ(e,L):e}):L&&await ts({projectId:o.project.id,currentMetadata:o.project.metadata,snapshot:L});let k=await tO({action:"work"===_?"work_ticket":_,parsed:g,reason:y,job:e.job,controllerContext:e.controllerContext,sessionAgent:e.sessionAgent,objectiveContext:o,eligibleIssues:m,issues:l,healthSummaries:{objectiveHealthSummary:S,projectHealthSummary:w,objectiveNote:T,projectNote:v},cliArgs:e.cliArgs,onSpawn:e.onSpawn,startMs:t});return await tL(k,{jobId:e.job.id,projectId:e.job.projectId,objectiveId:e.job.objectiveId}),{output:k.result,error:"failed"===k.status?k.result:"",durationMs:Date.now()-t,status:k.status}}catch(e){return{output:"",error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}async function tO(e){let{action:t,parsed:i,reason:r,healthSummaries:a}=e;if("stop"===t){let t=e.issues.some(e=>!eL(e.status)),i=0===e.issues.length?"No objective-labeled Linear tickets were found.":0===e.eligibleIssues.length?t?"All actionable objective tickets already have active sessions.":"All objective tickets are already in a terminal state.":"The controller decided that no ticket should be started right now.",n=r||i;return{action:"stop",jobName:e.job.name,reason:n,result:["No action taken.",`Reason: ${n}`,a.objectiveHealthSummary,a.objectiveNote||null,a.projectHealthSummary,a.projectNote||null].filter(e=>!!e).join("\n\n"),durationMs:Date.now()-e.startMs,status:"success"}}if("run_prompt"===t){let t="string"==typeof i?.prompt?i.prompt.trim():"";if(!t)return{action:"run_prompt",jobName:e.job.name,reason:r,result:"Controller returned run_prompt but provided no prompt text.",durationMs:Date.now()-e.startMs,status:"failed"};let n=await tI({...e.controllerContext,prompt:t,cliArgs:e.cliArgs,onSpawn:e.onSpawn}),s="success"===n.status?(n.output||"").split("\n").filter(Boolean).slice(0,10).join("\n")||"Prompt completed.":`Prompt failed: ${n.error||"unknown error"}`;return{action:"run_prompt",jobName:e.job.name,reason:r,result:[s,a.objectiveHealthSummary,a.projectHealthSummary].filter(e=>!!e).join("\n\n"),durationMs:Date.now()-e.startMs,status:n.status}}if("work_ticket"===t){let t="string"==typeof i?.ticketId?i.ticketId.trim():"",n=e.eligibleIssues.find(e=>e.id===t)??null;if(!n)return{action:"work_ticket",jobName:e.job.name,reason:r,result:`Controller selected an unknown ticket: ${t||"(empty)"}`,durationMs:Date.now()-e.startMs,status:"failed"};let s=await G({projectId:e.objectiveContext.project.id,projectSlug:e.objectiveContext.project.slug,issue:{id:n.id,identifier:n.identifier,title:n.title,status:n.status,assignee:n.assignee},agentId:e.sessionAgent.id}),o=n.url?`[${n.identifier}](${n.url})`:n.identifier;return{action:"work_ticket",jobName:e.job.name,reason:r,result:[`Started work on ${o}: ${n.title}`,r?`Reason: ${r}`:null,a.objectiveHealthSummary,a.objectiveNote||null,a.projectHealthSummary,a.projectNote||null,`Linear run: ${s.run.id}`].filter(e=>!!e).join("\n\n"),linearRunId:s.run.id,chatRunId:s.chatRunId,durationMs:Date.now()-e.startMs,status:"success"}}return{action:t||"unknown",jobName:e.job.name,reason:r,result:`Controller returned an invalid action: ${t||"(empty)"}`,durationMs:Date.now()-e.startMs,status:"failed"}}async function tD(e,t,i={}){if("objective_linear_ticket"===e.executionMode){let t=null;if(e.projectId&&e.objectiveId){let i=await ta(e.projectId,e.objectiveId);if(!(t=i?.objective.teamId??null))return await tL({action:"team_gate",jobName:e.name,status:"failed",result:"Execution blocked: no team assigned to this objective.",reason:"Assign a team before scheduled work can run.",durationMs:0},{jobId:e.id,projectId:e.projectId,objectiveId:e.objectiveId}),{output:"",error:"Execution blocked: no team assigned to this objective.",durationMs:0,status:"failed"}}let r=await tR(e,t),a=await tj(e,r.id);return tk({job:e,controllerContext:a,sessionAgent:r,cliArgs:e.cliArgs,onSpawn:i.onSpawn})}return tI({...t,prompt:e.prompt,cliArgs:e.cliArgs,onSpawn:i.onSpawn})}async function tx(e,t){let i=A(),r=new Date().toISOString(),a=ty(e.provider||"claude",e.model||null);i.updateRun(t.id,{status:"running",startedAt:r,hostCommand:a});let n=await tE(e),s=`You are a condition gate. Your job is to determine whether the following condition expression evaluates to "yes" (pass) or "no" (fail).
461
461
 
462
462
  Rules:
463
463
  - If the condition is a boolean literal or expression (e.g. "true", "return True", "1 == 1"), evaluate it as code and respond based on its result.
@@ -466,9 +466,10 @@ Rules:
466
466
  - Respond with ONLY "yes" or "no" (lowercase, nothing else).
467
467
 
468
468
  Condition: ${e.condition}`,o=ty(n.provider,n.model);o!==a&&i.updateRun(t.id,{hostCommand:o});let l=await tI({...n,prompt:s,cliArgs:e.cliArgs,onSpawn:e=>{i.updateRun(t.id,{hostPid:e})}}),d=l.output.trim().toLowerCase(),u=/\byes\b/.test(d);if("success"!==l.status||!u){i.updateRun(t.id,{status:"success",output:`Gate: ${d}
469
- (condition not met — skipped action)`,durationMs:l.durationMs,finishedAt:new Date().toISOString()}),i.updateJob(e.id,{lastOutcome:"success",lastRunAt:Date.now()});return}i.updateRun(t.id,{output:`Gate: yes
470
- Executing action prompt...`,hostPid:null});let c=await tO(e,n,{onSpawn:e=>{i.updateRun(t.id,{hostPid:e})}});i.updateRun(t.id,{status:c.status,output:`Gate: yes
469
+ (condition not met — skipped action)`,durationMs:l.durationMs,finishedAt:new Date().toISOString()}),i.updateJob(e.id,{lastOutcome:"success",lastRunAt:Date.now()}),e.objectiveId&&e.projectId&&await tL({action:"gated_skip",jobName:e.name,reason:"condition not met",result:`Gate: ${d}
470
+ (condition not met skipped action)`,durationMs:l.durationMs,status:"success"},{jobId:e.id,projectId:e.projectId,objectiveId:e.objectiveId});return}i.updateRun(t.id,{output:`Gate: yes
471
+ Executing action prompt...`,hostPid:null});let c=await tD(e,n,{onSpawn:e=>{i.updateRun(t.id,{hostPid:e})}});i.updateRun(t.id,{status:c.status,output:`Gate: yes
471
472
  ---
472
- ${c.output}`,error:c.error||void 0,durationMs:l.durationMs+c.durationMs,finishedAt:new Date().toISOString()}),i.updateJob(e.id,{lastOutcome:c.status,lastRunAt:Date.now()})}async function tD(e,t){let i=A(),r=new Date().toISOString(),a=ty(e.provider||"claude",e.model||null);i.updateRun(t.id,{status:"running",startedAt:r,hostCommand:a});let n=await tE(e),s=ty(n.provider,n.model);s!==a&&i.updateRun(t.id,{hostCommand:s});let o=await tO(e,n,{onSpawn:e=>{i.updateRun(t.id,{hostPid:e})}});i.updateRun(t.id,{status:o.status,output:o.output,error:o.error||void 0,durationMs:o.durationMs,finishedAt:new Date().toISOString()}),i.updateJob(e.id,{lastOutcome:o.status,lastRunAt:Date.now()})}function tx(){tp&&!tf&&(tf=!0,setTimeout(()=>{tf=!1,t$()},0))}async function t$(){if(tp&&!th){th=!0;try{for(;tm;)tm=!1,await tp()}finally{th=!1,tm&&tx()}}}async function tC(){let e=A(),t=await S(e),i=e.listQueuedRuns(200),r=0;for(let t of i){let i=e.getJob(t.jobId);i&&(!function(e,t){(e.condition?tk:tD)(e,t).catch(i=>{let r=A();r.updateRun(t.id,{status:"failed",error:`Dispatch error: ${i instanceof Error?i.message:String(i)}`,finishedAt:new Date().toISOString()}),r.updateJob(e.id,{lastOutcome:"failed"})})}(i,t),r++)}return{queued:t.queued,skipped:t.skipped,dispatched:r}}e.s(["processPromptJobs",0,tC,"registerPromptJobPump",0,function(e){tp=e,tm&&tx()},"requestPromptJobPump",0,function(){return tm=!0,!!tp&&(tx(),!0)}],845248)}];
473
+ ${c.output}`,error:c.error||void 0,durationMs:l.durationMs+c.durationMs,finishedAt:new Date().toISOString()}),i.updateJob(e.id,{lastOutcome:c.status,lastRunAt:Date.now()}),e.objectiveId&&e.projectId&&await tL({action:"prompt",jobName:e.name,reason:"condition gate passed",result:"success"===c.status?(c.output||"").split("\n").filter(Boolean).slice(0,3).join("\n")||"Task completed successfully.":`Task failed: ${c.error||"unknown error"}`,durationMs:l.durationMs+c.durationMs,status:c.status},{jobId:e.id,projectId:e.projectId,objectiveId:e.objectiveId})}async function t$(e,t){let i=A(),r=new Date().toISOString(),a=ty(e.provider||"claude",e.model||null);i.updateRun(t.id,{status:"running",startedAt:r,hostCommand:a});let n=await tE(e),s=ty(n.provider,n.model);s!==a&&i.updateRun(t.id,{hostCommand:s});let o=await tD(e,n,{onSpawn:e=>{i.updateRun(t.id,{hostPid:e})}});i.updateRun(t.id,{status:o.status,output:o.output,error:o.error||void 0,durationMs:o.durationMs,finishedAt:new Date().toISOString()}),i.updateJob(e.id,{lastOutcome:o.status,lastRunAt:Date.now()}),e.objectiveId&&e.projectId&&await tL({action:"prompt",jobName:e.name,reason:"",result:"success"===o.status?(o.output||"").split("\n").filter(Boolean).slice(0,3).join("\n")||"Task completed successfully.":`Task failed: ${o.error||"unknown error"}`,durationMs:o.durationMs,status:o.status},{jobId:e.id,projectId:e.projectId,objectiveId:e.objectiveId})}function tC(){tp&&!tf&&(tf=!0,setTimeout(()=>{tf=!1,tM()},0))}async function tM(){if(tp&&!th){th=!0;try{for(;tm;)tm=!1,await tp()}finally{th=!1,tm&&tC()}}}async function tP(){let e=A(),t=await S(e),i=e.listQueuedRuns(200),r=0;for(let t of i){let i=e.getJob(t.jobId);i&&(!function(e,t){(e.condition?tx:t$)(e,t).catch(i=>{let r=A();r.updateRun(t.id,{status:"failed",error:`Dispatch error: ${i instanceof Error?i.message:String(i)}`,finishedAt:new Date().toISOString()}),r.updateJob(e.id,{lastOutcome:"failed"})})}(i,t),r++)}return{queued:t.queued,skipped:t.skipped,dispatched:r}}e.s(["processPromptJobs",0,tP,"registerPromptJobPump",0,function(e){tp=e,tm&&tC()},"requestPromptJobPump",0,function(){return tm=!0,!!tp&&(tC(),!0)}],845248)}];
473
474
 
474
475
  //# sourceMappingURL=apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[458738,e=>{"use strict";var t=e.i(747909),a=e.i(174017),r=e.i(996250),n=e.i(759756),o=e.i(561916),s=e.i(174677),i=e.i(869741),l=e.i(316795),d=e.i(487718),u=e.i(995169),p=e.i(47587),c=e.i(666012),h=e.i(570101),R=e.i(626937),v=e.i(10372),g=e.i(193695);e.i(52474);var f=e.i(600220),E=e.i(89171),w=e.i(951336);async function m(e,{params:t}){let{graphId:a,nodeId:r}=await t,n=a.replace(/^sched-/,""),o=(0,w.getGraph)(n);if(!o)return E.NextResponse.json({error:"Graph not found"},{status:404});let s=o.nodes[r];return s?E.NextResponse.json({nodeId:r,...s}):E.NextResponse.json({error:"Node not found"},{status:404})}e.s(["GET",0,m,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],874660);var C=e.i(874660);let x=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/graphs/[graphId]/nodes/[nodeId]/route",pathname:"/api/graphs/[graphId]/nodes/[nodeId]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/graphs/[graphId]/nodes/[nodeId]/route.ts",nextConfigOutput:"standalone",userland:C,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:y,serverHooks:N}=x;async function T(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),x.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/graphs/[graphId]/nodes/[nodeId]/route";E=E.replace(/\/index$/,"")||"/";let w=await x.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:C,nextConfig:A,parsedUrl:y,isDraftMode:N,prerenderManifest:T,routerServerContext:I,isOnDemandRevalidate:P,revalidateOnlyGenerated:b,resolvedPathname:S,clientReferenceManifest:_,serverActionsManifest:O}=w,q=(0,i.normalizeAppPath)(E),H=!!(T.dynamicRoutes[q]||T.routes[S]),U=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,y,!1):t.end("This page could not be found"),null);if(H&&!N){let e=!!T.routes[S],t=T.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await U();throw new g.NoFallbackError}}let M=null;!H||x.isDev||N||(M="/index"===(M=S)?"/":M);let k=!0===x.isDev||!H,D=H&&!k;O&&_&&(0,s.setManifestsSingleton)({page:E,clientReferenceManifest:_,serverActionsManifest:O});let j=e.method||"GET",$=(0,o.getTracer)(),F=$.getActiveScopeSpan(),K=!!(null==I?void 0:I.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,A,T,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let L={params:C,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:k,incrementalCache:G,cacheLifeProfiles:A.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>x.onRequestError(e,t,r,n,I)},sharedContext:{buildId:m}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>x.handle(X,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=$.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${j} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${j} ${E}`)}),i=async n=>{var o,i;let l=async({previousCacheEntry:a})=>{try{if(!B&&P&&b&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=L.renderOpts.collectedTags;if(!H)return await (0,c.sendResponse)(V,W,o,L.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,r=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,I),t}},d=await x.handleResponse({req:e,nextConfig:A,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:b,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:B});if(!H)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",P?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return B&&H||u.delete(v.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,R.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(V,W,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&F?await i(F):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${j} ${E}`,kind:o.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},i),void 0,!K))}catch(t){if(t instanceof g.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,I),H)throw t;return await (0,c.sendResponse)(V,W,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:y})},"routeModule",0,x,"serverHooks",0,N,"workAsyncStorage",0,A,"workUnitAsyncStorage",0,y],458738)}];
2
+
3
+ //# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_0yvelwy.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[626913,(a,b,c)=>{}];
2
+
3
+ //# sourceMappingURL=02dz_local__next-internal_server_app_projects_%5Bslug%5D_folders_page_actions_03fg4j9.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[66456,a=>{"use strict";let b=(0,a.i(831709).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);a.s(["Zap",0,b],66456)},523593,a=>{"use strict";let b=(0,a.i(831709).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);a.s(["GitBranch",0,b],523593)},675222,a=>{"use strict";let b=(0,a.i(831709).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["ShieldCheck",0,b],675222)},754812,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",0,b],754812)},44668,a=>{"use strict";let b=(0,a.i(831709).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",0,b],44668)},356239,a=>{"use strict";let b=(0,a.i(831709).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],356239)},831709,a=>{"use strict";var b=a.i(572131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g}],831709)},353532,a=>{"use strict";let b=(0,a.i(831709).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],353532)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,b],820859)},73948,a=>{"use strict";let b=(0,a.i(831709).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",0,b],73948)},171552,a=>{"use strict";let b=(0,a.i(831709).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",0,b],171552)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],693896)},999076,a=>{"use strict";let b=(0,a.i(831709).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,b],999076)},327788,a=>{"use strict";let b=(0,a.i(831709).default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]);a.s(["Pause",0,b],327788)}];
2
+
3
+ //# sourceMappingURL=0rhn_lucide-react_dist_esm_0qzjdog._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",0,b],756490)},599086,a=>{"use strict";let b=(0,a.i(831709).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",0,b],599086)},654340,a=>{"use strict";let b=(0,a.i(831709).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",0,b],654340)}];
2
+
3
+ //# sourceMappingURL=0rhn_lucide-react_dist_esm_icons_0a-mbbj._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[697183,a=>{"use strict";let b=(0,a.i(831709).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",0,b],697183)},667597,a=>{"use strict";let b=(0,a.i(831709).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],667597)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",0,b],756490)},523593,a=>{"use strict";let b=(0,a.i(831709).default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]);a.s(["GitBranch",0,b],523593)},379065,a=>{"use strict";let b=(0,a.i(831709).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",0,b],379065)},354658,a=>{"use strict";let b=(0,a.i(831709).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",0,b],354658)}];
2
+
3
+ //# sourceMappingURL=0rhn_lucide-react_dist_esm_icons_0e2_v_.._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[349692,372871,a=>{"use strict";let b=(0,a.i(831709).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["default",0,b],372871),a.s(["Loader2",0,b],349692)},285320,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],285320)}];
2
+
3
+ //# sourceMappingURL=0rhn_lucide-react_dist_esm_icons_0w3hl3p._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[522734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},924868,(a,b,c)=>{b.exports=a.x("fs/promises",()=>require("fs/promises"))},667597,a=>{"use strict";let b=(0,a.i(831709).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],667597)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",0,b],756490)},599086,a=>{"use strict";let b=(0,a.i(831709).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",0,b],599086)},549429,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",0,b],549429)},356239,a=>{"use strict";let b=(0,a.i(831709).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],356239)},73948,a=>{"use strict";let b=(0,a.i(831709).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",0,b],73948)},171552,a=>{"use strict";let b=(0,a.i(831709).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",0,b],171552)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],693896)},999076,a=>{"use strict";let b=(0,a.i(831709).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,b],999076)},327788,a=>{"use strict";let b=(0,a.i(831709).default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]);a.s(["Pause",0,b],327788)},809326,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(739515);a.s(["default",0,function({params:a}){let{slug:e,objectiveId:f}=(0,c.use)(a);return(0,b.jsx)(d.ProjectObjectivesOverview,{projectSlug:e,initialObjectiveId:f})}])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__07johgg._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},971306,(a,b,c)=>{b.exports=a.r(918622)},179847,a=>{a.n(a.i(403343))},9185,a=>{a.n(a.i(729432))},872842,a=>{a.n(a.i(275164))},454897,a=>{a.n(a.i(330106))},856157,a=>{a.n(a.i(118970))},594331,a=>{a.n(a.i(860644))},715988,a=>{a.n(a.i(856952))},625766,a=>{a.n(a.i(777341))},529725,a=>{a.n(a.i(994290))},605785,a=>{a.n(a.i(790588))},874793,a=>{a.n(a.i(633169))},285826,a=>{a.n(a.i(437111))},721565,a=>{a.n(a.i(741763))},465911,a=>{a.n(a.i(708950))},225128,a=>{a.n(a.i(891562))},740781,a=>{a.n(a.i(449670))},69411,a=>{a.n(a.i(675700))},263081,a=>{a.n(a.i(200276))},862837,a=>{a.n(a.i(640795))},134607,a=>{a.n(a.i(611614))},296338,a=>{a.n(a.i(521751))},550642,a=>{a.n(a.i(512213))},232242,a=>{a.n(a.i(22693))},988530,a=>{a.n(a.i(10531))},508583,a=>{a.n(a.i(901082))},38534,a=>{a.n(a.i(698175))},670408,a=>{a.n(a.i(409095))},722922,a=>{a.n(a.i(496772))},578294,a=>{a.n(a.i(971717))},216625,a=>{a.n(a.i(585034))},488648,a=>{a.n(a.i(368113))},451914,a=>{a.n(a.i(466482))},725466,a=>{a.n(a.i(91505))},508294,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/apps/local/app/projects/[slug]/folders/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/local/app/projects/[slug]/folders/page.tsx <module evaluation>","default")},936946,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/apps/local/app/projects/[slug]/folders/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/local/app/projects/[slug]/folders/page.tsx","default")},692963,a=>{"use strict";a.i(508294);var b=a.i(936946);a.n(b)},975718,a=>{a.n(a.i(692963))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__08d5c~o._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},824179,a=>{"use strict";let b=(0,a.i(831709).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",0,b],824179)},353532,a=>{"use strict";let b=(0,a.i(831709).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],353532)},830284,a=>{"use strict";var b=a.i(572131);a.s(["useProjects",0,function(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!1),[f,g]=(0,b.useState)(null),h=(0,b.useCallback)(async()=>{e(!0);try{let a=await fetch("/api/projects");if(!a.ok)throw Error("Failed to fetch projects");let b=await a.json();c(b.projects??[]),g(null)}catch(a){g(a instanceof Error?a:Error("Unknown error"))}finally{e(!1)}},[]);(0,b.useEffect)(()=>{h()},[h]);let i=(0,b.useCallback)(async a=>{let b=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to create project");let d=(await b.json()).project;return c(a=>[d,...a]),d},[]);return{projects:a,isLoading:d,error:f,refetch:h,createProject:i,updateProject:(0,b.useCallback)(async(a,b)=>{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error||"Failed to update project");let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?e:b)),e},[]),deleteProject:(0,b.useCallback)(async a=>{let b=await fetch(`/api/projects/${a}`,{method:"DELETE"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error||"Failed to delete project");c(b=>b.filter(b=>b.id!==a))},[])}},"useProjectsWithAgents",0,function(){let[a,c]=(0,b.useState)([]),[d,e]=(0,b.useState)(!0),f=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/projects");if(!a.ok)return;let{projects:b}=await a.json(),d=await Promise.all((b??[]).map(async a=>{let b=[],c=[];try{let[d,e]=await Promise.all([fetch(`/api/projects/${a.id}/agents`),fetch(`/api/projects/${a.id}/threads`)]);d.ok&&(b=(await d.json()).agents??[]),e.ok&&(c=((await e.json()).threads??[]).map(a=>a.thread_id))}catch{}return{...a,repos:a.repos??[],agents:b.map(b=>({project_id:a.id,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at})),thread_ids:c,workspace_ids:c}}));c(d)}catch{}finally{e(!1)}},[]);(0,b.useEffect)(()=>{f()},[f]);let g=(0,b.useCallback)(async(a,b)=>{try{let d="string"==typeof a?{name:a}:a,e=d.name.trim(),f=(d.slug||e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")).trim(),g=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...d,name:e,slug:f})});if(!g.ok)return null;let{project:h}=await g.json(),i=Array.isArray(b)?b:b?[b]:[];for(let a of i)await fetch(`/api/projects/${h.id}/threads`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:a})}).catch(a=>console.warn("[useProjects] link thread failed:",a));let j={...h,repos:h.repos??[],agents:[],thread_ids:i,workspace_ids:i};return c(a=>[...a,j].sort((a,b)=>a.name.localeCompare(b.name))),j}catch{return null}},[]),h=(0,b.useCallback)(async(a,b)=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})})).ok)return;c(c=>c.map(c=>c.id===a?{...c,name:b}:c).sort((a,b)=>a.name.localeCompare(b.name)))}catch{}},[]),i=(0,b.useCallback)(async a=>{try{if(!(await fetch(`/api/projects/${a}`,{method:"DELETE"})).ok)return;c(b=>b.filter(b=>b.id!==a))}catch{}},[]),j=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(!d.ok){let a=await d.json().catch(()=>({}));throw Error(a.error||"Failed to update project")}let e=(await d.json()).project;return c(b=>b.map(b=>b.id===a?{...b,...e,repos:e.repos??b.repos}:b)),e}catch{return null}},[]),k=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),l=(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents?agentId=${b}`,{method:"DELETE"});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]);return{projects:a,isLoading:d,createProject:g,updateProject:j,renameProject:h,deleteProject:i,addAgent:k,removeAgent:l,reorderAgents:(0,b.useCallback)(async(a,b)=>{try{let d=await fetch(`/api/projects/${a}/agents`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderedAgentIds:b})});if(!d.ok)return;let e=((await d.json()).agents??[]).map(b=>({project_id:a,agent_id:b.agent_id,routing_order:b.routing_order,created_at:b.created_at}));c(b=>b.map(b=>b.id===a?{...b,agents:e}:b))}catch{}},[]),moveAgent:(0,b.useCallback)(async(a,b,c)=>{try{await fetch(`/api/projects/${b}/agents?agentId=${a}`,{method:"DELETE"}),await fetch(`/api/projects/${c}/agents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:a})}),await f()}catch{}},[f]),refresh:f}}])},831709,a=>{"use strict";var b=a.i(572131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]]));a.s(["default",0,(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g}],831709)},588644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},739118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},554427,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},627421,a=>{"use strict";let b=(0,a.i(831709).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["Check",0,b],627421)},667597,a=>{"use strict";let b=(0,a.i(831709).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],667597)},285320,a=>{"use strict";let b=(0,a.i(831709).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],285320)},713178,a=>{"use strict";var b=a.i(187924),c=a.i(572131);a.s(["default",0,function({initialPath:a,onSelect:d,onCancel:e}){let[f,g]=(0,c.useState)(a||""),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(null),n=(0,c.useRef)(null),o=(0,c.useCallback)(async a=>{k(!0),m(null);try{let b=a?`?path=${encodeURIComponent(a)}`:"",c=await fetch(`/api/filesystem/browse${b}`),d=await c.json();if(!c.ok)return void m(d.error||"Failed to browse");i(d),g(d.current),n.current?.scrollTo(0,0)}catch{m("Failed to connect")}finally{k(!1)}},[]);return(0,c.useEffect)(()=>{o(a||"")},[]),(0,b.jsxs)("div",{className:"rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] overflow-hidden shadow-lg",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,b.jsx)("input",{value:f,onChange:a=>g(a.target.value),onKeyDown:a=>{"Enter"===a.key&&o(f)},className:"input text-xs flex-1 py-1",placeholder:"Enter path..."}),(0,b.jsx)("button",{type:"button",onClick:()=>o(f),className:"text-[10px] font-bold uppercase tracking-wider text-[var(--primary)] hover:underline px-2 py-1 shrink-0",children:"Go"})]}),(0,b.jsxs)("div",{ref:n,className:"max-h-48 overflow-y-auto",children:[j&&(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--muted-foreground)] text-center",children:"Loading..."}),l&&(0,b.jsx)("div",{className:"px-3 py-4 text-xs text-[var(--destructive)] text-center",children:l}),!j&&h&&(0,b.jsxs)("div",{className:"py-1",children:[h.parent&&(0,b.jsxs)("button",{type:"button",onClick:()=>o(h.parent),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"↑"}),(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:".."})]}),0===h.dirs.length&&!h.parent&&(0,b.jsx)("div",{className:"px-3 py-3 text-xs text-[var(--muted-foreground)] text-center",children:"No subdirectories"}),h.dirs.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>o(a.path),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-[var(--muted)]/50 transition-colors flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[var(--muted-foreground)]",children:"📁"}),(0,b.jsx)("span",{className:"truncate",children:a.name})]},a.path))]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-t border-[var(--card-border)] bg-[var(--muted)]/30",children:[(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] truncate max-w-[60%]",children:h?.current||f}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("button",{type:"button",onClick:e,className:"text-xs font-medium text-[var(--muted-foreground)] hover:underline px-2 py-1",children:"Cancel"}),(0,b.jsx)("button",{type:"button",onClick:()=>d(h?.current||f),className:"text-xs font-bold text-[var(--primary)] hover:underline px-2 py-1",children:"Select"})]})]})]})}])},697183,a=>{"use strict";let b=(0,a.i(831709).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",0,b],697183)},736868,a=>{"use strict";let b=(0,a.i(831709).default)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);a.s(["FolderGit2",0,b],736868)},68063,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},639211,a=>{"use strict";a.s(["GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"UI_POLL_CHAT_ALT_MS",0,15e3,"UI_POLL_CHAT_CHECK_MS",0,1e4,"UI_POLL_DB_HEALTH_MS",0,3e4,"UI_POLL_PROMPT_RUNS_MS",0,5e3,"UI_POLL_SYSTEM_STATUS_MS",0,3e4,"UI_POLL_TASK_DURATION_MS",0,6e4])},157633,a=>{"use strict";let b=(0,a.i(831709).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);a.s(["Folder",0,b],157633)},168811,a=>{"use strict";var b=a.i(187924),c=a.i(238246),d=a.i(572131),e=a.i(639211);function f(){let[a,c]=(0,d.useState)(null),[f,g]=(0,d.useState)("loading");(0,d.useEffect)(()=>{let a=!0;async function b(){try{let b=await fetch("/api/health");if(!a)return;if(!b.ok)return void g("error");let d=await b.json();c(d),g(d.connected?"connected":"disconnected")}catch{a&&g("error")}}b();let d=setInterval(b,e.UI_POLL_DB_HEALTH_MS);return()=>{a=!1,clearInterval(d)}},[]);let h={loading:"Checking database…",connected:`${a?.adapter??"db"} connected (${a?.latencyMs??"?"}ms)`,disconnected:`${a?.adapter??"db"} disconnected`,error:"Database unreachable"};return(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-[var(--muted-foreground)]",role:"status","aria-label":h[f],children:[(0,b.jsx)("span",{className:`w-2 h-2 rounded-full ${{loading:"bg-yellow-400",connected:"bg-green-500",disconnected:"bg-red-500",error:"bg-red-500"}[f]}`}),(0,b.jsx)("span",{className:"hidden sm:inline",children:h[f]})]})}function g({children:a,fullWidth:d=!1,noFooter:e=!1}){return(0,b.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,b.jsx)("nav",{className:"desktop-titlebar flex-shrink-0 border-b border-[var(--card-border)] bg-[var(--card-bg)]/80 backdrop-blur-lg z-30",children:(0,b.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,b.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,b.jsx)("div",{className:"flex items-center gap-8",children:(0,b.jsx)(c.default,{href:"/",className:"flex items-center gap-3 group",children:(0,b.jsxs)("svg",{width:"52",height:"31",viewBox:"0 0 64 38",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"transition-transform group-hover:scale-105",children:[(0,b.jsx)("rect",{width:"64",height:"38",rx:"8",fill:"black"}),(0,b.jsxs)("g",{stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,b.jsx)("path",{d:"M 14 27 C 17 16 19 10 20 8 C 21 12 23 20 25 27"}),(0,b.jsx)("path",{d:"M 16 20 C 19 19 21 21 23 20"}),(0,b.jsx)("path",{d:"M 40 13 C 35 10 30 13 30 19 C 30 25 34 28 38 27 C 40 26 40 22 40 20 L 36 20"}),(0,b.jsx)("path",{d:"M 46 11 C 48 16 51 22 54 27"}),(0,b.jsx)("path",{d:"M 54 11 C 52 16 49 22 46 27"})]})]})})}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(c.default,{href:"/",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Open Chat"}),(0,b.jsx)(c.default,{href:"/automations",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Automations"}),(0,b.jsx)(c.default,{href:"/skills",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Skills"}),(0,b.jsx)(c.default,{href:"/settings",className:"text-sm font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:"Settings"})]})]})})}),(0,b.jsx)("main",{className:`flex-1 min-h-0 flex flex-col ${d?"p-0":"p-4 sm:p-6 lg:p-8 overflow-y-auto"}`,children:a}),!e&&(0,b.jsx)("footer",{className:"flex-shrink-0 border-t border-[var(--card-border)] bg-[var(--card-bg)]/50 py-4",children:(0,b.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between text-xs text-[var(--muted-foreground)]",children:[(0,b.jsx)("span",{children:"AGX Board • Autonomous Agent Orchestration"}),(0,b.jsxs)("span",{className:"hidden sm:inline-flex items-center gap-3",children:[(0,b.jsx)(f,{}),(0,b.jsx)("span",{children:"Built with Next.js + Db"})]})]})})]})}a.s(["default",0,function(a){return(0,b.jsx)(d.Suspense,{fallback:(0,b.jsx)("div",{className:"h-screen flex items-center justify-center bg-[var(--background)]",children:(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"})}),children:(0,b.jsx)(g,{...a})})}],168811)},459046,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(238246),e=a.i(285320),f=a.i(157633),g=a.i(736868),h=a.i(667597),i=a.i(353532),j=a.i(697183),k=a.i(627421),l=a.i(824179),m=a.i(168811),n=a.i(86007),o=a.i(713178),p=a.i(830284);a.s(["default",0,function(){let{projects:a,isLoading:q,refetch:r,updateProject:s}=(0,p.useProjects)(),[t,u]=(0,c.useState)(null),[v,w]=(0,c.useState)(""),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(null),[B,C]=(0,c.useState)(""),D=(0,c.useRef)(null),E=a.flatMap(a=>(a.repos??[]).map(b=>({repoId:b.id,name:b.name,path:b.path??"",git_url:b.git_url??"",notes:b.notes??"",projectId:a.id,projectName:a.name,projectSlug:a.slug}))),F=new Map;for(let b of a)F.set(b.id,{project:{id:b.id,name:b.name,slug:b.slug},repos:[]});for(let a of E)F.get(a.projectId).repos.push(a);let G=(0,c.useCallback)(()=>{let a=D.current;a&&(a.style.height="auto",a.style.height=`${a.scrollHeight}px`)},[]);(0,c.useEffect)(()=>{t&&D.current&&(D.current.focus(),D.current.setSelectionRange(D.current.value.length,D.current.value.length),G())},[t,G]);let H=()=>{u(null),w("")},I=(0,c.useCallback)(async b=>{y(!0);try{let c=a.find(a=>a.id===b.projectId);if(!c)return;let d=(c.repos??[]).map(a=>({id:a.id,name:a.name,path:a.path??"",git_url:a.git_url??"",notes:a.id===b.repoId?v:a.notes??""}));await s(b.projectId,{repos:d}),u(null),w("")}catch(a){console.error("Failed to update notes:",a)}finally{y(!1)}},[a,v,s]),J=(0,c.useCallback)(async b=>{let c=a.find(a=>a.id===b.projectId);if(!c)return;let d=(c.repos??[]).filter(a=>a.id!==b.repoId).map(a=>({id:a.id,name:a.name,path:a.path??"",git_url:a.git_url??"",notes:a.notes??""}));await s(b.projectId,{repos:d})},[a,s]),K=(0,c.useCallback)(async(b,c)=>{let d=a.find(a=>a.id===b);if(!d)return;let e=B.trim()||c.split("/").filter(Boolean).pop()||"folder",f=(d.repos??[]).map(a=>({id:a.id,name:a.name,path:a.path??"",git_url:a.git_url??"",notes:a.notes??""}));await s(b,{repos:[...f,{name:e,path:c}]}),A(null),C("")},[a,B,s]);return(0,b.jsx)(m.default,{children:(0,b.jsxs)("div",{className:"max-w-5xl mx-auto w-full flex flex-col min-h-full",children:[(0,b.jsxs)("header",{className:"flex items-center gap-4 py-8",children:[(0,b.jsx)(d.default,{href:"/",className:"p-2 rounded-lg border border-[var(--card-border)] bg-[var(--card-bg)] hover:border-[var(--primary)] transition-all",children:(0,b.jsx)(e.ArrowLeft,{size:16})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-3xl font-bold tracking-tight",children:"Folders"}),(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] mt-1",children:"All folder paths across your projects."})]})]}),q?(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center py-20",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4",children:[(0,b.jsx)("span",{className:"spinner w-8 h-8 border-3 border-[var(--primary)] border-t-transparent rounded-full"}),(0,b.jsx)("p",{className:"text-sm text-[var(--muted-foreground)] animate-pulse",children:"Loading folders..."})]})}):0===a.length?(0,b.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center py-20 animate-fade-in",children:[(0,b.jsx)("div",{className:"w-24 h-24 rounded-3xl bg-[var(--card-bg)] border border-[var(--card-border)] flex items-center justify-center text-4xl mb-6 shadow-xl",children:(0,b.jsx)(f.Folder,{size:40,className:"text-[var(--muted-foreground)]"})}),(0,b.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"No projects yet"}),(0,b.jsx)("p",{className:"text-[var(--muted-foreground)] text-center max-w-sm mb-8 leading-relaxed",children:"Create a project first, then add folders to it."}),(0,b.jsx)(d.default,{href:"/projects",className:"btn-primary px-8 py-3 text-lg shadow-xl shadow-[var(--primary)]/20",children:"Go to Projects"})]}):(0,b.jsx)("div",{className:"space-y-8 pb-20",children:Array.from(F.values()).map(({project:a,repos:c})=>(0,b.jsxs)("section",{children:[(0,b.jsx)("div",{className:"flex items-center gap-2 mb-3",children:(0,b.jsx)(d.default,{href:`/projects/${a.slug}`,className:"text-sm font-semibold text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors uppercase tracking-wide",children:a.name})}),(0,b.jsxs)("div",{className:"space-y-2",children:[c.map(a=>{let c=t===a.repoId;return(0,b.jsx)("div",{className:"group rounded-xl border border-[var(--card-border)] bg-[var(--card-bg)] p-4 transition-all hover:border-[var(--card-border-hover,var(--card-border))]",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("div",{className:"mt-0.5 flex-shrink-0 text-[var(--muted-foreground)]",children:a.git_url?(0,b.jsx)(g.FolderGit2,{size:16}):(0,b.jsx)(f.Folder,{size:16})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("button",{type:"button",onClick:()=>void J(a),className:"float-right ml-2 p-1 rounded-md text-[var(--muted-foreground)] opacity-0 group-hover:opacity-100 hover:text-red-400 hover:bg-red-400/10 transition-all","aria-label":"Remove folder",title:"Remove folder",children:(0,b.jsx)(j.Trash2,{size:14})}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium text-sm truncate",children:a.name||a.path}),a.name&&a.path&&(0,b.jsx)("span",{className:"text-xs text-[var(--muted-foreground)] truncate font-mono",children:a.path})]}),a.git_url&&(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] mt-0.5 font-mono truncate",children:a.git_url}),c?(0,b.jsxs)("div",{className:"mt-2",children:[(0,b.jsx)("textarea",{ref:D,value:v,onChange:a=>{w(a.target.value),G()},onKeyDown:b=>{"Enter"===b.key&&(b.metaKey||b.ctrlKey)?(b.preventDefault(),I(a)):"Escape"===b.key&&H()},placeholder:"What is this folder about? (Markdown supported)",rows:1,className:"w-full rounded-lg border border-[var(--card-border)] bg-[var(--background)] px-3 py-2 text-sm font-mono focus:border-[var(--primary)] focus:outline-none resize-none overflow-hidden"}),(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-1.5",children:[(0,b.jsxs)("button",{onClick:()=>void I(a),disabled:x,className:"inline-flex items-center gap-1 px-2.5 py-1 rounded-md text-xs font-medium bg-[var(--primary)] text-white hover:opacity-90 transition-opacity disabled:opacity-50",children:[(0,b.jsx)(k.Check,{size:12}),x?"Saving...":"Save"]}),(0,b.jsxs)("button",{onClick:H,className:"inline-flex items-center gap-1 px-2.5 py-1 rounded-md text-xs font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:[(0,b.jsx)(l.X,{size:12}),"Cancel"]}),(0,b.jsx)("span",{className:"text-[10px] text-[var(--muted-foreground)] ml-auto",children:"Cmd+Enter to save"})]})]}):(0,b.jsx)("div",{className:"group/notes mt-1 cursor-pointer",onClick:()=>{u(a.repoId),w(a.notes)},children:a.notes?(0,b.jsxs)("div",{className:"text-sm text-[var(--muted-foreground)] leading-relaxed relative",children:[(0,b.jsx)(n.Markdown,{content:a.notes}),(0,b.jsx)(h.Pencil,{size:11,className:"absolute top-0 right-0 opacity-0 group-hover/notes:opacity-60 transition-opacity"})]}):(0,b.jsx)("p",{className:"text-xs text-[var(--muted-foreground)] opacity-0 group-hover:opacity-60 transition-opacity italic",children:"Click to add notes..."})})]})]})},a.repoId)}),z===a.id?(0,b.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,b.jsx)("input",{type:"text",value:B,onChange:a=>C(a.target.value),placeholder:"Folder name (optional)",className:"w-full rounded-lg border border-[var(--card-border)] bg-[var(--background)] px-3 py-2 text-sm focus:border-[var(--primary)] focus:outline-none"}),(0,b.jsx)(o.default,{initialPath:"",onSelect:b=>void K(a.id,b),onCancel:()=>{A(null),C("")}})]}):(0,b.jsxs)("button",{type:"button",onClick:()=>A(a.id),className:"mt-3 inline-flex items-center gap-1.5 text-xs font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors",children:[(0,b.jsx)(i.Plus,{size:14}),"Add folder"]})]})]},a.id))})]})})}])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0_n~ybp._.js.map
@@ -0,0 +1,18 @@
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},599086,a=>{"use strict";let b=(0,a.i(831709).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",0,b],599086)},756490,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",0,b],756490)},340492,a=>{"use strict";let b=(0,a.i(831709).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);a.s(["Download",0,b],340492)},316099,a=>{"use strict";let b=(0,a.i(831709).default)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);a.s(["Hash",0,b],316099)},70887,a=>{"use strict";let b=(0,a.i(831709).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",0,b],70887)},697183,a=>{"use strict";let b=(0,a.i(831709).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",0,b],697183)},820859,a=>{"use strict";let b=(0,a.i(831709).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);a.s(["Clock",0,b],820859)},864061,a=>{"use strict";let b=(0,a.i(831709).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],864061)},475632,a=>{"use strict";a.s(["stripMarkers",0,function(a){return a.replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").trim()}])},520612,a=>{"use strict";var b=a.i(572131),c=a.i(50944);function d(a){return"string"!=typeof a?null:a.trim()||null}function e(a,b){return(a.get(b)?.trim()??"")||null}a.s(["useUrlSelection",0,function(){let a=(0,c.useRouter)(),f=(0,c.usePathname)(),g=(0,c.useSearchParams)(),h=(0,b.useCallback)(a=>e(g,a),[g]),i=(0,b.useCallback)((a,b)=>(function(a,b,c){let f=function(a,b){let c={...b},f=a=>Object.prototype.hasOwnProperty.call(b,a);if(f("issue")&&!f("run")){let f=e(a,"issue");d(b.issue)!==f&&(c.run=null)}if(f("job")&&!f("run")){let f=e(a,"job");d(b.job)!==f&&(c.run=null)}if(f("open")&&!f("message")){let f=e(a,"open");d(b.open)!==f&&(c.message=null)}return c}(b,c),g=new URLSearchParams(b.toString());for(let[a,b]of Object.entries(f)){let c=d(b);c?g.set(a,c):g.delete(a)}let h=g.toString();return h?`${a}?${h}`:a})(b??f,g,a),[f,g]),j=(0,b.useCallback)((b,c)=>{a.push(i(b,c))},[i,a]),k=(0,b.useCallback)((b,c)=>{a.replace(i(b,c))},[i,a]);return{pathname:f,searchParams:g,getSelection:h,buildHref:i,pushSelection:j,replaceSelection:k}}])},155829,496368,785061,a=>{"use strict";var b=a.i(572131);function c(a){return`threadId=${encodeURIComponent(a)}`}function d(a){return`workspaceId=${encodeURIComponent(a)}`}a.s(["useGroupChat",0,function(a){let[e,f]=(0,b.useState)([]),[g,h]=(0,b.useState)([]),[i,j]=(0,b.useState)([]),k=(0,b.useRef)(a),l=(0,b.useRef)(a);k.current=a,l.current!==a&&(l.current=a,f([]),h([]),j([]));let m=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);try{let[a,c]=await Promise.all([fetch(`/api/history?${e}`),fetch(`/api/logs?${d(b)}`)]);if(k.current!==b)return;a.ok&&f(await a.json()),c.ok&&h(await c.json())}catch{}},[]),n=(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();if(!b){f([]),h([]);return}let e=c(b);await Promise.all([fetch(`/api/history?${e}`,{method:"DELETE"}),fetch(`/api/logs?${d(b)}`,{method:"DELETE"})]),k.current===b&&(f([]),h([]))},[]),o=(0,b.useCallback)(async(a,b=10,c,d,e,g,h,i,l,m)=>{let n=c?.trim()||k.current?.trim();if(!n)return;let o=Date.now(),p=crypto.randomUUID(),q={id:p,role:"user",participantId:null,content:a,timestamp:o,rootMessageId:d||null,parentMessageId:d||null,depth:+!!d,...g&&g.length>0?{attachments:g}:{}};f(a=>[...a,q]);try{let c=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,prompt:a,promptPrefix:l||void 0,maxRounds:b,userMessageId:p,rootMessageId:d||void 0,attachmentIds:e?.length?e:void 0,activeParticipantIds:Array.isArray(h)?h:void 0,projectSlug:i?.trim()||void 0,routing:m})}),g=await c.json().catch(a=>(console.warn("[useGroupChat] failed to parse run response:",a),null));c.ok&&g?.chatRunId?j(a=>[{chatRunId:g.chatRunId,threadId:n,rootMessageId:d||p,status:"queued",optimistic:!0,enqueuedAt:Date.now()},...a.filter(a=>a.chatRunId!==g.chatRunId)]):c.ok||(console.error(`[useGroupChat] POST /api/chat failed (${c.status}):`,g?.error||c.statusText),f(a=>a.map(a=>a.id===p?{...a,sendFailed:!0}:a)))}catch(a){console.error("[useGroupChat] network error sending message:",a),f(a=>a.map(a=>a.id===p?{...a,sendFailed:!0}:a))}return p},[]),p=(0,b.useCallback)(async()=>{let a=k.current?.trim();if(a)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]),q=(0,b.useCallback)(async a=>{let b=k.current?.trim();if(b)try{await fetch(`/api/processes?workspaceId=${encodeURIComponent(b)}&threadId=${encodeURIComponent(a)}`,{method:"DELETE"})}catch{}},[]);return{messages:e,setMessages:f,logs:g,sendMessage:o,loadHistory:m,clearHistory:n,clearLogs:(0,b.useCallback)(async a=>{let b=a?.trim()||k.current?.trim();b?(await fetch(`/api/logs?${d(b)}`,{method:"DELETE"}).catch(a=>console.warn("[useGroupChat] delete logs failed:",a)),k.current===b&&h([])):h([])},[]),chatRuns:i,setChatRuns:j,stop:p,stopThread:q}}],155829);let e=new Set(["spawning","running"]);function f(a){if("string"==typeof a)return a.trim()||void 0}a.s(["useProcessPolling",0,function(a,c){let d=c?.intervalMs??1500,f=c?.idleIntervalMs??1e4,[g,h]=(0,b.useState)(new Set),[i,j]=(0,b.useState)([]),[k,l]=(0,b.useState)({}),[m,n]=(0,b.useState)([]),o=(0,b.useRef)(a);o.current=a;let p=(0,b.useRef)(c?.messages??[]);p.current=c?.messages??[];let q=(0,b.useRef)(c?.setMessages);q.current=c?.setMessages;let r=(0,b.useRef)(0);(0,b.useEffect)(()=>{let a=c?.messages??[];if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b)}},[c?.messages]);let s=(0,b.useCallback)(async()=>{let a=o.current;if(!a){h(new Set),j([]),l({}),n([]);return}let b=null;if(a.threadId?b=`/api/processes?threadId=${encodeURIComponent(a.threadId)}`:a.workspaceId&&(b=`/api/processes?workspaceId=${encodeURIComponent(a.workspaceId)}`),!b){h(new Set),j([]),l({}),n([]);return}try{let d=a.workspaceId||a.threadId,f=d?`/api/history?threadId=${encodeURIComponent(d)}&since=${r.current}`:null,g=d?`/api/chat-runs?threadId=${encodeURIComponent(d)}&limit=20`:null,i=[fetch(b)];f&&i.push(fetch(f)),g&&i.push(fetch(g));let[k,m,s]=await Promise.all(i),t=o.current;if(t?.threadId!==a.threadId||t?.workspaceId!==a.workspaceId)return;if(k.ok){let a=await k.json();j(a);let b=new Set(a.filter(a=>e.has(a.state)).map(a=>a.agentId));h(b);let c={};for(let b of a){if(!e.has(b.state))continue;let a=p.current.find(a=>a.id===b.sinceMessageId),d=a?.rootMessageId??b.sinceMessageId;c[b.agentId]={content:"",rootMessageId:d}}l(c)}if(s?.ok){var c;let a=(c=await s.json(),Array.isArray(c)?c.map(a=>{if(!a||"object"!=typeof a)return null;let b="string"==typeof a.chatRunId?a.chatRunId:"string"==typeof a.id?a.id:null,c="string"==typeof a.threadId?a.threadId:null,d="string"==typeof a.status?a.status:null,e="string"==typeof a.rootMessageId?a.rootMessageId:(a.rootMessageId,null);return b&&c&&d&&("queued"===d||"running"===d||"awaiting_user"===d||"blocked"===d||"completed"===d||"failed"===d||"cancelled"===d)?{chatRunId:b,threadId:c,rootMessageId:e,status:d,optimistic:!1}:null}).filter(a=>!!a):[]);n(a)}if(m?.ok&&q.current){let a=await m.json();if(a.length>0){let b=Math.max(...a.map(a=>a.timestamp));b>r.current&&(r.current=b),q.current(b=>{let c=new Set(b.map(a=>a.id)),d=a.filter(a=>!c.has(a.id)),e=b.map(b=>a.find(a=>a.id===b.id)??b);return 0===d.length?e:[...e,...d].sort((a,b)=>a.timestamp-b.timestamp)})}}}catch{}},[]),t=a?.threadId||a?.workspaceId||null,u=m.some(a=>"queued"===a.status||"running"===a.status),v=i.some(a=>e.has(a.state)),w=u||v?d:f;return(0,b.useEffect)(()=>{if(!t){h(new Set),j([]),l({}),n([]);return}s();let a=setInterval(s,w);return()=>clearInterval(a)},[t,w,s]),{activeAgents:g,processes:i,streaming:k,chatRuns:m,poll:s}}],496368),a.s(["extractComposerRouting",0,function(a,b){let c=new Set,d=new Set;!function a(b,c){if(b)for(let d of b)c(d),a(d.content,c)}(a.content,a=>{if("participantMention"!==a.type)return;let b=a.attrs??{},e="string"==typeof b.id?b.id.trim():"",f="string"==typeof b.kind?b.kind:"agent";e&&"agent"===f&&(c.add(e),"parallel"===b.mode&&d.add(e))});let e=f(b);return{...e?{pinnedParticipantId:e}:{},mentionedParticipantIds:Array.from(c),parallelParticipantIds:Array.from(d)}},"orderParticipantIds",0,function(a,b){let c=function(a){if(!Array.isArray(a))return[];let b=new Set,c=[];for(let d of a){if("string"!=typeof d)continue;let a=d.trim();!a||b.has(a)||(b.add(a),c.push(a))}return c}(a),d=f(b);return d&&c.includes(d)?[d,...c.filter(a=>a!==d)]:c}],785061)},693896,a=>{"use strict";let b=(0,a.i(831709).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["AlertCircle",0,b],693896)},999076,a=>{"use strict";let b=(0,a.i(831709).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,b],999076)},44668,a=>{"use strict";let b=(0,a.i(831709).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",0,b],44668)},754812,a=>{"use strict";let b=(0,a.i(831709).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",0,b],754812)},734709,a=>{"use strict";var b=a.i(187924),c=a.i(572131);a.s(["default",0,function({isOpen:a,title:d,message:e,preview:f,confirmLabel:g="Confirm",cancelLabel:h="Cancel",variant:i="default",onConfirm:j,onCancel:k}){let l=(0,c.useRef)(null),m=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(a){let a=setTimeout(()=>l.current?.focus(),50);return()=>clearTimeout(a)}},[a]);let n=(0,c.useCallback)(a=>{"Escape"===a.key&&k()},[k]);if(!a)return null;let o="danger"===i;return(0,b.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/50 backdrop-blur-md",style:{animation:"confirm-overlay-in 200ms ease-out"},onClick:a=>a.target===a.currentTarget&&k(),onKeyDown:n,children:[(0,b.jsxs)("div",{ref:m,className:"w-full max-w-md mx-4 bg-[var(--card-bg)] rounded-2xl border border-[var(--card-border)] shadow-2xl overflow-hidden",style:{animation:"confirm-dialog-in 250ms cubic-bezier(0.34, 1.56, 0.64, 1)"},children:[(0,b.jsx)("div",{className:"px-6 pt-6 pb-3",children:(0,b.jsxs)("div",{className:"flex items-start gap-4",children:[o&&(0,b.jsx)("div",{className:"flex-shrink-0 w-11 h-11 rounded-full bg-red-500/10 border border-red-500/20 flex items-center justify-center",children:(0,b.jsx)("svg",{className:"w-5 h-5 text-red-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"})})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("h3",{className:"text-[15px] font-semibold text-[var(--foreground)]",children:d}),(0,b.jsx)("p",{className:"mt-1 text-[13px] text-[var(--muted-foreground)] leading-relaxed",children:e})]})]})}),f&&(0,b.jsx)("div",{className:"mx-6 mb-3 px-3 py-2.5 rounded-lg bg-[var(--muted)]/40 border border-[var(--card-border)]",children:(0,b.jsxs)("p",{className:"text-[12px] text-[var(--muted-foreground)] line-clamp-3 leading-relaxed italic",children:["“",f,"”"]})}),(0,b.jsx)("div",{className:"mx-6 border-t border-[var(--card-border)]"}),(0,b.jsxs)("div",{className:"px-6 py-4 flex items-center justify-end gap-2.5",children:[(0,b.jsx)("button",{onClick:k,className:"px-4 py-2 rounded-lg text-[13px] font-medium text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:bg-[var(--muted)]/60 transition-all duration-150",children:h}),(0,b.jsx)("button",{ref:l,onClick:j,className:`px-4 py-2 rounded-lg text-[13px] font-medium transition-all duration-150 ${o?"bg-red-500 text-white hover:bg-red-600 active:scale-[0.97]":"btn-primary active:scale-[0.97]"}`,children:g})]})]}),(0,b.jsx)("style",{children:`
2
+ @keyframes confirm-overlay-in {
3
+ from { opacity: 0; }
4
+ to { opacity: 1; }
5
+ }
6
+ @keyframes confirm-dialog-in {
7
+ from {
8
+ opacity: 0;
9
+ transform: scale(0.9) translateY(10px);
10
+ }
11
+ to {
12
+ opacity: 1;
13
+ transform: scale(1) translateY(0);
14
+ }
15
+ }
16
+ `})]})}])},638583,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(398066);a.s(["default",0,function({params:a}){let{slug:e,threadId:f}=(0,c.use)(a);return(0,b.jsx)(d.ChatContainer,{projectSlug:e,initialThreadId:f,showSidebar:!1})}])}];
17
+
18
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0fl7_-o._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},697183,a=>{"use strict";let b=(0,a.i(831709).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",0,b],697183)},701065,a=>{"use strict";let b=(0,a.i(831709).default)("brain-circuit",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]]);a.s(["BrainCircuit",0,b],701065)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0h~rb5r._.js.map