@mndrk/agx 2.0.56 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) 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 +2 -0
  3. package/cloud-runtime/standalone/apps/local/.next/build-manifest.json +3 -3
  4. package/cloud-runtime/standalone/apps/local/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/apps/local/.next/routes-manifest.json +15 -0
  6. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js +1 -1
  7. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.html +1 -1
  9. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.rsc +1 -1
  10. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/apps/local/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js +1 -1
  16. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.html +2 -2
  19. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.rsc +2 -2
  20. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/cloud-runtime/standalone/apps/local/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js +1 -1
  27. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  28. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  29. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js +1 -1
  30. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page.js.nft.json +1 -1
  31. package/cloud-runtime/standalone/apps/local/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.html +2 -2
  33. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.rsc +3 -3
  34. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  35. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  36. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  37. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  38. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  39. package/cloud-runtime/standalone/apps/local/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  40. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js +1 -1
  41. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js +4 -3
  43. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js +1 -1
  45. package/cloud-runtime/standalone/apps/local/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js +2 -2
  47. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js +1 -1
  49. package/cloud-runtime/standalone/apps/local/.next/server/app/api/automations/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js +2 -2
  51. package/cloud-runtime/standalone/apps/local/.next/server/app/api/chat/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js +1 -1
  53. package/cloud-runtime/standalone/apps/local/.next/server/app/api/daemon/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/apps/local/.next/server/app/api/file-search/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js +1 -1
  56. package/cloud-runtime/standalone/apps/local/.next/server/app/api/filesystem/analyze/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -3
  58. package/cloud-runtime/standalone/apps/local/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/[id]/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
  61. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/options/route.js.nft.json +1 -1
  63. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js +5 -4
  64. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/runs/scripted/route.js.nft.json +1 -1
  65. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/app-paths-manifest.json +3 -0
  67. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/build-manifest.json +9 -0
  68. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route/server-reference-manifest.json +4 -0
  69. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js +13 -0
  70. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.map +5 -0
  71. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route.js.nft.json +1 -0
  72. package/cloud-runtime/standalone/apps/local/.next/server/app/api/linear/worker/route_client-reference-manifest.js +3 -0
  73. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js +1 -1
  74. package/cloud-runtime/standalone/apps/local/.next/server/app/api/participants/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js +4 -4
  76. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/activities/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js +4 -4
  78. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/linear-issues/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js +2 -2
  80. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/[noteId]/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js +2 -2
  82. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/notes/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js +3 -3
  84. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js +14 -13
  86. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js +3 -3
  88. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/validate/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/app-paths-manifest.json +3 -0
  90. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/build-manifest.json +9 -0
  91. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route/server-reference-manifest.json +4 -0
  92. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js +28 -0
  93. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.map +5 -0
  94. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route.js.nft.json +1 -0
  95. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/objectives/[objectiveId]/worker/route_client-reference-manifest.js +3 -0
  96. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js +9 -5
  97. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js +1 -1
  99. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/search/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/[id]/teams/route.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js +4 -4
  102. package/cloud-runtime/standalone/apps/local/.next/server/app/api/projects/route.js.nft.json +1 -1
  103. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +1 -1
  104. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -1
  105. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js +1 -1
  106. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -1
  107. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js +1 -1
  108. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -1
  109. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js +16 -15
  110. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  111. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js +5 -5
  112. package/cloud-runtime/standalone/apps/local/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -1
  113. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/check/[id]/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/apps/local/.next/server/app/api/providers/route.js.nft.json +1 -1
  115. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js +1 -1
  116. package/cloud-runtime/standalone/apps/local/.next/server/app/api/queue/route.js.nft.json +1 -1
  117. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js +1 -1
  118. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  119. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js +1 -1
  120. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  121. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js +2 -2
  122. package/cloud-runtime/standalone/apps/local/.next/server/app/api/schedules/route.js.nft.json +1 -1
  123. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  125. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/route.js.nft.json +1 -1
  129. package/cloud-runtime/standalone/apps/local/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/apps/local/.next/server/app/api/status/route.js.nft.json +1 -1
  131. package/cloud-runtime/standalone/apps/local/.next/server/app/api/summarize/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  133. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  135. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  137. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  149. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  155. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js +5 -4
  156. package/cloud-runtime/standalone/apps/local/.next/server/app/api/tasks/route.js.nft.json +1 -1
  157. package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js +1 -1
  158. package/cloud-runtime/standalone/apps/local/.next/server/app/api/terminal/sessions/[id]/route.js.nft.json +1 -1
  159. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js +1 -1
  160. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  161. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js +1 -1
  162. package/cloud-runtime/standalone/apps/local/.next/server/app/api/threads/route.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js +1 -1
  164. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/apps/local/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  166. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.html +2 -2
  167. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.rsc +14 -14
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +14 -14
  169. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  170. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  171. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  173. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  174. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js +1 -1
  175. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/apps/local/.next/server/app/board/page_client-reference-manifest.js +1 -1
  177. package/cloud-runtime/standalone/apps/local/.next/server/app/board.html +2 -2
  178. package/cloud-runtime/standalone/apps/local/.next/server/app/board.rsc +2 -2
  179. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_full.segment.rsc +2 -2
  180. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_head.segment.rsc +1 -1
  181. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_index.segment.rsc +2 -2
  182. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  183. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  184. package/cloud-runtime/standalone/apps/local/.next/server/app/board.segments/board.segment.rsc +1 -1
  185. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js +1 -1
  186. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page.js.nft.json +1 -1
  187. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  188. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.html +2 -2
  189. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.rsc +3 -3
  190. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  191. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  192. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  193. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  194. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  195. package/cloud-runtime/standalone/apps/local/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  196. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js +1 -1
  197. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page.js.nft.json +1 -1
  198. package/cloud-runtime/standalone/apps/local/.next/server/app/folders/page_client-reference-manifest.js +1 -1
  199. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.html +2 -2
  200. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.rsc +2 -2
  201. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_full.segment.rsc +2 -2
  202. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_head.segment.rsc +1 -1
  203. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_index.segment.rsc +2 -2
  204. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/_tree.segment.rsc +2 -2
  205. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +1 -1
  206. package/cloud-runtime/standalone/apps/local/.next/server/app/folders.segments/folders.segment.rsc +1 -1
  207. package/cloud-runtime/standalone/apps/local/.next/server/app/index.html +2 -2
  208. package/cloud-runtime/standalone/apps/local/.next/server/app/index.rsc +2 -2
  209. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  210. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_full.segment.rsc +2 -2
  211. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_head.segment.rsc +1 -1
  212. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_index.segment.rsc +2 -2
  213. package/cloud-runtime/standalone/apps/local/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  214. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js +1 -1
  215. package/cloud-runtime/standalone/apps/local/.next/server/app/page.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/apps/local/.next/server/app/page_client-reference-manifest.js +1 -1
  217. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js +1 -1
  218. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  219. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  220. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js +1 -1
  221. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page.js.nft.json +1 -1
  222. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/env-vars/page_client-reference-manifest.js +1 -1
  223. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js +1 -1
  224. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page.js.nft.json +1 -1
  225. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/folders/page_client-reference-manifest.js +1 -1
  226. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js +1 -1
  227. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  228. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  229. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js +1 -1
  230. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  231. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  232. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page/react-loadable-manifest.json +6 -0
  233. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js +1 -1
  234. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  235. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  236. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js +1 -1
  237. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page.js.nft.json +1 -1
  238. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/[objectiveId]/page_client-reference-manifest.js +1 -1
  239. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js +1 -1
  240. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page.js.nft.json +1 -1
  241. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/objectives/page_client-reference-manifest.js +1 -1
  242. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js +1 -1
  243. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  244. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  245. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js +1 -1
  246. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page.js.nft.json +1 -1
  247. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  248. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js +1 -1
  249. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page.js.nft.json +1 -1
  250. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/agents/[agentId]/page_client-reference-manifest.js +1 -1
  251. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js +1 -1
  252. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page.js.nft.json +1 -1
  253. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/[teamId]/page_client-reference-manifest.js +1 -1
  254. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js +1 -1
  255. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page.js.nft.json +1 -1
  256. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/adopt/page_client-reference-manifest.js +1 -1
  257. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js +1 -1
  258. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page.js.nft.json +1 -1
  259. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/new/page_client-reference-manifest.js +1 -1
  260. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js +1 -1
  261. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page.js.nft.json +1 -1
  262. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/page_client-reference-manifest.js +1 -1
  263. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js +1 -1
  264. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page.js.nft.json +1 -1
  265. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/teams/replace/page_client-reference-manifest.js +1 -1
  266. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js +1 -1
  267. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page.js.nft.json +1 -1
  268. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/terminal/page_client-reference-manifest.js +1 -1
  269. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js +1 -1
  270. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  271. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  272. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js +1 -1
  273. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  274. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  275. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.html +2 -2
  276. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.rsc +3 -3
  277. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  278. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  279. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  280. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  281. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  282. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  283. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  284. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js +1 -1
  285. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page.js.nft.json +1 -1
  286. package/cloud-runtime/standalone/apps/local/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  287. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.html +2 -2
  288. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.rsc +2 -2
  289. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  290. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  291. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  292. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  293. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
  294. package/cloud-runtime/standalone/apps/local/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  295. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js +1 -1
  296. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page.js.nft.json +1 -1
  297. package/cloud-runtime/standalone/apps/local/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  298. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.html +2 -2
  299. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.rsc +2 -2
  300. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  301. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  302. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  303. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  304. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  305. package/cloud-runtime/standalone/apps/local/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  306. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js +1 -1
  307. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page.js.nft.json +1 -1
  308. package/cloud-runtime/standalone/apps/local/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  309. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.html +2 -2
  310. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.rsc +3 -3
  311. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_full.segment.rsc +3 -3
  312. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  313. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_index.segment.rsc +2 -2
  314. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  315. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
  316. package/cloud-runtime/standalone/apps/local/.next/server/app/setup.segments/setup.segment.rsc +1 -1
  317. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js +1 -1
  318. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page.js.nft.json +1 -1
  319. package/cloud-runtime/standalone/apps/local/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  320. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.html +2 -2
  321. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.rsc +2 -2
  322. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  323. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  324. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  325. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  326. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  327. package/cloud-runtime/standalone/apps/local/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  328. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js +1 -1
  329. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page.js.nft.json +1 -1
  330. package/cloud-runtime/standalone/apps/local/.next/server/app/status/page_client-reference-manifest.js +1 -1
  331. package/cloud-runtime/standalone/apps/local/.next/server/app/status.html +2 -2
  332. package/cloud-runtime/standalone/apps/local/.next/server/app/status.rsc +2 -2
  333. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +2 -2
  334. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_head.segment.rsc +1 -1
  335. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_index.segment.rsc +2 -2
  336. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  337. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  338. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/status.segment.rsc +1 -1
  339. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js +1 -1
  340. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  341. package/cloud-runtime/standalone/apps/local/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  342. package/cloud-runtime/standalone/apps/local/.next/server/app-paths-manifest.json +2 -0
  343. package/cloud-runtime/standalone/apps/local/.next/server/chunks/0jps_app_api_projects_[id]_objectives_[objectiveId]_worker_route_actions_0v8q3zz.js +3 -0
  344. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__0_au5u1._.js +3 -0
  345. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[externals]__13x93ar._.js +3 -0
  346. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0_10qfd._.js → [root-of-the-server]__0.6yz1u._.js} +2 -2
  347. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__01lsgl~._.js +4 -0
  348. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0205scg._.js → [root-of-the-server]__03.9arn._.js} +2 -2
  349. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__03h0gqp._.js +3 -0
  350. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08jo91s._.js +9 -0
  351. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0o315az._.js → [root-of-the-server]__09j9jpf._.js} +2 -2
  352. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-nye63._.js → [root-of-the-server]__09jghbu._.js} +2 -2
  353. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0_7hiof._.js +43 -0
  354. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0.jam.l._.js → [root-of-the-server]__0a0cq38._.js} +2 -2
  355. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0asvfdo._.js +54 -0
  356. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0c86535._.js +3 -0
  357. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0cj1krd._.js +3 -0
  358. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0aa-88e._.js → [root-of-the-server]__0dy3h2i._.js} +2 -2
  359. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0touqng._.js → [root-of-the-server]__0e8-2k_._.js} +2 -2
  360. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0enhv5p._.js +3 -0
  361. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0f9byr.._.js +1 -1
  362. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0t2jk2r._.js → [root-of-the-server]__0g7hc1-._.js} +2 -2
  363. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g7p6pw._.js +55 -0
  364. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__019q25b._.js → [root-of-the-server]__0gj~dap._.js} +7 -7
  365. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0e6cj2y._.js → [root-of-the-server]__0hc45jw._.js} +2 -2
  366. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hkcw03._.js +49 -0
  367. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0hmw36u._.js +1 -1
  368. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0l53ok5._.js +54 -0
  369. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0n.momw._.js +8 -0
  370. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tjo9we._.js +7 -0
  371. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__0-~t2br._.js → [root-of-the-server]__0v7jjvl._.js} +2 -2
  372. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0x6w64i._.js +3 -0
  373. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__11nke7t._.js → [root-of-the-server]__0y3qxv1._.js} +2 -2
  374. package/cloud-runtime/standalone/apps/local/.next/server/chunks/{[root-of-the-server]__10z8f9h._.js → [root-of-the-server]__0ygidxe._.js} +2 -2
  375. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0z82z0-._.js +49 -0
  376. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0zsv-tb._.js +8 -0
  377. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~nnfjr._.js +3 -0
  378. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0~x4jbk._.js +3 -0
  379. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__10d.dhd._.js +229 -0
  380. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12qy318._.js +3 -0
  381. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_039.xxy._.js +1 -1
  382. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_06oeti1._.js +49 -0
  383. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0dyy7h.._.js +3 -0
  384. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gi7c9x._.js +2 -2
  385. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0gr.psg._.js +1 -1
  386. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0sd8z0i._.js +21 -0
  387. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0y42h_~._.js +2 -2
  388. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~ah49q._.js +1 -1
  389. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_01kqgle._.js +11 -0
  390. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_06qet8g._.js +36 -0
  391. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_0m2ly._.js +397 -0
  392. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0_a~bj0._.js +25 -0
  393. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0a15wtk._.js +397 -0
  394. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0bjdpen._.js +29 -0
  395. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0fr1qq6._.js +1 -1
  396. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0g.q2r6._.js +41 -0
  397. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0h7wd0e._.js +29 -0
  398. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0i7fs.i._.js +397 -0
  399. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0ipg-p6._.js +3 -0
  400. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0npxy21._.js +11 -0
  401. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0uhfa93._.js +21 -0
  402. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_12wpldq._.js +25 -0
  403. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local__next-internal_server_app_api_linear_worker_route_actions_116303i.js +3 -0
  404. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01hd2_5._.js +3 -0
  405. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_01pvj2g._.js +34 -0
  406. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0ik933l._.js +55 -0
  407. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0o1v.j4._.js +79 -0
  408. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0pxj122._.js +55 -0
  409. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_automations_index_ts_0_8ch28._.js +10 -0
  410. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_082u-ls._.js +41 -0
  411. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0.xgxyl._.js +4 -0
  412. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0yu3--n._.js +4 -0
  413. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_0ze8hzc._.js +4 -0
  414. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_get-store_ts_0p0aod1._.js +5 -5
  415. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_linear-worker_ts_0ycjwem._.js +5 -0
  416. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0gips_c.js +1 -1
  417. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0u_5kfo.js +1 -1
  418. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0tvwux2._.js +3 -0
  419. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0hvpc.y._.js +3 -0
  420. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__006vr7.._.js +3 -0
  421. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0d18x53._.js +18 -0
  422. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0j9m72.._.js +18 -0
  423. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__02.r909._.js → [root-of-the-server]__0n5g8ml._.js} +2 -2
  424. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w.zmt6._.js +3 -0
  425. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w1mm2j._.js +3 -0
  426. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0z7nw_r._.js +3 -0
  427. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__10h_7t0._.js +3 -0
  428. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13h-0om._.js +3 -0
  429. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_00trrg8._.js +3 -0
  430. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +1 -1
  431. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0wk3skw._.js +1 -1
  432. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yeuuy1._.js +25 -0
  433. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_075cq2j._.js → apps_local_0k4~c1x._.js} +2 -2
  434. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0t6p.qm._.js +3 -0
  435. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_0_4hk8x._.js → apps_local_0v~bvwg._.js} +2 -2
  436. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_[id]_page_tsx_06n47n~._.js +1 -1
  437. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
  438. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
  439. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
  440. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_new_page_tsx_0yqd0a5._.js +3 -0
  441. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +1 -1
  442. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
  443. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +1 -1
  444. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_setup_page_tsx_0ql2qmr._.js +1 -1
  445. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_PromptJobBoard_tsx_06zob36._.js +8 -0
  446. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +6 -6
  447. package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +2 -0
  448. package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
  449. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  450. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  451. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
  452. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  453. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  454. package/cloud-runtime/standalone/apps/local/.next/static/chunks/003q-y3exxalk.js +1 -0
  455. package/cloud-runtime/standalone/apps/local/.next/static/chunks/00po4v2x~0x_z.js +1 -0
  456. package/cloud-runtime/standalone/apps/local/.next/static/chunks/013gtut17~fne.js +23 -0
  457. package/cloud-runtime/standalone/apps/local/.next/static/chunks/014z_yruiincl.js +1 -0
  458. package/cloud-runtime/standalone/apps/local/.next/static/chunks/041-dhls9zkl1.js +1 -0
  459. package/cloud-runtime/standalone/apps/local/.next/static/chunks/04yoml2rqnuot.js +16 -0
  460. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0_mrpyqcoyb_5.js +1 -0
  461. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{11-u35xqxu~i-.js → 0aewbg0i704w7.js} +1 -1
  462. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{08~pgzjb13k_v.js → 0dnw31436wd~..js} +2 -2
  463. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0jonp-o8lh-4j.js → 0e307b-0c2jbx.js} +1 -1
  464. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0edewt9l~cs~k.css +1 -0
  465. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0o9cxba_5mv2c.js → 0fonouj2i9qnb.js} +1 -1
  466. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gj98094p~zn4.js +1 -0
  467. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jrkacz_dyem6.js +37 -0
  468. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{02zcxdul-1jaf.js → 0mig99af4~uos.js} +3 -3
  469. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pdrpsy-zdxp0.js +5 -0
  470. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p~l5ap6qqx2o.js +1 -0
  471. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0stvi5btlxl4m.js +20 -0
  472. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rey9zfvm3yhd.js → 0tt1oh112yv-l.js} +1 -1
  473. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0w94x-v00osq0.js +1 -0
  474. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0mvqoz13v0o2a.js → 0wh6p5~ft5rma.js} +2 -2
  475. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0zw85-xl9ysjs.js +1 -0
  476. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{00lise4d-u8d1.js → 1011~1x9nj4ny.js} +1 -1
  477. package/cloud-runtime/standalone/apps/local/.next/static/chunks/119v0-idpg-cv.js +16 -0
  478. package/cloud-runtime/standalone/apps/local/.next/static/chunks/11l2tww5f0hsk.js +20 -0
  479. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16d~es6h6k~rj.js +6 -0
  480. package/cloud-runtime/standalone/apps/local/app/agents/[id]/page.tsx +40 -5
  481. package/cloud-runtime/standalone/apps/local/app/api/agents/[id]/profile/route.ts +10 -0
  482. package/cloud-runtime/standalone/apps/local/app/api/linear/worker/route.ts +151 -0
  483. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/route.ts +0 -8
  484. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +6 -27
  485. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/worker/route.ts +89 -0
  486. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/route.ts +13 -0
  487. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/search/route.ts +4 -4
  488. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/route.ts +5 -3
  489. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +7 -4
  490. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/new/page.tsx +236 -10
  491. package/cloud-runtime/standalone/apps/local/app/setup/page.tsx +9 -1
  492. package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +36 -8
  493. package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +53 -24
  494. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +73 -0
  495. package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +17 -12
  496. package/cloud-runtime/standalone/apps/local/components/linear/LinearSettingsModal.tsx +105 -0
  497. package/cloud-runtime/standalone/apps/local/components/linear/LinearWorkerConfig.tsx +367 -0
  498. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveHealthTrend.tsx +215 -0
  499. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +170 -46
  500. package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +8 -2
  501. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +211 -368
  502. package/cloud-runtime/standalone/apps/local/components/projects/RecentlyCompletedCard.tsx +213 -0
  503. package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +121 -6
  504. package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +1 -1
  505. package/cloud-runtime/standalone/apps/local/components/setup/McpSetupStep.tsx +242 -0
  506. package/cloud-runtime/standalone/apps/local/components/setup/ProjectStep.tsx +2 -2
  507. package/cloud-runtime/standalone/apps/local/components/setup/ProviderStep.tsx +1 -1
  508. package/cloud-runtime/standalone/apps/local/components/setup/TeamsStep.tsx +288 -15
  509. package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +24 -14
  510. package/cloud-runtime/standalone/apps/local/hooks/useSetupFlow.ts +16 -2
  511. package/cloud-runtime/standalone/apps/local/lib/objective-health-history.ts +198 -0
  512. package/cloud-runtime/standalone/apps/local/lib/project-objective-context.ts +10 -0
  513. package/cloud-runtime/standalone/apps/local/lib/project-objectives.ts +0 -9
  514. package/cloud-runtime/standalone/apps/local/skills-lock.json +20 -0
  515. package/cloud-runtime/standalone/apps/local/src/automations/adapters.ts +5 -0
  516. package/cloud-runtime/standalone/apps/local/src/automations/types.ts +5 -0
  517. package/cloud-runtime/standalone/apps/local/src/automations/validation.ts +12 -5
  518. package/cloud-runtime/standalone/apps/local/src/objectives/parser.ts +0 -2
  519. package/cloud-runtime/standalone/apps/local/src/objectives/serializer.ts +0 -2
  520. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-constants.ts +38 -0
  521. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-job.ts +47 -0
  522. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker.ts +482 -0
  523. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker-job.ts +47 -0
  524. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +511 -0
  525. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +51 -417
  526. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/store.ts +19 -4
  527. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +12 -8
  528. package/cloud-runtime/standalone/apps/local/state/terminalTabs.ts +182 -106
  529. package/cloud-runtime/standalone/apps/local/worker/index.js +12 -13
  530. package/package.json +1 -1
  531. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0-0479y._.js +0 -54
  532. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08oj_ky._.js +0 -49
  533. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08y2lkj._.js +0 -3
  534. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +0 -3
  535. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g50c6p._.js +0 -237
  536. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gtv0rq._.js +0 -8
  537. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ksbs9p._.js +0 -3
  538. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0pz~m67._.js +0 -3
  539. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0q93mk3._.js +0 -7
  540. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tdixb0._.js +0 -49
  541. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0vhcrdv._.js +0 -229
  542. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0xdp_8-._.js +0 -237
  543. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__11s20j6._.js +0 -3
  544. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12xhcor._.js +0 -54
  545. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_01rag2f._.js +0 -49
  546. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_03y4xss._.js +0 -21
  547. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0cm4i3i._.js +0 -3
  548. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0ijzgnb._.js +0 -3
  549. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~fjhfa._.js +0 -3
  550. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_12yasaj._.js +0 -9
  551. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_03q7_.q._.js +0 -21
  552. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0m3e2d~._.js +0 -30
  553. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0r-oiga._.js +0 -30
  554. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_00cwfvi._.js +0 -34
  555. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0hx7xyz._.js +0 -34
  556. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0rqcat4._.js +0 -55
  557. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0sc_lek._.js +0 -79
  558. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_135ddsu._.js +0 -55
  559. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_store_ts_0h.2qy9._.js +0 -43
  560. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_022nz2u._.js +0 -3
  561. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +0 -475
  562. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0yvelwy.js +0 -3
  563. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0qzjdog._.js +0 -3
  564. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0a-mbbj._.js +0 -3
  565. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__07johgg._.js +0 -3
  566. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0bf346q._.js +0 -3
  567. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r3w68h._.js +0 -18
  568. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0x7k~pk._.js +0 -3
  569. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0y8j6el._.js +0 -18
  570. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0yme9fy._.js +0 -3
  571. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~7q5sw._.js +0 -3
  572. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13eqcxp._.js +0 -3
  573. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_09~glsn._.js +0 -3
  574. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0n80y4_._.js +0 -3
  575. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +0 -8
  576. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ut3k~7._.js +0 -3
  577. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0vibfch._.js +0 -3
  578. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +0 -8
  579. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_04hvzn_._.js +0 -3
  580. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.4d8rshxivwh.js +0 -20
  581. package/cloud-runtime/standalone/apps/local/.next/static/chunks/02p3n7faotpr9.js +0 -16
  582. package/cloud-runtime/standalone/apps/local/.next/static/chunks/051-7k0nnm-vm.js +0 -1
  583. package/cloud-runtime/standalone/apps/local/.next/static/chunks/055bzj5jfgzr0.js +0 -1
  584. package/cloud-runtime/standalone/apps/local/.next/static/chunks/05c-~4v_jrblf.css +0 -1
  585. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09wzd7y~tk-3~.js +0 -1
  586. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0brmd4~76pthy.js +0 -20
  587. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0hudzktaaxr4g.js +0 -6
  588. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0hzq698w6f4m6.js +0 -1
  589. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0i.su2yr26wb6.js +0 -37
  590. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jsbvcyub73d9.js +0 -1
  591. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l2pt2td_87wr.js +0 -5
  592. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p7s38p3bcffh.js +0 -1
  593. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0q2dgbluvgxf2.js +0 -16
  594. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ucg8e2wkd8gf.js +0 -1
  595. package/cloud-runtime/standalone/apps/local/.next/static/chunks/104xjvrf6y-zq.js +0 -1
  596. package/cloud-runtime/standalone/apps/local/.next/static/chunks/15jlly_p-g4c8.js +0 -6
  597. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16nozeadjid9-.js +0 -5
  598. /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → RnYHmEXBwXJjVrVVx2CuP}/_buildManifest.js +0 -0
  599. /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → RnYHmEXBwXJjVrVVx2CuP}/_clientMiddlewareManifest.js +0 -0
  600. /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → RnYHmEXBwXJjVrVVx2CuP}/_ssgManifest.js +0 -0
@@ -0,0 +1,397 @@
1
+ module.exports=[577820,e=>{"use strict";var t=e.i(254799),i=e.i(233405),r=e.i(814747),a=e.i(224361),s=e.i(796283);e.i(219233);var n=e.i(862411),o=e.i(356942),d=e.i(774553),l=e.i(923715),u=e.i(214870),c=e.i(821083);let p=(0,a.promisify)(i.execFile);function m(e){let t=e.trim().split(/\s+/)[0]??"";return(0,r.basename)(t)}async function _(e){let t=new Set;if(0===e.length)return t;let i=e.filter(({pid:e})=>{try{return process.kill(e,0),!0}catch{return!1}});if(0===i.length)return t;let r=i.map(e=>e.pid).join(",");try{let{stdout:e}=await p("ps",["-p",r,"-o","pid=,command="],{timeout:s.PS_COMMAND_TIMEOUT_MS}),a=new Map;for(let t of e.split("\n")){let e=t.trim();if(!e)continue;let i=e.match(/^(\d+)\s+(.+)$/);i&&a.set(Number(i[1]),m(i[2]))}for(let{pid:e,expectedCommand:r}of i){let i=a.get(e);i&&i===m(r)&&t.add(e)}}catch{}return t}function E(e){let t="objective_linear_ticket"===e.execution_mode||"objective_worker"===e.execution_mode?"objective_worker":"linear_worker"===e.execution_mode?"linear_worker":c.DEFAULT_PROMPT_JOB_EXECUTION_MODE;return{id:e.id,name:e.name,prompt:e.prompt,agentId:e.agent_id||"",projectId:e.project_id||"",objectiveId:e.objective_id||null,objectiveKey:e.objective_key||null,provider:e.provider||e.cli||"claude",model:e.model||"",cliArgs:e.cli_args||"",cronExpr:e.cron_expr,cadence:e.cadence||e.cron_expr||"",state:e.state,overlapPolicy:e.overlap_policy,catchUpPolicy:e.catch_up_policy||"fire_once",cancelCheckSec:e.cancel_check_sec,executionMode:t,scriptPrompt:"",teamId:"",builtIn:"objective_worker"===t||"linear_worker"===t,condition:e.condition||"",nextRunAt:e.next_run_at,lastRunAt:e.last_run_at,lastOutcome:e.last_outcome,createdAt:e.created_at,updatedAt:e.updated_at}}function g(e){return{id:e.id,jobId:e.job_id,status:e.status,output:e.output,error:e.error,durationMs:e.duration_ms,startedAt:e.started_at,finishedAt:e.finished_at,cancelledAt:e.cancelled_at,hostPid:e.host_pid,hostCommand:e.host_command,createdAt:e.created_at}}function h(e){return Object.values(e).some(e=>void 0!==e)}function f(e){let t=e.cadence?.trim(),i=e.cronExpr?.trim();if(t){if(i)return{cadence:t,cronExpr:i,legacyIntervalMs:e.checkEveryMs??n.DEFAULT_CONDITION_CHECK_EVERY_MS};let r=(0,u.parseCadence)(t);return r?{cadence:r.cadence,cronExpr:r.cronExpr,legacyIntervalMs:e.checkEveryMs??n.DEFAULT_CONDITION_CHECK_EVERY_MS}:null}if("condition"===e.triggerType){let t=(0,u.normalizeLegacyConditionSchedule)(e.checkEveryMs??n.DEFAULT_CONDITION_CHECK_EVERY_MS);return{cadence:t.cadence,cronExpr:t.cronExpr,legacyIntervalMs:t.intervalMs}}return null}class T{db;automationRepository;constructor(e,t){this.db=e,this.automationRepository=t}getAutomationRepo(){return this.automationRepository??=(0,d.getAutomationRepository)(),this.automationRepository}createJob(e){let i=f(e);if(!i)throw Error("Prompt jobs require a valid cadence or convertible legacy condition interval.");if(!(0,d.isAutomationFrontmatterEnabled)())return this.createLegacyJob(e,i);let r=(0,t.randomUUID)(),a=new Date().toISOString(),s=this.getAutomationRepo().createAutomation({id:r,name:e.name,...e.projectId?{projectId:e.projectId}:{},state:"active",trigger:{type:"scheduled",cadence:i.cadence,cronExpr:i.cronExpr},execution:{overlapPolicy:e.overlapPolicy,catchUpPolicy:e.catchUpPolicy,cancelCheckSec:e.cancelCheckSec,...e.condition?.trim()?{condition:e.condition.trim()}:{}},target:{type:"prompt_job",...e.builtIn?{builtIn:!0}:{},...e.agentId?{agentId:e.agentId}:{},...e.objectiveId?{objectiveId:e.objectiveId}:{},...e.objectiveKey?{objectiveKey:e.objectiveKey}:{},...e.executionMode&&e.executionMode!==c.DEFAULT_PROMPT_JOB_EXECUTION_MODE?{executionMode:e.executionMode}:{},...e.provider?{provider:e.provider}:{},...e.model?{model:e.model}:{},...void 0!==e.cliArgs?{cliArgs:e.cliArgs}:{},...e.scriptPrompt?{scriptPrompt:e.scriptPrompt}:{},...e.teamId?{teamId:e.teamId}:{}},createdAt:a,body:e.prompt}),n=(0,o.automationRecordToPromptJob)(s);return this.upsertLegacyJobRow(n),n}getJob(e){if(!(0,d.isAutomationFrontmatterEnabled)())return this.getLegacyJob(e);let t=this.getPromptJobRecord(e,!1);if(t?.archived)return null;if(t?.definition.target.type==="prompt_job"){let e=(0,o.automationRecordToPromptJob)(t);return this.ensureLegacyJobRow(e),e}return(0,d.isAutomationDualReadEnabled)()?this.getLegacyJob(e):null}listJobs(e){if(!(0,d.isAutomationFrontmatterEnabled)())return this.listLegacyJobs(e);let t=new Map;for(let i of this.getAutomationRepo().listVisibleAutomations({targetType:"prompt_job",...e?.state?{state:e.state}:{},...e?.projectId?{projectId:e.projectId}:{}})){let r=this.normalizePromptJobRecord(i);if(!r)continue;let a=(0,o.automationRecordToPromptJob)(r);e?.objectiveId&&a.objectiveId!==e.objectiveId||(e?.includeObjectiveJobs!==!1||e.objectiveId||!a.objectiveId)&&(t.set(a.id,a),this.ensureLegacyJobRow(a))}if((0,d.isAutomationDualReadEnabled)())for(let i of this.listLegacyJobs(e))t.has(i.id)||t.set(i.id,i);return[...t.values()].sort((e,t)=>{let i=Date.parse(e.createdAt);return Date.parse(t.createdAt)-i})}updateJob(e,t){if(!(0,d.isAutomationFrontmatterEnabled)())return this.updateLegacyJob(e,t);let i=this.getPromptJobRecord(e,!1);if(!i)return(0,d.isAutomationDualReadEnabled)()?this.updateLegacyJob(e,t):null;if("prompt_job"!==i.definition.target.type)return null;let r=i,a=this.buildDefinitionPatch(r,t);if(h(a)){let t=this.getAutomationRepo().updateAutomation(e,a);if(!t)return null;r=t}let s=this.buildStatePatch(t);if(h(s)){let t=this.getAutomationRepo().updateAutomationState(e,s);if(!t)return null;r=t}let n=(0,o.automationRecordToPromptJob)(r);return this.upsertLegacyJobRow(n),n}deleteJob(e){let t=this.getJob(e);if(t?.builtIn)throw Error("Cannot delete built-in job. Use pause instead.");(0,d.isAutomationFrontmatterEnabled)()&&(this.getAutomationRepo().archiveAutomation(e)||this.getAutomationRepo().deleteAutomation(e)),this.db.prepare("DELETE FROM prompt_jobs WHERE id = ?").run(e)}getDueJobs(e=Date.now()){if(!(0,d.isAutomationFrontmatterEnabled)())return this.getLegacyDueJobs(e);let t=new Map;for(let i of this.getAutomationRepo().listVisibleAutomations({targetType:"prompt_job",state:"active"})){let r=this.normalizePromptJobRecord(i);if(!r)continue;let a=(0,o.automationRecordToPromptJob)(r);null===a.nextRunAt||a.nextRunAt>e||(t.set(a.id,a),this.ensureLegacyJobRow(a))}if((0,d.isAutomationDualReadEnabled)())for(let i of this.getLegacyDueJobs(e))t.has(i.id)||t.set(i.id,i);return[...t.values()].sort((e,t)=>(e.nextRunAt??Number.MAX_SAFE_INTEGER)-(t.nextRunAt??Number.MAX_SAFE_INTEGER))}createRun(e){this.ensureLegacyJobRowById(e);let i=(0,t.randomUUID)();return this.db.prepare("INSERT INTO prompt_runs (id, job_id) VALUES (?, ?)").run(i,e),this.getRun(i)}getRun(e){let t=this.db.prepare("SELECT * FROM prompt_runs WHERE id = ?").get(e);return t?g(t):null}listRuns(e,t=50){return this.db.prepare("SELECT * FROM prompt_runs WHERE job_id = ? ORDER BY created_at DESC LIMIT ?").all(e,t).map(g)}listQueuedRuns(e=50){return this.db.prepare("SELECT * FROM prompt_runs WHERE status = 'queued' ORDER BY created_at ASC LIMIT ?").all(e).map(g)}updateRun(e,t){let i={status:"status",output:"output",error:"error",durationMs:"duration_ms",startedAt:"started_at",finishedAt:"finished_at",cancelledAt:"cancelled_at",hostPid:"host_pid",hostCommand:"host_command"},r=[],a=[];for(let[e,s]of Object.entries(t)){let t=i[e];t&&(r.push(`${t} = ?`),a.push(s??null))}return 0===r.length||(a.push(e),this.db.prepare(`UPDATE prompt_runs SET ${r.join(", ")} WHERE id = ?`).run(...a.map(e=>e))),this.getRun(e)}hasRunningRun(e){return void 0!==this.db.prepare("SELECT id FROM prompt_runs WHERE job_id = ? AND status IN ('queued', 'running') LIMIT 1").get(e)}async reapStaleRuns(e=18e5){let t=this.db.prepare(`SELECT id, job_id, host_pid, host_command, started_at, created_at
2
+ FROM prompt_runs
3
+ WHERE status = 'running'`).all(),i=Date.now(),r=t.filter(e=>null!=e.host_pid&&null!=e.host_command).map(e=>({pid:e.host_pid,expectedCommand:e.host_command})),a=await _(r),s=0;for(let r of t){var n;let t,o=(n=r.started_at||r.created_at)?/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(n)?Date.parse(n.replace(" ","T")+"Z"):Date.parse(n):NaN,d=Number.isFinite(o)?i-o:0,l=!1;null!=r.host_pid&&r.host_command?!a.has(r.host_pid)&&d>e?(l=!0,t=`Host process (pid ${r.host_pid}) is no longer running`):t="":d>e?(l=!0,t=`No host PID recorded; stuck for ${Math.round(d/6e4)} minutes`):t="",l&&(this.db.prepare(`UPDATE prompt_runs
4
+ SET status = 'failed',
5
+ error = ?,
6
+ duration_ms = ?,
7
+ finished_at = ?
8
+ WHERE id = ?`).run(`Reaped: ${t}`,d,new Date().toISOString(),r.id),s++)}return s}isRunCancelled(e){let t=this.db.prepare("SELECT status FROM prompt_runs WHERE id = ?").get(e);return t?.status==="cancelled"}normalizePromptJobRecord(e){if("prompt_job"!==e.definition.target.type||"condition"!==e.definition.trigger.type)return e;let t=(0,u.normalizeLegacyConditionSchedule)(e.definition.trigger.checkEveryMs);return this.getAutomationRepo().updateAutomation(e.definition.id,{trigger:{type:"scheduled",cadence:t.cadence,cronExpr:t.cronExpr},execution:{...e.definition.execution??{},condition:e.definition.execution?.condition??e.definition.trigger.condition}})}getPromptJobRecord(e,t){let i=this.getAutomationRepo().getAutomation(e),r=i?this.normalizePromptJobRecord(i):null;if(r?.definition.target.type==="prompt_job")return r;if(!t||!(0,d.isAutomationDualReadEnabled)())return null;let a=this.getLegacyJob(e);return a?this.materializeLegacyJob(a):null}materializeLegacyJob(e){let t=(0,o.promptJobToAutomationDefinition)(e),i=(0,o.promptJobToAutomationRuntimeState)(e),r=this.getAutomationRepo().upsertAutomation(t);return this.getAutomationRepo().updateAutomationState(e.id,{nextRunAt:i.nextRunAt,lastRunAt:i.lastRunAt,lastOutcome:i.lastOutcome,lastError:i.lastError,updatedAt:i.updatedAt})??r}buildDefinitionPatch(e,t){let i={},r={},a={},s={};void 0!==t.name&&(i.name=t.name),void 0!==t.projectId&&(i.projectId=t.projectId||null),void 0!==t.state&&(i.state=t.state),void 0!==t.prompt&&(i.body=t.prompt);let n=f(t);if(n)r.type="scheduled",r.cadence=n.cadence,r.cronExpr=n.cronExpr,r.intervalMs="scheduled"===e.definition.trigger.type?e.definition.trigger.intervalMs:void 0;else if(""===t.cadence)r.type="scheduled",r.cadence="scheduled"===e.definition.trigger.type?e.definition.trigger.cadence:void 0,r.cronExpr="scheduled"===e.definition.trigger.type?e.definition.trigger.cronExpr:void 0,r.intervalMs="scheduled"===e.definition.trigger.type?e.definition.trigger.intervalMs:void 0;else if(void 0!==t.cronExpr||void 0!==t.cadence){let i=e.definition.trigger;r.type="scheduled",r.cadence=t.cadence??("scheduled"===i.type?i.cadence:void 0),r.cronExpr=t.cronExpr??("scheduled"===i.type?i.cronExpr:void 0),r.intervalMs="scheduled"===i.type?i.intervalMs:void 0}return void 0!==t.overlapPolicy&&(a.overlapPolicy=t.overlapPolicy),void 0!==t.catchUpPolicy&&(a.catchUpPolicy=t.catchUpPolicy),void 0!==t.cancelCheckSec&&(a.cancelCheckSec=t.cancelCheckSec),void 0!==t.condition&&(a.condition=t.condition||void 0),void 0!==t.agentId&&(s.agentId=t.agentId||void 0),void 0!==t.objectiveId&&(s.objectiveId=t.objectiveId||void 0),void 0!==t.objectiveKey&&(s.objectiveKey=t.objectiveKey||void 0),void 0!==t.executionMode&&(s.executionMode=t.executionMode===c.DEFAULT_PROMPT_JOB_EXECUTION_MODE?void 0:t.executionMode),void 0!==t.provider&&(s.provider=t.provider||void 0),void 0!==t.model&&(s.model=t.model||void 0),void 0!==t.cliArgs&&(s.cliArgs=t.cliArgs),void 0!==t.scriptPrompt&&(s.scriptPrompt=t.scriptPrompt||void 0),void 0!==t.teamId&&(s.teamId=t.teamId||void 0),{...Object.keys(i).length>0?i:{},...Object.keys(r).length>0?{trigger:r}:{},...Object.keys(a).length>0?{execution:a}:{},...Object.keys(s).length>0?{target:s}:{}}}buildStatePatch(e){let t={};return void 0!==e.nextRunAt&&(t.nextRunAt=e.nextRunAt),void 0!==e.lastRunAt&&(t.lastRunAt=e.lastRunAt),void 0!==e.lastOutcome&&(t.lastOutcome=e.lastOutcome),t}ensureLegacyJobRowById(e){if(this.legacyJobRowExists(e))return;let t=this.getJob(e);t&&this.upsertLegacyJobRow(t)}ensureLegacyJobRow(e){this.legacyJobRowExists(e.id)||this.upsertLegacyJobRow(e)}legacyJobRowExists(e){return void 0!==this.db.prepare("SELECT 1 FROM prompt_jobs WHERE id = ?").get(e)}upsertLegacyJobRow(e){this.db.prepare(`INSERT INTO prompt_jobs (
9
+ id, name, prompt, cli, agent_id, project_id, objective_id, objective_key, provider, model, cli_args,
10
+ execution_mode,
11
+ cron_expr, cadence, state, overlap_policy, catch_up_policy, cancel_check_sec,
12
+ trigger_type, condition, check_every_ms, next_run_at, last_run_at, last_outcome,
13
+ created_at, updated_at
14
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
15
+ ON CONFLICT (id) DO UPDATE SET
16
+ name = excluded.name,
17
+ prompt = excluded.prompt,
18
+ cli = excluded.cli,
19
+ agent_id = excluded.agent_id,
20
+ project_id = excluded.project_id,
21
+ objective_id = excluded.objective_id,
22
+ objective_key = excluded.objective_key,
23
+ provider = excluded.provider,
24
+ model = excluded.model,
25
+ cli_args = excluded.cli_args,
26
+ execution_mode = excluded.execution_mode,
27
+ cron_expr = excluded.cron_expr,
28
+ cadence = excluded.cadence,
29
+ state = excluded.state,
30
+ overlap_policy = excluded.overlap_policy,
31
+ catch_up_policy = excluded.catch_up_policy,
32
+ cancel_check_sec = excluded.cancel_check_sec,
33
+ trigger_type = excluded.trigger_type,
34
+ condition = excluded.condition,
35
+ check_every_ms = excluded.check_every_ms,
36
+ next_run_at = excluded.next_run_at,
37
+ last_run_at = excluded.last_run_at,
38
+ last_outcome = excluded.last_outcome,
39
+ created_at = excluded.created_at,
40
+ updated_at = excluded.updated_at`).run(e.id,e.name,e.prompt,e.provider||"claude",e.agentId||null,e.projectId||null,e.objectiveId||null,e.objectiveKey||null,e.provider||"claude",e.model||"",e.cliArgs||"",e.executionMode||c.DEFAULT_PROMPT_JOB_EXECUTION_MODE,e.cronExpr||"",e.cadence||"",e.state,e.overlapPolicy,e.catchUpPolicy,e.cancelCheckSec,"scheduled",e.condition||"",n.DEFAULT_CONDITION_CHECK_EVERY_MS,e.nextRunAt??null,e.lastRunAt??null,e.lastOutcome??null,e.createdAt,e.updatedAt)}createLegacyJob(e,i){let r=(0,t.randomUUID)(),a=e.provider??"claude",s=(0,l.computeNextTickFromCron)(i.cronExpr)??null;return this.db.prepare(`INSERT INTO prompt_jobs (
41
+ id, name, prompt, cli, agent_id, project_id, objective_id, objective_key, provider, model, cli_args,
42
+ execution_mode,
43
+ cron_expr, cadence, overlap_policy, catch_up_policy, cancel_check_sec,
44
+ trigger_type, condition, check_every_ms, next_run_at
45
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(r,e.name,e.prompt,a,e.agentId||null,e.projectId||null,e.objectiveId||null,e.objectiveKey||null,a,e.model??"",e.cliArgs??"",e.executionMode??c.DEFAULT_PROMPT_JOB_EXECUTION_MODE,i.cronExpr,i.cadence,e.overlapPolicy??"skip",e.catchUpPolicy??"fire_once",e.cancelCheckSec??5,"scheduled",e.condition??"",i.legacyIntervalMs,s),this.getLegacyJob(r)}normalizeLegacyJobRow(e){if("condition"!==(e.trigger_type||"scheduled"))return e;let t=(0,u.normalizeLegacyConditionSchedule)(e.check_every_ms||n.DEFAULT_CONDITION_CHECK_EVERY_MS),i=(0,l.computeNextTickFromCron)(t.cronExpr)??null;return this.db.prepare(`UPDATE prompt_jobs
46
+ SET trigger_type = 'scheduled',
47
+ cadence = ?,
48
+ cron_expr = ?,
49
+ next_run_at = ?,
50
+ updated_at = datetime('now')
51
+ WHERE id = ?`).run(t.cadence,t.cronExpr,i,e.id),{...e,trigger_type:"scheduled",cadence:t.cadence,cron_expr:t.cronExpr,next_run_at:i}}getLegacyJob(e){let t=this.db.prepare("SELECT * FROM prompt_jobs WHERE id = ?").get(e);return t?E(this.normalizeLegacyJobRow(t)):null}listLegacyJobs(e){let t="SELECT * FROM prompt_jobs",i=[],r=[];return e?.state&&(i.push("state = ?"),r.push(e.state)),e?.projectId&&(i.push("project_id = ?"),r.push(e.projectId)),e?.objectiveId?(i.push("objective_id = ?"),r.push(e.objectiveId)):e?.includeObjectiveJobs===!1&&i.push("(objective_id IS NULL OR objective_id = '')"),i.length>0&&(t+=` WHERE ${i.join(" AND ")}`),t+=" ORDER BY created_at DESC",this.db.prepare(t).all(...r).map(e=>E(this.normalizeLegacyJobRow(e)))}updateLegacyJob(e,t){let i={name:"name",prompt:"prompt",cli:"cli",agentId:"agent_id",projectId:"project_id",objectiveId:"objective_id",objectiveKey:"objective_key",executionMode:"execution_mode",provider:"provider",cronExpr:"cron_expr",model:"model",cliArgs:"cli_args",cadence:"cadence",state:"state",overlapPolicy:"overlap_policy",catchUpPolicy:"catch_up_policy",cancelCheckSec:"cancel_check_sec",condition:"condition",nextRunAt:"next_run_at",lastRunAt:"last_run_at",lastOutcome:"last_outcome"},r=[],a=[],s=f(t);for(let[e,n]of Object.entries(t)){if(s&&("cadence"===e||"cronExpr"===e||"triggerType"===e||"checkEveryMs"===e))continue;let t=i[e];t&&void 0!==n&&(r.push(`${t} = ?`),a.push(n))}if(s)r.push("cadence = ?"),a.push(s.cadence),r.push("cron_expr = ?"),a.push(s.cronExpr),r.push("trigger_type = ?"),a.push("scheduled"),r.push("check_every_ms = ?"),a.push(s.legacyIntervalMs),void 0===t.nextRunAt&&(r.push("next_run_at = ?"),a.push((0,l.computeNextTickFromCron)(s.cronExpr)??null));else if(""===t.cadence)return this.getLegacyJob(e);return 0===r.length||(r.push("updated_at = datetime('now')"),a.push(e),this.db.prepare(`UPDATE prompt_jobs SET ${r.join(", ")} WHERE id = ?`).run(...a.map(e=>e))),this.getLegacyJob(e)}getLegacyDueJobs(e){return this.db.prepare(`SELECT * FROM prompt_jobs
52
+ WHERE state = 'active'
53
+ AND next_run_at IS NOT NULL
54
+ AND next_run_at <= ?
55
+ ORDER BY next_run_at ASC`).all(e).map(e=>E(this.normalizeLegacyJobRow(e))).filter(t=>null!==t.nextRunAt&&t.nextRunAt<=e)}}var y=e.i(522734),b=e.i(633211);let I=null;function L(e){return e.replace(/^\s*--.*$/gm,"").split(";").map(e=>e.trim()).filter(Boolean)}e.s(["getPromptJobStore",0,function(){if(!I){let e=(0,b.getSQLiteDb)();if(e.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name='prompt_jobs'").get()){if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='catch_up_policy'").get())for(let t of L((0,y.readFileSync)(r.default.join(process.cwd(),"db/sqlite/003_prompt_scheduler_v2.sql"),"utf-8")))try{e.exec(t)}catch(e){if(!e.message?.includes("duplicate column"))throw e}}else{let t=(0,y.readFileSync)(r.default.join(process.cwd(),"db/sqlite/002_prompt_scheduler_schema.sql"),"utf-8");e.exec(t)}if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_runs') WHERE name='host_pid'").get())for(let t of L((0,y.readFileSync)(r.default.join(process.cwd(),"db/sqlite/004_prompt_runs_host_pid.sql"),"utf-8")))try{e.exec(t)}catch(e){if(!e.message?.includes("duplicate column"))throw e}if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='objective_id'").get())for(let t of L((0,y.readFileSync)(r.default.join(process.cwd(),"db/sqlite/005_prompt_jobs_objectives.sql"),"utf-8")))try{e.exec(t)}catch(e){if(!e.message?.includes("duplicate column"))throw e}if(!e.prepare("SELECT 1 FROM pragma_table_info('prompt_jobs') WHERE name='execution_mode'").get())for(let t of L((0,y.readFileSync)(r.default.join(process.cwd(),"db/sqlite/006_prompt_jobs_execution_mode.sql"),"utf-8")))try{e.exec(t)}catch(e){if(!e.message?.includes("duplicate column"))throw e}I=new T(e)}return I}],577820)},716657,e=>{"use strict";var t=e.i(902157),i=e.i(750227),r=e.i(180228),a=e.i(660526);let s=i.default.join((0,a.homedir)(),".agx");function n(){return i.default.join(s,"linear-token.json")}function o(e){if(null===e)return"null";if(Array.isArray(e))return`[${e.map(o).join(", ")}]`;if("string"==typeof e)return JSON.stringify(e);if("number"==typeof e||"boolean"==typeof e)return String(e);if("object"==typeof e){let t=Object.entries(e).filter(([,e])=>void 0!==e);return`{ ${t.map(([e,t])=>`${e}: ${o(t)}`).join(", ")} }`}throw Error(`Unsupported GraphQL value: ${typeof e}`)}class d{accessToken;constructor(e){this.accessToken=e}get viewer(){return this.request("query { viewer { id name email } }").then(e=>e.viewer)}async users(){return(await this.request(`query {
56
+ users(first: 100) {
57
+ nodes {
58
+ id
59
+ name
60
+ }
61
+ }
62
+ }`)).users.nodes.filter(e=>e.name.trim().length>0).map(e=>({id:e.id,name:e.name})).sort((e,t)=>e.name.localeCompare(t.name))}async teams(){return(await this.request(`query {
63
+ teams(first: 50) {
64
+ nodes {
65
+ id
66
+ name
67
+ }
68
+ }
69
+ }`)).teams.nodes.filter(e=>e.name.trim().length>0).map(e=>({id:e.id,name:e.name})).sort((e,t)=>e.name.localeCompare(t.name))}async issueLabels(){return(await this.request(`query {
70
+ issueLabels(first: 250, includeArchived: false) {
71
+ nodes {
72
+ id
73
+ name
74
+ color
75
+ team {
76
+ id
77
+ name
78
+ }
79
+ }
80
+ }
81
+ }`)).issueLabels.nodes.filter(e=>e.name.trim().length>0).map(e=>({id:e.id,name:e.name.trim(),color:e.color,teamId:e.team?.id??null,teamName:e.team?.name??null})).sort((e,t)=>e.name.localeCompare(t.name))}async createIssueLabel(e){let t=e.name.trim();if(!t)throw Error("Linear label name is required");let i={name:t,...e.description?.trim()?{description:e.description.trim()}:{},...e.color?.trim()?{color:e.color.trim()}:{},...e.teamId?.trim()?{teamId:e.teamId.trim()}:{}},r=await this.request(`mutation {
82
+ issueLabelCreate(input: ${o(i)}) {
83
+ success
84
+ issueLabel {
85
+ id
86
+ name
87
+ color
88
+ team {
89
+ id
90
+ name
91
+ }
92
+ }
93
+ }
94
+ }`).then(e=>e.issueLabelCreate);if(!r.success)throw Error(`Linear rejected the label creation for "${t}"`);return{id:r.issueLabel.id,name:r.issueLabel.name.trim(),color:r.issueLabel.color,teamId:r.issueLabel.team?.id??null,teamName:r.issueLabel.team?.name??null}}async issues(e){let t,i=(t=[`first: ${e.first}`],e.after&&t.push(`after: ${JSON.stringify(e.after)}`),e.orderBy&&t.push(`orderBy: ${e.orderBy}`),e.filter&&Object.keys(e.filter).length>0&&t.push(`filter: ${o(e.filter)}`),t.join(", ")),r=await this.request(`query {
95
+ issues(${i}) {
96
+ nodes {
97
+ id
98
+ identifier
99
+ title
100
+ description
101
+ url
102
+ updatedAt
103
+ state { name }
104
+ assignee { id name email }
105
+ team { id name key }
106
+ cycle { id number name }
107
+ labels(first: 20) {
108
+ nodes {
109
+ name
110
+ }
111
+ }
112
+ }
113
+ pageInfo {
114
+ hasNextPage
115
+ endCursor
116
+ }
117
+ }
118
+ }`);return{nodes:r.issues.nodes.map(e=>({id:e.id,identifier:e.identifier,title:e.title,description:e.description,url:e.url,updatedAt:e.updatedAt,state:Promise.resolve(e.state),assignee:Promise.resolve(e.assignee),team:Promise.resolve(e.team),cycle:Promise.resolve(e.cycle),labels:Promise.resolve((e.labels?.nodes??[]).map(e=>e.name.trim()).filter(Boolean))})),pageInfo:r.issues.pageInfo}}async createIssue(e){let t=e.title.trim(),i=e.teamId.trim();if(!t)throw Error("Linear issue title is required");if(!i)throw Error("Linear issue team is required");let r={title:t,teamId:i,...e.description?.trim()?{description:e.description.trim()}:{},...e.assigneeId?.trim()?{assigneeId:e.assigneeId.trim()}:{},...e.cycleId?.trim()?{cycleId:e.cycleId.trim()}:{},...e.projectId?.trim()?{projectId:e.projectId.trim()}:{},...e.stateId?.trim()?{stateId:e.stateId.trim()}:{},..."number"==typeof e.priority&&Number.isFinite(e.priority)?{priority:Math.trunc(e.priority)}:{},...e.labelIds?.length?{labelIds:Array.from(new Set(e.labelIds.map(e=>e.trim()).filter(Boolean)))}:{}},a=await this.request(`mutation {
119
+ issueCreate(input: ${o(r)}) {
120
+ success
121
+ issue {
122
+ id
123
+ identifier
124
+ title
125
+ description
126
+ url
127
+ updatedAt
128
+ state { name }
129
+ assignee { id name email }
130
+ team { id name key }
131
+ cycle { id number name }
132
+ labels(first: 20) {
133
+ nodes {
134
+ name
135
+ }
136
+ }
137
+ }
138
+ }
139
+ }`).then(e=>e.issueCreate);if(!a.success||!a.issue)throw Error(`Linear rejected the issue creation for "${t}"`);return{id:a.issue.id,identifier:a.issue.identifier,title:a.issue.title,description:a.issue.description,url:a.issue.url,updatedAt:a.issue.updatedAt,status:a.issue.state?.name??null,assignee:a.issue.assignee?.name??null,teamId:a.issue.team?.id??null,teamName:a.issue.team?.name??null,teamKey:a.issue.team?.key??null,labels:(a.issue.labels?.nodes??[]).map(e=>e.name.trim()).filter(Boolean)}}async cycles(){let e=await this.request(`query {
140
+ teams(first: 50) {
141
+ nodes {
142
+ id
143
+ name
144
+ activeCycle {
145
+ id
146
+ number
147
+ name
148
+ startsAt
149
+ endsAt
150
+ team {
151
+ id
152
+ name
153
+ }
154
+ }
155
+ cycles(first: 20) {
156
+ nodes {
157
+ id
158
+ number
159
+ name
160
+ startsAt
161
+ endsAt
162
+ team {
163
+ id
164
+ name
165
+ }
166
+ }
167
+ }
168
+ }
169
+ }
170
+ }`),t=new Map;for(let i of e.teams.nodes)for(let e of[...i.activeCycle?[i.activeCycle]:[],...i.cycles.nodes])t.has(e.id)||t.set(e.id,{id:e.id,number:e.number,name:e.name,startsAt:e.startsAt,endsAt:e.endsAt,teamId:e.team?.id??i.id,teamName:e.team?.name??i.name});return[...t.values()].sort((e,t)=>new Date(t.startsAt).getTime()-new Date(e.startsAt).getTime())}async updateIssueStatus(e,t){let i=e.trim(),r=t.trim();if(!i)throw Error("Issue id is required");if(!r)throw Error("Status name is required");let a=await this.request(`query {
171
+ issue(id: ${JSON.stringify(i)}) {
172
+ id
173
+ team { id }
174
+ state { id name }
175
+ }
176
+ }`).then(e=>e.issue?{id:e.issue.id,teamId:e.issue.team?.id??null,currentStateId:e.issue.state?.id??null,currentStatus:e.issue.state?.name??null}:null);if(!a)throw Error(`Issue "${i}" not found in Linear`);if(!a.teamId)throw Error(`Issue "${i}" is missing a team in Linear`);if(a.currentStatus?.trim().toLowerCase()===r.toLowerCase()){let e=a.currentStatus.trim();return await this.request(`query {
177
+ issue(id: ${JSON.stringify(i)}) {
178
+ id
179
+ identifier
180
+ title
181
+ url
182
+ updatedAt
183
+ state { name }
184
+ assignee { name }
185
+ }
186
+ }`).then(t=>{if(!t.issue)throw Error(`Issue "${i}" not found in Linear`);return{id:t.issue.id,identifier:t.issue.identifier,title:t.issue.title,url:t.issue.url,updatedAt:t.issue.updatedAt,status:t.issue.state?.name??e,assignee:t.issue.assignee?.name??null}})}let s=(await this.request(`query {
187
+ team(id: ${JSON.stringify(a.teamId)}) {
188
+ states {
189
+ nodes {
190
+ id
191
+ name
192
+ position
193
+ }
194
+ }
195
+ }
196
+ }`).then(e=>e.team?.states?.nodes??[])).slice().sort((e,t)=>e.position-t.position).find(e=>e.name.trim().toLowerCase()===r.toLowerCase());if(!s)throw Error(`Linear status "${r}" was not found for this issue's team`);let n=await this.request(`mutation {
197
+ issueUpdate(
198
+ id: ${JSON.stringify(i)},
199
+ input: { stateId: ${JSON.stringify(s.id)} }
200
+ ) {
201
+ success
202
+ issue {
203
+ id
204
+ identifier
205
+ title
206
+ url
207
+ updatedAt
208
+ state { name }
209
+ assignee { name }
210
+ }
211
+ }
212
+ }`).then(e=>e.issueUpdate);if(!n.success||!n.issue)throw Error(`Linear rejected the status update for "${i}"`);return{id:n.issue.id,identifier:n.issue.identifier,title:n.issue.title,url:n.issue.url,updatedAt:n.issue.updatedAt,status:n.issue.state?.name??r,assignee:n.issue.assignee?.name??null}}async request(e){let t=await fetch("https://api.linear.app/graphql",{method:"POST",headers:{"Content-Type":"application/json",Authorization:this.accessToken},body:JSON.stringify({query:e}),cache:"no-store"}),i=await t.json();if(!t.ok||i.errors?.length)throw Error(i.errors?.map(e=>e.message).find(Boolean)??`Linear request failed with status ${t.status}`);if(!i.data)throw Error("Linear response did not include data");return i.data}}function l(){let e=function(){try{let e=(0,t.readFileSync)(n(),"utf8");return JSON.parse(e)}catch{}try{var e;let r=i.default.join(process.cwd(),".linear-token.json"),a=(0,t.readFileSync)(r,"utf8"),o=JSON.parse(a);e=o,(0,t.existsSync)(s)||(0,t.mkdirSync)(s,{recursive:!0}),(0,t.writeFileSync)(n(),JSON.stringify(e,null,2));try{(0,t.unlinkSync)(r)}catch{}return o}catch{return null}}();return e?new d(e.accessToken):null}var u=e.x("node:sqlite",()=>require("node:sqlite"),!0),c=e.i(801243);let p=process.env.AGX_LINEAR_DIR?.trim()||i.default.join(process.env.AGX_DATA_DIR||i.default.join(a.default.homedir(),".agx"),"linear"),m=i.default.join(p,"issues.sqlite");function _(e){return e?.trim()||null}function E(e){return Array.isArray(e)?Array.from(new Set(e.map(e=>"string"==typeof e?e.trim():"").filter(Boolean))):[]}function g(e){return new Date(e).toISOString()}function h(e){return{id:e.issue_id,identifier:e.identifier,title:e.title,description:e.description,labels:function(e){if(!e)return[];try{return E(JSON.parse(e))}catch{return[]}}(e.labels_json),url:e.url,status:e.status,assigneeId:e.assignee_id,assignee:e.assignee_name,assigneeEmail:e.assignee_email,isAssignedToMe:1===e.is_assigned_to_me,teamId:e.team_id,teamName:e.team_name,teamKey:e.team_key,cycleId:e.cycle_id,cycleName:e.cycle_name,cycleNumber:e.cycle_number,updatedAt:e.updated_at,pulledAt:g(e.pulled_at)}}async function f(e){await t.promises.mkdir(p,{recursive:!0});let i=new u.DatabaseSync(m);(0,c.pragmaSet)(i,"journal_mode = WAL");try{var r;return i.exec(`
213
+ CREATE TABLE IF NOT EXISTS linear_issues (
214
+ issue_id TEXT PRIMARY KEY,
215
+ identifier TEXT NOT NULL,
216
+ title TEXT NOT NULL,
217
+ description TEXT,
218
+ labels_json TEXT NOT NULL DEFAULT '[]',
219
+ url TEXT,
220
+ status TEXT NOT NULL,
221
+ assignee_id TEXT,
222
+ assignee_name TEXT,
223
+ assignee_email TEXT,
224
+ is_assigned_to_me INTEGER NOT NULL DEFAULT 0,
225
+ team_id TEXT,
226
+ team_name TEXT,
227
+ team_key TEXT,
228
+ cycle_id TEXT,
229
+ cycle_name TEXT,
230
+ cycle_number INTEGER,
231
+ updated_at TEXT NOT NULL,
232
+ pulled_at INTEGER NOT NULL
233
+ );
234
+ CREATE INDEX IF NOT EXISTS idx_linear_issues_updated
235
+ ON linear_issues (updated_at DESC, identifier ASC);
236
+ CREATE INDEX IF NOT EXISTS idx_linear_issues_cycle
237
+ ON linear_issues (cycle_id, updated_at DESC);
238
+ CREATE INDEX IF NOT EXISTS idx_linear_issues_assignee_me
239
+ ON linear_issues (is_assigned_to_me, updated_at DESC);
240
+ CREATE TABLE IF NOT EXISTS linear_issue_sync_state (
241
+ scope_key TEXT PRIMARY KEY,
242
+ last_pulled_at INTEGER NOT NULL,
243
+ issue_count INTEGER NOT NULL
244
+ );
245
+ `),r="linear_issues",i.prepare(`PRAGMA table_info(${r})`).all().some(e=>"labels_json"===e.name)||i.exec(`ALTER TABLE ${r} ADD COLUMN labels_json TEXT NOT NULL DEFAULT '[]'`),e(i)}finally{i.close()}}async function T(e){let t=e.pulledAtMs??Date.now();return f(i=>{i.exec("BEGIN");try{let s=i.prepare(`
246
+ INSERT INTO linear_issues (
247
+ issue_id, identifier, title, description, labels_json, url, status,
248
+ assignee_id, assignee_name, assignee_email, is_assigned_to_me,
249
+ team_id, team_name, team_key, cycle_id, cycle_name, cycle_number,
250
+ updated_at, pulled_at
251
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
252
+ ON CONFLICT(issue_id) DO UPDATE SET
253
+ identifier = excluded.identifier,
254
+ title = excluded.title,
255
+ description = excluded.description,
256
+ labels_json = excluded.labels_json,
257
+ url = excluded.url,
258
+ status = excluded.status,
259
+ assignee_id = excluded.assignee_id,
260
+ assignee_name = excluded.assignee_name,
261
+ assignee_email = excluded.assignee_email,
262
+ is_assigned_to_me = excluded.is_assigned_to_me,
263
+ team_id = excluded.team_id,
264
+ team_name = excluded.team_name,
265
+ team_key = excluded.team_key,
266
+ cycle_id = excluded.cycle_id,
267
+ cycle_name = excluded.cycle_name,
268
+ cycle_number = excluded.cycle_number,
269
+ updated_at = excluded.updated_at,
270
+ pulled_at = excluded.pulled_at
271
+ `);for(let i of e.issues){var r,a;s.run(i.id.trim(),i.identifier.trim(),i.title.trim(),_(i.description??null),(r=i.labels,JSON.stringify(E(r??[]))),_(i.url??null),i.status.trim(),_(i.assigneeId??null),_(i.assignee??null),_(i.assigneeEmail??null),+!!i.isAssignedToMe,_(i.teamId??null),_(i.teamName??null),_(i.teamKey??null),_(i.cycleId??null),_(i.cycleName??null),(a=i.cycleNumber??null,"number"==typeof a&&Number.isFinite(a)?a:null),i.updatedAt.trim(),t)}if(e.complete)if(0===e.issues.length)i.exec("DELETE FROM linear_issues");else{let t=e.issues.map(()=>"?").join(", ");i.prepare(`DELETE FROM linear_issues WHERE issue_id NOT IN (${t})`).run(...e.issues.map(e=>e.id.trim()))}i.exec("COMMIT")}catch(e){throw i.exec("ROLLBACK"),e}})}async function y(e,t,i=Date.now()){let r=e.trim()||"global";return f(e=>{e.prepare(`
272
+ INSERT INTO linear_issue_sync_state (scope_key, last_pulled_at, issue_count)
273
+ VALUES (?, ?, ?)
274
+ ON CONFLICT(scope_key) DO UPDATE SET
275
+ last_pulled_at = excluded.last_pulled_at,
276
+ issue_count = excluded.issue_count
277
+ `).run(r,i,t)})}async function b(e="global"){let t=e.trim()||"global";return f(e=>{let i=e.prepare(`SELECT scope_key, last_pulled_at, issue_count
278
+ FROM linear_issue_sync_state
279
+ WHERE scope_key = ?
280
+ LIMIT 1`).get(t);return i?{scopeKey:i.scope_key,lastPulledAt:g(i.last_pulled_at),issueCount:i.issue_count}:null})}async function I(){return f(e=>{let t=e.prepare("SELECT COUNT(*) AS count FROM linear_issues").get();return t?.count??0})}async function L(e={}){let t=Number.isFinite(e.limit)?Math.min(Math.max(Number(e.limit),1),500):50,i=Number.isFinite(Number(e.cursor))?Math.max(Number(e.cursor),0):0;return f(r=>{let a,s=[],n=[],o=_(e.search??null);if(o){let e=`%${o.toLowerCase().replace(/[\\%_]/g,"\\$&")}%`;s.push("(LOWER(identifier) LIKE ? ESCAPE '\\' OR LOWER(title) LIKE ? ESCAPE '\\' OR LOWER(COALESCE(description, '')) LIKE ? ESCAPE '\\')"),n.push(e,e,e)}let d=Array.from(new Set((e.statuses??[]).map(e=>_(e)).filter(e=>!!e).map(e=>e.toLowerCase())));d.length>0&&(s.push(`LOWER(status) IN (${d.map(()=>"?").join(", ")})`),n.push(...d));let l=Array.from(new Set((e.assigneeIds??[]).map(e=>_(e)).filter(e=>!!e)));l.length>0&&(s.push(`assignee_id IN (${l.map(()=>"?").join(", ")})`),n.push(...l)),e.assignedToMe&&s.push("is_assigned_to_me = 1");let u=_(e.teamId??null);u&&(s.push("team_id = ?"),n.push(u));let c=_(e.cycleId??null);if(c&&(s.push("cycle_id = ?"),n.push(c)),e.hasActivity&&e.activityMap){let t=Array.from(e.activityMap.keys());if(0===t.length)return{issues:[],pageInfo:{hasNextPage:!1,endCursor:null}};s.push(`issue_id IN (${t.map(()=>"?").join(", ")})`),n.push(...t)}let p=s.length>0?`WHERE ${s.join(" AND ")}`:"",m=e.sortBy??"activity",E=e.sortDir??"desc",g="asc"===E?"ASC":"DESC";if("activity"===m&&e.activityMap&&e.activityMap.size>0){let a=Array.from(e.activityMap.keys()),s=a.map(()=>"?").join(", "),o=p?`${p} AND issue_id IN (${s})`:`WHERE issue_id IN (${s})`,d=r.prepare(`SELECT * FROM linear_issues ${o} ORDER BY updated_at DESC, identifier ASC`).all(...n,...a),l=e.activityMap;d.sort((e,t)=>{let i=l.get(e.issue_id)??"",r=l.get(t.issue_id)??"";return"desc"===E?r.localeCompare(i):i.localeCompare(r)});let u=[];if(!e.hasActivity){let e=p?`${p} AND issue_id NOT IN (${s})`:`WHERE issue_id NOT IN (${s})`;u=r.prepare(`SELECT * FROM linear_issues ${e} ORDER BY updated_at DESC, identifier ASC`).all(...n,...a)}let c=[...d,...u].slice(i,i+t+1),m=c.length>t,_=m?c.slice(0,t):c,g=m?String(i+t):null;return{issues:_.map(h),pageInfo:{hasNextPage:m,endCursor:g}}}switch(m){case"identifier":a=`ORDER BY identifier ${g}`;break;case"status":a=`ORDER BY LOWER(status) ${g}, identifier ASC`;break;case"created":a=`ORDER BY pulled_at ${g}, identifier ASC`;break;default:a=`ORDER BY updated_at ${g}, identifier ASC`}let f=r.prepare(`SELECT *
281
+ FROM linear_issues
282
+ ${p}
283
+ ${a}
284
+ LIMIT ? OFFSET ?`).all(...n,t+1,i),T=f.length>t,y=T?f.slice(0,t):f,b=T?String(i+t):null;return{issues:y.map(h),pageInfo:{hasNextPage:T,endCursor:b}}})}var A=e.i(341902);let R="global";function N(e){let t=String(e??"").trim().toLowerCase();return t?`project:${t}`:R}function S(e){t.default.mkdirSync(e,{recursive:!0})}function O(e,r){S(i.default.dirname(e));let a=`${e}.tmp-${process.pid}-${Date.now()}`;t.default.writeFileSync(a,r,"utf8"),t.default.renameSync(a,e)}function v(e){return{id:e.id,identifier:e.identifier,title:e.title,url:e.url,status:e.status,assignee:e.assignee,updatedAt:e.updatedAt,labels:e.labels??[]}}function j(e,t){return e.trim().replace(/[\\/]/g,"-")||t}async function x(e={}){let t,a=l();if(!a)throw Error("Not connected");let s=await a.viewer,n=Date.now(),o=new Date(n).toISOString(),d=0,u=!0,c=[];for(;d<500;){let e=500-d,i=await a.issues({first:Math.min(100,e),after:t,orderBy:"updatedAt"}),r=await Promise.all(i.nodes.map(async e=>{let[t,i,r,a,n]=await Promise.all([e.labels,e.state,e.assignee,e.team,e.cycle]);return{id:e.id,identifier:e.identifier,title:e.title,description:e.description??null,labels:t,url:e.url,status:i?.name??"Unknown",assigneeId:r?.id??null,assignee:r?.name??null,assigneeEmail:r?.email??null,isAssignedToMe:!!(r?.id&&r.id===s.id),teamId:a?.id??null,teamName:a?.name??null,teamKey:a?.key??null,cycleId:n?.id??null,cycleName:n?.name??null,cycleNumber:n?.number??null,updatedAt:e.updatedAt}}));if(c.push(...r),d+=r.length,!i.pageInfo.hasNextPage||!i.pageInfo.endCursor)break;if(d>=500){u=!1;break}t=i.pageInfo.endCursor}await T({issues:c,complete:u,pulledAtMs:n}),await y(R,c.length,n);let p=N(e.projectSlug);return p!==R&&await y(p,c.length,n),!function(e,t,a){let s=function(e){let t=A.vaultStore.getRootDir(),r=String(e??"").trim();if(r){let e=A.vaultStore.getProjectWithRepos(r),a=e?.slug??r;return i.default.join(t,a,"issues")}return i.default.join(t,"_global","Linear","issues")}(a);S(s);let n=["# Linear Issues","",`Last pulled: ${t}`,""];for(let a of e){let e=i.default.join(s,j(a.identifier,a.id));!function(e,t,i){let a=(0,r.dump)(t,{lineWidth:120,noRefs:!0,sortKeys:!0}).trimEnd(),s=String(i||"").replace(/\r\n/g,"\n").split("\n").map(e=>e.replace(/\s+$/g,"")).join("\n").trim();O(e,s?`---
285
+ ${a}
286
+ ---
287
+ ${s}
288
+ `:`---
289
+ ${a}
290
+ ---
291
+ `)}(i.default.join(e,"README.md"),{type:"linear-issue",issue_id:a.id,identifier:a.identifier,title:a.title,status:a.status,assignee_id:a.assigneeId??null,assignee_name:a.assignee??null,assignee_email:a.assigneeEmail??null,team_id:a.teamId??null,team_name:a.teamName??null,team_key:a.teamKey??null,cycle_id:a.cycleId??null,cycle_name:a.cycleName??null,cycle_number:a.cycleNumber??null,url:a.url??null,updated_at:a.updatedAt,pulled_at:t},[`# ${a.identifier}: ${a.title}`,"",`- Status: ${a.status}`,`- Assignee: ${a.assignee??"Unassigned"}`,a.teamName?`- Team: ${a.teamName}`:null,a.cycleName||null!=a.cycleNumber?`- Cycle: ${a.cycleName??`Cycle ${a.cycleNumber}`}`:null,a.labels?.length?`- Labels: ${a.labels.join(", ")}`:null,`- Updated in Linear: ${a.updatedAt}`,`- Pulled locally: ${t}`,a.url?`- URL: ${a.url}`:null,"","## Description","",a.description?.trim()||"_No description provided._"].filter(e=>null!==e).join("\n")),n.push(`- [${a.identifier}](${encodeURIComponent(j(a.identifier,a.id))}/README.md) - ${a.title} (${a.status})`)}O(i.default.join(s,"_index.md"),`${n.join("\n")}
292
+ `)}(c,o,e.projectSlug),{issueCount:c.length,complete:u,pulledAt:o}}async function C(e={}){let t=!!e.refresh,i=N(e.projectSlug);if(!t){let[e,t]=await Promise.all([I(),b(i)]);if(e>0&&t)return null}return l()?x({projectSlug:e.projectSlug}):null}async function D(e={}){let[t,i]=await Promise.all([L(e),b(R)]);return{issues:t.issues.map(v),pageInfo:t.pageInfo,syncState:{lastPulledAt:i?.lastPulledAt??null}}}e.s(["ensureLinearIssueCache",0,C,"listLinearIssueSummaries",0,D],716657)},221834,e=>{"use strict";var t=e.i(716657);let i=new Set(["done","cancelled","canceled","duplicate"]);function r(e){return i.has(String(e??"").trim().toLowerCase())}async function a(e){let i=await (0,t.ensureLinearIssueCache)({refresh:e.refresh,projectSlug:e.projectSlug}),{issues:r}=await (0,t.listLinearIssueSummaries)({limit:e.limit??500});return{issues:r.filter(t=>(t.labels??[]).some(t=>{var i;return i=e.objectiveKey,t.trim().toLowerCase()===i.trim().toLowerCase()})),refreshedAt:i?.pulledAt??null}}e.s(["filterObjectiveLinearIssuesForAction",0,function(e,t=[]){let i=new Set(Array.from(t,e=>e.trim()).filter(Boolean));return e.filter(e=>!r(e.status)&&!i.has(e.id))},"isObjectiveLinearTerminalStatus",0,r,"listObjectiveLinearIssues",0,a])},214348,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),i=e.i(522734),r=e.i(446786),a=e.i(814747),s=e.i(801243);let n=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(r.default.homedir(),".agx","group-chat"),o=a.default.join(n,"history.sqlite");function d(e){return e?.trim()||null}function l(e){return"scripted"===e?"scripted":"chat"}function u(e){let t,i=e.chat_created_at??e.created_at,r=e.chat_completed_at??null,a=function(e,t){switch(e){case"queued":return"queued";case"running":case"awaiting_user":case"blocked":return"running";case"completed":return"success";case"failed":return"failed";case"cancelled":return"cancelled";default:return t}}(e.chat_status,e.status);return{id:e.id,projectId:e.project_id,projectSlug:e.project_slug,issueId:e.issue_id,issueIdentifier:e.issue_identifier,issueTitle:e.issue_title,issueStatus:e.issue_status,issueAssignee:e.issue_assignee,threadId:e.thread_id,rootMessageId:e.root_message_id,chatRunId:e.chat_run_id,agentId:e.agent_id,agentName:e.agent_name,mode:l(e.mode),sessionTitle:"chat"===l(e.mode)&&(t=String(e.root_content??"").replace(/\[reaction\s+[^\]]*\]/gi,"").replace(/\[agx:[^\]]*\]/g,"").replace(/\[checkpoint\]/g,"").replace(/\[criteria:\s*[^\]]*\]/g,"").replace(/\[done\]/g,"").replace(/\[blocked[^\]]*\]/g,"").replace(/^\[SKIP\]$/gm,"").replace(/\s+/g," ").trim())?t.length>72?`${t.slice(0,69).trimEnd()}...`:t:null,status:a,durationMs:null!=r?Math.max(r-i,0):null,lastError:e.chat_last_error??e.error,startedAt:new Date(i).toISOString(),updatedAt:new Date((e.chat_updated_at??e.updated_at)||e.updated_at).toISOString(),completedAt:"number"==typeof r?new Date(r).toISOString():null}}async function c(e){await i.promises.mkdir(n,{recursive:!0});let r=new t.DatabaseSync(o);(0,s.pragmaSet)(r,"journal_mode = WAL");try{return r.exec(`
293
+ CREATE TABLE IF NOT EXISTS chat_runs (
294
+ id TEXT PRIMARY KEY,
295
+ thread_id TEXT NOT NULL,
296
+ root_message_id TEXT,
297
+ user_id TEXT NOT NULL,
298
+ project_slug TEXT,
299
+ status TEXT NOT NULL,
300
+ current_step INTEGER NOT NULL DEFAULT 0,
301
+ max_steps INTEGER NOT NULL DEFAULT 10,
302
+ steps_used INTEGER NOT NULL DEFAULT 0,
303
+ last_error TEXT,
304
+ active_participant_ids TEXT NOT NULL DEFAULT '[]',
305
+ payload_json TEXT,
306
+ result_json TEXT,
307
+ created_at INTEGER NOT NULL,
308
+ updated_at INTEGER NOT NULL,
309
+ completed_at INTEGER
310
+ );
311
+ CREATE TABLE IF NOT EXISTS messages (
312
+ thread_id TEXT NOT NULL,
313
+ id TEXT NOT NULL,
314
+ role TEXT NOT NULL,
315
+ participant_id TEXT,
316
+ content TEXT NOT NULL,
317
+ timestamp INTEGER NOT NULL,
318
+ root_message_id TEXT,
319
+ parent_message_id TEXT,
320
+ depth INTEGER NOT NULL DEFAULT 0,
321
+ thread_status TEXT,
322
+ outcome_note TEXT,
323
+ PRIMARY KEY (thread_id, id)
324
+ );
325
+ CREATE TABLE IF NOT EXISTS linear_runs (
326
+ id TEXT PRIMARY KEY,
327
+ project_id TEXT,
328
+ project_slug TEXT,
329
+ issue_id TEXT NOT NULL,
330
+ issue_identifier TEXT NOT NULL,
331
+ issue_title TEXT NOT NULL,
332
+ issue_status TEXT NOT NULL,
333
+ issue_assignee TEXT,
334
+ thread_id TEXT NOT NULL,
335
+ root_message_id TEXT,
336
+ chat_run_id TEXT,
337
+ agent_id TEXT NOT NULL,
338
+ agent_name TEXT NOT NULL,
339
+ mode TEXT NOT NULL DEFAULT 'chat',
340
+ status TEXT NOT NULL DEFAULT 'queued',
341
+ error TEXT,
342
+ created_at INTEGER NOT NULL,
343
+ updated_at INTEGER NOT NULL
344
+ );
345
+ CREATE INDEX IF NOT EXISTS idx_linear_runs_issue_created
346
+ ON linear_runs (issue_id, created_at DESC);
347
+ CREATE INDEX IF NOT EXISTS idx_linear_runs_project_issue_created
348
+ ON linear_runs (project_id, issue_id, created_at DESC);
349
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_linear_runs_chat_run_id
350
+ ON linear_runs (chat_run_id)
351
+ WHERE chat_run_id IS NOT NULL;
352
+ `),r.prepare("PRAGMA table_info(linear_runs)").all().some(e=>"mode"===e.name)||r.exec("ALTER TABLE linear_runs ADD COLUMN mode TEXT NOT NULL DEFAULT 'chat';"),e(r)}finally{r.close()}}async function p(e){let t=Date.now(),i=d(e.id)??crypto.randomUUID(),r=d(e.threadId)??`linear-run:${i}`,a=l(e.mode);return c(s=>{s.prepare(`INSERT INTO linear_runs (
353
+ id, project_id, project_slug, issue_id, issue_identifier, issue_title,
354
+ issue_status, issue_assignee, thread_id, root_message_id, chat_run_id,
355
+ agent_id, agent_name, mode, status, error, created_at, updated_at
356
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL, ?, ?, ?, 'queued', NULL, ?, ?)`).run(i,d(e.projectId??null),d(e.projectSlug??null),e.issueId.trim(),e.issueIdentifier.trim(),e.issueTitle.trim(),e.issueStatus.trim(),d(e.issueAssignee??null),r,e.agentId.trim(),e.agentName.trim(),a,t,t);let n=s.prepare(`SELECT
357
+ lr.*,
358
+ cr.status AS chat_status,
359
+ cr.last_error AS chat_last_error,
360
+ cr.created_at AS chat_created_at,
361
+ cr.updated_at AS chat_updated_at,
362
+ cr.completed_at AS chat_completed_at,
363
+ msg.content AS root_content
364
+ FROM linear_runs lr
365
+ LEFT JOIN chat_runs cr ON cr.id = (
366
+ SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
367
+ )
368
+ LEFT JOIN messages msg ON msg.thread_id = lr.thread_id AND msg.id = lr.root_message_id
369
+ WHERE lr.id = ?
370
+ LIMIT 1`).get(i);if(!n)throw Error(`Failed to create Linear run ${i}`);return u(n)})}async function m(e){return c(t=>{let i=["updated_at = ?"],r=[Date.now()];void 0!==e.rootMessageId&&(i.push("root_message_id = ?"),r.push(d(e.rootMessageId))),void 0!==e.chatRunId&&(i.push("chat_run_id = ?"),r.push(d(e.chatRunId))),void 0!==e.status&&(i.push("status = ?"),r.push(e.status)),void 0!==e.error&&(i.push("error = ?"),r.push(d(e.error))),r.push(e.id.trim()),t.prepare(`UPDATE linear_runs SET ${i.join(", ")} WHERE id = ?`).run(...r);let a=t.prepare(`SELECT
371
+ lr.*,
372
+ cr.status AS chat_status,
373
+ cr.last_error AS chat_last_error,
374
+ cr.created_at AS chat_created_at,
375
+ cr.updated_at AS chat_updated_at,
376
+ cr.completed_at AS chat_completed_at,
377
+ msg.content AS root_content
378
+ FROM linear_runs lr
379
+ LEFT JOIN chat_runs cr ON cr.id = (
380
+ SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
381
+ )
382
+ LEFT JOIN messages msg ON msg.thread_id = lr.thread_id AND msg.id = lr.root_message_id
383
+ WHERE lr.id = ?
384
+ LIMIT 1`).get(e.id.trim());return a?u(a):null})}async function _(e){return c(t=>{let i=e?.trim(),r=i?`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
385
+ FROM linear_runs lr
386
+ LEFT JOIN chat_runs cr ON cr.id = (
387
+ SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
388
+ )
389
+ WHERE (lr.status IN ('queued', 'running') OR cr.status IN ('queued', 'running'))
390
+ AND lr.project_id = ?`:`SELECT DISTINCT lr.issue_id, lr.agent_id, lr.agent_name
391
+ FROM linear_runs lr
392
+ LEFT JOIN chat_runs cr ON cr.id = (
393
+ SELECT id FROM chat_runs WHERE thread_id = lr.thread_id ORDER BY updated_at DESC LIMIT 1
394
+ )
395
+ WHERE (lr.status IN ('queued', 'running') OR cr.status IN ('queued', 'running'))`;return(i?t.prepare(r).all(e.trim()):t.prepare(r).all()).map(e=>({issueId:e.issue_id,agentId:e.agent_id,agentName:e.agent_name}))})}e.s(["createLinearRun",0,p,"getIssueActiveAgents",0,_,"updateLinearRun",0,m])}];
396
+
397
+ //# sourceMappingURL=apps_local_0i7fs.i._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[323218,e=>{"use strict";var t=e.i(254799),r=e.i(173426),s=e.i(779429),a=e.i(689303),i=e.i(33878),o=e.i(488877),n=e.i(582743),l=e.i(846888);async function d(e){let t=(0,r.createAdminDbClient)(),{data:s,error:a}=await t.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(a){let e="string"==typeof a.message?a.message:"";if("42P01"===a.code||"PGRST205"===a.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 a}return s||[]}async function u(e){let t=(0,r.createAdminDbClient)(),s=e.user_id,a=t.from("learnings").select("*").eq("scope","task").eq("scope_id",e.id);s&&a.eq("user_id",s);let[{data:i,error:n}]=await Promise.all([a]);if(n)throw n;return{task:i||[],project:[],global:o.vaultStore.getLearnings("global")||[]}}async function c(e){let t,s=e.stage;if(!s)return{prompt:null};let a=(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,l.getProjectWithRepos)(e.project_id,e.user_id);t?.workflow_id&&(i=t.workflow_id)}catch{}i||(i=l.DEFAULT_WORKFLOW_ID);try{let{data:e,error:t}=await a.from("workflow_nodes").select("*").eq("workflow_id",i).eq("name",s).maybeSingle();if(!t&&e){let t=e.metadata&&"object"==typeof e.metadata?e.metadata:{},r="boolean"==typeof t.swarm&&t.swarm,s=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:s};return{prompt:null,swarm:r,provider:e.provider||void 0,model:e.model||void 0,swarm_models:s}}}catch{}try{let t=[];t.push(a.from("stage_prompts").select("*").eq("stage",s).eq("is_default",!0).eq("workflow_id",i).maybeSingle()),e.user_id&&t.push(a.from("stage_prompts").select("*").eq("stage",s).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=l.defaultStagePrompts[s];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 p(e,t){let r=e.project_id,s=e.project||void 0,o=null;if(r&&(o=await (0,l.getProjectWithRepos)(r,e.user_id)),!o&&s){let t=await (0,l.getProjectBySlug)(s,e.user_id);if(t){let e=await (0,l.getProjectRepos)(t.id);o={...t,repos:e}}}if(!o)return null;let n=await (0,l.getProjectMemory)(o.id,"human"),d=(0,i.getKnowledgeNote)("project",o.id);if(o.repos.length>0){let e=(0,a.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,s=t.get(r.repoId)??[];s.push(e),t.set(r.repoId,s)}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),...d?.content?[`[System-generated] ${d.content}`]:[]]}}async function m(e){let r,[a,i,o,m]=await Promise.all([d(e.id),u(e),c(e),e.user_id?(0,l.getUserSettings)(e.user_id):Promise.resolve(null)]),g=await p(e,i.project),{frontmatter:f}=(0,l.parseFrontmatter)(e.content),_=(0,n.resolveMemoryAgentId)({defaultUserId:e.user_id||"system",frontmatter:f}),y=f.no_memory?[]:function(e,t=5){try{return(0,s.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=(r=JSON.stringify(a.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")),v="string"==typeof e.stage&&e.stage.trim()?e.stage.trim():"",w=o.prompt??null,k={};if(w&&v){k[v]=w;let e=v.toLowerCase();k[e]||(k[e]=w)}let A=w&&v?[{stage:v,prompt:w}]:[];return{comments:a,learnings:i,agent_memories:y,stage_config:o,stage_prompt:w,stage_prompts:k,stage_objective:w,stageObjective:w,stagePrompts:A,project_context:g,comments_digest:h,user_settings:m}}e.s(["buildTaskContext",0,m])},404258,e=>{"use strict";function t(e){let t=e?.trim();return t?t.replace(/\/+$/,""):null}let r="http://localhost:41741";e.s(["getAllowedOrigins",0,function(){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 s=t(r);s&&e.add(s)}return Array.from(e)},"getConfiguredAppBaseUrl",0,function(){return t(process.env.NEXT_PUBLIC_APP_URL)??t(process.env.AGX_BOARD_URL)??t(process.env.NEXT_PUBLIC_AGX_BOARD_URL)??r},"getConfiguredBoardBaseUrl",0,function(){return t(process.env.AGX_BOARD_URL)??t(process.env.NEXT_PUBLIC_AGX_BOARD_URL)??t(process.env.NEXT_PUBLIC_APP_URL)??r}])},828032,e=>{"use strict";e.i(254799);var t=e.i(404258),r=e.i(173426);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];async function a(e){let t=(0,r.createAdminDbClient)(),{data:s,error:a}=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(a)throw console.error("Failed to write audit log:",a),Error("Audit log write failed");return s.id}let i=["https://agx-cloud.vercel.app",...(0,t.getAllowedOrigins)()];async function o(e){if(!e?.startsWith("Bearer "))return{valid:!1};let t=e.slice(7),s=(0,r.createAdminDbClient)(),{data:{user:a},error:i}=await s.auth.getUser(t);return i||!a?{valid:!1}:{valid:!0,userId:a.id}}e.s(["detectDangerousOperations",0,function(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}},"isValidOrigin",0,function(e){return!!e&&i.includes(e)},"validateBearerToken",0,o,"writeAuditLog",0,a])},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_PARITY_LOGGING,!0)}e.s(["isDualWriteEnabled",0,function(){return t(process.env.AGX_GRAPH_DUAL_WRITE,!0)},"isParityLoggingEnabled",0,r,"isV2ReadPathEnabled",0,function(){return!t(process.env.AGX_GRAPH_READ_PATH_KILL_SWITCH,!1)&&"v2"===(process.env.AGX_GRAPH_READ_PATH_MODE||"v1").trim().toLowerCase()}],550201);let s=new Set(["done","passed","failed","skipped"]),a=new Set(["running","awaiting_human","blocked"]),i=new Set(["done","passed","skipped"]);function o(e,t){let r=String(e||"").trim().toUpperCase();return"INTAKE"===r||"PROGRESS"===r||"DONE"===r?r:t}function n(e){let t,r=Object.values(e.nodes);if(0===r.length)return"queued";let o=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&&i.has(r.status))})&&o||r.every(e=>s.has(e.status))&&o?"completed":r.some(e=>"failed"===e.status)?"failed":r.some(e=>"blocked"===e.status)?"blocked":r.some(e=>a.has(e.status))||r.filter(e=>"done"===e.status||"passed"===e.status).length>0?"in_progress":"queued"}function l(e,t="INTAKE"){let r,a,i=n(e),o="completed"===(r=n(e))?"DONE":"in_progress"===r||"blocked"===r||"failed"===r?"PROGRESS":t,d="completed"===i?100:0===(a=Object.values(e.nodes)).length?0:Math.max(0,Math.min(100,Math.round(a.filter(e=>s.has(e.status)).length/a.length*100)));return{status:i,stage:o,progressPercent:d}}e.s(["logParityDiff",0,function(e){var t;let s,a,i,n,d,u=(t={taskId:e.task.id,source:e.source,legacy:{status:e.task.status,stage:e.task.stage,progressPercent:e.legacyProgressPercent??null},v2:l(e.graph,o(e.task.stage||"INTAKE","INTAKE"))},a=[],i="queued"===(s=String(t.legacy.status||"").trim().toLowerCase())||"in_progress"===s||"blocked"===s||"completed"===s||"failed"===s?s:"queued",n=o(t.legacy.stage,"INTAKE"),d=Number.isFinite(Number(t.legacy.progressPercent))?Number(t.legacy.progressPercent):null,(i!==t.v2.status&&a.push({field:"status",legacy:i,v2:t.v2.status}),n!==t.v2.stage&&a.push({field:"stage",legacy:n,v2:t.v2.stage}),null!==d&&d!==t.v2.progressPercent&&a.push({field:"progressPercent",legacy:d,v2:t.v2.progressPercent}),0===a.length)?null:{taskId:t.taskId,source:t.source,diffs:a});return u&&r()&&console.warn("[graph-parity-diff]",JSON.stringify(u)),u},"projectLegacyCompatFromGraph",0,l],703329)},574749,e=>{"use strict";var t=e.i(846888),r=e.i(550201),s=e.i(703329),a=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||""),s=i(r.depends_on);return s.length?{...e,depends_on:s}: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,a.getGraph)(e.id);if(!t)return{...o(e),read_path_source:"v1"};let r=(0,s.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,s.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",0,l,"projectTaskReadModels",0,d])},20275,e=>{"use strict";var t=e.i(254799),r=e.i(466713);let s=/^\s*---\s*\r?\n[\s\S]*?\r?\n---\s*/,a=/^#\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(s,"").trim();if(!n)return r;let l=n.match(a);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"};e.s(["createRootOnlyGraph",0,function(e,r){let s=new Date().toISOString(),a={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 s=i(e.objective);return s?o(s,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:a,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:s,updatedAt:s}}],20275)}];
2
+
3
+ //# sourceMappingURL=apps_local_0ipg-p6._.js.map
@@ -0,0 +1,11 @@
1
+ module.exports=[858015,e=>{"use strict";var t=e.i(184951);let r=new Set(["done","cancelled","canceled","duplicate"]);function i(e,t){return e.trim().toLowerCase()===t.trim().toLowerCase()}function a(e){return r.has(String(e??"").trim().toLowerCase())}async function o(e){let r=await (0,t.ensureLinearIssueCache)({refresh:e.refresh,projectSlug:e.projectSlug}),{issues:a}=await (0,t.listLinearIssueSummaries)({limit:e.limit??500});return{issues:a.filter(t=>(t.labels??[]).some(t=>i(t,e.objectiveKey))),refreshedAt:r?.pulledAt??null}}e.s(["filterObjectiveLinearIssuesForAction",0,function(e,t=[]){let r=new Set(Array.from(t,e=>e.trim()).filter(Boolean));return e.filter(e=>!a(e.status)&&!r.has(e.id))},"isObjectiveLinearTerminalStatus",0,a,"listObjectiveLinearIssues",0,o,"matchesObjectiveLabel",0,i])},901977,e=>{"use strict";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),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,i.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",0,o,"loadProjectObjectiveWorkspace",0,n,"persistProjectHealthSnapshot",0,l,"persistProjectObjectiveMetadata",0,c,"persistProjectObjectiveWorkspace",0,s])},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 l(e,t={}){var r;let i=e.match(o);if(!i)throw Error(`Activity file is missing YAML frontmatter${t.filePath?` (${t.filePath})`:""}.`);let[,c,u=""]=i,d=(0,a.load)(c,{...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 c(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",0,l],36336),e.s(["serializeActivityFile",0,c],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(l(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),l=c(e);return t.default.writeFileSync(s,l,"utf8"),s}}let d=new Map;e.s(["getActivityRepository",0,function(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}],124985)},917435,853874,e=>{"use strict";e.i(522734);var t=e.i(814747),r=e.i(446786);e.i(84516);var i=e.i(860789);async function a(e,t=Date.now()){let r=await e.reapStaleRuns();for(let a of(r>0&&console.log(`[prompt-jobs] reaped ${r} stale run(s)`),e.listJobs({state:"active"})))if(null===a.nextRunAt){let r=a.cronExpr||(0,i.parseCadence)(a.cadence)?.cronExpr||"";if(!r)continue;let n=o({cronExpr:r},t);n&&e.updateJob(a.id,{nextRunAt:n})}let n=e.getDueJobs(t),s=[],l=[];for(let r of n){if("skip"===r.overlapPolicy&&e.hasRunningRun(r.id)){l.push({jobId:r.id,reason:"overlap_skip"});let i=o(r,t);e.updateJob(r.id,{nextRunAt:i});continue}let a=function(e,t){if(!e.nextRunAt)return 1;let r=0,a=e.nextRunAt;for(;a<=t&&r<100;){r++;let t=(0,i.computeNextRun)(e.cronExpr,a);if(!t||t<=a)break;a=t}return Math.max(1,r)}(r,t);if("skip"===r.catchUpPolicy&&a>1){l.push({jobId:r.id,reason:`catch_up_skip (${a} missed)`});let i=o(r,t);e.updateJob(r.id,{nextRunAt:i,lastRunAt:t});continue}if("replay_all"===r.catchUpPolicy&&a>1)for(let t=0;t<a;t++){let t=e.createRun(r.id);s.push(t)}else{let t=e.createRun(r.id);s.push(t)}let n=o(r,t);e.updateJob(r.id,{nextRunAt:n,lastRunAt:t})}return{queued:s,skipped:l}}function o(e,t){return(0,i.computeNextRun)(e.cronExpr,t)}e.s(["pollDueJobs",0,a],853874),e.i(846888),e.i(391310);var n=e.i(460275),s=e.i(273406),l=e.i(858015),c=e.i(901977),u=e.i(124985);async function d(e){let t=Date.now(),r="";try{return await (0,n.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"}}}async function p(e){(0,u.getActivityRepository)(e.projectSlug,e.objectiveKey).append({id:crypto.randomUUID(),source:`scheduled-task:${e.jobId}`,objectiveLabel:e.objectiveKey,createdAt:new Date().toISOString(),type:"status-update",body:e.body})}async function f(e,t){try{let r=await (0,c.loadProjectObjectiveContext)(t.projectId,t.objectiveId);if(!r)return;let i=[`**${e.jobName}** — ${e.status}`,"",e.result];e.reason&&!e.result.includes(`Reason: ${e.reason}`)&&i.push("",`Reason: ${e.reason}`),e.linearRunId&&!e.result.includes(`Linear run: ${e.linearRunId}`)&&i.push("",`Linear run: ${e.linearRunId}`),e.chatRunId&&!e.result.includes(`Chat run: ${e.chatRunId}`)&&i.push("",`Chat run: ${e.chatRunId}`),await p({jobId:t.jobId,projectSlug:r.project.slug,objectiveKey:r.objective.key,body:i.join("\n")})}catch{}}async function m(e){let{action:t,parsed:r,reason:i,healthSummaries:a}=e;if("stop"===t){let t=e.issues.some(e=>!(0,l.isObjectiveLinearTerminalStatus)(e.status)),r=0===e.issues.length?"No objective-labeled Linear tickets were found.":0===e.eligibleIssues.length?t?"All actionable objective tickets already have active sessions.":"All objective tickets are already in a terminal state.":"The controller decided that no ticket should be started right now.",o=i||r;return{action:"stop",jobName:e.job.name,reason:o,result:["No action taken.",`Reason: ${o}`,a.objectiveHealthSummary,a.objectiveNote||null,a.projectHealthSummary,a.projectNote||null].filter(e=>!!e).join("\n\n"),durationMs:Date.now()-e.startMs,status:"success"}}if("run_prompt"===t){let t="string"==typeof r?.prompt?r.prompt.trim():"";if(!t)return{action:"run_prompt",jobName:e.job.name,reason:i,result:"Controller returned run_prompt but provided no prompt text.",durationMs:Date.now()-e.startMs,status:"failed"};let o=await d({...e.controllerContext,prompt:t,cliArgs:e.cliArgs,onSpawn:e.onSpawn}),n="success"===o.status?(o.output||"").split("\n").filter(Boolean).slice(0,10).join("\n")||"Prompt completed.":`Prompt failed: ${o.error||"unknown error"}`;return{action:"run_prompt",jobName:e.job.name,reason:i,result:[n,a.objectiveHealthSummary,a.projectHealthSummary].filter(e=>!!e).join("\n\n"),durationMs:Date.now()-e.startMs,status:o.status}}if("work_ticket"===t){let t="string"==typeof r?.ticketId?r.ticketId.trim():"",o=e.eligibleIssues.find(e=>e.id===t)??null;if(!o)return{action:"work_ticket",jobName:e.job.name,reason:i,result:`Controller selected an unknown ticket: ${t||"(empty)"}`,durationMs:Date.now()-e.startMs,status:"failed"};let n=await (0,s.startScriptedLinearSession)({projectId:e.objectiveContext.project.id,projectSlug:e.objectiveContext.project.slug,issue:{id:o.id,identifier:o.identifier,title:o.title,status:o.status,assignee:o.assignee},agentId:e.sessionAgent.id}),l=o.url?`[${o.identifier}](${o.url})`:o.identifier;return{action:"work_ticket",jobName:e.job.name,reason:i,result:[`Started work on ${l}: ${o.title}`,i?`Reason: ${i}`:null,a.objectiveHealthSummary,a.objectiveNote||null,a.projectHealthSummary,a.projectNote||null,`Linear run: ${n.run.id}`].filter(e=>!!e).join("\n\n"),linearRunId:n.run.id,chatRunId:n.chatRunId,durationMs:Date.now()-e.startMs,status:"success"}}return{action:t||"unknown",jobName:e.job.name,reason:i,result:`Controller returned an invalid action: ${t||"(empty)"}`,durationMs:Date.now()-e.startMs,status:"failed"}}(0,t.join)((0,r.homedir)(),".agx","agents"),e.s(["dispatchObjectiveAction",0,m,"logActionReceipt",0,f,"requestPromptJobPump",0,function(){return!1}],917435)}];
10
+
11
+ //# sourceMappingURL=apps_local_0npxy21._.js.map
@@ -0,0 +1,21 @@
1
+ module.exports=[927382,734441,e=>{"use strict";var t=e.i(260476);let r=/^---\s*\n([\s\S]*?)\n---\s*(?:\n([\s\S]*))?$/;function i(e,t=""){return"string"==typeof e?e:t}function a(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()}let n=new Set(["on_track","at_risk","off_track","done"]);e.s(["parseObjectiveMarkdown",0,function(e,o={}){var s,l,d,c;let u,f,h=e.match(r);if(!h)throw Error(`Objective file is missing YAML frontmatter${o.filePath?` (${o.filePath})`:""}.`);let[,y,p=""]=h,m=!(s=(0,t.load)(y,{...o.filePath?{filename:o.filePath}:{}}))||"object"!=typeof s||Array.isArray(s)?{}:s,{summary:v,activities:b,activityThreads:j}=function(e,t){let r=e.split(/(?=^## )/m),i="",n=[],o={};for(let e of r){let r=e.trim();if(r){if(r.startsWith("## Notes")){i=r.replace(/^## Notes\s*/,"").trim();continue}if(r.startsWith("## Activities")){for(let e of r.split(/(?=^### )/m).slice(1)){let r=function(e,t){let r=e.split("\n"),i=r[0];if(!i)return null;let n=i.replace(/^###\s+/,"").trim();if(!n)return null;let o="",s="Update",l="",d="",c=null,u=[],f=!1;for(let e=1;e<r.length;e++){let t=r[e];if(t.startsWith("#### Replies")){f=!0;continue}if(f){let e=t.match(/^- \*\*(.+?)\*\*\s+\((\d{4}-\S+)\):\s*(.+)$/);if(e){let[,t,r,i]=e;u.push({id:`reply_${Math.random().toString(36).slice(2,10)}`,activityId:o,author:t,body:i,createdAt:a(r)})}continue}let i=t.match(/^- \*\*(\w+):\*\*\s*(.+)$/);if(i){let[,e,t]=i;switch(e){case"id":o=t.trim();break;case"source":s=t.trim();break;case"created":l=a(t.trim());break;case"body":d=t.trim();break;case"relatedTaskId":c=t.trim()||null}continue}}for(let e of(o||(o=`objective_activity_${Math.random().toString(36).slice(2,10)}`),l||(l=new Date().toISOString()),u))e.activityId=o;return{activity:{id:o,objectiveId:t,sourceType:"note",sourceLabel:s,title:n,body:d,createdAt:l,updatedAt:l,relatedTaskId:c},replies:u}}(e.trim(),t);r&&(n.push(r.activity),r.replies.length>0&&(o[r.activity.id]=r.replies))}continue}r.startsWith("## ")||(i=r)}}return{summary:i,activities:n,activityThreads:o}}(p,i(m.id));return{objective:(u=a(m.updatedAt??m.createdAt),f=a(m.createdAt,u),{id:i(m.id),title:i(m.title,"Untitled objective"),teamId:i(m.teamId),key:i(m.key),threadId:i(m.threadId)||null,chatSessionVersion:function(e,t=0){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.floor(e)):t}(m.chatSessionVersion,0),scheduledTaskIds:Array.isArray(l=m.scheduledTaskIds)?l.map(e=>"string"==typeof e?e.trim():"").filter(Boolean):[],summary:v,progress:"number"==typeof(d=m.progress)&&Number.isFinite(d)?Math.max(0,Math.min(100,Math.round(d))):0,status:"string"==typeof(c=m.status)&&n.has(c)?c:"on_track",createdAt:f,updatedAt:u}),activities:b,activityThreads:j}}],927382),e.s(["serializeObjectiveFile",0,function(e,r,i){let a,n=(a=function(e){let t={};for(let[r,i]of Object.entries(e))null!=i&&""!==i&&(Array.isArray(i)&&0===i.length||(t[r]=i));return t}({id:e.id,title:e.title,teamId:e.teamId,key:e.key,status:e.status,progress:e.progress||void 0,threadId:e.threadId,chatSessionVersion:e.chatSessionVersion||void 0,scheduledTaskIds:e.scheduledTaskIds.length>0?e.scheduledTaskIds:void 0,createdAt:e.createdAt,updatedAt:e.updatedAt}),(0,t.dump)(a,{lineWidth:120,noRefs:!0,sortKeys:!1}).trimEnd()),o=[],s=r.filter(t=>t.objectiveId===e.id).sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt));if(s.length>0){let e=["## Activities"];for(let t of s){let r=function(e){let t=[];return t.push(`### ${e.title}`),t.push(`- **id:** ${e.id}`),t.push(`- **source:** ${e.sourceLabel}`),t.push(`- **created:** ${e.createdAt}`),e.body&&t.push(`- **body:** ${e.body}`),e.relatedTaskId&&t.push(`- **relatedTaskId:** ${e.relatedTaskId}`),t.join("\n")}(t),a=function(e){if(0===e.length)return"";let t=["#### Replies"];for(let r of e)t.push(`- **${r.author}** (${r.createdAt}): ${r.body}`);return t.join("\n")}(i[t.id]??[]);e.push(a?`${r}
2
+
3
+ ${a}`:r)}o.push(e.join("\n\n"))}let l=o.join("\n\n");return l.length>0?`---
4
+ ${n}
5
+ ---
6
+
7
+ ${l}
8
+ `:`---
9
+ ${n}
10
+ ---
11
+ `}],734441)},243174,413580,248821,e=>{"use strict";var t=e.i(260476);let r=/^---\s*\n([\s\S]*?)\n---\s*(?:\n([\s\S]*))?$/;function i(e,t=""){return"string"==typeof e?e:t}function a(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 n(e,o={}){let s=e.match(r);if(!s)throw Error(`Note file is missing YAML frontmatter${o.filePath?` (${o.filePath})`:""}.`);let[,l,d=""]=s,c=(0,t.load)(l,{...o.filePath?{filename:o.filePath}:{}}),u=c&&"object"==typeof c&&!Array.isArray(c)?c:{},f=a(u.createdAt),h=a(u.updatedAt,f);return{id:i(u.id),title:i(u.title,"Untitled"),objectiveId:i(u.objectiveId),createdAt:f,updatedAt:h,body:d.trim()}}function o(e){let r={id:e.id,title:e.title,objectiveId:e.objectiveId,createdAt:e.createdAt,updatedAt:e.updatedAt},i=(0,t.dump)(r,{lineWidth:120,noRefs:!0,sortKeys:!1}).trimEnd(),a=e.body.trim();return a?`---
12
+ ${i}
13
+ ---
14
+
15
+ ${a}
16
+ `:`---
17
+ ${i}
18
+ ---
19
+ `}e.s(["parseNoteFile",0,n],413580);var s=e.i(522734),l=e.i(814747),d=e.i(446786);function c(e){let t=e.createdAt.replace(/[:.]/g,"-").replace("T","-").replace("Z",""),r=e.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48);return`${t}-${r}.md`}class u{rootDir;constructor(e){this.rootDir=l.default.resolve(e)}ensureDir(){s.default.mkdirSync(this.rootDir,{recursive:!0})}readAll(){if(!s.default.existsSync(this.rootDir))return[];let e=s.default.readdirSync(this.rootDir).filter(e=>e.endsWith(".md")),t=[];for(let r of e){let e=l.default.join(this.rootDir,r);try{let r=s.default.readFileSync(e,"utf8");t.push(n(r,{filePath:e}))}catch(t){console.error(`[notes] failed to read ${e}:`,t)}}return t.sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}list(e={}){let t=this.readAll(),r=t.length,i=Math.max(1,e.page??1),a=Math.min(100,Math.max(1,e.limit??25)),n=(i-1)*a;return{notes:t.slice(n,n+a),total:r,page:i,limit:a,hasMore:n+a<r}}append(e){this.ensureDir();let t=c(e),r=l.default.join(this.rootDir,t),i=o(e);return s.default.writeFileSync(r,i,"utf8"),r}findById(e){return this.readAll().find(t=>t.id===e)??null}update(e,t){if(!s.default.existsSync(this.rootDir))return null;for(let r of s.default.readdirSync(this.rootDir).filter(e=>e.endsWith(".md"))){let i,a,d=l.default.join(this.rootDir,r);try{i=s.default.readFileSync(d,"utf8")}catch{continue}try{a=n(i,{filePath:d})}catch{continue}if(a.id!==e)continue;let u={...a,title:t.title??a.title,body:t.body??a.body,updatedAt:new Date().toISOString()},f=c(u),h=l.default.join(this.rootDir,f);return s.default.writeFileSync(h,o(u),"utf8"),h!==d&&s.default.unlinkSync(d),u}return null}delete(e){if(!s.default.existsSync(this.rootDir))return!1;for(let t of s.default.readdirSync(this.rootDir).filter(e=>e.endsWith(".md"))){let r,i,a=l.default.join(this.rootDir,t);try{r=s.default.readFileSync(a,"utf8")}catch{continue}try{i=n(r,{filePath:a})}catch{continue}if(i.id===e)return s.default.unlinkSync(a),!0}return!1}}let f=new Map;e.s(["NoteRepository",0,u,"getNoteRepository",0,function(e,t){let r,i=l.default.join((r=process.env.AGX_DATA_DIR?.trim())?l.default.resolve(r):l.default.join((0,d.homedir)(),".agx"),"projects",e,"objectives",t,"notes"),a=f.get(i);return a||(a=new u(i),f.set(i,a)),a}],248821),e.s([],243174)},671182,e=>{"use strict";var t=e.i(522734),r=e.i(814747),i=e.i(446786),a=e.i(927382),n=e.i(734441);e.i(243174);var o=e.i(248821);function s(e){let t;return r.default.join((t=process.env.AGX_DATA_DIR?.trim())?r.default.resolve(t):r.default.join((0,i.homedir)(),".agx"),"projects",e,"objectives")}class l{rootDir;constructor(e){this.rootDir=r.default.resolve(e)}ensureDir(){t.default.mkdirSync(this.rootDir,{recursive:!0})}readWorkspace(){if(!t.default.existsSync(this.rootDir))return{objectives:[],activities:[],activityThreads:{}};let e=t.default.readdirSync(this.rootDir).filter(e=>e.endsWith(".md")),i=[],n=[],s={};for(let l of e){let e=r.default.join(this.rootDir,l);try{let l=t.default.readFileSync(e,"utf8"),d=(0,a.parseObjectiveMarkdown)(l,{filePath:e}),c=d.objective,u=new o.NoteRepository(r.default.join(this.rootDir,c.key,"notes")),f=u.readAll();if(0===f.length&&c.summary.trim()){let e=new Date().toISOString(),t={id:`note_${Math.random().toString(36).slice(2,10)}`,title:"Notes",objectiveId:c.id,createdAt:e,updatedAt:e,body:c.summary};u.append(t),f=[t]}c.notes=f,f.length>0&&(c.summary=f[0].body),i.push(c),n.push(...d.activities),Object.assign(s,d.activityThreads)}catch(t){console.error(`[objectives] failed to read ${e}:`,t)}}return{objectives:i,activities:n,activityThreads:s}}writeWorkspace(e){this.ensureDir();let i=t.default.existsSync(this.rootDir)?new Set(t.default.readdirSync(this.rootDir).filter(e=>e.endsWith(".md"))):new Set,o=new Set;for(let i of e.objectives){let a=`${i.key}.md`,s=r.default.join(this.rootDir,a),l=(0,n.serializeObjectiveFile)(i,e.activities,e.activityThreads);t.default.writeFileSync(s,l,"utf8"),o.add(a)}for(let n of i)if(!o.has(n)){let i=r.default.join(this.rootDir,n);try{let o=t.default.readFileSync(i,"utf8"),s=(0,a.parseObjectiveMarkdown)(o,{filePath:i}),l=n.replace(/\.md$/,""),d=e.objectives.find(e=>e.id===s.objective.id);if(d&&d.key!==l){let e=r.default.join(this.rootDir,l),i=r.default.join(this.rootDir,d.key);t.default.existsSync(e)&&t.default.renameSync(e,i)}t.default.rmSync(i,{force:!0})}catch{t.default.rmSync(i,{force:!0})}}}findObjectiveByKey(e){let i=r.default.join(this.rootDir,`${e}.md`);if(!t.default.existsSync(i))return null;try{let e=t.default.readFileSync(i,"utf8");return(0,a.parseObjectiveMarkdown)(e,{filePath:i}).objective}catch{return null}}findObjectiveById(e){if(!t.default.existsSync(this.rootDir))return null;for(let i of t.default.readdirSync(this.rootDir).filter(e=>e.endsWith(".md"))){let n=r.default.join(this.rootDir,i);try{let r=t.default.readFileSync(n,"utf8"),i=(0,a.parseObjectiveMarkdown)(r,{filePath:n});if(i.objective.id===e)return i.objective}catch{continue}}return null}deleteObjective(e){let i=r.default.join(this.rootDir,`${e}.md`);return!!t.default.existsSync(i)&&(t.default.rmSync(i,{force:!0}),!0)}hasFiles(){return!!t.default.existsSync(this.rootDir)&&t.default.readdirSync(this.rootDir).some(e=>e.endsWith(".md"))}}let d=new Map;e.s(["getObjectiveRepository",0,function(e){let t=s(e),r=d.get(t);return r||(r=new l(t),d.set(t,r)),r},"getObjectivesDir",0,s])},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 n(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 d(e){return[...e].sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}function c(e,t=""){return"string"==typeof e?e:t}function u(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 f(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function h(e){return"string"==typeof e&&a.has(e)?e:"on_track"}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 p(e,t,r="objective"){let i=y(r),a=y(e,i),n=a,o=2;for(;t.has(n);){let e=`-${o}`,t=Math.max(1,32-e.length);n=`${a.slice(0,t)}${e}`,o+=1}return t.add(n),n}function m(e){var t;if(!n(e))return null;let r=u(e.updatedAt??e.createdAt),i=u(e.createdAt,r);return{id:c(e.id,o("objective")),title:c(e.title,"Untitled objective"),teamId:c(e.teamId??e.team_id??e.ownerTeamId),key:y(c(e.key??e.slug??e.label),c(e.title??e.id,"objective")),threadId:c(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:c(e.summary),progress:f(e.progress),status:h(e.status),createdAt:i,updatedAt:r}}function v(e){if(!n(e))return null;let t=u(e.updatedAt??e.createdAt),r=u(e.createdAt,t),i=c(e.objectiveId??e.goalId);return i?{id:c(e.id,o("objective_activity")),objectiveId:i,sourceType:"note",sourceLabel:c(e.sourceLabel,"Update"),title:c(e.title,"Untitled activity"),body:c(e.body),createdAt:r,updatedAt:t,relatedTaskId:c(e.relatedTaskId)||null}:null}function b(e){if(!n(e))return null;let t=c(e.activityId);return t?{id:c(e.id,o("objective_thread_message")),activityId:t,author:c(e.author,"You"),body:c(e.body),createdAt:u(e.createdAt)}:null}function j(){return{objectives:[],activities:[],activityThreads:{}}}function A(e){let t;if(!n(e))return j();let r=Array.isArray(e.objectives)?e.objectives.map(e=>m(e)).filter(e=>null!==e):[],i=Array.isArray(e.activities)?e.activities.map(e=>v(e)).filter(e=>null!==e):[],a=n(e.activityThreads)?Object.fromEntries(Object.entries(e.activityThreads).map(([e,t])=>[e,l(Array.isArray(t)?t.map(e=>b(e)).filter(e=>null!==e):[])])):{};return{objectives:s((t=new Set,r.map(e=>{let r=p(e.key||e.title||e.id,t,e.id||e.title||"objective");return e.key===r?e:{...e,key:r}}))),activities:d(i),activityThreads:a}}e.s(["PROJECT_OBJECTIVES_METADATA_KEY",0,t,"generateProjectObjectiveKey",0,function(e,t,r){return p(e,new Set(t.filter(e=>e.id!==r).map(e=>y(e.key||e.title||e.id))),r??e)},"normalizeProjectHealthProgress",0,function(e){return f(e)},"normalizeProjectHealthStatus",0,function(e){return h(e)},"readProjectObjectivesWorkspace",0,function(e){if(!n(e))return j();let i=e[t];if(void 0!==i){let e=A(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(!n(a))return j();let e=Array.isArray(a.goals)?a.goals.map(e=>(function(e){if(!n(e))return null;let t=c(e.target),r=[c(e.summary),t?`Measure: ${t}`:""].filter(Boolean).join("\n\n");return m({...e,summary:r})})(e)).filter(e=>null!==e):[],t=Array.isArray(a.manualActivities)?a.manualActivities.map(e=>v({...e,sourceLabel:"Update"})).filter(e=>null!==e):[],r=n(a.activityThreads)?Object.fromEntries(Object.entries(a.activityThreads).map(([e,t])=>[e,l(Array.isArray(t)?t.map(t=>b({...t,activityId:e})).filter(e=>null!==e):[])])):{};return{objectives:s(e),activities:d(t),activityThreads:r}}return j()},"upsertProjectObjective",0,function(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)}},"writeProjectHealthSnapshot",0,function(e,t){let r={...e};return t?r[i]={progress:f(t.progress),status:h(t.status),updatedAt:u(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},"writeProjectObjectivesWorkspace",0,function(e,i){let a={...e};return delete a[r],a[t]=A(i),a}])}];
20
+
21
+ //# sourceMappingURL=apps_local_0uhfa93._.js.map