@mndrk/agx 2.4.5 → 2.4.7

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 (360) hide show
  1. package/cloud-runtime/standalone/apps/local/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/apps/local/.next/app-path-routes-manifest.json +4 -0
  3. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +2 -2
  4. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +33 -0
  6. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +2 -2
  7. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +1 -1
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route/app-paths-manifest.json +3 -0
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route/build-manifest.json +11 -0
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route/server-reference-manifest.json +4 -0
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route.js +13 -0
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route.js.map +5 -0
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route.js.nft.json +1 -0
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/program/route_client-reference-manifest.js +2 -0
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route/app-paths-manifest.json +3 -0
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route/build-manifest.json +11 -0
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route/server-reference-manifest.json +4 -0
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route.js +11 -0
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route.js.map +5 -0
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route.js.nft.json +1 -0
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/export/route_client-reference-manifest.js +2 -0
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route/app-paths-manifest.json +3 -0
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route/build-manifest.json +11 -0
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route/server-reference-manifest.json +4 -0
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route.js +11 -0
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route.js.map +5 -0
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route.js.nft.json +1 -0
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/workspace/import/route_client-reference-manifest.js +2 -0
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/items/[id]/recap/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/runs/scripted/route.js.nft.json +1 -1
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/api/trackers/[tracker]/status/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/api/update-check/route.js.nft.json +1 -1
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +3 -3
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +3 -3
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos/page_client-reference-manifest.js +1 -1
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.html +2 -2
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.rsc +2 -2
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_full.segment.rsc +2 -2
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_head.segment.rsc +1 -1
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_index.segment.rsc +2 -2
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/_tree.segment.rsc +2 -2
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github/select-repos/__PAGE__.segment.rsc +1 -1
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github/select-repos.segment.rsc +1 -1
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations/github.segment.rsc +1 -1
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/integrations/github/select-repos.segments/integrations.segment.rsc +1 -1
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/notifications/page_client-reference-manifest.js +1 -1
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/prs/page_client-reference-manifest.js +1 -1
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/app-paths-manifest.json +3 -0
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/build-manifest.json +18 -0
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/next-font-manifest.json +11 -0
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/react-loadable-manifest.json +1 -0
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page/server-reference-manifest.json +4 -0
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page.js +16 -0
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page.js.map +5 -0
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page.js.nft.json +1 -0
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/page_client-reference-manifest.js +2 -0
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/[tracker]/page_client-reference-manifest.js +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/connect/page_client-reference-manifest.js +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/tracking/page_client-reference-manifest.js +1 -1
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +3 -3
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +2 -2
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +2 -2
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  196. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +4 -0
  197. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_projects_[id]_workspace_export_route_actions_e161f108.js +3 -0
  198. package/cloud-runtime/standalone/apps/local/.next/server/chunks/30bdd_server_app_api_projects_[id]_workspace_import_route_actions_10d2bce2.js +3 -0
  199. package/cloud-runtime/standalone/apps/local/.next/server/chunks/7255d_app_api_projects_[id]_objectives_[objectiveId]_program_route_actions_e6cdbc76.js +3 -0
  200. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__1563ebff._.js +2 -2
  201. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__3fdd57cb._.js +1 -1
  202. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__45af4365._.js +1 -1
  203. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__683b7ad7._.js +1 -1
  204. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__736d5859._.js +1 -1
  205. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__96b5ea56._.js +3 -0
  206. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__ba72d342._.js +5 -5
  207. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__c3188470._.js +1 -1
  208. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__eb69343e._.js +3 -0
  209. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_1d99e7a5._.js +1 -1
  210. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_4d88e4dc._.js +91 -0
  211. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_4dec65a2._.js +1 -1
  212. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_50e3a6e3._.js +1 -1
  213. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_56a2544c._.js +1 -1
  214. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_5843a1a1._.js +1 -1
  215. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_a15e73a6._.js +1 -1
  216. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_bd72806a._.js +1 -1
  217. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_c101ba9e._.js +1 -1
  218. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_c530bd77._.js +11 -0
  219. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_d69937f2._.js +91 -0
  220. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e2867b32._.js +3 -0
  221. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_e32b0cab._.js +91 -0
  222. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_5ab8f104._.js +1 -1
  223. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_db_ts_77c23d6c._.js +1 -1
  224. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0da96_local__next-internal_server_app_projects_[slug]_thread_page_actions_3ceeb59b.js +3 -0
  225. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__1e0fd816._.js +3 -0
  226. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__42499ecf._.js +3 -0
  227. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__5f31e40b._.js +3 -0
  228. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__636799fb._.js +3 -0
  229. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__4bf7d5b9._.js → [root-of-the-server]__74436f61._.js} +2 -2
  230. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__9434d6d7._.js +3 -0
  231. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bd339da0._.js +3 -0
  232. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__d08d7899._.js +3 -0
  233. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__e02a457c._.js +3 -0
  234. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__e3a1fef0._.js +3 -0
  235. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__f802e7d1._.js +3 -0
  236. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__ff96bb77._.js +3 -0
  237. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_6a2ba8f0._.js +3 -0
  238. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_7cb6b08a._.js +3 -0
  239. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_a0f42923._.js +7 -0
  240. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_a93c1059._.js +3 -0
  241. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_components_PromptJobBoard_tsx_281b2873._.js → apps_local_04cb9fd5._.js} +3 -3
  242. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_15502af8._.js +3 -0
  243. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_16eaf7ae._.js +3 -0
  244. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3c11c068._.js +8 -0
  245. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_89b49aad._.js +7 -0
  246. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_988d29c0._.js +1 -1
  247. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_ae1a134f._.js +7 -0
  248. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_page_tsx_2a02508d._.js +1 -1
  249. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_folders_page_tsx_72fb68e5._.js +1 -1
  250. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_3bb31889._.js +1 -1
  251. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_76330306._.js +1 -1
  252. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_[teamId]_page_tsx_6dcfdd52._.js +1 -1
  253. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_b8e580cc._.js +4 -0
  254. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_TrackerBoard_tsx_98970bab._.js +2 -2
  255. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_app_projects_[slug]_thread_[threadId]_page_tsx_2a1d1d5e._.js → apps_local_components_chat-ui_ChatContainer_tsx_47371955._.js} +2 -2
  256. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_751ab3d3._.js +3 -3
  257. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_eb223411._.js +18 -0
  258. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_7d1abfbf._.js → apps_local_f1c9872a._.js} +2 -2
  259. package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +3 -0
  260. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  261. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.js +1 -1
  262. package/cloud-runtime/standalone/apps/local/.next/server/next-font-manifest.json +4 -0
  263. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  264. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +2 -2
  265. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  266. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  267. package/cloud-runtime/standalone/apps/local/.next/static/chunks/08e75b35d6c52269.js +1 -0
  268. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0d22a723b9b96e65.js +1 -0
  269. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{cb19d71dd7ffb935.js → 1585dd5f9ec4866a.js} +1 -1
  270. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1bc8cc9cbb99c1ed.js +1 -0
  271. package/cloud-runtime/standalone/apps/local/.next/static/chunks/2586c0baa16e9a0d.js +16 -0
  272. package/cloud-runtime/standalone/apps/local/.next/static/chunks/2aa24a251622fd06.js +5 -0
  273. package/cloud-runtime/standalone/apps/local/.next/static/chunks/39513207112d6828.js +1 -0
  274. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{74e3a3e93be78db8.js → 40857295bb9226c4.js} +7 -7
  275. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{8b5d6f5bade8c4ea.js → 41ae15220fc19bf7.js} +2 -2
  276. package/cloud-runtime/standalone/apps/local/.next/static/chunks/5092f14c2bf43204.js +16 -0
  277. package/cloud-runtime/standalone/apps/local/.next/static/chunks/5159169343ce6d2f.css +1 -0
  278. package/cloud-runtime/standalone/apps/local/.next/static/chunks/67b36c70b72e0e10.js +1 -0
  279. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7bfbfcd072f8d61e.js +20 -0
  280. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7cf26dd04166f32f.js +6 -0
  281. package/cloud-runtime/standalone/apps/local/.next/static/chunks/90dcb743d23feeca.js +16 -0
  282. package/cloud-runtime/standalone/apps/local/.next/static/chunks/93749b45e2700808.js +16 -0
  283. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{48feca51cf97c8a7.js → 9bb8f1406365af81.js} +1 -1
  284. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b4aa71020acae46f.js +16 -0
  285. package/cloud-runtime/standalone/apps/local/.next/static/chunks/c352706a0ad7e35d.js +1 -0
  286. package/cloud-runtime/standalone/apps/local/.next/static/chunks/c5436b2b7e8f0ca9.js +16 -0
  287. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{1600dd6ff8607d8f.js → c9a2c4b55bb76f4f.js} +6 -6
  288. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d6a9cc66254693b8.js +1 -0
  289. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{9e703dd5d95e9557.js → e3bdd1e0f385114e.js} +1 -1
  290. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{93b2b6aa0c9593f6.js → e6d4118b7c32d11c.js} +1 -1
  291. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{6ffcd12eabd7c65e.js → f71d73895d228547.js} +1 -1
  292. package/cloud-runtime/standalone/apps/local/.next/static/chunks/f750d2f1882d31a8.js +5 -0
  293. package/cloud-runtime/standalone/apps/local/app/api/automations/route.ts +2 -10
  294. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/program/route.ts +77 -0
  295. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/workspace/export/route.ts +35 -0
  296. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/workspace/import/route.ts +91 -0
  297. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +1 -8
  298. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +1 -1
  299. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/[teamId]/page.tsx +58 -2
  300. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/thread/page.tsx +14 -0
  301. package/cloud-runtime/standalone/apps/local/components/AutomationsBoard.tsx +15 -15
  302. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +80 -45
  303. package/cloud-runtime/standalone/apps/local/components/projects/FoldersSummaryCard.tsx +51 -196
  304. package/cloud-runtime/standalone/apps/local/components/projects/FoldersView.tsx +662 -784
  305. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +85 -249
  306. package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +4 -4
  307. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +118 -0
  308. package/cloud-runtime/standalone/apps/local/components/projects/ProjectSettings.tsx +81 -7
  309. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +15 -5
  310. package/cloud-runtime/standalone/apps/local/hooks/useProjectWorkspace.ts +117 -0
  311. package/cloud-runtime/standalone/apps/local/lib/db/projects.ts +14 -10
  312. package/cloud-runtime/standalone/apps/local/lib/project-workspace.ts +80 -0
  313. package/cloud-runtime/standalone/apps/local/lib/task-context.ts +39 -4
  314. package/cloud-runtime/standalone/apps/local/lib/workspace-yaml.ts +164 -0
  315. package/cloud-runtime/standalone/apps/local/src/objectives/program/index.ts +7 -0
  316. package/cloud-runtime/standalone/apps/local/src/objectives/program/repository.ts +60 -0
  317. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +12 -0
  318. package/cloud-runtime/standalone/apps/local/src/scheduling/status.ts +42 -0
  319. package/cloud-runtime/standalone/apps/local/worker/index.js +15 -10
  320. package/lib/commands/workspace.js +145 -7
  321. package/package.json +1 -1
  322. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_09d85861._.js +0 -91
  323. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_25136564._.js +0 -11
  324. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_2caf4398._.js +0 -91
  325. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_31ca7a35._.js +0 -91
  326. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/9fb8c_lucide-react_dist_esm_icons_8c8ee1bc._.js +0 -3
  327. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__3b4708d5._.js +0 -3
  328. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__49cbf624._.js +0 -3
  329. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__49cdd178._.js +0 -3
  330. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__55ed4ff9._.js +0 -3
  331. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__7a31a76d._.js +0 -3
  332. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__7e3c2ea1._.js +0 -7
  333. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__bb42490f._.js +0 -3
  334. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__dbda910b._.js +0 -7
  335. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__ee9351f9._.js +0 -3
  336. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_347d036d._.js +0 -7
  337. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_917d90b4._.js +0 -3
  338. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_f99c22fd._.js +0 -3
  339. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_3b90cb76._.js +0 -18
  340. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_9f36c765._.js +0 -3
  341. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_a2835b49._.js +0 -3
  342. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_8cc1a335._.js +0 -3
  343. package/cloud-runtime/standalone/apps/local/.next/static/chunks/1d8b2726979134e5.js +0 -16
  344. package/cloud-runtime/standalone/apps/local/.next/static/chunks/55a31773f8c2833f.js +0 -20
  345. package/cloud-runtime/standalone/apps/local/.next/static/chunks/6952b44e247d594a.js +0 -16
  346. package/cloud-runtime/standalone/apps/local/.next/static/chunks/6bfdc40a24e65ca2.js +0 -1
  347. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7c8515a24aeea102.js +0 -1
  348. package/cloud-runtime/standalone/apps/local/.next/static/chunks/7ff071e8a33d2fd8.js +0 -16
  349. package/cloud-runtime/standalone/apps/local/.next/static/chunks/80446e085a3aad56.css +0 -1
  350. package/cloud-runtime/standalone/apps/local/.next/static/chunks/87e4fb11329a358d.js +0 -1
  351. package/cloud-runtime/standalone/apps/local/.next/static/chunks/941f7f3626ec442c.js +0 -16
  352. package/cloud-runtime/standalone/apps/local/.next/static/chunks/94a66d2d19268d25.js +0 -5
  353. package/cloud-runtime/standalone/apps/local/.next/static/chunks/9c29ef447bef1576.js +0 -5
  354. package/cloud-runtime/standalone/apps/local/.next/static/chunks/a9111ccc979d4933.js +0 -5
  355. package/cloud-runtime/standalone/apps/local/.next/static/chunks/b35865f64b56d6f4.js +0 -1
  356. package/cloud-runtime/standalone/apps/local/.next/static/chunks/d2b34ade19d9d8da.js +0 -1
  357. package/cloud-runtime/standalone/apps/local/.next/static/chunks/f154e2ed7753f8ee.js +0 -16
  358. /package/cloud-runtime/standalone/apps/local/.next/static/{C3-tP4djbU34_g7VoIFac → xVMVGrzDjtD1H0bGL76NJ}/_buildManifest.js +0 -0
  359. /package/cloud-runtime/standalone/apps/local/.next/static/{C3-tP4djbU34_g7VoIFac → xVMVGrzDjtD1H0bGL76NJ}/_clientMiddlewareManifest.json +0 -0
  360. /package/cloud-runtime/standalone/apps/local/.next/static/{C3-tP4djbU34_g7VoIFac → xVMVGrzDjtD1H0bGL76NJ}/_ssgManifest.js +0 -0
@@ -95,7 +95,7 @@ Resolved memory entries: ${x.memory.map(e=>`${e.source}${e.id?`:${e.id}`:""}`).j
95
95
  </execution-provenance>`:null].filter(Boolean).join("\n\n");u({type:"log",participantId:t.id,stream:"stdout",line:`[DIAGNOSTIC] Model payload for ${t.id}:
96
96
  ${JSON.stringify({provider:t.provider,model:t.model,promptLength:n.length,identity:T?T.slice(0,200)+"...":void 0,self:w?w.slice(0,200)+"...":void 0,skills:k?k.slice(0,200)+"...":void 0,provenance:x,systemContext:W.slice(0,500)+"..."},null,2)}`});let N=`${t.id}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,F=(0,P.register)({workspaceId:e,threadId:g||"",agentId:t.id,pid:0,state:"spawning",sinceMessageId:l||"",responseMessageId:N,startedAt:Date.now(),lastActivity:Date.now(),projectSlug:d?.activeProject?.slug||""});p?.(F);let q=null;try{await (0,j.runCliResponse)({provider:t.provider,model:t.model,prompt:n,identity:T,self:w,skills:k,systemContext:W,signal:c,onSpawn:r=>{q=r,(0,P.update)(e,t.id,{pid:r,state:"running",lastActivity:Date.now()})},onLog:(e,r)=>{u({type:"log",participantId:t.id,stream:e,line:r})},onDelta:r=>{S+=r,(0,P.update)(e,t.id,{lastActivity:Date.now()}),u({type:"text-delta",participantId:t.id,delta:r})},onThought:e=>{u({type:"participant-thought",participantId:t.id,content:e})}}),(0,P.update)(e,t.id,{state:"done",lastActivity:Date.now()})}catch(n){let r=n instanceof Error?n.message:String(n),a=c?.aborted;(0,P.update)(e,t.id,{state:a?"killed":"error",lastActivity:Date.now()}),(0,O.logActivity)(t.id,"error",{thread:g||e,error:r}),u({type:"participant-error",participantId:t.id,error:r})}finally{}let V=(f=[],h=[],y=S.replace(b,(e,t)=>{let r=function(e){let t=new Map;for(A.lastIndex=0;;){let r=A.exec(e);if(!r)break;let a=r[1].toLowerCase(),n=r[2],o=r[3],s=r[4],i=(n??o??s??"").replace(/\\(["'\\])/g,"$1").trim();t.set(a,i)}return t}(String(t)),a=(r.get("target")||"").trim(),n=(r.get("type")||"").trim().toLowerCase(),o=(r.get("reason")||"").trim(),s=(r.get("blockercode")||r.get("blocker_code")||"").trim();return a?E.has(n)?"clarify"!==n&&"blocked"!==n||o?f.push({raw:e,target:a,type:n,reason:o||void 0,blockerCode:"blocked"===n&&s||void 0}):h.push({raw:e,error:`"${n}" requires reason`}):h.push({raw:e,error:`Invalid type: ${n||"(empty)"}`}):h.push({raw:e,error:"Missing target"}),""}).replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim(),{signals:f,invalid:h,cleanedText:y});for(let e of V.invalid)u({type:"log",participantId:t.id,stream:"stderr",line:`[reaction] ignored ${e.raw}: ${e.error}`});for(let r of V.signals)try{let a=await (0,$.setReaction)({threadId:e,messageId:r.target,participantId:t.id,type:r.type,reason:r.reason,blockerCode:r.blockerCode,hostPid:q,responseMessageId:N});u({type:"message-reactions",messageId:r.target,reactions:a.reactions})}catch(a){let e=a instanceof Error?a.message:String(a);u({type:"log",participantId:t.id,stream:"stderr",line:`[reaction] failed ${r.raw}: ${e}`})}let H=V.cleanedText.trim();if("[SKIP]"===H)return(0,O.logActivity)(t.id,"skip",{thread:g||e}),u({type:"participant-end",participantId:t.id}),{skipped:!0,response:"",mentions:new Set,parallel:!1,parallelIds:new Set,agentProcessId:F};let G=function(e,t){let r=e;for(let e of(r=r.replace(/@@all/gi,"@all"),t))r=(r=r.replace(RegExp(`@@${e.name}`,"gi"),`@${e.name}`)).replace(RegExp(`@@${e.id}`,"gi"),`@${e.id}`);return r}(H,r);if(G)try{await (0,$.saveMessages)(e,[{id:N,role:"assistant",participantId:t.id,content:G,timestamp:Date.now(),rootMessageId:g||null,parentMessageId:g||null,depth:+!!g}]),I=N}catch(r){let e=r instanceof Error?r.message:String(r);u({type:"log",participantId:t.id,stream:"stderr",line:`[history] failed to save assistant message: ${e}`})}if(G&&G.length>20)try{let r,a,n,o,s,i,l,d,c,u,p,m,f,h;J(t,T);let y=(s=(o=G.trim()).slice(0,120).replace(/\n/g," "),i=/\?/.test(o),l=o.match(/@\w+/g)||[],d=/\b(should|need to|must|plan|steps?|implement|fix|verify|ship|next|start)\b/i.test(o),c=/\b(maybe|might|could|unsure|not sure|unclear)\b/i.test(o),u=/\b(i will|i'll|i can|i'm going to|starting|checking|verified|fixed|done|shipped)\b/i.test(o),p=/```/.test(o)||/\bfunction\b|\bconst\b|\binterface\b/i.test(o),m=/\|.*\|.*\|/.test(o)||/^#{1,3}\s/m.test(o),f=/\b(finding|issue|bug|problem|missing|broken|wrong)\b/i.test(o),r=p&&m?`Observed a structured technical response with code or implementation detail — "${s}..."`:p?`Observed code-centric output — "${s}..."`:m?`Observed structured analysis or specification language — "${s}..."`:f?`Observed review or issue-spotting behavior — "${s}..."`:u?`Observed a concrete commitment to action — "${s}..."`:d?`Observed direction-setting or next-step guidance — "${s}..."`:i?`Observed clarifying or exploratory questioning — "${s}..."`:c?`Observed explicit uncertainty or caveating — "${s}..."`:l.length>0?`Observed coordination with ${l.join(", ")} — "${s}..."`:`Observed a general perspective contribution — "${s}..."`,h=[],(p||m)&&h.push("technical depth"),(d||u)&&h.push("execution bias"),i&&h.push("inquiry instinct"),f&&h.push("critical eye"),l.length>0&&h.push("team coordination"),c&&h.push("intellectual honesty"),a=h.length>0?`Candidate specialization signals: ${h.join(" + ")}. Treat as suggestive evidence, not settled identity.`:"Low-signal contribution for specialization; keep as weak evidence only.",d||u?n="Follow through on the action I just committed to.":f?n="Verify the issues I flagged get addressed.":i&&(n="Wait for the answer before moving forward."),{judgement:r,delta:a,intent:n});(0,D.appendJournal)(t.id,{t:new Date().toISOString(),type:"post",thread:g||e,observation:"Responded to thread",judgement:y.judgement,delta:y.delta,intent:y.intent})}catch{}if(G){let e;J(t,T);let r=(B.get(t.id)||0)+1;B.set(t.id,r),r%10==0&&(e=(z.get(t.id)??Promise.resolve()).catch(()=>{}).then(()=>K(t)),z.set(t.id,e),e.finally(()=>{z.get(t.id)===e&&z.delete(t.id)})).catch(()=>{})}let{ids:Q,parallel:X}=G?function(e,t){let r=new Set,a=new Set,n=e.toLowerCase(),o=n.includes("@@all");if(n.includes("@all")||o){for(let e of t)r.add(e.id),o&&a.add(e.id);return{ids:r,parallel:a}}try{let e=(0,R.getSQLiteDb)();for(let t of e.prepare("SELECT id, name, slug FROM projects").all()){let o=t.name.toLowerCase(),s=t.slug.toLowerCase(),i=n.includes(`@@${o}`)||n.includes(`@@${s}`),l=n.includes(`@${o}`)||n.includes(`@${s}`);if(i||l)for(let n of e.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC").all(t.id))r.add(n.agent_id),i&&a.add(n.agent_id)}}catch{}for(let e of t){let t=e.id.toLowerCase(),o=e.name.toLowerCase(),s=n.includes(`@@${t}`),i=n.includes(`@@${o}`),l=n.includes(`@${t}`),d=n.includes(`@${o}`);(s||i||l||d)&&(r.add(e.id),(s||i)&&a.add(e.id))}return{ids:r,parallel:a}}(G,r):{ids:new Set,parallel:new Set};if(Q.delete(t.id),X.delete(t.id),G){let r=V.signals.map(e=>e.type);(0,O.logActivity)(t.id,"message",{thread:g||e,messageId:I,response:G,prompt:n,mentions:Q.size>0?[...Q]:void 0,reactions:r.length>0?r:void 0})}return(u({type:"participant-end",participantId:t.id,messageId:I,content:G||void 0}),G)?{skipped:!1,response:G,mentions:Q,parallel:X.size>0,parallelIds:X,messageId:I,agentProcessId:F}:{skipped:!0,response:"",mentions:new Set,parallel:!1,parallelIds:new Set,agentProcessId:F}}var Z=e.i(391310),ee=e.i(911230),et=e.i(249921),er=e.i(471206);async function ea(e){var t;(0,er.writeDebugLog)("chat-processor.start.received",{jobId:e.id,chatRunId:e.data.chatRunId,signal:e.data.signal});let r=await (0,ee.loadChatRunActivity)(e.data.chatRunId);if(!r){(0,er.writeDebugLog)("chat-processor.start.missing",{chatRunId:e.data.chatRunId,jobId:e.id}),console.warn(`[chat-processor] Chat run ${e.data.chatRunId} not found, skipping`);return}if("completed"===r.status||"failed"===r.status||"cancelled"===r.status)return void(0,er.writeDebugLog)("chat-processor.start.skip_terminal",{chatRunId:r.id,status:r.status});if(!((t=r.payload)&&"object"==typeof t&&"string"==typeof t.threadId&&"string"==typeof t.prompt&&Array.isArray(t.participantIds))){(0,er.writeDebugLog)("chat-processor.start.invalid_payload",{chatRunId:r.id}),await (0,ee.updateChatRunActivity)({id:r.id,status:"failed",lastError:"Chat run payload is missing or invalid",completedAt:Date.now()});return}let a=await (0,ee.appendChatRunStepActivity)({chatRunId:r.id,kind:"model_turn",status:"running",inputPayload:{participantIds:r.payload.participantIds,rootMessageId:r.payload.rootMessageId,maxRounds:r.payload.maxRounds}});await (0,ee.updateChatRunActivity)({id:r.id,status:"running",currentStep:a.stepIndex,stepsUsed:a.stepIndex,lastError:null});let n=(0,et.getChatEventBus)();try{(0,er.writeDebugLog)("chat-processor.start.running",{chatRunId:r.id,threadId:r.threadId,rootMessageId:r.rootMessageId,participantIds:r.payload.participantIds});let e=await (0,Z.loadDbParticipants)(),t=new Set(r.payload.participantIds),o=r.payload.participantIds.map(t=>e.find(e=>e.id===t)).filter(e=>!!e);if(0===o.length)throw(0,er.writeDebugLog)("chat-processor.start.no_participants_resolved",{chatRunId:r.id,participantIds:r.payload.participantIds}),Error("No participants resolved for chat run");let s=new Set(r.payload.mentionedIds.filter(e=>t.has(e))),i=new Set(r.payload.initialParallelIds.filter(e=>t.has(e))),l=(function({threadId:e,allParticipants:t,mentioned:r,initialParallelIds:a,prompt:n,projectContext:o,signal:s,maxRounds:i,recentHistory:l,currentUserMessageId:d,rootMessageId:c}){let u=new TextEncoder;return new ReadableStream({async start(g){let p=[],m=new Map,f=e=>{try{g.enqueue(u.encode(`data: ${JSON.stringify(e)}
97
97
 
98
- `))}catch{}if("log"===e.type){let t=m.get(e.participantId);t&&p.push({agentProcessId:t,stream:e.stream,line:e.line,timestamp:Date.now()})}},h=async()=>{if(0===p.length)return;let e=new Map;for(let t of p){let r=e.get(t.agentProcessId);r||(r=[],e.set(t.agentProcessId,r)),r.push({stream:t.stream,line:t.line,timestamp:t.timestamp})}await Promise.all(Array.from(e.entries()).map(([e,t])=>(0,$.saveLogs)(e,t).catch(e=>console.error("[stream-multiplexer] saveLogs failed:",e))))},y=[],w=[],k=l?l.map(e=>({name:e.name,content:e.content})):[],I=t[0],S=new Set;if(r.size>0)for(let e of r)S.add(e);else S.add(I.id);let T=i??10,v=new Set(S);for(let r=0;r<T&&!s?.aborted;r++){let i=!0,u=t.filter(e=>S.has(e.id)),g=new Set,p=new Set;if(0===r&&a&&a.size>0){let r=u.filter(e=>a.has(e.id)&&v.has(e.id));if(r.length>0){for(let e of r)p.add(e.id);let a=r.map(async r=>{let a=await X(e,r,t,u,n,y,l||[],w,d||null,o,s,f,c,e=>m.set(r.id,e));return{agent:r,result:a}});for(let e of(await Promise.allSettled(a))){if("fulfilled"!==e.status)continue;let{agent:t,result:r}=e.value;if(!r.skipped)for(let e of(r.response&&r.messageId&&w.push({id:r.messageId,name:t.name,content:r.response}),r.response&&([...k,...y].filter(e=>e.name===t.name).some(e=>Q(e.content,r.response)>.5)||(y.push({name:t.name,content:r.response}),i=!1)),r.mentions))S.add(e),u.findIndex(t=>t.id===e)>=0&&!p.has(e)&&v.has(e)||g.add(e)}}}for(let r=0;r<u.length;r++){let a=u[r];if(s?.aborted)break;if(!v.has(a.id)||p.has(a.id))continue;let h=await X(e,a,t,u,n,y,l||[],w,d||null,o,s,f,c,e=>m.set(a.id,e));if(h.skipped||(h.response&&h.messageId&&w.push({id:h.messageId,name:a.name,content:h.response}),h.response&&[...k,...y].filter(e=>e.name===a.name).some(e=>Q(e.content,h.response)>.5)))continue;for(let e of(i=!1,h.response&&y.push({name:a.name,content:h.response}),h.mentions))u.findIndex(t=>t.id===e)>r&&v.has(e)||g.add(e);let I=new Set;for(let e of h.mentions)S.has(e)||(S.add(e),I.add(e));let T=new Set([...h.parallelIds].filter(e=>I.has(e)));if(T.size>0){let r=t.filter(e=>T.has(e.id)),a=t.filter(e=>S.has(e.id)),i=r.map(async r=>{let i=await X(e,r,t,a,n,y,l||[],w,d||null,o,s,f,c,e=>m.set(r.id,e));return{agent:r,result:i}});for(let e of(await Promise.allSettled(i))){if("fulfilled"!==e.status)continue;let{agent:t,result:r}=e.value;if(!r.skipped){if(r.response&&r.messageId&&w.push({id:r.messageId,name:t.name,content:r.response}),r.response){if([...k,...y].filter(e=>e.name===t.name).some(e=>Q(e.content,r.response)>.5))continue;y.push({name:t.name,content:r.response})}for(let e of r.mentions)S.add(e),g.add(e)}}}}if(i)break;v=g}await h(),f({type:"done"}),g.close()}})})({threadId:r.payload.threadId,allParticipants:o,mentioned:s,initialParallelIds:i,prompt:r.payload.prompt,projectContext:r.payload.projectContext,maxRounds:r.payload.maxRounds,recentHistory:r.payload.recentHistory,currentUserMessageId:r.payload.currentUserMessageId,rootMessageId:r.payload.rootMessageId}).getReader();(0,er.writeDebugLog)("chat-processor.stream.open",{chatRunId:r.id,participantCount:o.length});let d="";for(;;){let{done:e,value:t}=await l.read();if(e)break;if(t){let e=(d+=new TextDecoder().decode(t)).split("\n");for(let t of(d=e.pop()||"",e)){let e=t.trim();if(e.startsWith("data: "))try{let t=JSON.parse(e.slice(6));"log"!==t.type&&n.publish(r.id,t)}catch{}}}}if(d.trim().startsWith("data: "))try{let e=JSON.parse(d.trim().slice(6));"log"!==e.type&&n.publish(r.id,e)}catch{}n.complete(r.id),(0,er.writeDebugLog)("chat-processor.stream.complete",{chatRunId:r.id}),await (0,ee.completeChatRunStepActivity)({stepId:a.id,status:"completed",outputPayload:{completed:!0,participantCount:o.length}}),await (0,ee.updateChatRunActivity)({id:r.id,status:"completed",completedAt:Date.now(),result:{participantIds:o.map(e=>e.id),rootMessageId:r.payload.rootMessageId}}),(0,er.writeDebugLog)("chat-processor.complete",{chatRunId:r.id,rootMessageId:r.payload.rootMessageId})}catch(t){let e=t instanceof Error?t.message:String(t);n.complete(r.id),(0,er.writeDebugLog)("chat-processor.error",{chatRunId:r.id,error:t,message:e}),await (0,ee.completeChatRunStepActivity)({stepId:a.id,status:"failed",outputPayload:{error:e}}),await (0,ee.updateChatRunActivity)({id:r.id,status:"failed",lastError:e,completedAt:Date.now(),result:{error:e}})}}async function en(e){(0,er.writeDebugLog)("chat-processor.cancel.received",{jobId:e.id,chatRunId:e.data.chatRunId});let t=await (0,ee.loadChatRunActivity)(e.data.chatRunId);t&&(t.rootMessageId?(0,P.killByThread)(t.rootMessageId):(0,P.killByWorkspace)(t.threadId),await (0,ee.updateChatRunActivity)({id:t.id,status:"cancelled",lastError:e.data.payload?.reason||"Cancelled",completedAt:Date.now(),result:{cancelled:!0}}),(0,er.writeDebugLog)("chat-processor.cancel.complete",{chatRunId:t.id,threadId:t.threadId}))}async function eo(e){switch(e.data.signal){case"start":await ea(e);break;case"cancel":await en(e);break;default:console.warn(`[chat-processor] Unknown signal: ${e.data.signal}`)}}async function es(e){for(let t of e)await eo(t)}e.s(["chatProcessor",()=>es],348530)},846888,e=>{"use strict";e.i(426491),e.i(324654);var t=e.i(689518),r=e.i(515140),a=e.i(448643),n=e.i(952472),o=e.i(863014),s=e.i(38193),i=e.i(456094),l=e.i(387695),d=e.i(803887),c=e.i(181938),u=e.i(453298),g=e.i(521116),p=e.i(700006);e.s(["DEFAULT_WORKFLOW_ID",()=>s.DEFAULT_WORKFLOW_ID,"IDENTIFIER_PREFIX_REGEX",()=>t.IDENTIFIER_PREFIX_REGEX,"addLearning",()=>c.addLearning,"addProjectAgent",()=>o.addProjectAgent,"addProjectMemory",()=>o.addProjectMemory,"addProjectSkill",()=>o.addProjectSkill,"addProjectThread",()=>o.addProjectThread,"addTaskComment",()=>d.addTaskComment,"addTaskCostEntry",()=>l.addTaskCostEntry,"addTaskLog",()=>i.addTaskLog,"addTeamAgent",()=>g.addTeamAgent,"appendRunToIndex",()=>n.appendRunToIndex,"assignOrphanTasksToProject",()=>o.assignOrphanTasksToProject,"buildExecutionProvenance",()=>p.buildExecutionProvenance,"createAgent",()=>u.createAgent,"createProject",()=>o.createProject,"createTask",()=>n.createTask,"createTeam",()=>g.createTeam,"createWorkspaceEntry",()=>o.createWorkspaceEntry,"defaultStagePrompts",()=>s.defaultStagePrompts,"deleteAgent",()=>u.deleteAgent,"deleteLearning",()=>c.deleteLearning,"deleteProject",()=>o.deleteProject,"deleteProjectMemory",()=>o.deleteProjectMemory,"deleteProjectVariable",()=>o.deleteProjectVariable,"deleteStagePrompt",()=>s.deleteStagePrompt,"deleteTask",()=>n.deleteTask,"deleteTaskComment",()=>d.deleteTaskComment,"deleteTeam",()=>g.deleteTeam,"deleteWorkspaceEntry",()=>o.deleteWorkspaceEntry,"ensureNoCircularDependency",()=>r.ensureNoCircularDependency,"extractTitle",()=>r.extractTitle,"generateUniqueProjectSlug",()=>r.generateUniqueProjectSlug,"generateUniqueSlug",()=>r.generateUniqueSlug,"getAgent",()=>u.getAgent,"getAgentSkills",()=>u.getAgentSkills,"getAgents",()=>u.getAgents,"getDbClient",()=>r.getDbClient,"getDefaultWorkflowId",()=>s.getDefaultWorkflowId,"getLearnings",()=>c.getLearnings,"getNextQueuedTask",()=>n.getNextQueuedTask,"getProjectAgents",()=>o.getProjectAgents,"getProjectBySlug",()=>o.getProjectBySlug,"getProjectForThread",()=>o.getProjectForThread,"getProjectMemory",()=>o.getProjectMemory,"getProjectRepos",()=>o.getProjectRepos,"getProjectSkills",()=>o.getProjectSkills,"getProjectThreads",()=>o.getProjectThreads,"getProjectVariables",()=>o.getProjectVariables,"getProjectWithRepos",()=>o.getProjectWithRepos,"getProjectWorkspace",()=>o.getProjectWorkspace,"getProjects",()=>o.getProjects,"getStagePrompt",()=>s.getStagePrompt,"getStagePrompts",()=>s.getStagePrompts,"getTask",()=>n.getTask,"getTaskBySlug",()=>n.getTaskBySlug,"getTaskComments",()=>d.getTaskComments,"getTaskCostEntries",()=>l.getTaskCostEntries,"getTaskCostSummary",()=>l.getTaskCostSummary,"getTaskLogs",()=>i.getTaskLogs,"getTasks",()=>n.getTasks,"getTeam",()=>g.getTeam,"getTeamAgents",()=>g.getTeamAgents,"getTeams",()=>g.getTeams,"getUserSettings",()=>a.getUserSettings,"getWorkflow",()=>s.getWorkflow,"getWorkflowNodeByName",()=>s.getWorkflowNodeByName,"getWorkflowNodes",()=>s.getWorkflowNodes,"getWorkflowTransitions",()=>s.getWorkflowTransitions,"getWorkflowTransitionsFromNode",()=>s.getWorkflowTransitionsFromNode,"getWorkflowWithGraph",()=>s.getWorkflowWithGraph,"getWorkflows",()=>s.getWorkflows,"getWorkspaceMapForContext",()=>o.getWorkspaceMapForContext,"isMissingRelationError",()=>r.isMissingRelationError,"normalizeDependsOnInput",()=>r.normalizeDependsOnInput,"parseDependsOnValue",()=>r.parseDependsOnValue,"parseFrontmatter",()=>r.parseFrontmatter,"removeProjectAgent",()=>o.removeProjectAgent,"removeProjectSkill",()=>o.removeProjectSkill,"removeProjectThread",()=>o.removeProjectThread,"removeTeamAgent",()=>g.removeTeamAgent,"reorderProjectAgents",()=>o.reorderProjectAgents,"resolveMemory",()=>p.resolveMemory,"resolveSkills",()=>p.resolveSkills,"resolveTaskConfig",()=>r.resolveTaskConfig,"resolveVariables",()=>p.resolveVariables,"setAgentSkills",()=>u.setAgentSkills,"setProjectVariable",()=>o.setProjectVariable,"slugify",()=>r.slugify,"summarizeTaskCosts",()=>l.summarizeTaskCosts,"updateAgent",()=>u.updateAgent,"updateProject",()=>o.updateProject,"updateTask",()=>n.updateTask,"updateTeam",()=>g.updateTeam,"updateWorkflow",()=>s.updateWorkflow,"updateWorkflowNodes",()=>s.updateWorkflowNodes,"updateWorkspaceEntry",()=>o.updateWorkspaceEntry,"upsertStagePrompt",()=>s.upsertStagePrompt,"upsertUserSettings",()=>a.upsertUserSettings,"validateIdentifierPrefix",()=>t.validateIdentifierPrefix],41222),e.i(41222),e.s(["DEFAULT_WORKFLOW_ID",()=>s.DEFAULT_WORKFLOW_ID,"IDENTIFIER_PREFIX_REGEX",()=>t.IDENTIFIER_PREFIX_REGEX,"addLearning",()=>c.addLearning,"addProjectAgent",()=>o.addProjectAgent,"addProjectMemory",()=>o.addProjectMemory,"addProjectSkill",()=>o.addProjectSkill,"addProjectThread",()=>o.addProjectThread,"addTaskComment",()=>d.addTaskComment,"addTaskCostEntry",()=>l.addTaskCostEntry,"addTaskLog",()=>i.addTaskLog,"addTeamAgent",()=>g.addTeamAgent,"appendRunToIndex",()=>n.appendRunToIndex,"assignOrphanTasksToProject",()=>o.assignOrphanTasksToProject,"buildExecutionProvenance",()=>p.buildExecutionProvenance,"createAgent",()=>u.createAgent,"createProject",()=>o.createProject,"createTask",()=>n.createTask,"createTeam",()=>g.createTeam,"createWorkspaceEntry",()=>o.createWorkspaceEntry,"defaultStagePrompts",()=>s.defaultStagePrompts,"deleteAgent",()=>u.deleteAgent,"deleteLearning",()=>c.deleteLearning,"deleteProject",()=>o.deleteProject,"deleteProjectMemory",()=>o.deleteProjectMemory,"deleteProjectVariable",()=>o.deleteProjectVariable,"deleteStagePrompt",()=>s.deleteStagePrompt,"deleteTask",()=>n.deleteTask,"deleteTaskComment",()=>d.deleteTaskComment,"deleteTeam",()=>g.deleteTeam,"deleteWorkspaceEntry",()=>o.deleteWorkspaceEntry,"ensureNoCircularDependency",()=>r.ensureNoCircularDependency,"extractTitle",()=>r.extractTitle,"generateUniqueProjectSlug",()=>r.generateUniqueProjectSlug,"generateUniqueSlug",()=>r.generateUniqueSlug,"getAgent",()=>u.getAgent,"getAgentSkills",()=>u.getAgentSkills,"getAgents",()=>u.getAgents,"getDbClient",()=>r.getDbClient,"getDefaultWorkflowId",()=>s.getDefaultWorkflowId,"getLearnings",()=>c.getLearnings,"getNextQueuedTask",()=>n.getNextQueuedTask,"getProjectAgents",()=>o.getProjectAgents,"getProjectBySlug",()=>o.getProjectBySlug,"getProjectForThread",()=>o.getProjectForThread,"getProjectMemory",()=>o.getProjectMemory,"getProjectRepos",()=>o.getProjectRepos,"getProjectSkills",()=>o.getProjectSkills,"getProjectThreads",()=>o.getProjectThreads,"getProjectVariables",()=>o.getProjectVariables,"getProjectWithRepos",()=>o.getProjectWithRepos,"getProjectWorkspace",()=>o.getProjectWorkspace,"getProjects",()=>o.getProjects,"getStagePrompt",()=>s.getStagePrompt,"getStagePrompts",()=>s.getStagePrompts,"getTask",()=>n.getTask,"getTaskBySlug",()=>n.getTaskBySlug,"getTaskComments",()=>d.getTaskComments,"getTaskCostEntries",()=>l.getTaskCostEntries,"getTaskCostSummary",()=>l.getTaskCostSummary,"getTaskLogs",()=>i.getTaskLogs,"getTasks",()=>n.getTasks,"getTeam",()=>g.getTeam,"getTeamAgents",()=>g.getTeamAgents,"getTeams",()=>g.getTeams,"getUserSettings",()=>a.getUserSettings,"getWorkflow",()=>s.getWorkflow,"getWorkflowNodeByName",()=>s.getWorkflowNodeByName,"getWorkflowNodes",()=>s.getWorkflowNodes,"getWorkflowTransitions",()=>s.getWorkflowTransitions,"getWorkflowTransitionsFromNode",()=>s.getWorkflowTransitionsFromNode,"getWorkflowWithGraph",()=>s.getWorkflowWithGraph,"getWorkflows",()=>s.getWorkflows,"getWorkspaceMapForContext",()=>o.getWorkspaceMapForContext,"isMissingRelationError",()=>r.isMissingRelationError,"normalizeDependsOnInput",()=>r.normalizeDependsOnInput,"parseDependsOnValue",()=>r.parseDependsOnValue,"parseFrontmatter",()=>r.parseFrontmatter,"removeProjectAgent",()=>o.removeProjectAgent,"removeProjectSkill",()=>o.removeProjectSkill,"removeProjectThread",()=>o.removeProjectThread,"removeTeamAgent",()=>g.removeTeamAgent,"reorderProjectAgents",()=>o.reorderProjectAgents,"resolveMemory",()=>p.resolveMemory,"resolveSkills",()=>p.resolveSkills,"resolveTaskConfig",()=>r.resolveTaskConfig,"resolveVariables",()=>p.resolveVariables,"setAgentSkills",()=>u.setAgentSkills,"setProjectVariable",()=>o.setProjectVariable,"slugify",()=>r.slugify,"summarizeTaskCosts",()=>l.summarizeTaskCosts,"updateAgent",()=>u.updateAgent,"updateProject",()=>o.updateProject,"updateTask",()=>n.updateTask,"updateTeam",()=>g.updateTeam,"updateWorkflow",()=>s.updateWorkflow,"updateWorkflowNodes",()=>s.updateWorkflowNodes,"updateWorkspaceEntry",()=>o.updateWorkspaceEntry,"upsertStagePrompt",()=>s.upsertStagePrompt,"upsertUserSettings",()=>a.upsertUserSettings,"validateIdentifierPrefix",()=>t.validateIdentifierPrefix],846888)},848159,155798,e=>{"use strict";e.s(["ensureOrchestratorRuntime",()=>P],848159);var t=e.i(565248),r=e.i(937144),a=e.i(348530),n=e.i(471206),o=e.i(533655),s=e.i(593238),i=e.i(94042);e.i(650837);var l=e.i(640911),d=e.i(902157),c=e.i(750227),u=e.i(660526);let g=new Set(["running","working"]),p=`Review the thread, assess whether the work is complete enough to move into review, and if not, produce one concise steering message that combines:
98
+ `))}catch{}if("log"===e.type){let t=m.get(e.participantId);t&&p.push({agentProcessId:t,stream:e.stream,line:e.line,timestamp:Date.now()})}},h=async()=>{if(0===p.length)return;let e=new Map;for(let t of p){let r=e.get(t.agentProcessId);r||(r=[],e.set(t.agentProcessId,r)),r.push({stream:t.stream,line:t.line,timestamp:t.timestamp})}await Promise.all(Array.from(e.entries()).map(([e,t])=>(0,$.saveLogs)(e,t).catch(e=>console.error("[stream-multiplexer] saveLogs failed:",e))))},y=[],w=[],k=l?l.map(e=>({name:e.name,content:e.content})):[],I=t[0],S=new Set;if(r.size>0)for(let e of r)S.add(e);else S.add(I.id);let T=i??10,v=new Set(S);for(let r=0;r<T&&!s?.aborted;r++){let i=!0,u=t.filter(e=>S.has(e.id)),g=new Set,p=new Set;if(0===r&&a&&a.size>0){let r=u.filter(e=>a.has(e.id)&&v.has(e.id));if(r.length>0){for(let e of r)p.add(e.id);let a=r.map(async r=>{let a=await X(e,r,t,u,n,y,l||[],w,d||null,o,s,f,c,e=>m.set(r.id,e));return{agent:r,result:a}});for(let e of(await Promise.allSettled(a))){if("fulfilled"!==e.status)continue;let{agent:t,result:r}=e.value;if(!r.skipped)for(let e of(r.response&&r.messageId&&w.push({id:r.messageId,name:t.name,content:r.response}),r.response&&([...k,...y].filter(e=>e.name===t.name).some(e=>Q(e.content,r.response)>.5)||(y.push({name:t.name,content:r.response}),i=!1)),r.mentions))S.add(e),u.findIndex(t=>t.id===e)>=0&&!p.has(e)&&v.has(e)||g.add(e)}}}for(let r=0;r<u.length;r++){let a=u[r];if(s?.aborted)break;if(!v.has(a.id)||p.has(a.id))continue;let h=await X(e,a,t,u,n,y,l||[],w,d||null,o,s,f,c,e=>m.set(a.id,e));if(h.skipped||(h.response&&h.messageId&&w.push({id:h.messageId,name:a.name,content:h.response}),h.response&&[...k,...y].filter(e=>e.name===a.name).some(e=>Q(e.content,h.response)>.5)))continue;for(let e of(i=!1,h.response&&y.push({name:a.name,content:h.response}),h.mentions))u.findIndex(t=>t.id===e)>r&&v.has(e)||g.add(e);let I=new Set;for(let e of h.mentions)S.has(e)||(S.add(e),I.add(e));let T=new Set([...h.parallelIds].filter(e=>I.has(e)));if(T.size>0){let r=t.filter(e=>T.has(e.id)),a=t.filter(e=>S.has(e.id)),i=r.map(async r=>{let i=await X(e,r,t,a,n,y,l||[],w,d||null,o,s,f,c,e=>m.set(r.id,e));return{agent:r,result:i}});for(let e of(await Promise.allSettled(i))){if("fulfilled"!==e.status)continue;let{agent:t,result:r}=e.value;if(!r.skipped){if(r.response&&r.messageId&&w.push({id:r.messageId,name:t.name,content:r.response}),r.response){if([...k,...y].filter(e=>e.name===t.name).some(e=>Q(e.content,r.response)>.5))continue;y.push({name:t.name,content:r.response})}for(let e of r.mentions)S.add(e),g.add(e)}}}}if(i)break;v=g}await h(),f({type:"done"}),g.close()}})})({threadId:r.payload.threadId,allParticipants:o,mentioned:s,initialParallelIds:i,prompt:r.payload.prompt,projectContext:r.payload.projectContext,maxRounds:r.payload.maxRounds,recentHistory:r.payload.recentHistory,currentUserMessageId:r.payload.currentUserMessageId,rootMessageId:r.payload.rootMessageId}).getReader();(0,er.writeDebugLog)("chat-processor.stream.open",{chatRunId:r.id,participantCount:o.length});let d="";for(;;){let{done:e,value:t}=await l.read();if(e)break;if(t){let e=(d+=new TextDecoder().decode(t)).split("\n");for(let t of(d=e.pop()||"",e)){let e=t.trim();if(e.startsWith("data: "))try{let t=JSON.parse(e.slice(6));"log"!==t.type&&n.publish(r.id,t)}catch{}}}}if(d.trim().startsWith("data: "))try{let e=JSON.parse(d.trim().slice(6));"log"!==e.type&&n.publish(r.id,e)}catch{}n.complete(r.id),(0,er.writeDebugLog)("chat-processor.stream.complete",{chatRunId:r.id}),await (0,ee.completeChatRunStepActivity)({stepId:a.id,status:"completed",outputPayload:{completed:!0,participantCount:o.length}}),await (0,ee.updateChatRunActivity)({id:r.id,status:"completed",completedAt:Date.now(),result:{participantIds:o.map(e=>e.id),rootMessageId:r.payload.rootMessageId}}),(0,er.writeDebugLog)("chat-processor.complete",{chatRunId:r.id,rootMessageId:r.payload.rootMessageId})}catch(t){let e=t instanceof Error?t.message:String(t);n.complete(r.id),(0,er.writeDebugLog)("chat-processor.error",{chatRunId:r.id,error:t,message:e}),await (0,ee.completeChatRunStepActivity)({stepId:a.id,status:"failed",outputPayload:{error:e}}),await (0,ee.updateChatRunActivity)({id:r.id,status:"failed",lastError:e,completedAt:Date.now(),result:{error:e}})}}async function en(e){(0,er.writeDebugLog)("chat-processor.cancel.received",{jobId:e.id,chatRunId:e.data.chatRunId});let t=await (0,ee.loadChatRunActivity)(e.data.chatRunId);t&&(t.rootMessageId?(0,P.killByThread)(t.rootMessageId):(0,P.killByWorkspace)(t.threadId),await (0,ee.updateChatRunActivity)({id:t.id,status:"cancelled",lastError:e.data.payload?.reason||"Cancelled",completedAt:Date.now(),result:{cancelled:!0}}),(0,er.writeDebugLog)("chat-processor.cancel.complete",{chatRunId:t.id,threadId:t.threadId}))}async function eo(e){switch(e.data.signal){case"start":await ea(e);break;case"cancel":await en(e);break;default:console.warn(`[chat-processor] Unknown signal: ${e.data.signal}`)}}async function es(e){for(let t of e)await eo(t)}e.s(["chatProcessor",()=>es],348530)},846888,e=>{"use strict";e.i(426491),e.i(324654);var t=e.i(689518),r=e.i(515140),a=e.i(448643),n=e.i(952472),o=e.i(863014),s=e.i(38193),i=e.i(456094),l=e.i(387695),d=e.i(803887),c=e.i(181938),u=e.i(453298),g=e.i(521116),p=e.i(700006);e.s(["DEFAULT_WORKFLOW_ID",()=>s.DEFAULT_WORKFLOW_ID,"IDENTIFIER_PREFIX_REGEX",()=>t.IDENTIFIER_PREFIX_REGEX,"addLearning",()=>c.addLearning,"addProjectAgent",()=>o.addProjectAgent,"addProjectMemory",()=>o.addProjectMemory,"addProjectSkill",()=>o.addProjectSkill,"addProjectThread",()=>o.addProjectThread,"addTaskComment",()=>d.addTaskComment,"addTaskCostEntry",()=>l.addTaskCostEntry,"addTaskLog",()=>i.addTaskLog,"addTeamAgent",()=>g.addTeamAgent,"appendRunToIndex",()=>n.appendRunToIndex,"assignOrphanTasksToProject",()=>o.assignOrphanTasksToProject,"buildExecutionProvenance",()=>p.buildExecutionProvenance,"createAgent",()=>u.createAgent,"createProject",()=>o.createProject,"createTask",()=>n.createTask,"createTeam",()=>g.createTeam,"createWorkspaceEntry",()=>o.createWorkspaceEntry,"defaultStagePrompts",()=>s.defaultStagePrompts,"deleteAgent",()=>u.deleteAgent,"deleteLearning",()=>c.deleteLearning,"deleteProject",()=>o.deleteProject,"deleteProjectMemory",()=>o.deleteProjectMemory,"deleteProjectVariable",()=>o.deleteProjectVariable,"deleteStagePrompt",()=>s.deleteStagePrompt,"deleteTask",()=>n.deleteTask,"deleteTaskComment",()=>d.deleteTaskComment,"deleteTeam",()=>g.deleteTeam,"deleteWorkspaceEntry",()=>o.deleteWorkspaceEntry,"ensureNoCircularDependency",()=>r.ensureNoCircularDependency,"extractTitle",()=>r.extractTitle,"generateUniqueProjectSlug",()=>r.generateUniqueProjectSlug,"generateUniqueSlug",()=>r.generateUniqueSlug,"getAgent",()=>u.getAgent,"getAgentSkills",()=>u.getAgentSkills,"getAgents",()=>u.getAgents,"getDbClient",()=>r.getDbClient,"getDefaultWorkflowId",()=>s.getDefaultWorkflowId,"getLearnings",()=>c.getLearnings,"getNextQueuedTask",()=>n.getNextQueuedTask,"getProjectAgents",()=>o.getProjectAgents,"getProjectBySlug",()=>o.getProjectBySlug,"getProjectForThread",()=>o.getProjectForThread,"getProjectMemory",()=>o.getProjectMemory,"getProjectRepos",()=>o.getProjectRepos,"getProjectSkills",()=>o.getProjectSkills,"getProjectThreads",()=>o.getProjectThreads,"getProjectVariables",()=>o.getProjectVariables,"getProjectWithRepos",()=>o.getProjectWithRepos,"getProjectWorkspace",()=>o.getProjectWorkspace,"getProjectWorkspaceEntries",()=>o.getProjectWorkspaceEntries,"getProjects",()=>o.getProjects,"getStagePrompt",()=>s.getStagePrompt,"getStagePrompts",()=>s.getStagePrompts,"getTask",()=>n.getTask,"getTaskBySlug",()=>n.getTaskBySlug,"getTaskComments",()=>d.getTaskComments,"getTaskCostEntries",()=>l.getTaskCostEntries,"getTaskCostSummary",()=>l.getTaskCostSummary,"getTaskLogs",()=>i.getTaskLogs,"getTasks",()=>n.getTasks,"getTeam",()=>g.getTeam,"getTeamAgents",()=>g.getTeamAgents,"getTeams",()=>g.getTeams,"getUserSettings",()=>a.getUserSettings,"getWorkflow",()=>s.getWorkflow,"getWorkflowNodeByName",()=>s.getWorkflowNodeByName,"getWorkflowNodes",()=>s.getWorkflowNodes,"getWorkflowTransitions",()=>s.getWorkflowTransitions,"getWorkflowTransitionsFromNode",()=>s.getWorkflowTransitionsFromNode,"getWorkflowWithGraph",()=>s.getWorkflowWithGraph,"getWorkflows",()=>s.getWorkflows,"getWorkspaceMapForContext",()=>o.getWorkspaceMapForContext,"isMissingRelationError",()=>r.isMissingRelationError,"normalizeDependsOnInput",()=>r.normalizeDependsOnInput,"parseDependsOnValue",()=>r.parseDependsOnValue,"parseFrontmatter",()=>r.parseFrontmatter,"removeProjectAgent",()=>o.removeProjectAgent,"removeProjectSkill",()=>o.removeProjectSkill,"removeProjectThread",()=>o.removeProjectThread,"removeTeamAgent",()=>g.removeTeamAgent,"reorderProjectAgents",()=>o.reorderProjectAgents,"resolveMemory",()=>p.resolveMemory,"resolveSkills",()=>p.resolveSkills,"resolveTaskConfig",()=>r.resolveTaskConfig,"resolveVariables",()=>p.resolveVariables,"setAgentSkills",()=>u.setAgentSkills,"setProjectVariable",()=>o.setProjectVariable,"slugify",()=>r.slugify,"summarizeTaskCosts",()=>l.summarizeTaskCosts,"updateAgent",()=>u.updateAgent,"updateProject",()=>o.updateProject,"updateTask",()=>n.updateTask,"updateTeam",()=>g.updateTeam,"updateWorkflow",()=>s.updateWorkflow,"updateWorkflowNodes",()=>s.updateWorkflowNodes,"updateWorkspaceEntry",()=>o.updateWorkspaceEntry,"upsertStagePrompt",()=>s.upsertStagePrompt,"upsertUserSettings",()=>a.upsertUserSettings,"validateIdentifierPrefix",()=>t.validateIdentifierPrefix],41222),e.i(41222),e.s(["DEFAULT_WORKFLOW_ID",()=>s.DEFAULT_WORKFLOW_ID,"IDENTIFIER_PREFIX_REGEX",()=>t.IDENTIFIER_PREFIX_REGEX,"addLearning",()=>c.addLearning,"addProjectAgent",()=>o.addProjectAgent,"addProjectMemory",()=>o.addProjectMemory,"addProjectSkill",()=>o.addProjectSkill,"addProjectThread",()=>o.addProjectThread,"addTaskComment",()=>d.addTaskComment,"addTaskCostEntry",()=>l.addTaskCostEntry,"addTaskLog",()=>i.addTaskLog,"addTeamAgent",()=>g.addTeamAgent,"appendRunToIndex",()=>n.appendRunToIndex,"assignOrphanTasksToProject",()=>o.assignOrphanTasksToProject,"buildExecutionProvenance",()=>p.buildExecutionProvenance,"createAgent",()=>u.createAgent,"createProject",()=>o.createProject,"createTask",()=>n.createTask,"createTeam",()=>g.createTeam,"createWorkspaceEntry",()=>o.createWorkspaceEntry,"defaultStagePrompts",()=>s.defaultStagePrompts,"deleteAgent",()=>u.deleteAgent,"deleteLearning",()=>c.deleteLearning,"deleteProject",()=>o.deleteProject,"deleteProjectMemory",()=>o.deleteProjectMemory,"deleteProjectVariable",()=>o.deleteProjectVariable,"deleteStagePrompt",()=>s.deleteStagePrompt,"deleteTask",()=>n.deleteTask,"deleteTaskComment",()=>d.deleteTaskComment,"deleteTeam",()=>g.deleteTeam,"deleteWorkspaceEntry",()=>o.deleteWorkspaceEntry,"ensureNoCircularDependency",()=>r.ensureNoCircularDependency,"extractTitle",()=>r.extractTitle,"generateUniqueProjectSlug",()=>r.generateUniqueProjectSlug,"generateUniqueSlug",()=>r.generateUniqueSlug,"getAgent",()=>u.getAgent,"getAgentSkills",()=>u.getAgentSkills,"getAgents",()=>u.getAgents,"getDbClient",()=>r.getDbClient,"getDefaultWorkflowId",()=>s.getDefaultWorkflowId,"getLearnings",()=>c.getLearnings,"getNextQueuedTask",()=>n.getNextQueuedTask,"getProjectAgents",()=>o.getProjectAgents,"getProjectBySlug",()=>o.getProjectBySlug,"getProjectForThread",()=>o.getProjectForThread,"getProjectMemory",()=>o.getProjectMemory,"getProjectRepos",()=>o.getProjectRepos,"getProjectSkills",()=>o.getProjectSkills,"getProjectThreads",()=>o.getProjectThreads,"getProjectVariables",()=>o.getProjectVariables,"getProjectWithRepos",()=>o.getProjectWithRepos,"getProjectWorkspace",()=>o.getProjectWorkspace,"getProjectWorkspaceEntries",()=>o.getProjectWorkspaceEntries,"getProjects",()=>o.getProjects,"getStagePrompt",()=>s.getStagePrompt,"getStagePrompts",()=>s.getStagePrompts,"getTask",()=>n.getTask,"getTaskBySlug",()=>n.getTaskBySlug,"getTaskComments",()=>d.getTaskComments,"getTaskCostEntries",()=>l.getTaskCostEntries,"getTaskCostSummary",()=>l.getTaskCostSummary,"getTaskLogs",()=>i.getTaskLogs,"getTasks",()=>n.getTasks,"getTeam",()=>g.getTeam,"getTeamAgents",()=>g.getTeamAgents,"getTeams",()=>g.getTeams,"getUserSettings",()=>a.getUserSettings,"getWorkflow",()=>s.getWorkflow,"getWorkflowNodeByName",()=>s.getWorkflowNodeByName,"getWorkflowNodes",()=>s.getWorkflowNodes,"getWorkflowTransitions",()=>s.getWorkflowTransitions,"getWorkflowTransitionsFromNode",()=>s.getWorkflowTransitionsFromNode,"getWorkflowWithGraph",()=>s.getWorkflowWithGraph,"getWorkflows",()=>s.getWorkflows,"getWorkspaceMapForContext",()=>o.getWorkspaceMapForContext,"isMissingRelationError",()=>r.isMissingRelationError,"normalizeDependsOnInput",()=>r.normalizeDependsOnInput,"parseDependsOnValue",()=>r.parseDependsOnValue,"parseFrontmatter",()=>r.parseFrontmatter,"removeProjectAgent",()=>o.removeProjectAgent,"removeProjectSkill",()=>o.removeProjectSkill,"removeProjectThread",()=>o.removeProjectThread,"removeTeamAgent",()=>g.removeTeamAgent,"reorderProjectAgents",()=>o.reorderProjectAgents,"resolveMemory",()=>p.resolveMemory,"resolveSkills",()=>p.resolveSkills,"resolveTaskConfig",()=>r.resolveTaskConfig,"resolveVariables",()=>p.resolveVariables,"setAgentSkills",()=>u.setAgentSkills,"setProjectVariable",()=>o.setProjectVariable,"slugify",()=>r.slugify,"summarizeTaskCosts",()=>l.summarizeTaskCosts,"updateAgent",()=>u.updateAgent,"updateProject",()=>o.updateProject,"updateTask",()=>n.updateTask,"updateTeam",()=>g.updateTeam,"updateWorkflow",()=>s.updateWorkflow,"updateWorkflowNodes",()=>s.updateWorkflowNodes,"updateWorkspaceEntry",()=>o.updateWorkspaceEntry,"upsertStagePrompt",()=>s.upsertStagePrompt,"upsertUserSettings",()=>a.upsertUserSettings,"validateIdentifierPrefix",()=>t.validateIdentifierPrefix],846888)},848159,155798,e=>{"use strict";e.s(["ensureOrchestratorRuntime",()=>P],848159);var t=e.i(565248),r=e.i(937144),a=e.i(348530),n=e.i(471206),o=e.i(533655),s=e.i(593238),i=e.i(94042);e.i(650837);var l=e.i(640911),d=e.i(902157),c=e.i(750227),u=e.i(660526);let g=new Set(["running","working"]),p=`Review the thread, assess whether the work is complete enough to move into review, and if not, produce one concise steering message that combines:
99
99
  1. what has been accomplished vs. what remains
100
100
  2. the concrete next steps needed to move toward shipping`,m=`You MUST respond with ONLY a JSON object, no markdown fences, no extra text:
101
101
  {"isDone": true/false, "message": "your assessment"}
@@ -1,3 +1,3 @@
1
- module.exports=[404258,e=>{"use strict";function t(e){let t=e?.trim();return t?t.replace(/\/+$/,""):null}let r="http://localhost:41741";function a(){return t(process.env.NEXT_PUBLIC_APP_URL)??t(process.env.AGX_BOARD_URL)??t(process.env.NEXT_PUBLIC_AGX_BOARD_URL)??r}function s(){return t(process.env.AGX_BOARD_URL)??t(process.env.NEXT_PUBLIC_AGX_BOARD_URL)??t(process.env.NEXT_PUBLIC_APP_URL)??r}function i(){let e=new Set([r,"http://127.0.0.1:41741"]);for(let r of[process.env.NEXT_PUBLIC_APP_URL,process.env.AGX_BOARD_URL,process.env.NEXT_PUBLIC_AGX_BOARD_URL]){let a=t(r);a&&e.add(a)}return Array.from(e)}e.s(["getAllowedOrigins",()=>i,"getConfiguredAppBaseUrl",()=>a,"getConfiguredBoardBaseUrl",()=>s])},323218,e=>{"use strict";var t=e.i(254799),r=e.i(173426),a=e.i(779429),s=e.i(689303),i=e.i(33878),o=e.i(488877),n=e.i(582743);e.i(426491);var l=e.i(515140),d=e.i(448643),u=e.i(863014),p=e.i(38193);async function c(e){let t=(0,r.createAdminDbClient)(),{data:a,error:s}=await t.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(s){let e="string"==typeof s.message?s.message:"";if("42P01"===s.code||"PGRST205"===s.code||e.includes('relation "task_comments" does not exist')||e.includes("Could not find the table 'agx.task_comments'")||e.includes("Could not find the table 'public.task_comments'"))return[];throw s}return a||[]}async function g(e){let t=(0,r.createAdminDbClient)(),a=e.user_id,s=t.from("learnings").select("*").eq("scope","task").eq("scope_id",e.id);a&&s.eq("user_id",a);let[{data:i,error:n}]=await Promise.all([s]);if(n)throw n;return{task:i||[],project:[],global:o.vaultStore.getLearnings("global")||[]}}async function m(e){let t,a=e.stage;if(!a)return{prompt:null};let s=(0,r.createAdminDbClient)(),i=(t=e.workflow_id)&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t)?e.workflow_id:"";if(!i&&e.project_id)try{let t=await (0,u.getProjectWithRepos)(e.project_id,e.user_id);t?.workflow_id&&(i=t.workflow_id)}catch{}i||(i=p.DEFAULT_WORKFLOW_ID);try{let{data:e,error:t}=await s.from("workflow_nodes").select("*").eq("workflow_id",i).eq("name",a).maybeSingle();if(!t&&e){let t=e.metadata&&"object"==typeof e.metadata?e.metadata:{},r="boolean"==typeof t.swarm&&t.swarm,a=Array.isArray(t.swarm_models)?t.swarm_models:void 0;if(e.prompt)return{prompt:e.prompt,swarm:r,provider:e.provider||void 0,model:e.model||void 0,swarm_models:a};return{prompt:null,swarm:r,provider:e.provider||void 0,model:e.model||void 0,swarm_models:a}}}catch{}try{let t=[];t.push(s.from("stage_prompts").select("*").eq("stage",a).eq("is_default",!0).eq("workflow_id",i).maybeSingle()),e.user_id&&t.push(s.from("stage_prompts").select("*").eq("stage",a).eq("user_id",e.user_id).eq("workflow_id",i).maybeSingle());let r=await Promise.all(t),o=r[0]?.data||null,n=e.user_id?r[1]?.data:null,l=n?.prompt||o?.prompt||null;if(l)return{prompt:l,swarm:n?.swarm??o?.swarm??!1,provider:n?.provider||o?.provider,model:n?.model||o?.model,swarm_models:n?.swarm_models||o?.swarm_models}}catch{}let o=p.defaultStagePrompts[a];return o?.prompt?{prompt:o.prompt,swarm:o.swarm??!1,provider:o.provider,model:o.model,swarm_models:o.swarm_models}:{prompt:null}}async function f(e,t){let r=e.project_id,a=e.project||void 0,o=null;if(r&&(o=await (0,u.getProjectWithRepos)(r,e.user_id)),!o&&a){let t=await (0,u.getProjectBySlug)(a,e.user_id);if(t){let e=await (0,u.getProjectRepos)(t.id);o={...t,repos:e}}}if(!o)return null;let n=await (0,u.getProjectMemory)(o.id,"human"),l=(0,i.getKnowledgeNote)("project",o.id);if(o.repos.length>0){let e=(0,s.listResolvedRepoKnowledge)(o.repos),t=new Map;for(let r of e){if(!r.repoId)continue;let e="system"===r.producer?`[System-generated] ${r.content}`:r.content,a=t.get(r.repoId)??[];a.push(e),t.set(r.repoId,a)}o={...o,repos:o.repos.map(e=>({...e,notes:t.has(e.id)?t.get(e.id).join("\n\n"):e.notes}))}}return{project:o,repos:o.repos??[],learnings:[...n.map(e=>e.content),...l?.content?[`[System-generated] ${l.content}`]:[]]}}async function _(e){let r,[s,i,o,u]=await Promise.all([c(e.id),g(e),m(e),e.user_id?(0,d.getUserSettings)(e.user_id):Promise.resolve(null)]),p=await f(e,i.project),{frontmatter:_}=(0,l.parseFrontmatter)(e.content),h=(0,n.resolveMemoryAgentId)({defaultUserId:e.user_id||"system",frontmatter:_}),v=_.no_memory?[]:function(e,t=5){try{return(0,a.getSQLiteDb)().prepare("SELECT content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT ?").all(e,t).map(e=>e.content)}catch{return[]}}(h),w=(r=JSON.stringify(s.map(e=>({id:e.id,task_id:e.task_id,author_type:e.author_type||null,author_id:e.author_id||null,content:e.content||"",created_at:e.created_at||null}))),(0,t.createHash)("sha256").update(r).digest("hex")),y="string"==typeof e.stage&&e.stage.trim()?e.stage.trim():"",R=o.prompt??null,k={};if(R&&y){k[y]=R;let e=y.toLowerCase();k[e]||(k[e]=R)}let A=R&&y?[{stage:y,prompt:R}]:[];return{comments:s,learnings:i,agent_memories:v,stage_config:o,stage_prompt:R,stage_prompts:k,stage_objective:R,stageObjective:R,stagePrompts:A,project_context:p,comments_digest:w,user_settings:u}}e.s(["buildTaskContext",()=>_])},828032,e=>{"use strict";e.i(254799);var t=e.i(404258),r=e.i(173426);e.i(650837);var a=e.i(640911);let s=[/rm\s+(-rf?|--recursive)\s+[\/~]/i,/rm\s+-rf?\s+\*/i,/chmod\s+(777|a\+rwx)/i,/chown\s+.*\s+\//i,/>\s*\/dev\/sd[a-z]/i,/\.env/i,/credentials?\.json/i,/api[_-]?key/i,/secret[_-]?key/i,/private[_-]?key/i,/password/i,/curl.*\|\s*(ba)?sh/i,/wget.*\|\s*(ba)?sh/i,/nc\s+-l/i,/socat/i,/sudo\s+/i,/su\s+-/i,/mkfs\./i,/dd\s+if=/i,/eval\s*\(/i,/exec\s*\(/i,/child_process/i,/__import__/i,/base64.*>/i,/xxd/i,/tar.*-c.*\|.*curl/i];function i(e){let t=[];for(let r of s)r.test(e)&&t.push(r.source);let r="low";return/rm\s+(-rf?|--recursive)\s*[\/~\*]|sudo\s+|mkfs\.|dd\s+if=/i.test(e)?r="critical":/curl.*\|\s*(ba)?sh|wget.*\|\s*(ba)?sh|chmod\s+(777|a\+rwx)|\.env\b/i.test(e)?r="high":/password|api[_-]?key|secret[_-]?key|private[_-]?key|credentials?\.json/i.test(e)&&(r="medium"),{isDangerous:t.length>0,patterns:t,severity:r}}async function o(e){let t=(0,r.createAdminDbClient)(),{data:s,error:i}=await t.from("task_audit_log").insert({user_id:e.user_id,task_id:e.task_id,action:e.action,payload:e.payload,signature:e.signature,ip_address:e.ip_address,user_agent:e.user_agent,result:e.result||"pending"}).select("id").single();if(i)throw a.logger.error("Failed to write audit log",a.logger.formatError(i)),Error("Audit log write failed");return s.id}let n=["https://agx-cloud.vercel.app",...(0,t.getAllowedOrigins)()];function l(e){return!!e&&n.includes(e)}async function d(e){if(!e?.startsWith("Bearer "))return{valid:!1};let t=e.slice(7),a=(0,r.createAdminDbClient)(),{data:{user:s},error:i}=await a.auth.getUser(t);return i||!s?{valid:!1}:{valid:!0,userId:s.id}}e.s(["detectDangerousOperations",()=>i,"isValidOrigin",()=>l,"validateBearerToken",()=>d,"writeAuditLog",()=>o])},703329,550201,e=>{"use strict";function t(e,t){if(void 0===e)return t;let r=e.trim().toLowerCase();return"1"===r||"true"===r||"yes"===r||"on"===r||"0"!==r&&"false"!==r&&"no"!==r&&"off"!==r&&t}function r(){return t(process.env.AGX_GRAPH_DUAL_WRITE,!0)}function a(){return t(process.env.AGX_GRAPH_PARITY_LOGGING,!0)}function s(){return!t(process.env.AGX_GRAPH_READ_PATH_KILL_SWITCH,!1)&&"v2"===(process.env.AGX_GRAPH_READ_PATH_MODE||"v1").trim().toLowerCase()}e.s(["isDualWriteEnabled",()=>r,"isParityLoggingEnabled",()=>a,"isV2ReadPathEnabled",()=>s],550201);let i=new Set(["done","passed","failed","skipped"]),o=new Set(["running","awaiting_human","blocked"]),n=new Set(["done","passed","skipped"]);function l(e,t){let r=String(e||"").trim().toUpperCase();return"INTAKE"===r||"PROGRESS"===r||"DONE"===r?r:t}function d(e){let t,r=Object.values(e.nodes);if(0===r.length)return"queued";let a=r.filter(e=>"gate"===e.type&&e.required).every(e=>"passed"===e.status||"skipped"===e.status);return 0!==(t=e.doneCriteria?.completionSinkNodeIds??[]).length&&t.every(t=>{let r=e.nodes[t];return!!(r&&n.has(r.status))})&&a||r.every(e=>i.has(e.status))&&a?"completed":r.some(e=>"failed"===e.status)?"failed":r.some(e=>"blocked"===e.status)?"blocked":r.some(e=>o.has(e.status))||r.filter(e=>"done"===e.status||"passed"===e.status).length>0?"in_progress":"queued"}function u(e,t="INTAKE"){let r,a,s=d(e),o="completed"===(r=d(e))?"DONE":"in_progress"===r||"blocked"===r||"failed"===r?"PROGRESS":t,n="completed"===s?100:0===(a=Object.values(e.nodes)).length?0:Math.max(0,Math.min(100,Math.round(a.filter(e=>i.has(e.status)).length/a.length*100)));return{status:s,stage:o,progressPercent:n}}function p(e){var t;let r,s,i,o,n,d=(t={taskId:e.task.id,source:e.source,legacy:{status:e.task.status,stage:e.task.stage,progressPercent:e.legacyProgressPercent??null},v2:u(e.graph,l(e.task.stage||"INTAKE","INTAKE"))},s=[],i="queued"===(r=String(t.legacy.status||"").trim().toLowerCase())||"in_progress"===r||"blocked"===r||"completed"===r||"failed"===r?r:"queued",o=l(t.legacy.stage,"INTAKE"),n=Number.isFinite(Number(t.legacy.progressPercent))?Number(t.legacy.progressPercent):null,(i!==t.v2.status&&s.push({field:"status",legacy:i,v2:t.v2.status}),o!==t.v2.stage&&s.push({field:"stage",legacy:o,v2:t.v2.stage}),null!==n&&n!==t.v2.progressPercent&&s.push({field:"progressPercent",legacy:n,v2:t.v2.progressPercent}),0===s.length)?null:{taskId:t.taskId,source:t.source,diffs:s});return d&&a()&&console.warn("[graph-parity-diff]",JSON.stringify(d)),d}e.s(["logParityDiff",()=>p,"projectLegacyCompatFromGraph",()=>u],703329)},574749,e=>{"use strict";e.i(426491);var t=e.i(515140),r=e.i(550201),a=e.i(703329),s=e.i(951336);function i(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function o(e){if(i(e.depends_on).length||"string"!=typeof e?.content)return e;let{frontmatter:r}=(0,t.parseFrontmatter)(e.content||""),a=i(r.depends_on);return a.length?{...e,depends_on:a}:e}function n(e){return"blocked"!==e.status||e.blocked_reason||e.stage&&"intake"!==e.stage.toLowerCase()?e.blocked_reason:"Awaiting approval"}async function l(e){if(!(0,r.isV2ReadPathEnabled)())return{...o(e),blocked_reason:n(e),read_path_source:"v1"};try{let t=await (0,s.getGraph)(e.id);if(!t)return{...o(e),read_path_source:"v1"};let r=(0,a.projectLegacyCompatFromGraph)(t,e.stage||"INTAKE"),i="queued"===r.status&&e.status&&"queued"!==e.status?e.status:r.status,l="completed"===i?"DONE":r.stage;(0,a.logParityDiff)({source:"read_path",task:e,graph:t});let d={...o(e),status:i,stage:l};return{...d,blocked_reason:n(d),read_path_source:"v2"}}catch(t){return console.error("Failed to project task from v2 graph; using v1 compatibility mode",t),{...o(e),read_path_source:"v1"}}}async function d(e){return Promise.all(e.map(e=>l(e)))}e.s(["projectTaskReadModel",()=>l,"projectTaskReadModels",()=>d])},20275,e=>{"use strict";var t=e.i(254799),r=e.i(466713);let a=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,s=/^#\s+(.+?)(?:\r?\n|$)/;function i(e){return"string"==typeof e?e.trim():""}function o(e,t){let r=i(t),o=i(e);if(!o)return r;let n=o.replace(a,"").trim();if(!n)return r;let l=n.match(s);if(!l)return n;let d=n.slice(l[0].length).trim();return d||l[1].trim()||r}let n={...r.DEFAULT_EXECUTION_POLICY,replanBudgetInitial:3,replanBudgetRemaining:3,verifyBudgetInitial:5,verifyBudgetRemaining:5,maxConcurrentAutoChecks:1,maxConcurrent:1,priorityMode:"fifo"};function l(e,r){let a=new Date().toISOString(),s={type:"root",status:"pending",deps:[],title:e.title||"Untitled task",objective:function(e){let t=i(e.description);if(t)return o(t,e.title);let r=i(e.content);if(r)return o(r,e.title);let a=i(e.objective);return a?o(a,e.title):i(e.title)}(e),graphCreated:!1,criteria:[]};return{id:r?.graphId??(0,t.randomUUID)(),taskId:e.id,graphVersion:1,mode:"SIMPLE",nodes:{root:s,plan:{type:"work",status:"pending",deps:["root"],title:"Generate execution plan",description:"Analyze the task and generate a detailed execution graph with work nodes, gates, and dependencies.",attempts:0,maxAttempts:2,retryPolicy:{backoffMs:5e3,onExhaust:"escalate"}},"plan-approval":{type:"gate",status:"pending",gateType:"approval_gate",required:!0,deps:["plan"],verificationStrategy:{type:"human"}}},edges:[{from:"root",to:"plan",type:"hard",condition:"always"},{from:"plan",to:"plan-approval",type:"hard",condition:"always"}],policy:{...n},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0,completionSinkNodeIds:["plan-approval"]},versionHistory:[],runtimeEvents:[],createdAt:a,updatedAt:a}}e.s(["createRootOnlyGraph",()=>l],20275)},533986,e=>{"use strict";var t=e.i(692988),r=e.i(635595),a=e.i(75473),s=e.i(923435),i=e.i(418475),o=e.i(303482),n=e.i(976287),l=e.i(774462),d=e.i(111998),u=e.i(201516),p=e.i(68877),c=e.i(259460),g=e.i(257714),m=e.i(502073),f=e.i(187345),_=e.i(193695);e.i(293777);var h=e.i(274321),v=e.i(732470),w=e.i(764541);e.i(426491);var y=e.i(515140),R=e.i(173426),k=e.i(744071),A=e.i(828032),b=e.i(323218),E=e.i(353476),P=e.i(550201),C=e.i(20275),T=e.i(703329),S=e.i(951336),I=e.i(627013);async function O(e){if(!(0,P.isDualWriteEnabled)())return{enabled:!1,result:"disabled"};try{let t=await (0,S.getGraph)(e.id);if(t)return(0,T.logParityDiff)({source:"task_create_dual_write",task:e,graph:t}),{enabled:!0,result:"existing",graphId:t.id};let r=(0,C.createRootOnlyGraph)({id:e.id,title:e.title||void 0,description:e.description||void 0,content:e.content||void 0}),a=(0,I.validateGraph)(r);if(!a.valid)return{enabled:!0,result:"failed",error:`validateGraph failed: ${JSON.stringify(a.errors)}`};let s=await (0,S.createGraph)(r);return(0,T.logParityDiff)({source:"task_create_dual_write",task:e,graph:s}),{enabled:!0,result:"created",graphId:s.id}}catch(t){if(t instanceof S.GraphTaskAlreadyBoundError){let r=await (0,S.getGraph)(e.id);return r&&(0,T.logParityDiff)({source:"task_create_dual_write",task:e,graph:r}),{enabled:!0,result:"existing",graphId:t.existingGraphId}}return{enabled:!0,result:"failed",error:t instanceof Error?t.message:String(t)}}}var x=e.i(574749);e.i(650837);var j=e.i(640911);async function N(e){try{let t=k.LOCAL_USER.id,{searchParams:r}=new URL(e.url),a=r.get("project")||void 0,s="1"===r.get("orphan"),i=r.get("status"),o=r.get("slug"),n=r.get("search")||void 0;if(o){let e=await w.db.getTaskBySlug(o,t);if(!e)return v.NextResponse.json({error:"Task not found"},{status:404});let r=await (0,x.projectTaskReadModel)(e),a=await (0,b.buildTaskContext)(e),s=(0,y.resolveTaskConfig)(e,a.stage_config,a.user_settings),i={...r,...a,resolved_provider:s.provider,resolved_model:s.model??void 0,resolved_swarm:s.swarm,resolved_swarm_models:s.swarm_models};return v.NextResponse.json({task:i,stage_prompt:i.stage_prompt,stage_prompts:i.stage_prompts,stage_objective:i.stage_objective,stageObjective:i.stageObjective,stagePrompts:i.stagePrompts})}let l=await w.db.getTasks(t,{project:a,status:i||void 0,search:n,orphan:s}),d=await (0,x.projectTaskReadModels)(l);return v.NextResponse.json({tasks:d})}catch(e){return j.logger.error("Error fetching tasks",j.logger.formatError(e)),v.NextResponse.json({error:"Failed to fetch tasks"},{status:500})}}async function D(e){try{let t=k.LOCAL_USER.id,r=await e.json(),{content:a,swarm_models:s,project_id:i,title:o}=r,n=Array.isArray(r?.depends_on)?r.depends_on:"string"==typeof r?.depends_on?[r.depends_on]:void 0;if(!a)return v.NextResponse.json({error:"Content is required"},{status:400});let l=(0,A.detectDangerousOperations)(a);if(l.isDangerous&&"critical"===l.severity)return v.NextResponse.json({error:"Task contains potentially dangerous operations",dangerous:!0,severity:l.severity,patterns:l.patterns,message:"This task has been blocked. Please review and remove dangerous commands."},{status:400});let d=await w.db.createTask(a,t,{swarmModels:s,dependsOn:n,projectId:"string"==typeof i?i:void 0,title:"string"==typeof o?o:void 0});await (0,E.attemptStartTask)(d.id,t);let u=await w.db.getTask(d.id,t)||d,p=await O(u);if("failed"===p.result&&j.logger.error("Task dual-write graph creation failed",{taskId:u.id,error:p.error}),p.graphId){let e=(0,R.createAdminDbClient)();await e.from("tasks").update({graph_id:p.graphId}).eq("id",u.id),u.graph_id=p.graphId}let c=await (0,b.buildTaskContext)(u),{comments_digest:g,stage_config:m}=c,f=(0,y.resolveTaskConfig)(u,m,c.user_settings),_=e.headers.get("x-forwarded-for")?.split(",")[0].trim()||e.headers.get("x-real-ip")||void 0,h=e.headers.get("user-agent")||void 0;await (0,A.writeAuditLog)({user_id:t,task_id:u.id,action:"dispatch",payload:{title:u.title,stage:u.stage,engine:u.engine,provider:f.provider,model:f.model??void 0,swarm:f.swarm,swarm_models:f.swarm_models,project:u.project,dangerous:l.isDangerous?{severity:l.severity,patterns:l.patterns}:null},signature:"unsigned",ip_address:_,user_agent:h,result:"pending"});let P={...u,...c,resolved_provider:f.provider,resolved_model:f.model??void 0,resolved_swarm:f.swarm,resolved_swarm_models:f.swarm_models},C={id:u.id,task:P,stage_prompt:P.stage_prompt,stage_prompts:P.stage_prompts,stage_objective:P.stage_objective,stageObjective:P.stageObjective,stagePrompts:P.stagePrompts,graph_dual_write:p};return l.isDangerous&&(C.warning={message:"Task contains potentially dangerous operations. Daemon may prompt for confirmation.",severity:l.severity,patterns:l.patterns}),v.NextResponse.json(C,{status:201})}catch(e){return j.logger.error("Error creating task",j.logger.formatError(e)),v.NextResponse.json({error:"Failed to create task"},{status:500})}}e.s(["GET",()=>N,"POST",()=>D],241235);var L=e.i(241235);let U=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/route",pathname:"/api/tasks",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/tasks/route.ts",nextConfigOutput:"standalone",userland:L}),{workAsyncStorage:G,workUnitAsyncStorage:q,serverHooks:B}=U;function M(){return(0,a.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:q})}async function H(e,t,a){U.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/tasks/route";v=v.replace(/\/index$/,"")||"/";let w=await U.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:R,nextConfig:k,parsedUrl:A,isDraftMode:b,prerenderManifest:E,routerServerContext:P,isOnDemandRevalidate:C,revalidateOnlyGenerated:T,resolvedPathname:S,clientReferenceManifest:I,serverActionsManifest:O}=w,x=(0,n.normalizeAppPath)(v),j=!!(E.dynamicRoutes[x]||E.routes[S]),N=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,A,!1):t.end("This page could not be found"),null);if(j&&!b){let e=!!E.routes[S],t=E.dynamicRoutes[x];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await N();throw new _.NoFallbackError}}let D=null;!j||U.isDev||b||(D="/index"===(D=S)?"/":D);let L=!0===U.isDev||!j,G=j&&!L;O&&I&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:I,serverActionsManifest:O});let q=e.method||"GET",B=(0,i.getTracer)(),M=B.getActiveScopeSpan(),H={params:R,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>U.onRequestError(e,t,a,s,P)},sharedContext:{buildId:y}},F=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(F,(0,d.signalFromNodeResponse)(t));try{let o=async e=>U.handle(K,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${q} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${v}`)}),n=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var i,l;let d=async({previousCacheEntry:r})=>{try{if(!n&&C&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(s);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=H.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(F,X,i,H.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await U.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:G,isOnDemandRevalidate:C})},!1,P),t}},u=await U.handleResponse({req:e,nextConfig:k,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:n});if(!j)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});n||t.setHeader("x-nextjs-cache",C?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let _=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return n&&j||_.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||_.get("Cache-Control")||_.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(F,X,new Response(u.value.body,{headers:_,status:u.value.status||200})),null};M?await l(M):await B.withPropagatedContext(e.headers,()=>B.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},l))}catch(t){if(t instanceof _.NoFallbackError||await U.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:G,isOnDemandRevalidate:C})},!1,P),j)throw t;return await (0,c.sendResponse)(F,X,new Response(null,{status:500})),null}}e.s(["handler",()=>H,"patchFetch",()=>M,"routeModule",()=>U,"serverHooks",()=>B,"workAsyncStorage",()=>G,"workUnitAsyncStorage",()=>q],533986)}];
1
+ module.exports=[404258,e=>{"use strict";function t(e){let t=e?.trim();return t?t.replace(/\/+$/,""):null}let r="http://localhost:41741";function a(){return t(process.env.NEXT_PUBLIC_APP_URL)??t(process.env.AGX_BOARD_URL)??t(process.env.NEXT_PUBLIC_AGX_BOARD_URL)??r}function s(){return t(process.env.AGX_BOARD_URL)??t(process.env.NEXT_PUBLIC_AGX_BOARD_URL)??t(process.env.NEXT_PUBLIC_APP_URL)??r}function i(){let e=new Set([r,"http://127.0.0.1:41741"]);for(let r of[process.env.NEXT_PUBLIC_APP_URL,process.env.AGX_BOARD_URL,process.env.NEXT_PUBLIC_AGX_BOARD_URL]){let a=t(r);a&&e.add(a)}return Array.from(e)}e.s(["getAllowedOrigins",()=>i,"getConfiguredAppBaseUrl",()=>a,"getConfiguredBoardBaseUrl",()=>s])},323218,e=>{"use strict";var t=e.i(254799),r=e.i(173426),a=e.i(779429),s=e.i(689303),i=e.i(33878),o=e.i(488877),n=e.i(582743);e.i(426491);var l=e.i(515140),d=e.i(448643),u=e.i(863014),p=e.i(38193);async function c(e){let t=(0,r.createAdminDbClient)(),{data:a,error:s}=await t.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(s){let e="string"==typeof s.message?s.message:"";if("42P01"===s.code||"PGRST205"===s.code||e.includes('relation "task_comments" does not exist')||e.includes("Could not find the table 'agx.task_comments'")||e.includes("Could not find the table 'public.task_comments'"))return[];throw s}return a||[]}async function g(e){let t=(0,r.createAdminDbClient)(),a=e.user_id,s=t.from("learnings").select("*").eq("scope","task").eq("scope_id",e.id);a&&s.eq("user_id",a);let[{data:i,error:n}]=await Promise.all([s]);if(n)throw n;return{task:i||[],project:[],global:o.vaultStore.getLearnings("global")||[]}}async function m(e){let t,a=e.stage;if(!a)return{prompt:null};let s=(0,r.createAdminDbClient)(),i=(t=e.workflow_id)&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t)?e.workflow_id:"";if(!i&&e.project_id)try{let t=await (0,u.getProjectWithRepos)(e.project_id,e.user_id);t?.workflow_id&&(i=t.workflow_id)}catch{}i||(i=p.DEFAULT_WORKFLOW_ID);try{let{data:e,error:t}=await s.from("workflow_nodes").select("*").eq("workflow_id",i).eq("name",a).maybeSingle();if(!t&&e){let t=e.metadata&&"object"==typeof e.metadata?e.metadata:{},r="boolean"==typeof t.swarm&&t.swarm,a=Array.isArray(t.swarm_models)?t.swarm_models:void 0;if(e.prompt)return{prompt:e.prompt,swarm:r,provider:e.provider||void 0,model:e.model||void 0,swarm_models:a};return{prompt:null,swarm:r,provider:e.provider||void 0,model:e.model||void 0,swarm_models:a}}}catch{}try{let t=[];t.push(s.from("stage_prompts").select("*").eq("stage",a).eq("is_default",!0).eq("workflow_id",i).maybeSingle()),e.user_id&&t.push(s.from("stage_prompts").select("*").eq("stage",a).eq("user_id",e.user_id).eq("workflow_id",i).maybeSingle());let r=await Promise.all(t),o=r[0]?.data||null,n=e.user_id?r[1]?.data:null,l=n?.prompt||o?.prompt||null;if(l)return{prompt:l,swarm:n?.swarm??o?.swarm??!1,provider:n?.provider||o?.provider,model:n?.model||o?.model,swarm_models:n?.swarm_models||o?.swarm_models}}catch{}let o=p.defaultStagePrompts[a];return o?.prompt?{prompt:o.prompt,swarm:o.swarm??!1,provider:o.provider,model:o.model,swarm_models:o.swarm_models}:{prompt:null}}async function f(e,t){let r=e.project_id,a=e.project||void 0,o=null;if(r&&(o=await (0,u.getProjectWithRepos)(r,e.user_id)),!o&&a){let t=await (0,u.getProjectBySlug)(a,e.user_id);if(t){let e=await (0,u.getProjectRepos)(t.id);o={...t,repos:e}}}if(!o)return null;let[n,l]=await Promise.all([(0,u.getProjectMemory)(o.id,"human"),(0,u.getWorkspaceMapForContext)(o.id)]),d=(0,i.getKnowledgeNote)("project",o.id);if(o.repos.length>0){let e=(0,s.listResolvedRepoKnowledge)(o.repos),t=new Map;for(let r of e){if(!r.repoId)continue;let e="system"===r.producer?`[System-generated] ${r.content}`:r.content,a=t.get(r.repoId)??[];a.push(e),t.set(r.repoId,a)}o={...o,repos:o.repos.map(e=>({...e,notes:t.has(e.id)?t.get(e.id).join("\n\n"):e.notes}))}}return{project:o,repos:o.repos??[],workspace_map:l,learnings:[...n.map(e=>e.content),...d?.content?[`[System-generated] ${d.content}`]:[]]}}async function _(e){let r,[s,i,o,u]=await Promise.all([c(e.id),g(e),m(e),e.user_id?(0,d.getUserSettings)(e.user_id):Promise.resolve(null)]),p=await f(e,i.project),{frontmatter:_}=(0,l.parseFrontmatter)(e.content),h=(0,n.resolveMemoryAgentId)({defaultUserId:e.user_id||"system",frontmatter:_}),v=_.no_memory?[]:function(e,t=5){try{return(0,a.getSQLiteDb)().prepare("SELECT content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT ?").all(e,t).map(e=>e.content)}catch{return[]}}(h),w=(r=JSON.stringify(s.map(e=>({id:e.id,task_id:e.task_id,author_type:e.author_type||null,author_id:e.author_id||null,content:e.content||"",created_at:e.created_at||null}))),(0,t.createHash)("sha256").update(r).digest("hex")),y="string"==typeof e.stage&&e.stage.trim()?e.stage.trim():"",R=o.prompt??null,k={};if(R&&y){k[y]=R;let e=y.toLowerCase();k[e]||(k[e]=R)}let A=R&&y?[{stage:y,prompt:R}]:[];return{comments:s,learnings:i,agent_memories:v,stage_config:o,stage_prompt:R,stage_prompts:k,stage_objective:R,stageObjective:R,stagePrompts:A,project_context:p,comments_digest:w,user_settings:u}}e.s(["buildTaskContext",()=>_])},828032,e=>{"use strict";e.i(254799);var t=e.i(404258),r=e.i(173426);e.i(650837);var a=e.i(640911);let s=[/rm\s+(-rf?|--recursive)\s+[\/~]/i,/rm\s+-rf?\s+\*/i,/chmod\s+(777|a\+rwx)/i,/chown\s+.*\s+\//i,/>\s*\/dev\/sd[a-z]/i,/\.env/i,/credentials?\.json/i,/api[_-]?key/i,/secret[_-]?key/i,/private[_-]?key/i,/password/i,/curl.*\|\s*(ba)?sh/i,/wget.*\|\s*(ba)?sh/i,/nc\s+-l/i,/socat/i,/sudo\s+/i,/su\s+-/i,/mkfs\./i,/dd\s+if=/i,/eval\s*\(/i,/exec\s*\(/i,/child_process/i,/__import__/i,/base64.*>/i,/xxd/i,/tar.*-c.*\|.*curl/i];function i(e){let t=[];for(let r of s)r.test(e)&&t.push(r.source);let r="low";return/rm\s+(-rf?|--recursive)\s*[\/~\*]|sudo\s+|mkfs\.|dd\s+if=/i.test(e)?r="critical":/curl.*\|\s*(ba)?sh|wget.*\|\s*(ba)?sh|chmod\s+(777|a\+rwx)|\.env\b/i.test(e)?r="high":/password|api[_-]?key|secret[_-]?key|private[_-]?key|credentials?\.json/i.test(e)&&(r="medium"),{isDangerous:t.length>0,patterns:t,severity:r}}async function o(e){let t=(0,r.createAdminDbClient)(),{data:s,error:i}=await t.from("task_audit_log").insert({user_id:e.user_id,task_id:e.task_id,action:e.action,payload:e.payload,signature:e.signature,ip_address:e.ip_address,user_agent:e.user_agent,result:e.result||"pending"}).select("id").single();if(i)throw a.logger.error("Failed to write audit log",a.logger.formatError(i)),Error("Audit log write failed");return s.id}let n=["https://agx-cloud.vercel.app",...(0,t.getAllowedOrigins)()];function l(e){return!!e&&n.includes(e)}async function d(e){if(!e?.startsWith("Bearer "))return{valid:!1};let t=e.slice(7),a=(0,r.createAdminDbClient)(),{data:{user:s},error:i}=await a.auth.getUser(t);return i||!s?{valid:!1}:{valid:!0,userId:s.id}}e.s(["detectDangerousOperations",()=>i,"isValidOrigin",()=>l,"validateBearerToken",()=>d,"writeAuditLog",()=>o])},703329,550201,e=>{"use strict";function t(e,t){if(void 0===e)return t;let r=e.trim().toLowerCase();return"1"===r||"true"===r||"yes"===r||"on"===r||"0"!==r&&"false"!==r&&"no"!==r&&"off"!==r&&t}function r(){return t(process.env.AGX_GRAPH_DUAL_WRITE,!0)}function a(){return t(process.env.AGX_GRAPH_PARITY_LOGGING,!0)}function s(){return!t(process.env.AGX_GRAPH_READ_PATH_KILL_SWITCH,!1)&&"v2"===(process.env.AGX_GRAPH_READ_PATH_MODE||"v1").trim().toLowerCase()}e.s(["isDualWriteEnabled",()=>r,"isParityLoggingEnabled",()=>a,"isV2ReadPathEnabled",()=>s],550201);let i=new Set(["done","passed","failed","skipped"]),o=new Set(["running","awaiting_human","blocked"]),n=new Set(["done","passed","skipped"]);function l(e,t){let r=String(e||"").trim().toUpperCase();return"INTAKE"===r||"PROGRESS"===r||"DONE"===r?r:t}function d(e){let t,r=Object.values(e.nodes);if(0===r.length)return"queued";let a=r.filter(e=>"gate"===e.type&&e.required).every(e=>"passed"===e.status||"skipped"===e.status);return 0!==(t=e.doneCriteria?.completionSinkNodeIds??[]).length&&t.every(t=>{let r=e.nodes[t];return!!(r&&n.has(r.status))})&&a||r.every(e=>i.has(e.status))&&a?"completed":r.some(e=>"failed"===e.status)?"failed":r.some(e=>"blocked"===e.status)?"blocked":r.some(e=>o.has(e.status))||r.filter(e=>"done"===e.status||"passed"===e.status).length>0?"in_progress":"queued"}function u(e,t="INTAKE"){let r,a,s=d(e),o="completed"===(r=d(e))?"DONE":"in_progress"===r||"blocked"===r||"failed"===r?"PROGRESS":t,n="completed"===s?100:0===(a=Object.values(e.nodes)).length?0:Math.max(0,Math.min(100,Math.round(a.filter(e=>i.has(e.status)).length/a.length*100)));return{status:s,stage:o,progressPercent:n}}function p(e){var t;let r,s,i,o,n,d=(t={taskId:e.task.id,source:e.source,legacy:{status:e.task.status,stage:e.task.stage,progressPercent:e.legacyProgressPercent??null},v2:u(e.graph,l(e.task.stage||"INTAKE","INTAKE"))},s=[],i="queued"===(r=String(t.legacy.status||"").trim().toLowerCase())||"in_progress"===r||"blocked"===r||"completed"===r||"failed"===r?r:"queued",o=l(t.legacy.stage,"INTAKE"),n=Number.isFinite(Number(t.legacy.progressPercent))?Number(t.legacy.progressPercent):null,(i!==t.v2.status&&s.push({field:"status",legacy:i,v2:t.v2.status}),o!==t.v2.stage&&s.push({field:"stage",legacy:o,v2:t.v2.stage}),null!==n&&n!==t.v2.progressPercent&&s.push({field:"progressPercent",legacy:n,v2:t.v2.progressPercent}),0===s.length)?null:{taskId:t.taskId,source:t.source,diffs:s});return d&&a()&&console.warn("[graph-parity-diff]",JSON.stringify(d)),d}e.s(["logParityDiff",()=>p,"projectLegacyCompatFromGraph",()=>u],703329)},574749,e=>{"use strict";e.i(426491);var t=e.i(515140),r=e.i(550201),a=e.i(703329),s=e.i(951336);function i(e){if(!e)return[];if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)));if("string"==typeof e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return Array.from(new Set(e.map(e=>String(e||"").trim()).filter(Boolean)))}catch{}return Array.from(new Set(t.split(",").map(e=>e.trim()).filter(Boolean)))}return[]}function o(e){if(i(e.depends_on).length||"string"!=typeof e?.content)return e;let{frontmatter:r}=(0,t.parseFrontmatter)(e.content||""),a=i(r.depends_on);return a.length?{...e,depends_on:a}:e}function n(e){return"blocked"!==e.status||e.blocked_reason||e.stage&&"intake"!==e.stage.toLowerCase()?e.blocked_reason:"Awaiting approval"}async function l(e){if(!(0,r.isV2ReadPathEnabled)())return{...o(e),blocked_reason:n(e),read_path_source:"v1"};try{let t=await (0,s.getGraph)(e.id);if(!t)return{...o(e),read_path_source:"v1"};let r=(0,a.projectLegacyCompatFromGraph)(t,e.stage||"INTAKE"),i="queued"===r.status&&e.status&&"queued"!==e.status?e.status:r.status,l="completed"===i?"DONE":r.stage;(0,a.logParityDiff)({source:"read_path",task:e,graph:t});let d={...o(e),status:i,stage:l};return{...d,blocked_reason:n(d),read_path_source:"v2"}}catch(t){return console.error("Failed to project task from v2 graph; using v1 compatibility mode",t),{...o(e),read_path_source:"v1"}}}async function d(e){return Promise.all(e.map(e=>l(e)))}e.s(["projectTaskReadModel",()=>l,"projectTaskReadModels",()=>d])},20275,e=>{"use strict";var t=e.i(254799),r=e.i(466713);let a=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,s=/^#\s+(.+?)(?:\r?\n|$)/;function i(e){return"string"==typeof e?e.trim():""}function o(e,t){let r=i(t),o=i(e);if(!o)return r;let n=o.replace(a,"").trim();if(!n)return r;let l=n.match(s);if(!l)return n;let d=n.slice(l[0].length).trim();return d||l[1].trim()||r}let n={...r.DEFAULT_EXECUTION_POLICY,replanBudgetInitial:3,replanBudgetRemaining:3,verifyBudgetInitial:5,verifyBudgetRemaining:5,maxConcurrentAutoChecks:1,maxConcurrent:1,priorityMode:"fifo"};function l(e,r){let a=new Date().toISOString(),s={type:"root",status:"pending",deps:[],title:e.title||"Untitled task",objective:function(e){let t=i(e.description);if(t)return o(t,e.title);let r=i(e.content);if(r)return o(r,e.title);let a=i(e.objective);return a?o(a,e.title):i(e.title)}(e),graphCreated:!1,criteria:[]};return{id:r?.graphId??(0,t.randomUUID)(),taskId:e.id,graphVersion:1,mode:"SIMPLE",nodes:{root:s,plan:{type:"work",status:"pending",deps:["root"],title:"Generate execution plan",description:"Analyze the task and generate a detailed execution graph with work nodes, gates, and dependencies.",attempts:0,maxAttempts:2,retryPolicy:{backoffMs:5e3,onExhaust:"escalate"}},"plan-approval":{type:"gate",status:"pending",gateType:"approval_gate",required:!0,deps:["plan"],verificationStrategy:{type:"human"}}},edges:[{from:"root",to:"plan",type:"hard",condition:"always"},{from:"plan",to:"plan-approval",type:"hard",condition:"always"}],policy:{...n},doneCriteria:{allRequiredGatesPassed:!0,noRunnableOrPendingWork:!0,completionSinkNodeIds:["plan-approval"]},versionHistory:[],runtimeEvents:[],createdAt:a,updatedAt:a}}e.s(["createRootOnlyGraph",()=>l],20275)},533986,e=>{"use strict";var t=e.i(692988),r=e.i(635595),a=e.i(75473),s=e.i(923435),i=e.i(418475),o=e.i(303482),n=e.i(976287),l=e.i(774462),d=e.i(111998),u=e.i(201516),p=e.i(68877),c=e.i(259460),g=e.i(257714),m=e.i(502073),f=e.i(187345),_=e.i(193695);e.i(293777);var h=e.i(274321),v=e.i(732470),w=e.i(764541);e.i(426491);var y=e.i(515140),R=e.i(173426),k=e.i(744071),A=e.i(828032),b=e.i(323218),E=e.i(353476),P=e.i(550201),C=e.i(20275),T=e.i(703329),S=e.i(951336),x=e.i(627013);async function I(e){if(!(0,P.isDualWriteEnabled)())return{enabled:!1,result:"disabled"};try{let t=await (0,S.getGraph)(e.id);if(t)return(0,T.logParityDiff)({source:"task_create_dual_write",task:e,graph:t}),{enabled:!0,result:"existing",graphId:t.id};let r=(0,C.createRootOnlyGraph)({id:e.id,title:e.title||void 0,description:e.description||void 0,content:e.content||void 0}),a=(0,x.validateGraph)(r);if(!a.valid)return{enabled:!0,result:"failed",error:`validateGraph failed: ${JSON.stringify(a.errors)}`};let s=await (0,S.createGraph)(r);return(0,T.logParityDiff)({source:"task_create_dual_write",task:e,graph:s}),{enabled:!0,result:"created",graphId:s.id}}catch(t){if(t instanceof S.GraphTaskAlreadyBoundError){let r=await (0,S.getGraph)(e.id);return r&&(0,T.logParityDiff)({source:"task_create_dual_write",task:e,graph:r}),{enabled:!0,result:"existing",graphId:t.existingGraphId}}return{enabled:!0,result:"failed",error:t instanceof Error?t.message:String(t)}}}var O=e.i(574749);e.i(650837);var j=e.i(640911);async function N(e){try{let t=k.LOCAL_USER.id,{searchParams:r}=new URL(e.url),a=r.get("project")||void 0,s="1"===r.get("orphan"),i=r.get("status"),o=r.get("slug"),n=r.get("search")||void 0;if(o){let e=await w.db.getTaskBySlug(o,t);if(!e)return v.NextResponse.json({error:"Task not found"},{status:404});let r=await (0,O.projectTaskReadModel)(e),a=await (0,b.buildTaskContext)(e),s=(0,y.resolveTaskConfig)(e,a.stage_config,a.user_settings),i={...r,...a,resolved_provider:s.provider,resolved_model:s.model??void 0,resolved_swarm:s.swarm,resolved_swarm_models:s.swarm_models};return v.NextResponse.json({task:i,stage_prompt:i.stage_prompt,stage_prompts:i.stage_prompts,stage_objective:i.stage_objective,stageObjective:i.stageObjective,stagePrompts:i.stagePrompts})}let l=await w.db.getTasks(t,{project:a,status:i||void 0,search:n,orphan:s}),d=await (0,O.projectTaskReadModels)(l);return v.NextResponse.json({tasks:d})}catch(e){return j.logger.error("Error fetching tasks",j.logger.formatError(e)),v.NextResponse.json({error:"Failed to fetch tasks"},{status:500})}}async function D(e){try{let t=k.LOCAL_USER.id,r=await e.json(),{content:a,swarm_models:s,project_id:i,title:o}=r,n=Array.isArray(r?.depends_on)?r.depends_on:"string"==typeof r?.depends_on?[r.depends_on]:void 0;if(!a)return v.NextResponse.json({error:"Content is required"},{status:400});let l=(0,A.detectDangerousOperations)(a);if(l.isDangerous&&"critical"===l.severity)return v.NextResponse.json({error:"Task contains potentially dangerous operations",dangerous:!0,severity:l.severity,patterns:l.patterns,message:"This task has been blocked. Please review and remove dangerous commands."},{status:400});let d=await w.db.createTask(a,t,{swarmModels:s,dependsOn:n,projectId:"string"==typeof i?i:void 0,title:"string"==typeof o?o:void 0});await (0,E.attemptStartTask)(d.id,t);let u=await w.db.getTask(d.id,t)||d,p=await I(u);if("failed"===p.result&&j.logger.error("Task dual-write graph creation failed",{taskId:u.id,error:p.error}),p.graphId){let e=(0,R.createAdminDbClient)();await e.from("tasks").update({graph_id:p.graphId}).eq("id",u.id),u.graph_id=p.graphId}let c=await (0,b.buildTaskContext)(u),{comments_digest:g,stage_config:m}=c,f=(0,y.resolveTaskConfig)(u,m,c.user_settings),_=e.headers.get("x-forwarded-for")?.split(",")[0].trim()||e.headers.get("x-real-ip")||void 0,h=e.headers.get("user-agent")||void 0;await (0,A.writeAuditLog)({user_id:t,task_id:u.id,action:"dispatch",payload:{title:u.title,stage:u.stage,engine:u.engine,provider:f.provider,model:f.model??void 0,swarm:f.swarm,swarm_models:f.swarm_models,project:u.project,dangerous:l.isDangerous?{severity:l.severity,patterns:l.patterns}:null},signature:"unsigned",ip_address:_,user_agent:h,result:"pending"});let P={...u,...c,resolved_provider:f.provider,resolved_model:f.model??void 0,resolved_swarm:f.swarm,resolved_swarm_models:f.swarm_models},C={id:u.id,task:P,stage_prompt:P.stage_prompt,stage_prompts:P.stage_prompts,stage_objective:P.stage_objective,stageObjective:P.stageObjective,stagePrompts:P.stagePrompts,graph_dual_write:p};return l.isDangerous&&(C.warning={message:"Task contains potentially dangerous operations. Daemon may prompt for confirmation.",severity:l.severity,patterns:l.patterns}),v.NextResponse.json(C,{status:201})}catch(e){return j.logger.error("Error creating task",j.logger.formatError(e)),v.NextResponse.json({error:"Failed to create task"},{status:500})}}e.s(["GET",()=>N,"POST",()=>D],241235);var L=e.i(241235);let U=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/route",pathname:"/api/tasks",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/tasks/route.ts",nextConfigOutput:"standalone",userland:L}),{workAsyncStorage:G,workUnitAsyncStorage:q,serverHooks:B}=U;function M(){return(0,a.patchFetch)({workAsyncStorage:G,workUnitAsyncStorage:q})}async function H(e,t,a){U.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/tasks/route";v=v.replace(/\/index$/,"")||"/";let w=await U.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:R,nextConfig:k,parsedUrl:A,isDraftMode:b,prerenderManifest:E,routerServerContext:P,isOnDemandRevalidate:C,revalidateOnlyGenerated:T,resolvedPathname:S,clientReferenceManifest:x,serverActionsManifest:I}=w,O=(0,n.normalizeAppPath)(v),j=!!(E.dynamicRoutes[O]||E.routes[S]),N=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,A,!1):t.end("This page could not be found"),null);if(j&&!b){let e=!!E.routes[S],t=E.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(k.experimental.adapterPath)return await N();throw new _.NoFallbackError}}let D=null;!j||U.isDev||b||(D="/index"===(D=S)?"/":D);let L=!0===U.isDev||!j,G=j&&!L;I&&x&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:x,serverActionsManifest:I});let q=e.method||"GET",B=(0,i.getTracer)(),M=B.getActiveScopeSpan(),H={params:R,prerenderManifest:E,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:L,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:k.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>U.onRequestError(e,t,a,s,P)},sharedContext:{buildId:y}},F=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(F,(0,d.signalFromNodeResponse)(t));try{let o=async e=>U.handle(K,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${q} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${v}`)}),n=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var i,l;let d=async({previousCacheEntry:r})=>{try{if(!n&&C&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(s);e.fetchMetrics=H.renderOpts.fetchMetrics;let l=H.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=H.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(F,X,i,H.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,a=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await U.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:G,isOnDemandRevalidate:C})},!1,P),t}},u=await U.handleResponse({req:e,nextConfig:k,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:E,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:n});if(!j)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});n||t.setHeader("x-nextjs-cache",C?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let _=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return n&&j||_.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||_.get("Cache-Control")||_.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(F,X,new Response(u.value.body,{headers:_,status:u.value.status||200})),null};M?await l(M):await B.withPropagatedContext(e.headers,()=>B.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},l))}catch(t){if(t instanceof _.NoFallbackError||await U.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:G,isOnDemandRevalidate:C})},!1,P),j)throw t;return await (0,c.sendResponse)(F,X,new Response(null,{status:500})),null}}e.s(["handler",()=>H,"patchFetch",()=>M,"routeModule",()=>U,"serverHooks",()=>B,"workAsyncStorage",()=>G,"workUnitAsyncStorage",()=>q],533986)}];
2
2
 
3
3
  //# sourceMappingURL=apps_local_c101ba9e._.js.map
@@ -0,0 +1,11 @@
1
+ module.exports=[712513,(e,t,r)=>{},765443,e=>{"use strict";let t="project_objectives_workspace",r="project_goals_workspace",i="project_health_snapshot",a=new Set(["on_track","at_risk","off_track","done"]);function o(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function n(e){return`${e}_${Math.random().toString(36).slice(2,10)}`}function s(e){return[...e].sort((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function c(e){return[...e].sort((e,t)=>Date.parse(e.createdAt)-Date.parse(t.createdAt))}function l(e){return[...e].sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}function u(e,t=""){return"string"==typeof e?e:t}function d(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let r=Date.parse(e);return Number.isNaN(r)?t:new Date(r).toISOString()}function p(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function f(e){return"string"==typeof e&&a.has(e)?e:"on_track"}function v(e){return f(e)}function m(e){return p(e)}function y(e,t="objective"){let r=e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-").slice(0,32);return r||t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"objective"}function h(e,t,r="objective"){let i=y(r),a=y(e,i),o=a,n=2;for(;t.has(o);){let e=`-${n}`,t=Math.max(1,32-e.length);o=`${a.slice(0,t)}${e}`,n+=1}return t.add(o),o}function j(e,t,r){return h(e,new Set(t.filter(e=>e.id!==r).map(e=>y(e.key||e.title||e.id))),r??e)}function b(e){var t;if(!o(e))return null;let r=d(e.updatedAt??e.createdAt),i=d(e.createdAt,r);return{id:u(e.id,n("objective")),title:u(e.title,"Untitled objective"),teamId:u(e.teamId??e.team_id??e.ownerTeamId),key:y(u(e.key??e.slug??e.label),u(e.title??e.id,"objective")),threadId:u(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:u(e.summary),progress:p(e.progress),status:f(e.status),createdAt:i,updatedAt:r}}function g(e){if(!o(e))return null;let t=d(e.updatedAt??e.createdAt),r=d(e.createdAt,t),i=u(e.objectiveId??e.goalId);return i?{id:u(e.id,n("objective_activity")),objectiveId:i,sourceType:"note",sourceLabel:u(e.sourceLabel,"Update"),title:u(e.title,"Untitled activity"),body:u(e.body),createdAt:r,updatedAt:t,relatedTaskId:u(e.relatedTaskId)||null}:null}function A(e){if(!o(e))return null;let t=u(e.activityId);return t?{id:u(e.id,n("objective_thread_message")),activityId:t,author:u(e.author,"You"),body:u(e.body),createdAt:d(e.createdAt)}:null}function R(){return{objectives:[],activities:[],activityThreads:{}}}function w(e){let t;if(!o(e))return R();let r=Array.isArray(e.objectives)?e.objectives.map(e=>b(e)).filter(e=>null!==e):[],i=Array.isArray(e.activities)?e.activities.map(e=>g(e)).filter(e=>null!==e):[],a=o(e.activityThreads)?Object.fromEntries(Object.entries(e.activityThreads).map(([e,t])=>[e,c(Array.isArray(t)?t.map(e=>A(e)).filter(e=>null!==e):[])])):{};return{objectives:s((t=new Set,r.map(e=>{let r=h(e.key||e.title||e.id,t,e.id||e.title||"objective");return e.key===r?e:{...e,key:r}}))),activities:l(i),activityThreads:a}}function E(e){if(!o(e))return R();let i=e[t];if(void 0!==i){let e=w(i);if(e.objectives.length>0||e.activities.length>0||Object.keys(e.activityThreads).length>0)return e}let a=e[r];if(void 0!==a){if(!o(a))return R();let e=Array.isArray(a.goals)?a.goals.map(e=>(function(e){if(!o(e))return null;let t=u(e.target),r=[u(e.summary),t?`Measure: ${t}`:""].filter(Boolean).join("\n\n");return b({...e,summary:r})})(e)).filter(e=>null!==e):[],t=Array.isArray(a.manualActivities)?a.manualActivities.map(e=>g({...e,sourceLabel:"Update"})).filter(e=>null!==e):[],r=o(a.activityThreads)?Object.fromEntries(Object.entries(a.activityThreads).map(([e,t])=>[e,c(Array.isArray(t)?t.map(t=>A({...t,activityId:e})).filter(e=>null!==e):[])])):{};return{objectives:s(e),activities:l(t),activityThreads:r}}return R()}function P(e,i){let a={...e};return delete a[r],a[t]=w(i),a}function I(e,t){let r={...e};return t?r[i]={progress:p(t.progress),status:f(t.status),updatedAt:d(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 r[i],r}function O(e,t){let r=e.objectives.findIndex(e=>e.id===t.id)>=0?e.objectives.map(e=>e.id===t.id?t:e):[t,...e.objectives];return{...e,objectives:s(r)}}e.s(["PROJECT_OBJECTIVES_METADATA_KEY",0,t,"generateProjectObjectiveKey",()=>j,"normalizeProjectHealthProgress",()=>m,"normalizeProjectHealthStatus",()=>v,"readProjectObjectivesWorkspace",()=>E,"upsertProjectObjective",()=>O,"writeProjectHealthSnapshot",()=>I,"writeProjectObjectivesWorkspace",()=>P])},901977,e=>{"use strict";e.i(712513);var t=e.i(764541),r=e.i(744071),i=e.i(765443),a=e.i(671182);async function o(e,i){let a=await t.db.getProjectWithRepos(e,r.LOCAL_USER.id);if(!a)return null;let o=n(a),s=o.objectives.find(e=>e.id===i)??null;return s?{project:a,workspace:o,objective:s}:null}function n(e){let t=e.slug??e.id,r=(0,a.getObjectiveRepository)(t);return r.hasFiles()?r.readWorkspace():(0,i.readProjectObjectivesWorkspace)(e.metadata)}async function s(e){let o=await t.db.getProjectWithRepos(e.projectId,r.LOCAL_USER.id),n=o?.slug??e.projectId;(0,a.getObjectiveRepository)(n).writeWorkspace(e.workspace);let s=(0,i.writeProjectObjectivesWorkspace)(e.currentMetadata??{},e.workspace),c=e.transformMetadata?e.transformMetadata(s):s;return t.db.updateProject(e.projectId,r.LOCAL_USER.id,{metadata:c})}async function c(e){return t.db.updateProject(e.projectId,r.LOCAL_USER.id,{metadata:(0,i.writeProjectHealthSnapshot)(e.currentMetadata??{},e.snapshot)})}async function l(e){return t.db.updateProject(e.projectId,r.LOCAL_USER.id,{metadata:e.transformMetadata(e.currentMetadata??{})})}e.s(["loadProjectObjectiveContext",()=>o,"loadProjectObjectiveWorkspace",()=>n,"persistProjectHealthSnapshot",()=>c,"persistProjectObjectiveMetadata",()=>l,"persistProjectObjectiveWorkspace",()=>s])},341858,e=>{"use strict";function t(e,t,r){return t?e.objectives.find(e=>e.teamId===t&&e.id!==r)??null:null}function r(e){if("string"==typeof e)return e.trim()||void 0}function i(e){return null===e?null:"string"==typeof e?e.trim():void 0}function a(e){if(Array.isArray(e))return Array.from(new Set(e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean)))}e.i(712513),e.i(901977),e.s(["findObjectiveAssignedToTeam",()=>t,"readNullableString",()=>i,"readOptionalString",()=>r,"readStringArray",()=>a])},124985,36336,717245,e=>{"use strict";var t=e.i(522734),r=e.i(814747),i=e.i(446786),a=e.i(260476);let o=/^---\s*\n([\s\S]*?)\n---\s*(?:\n([\s\S]*))?$/,n=new Set(["metric-check","status-update","milestone","note"]);function s(e,t=""){return"string"==typeof e?e:t}function c(e,t={}){var r;let i=e.match(o);if(!i)throw Error(`Activity file is missing YAML frontmatter${t.filePath?` (${t.filePath})`:""}.`);let[,l,u=""]=i,d=(0,a.load)(l,{...t.filePath?{filename:t.filePath}:{}}),p=d&&"object"==typeof d&&!Array.isArray(d)?d:{};return{id:s(p.id),source:s(p.source,"manual"),objectiveLabel:s(p.objectiveLabel),createdAt:function(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let r=Date.parse(e);return Number.isNaN(r)?t:new Date(r).toISOString()}(p.createdAt),type:"string"==typeof(r=p.type)&&n.has(r)?r:"note",body:u.trim()}}function l(e){let t={id:e.id,source:e.source,objectiveLabel:e.objectiveLabel,createdAt:e.createdAt,type:e.type},r=(0,a.dump)(t,{lineWidth:120,noRefs:!0,sortKeys:!1}).trimEnd(),i=e.body.trim();return i?`---
2
+ ${r}
3
+ ---
4
+
5
+ ${i}
6
+ `:`---
7
+ ${r}
8
+ ---
9
+ `}e.s(["parseActivityFile",()=>c],36336),e.s(["serializeActivityFile",()=>l],717245);class u{rootDir;constructor(e){this.rootDir=r.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")),i=[];for(let a of e){let e=r.default.join(this.rootDir,a);try{let r=t.default.readFileSync(e,"utf8");i.push(c(r,{filePath:e}))}catch(t){console.error(`[activities] failed to read ${e}:`,t)}}return i.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 r=Date.parse(e.from);Number.isNaN(r)||(t=t.filter(e=>Date.parse(e.createdAt)>=r))}if(e.to){let r=Date.parse(e.to);Number.isNaN(r)||(t=t.filter(e=>Date.parse(e.createdAt)<=r))}let r=t.length,i=Math.max(1,e.page??1),a=Math.min(100,Math.max(1,e.limit??25)),o=(i-1)*a;return{activities:t.slice(o,o+a),total:r,page:i,limit:a,hasMore:o+a<r}}append(e){var i;let a,o;this.ensureDir();let n=(a=(i=e).createdAt.replace(/[:.]/g,"-").replace("T","-").replace("Z",""),o=i.type.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48),`${a}-${o}.md`),s=r.default.join(this.rootDir,n),c=l(e);return t.default.writeFileSync(s,c,"utf8"),s}}let d=new Map;function p(e,t){let a,o=r.default.join((a=process.env.AGX_DATA_DIR?.trim())?r.default.resolve(a):r.default.join((0,i.homedir)(),".agx"),"projects",e,"objectives",t,"activities"),n=d.get(o);return n||(n=new u(o),d.set(o,n)),n}e.s(["getActivityRepository",()=>p],124985)},645363,e=>{"use strict";var t=e.i(692988),r=e.i(635595),i=e.i(75473),a=e.i(923435),o=e.i(418475),n=e.i(303482),s=e.i(976287),c=e.i(774462),l=e.i(111998),u=e.i(201516),d=e.i(68877),p=e.i(259460),f=e.i(257714),v=e.i(502073),m=e.i(187345),y=e.i(193695);e.i(293777);var h=e.i(274321),j=e.i(254799),b=e.i(732470);e.i(341858);var g=e.i(901977);e.i(36336),e.i(717245);var A=e.i(124985);e.i(650837);var R=e.i(640911);let w=new Set(["metric-check","status-update","milestone","note"]);async function E(e){let t=await e,r="string"==typeof t?.id?t.id.trim():"",i="string"==typeof t?.objectiveId?t.objectiveId.trim():"";return r&&i?{projectId:r,objectiveId:i}:null}async function P(e,t){try{let r=await E(t.params);if(!r)return b.NextResponse.json({error:"Objective not found"},{status:404});let i=await (0,g.loadProjectObjectiveContext)(r.projectId,r.objectiveId);if(!i)return b.NextResponse.json({error:"Objective not found"},{status:404});let{project:a,objective:o}=i,n=a.slug??a.id,s=(0,A.getActivityRepository)(n,o.key),c=e.nextUrl,l=c.searchParams.get("type"),u=l&&w.has(l)?l:void 0,d=s.list({type:u,source:c.searchParams.get("source")??void 0,from:c.searchParams.get("from")??void 0,to:c.searchParams.get("to")??void 0,page:parseInt(c.searchParams.get("page")??"",10)||void 0,limit:parseInt(c.searchParams.get("limit")??"",10)||void 0});return b.NextResponse.json(d)}catch(e){return R.logger.error("Failed to load activities",R.logger.formatError(e)),b.NextResponse.json({error:"Failed to load activities"},{status:500})}}async function I(e,t){try{let r=await E(t.params);if(!r)return b.NextResponse.json({error:"Objective not found"},{status:404});let i=await (0,g.loadProjectObjectiveContext)(r.projectId,r.objectiveId);if(!i)return b.NextResponse.json({error:"Objective not found"},{status:404});let a=await e.json(),o=a?.type,n="string"==typeof a?.body?a.body.trim():"";if(!o||!w.has(o))return b.NextResponse.json({error:"Invalid type. Must be one of: metric-check, status-update, milestone, note"},{status:400});if(!n)return b.NextResponse.json({error:"Body is required"},{status:400});let{project:s,objective:c}=i,l=s.slug??s.id,u=(0,A.getActivityRepository)(l,c.key),d={id:(0,j.randomUUID)(),source:"manual",objectiveLabel:c.key,createdAt:new Date().toISOString(),type:o,body:n};return u.append(d),b.NextResponse.json(d,{status:201})}catch(e){return R.logger.error("Failed to create activity",R.logger.formatError(e)),b.NextResponse.json({error:"Failed to create activity"},{status:500})}}e.s(["GET",()=>P,"POST",()=>I,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],328966);var O=e.i(328966);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/[id]/objectives/[objectiveId]/activities/route",pathname:"/api/projects/[id]/objectives/[objectiveId]/activities",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/projects/[id]/objectives/[objectiveId]/activities/route.ts",nextConfigOutput:"standalone",userland:O}),{workAsyncStorage:x,workUnitAsyncStorage:C,serverHooks:N}=S;function T(){return(0,i.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:C})}async function k(e,t,i){S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let j="/api/projects/[id]/objectives/[objectiveId]/activities/route";j=j.replace(/\/index$/,"")||"/";let b=await S.prepare(e,t,{srcPage:j,multiZoneDraftMode:!1});if(!b)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:g,params:A,nextConfig:R,parsedUrl:w,isDraftMode:E,prerenderManifest:P,routerServerContext:I,isOnDemandRevalidate:O,revalidateOnlyGenerated:x,resolvedPathname:C,clientReferenceManifest:N,serverActionsManifest:T}=b,k=(0,s.normalizeAppPath)(j),_=!!(P.dynamicRoutes[k]||P.routes[C]),D=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,w,!1):t.end("This page could not be found"),null);if(_&&!E){let e=!!P.routes[C],t=P.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await D();throw new y.NoFallbackError}}let M=null;!_||S.isDev||E||(M="/index"===(M=C)?"/":M);let U=!0===S.isDev||!_,L=_&&!U;T&&N&&(0,n.setManifestsSingleton)({page:j,clientReferenceManifest:N,serverActionsManifest:T});let $=e.method||"GET",H=(0,o.getTracer)(),F=H.getActiveScopeSpan(),q={params:A,prerenderManifest:P,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,i,a)=>S.onRequestError(e,t,i,a,I)},sharedContext:{buildId:g}},K=new c.NodeNextRequest(e),W=new c.NodeNextResponse(t),B=l.NextRequestAdapter.fromNodeNextRequest(K,(0,l.signalFromNodeResponse)(t));try{let n=async e=>S.handle(B,q).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${$} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${j}`)}),s=!!(0,a.getRequestMeta)(e,"minimalMode"),c=async a=>{var o,c;let l=async({previousCacheEntry:r})=>{try{if(!s&&O&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await n(a);e.fetchMetrics=q.renderOpts.fetchMetrics;let c=q.renderOpts.pendingWaitUntil;c&&i.waitUntil&&(i.waitUntil(c),c=void 0);let l=q.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(K,W,o,q.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==q.renderOpts.collectedRevalidate&&!(q.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&q.renderOpts.collectedRevalidate,i=void 0===q.renderOpts.collectedExpire||q.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:q.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:O})},!1,I),t}},u=await S.handleResponse({req:e,nextConfig:R,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:P,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:i.waitUntil,isMinimalMode:s});if(!_)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(c=u.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let y=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&_||y.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||y.get("Cache-Control")||y.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(K,W,new Response(u.value.body,{headers:y,status:u.value.status||200})),null};F?await c(F):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${$} ${j}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:O})},!1,I),_)throw t;return await (0,p.sendResponse)(K,W,new Response(null,{status:500})),null}}e.s(["handler",()=>k,"patchFetch",()=>T,"routeModule",()=>S,"serverHooks",()=>N,"workAsyncStorage",()=>x,"workUnitAsyncStorage",()=>C],645363)}];
10
+
11
+ //# sourceMappingURL=apps_local_c530bd77._.js.map
@@ -0,0 +1,91 @@
1
+ module.exports=[641922,953610,e=>{"use strict";var t=e.i(522734),r=e.i(814747),i=e.i(446786);function s(e,t){let s;return r.default.join((s=process.env.AGX_DATA_DIR?.trim())?r.default.resolve(s):r.default.join((0,i.homedir)(),".agx"),"projects",e,"objectives",t,"program.md")}function a(e,r){let i=s(e,r);if(!t.default.existsSync(i))return{path:i,content:null,updatedAt:null};try{let e=t.default.readFileSync(i,"utf8"),r=t.default.statSync(i);return{path:i,content:e,updatedAt:r.mtime.toISOString()}}catch{return{path:i,content:null,updatedAt:null}}}function n(e,i,a){let n=s(e,i);t.default.mkdirSync(r.default.dirname(n),{recursive:!0});let o=a.replace(/\s+$/g,"");if(0===o.length)return t.default.existsSync(n)&&t.default.unlinkSync(n),{path:n,content:null,updatedAt:null};let u=o+"\n";t.default.writeFileSync(n,u,"utf8");let c=t.default.statSync(n);return{path:n,content:u,updatedAt:c.mtime.toISOString()}}e.s(["readProgram",()=>a,"writeProgram",()=>n],953610),e.s([],641922)},11061,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747),s=e.i(769025);let{DatabaseSync:a}=process.getBuiltinModule("node:sqlite"),n=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),o=i.default.join(n,"history.sqlite");function u(e){return"scripted"===e?"scripted":"chat"}function c(e){let t,r=e.chat_created_at??e.created_at,i=e.chat_completed_at??null,s=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:s,durationMs:null!=i?Math.max(i-r,0):null,lastError:e.chat_last_error??e.error,recapFilePath:e.recap_file_path??null,startedAt:new Date(r).toISOString(),updatedAt:new Date((e.chat_updated_at??e.updated_at)||e.updated_at).toISOString(),completedAt:"number"==typeof i?new Date(i).toISOString():null}}async function l(e){await t.promises.mkdir(n,{recursive:!0});let r=new a(o);(0,s.pragmaSet)(r,"journal_mode = WAL");try{r.exec(`
2
+ CREATE TABLE IF NOT EXISTS chat_runs (
3
+ id TEXT PRIMARY KEY,
4
+ thread_id TEXT NOT NULL,
5
+ root_message_id TEXT,
6
+ user_id TEXT NOT NULL,
7
+ project_slug TEXT,
8
+ status TEXT NOT NULL,
9
+ current_step INTEGER NOT NULL DEFAULT 0,
10
+ max_steps INTEGER NOT NULL DEFAULT 10,
11
+ steps_used INTEGER NOT NULL DEFAULT 0,
12
+ last_error TEXT,
13
+ active_participant_ids TEXT NOT NULL DEFAULT '[]',
14
+ payload_json TEXT,
15
+ result_json TEXT,
16
+ created_at INTEGER NOT NULL,
17
+ updated_at INTEGER NOT NULL,
18
+ completed_at INTEGER
19
+ );
20
+ CREATE TABLE IF NOT EXISTS messages (
21
+ thread_id TEXT NOT NULL,
22
+ id TEXT NOT NULL,
23
+ role TEXT NOT NULL,
24
+ participant_id TEXT,
25
+ content TEXT NOT NULL,
26
+ timestamp INTEGER NOT NULL,
27
+ root_message_id TEXT,
28
+ parent_message_id TEXT,
29
+ depth INTEGER NOT NULL DEFAULT 0,
30
+ thread_status TEXT,
31
+ outcome_note TEXT,
32
+ PRIMARY KEY (thread_id, id)
33
+ );
34
+ CREATE TABLE IF NOT EXISTS linear_runs (
35
+ id TEXT PRIMARY KEY,
36
+ project_id TEXT,
37
+ project_slug TEXT,
38
+ issue_id TEXT NOT NULL,
39
+ issue_identifier TEXT NOT NULL,
40
+ issue_title TEXT NOT NULL,
41
+ issue_status TEXT NOT NULL,
42
+ issue_assignee TEXT,
43
+ thread_id TEXT NOT NULL,
44
+ root_message_id TEXT,
45
+ chat_run_id TEXT,
46
+ agent_id TEXT NOT NULL,
47
+ agent_name TEXT NOT NULL,
48
+ mode TEXT NOT NULL DEFAULT 'chat',
49
+ status TEXT NOT NULL DEFAULT 'queued',
50
+ error TEXT,
51
+ recap_file_path TEXT,
52
+ created_at INTEGER NOT NULL,
53
+ updated_at INTEGER NOT NULL
54
+ );
55
+ CREATE INDEX IF NOT EXISTS idx_linear_runs_issue_created
56
+ ON linear_runs (issue_id, created_at DESC);
57
+ CREATE INDEX IF NOT EXISTS idx_linear_runs_project_issue_created
58
+ ON linear_runs (project_id, issue_id, created_at DESC);
59
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_linear_runs_chat_run_id
60
+ ON linear_runs (chat_run_id)
61
+ WHERE chat_run_id IS NOT NULL;
62
+ `);let t=r.prepare("PRAGMA table_info(linear_runs)").all();return t.some(e=>"mode"===e.name)||r.exec("ALTER TABLE linear_runs ADD COLUMN mode TEXT NOT NULL DEFAULT 'chat';"),t.some(e=>"recap_file_path"===e.name)||r.exec("ALTER TABLE linear_runs ADD COLUMN recap_file_path TEXT;"),e(r)}finally{r.close()}}async function d(e){var t;let r=e.issueId.trim(),i=(t=e.projectId??null,t?.trim()||null),s=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),100):50;return l(e=>{let t=[r],a=["lr.issue_id = ?"];return i&&(a.push("lr.project_id = ?"),t.push(i)),t.push(s),e.prepare(`SELECT
63
+ lr.*,
64
+ cr.status AS chat_status,
65
+ cr.last_error AS chat_last_error,
66
+ cr.created_at AS chat_created_at,
67
+ cr.updated_at AS chat_updated_at,
68
+ cr.completed_at AS chat_completed_at,
69
+ msg.content AS root_content
70
+ FROM linear_runs lr
71
+ LEFT JOIN chat_runs cr ON cr.id = (
72
+ SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
73
+ )
74
+ LEFT JOIN messages msg ON msg.thread_id = lr.thread_id AND msg.id = lr.root_message_id
75
+ WHERE ${a.join(" AND ")}
76
+ ORDER BY lr.created_at DESC
77
+ LIMIT ?`).all(...t).map(c)})}async function p(e){return l(t=>{let r=e?.trim(),i=r?`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
78
+ FROM linear_runs lr
79
+ INNER JOIN chat_runs cr ON cr.id = (
80
+ SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
81
+ )
82
+ WHERE cr.status IN ('queued', 'running')
83
+ AND lr.project_id = ?`:`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
84
+ FROM linear_runs lr
85
+ INNER JOIN chat_runs cr ON cr.id = (
86
+ SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
87
+ )
88
+ WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(i).all(e.trim()):t.prepare(i).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["getIssueActiveAgents",()=>p,"listLinearRuns",()=>d])},720395,e=>{"use strict";var t=e.i(84516),r=e.i(29764),i=e.i(11061),s=e.i(124985);e.i(243174);var a=e.i(248821);e.i(641922);var n=e.i(953610),o=e.i(901977);let u="project_objective_health_history",c={"on track":"on_track","at risk":"at_risk","off track":"off_track",done:"done"};function l(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function d(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function p(e){return"string"==typeof e&&e.trim()?e.trim():void 0}function T(...e){let t=e.flatMap(e=>e??[]),r=[];for(let e of[...t].sort((e,t)=>Date.parse(e.recordedAt)-Date.parse(t.recordedAt))){let t=r[r.length-1]??null;t&&t.progress===e.progress&&t.status===e.status&&(!t.source||!e.source||t.source===e.source)&&5e3>=Math.abs(Date.parse(e.recordedAt)-Date.parse(t.recordedAt))||r.push(e)}return r}var _=e.i(460275),m=e.i(765443);let E={on_track:"On track",at_risk:"At risk",off_track:"Off track",done:"Done"};async function h(e){let t=Date.now(),r="";try{return await (0,_.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=>{r+=e},onSpawn:e.onSpawn}),{output:r,error:"",durationMs:Date.now()-t,status:"success"}}catch(e){return{output:r,error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}function g(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}function j(e){let t=e.trim();if(!t)return null;let r=g(t);if(r)return r;let i=t.indexOf("{"),s=t.lastIndexOf("}");return -1===i||s<=i?null:g(t.slice(i,s+1))}function f(e){return"number"==typeof e&&Number.isFinite(e)?(0,m.normalizeProjectHealthProgress)(e):null}function N(e){return"string"==typeof e&&e.trim()?(0,m.normalizeProjectHealthStatus)(e):null}function I(e,t,r){return`${e}: ${t}% ${E[r]}`}function b(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")}async function L(e){let{job:o,objectiveContext:u}=e,{project:c,workspace:l,objective:d}=u,p=c.slug??c.id,[{issues:T},_,m,E]=await Promise.all([(0,r.listObjectiveTrackerIssues)({projectId:c.id,objectiveKey:d.key,projectSlug:p,refresh:!0}),(0,i.getIssueActiveAgents)(c.id),Promise.resolve((0,s.getActivityRepository)(p,d.key).list({limit:20})),Promise.resolve((0,a.getNoteRepository)(p,d.key).readAll())]),h=new Set(T.map(e=>e.id)),g=_.filter(e=>h.has(e.issueId)),j=(0,r.filterObjectiveTrackerIssuesForAction)(T,g.map(e=>e.issueId)),f=(0,t.getPromptJobStore)().listJobs({objectiveId:d.id}).filter(e=>e.id!==o.id),N=l.objectives.filter(e=>e.id!==d.id),I=[];I.push("GOAL",d.title,d.summary?.trim()||"No summary provided."),I.push("","CURRENT STATE",`Progress: ${d.progress}% | Status: ${d.status}`);let L=(0,n.readProgram)(p,d.key);I.push("","PROGRAM",`path: ${L.path}`),L.content&&L.content.trim().length>0?I.push(L.content.trim()):I.push('(empty) No program has been authored for this objective yet. Before committing to a direction, surface this to the user in chat: ask what "better" means for this objective (the success metric), what paths/systems are in-scope, and any constraints. Capture the answer by writing to the path above.'),E.length>0&&I.push("","NOTES",...E.map(e=>`### ${e.title}
89
+ ${e.body}`));let v=m.activities??[];return v.length>0&&I.push("","RECENT ACTIVITY",...v.map(e=>{let t=e.createdAt.replace("T"," ").replace(/\.\d+Z$/,"").slice(0,16);return`- [${t}] ${e.body.split("\n")[0]}`})),T.length>0?I.push("","LINEAR TICKETS",T.map(e=>b(e)).join("\n\n")):I.push("","LINEAR TICKETS","- None."),g.length>0&&I.push("","ACTIVE SESSIONS",...g.map(e=>`- ${e.issueId}: running with ${e.agentName}`)),f.length>0&&I.push("","SCHEDULED TASKS",...f.map(e=>`- ${e.name} | state: ${e.state} | last outcome: ${e.lastOutcome??"none"}`)),N.length>0&&I.push("","PROJECT CONTEXT",...N.map(e=>`- ${e.title} (${e.key}) | ${e.progress}% | ${e.status}`)),I.push("","GUIDANCE",o.prompt.trim()||"No additional guidance provided."),I.push("","ELIGIBLE TICKETS",j.length>0?j.map(e=>b(e)).join("\n\n"):"- None."),I.push("","---","What single action most advances this objective right now?"),{prompt:I.join("\n"),issues:T,eligibleIssues:j,activeIssueAgents:g}}async function v(t){let r=Date.now();try{if(!t.job.projectId||!t.job.objectiveId)throw Error("Objective worker jobs require projectId and objectiveId.");let i=await (0,o.loadProjectObjectiveContext)(t.job.projectId,t.job.objectiveId);if(!i)throw Error("Objective context could not be resolved for this scheduled task.");let s=await L({job:t.job,objectiveContext:i}),a=await h({...t.controllerContext,prompt:s.prompt,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","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk","projectProgress":35,"projectStatus":"at_risk"}\n{"action":"run_prompt","prompt":"detailed instructions","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk"}\n{"action":"stop","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk"}\nRules:\n- "work_ticket": ticketId must exactly match one of the ELIGIBLE TICKETS ids.\n- "run_prompt": for work not captured by existing tickets. When no tickets are actionable and the objective is not done, use this to plan: review notes, refine the last plan, or outline next steps. The prompt should instruct the agent to append to an existing note when one is relevant rather than creating a new note.\n- "stop": only when the objective is done or genuinely no action (including planning) adds value.\nPercentages must be integers 0-100.\nStatuses: on_track, at_risk, off_track, done.',cliArgs:t.cliArgs,onSpawn:t.onSpawn});if("success"!==a.status)return{...a,output:a.output||"Objective controller failed before selecting an action."};let n=j(a.output),_="string"==typeof n?.action?n.action.trim().toLowerCase():"string"==typeof n?.decision?n.decision.trim().toLowerCase():"",E="work"===_?"work_ticket":_;if(!E){let e=a.output??"";console.warn(`[objective-worker] empty action from controller (job=${t.job.id}, outputLen=${e.length}, parsed=${n?"object":"null"}):`,e.slice(0,500))}let g="string"==typeof n?.reason?n.reason.trim():"",b=f(n?.objectiveProgress),v=N(n?.objectiveStatus),A=f(n?.projectProgress),S=N(n?.projectStatus),O="string"==typeof n?.projectNote?n.projectNote.trim():"",y="string"==typeof n?.objectiveNote?n.objectiveNote.trim():"",w=new Date().toISOString(),k=null!==b&&v?I("Objective health",b,v):null,R=null!==A&&S?I("Project health",A,S):null,D=null!==b&&null!==v?{objectiveId:i.objective.id,objectiveKey:i.objective.key,progress:b,status:v,recordedAt:w,source:`scheduled-task:${t.job.id}`,note:y||void 0}:null,X=null!==b&&null!==v&&(b!==i.objective.progress||v!==i.objective.status),C=X?(0,m.upsertProjectObjective)(i.workspace,{...i.objective,progress:b,status:v,updatedAt:w}):i.workspace,U=null!==A&&null!==S?{progress:A,status:S,updatedAt:w,source:`scheduled-task:${t.job.id}`,objectiveId:i.objective.id,objectiveKey:i.objective.key,note:O||void 0}:null,M=e=>{let t=e;return U&&(t=(0,m.writeProjectHealthSnapshot)(t,U)),D&&(t=function(e,t){let r=t.objectiveId.trim();if(!r)return e;let i=function(e,t){if(!l(e)||!t.trim())return[];let r=e[u];if(!l(r))return[];let i=r[t.trim()];return Array.isArray(i)?T(i.map(e=>(function(e){if(!l(e))return null;let t=function(e){if("string"!=typeof e)return null;let t=e.trim().toLowerCase();return"on_track"===t||"at_risk"===t||"off_track"===t||"done"===t?t:c[t]??null}(e.status),r=function(e){if("string"!=typeof e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:new Date(t).toISOString()}(e.recordedAt);return t&&r?{progress:d(e.progress),status:t,recordedAt:r,source:p(e.source),note:p(e.note),objectiveId:p(e.objectiveId)??null,objectiveKey:p(e.objectiveKey)??null}:null})(e)).filter(e=>!!e)):[]}(e,r),s=T(i,[t]).slice(-200),a=l(e[u])?e[u]:{};return{...e,[u]:{...a,[r]:s.map(e=>({progress:d(e.progress),status:e.status,recordedAt:e.recordedAt,...e.source?{source:e.source}:{},...e.note?{note:e.note}:{},...e.objectiveId?{objectiveId:e.objectiveId}:{},...e.objectiveKey?{objectiveKey:e.objectiveKey}:{}}))}}}(t,D)),t};X?await (0,o.persistProjectObjectiveWorkspace)({projectId:i.project.id,currentMetadata:i.project.metadata,workspace:C,transformMetadata:M}):(D||U)&&await (0,o.persistProjectObjectiveMetadata)({projectId:i.project.id,currentMetadata:i.project.metadata,transformMetadata:M});let{dispatchObjectiveAction:$}=await e.A(688671),P=await $({action:E,parsed:n,reason:g,job:t.job,controllerContext:t.controllerContext,sessionAgent:t.sessionAgent,objectiveContext:i,eligibleIssues:s.eligibleIssues,issues:s.issues,healthSummaries:{objectiveHealthSummary:k,projectHealthSummary:R,objectiveNote:y,projectNote:O},cliArgs:t.cliArgs,onSpawn:t.onSpawn,startMs:r}),{logActionReceipt:x}=await e.A(688671);return await x(P,{jobId:t.job.id,projectId:t.job.projectId,objectiveId:t.job.objectiveId}),{output:P.result,error:"failed"===P.status?P.result:"",durationMs:Date.now()-r,status:P.status}}catch(e){return{output:"",error:e instanceof Error?e.message:String(e),durationMs:Date.now()-r,status:"failed"}}}e.s(["buildObjectiveObservation",()=>L,"executeObjectiveWorker",()=>v,"extractFirstJsonObject",()=>j],720395)},688671,e=>{e.v(e=>Promise.resolve().then(()=>e(917435)))}];
90
+
91
+ //# sourceMappingURL=apps_local_d69937f2._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[712513,(e,t,r)=>{},765443,e=>{"use strict";let t="project_objectives_workspace",r="project_goals_workspace",a="project_health_snapshot",n=new Set(["on_track","at_risk","off_track","done"]);function i(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function o(e){return`${e}_${Math.random().toString(36).slice(2,10)}`}function s(e){return[...e].sort((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function l(e){return[...e].sort((e,t)=>Date.parse(e.createdAt)-Date.parse(t.createdAt))}function c(e){return[...e].sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}function u(e,t=""){return"string"==typeof e?e:t}function d(e,t="1970-01-01T00:00:00.000Z"){if("string"!=typeof e)return t;let r=Date.parse(e);return Number.isNaN(r)?t:new Date(r).toISOString()}function p(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function f(e){return"string"==typeof e&&n.has(e)?e:"on_track"}function v(e){return f(e)}function m(e){return p(e)}function j(e,t="objective"){let r=e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-").slice(0,32);return r||t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"objective"}function h(e,t,r="objective"){let a=j(r),n=j(e,a),i=n,o=2;for(;t.has(i);){let e=`-${o}`,t=Math.max(1,32-e.length);i=`${n.slice(0,t)}${e}`,o+=1}return t.add(i),i}function y(e,t,r){return h(e,new Set(t.filter(e=>e.id!==r).map(e=>j(e.key||e.title||e.id))),r??e)}function g(e){var t;if(!i(e))return null;let r=d(e.updatedAt??e.createdAt),a=d(e.createdAt,r);return{id:u(e.id,o("objective")),title:u(e.title,"Untitled objective"),teamId:u(e.teamId??e.team_id??e.ownerTeamId),key:j(u(e.key??e.slug??e.label),u(e.title??e.id,"objective")),threadId:u(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:u(e.summary),progress:p(e.progress),status:f(e.status),createdAt:a,updatedAt:r}}function b(e){if(!i(e))return null;let t=d(e.updatedAt??e.createdAt),r=d(e.createdAt,t),a=u(e.objectiveId??e.goalId);return a?{id:u(e.id,o("objective_activity")),objectiveId:a,sourceType:"note",sourceLabel:u(e.sourceLabel,"Update"),title:u(e.title,"Untitled activity"),body:u(e.body),createdAt:r,updatedAt:t,relatedTaskId:u(e.relatedTaskId)||null}:null}function A(e){if(!i(e))return null;let t=u(e.activityId);return t?{id:u(e.id,o("objective_thread_message")),activityId:t,author:u(e.author,"You"),body:u(e.body),createdAt:d(e.createdAt)}:null}function R(){return{objectives:[],activities:[],activityThreads:{}}}function w(e){let t;if(!i(e))return R();let r=Array.isArray(e.objectives)?e.objectives.map(e=>g(e)).filter(e=>null!==e):[],a=Array.isArray(e.activities)?e.activities.map(e=>b(e)).filter(e=>null!==e):[],n=i(e.activityThreads)?Object.fromEntries(Object.entries(e.activityThreads).map(([e,t])=>[e,l(Array.isArray(t)?t.map(e=>A(e)).filter(e=>null!==e):[])])):{};return{objectives:s((t=new Set,r.map(e=>{let r=h(e.key||e.title||e.id,t,e.id||e.title||"objective");return e.key===r?e:{...e,key:r}}))),activities:c(a),activityThreads:n}}function E(e){if(!i(e))return R();let a=e[t];if(void 0!==a){let e=w(a);if(e.objectives.length>0||e.activities.length>0||Object.keys(e.activityThreads).length>0)return e}let n=e[r];if(void 0!==n){if(!i(n))return R();let e=Array.isArray(n.goals)?n.goals.map(e=>(function(e){if(!i(e))return null;let t=u(e.target),r=[u(e.summary),t?`Measure: ${t}`:""].filter(Boolean).join("\n\n");return g({...e,summary:r})})(e)).filter(e=>null!==e):[],t=Array.isArray(n.manualActivities)?n.manualActivities.map(e=>b({...e,sourceLabel:"Update"})).filter(e=>null!==e):[],r=i(n.activityThreads)?Object.fromEntries(Object.entries(n.activityThreads).map(([e,t])=>[e,l(Array.isArray(t)?t.map(t=>A({...t,activityId:e})).filter(e=>null!==e):[])])):{};return{objectives:s(e),activities:c(t),activityThreads:r}}return R()}function O(e,a){let n={...e};return delete n[r],n[t]=w(a),n}function I(e,t){let r={...e};return t?r[a]={progress:p(t.progress),status:f(t.status),updatedAt:d(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 r[a],r}function S(e,t){let r=e.objectives.findIndex(e=>e.id===t.id)>=0?e.objectives.map(e=>e.id===t.id?t:e):[t,...e.objectives];return{...e,objectives:s(r)}}e.s(["PROJECT_OBJECTIVES_METADATA_KEY",0,t,"generateProjectObjectiveKey",()=>y,"normalizeProjectHealthProgress",()=>m,"normalizeProjectHealthStatus",()=>v,"readProjectObjectivesWorkspace",()=>E,"upsertProjectObjective",()=>S,"writeProjectHealthSnapshot",()=>I,"writeProjectObjectivesWorkspace",()=>O])},901977,e=>{"use strict";e.i(712513);var t=e.i(764541),r=e.i(744071),a=e.i(765443),n=e.i(671182);async function i(e,a){let n=await t.db.getProjectWithRepos(e,r.LOCAL_USER.id);if(!n)return null;let i=o(n),s=i.objectives.find(e=>e.id===a)??null;return s?{project:n,workspace:i,objective:s}:null}function o(e){let t=e.slug??e.id,r=(0,n.getObjectiveRepository)(t);return r.hasFiles()?r.readWorkspace():(0,a.readProjectObjectivesWorkspace)(e.metadata)}async function s(e){let i=await t.db.getProjectWithRepos(e.projectId,r.LOCAL_USER.id),o=i?.slug??e.projectId;(0,n.getObjectiveRepository)(o).writeWorkspace(e.workspace);let s=(0,a.writeProjectObjectivesWorkspace)(e.currentMetadata??{},e.workspace),l=e.transformMetadata?e.transformMetadata(s):s;return t.db.updateProject(e.projectId,r.LOCAL_USER.id,{metadata:l})}async function l(e){return t.db.updateProject(e.projectId,r.LOCAL_USER.id,{metadata:(0,a.writeProjectHealthSnapshot)(e.currentMetadata??{},e.snapshot)})}async function c(e){return t.db.updateProject(e.projectId,r.LOCAL_USER.id,{metadata:e.transformMetadata(e.currentMetadata??{})})}e.s(["loadProjectObjectiveContext",()=>i,"loadProjectObjectiveWorkspace",()=>o,"persistProjectHealthSnapshot",()=>l,"persistProjectObjectiveMetadata",()=>c,"persistProjectObjectiveWorkspace",()=>s])},341858,e=>{"use strict";function t(e,t,r){return t?e.objectives.find(e=>e.teamId===t&&e.id!==r)??null:null}function r(e){if("string"==typeof e)return e.trim()||void 0}function a(e){return null===e?null:"string"==typeof e?e.trim():void 0}function n(e){if(Array.isArray(e))return Array.from(new Set(e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean)))}e.i(712513),e.i(901977),e.s(["findObjectiveAssignedToTeam",()=>t,"readNullableString",()=>a,"readOptionalString",()=>r,"readStringArray",()=>n])},641922,953610,e=>{"use strict";var t=e.i(522734),r=e.i(814747),a=e.i(446786);function n(e,t){let n;return r.default.join((n=process.env.AGX_DATA_DIR?.trim())?r.default.resolve(n):r.default.join((0,a.homedir)(),".agx"),"projects",e,"objectives",t,"program.md")}function i(e,r){let a=n(e,r);if(!t.default.existsSync(a))return{path:a,content:null,updatedAt:null};try{let e=t.default.readFileSync(a,"utf8"),r=t.default.statSync(a);return{path:a,content:e,updatedAt:r.mtime.toISOString()}}catch{return{path:a,content:null,updatedAt:null}}}function o(e,a,i){let o=n(e,a);t.default.mkdirSync(r.default.dirname(o),{recursive:!0});let s=i.replace(/\s+$/g,"");if(0===s.length)return t.default.existsSync(o)&&t.default.unlinkSync(o),{path:o,content:null,updatedAt:null};let l=s+"\n";t.default.writeFileSync(o,l,"utf8");let c=t.default.statSync(o);return{path:o,content:l,updatedAt:c.mtime.toISOString()}}e.s(["readProgram",()=>i,"writeProgram",()=>o],953610),e.s([],641922)},683289,e=>{"use strict";var t=e.i(692988),r=e.i(635595),a=e.i(75473),n=e.i(923435),i=e.i(418475),o=e.i(303482),s=e.i(976287),l=e.i(774462),c=e.i(111998),u=e.i(201516),d=e.i(68877),p=e.i(259460),f=e.i(257714),v=e.i(502073),m=e.i(187345),j=e.i(193695);e.i(293777);var h=e.i(274321),y=e.i(732470);e.i(341858);var g=e.i(901977);e.i(641922);var b=e.i(953610);e.i(650837);var A=e.i(640911);async function R(e){let t=await e,r="string"==typeof t?.id?t.id.trim():"",a="string"==typeof t?.objectiveId?t.objectiveId.trim():"";return r&&a?{projectId:r,objectiveId:a}:null}async function w(e,t){try{let e=await R(t.params);if(!e)return y.NextResponse.json({error:"Objective not found"},{status:404});let r=await (0,g.loadProjectObjectiveContext)(e.projectId,e.objectiveId);if(!r)return y.NextResponse.json({error:"Objective not found"},{status:404});let{project:a,objective:n}=r,i=a.slug??a.id,o=(0,b.readProgram)(i,n.key);return y.NextResponse.json({program:o})}catch(e){return A.logger.error("Failed to load program",A.logger.formatError(e)),y.NextResponse.json({error:"Failed to load program"},{status:500})}}async function E(e,t){try{let r=await R(t.params);if(!r)return y.NextResponse.json({error:"Objective not found"},{status:404});let a=await (0,g.loadProjectObjectiveContext)(r.projectId,r.objectiveId);if(!a)return y.NextResponse.json({error:"Objective not found"},{status:404});let n=await e.json().catch(()=>null);if(!n||"object"!=typeof n||Array.isArray(n))return y.NextResponse.json({error:"Invalid program payload"},{status:400});let i="string"==typeof n.content?n.content:"",{project:o,objective:s}=a,l=o.slug??o.id,c=(0,b.writeProgram)(l,s.key,i);return y.NextResponse.json({program:c})}catch(e){return A.logger.error("Failed to save program",A.logger.formatError(e)),y.NextResponse.json({error:"Failed to save program"},{status:500})}}e.s(["GET",()=>w,"PUT",()=>E,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],328587);var O=e.i(328587);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/projects/[id]/objectives/[objectiveId]/program/route",pathname:"/api/projects/[id]/objectives/[objectiveId]/program",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/local/app/api/projects/[id]/objectives/[objectiveId]/program/route.ts",nextConfigOutput:"standalone",userland:O}),{workAsyncStorage:S,workUnitAsyncStorage:P,serverHooks:x}=I;function C(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:P})}async function T(e,t,a){I.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/projects/[id]/objectives/[objectiveId]/program/route";y=y.replace(/\/index$/,"")||"/";let g=await I.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:b,params:A,nextConfig:R,parsedUrl:w,isDraftMode:E,prerenderManifest:O,routerServerContext:S,isOnDemandRevalidate:P,revalidateOnlyGenerated:x,resolvedPathname:C,clientReferenceManifest:T,serverActionsManifest:_}=g,k=(0,s.normalizeAppPath)(y),N=!!(O.dynamicRoutes[k]||O.routes[C]),M=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,w,!1):t.end("This page could not be found"),null);if(N&&!E){let e=!!O.routes[C],t=O.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await M();throw new j.NoFallbackError}}let U=null;!N||I.isDev||E||(U="/index"===(U=C)?"/":U);let D=!0===I.isDev||!N,H=N&&!D;_&&T&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:T,serverActionsManifest:_});let L=e.method||"GET",$=(0,i.getTracer)(),F=$.getActiveScopeSpan(),q={params:A,prerenderManifest:O,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>I.onRequestError(e,t,a,n,S)},sharedContext:{buildId:b}},K=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t));try{let o=async e=>I.handle(B,q).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${L} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${L} ${y}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let c=async({previousCacheEntry:r})=>{try{if(!s&&P&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=q.renderOpts.fetchMetrics;let l=q.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let c=q.renderOpts.collectedTags;if(!N)return await (0,p.sendResponse)(K,W,i,q.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);c&&(t[m.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==q.renderOpts.collectedRevalidate&&!(q.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&q.renderOpts.collectedRevalidate,a=void 0===q.renderOpts.collectedExpire||q.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:q.renderOpts.collectedExpire;return{value:{kind:h.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,S),t}},u=await I.handleResponse({req:e,nextConfig:R,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:x,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!N)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==h.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let j=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&N||j.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||j.get("Cache-Control")||j.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(K,W,new Response(u.value.body,{headers:j,status:u.value.status||200})),null};F?await l(F):await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},l))}catch(t){if(t instanceof j.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,S),N)throw t;return await (0,p.sendResponse)(K,W,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>C,"routeModule",()=>I,"serverHooks",()=>x,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>P],683289)}];
2
+
3
+ //# sourceMappingURL=apps_local_e2867b32._.js.map
@@ -0,0 +1,91 @@
1
+ module.exports=[641922,953610,e=>{"use strict";var t=e.i(522734),r=e.i(814747),i=e.i(446786);function s(e,t){let s;return r.default.join((s=process.env.AGX_DATA_DIR?.trim())?r.default.resolve(s):r.default.join((0,i.homedir)(),".agx"),"projects",e,"objectives",t,"program.md")}function a(e,r){let i=s(e,r);if(!t.default.existsSync(i))return{path:i,content:null,updatedAt:null};try{let e=t.default.readFileSync(i,"utf8"),r=t.default.statSync(i);return{path:i,content:e,updatedAt:r.mtime.toISOString()}}catch{return{path:i,content:null,updatedAt:null}}}function n(e,i,a){let n=s(e,i);t.default.mkdirSync(r.default.dirname(n),{recursive:!0});let o=a.replace(/\s+$/g,"");if(0===o.length)return t.default.existsSync(n)&&t.default.unlinkSync(n),{path:n,content:null,updatedAt:null};let u=o+"\n";t.default.writeFileSync(n,u,"utf8");let c=t.default.statSync(n);return{path:n,content:u,updatedAt:c.mtime.toISOString()}}e.s(["readProgram",()=>a,"writeProgram",()=>n],953610),e.s([],641922)},11061,e=>{"use strict";var t=e.i(522734),r=e.i(446786),i=e.i(814747),s=e.i(769025);let{DatabaseSync:a}=process.getBuiltinModule("node:sqlite"),n=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(r.default.homedir(),".agx","group-chat"),o=i.default.join(n,"history.sqlite");function u(e){return"scripted"===e?"scripted":"chat"}function c(e){let t,r=e.chat_created_at??e.created_at,i=e.chat_completed_at??null,s=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:s,durationMs:null!=i?Math.max(i-r,0):null,lastError:e.chat_last_error??e.error,recapFilePath:e.recap_file_path??null,startedAt:new Date(r).toISOString(),updatedAt:new Date((e.chat_updated_at??e.updated_at)||e.updated_at).toISOString(),completedAt:"number"==typeof i?new Date(i).toISOString():null}}async function l(e){await t.promises.mkdir(n,{recursive:!0});let r=new a(o);(0,s.pragmaSet)(r,"journal_mode = WAL");try{r.exec(`
2
+ CREATE TABLE IF NOT EXISTS chat_runs (
3
+ id TEXT PRIMARY KEY,
4
+ thread_id TEXT NOT NULL,
5
+ root_message_id TEXT,
6
+ user_id TEXT NOT NULL,
7
+ project_slug TEXT,
8
+ status TEXT NOT NULL,
9
+ current_step INTEGER NOT NULL DEFAULT 0,
10
+ max_steps INTEGER NOT NULL DEFAULT 10,
11
+ steps_used INTEGER NOT NULL DEFAULT 0,
12
+ last_error TEXT,
13
+ active_participant_ids TEXT NOT NULL DEFAULT '[]',
14
+ payload_json TEXT,
15
+ result_json TEXT,
16
+ created_at INTEGER NOT NULL,
17
+ updated_at INTEGER NOT NULL,
18
+ completed_at INTEGER
19
+ );
20
+ CREATE TABLE IF NOT EXISTS messages (
21
+ thread_id TEXT NOT NULL,
22
+ id TEXT NOT NULL,
23
+ role TEXT NOT NULL,
24
+ participant_id TEXT,
25
+ content TEXT NOT NULL,
26
+ timestamp INTEGER NOT NULL,
27
+ root_message_id TEXT,
28
+ parent_message_id TEXT,
29
+ depth INTEGER NOT NULL DEFAULT 0,
30
+ thread_status TEXT,
31
+ outcome_note TEXT,
32
+ PRIMARY KEY (thread_id, id)
33
+ );
34
+ CREATE TABLE IF NOT EXISTS linear_runs (
35
+ id TEXT PRIMARY KEY,
36
+ project_id TEXT,
37
+ project_slug TEXT,
38
+ issue_id TEXT NOT NULL,
39
+ issue_identifier TEXT NOT NULL,
40
+ issue_title TEXT NOT NULL,
41
+ issue_status TEXT NOT NULL,
42
+ issue_assignee TEXT,
43
+ thread_id TEXT NOT NULL,
44
+ root_message_id TEXT,
45
+ chat_run_id TEXT,
46
+ agent_id TEXT NOT NULL,
47
+ agent_name TEXT NOT NULL,
48
+ mode TEXT NOT NULL DEFAULT 'chat',
49
+ status TEXT NOT NULL DEFAULT 'queued',
50
+ error TEXT,
51
+ recap_file_path TEXT,
52
+ created_at INTEGER NOT NULL,
53
+ updated_at INTEGER NOT NULL
54
+ );
55
+ CREATE INDEX IF NOT EXISTS idx_linear_runs_issue_created
56
+ ON linear_runs (issue_id, created_at DESC);
57
+ CREATE INDEX IF NOT EXISTS idx_linear_runs_project_issue_created
58
+ ON linear_runs (project_id, issue_id, created_at DESC);
59
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_linear_runs_chat_run_id
60
+ ON linear_runs (chat_run_id)
61
+ WHERE chat_run_id IS NOT NULL;
62
+ `);let t=r.prepare("PRAGMA table_info(linear_runs)").all();return t.some(e=>"mode"===e.name)||r.exec("ALTER TABLE linear_runs ADD COLUMN mode TEXT NOT NULL DEFAULT 'chat';"),t.some(e=>"recap_file_path"===e.name)||r.exec("ALTER TABLE linear_runs ADD COLUMN recap_file_path TEXT;"),e(r)}finally{r.close()}}async function d(e){var t;let r=e.issueId.trim(),i=(t=e.projectId??null,t?.trim()||null),s=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),100):50;return l(e=>{let t=[r],a=["lr.issue_id = ?"];return i&&(a.push("lr.project_id = ?"),t.push(i)),t.push(s),e.prepare(`SELECT
63
+ lr.*,
64
+ cr.status AS chat_status,
65
+ cr.last_error AS chat_last_error,
66
+ cr.created_at AS chat_created_at,
67
+ cr.updated_at AS chat_updated_at,
68
+ cr.completed_at AS chat_completed_at,
69
+ msg.content AS root_content
70
+ FROM linear_runs lr
71
+ LEFT JOIN chat_runs cr ON cr.id = (
72
+ SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
73
+ )
74
+ LEFT JOIN messages msg ON msg.thread_id = lr.thread_id AND msg.id = lr.root_message_id
75
+ WHERE ${a.join(" AND ")}
76
+ ORDER BY lr.created_at DESC
77
+ LIMIT ?`).all(...t).map(c)})}async function p(e){return l(t=>{let r=e?.trim(),i=r?`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
78
+ FROM linear_runs lr
79
+ INNER JOIN chat_runs cr ON cr.id = (
80
+ SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
81
+ )
82
+ WHERE cr.status IN ('queued', 'running')
83
+ AND lr.project_id = ?`:`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
84
+ FROM linear_runs lr
85
+ INNER JOIN chat_runs cr ON cr.id = (
86
+ SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
87
+ )
88
+ WHERE cr.status IN ('queued', 'running')`;return(r?t.prepare(i).all(e.trim()):t.prepare(i).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["getIssueActiveAgents",()=>p,"listLinearRuns",()=>d])},720395,e=>{"use strict";var t=e.i(84516),r=e.i(29764),i=e.i(11061),s=e.i(124985);e.i(243174);var a=e.i(248821);e.i(641922);var n=e.i(953610),o=e.i(901977);let u="project_objective_health_history",c={"on track":"on_track","at risk":"at_risk","off track":"off_track",done:"done"};function l(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function d(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function p(e){return"string"==typeof e&&e.trim()?e.trim():void 0}function T(...e){let t=e.flatMap(e=>e??[]),r=[];for(let e of[...t].sort((e,t)=>Date.parse(e.recordedAt)-Date.parse(t.recordedAt))){let t=r[r.length-1]??null;t&&t.progress===e.progress&&t.status===e.status&&(!t.source||!e.source||t.source===e.source)&&5e3>=Math.abs(Date.parse(e.recordedAt)-Date.parse(t.recordedAt))||r.push(e)}return r}var _=e.i(460275),m=e.i(765443);let E={on_track:"On track",at_risk:"At risk",off_track:"Off track",done:"Done"};async function h(e){let t=Date.now(),r="";try{return await (0,_.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=>{r+=e},onSpawn:e.onSpawn}),{output:r,error:"",durationMs:Date.now()-t,status:"success"}}catch(e){return{output:r,error:e instanceof Error?e.message:String(e),durationMs:Date.now()-t,status:"failed"}}}function g(e){try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}function j(e){let t=e.trim();if(!t)return null;let r=g(t);if(r)return r;let i=t.indexOf("{"),s=t.lastIndexOf("}");return -1===i||s<=i?null:g(t.slice(i,s+1))}function f(e){return"number"==typeof e&&Number.isFinite(e)?(0,m.normalizeProjectHealthProgress)(e):null}function N(e){return"string"==typeof e&&e.trim()?(0,m.normalizeProjectHealthStatus)(e):null}function I(e,t,r){return`${e}: ${t}% ${E[r]}`}function b(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")}async function L(e){let{job:o,objectiveContext:u}=e,{project:c,workspace:l,objective:d}=u,p=c.slug??c.id,[{issues:T},_,m,E]=await Promise.all([(0,r.listObjectiveTrackerIssues)({projectId:c.id,objectiveKey:d.key,projectSlug:p,refresh:!0}),(0,i.getIssueActiveAgents)(c.id),Promise.resolve((0,s.getActivityRepository)(p,d.key).list({limit:20})),Promise.resolve((0,a.getNoteRepository)(p,d.key).readAll())]),h=new Set(T.map(e=>e.id)),g=_.filter(e=>h.has(e.issueId)),j=(0,r.filterObjectiveTrackerIssuesForAction)(T,g.map(e=>e.issueId)),f=(0,t.getPromptJobStore)().listJobs({objectiveId:d.id}).filter(e=>e.id!==o.id),N=l.objectives.filter(e=>e.id!==d.id),I=[];I.push("GOAL",d.title,d.summary?.trim()||"No summary provided."),I.push("","CURRENT STATE",`Progress: ${d.progress}% | Status: ${d.status}`);let L=(0,n.readProgram)(p,d.key);I.push("","PROGRAM",`path: ${L.path}`),L.content&&L.content.trim().length>0?I.push(L.content.trim()):I.push('(empty) No program has been authored for this objective yet. Before committing to a direction, surface this to the user in chat: ask what "better" means for this objective (the success metric), what paths/systems are in-scope, and any constraints. Capture the answer by writing to the path above.'),E.length>0&&I.push("","NOTES",...E.map(e=>`### ${e.title}
89
+ ${e.body}`));let v=m.activities??[];return v.length>0&&I.push("","RECENT ACTIVITY",...v.map(e=>{let t=e.createdAt.replace("T"," ").replace(/\.\d+Z$/,"").slice(0,16);return`- [${t}] ${e.body.split("\n")[0]}`})),T.length>0?I.push("","LINEAR TICKETS",T.map(e=>b(e)).join("\n\n")):I.push("","LINEAR TICKETS","- None."),g.length>0&&I.push("","ACTIVE SESSIONS",...g.map(e=>`- ${e.issueId}: running with ${e.agentName}`)),f.length>0&&I.push("","SCHEDULED TASKS",...f.map(e=>`- ${e.name} | state: ${e.state} | last outcome: ${e.lastOutcome??"none"}`)),N.length>0&&I.push("","PROJECT CONTEXT",...N.map(e=>`- ${e.title} (${e.key}) | ${e.progress}% | ${e.status}`)),I.push("","GUIDANCE",o.prompt.trim()||"No additional guidance provided."),I.push("","ELIGIBLE TICKETS",j.length>0?j.map(e=>b(e)).join("\n\n"):"- None."),I.push("","---","What single action most advances this objective right now?"),{prompt:I.join("\n"),issues:T,eligibleIssues:j,activeIssueAgents:g}}async function v(t){let r=Date.now();try{if(!t.job.projectId||!t.job.objectiveId)throw Error("Objective worker jobs require projectId and objectiveId.");let i=await (0,o.loadProjectObjectiveContext)(t.job.projectId,t.job.objectiveId);if(!i)throw Error("Objective context could not be resolved for this scheduled task.");let s=await L({job:t.job,objectiveContext:i}),a=await h({...t.controllerContext,prompt:s.prompt,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","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk","projectProgress":35,"projectStatus":"at_risk"}\n{"action":"run_prompt","prompt":"detailed instructions","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk"}\n{"action":"stop","reason":"...","objectiveProgress":42,"objectiveStatus":"at_risk"}\nRules:\n- "work_ticket": ticketId must exactly match one of the ELIGIBLE TICKETS ids.\n- "run_prompt": for work not captured by existing tickets. When no tickets are actionable and the objective is not done, use this to plan: review notes, refine the last plan, or outline next steps. The prompt should instruct the agent to append to an existing note when one is relevant rather than creating a new note.\n- "stop": only when the objective is done or genuinely no action (including planning) adds value.\nPercentages must be integers 0-100.\nStatuses: on_track, at_risk, off_track, done.',cliArgs:t.cliArgs,onSpawn:t.onSpawn});if("success"!==a.status)return{...a,output:a.output||"Objective controller failed before selecting an action."};let n=j(a.output),_="string"==typeof n?.action?n.action.trim().toLowerCase():"string"==typeof n?.decision?n.decision.trim().toLowerCase():"",E="work"===_?"work_ticket":_;if(!E){let e=a.output??"";console.warn(`[objective-worker] empty action from controller (job=${t.job.id}, outputLen=${e.length}, parsed=${n?"object":"null"}):`,e.slice(0,500))}let g="string"==typeof n?.reason?n.reason.trim():"",b=f(n?.objectiveProgress),v=N(n?.objectiveStatus),A=f(n?.projectProgress),S=N(n?.projectStatus),O="string"==typeof n?.projectNote?n.projectNote.trim():"",y="string"==typeof n?.objectiveNote?n.objectiveNote.trim():"",w=new Date().toISOString(),k=null!==b&&v?I("Objective health",b,v):null,R=null!==A&&S?I("Project health",A,S):null,D=null!==b&&null!==v?{objectiveId:i.objective.id,objectiveKey:i.objective.key,progress:b,status:v,recordedAt:w,source:`scheduled-task:${t.job.id}`,note:y||void 0}:null,X=null!==b&&null!==v&&(b!==i.objective.progress||v!==i.objective.status),C=X?(0,m.upsertProjectObjective)(i.workspace,{...i.objective,progress:b,status:v,updatedAt:w}):i.workspace,U=null!==A&&null!==S?{progress:A,status:S,updatedAt:w,source:`scheduled-task:${t.job.id}`,objectiveId:i.objective.id,objectiveKey:i.objective.key,note:O||void 0}:null,M=e=>{let t=e;return U&&(t=(0,m.writeProjectHealthSnapshot)(t,U)),D&&(t=function(e,t){let r=t.objectiveId.trim();if(!r)return e;let i=function(e,t){if(!l(e)||!t.trim())return[];let r=e[u];if(!l(r))return[];let i=r[t.trim()];return Array.isArray(i)?T(i.map(e=>(function(e){if(!l(e))return null;let t=function(e){if("string"!=typeof e)return null;let t=e.trim().toLowerCase();return"on_track"===t||"at_risk"===t||"off_track"===t||"done"===t?t:c[t]??null}(e.status),r=function(e){if("string"!=typeof e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:new Date(t).toISOString()}(e.recordedAt);return t&&r?{progress:d(e.progress),status:t,recordedAt:r,source:p(e.source),note:p(e.note),objectiveId:p(e.objectiveId)??null,objectiveKey:p(e.objectiveKey)??null}:null})(e)).filter(e=>!!e)):[]}(e,r),s=T(i,[t]).slice(-200),a=l(e[u])?e[u]:{};return{...e,[u]:{...a,[r]:s.map(e=>({progress:d(e.progress),status:e.status,recordedAt:e.recordedAt,...e.source?{source:e.source}:{},...e.note?{note:e.note}:{},...e.objectiveId?{objectiveId:e.objectiveId}:{},...e.objectiveKey?{objectiveKey:e.objectiveKey}:{}}))}}}(t,D)),t};X?await (0,o.persistProjectObjectiveWorkspace)({projectId:i.project.id,currentMetadata:i.project.metadata,workspace:C,transformMetadata:M}):(D||U)&&await (0,o.persistProjectObjectiveMetadata)({projectId:i.project.id,currentMetadata:i.project.metadata,transformMetadata:M});let{dispatchObjectiveAction:$}=await e.A(688671),P=await $({action:E,parsed:n,reason:g,job:t.job,controllerContext:t.controllerContext,sessionAgent:t.sessionAgent,objectiveContext:i,eligibleIssues:s.eligibleIssues,issues:s.issues,healthSummaries:{objectiveHealthSummary:k,projectHealthSummary:R,objectiveNote:y,projectNote:O},cliArgs:t.cliArgs,onSpawn:t.onSpawn,startMs:r}),{logActionReceipt:x}=await e.A(688671);return await x(P,{jobId:t.job.id,projectId:t.job.projectId,objectiveId:t.job.objectiveId}),{output:P.result,error:"failed"===P.status?P.result:"",durationMs:Date.now()-r,status:P.status}}catch(e){return{output:"",error:e instanceof Error?e.message:String(e),durationMs:Date.now()-r,status:"failed"}}}e.s(["buildObjectiveObservation",()=>L,"executeObjectiveWorker",()=>v,"extractFirstJsonObject",()=>j],720395)},688671,e=>{e.v(e=>Promise.resolve().then(()=>e(917435)))}];
90
+
91
+ //# sourceMappingURL=apps_local_e32b0cab._.js.map