@mndrk/agx 2.0.56 → 2.2.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 (618) 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 +15 -15
  168. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/_full.segment.rsc +15 -15
  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 +3 -3
  172. package/cloud-runtime/standalone/apps/local/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
  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 +3 -3
  333. package/cloud-runtime/standalone/apps/local/.next/server/app/status.segments/_full.segment.rsc +3 -3
  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 +2 -2
  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_067eb..._.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]__039h7r.._.js +18 -0
  421. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0lno3km._.js +3 -0
  422. 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
  423. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{[root-of-the-server]__0fl7_-o._.js → [root-of-the-server]__0nqqk26._.js} +2 -2
  424. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0tqn-o5._.js +18 -0
  425. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w.zmt6._.js +3 -0
  426. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0w1mm2j._.js +3 -0
  427. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~nm7b6._.js +3 -0
  428. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__10h_7t0._.js +3 -0
  429. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13h-0om._.js +3 -0
  430. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_00trrg8._.js +3 -0
  431. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{_064h43p._.js → _05xj_bp._.js} +2 -2
  432. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ejzn1e._.js +1 -1
  433. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0wk3skw._.js +1 -1
  434. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yeuuy1._.js +25 -0
  435. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_0nvzo3y._.js → apps_local_04dh2yh._.js} +2 -2
  436. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_075cq2j._.js → apps_local_0k4~c1x._.js} +2 -2
  437. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_0t6p.qm._.js +3 -0
  438. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/{apps_local_0_4hk8x._.js → apps_local_0v~bvwg._.js} +2 -2
  439. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_agents_[id]_page_tsx_06n47n~._.js +1 -1
  440. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_graph_[taskId]_page_tsx_0bctfd-._.js +1 -1
  441. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_layout_tsx_0aaa3~t._.js +1 -1
  442. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_linear_page_tsx_0a~n5y8._.js +2 -2
  443. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_page_tsx_0kcaeqi._.js +1 -1
  444. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_new_page_tsx_0yqd0a5._.js +3 -0
  445. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_teams_page_tsx_06czvz-._.js +1 -1
  446. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_[slug]_terminal_page_tsx_01n9qk.._.js +12 -12
  447. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_projects_orphans_page_tsx_0sdv.11._.js +1 -1
  448. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_app_setup_page_tsx_0ql2qmr._.js +1 -1
  449. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_PromptJobBoard_tsx_06zob36._.js +8 -0
  450. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_chat-ui_ChatContainer_tsx_0c9fjtl._.js +1 -1
  451. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_projects_ProjectObjectivesWorkspace_tsx_0k4tfip._.js +6 -6
  452. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_components_thread_WorkspaceSidebar_tsx_0unv2xp._.js +1 -1
  453. package/cloud-runtime/standalone/apps/local/.next/server/functions-config-manifest.json +2 -0
  454. package/cloud-runtime/standalone/apps/local/.next/server/middleware-build-manifest.js +3 -3
  455. package/cloud-runtime/standalone/apps/local/.next/server/middleware-manifest.json +5 -5
  456. package/cloud-runtime/standalone/apps/local/.next/server/pages/404.html +2 -2
  457. package/cloud-runtime/standalone/apps/local/.next/server/pages/500.html +1 -1
  458. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.js +1 -1
  459. package/cloud-runtime/standalone/apps/local/.next/server/server-reference-manifest.json +1 -1
  460. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0jonp-o8lh-4j.js → 0-cets4_axpvm.js} +1 -1
  461. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-wlbe.ripd2w.css +1 -0
  462. package/cloud-runtime/standalone/apps/local/.next/static/chunks/003q-y3exxalk.js +1 -0
  463. package/cloud-runtime/standalone/apps/local/.next/static/chunks/00e1ihnb6ap3t.js +16 -0
  464. package/cloud-runtime/standalone/apps/local/.next/static/chunks/00po4v2x~0x_z.js +1 -0
  465. package/cloud-runtime/standalone/apps/local/.next/static/chunks/013gtut17~fne.js +23 -0
  466. package/cloud-runtime/standalone/apps/local/.next/static/chunks/014z_yruiincl.js +1 -0
  467. package/cloud-runtime/standalone/apps/local/.next/static/chunks/041-dhls9zkl1.js +1 -0
  468. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0_cjth28_11b2.js +16 -0
  469. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{11-u35xqxu~i-.js → 0aewbg0i704w7.js} +1 -1
  470. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{08~pgzjb13k_v.js → 0dnw31436wd~..js} +2 -2
  471. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0e6rxcxy.l5c8.js +1 -0
  472. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0o9cxba_5mv2c.js → 0fonouj2i9qnb.js} +1 -1
  473. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0gj98094p~zn4.js +1 -0
  474. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ime4btrg-g4l.js +1 -0
  475. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jglardpw~5uc.js +37 -0
  476. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0rey9zfvm3yhd.js → 0jq0t4zip38wt.js} +1 -1
  477. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0kn66yvx08813.css +1 -0
  478. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{07646a0h94826.js → 0l89kxqcf86on.js} +2 -2
  479. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{02zcxdul-1jaf.js → 0mig99af4~uos.js} +3 -3
  480. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ng6wy4ak35jg.js +1 -0
  481. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0n~jhoq~op4e5.js +16 -0
  482. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0pdrpsy-zdxp0.js +5 -0
  483. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p~l5ap6qqx2o.js +1 -0
  484. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0w94x-v00osq0.js +1 -0
  485. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0mvqoz13v0o2a.js → 0wh6p5~ft5rma.js} +2 -2
  486. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0xu_doej_wc-3.js +20 -0
  487. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{00lise4d-u8d1.js → 1011~1x9nj4ny.js} +1 -1
  488. package/cloud-runtime/standalone/apps/local/.next/static/chunks/11l2tww5f0hsk.js +20 -0
  489. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16fyhcmwlw3th.js +6 -0
  490. package/cloud-runtime/standalone/apps/local/.next/static/chunks/{0uve8xrt~0a2e.js → 18e8w~~mvoh5o.js} +1 -1
  491. package/cloud-runtime/standalone/apps/local/app/agents/[id]/page.tsx +40 -5
  492. package/cloud-runtime/standalone/apps/local/app/api/agents/[id]/profile/route.ts +10 -0
  493. package/cloud-runtime/standalone/apps/local/app/api/linear/worker/route.ts +151 -0
  494. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/route.ts +0 -8
  495. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/scheduled-tasks/route.ts +6 -27
  496. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/objectives/[objectiveId]/worker/route.ts +89 -0
  497. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/route.ts +13 -0
  498. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/search/route.ts +4 -4
  499. package/cloud-runtime/standalone/apps/local/app/api/projects/[id]/teams/route.ts +5 -3
  500. package/cloud-runtime/standalone/apps/local/app/api/prompt-jobs/route.ts +7 -4
  501. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/layout.tsx +1 -1
  502. package/cloud-runtime/standalone/apps/local/app/projects/[slug]/teams/new/page.tsx +236 -10
  503. package/cloud-runtime/standalone/apps/local/app/setup/page.tsx +9 -1
  504. package/cloud-runtime/standalone/apps/local/components/FloatingPanel.tsx +36 -8
  505. package/cloud-runtime/standalone/apps/local/components/LinearBoard.tsx +53 -24
  506. package/cloud-runtime/standalone/apps/local/components/PromptJobBoard.tsx +76 -2
  507. package/cloud-runtime/standalone/apps/local/components/graph/NodeDetailPanel.tsx +17 -12
  508. package/cloud-runtime/standalone/apps/local/components/linear/LinearSettingsModal.tsx +111 -0
  509. package/cloud-runtime/standalone/apps/local/components/linear/LinearWorkerConfig.tsx +402 -0
  510. package/cloud-runtime/standalone/apps/local/components/linear/LinearWorkerRunLog.tsx +190 -0
  511. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveHealthTrend.tsx +215 -0
  512. package/cloud-runtime/standalone/apps/local/components/projects/ObjectiveScheduledTasksPanel.tsx +208 -80
  513. package/cloud-runtime/standalone/apps/local/components/projects/ProjectHome.tsx +8 -2
  514. package/cloud-runtime/standalone/apps/local/components/projects/ProjectObjectivesWorkspace.tsx +211 -368
  515. package/cloud-runtime/standalone/apps/local/components/projects/RecentlyCompletedCard.tsx +213 -0
  516. package/cloud-runtime/standalone/apps/local/components/projects/TeamsView.tsx +121 -6
  517. package/cloud-runtime/standalone/apps/local/components/scheduling/ScheduleConditionPicker.tsx +1 -1
  518. package/cloud-runtime/standalone/apps/local/components/setup/McpSetupStep.tsx +242 -0
  519. package/cloud-runtime/standalone/apps/local/components/setup/ProjectStep.tsx +2 -2
  520. package/cloud-runtime/standalone/apps/local/components/setup/ProviderStep.tsx +1 -1
  521. package/cloud-runtime/standalone/apps/local/components/setup/TeamsStep.tsx +288 -15
  522. package/cloud-runtime/standalone/apps/local/components/terminal/ProjectTerminal.tsx +24 -14
  523. package/cloud-runtime/standalone/apps/local/components/thread/WorkspaceSidebar.tsx +118 -17
  524. package/cloud-runtime/standalone/apps/local/hooks/useSetupFlow.ts +16 -2
  525. package/cloud-runtime/standalone/apps/local/lib/objective-health-history.ts +198 -0
  526. package/cloud-runtime/standalone/apps/local/lib/project-objective-context.ts +10 -0
  527. package/cloud-runtime/standalone/apps/local/lib/project-objectives.ts +0 -9
  528. package/cloud-runtime/standalone/apps/local/skills-lock.json +20 -0
  529. package/cloud-runtime/standalone/apps/local/src/automations/adapters.ts +5 -0
  530. package/cloud-runtime/standalone/apps/local/src/automations/types.ts +5 -0
  531. package/cloud-runtime/standalone/apps/local/src/automations/validation.ts +12 -5
  532. package/cloud-runtime/standalone/apps/local/src/objectives/parser.ts +0 -2
  533. package/cloud-runtime/standalone/apps/local/src/objectives/serializer.ts +0 -2
  534. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-constants.ts +38 -0
  535. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker-job.ts +47 -0
  536. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/linear-worker.ts +482 -0
  537. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker-job.ts +47 -0
  538. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/objective-worker.ts +511 -0
  539. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/processor.ts +51 -417
  540. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/store.ts +19 -4
  541. package/cloud-runtime/standalone/apps/local/src/prompt-scheduler/types.ts +12 -8
  542. package/cloud-runtime/standalone/apps/local/state/terminalTabs.ts +182 -106
  543. package/cloud-runtime/standalone/apps/local/styles/workspaceSidebar.css +71 -2
  544. package/cloud-runtime/standalone/apps/local/worker/index.js +11 -12
  545. package/package.json +1 -1
  546. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0-0479y._.js +0 -54
  547. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08oj_ky._.js +0 -49
  548. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__08y2lkj._.js +0 -3
  549. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__09joc_o._.js +0 -3
  550. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0g50c6p._.js +0 -237
  551. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0gtv0rq._.js +0 -8
  552. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0ksbs9p._.js +0 -3
  553. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0pz~m67._.js +0 -3
  554. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0q93mk3._.js +0 -7
  555. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0tdixb0._.js +0 -49
  556. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0vhcrdv._.js +0 -229
  557. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__0xdp_8-._.js +0 -237
  558. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__11s20j6._.js +0 -3
  559. package/cloud-runtime/standalone/apps/local/.next/server/chunks/[root-of-the-server]__12xhcor._.js +0 -54
  560. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_01rag2f._.js +0 -49
  561. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_03y4xss._.js +0 -21
  562. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0cm4i3i._.js +0 -3
  563. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0ijzgnb._.js +0 -3
  564. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_0~fjhfa._.js +0 -3
  565. package/cloud-runtime/standalone/apps/local/.next/server/chunks/_12yasaj._.js +0 -9
  566. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_03q7_.q._.js +0 -21
  567. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0m3e2d~._.js +0 -30
  568. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_0r-oiga._.js +0 -30
  569. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_00cwfvi._.js +0 -34
  570. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0hx7xyz._.js +0 -34
  571. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0rqcat4._.js +0 -55
  572. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_0sc_lek._.js +0 -79
  573. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_lib_135ddsu._.js +0 -55
  574. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_graph_store_ts_0h.2qy9._.js +0 -43
  575. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_022nz2u._.js +0 -3
  576. package/cloud-runtime/standalone/apps/local/.next/server/chunks/apps_local_src_prompt-scheduler_processor_ts_0i1av_r._.js +0 -475
  577. package/cloud-runtime/standalone/apps/local/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0yvelwy.js +0 -3
  578. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_0qzjdog._.js +0 -3
  579. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/0rhn_lucide-react_dist_esm_icons_0a-mbbj._.js +0 -3
  580. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__07johgg._.js +0 -3
  581. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0bf346q._.js +0 -3
  582. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0r3w68h._.js +0 -18
  583. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0x7k~pk._.js +0 -3
  584. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0y8j6el._.js +0 -18
  585. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0yme9fy._.js +0 -3
  586. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__0~7q5sw._.js +0 -3
  587. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/[root-of-the-server]__13eqcxp._.js +0 -3
  588. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_09~glsn._.js +0 -3
  589. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0n80y4_._.js +0 -3
  590. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ndrb_0._.js +0 -8
  591. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0ut3k~7._.js +0 -3
  592. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0vibfch._.js +0 -3
  593. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/_0yffwm4._.js +0 -8
  594. package/cloud-runtime/standalone/apps/local/.next/server/chunks/ssr/apps_local_04hvzn_._.js +0 -3
  595. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0-_ukhpeg429c.js +0 -16
  596. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0.4d8rshxivwh.js +0 -20
  597. package/cloud-runtime/standalone/apps/local/.next/static/chunks/02p3n7faotpr9.js +0 -16
  598. package/cloud-runtime/standalone/apps/local/.next/static/chunks/051-7k0nnm-vm.js +0 -1
  599. package/cloud-runtime/standalone/apps/local/.next/static/chunks/055bzj5jfgzr0.js +0 -1
  600. package/cloud-runtime/standalone/apps/local/.next/static/chunks/05c-~4v_jrblf.css +0 -1
  601. package/cloud-runtime/standalone/apps/local/.next/static/chunks/09wzd7y~tk-3~.js +0 -1
  602. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0brmd4~76pthy.js +0 -20
  603. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0f7i3ae1ynhf3.css +0 -1
  604. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0hudzktaaxr4g.js +0 -6
  605. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0hzq698w6f4m6.js +0 -1
  606. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0i.su2yr26wb6.js +0 -37
  607. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0jsbvcyub73d9.js +0 -1
  608. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0l2pt2td_87wr.js +0 -5
  609. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0p7s38p3bcffh.js +0 -1
  610. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0q2dgbluvgxf2.js +0 -16
  611. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0r0c9y6.8.m5p.js +0 -1
  612. package/cloud-runtime/standalone/apps/local/.next/static/chunks/0ucg8e2wkd8gf.js +0 -1
  613. package/cloud-runtime/standalone/apps/local/.next/static/chunks/104xjvrf6y-zq.js +0 -1
  614. package/cloud-runtime/standalone/apps/local/.next/static/chunks/15jlly_p-g4c8.js +0 -6
  615. package/cloud-runtime/standalone/apps/local/.next/static/chunks/16nozeadjid9-.js +0 -5
  616. /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → qPuactsz6OYimwT6dSdHn}/_buildManifest.js +0 -0
  617. /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → qPuactsz6OYimwT6dSdHn}/_clientMiddlewareManifest.js +0 -0
  618. /package/cloud-runtime/standalone/apps/local/.next/static/{fPVnk_kTRzrxXr7U3TRFW → qPuactsz6OYimwT6dSdHn}/_ssgManifest.js +0 -0
@@ -0,0 +1,25 @@
1
+ module.exports=[309113,e=>{"use strict";var t=e.i(902157),r=e.i(750227),s=e.i(660526);let n=new Set(["running","working"]),a=`Review the thread, assess whether the work is complete enough to move into review, and if not, produce one concise steering message that combines:
2
+ 1. what has been accomplished vs. what remains
3
+ 2. the concrete next steps needed to move toward shipping`,o=`You MUST respond with ONLY a JSON object, no markdown fences, no extra text:
4
+ {"isDone": true/false, "message": "your assessment"}
5
+
6
+ Set isDone=true only when the thread is genuinely ready to stop ship mode and move into review.
7
+ If isDone=false, message must be a single concise steering note with both status and next steps.
8
+ The message must not be empty.`;function i(){try{let e=(0,r.join)((0,s.homedir)(),".agx","config.json");return JSON.parse((0,t.readFileSync)(e,"utf8")).defaultProvider??"claude"}catch{return"claude"}}function u(e){switch(e){case"claude":case"gemini":case"ollama":case"codex":case"zai":return e;default:return"claude"}}async function d(t,r){try{let[{getSQLiteDb:s},{loadDbParticipants:n}]=await Promise.all([e.A(729130),e.A(292939)]),a=s(),o=a.prepare(`SELECT pt.project_id AS project_id
9
+ FROM project_threads pt
10
+ WHERE pt.thread_id = ?
11
+ ORDER BY pt.created_at ASC
12
+ LIMIT 1`).get(t);if(!o?.project_id)return{provider:u(i()),model:null};let d=function(t,r,s){if(!s)return null;try{let{parseFrontmatter:n}=e.r(623775),a=t.prepare("SELECT content FROM tasks WHERE id = ? LIMIT 1").get(s);if(!a?.content)return null;let{frontmatter:o}=n(a.content),i="string"==typeof o.team?o.team.trim():"";if(!i)return null;let u=t.prepare("SELECT id FROM teams WHERE project_id = ? AND name = ? LIMIT 1").get(r,i);if(!u?.id)return null;let d=t.prepare("SELECT agent_id FROM team_agents WHERE team_id = ? ORDER BY routing_order ASC LIMIT 1").get(u.id);return d?.agent_id??null}catch{return null}}(a,o.project_id,r)??a.prepare(`SELECT agent_id
13
+ FROM project_agents
14
+ WHERE project_id = ?
15
+ ORDER BY routing_order ASC, created_at ASC
16
+ LIMIT 1`).get(o.project_id)?.agent_id;if(!d)return{provider:u(i()),model:null};let l=(await n()).find(e=>e.id===d);if(!l)return{provider:u(i()),model:null};return{provider:u(l.provider),model:l.model}}catch{return{provider:u(i()),model:null}}}e.s(["createDispatchWork",0,function(){return async(t,r)=>{let s=r.schedule?.rootMessageId;if(!s)return{status:"failure",message:"No rootMessageId on graph schedule"};console.log(`[work-dispatch] Dispatching steer node "${t.title}" for graph ${r.id} (root: ${s})`);try{let i,{getMessageThread:u,getThreadStatusSnapshot:l,sweepStaleWorkingReactions:c}=await e.A(891284),p=await u(s);if(!p)return{status:"failure",message:`Thread not found for rootMessageId: ${s}`};await c(p.threadId);let m=await l({threadId:p.threadId,rootMessageId:s}),g=m.processes.filter(e=>n.has(e.status)).length,h=m.rootMessage?.threadStatus??"active",f=m.processes.slice(0,8).map(e=>{let t=[`${e.agent}: ${e.status}`];return e.responseTo&&t.push(`replying to "${e.responseTo.slice(0,140)}"`),e.responseContent&&t.push(`latest response "${e.responseContent.slice(0,140)}"`),`- ${t.join(" | ")}`}).join("\n"),S=(m.messages??[]).slice(-15).map(e=>{let t=e.participantId??e.role??"?",r=(e.content??"").slice(0,600);return`[${t}]: ${r}`}).join("\n");console.log(`[work-dispatch] Thread: active=${g}, msgs=${m.messages?.length??0}`);let _=["--- THREAD STATE ---",`Root request: ${m.rootMessage?.content??"(missing root message)"}`,`Thread status: ${h}`,`Active agents: ${g}`,`Total messages: ${m.messages?.length??0}`,m.lastUpdatedAt?`Last updated at: ${new Date(m.lastUpdatedAt).toISOString()}`:null,"","Current process state:",f||"- none","","Recent messages:",S||"- none","--- END THREAD STATE ---","","Assess the progress and respond with the JSON object."].filter(Boolean).join("\n"),{runCliResponse:w}=await e.A(224472),E=await d(p.threadId,r.taskId);console.log(`[work-dispatch] Calling ${E.provider} via runCliResponse (prompt length: ${_.length})...`);let I="";await w({provider:E.provider,model:E.model,prompt:_,systemContext:(i=t.description?.trim()||a,`${i}
17
+
18
+ ${o}`),onDelta:e=>{I+=e},onLog:(e,t)=>{console.log(`[work-dispatch] [${e}] ${t}`)}}),console.log(`[work-dispatch] Raw response: ${I.slice(0,500)}`);let R=function(e){let t=e.match(/\{[\s\S]*?"isDone"\s*:\s*(true|false)[\s\S]*?\}/);if(t)try{let e=JSON.parse(t[0]),r=String(e.message??"").trim();if(!r)return{ok:!1,error:"Ship mode response JSON did not include a non-empty message."};return{ok:!0,value:{isDone:!!e.isDone,message:r}}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}return{ok:!1,error:"Ship mode response was not valid JSON with isDone/message fields."}}(I.trim());if(!R.ok)return{status:"failure",transient:!1,message:R.error};return console.log("[work-dispatch] Parsed result:",R),{status:"success",output:R.value}}catch(e){return console.error("[work-dispatch] Steer dispatch failed:",e),{status:"failure",message:e instanceof Error?e.message:String(e),error:e}}}}])},251642,e=>{"use strict";var t=e.i(633211),r=e.i(929160),s=e.i(623775),n=e.i(341902),a=e.i(733545),o=e.i(864075);async function i(e,u,d=[]){let l,c,p,m,g=new Set;for(let t of(e&&g.add(e),u))t&&g.add(t);if(0===g.size)return;let h=await Promise.all(Array.from(g).map(async e=>{try{let t=await r.db.getProjectWithRepos(e,o.LOCAL_USER.id);return[e,t]}catch(t){return console.warn("Failed to load project context",{slug:e,error:t}),[e,null]}})),f=new Map;for(let[e,t]of h)t&&f.set(e,t);let S=e?f.get(e):void 0,_=u.map(e=>f.get(e)).filter(e=>!!e).map(e=>({id:e.id,slug:e.slug,name:e.name,description:e.description??null,ciCdInfo:e.ci_cd_info??null,workflowId:e.workflow_id??null,repos:(e.repos??[]).map(e=>({name:e.name,path:e.path??null,notes:e.notes??null}))}));if(S||0!==_.length){if(S)try{let[e,r]=await Promise.all([(0,s.getProjectSkills)(S.id),(0,s.getProjectMemory)(S.id,"human")]),o=(0,a.getKnowledgeNote)("project",S.id);e.length>0&&(l=e.map(e=>({file:e.file,...e.condition?{condition:e.condition}:{}}))),r.length>0&&(c=r.map(e=>({content:e.content,...e.source?{source:e.source}:{}}))),o?.content&&(c=[...c??[],{content:o.content,source:"system-note"}]);let i=(function(e){let t=[];for(let r of e){if(!r.id){let e=String(r.notes??"").trim();if(!e)continue;t.push({repoId:"",repoName:r.name,path:r.path??null,content:e,producer:"human"});continue}let e=n.vaultStore.getKnowledgeNote("repo",r.id),s=e?.content.trim()||String(r.notes??"").trim();s&&t.push({repoId:r.id,repoName:r.name,path:r.path??null,content:s,producer:"human"})}return t})(S.repos??[]).map(e=>({repoName:e.repoName,path:e.path??null,content:"system"===e.producer?`[System-generated] ${e.content}`:e.content}));if(i.length>0&&(p=i),d.length>0){let e=(0,t.getSQLiteDb)();for(let t of(m={},d)){let r=e.prepare("SELECT id, content FROM agent_memory WHERE agent_id = ? ORDER BY created_at DESC LIMIT 20").all(t.id);m[t.id]=await (0,s.buildExecutionProvenance)(t.id,S.id,t.skills??[],r)}}}catch(e){console.warn("Failed to load project resources",{projectId:S.id,error:e})}return{activeProject:S?{id:S.id,slug:S.slug,name:S.name}:void 0,mentionedProjects:_.length>0?_:void 0,skills:l,memory:c,repoKnowledge:p,provenanceByAgentId:m}}}e.s(["normalizeProjectSlug",0,function(e){return"string"!=typeof e?"":e.trim().toLowerCase()},"resolveProjectContext",0,i],251642)},202322,e=>{"use strict";e.s(["ensureOrchestratorRuntime",()=>h],202322);var t=e.i(295851),r=e.i(389344),s=e.i(329893),n=e.i(47973),a=e.i(796283),o=e.i(462919),i=e.i(71966),u=e.i(309113);let d=a.SCHEDULE_POLL_INTERVAL_MS,l=null,c=null;async function p(){return c||(c=(async()=>{let e=await (0,i.pollSchedules)({dispatchFunction:(0,o.createDispatchFunction)(),dispatchWork:(0,u.createDispatchWork)()});e.errors.length>0&&(0,n.writeDebugLog)("schedule_runtime.poll.error",{errorCount:e.errors.length,graphIds:e.errors.map(e=>e.graphId)})})().catch(e=>{(0,n.writeDebugLog)("schedule_runtime.poll.exception",{error:e}),console.error("[schedule-runtime] Poll failed:",e)}).finally(()=>{c=null}))}async function m(){let e;if("1"===process.env.AGX_DISABLE_SCHEDULE_POLLING||l)return;let t=Number.isFinite(e=Number(process.env.AGX_SCHEDULE_POLL_INTERVAL_MS))?Math.max(1e3,e):d;(0,n.writeDebugLog)("schedule_runtime.start",{intervalMs:t}),"function"==typeof(l=setInterval(()=>{p()},t)).unref&&l.unref(),await p()}let g=null;async function h(){return g||(g=(async()=>{(0,n.writeDebugLog)("orchestrator.bootstrap.start");let e=await (0,t.getQueue)();await e.work(t.QUEUE_NAMES.TASK_PROCESS,r.taskProcessor,{batchSize:5}),await e.work(t.QUEUE_NAMES.CHAT_RUN_PROCESS,s.chatProcessor,{batchSize:2}),await m(),(0,n.writeDebugLog)("orchestrator.bootstrap.ready",{queues:[t.QUEUE_NAMES.TASK_PROCESS,t.QUEUE_NAMES.CHAT_RUN_PROCESS]})})().catch(e=>{throw(0,n.writeDebugLog)("orchestrator.bootstrap.error",{error:e}),g=null,e}))}},462919,e=>{"use strict";e.s(["createDispatchFunction",()=>S],462919);var t=e.i(233405),r=e.i(864075),s=e.i(133439),n=e.i(251642),a=e.i(47973),o=e.i(202322),i=e.i(295851),u=e.i(796283);let d=new Set(["running","working"]);function l(e,t){let r="string"==typeof e.args?.rootMessageId?e.args.rootMessageId.trim():"";return r||(t.schedule?.rootMessageId?.trim()??"")}function c(e){return e.replace(/\s+/g," ").trim()}async function p(t,r){try{let{getSQLiteDb:s}=await e.A(729130),n=s(),a=n.prepare(`SELECT pt.project_id AS project_id, p.slug AS project_slug
19
+ FROM project_threads pt
20
+ JOIN projects p ON p.id = pt.project_id
21
+ WHERE pt.thread_id = ?
22
+ ORDER BY pt.created_at ASC
23
+ LIMIT 1`).get(t);if(!a?.project_id)return{projectSlug:null,projectAgentIds:[]};let o=function(t,r,s){if(!s)return null;try{let{parseFrontmatter:n}=e.r(623775),a=t.prepare("SELECT content FROM tasks WHERE id = ? LIMIT 1").get(s);if(!a?.content)return null;let{frontmatter:o}=n(a.content),i="string"==typeof o.team?o.team.trim():"";if(!i)return null;let u=t.prepare("SELECT id FROM teams WHERE project_id = ? AND name = ? LIMIT 1").get(r,i);if(!u?.id)return null;let d=t.prepare("SELECT agent_id FROM team_agents WHERE team_id = ? ORDER BY routing_order ASC").all(u.id);if(0===d.length)return null;return d.map(e=>e.agent_id?.trim()).filter(e=>!!e)}catch{return null}}(n,a.project_id,r)??n.prepare("SELECT agent_id FROM project_agents WHERE project_id = ? ORDER BY routing_order ASC, created_at ASC").all(a.project_id).map(e=>e.agent_id?.trim()).filter(e=>!!e);return{projectSlug:a.project_slug?.trim()||null,projectAgentIds:o}}catch{return{projectSlug:null,projectAgentIds:[]}}}async function m(t,r){let s=l(t,r);if(!s)return{status:"failure",message:"thread-status requires rootMessageId"};let{getMessageThread:n,getThreadStatusSnapshot:a,sweepStaleWorkingReactions:o}=await e.A(891284),i=await n(s);if(!i)return{status:"failure",message:`Thread not found for rootMessageId: ${s}`};await o(i.threadId);let u=await a({threadId:i.threadId,rootMessageId:s});return{status:"success",output:{activeProcessCount:u.processes.filter(e=>d.has(e.status)).length,messageCount:u.messages?.length??0,threadId:i.threadId,lastUpdatedAt:u.lastUpdatedAt}}}async function g(t,m){let g=l(t,m);if(!g)return{status:"failure",message:"ship-mode-act requires rootMessageId"};let h=function(e,t){let r="string"==typeof e.args?.steerNodeId&&e.args.steerNodeId.trim()?e.args.steerNodeId.trim():"steer",s=t.nodes[r];if(!s||"work"!==s.type)return null;let n=s.output;return n&&"object"==typeof n?{isDone:!!n.isDone,message:"string"==typeof n.message?n.message:""}:null}(t,m);if(!h)return{status:"failure",message:"Unable to read steer node output"};if(!c(h.message))return{status:"failure",message:"Ship mode produced an empty steer message"};let{createChatRun:f,getThreadStatusSnapshot:S,getMessageThread:_,loadHistory:w,saveMessages:E,updateMessageStatus:I}=await e.A(891284),{deactivateSchedulesByRootMessageId:R}=await e.A(653952),y=await _(g);if(!y)return{status:"failure",message:`Thread not found for rootMessageId: ${g}`};if(h.isDone){let e=(await S({threadId:y.threadId,rootMessageId:g})).processes.filter(e=>d.has(e.status)).length;return e>0?{status:"success",output:{done:!1,action:"completion_deferred_active_work",activeProcessCount:e}}:(R(g),await I(y.threadId,g,"in-review",null),{status:"success",output:{done:!0,action:"stopped_and_in_review"}})}let A=await (0,s.loadDbParticipants)(),M=Object.fromEntries(A.map(e=>[e.id,e.name])),{projectSlug:T,projectAgentIds:j}=await p(y.threadId,m.taskId),L=await w(y.threadId),C=j[0]??A[0]?.id??null;if(function(e,t,r,s){let n=c(r);if(!n)return!1;let a=Date.now()-u.STEER_DUPLICATE_WINDOW_MS;return e.filter(e=>e.id===t||e.rootMessageId===t).some(e=>"assistant"===e.role&&!(e.timestamp<a)&&(!s||e.participantId===s)&&c(e.content)===n)}(L,g,h.message,C))return{status:"success",output:{done:!1,action:"duplicate_next_steps_skipped",sender:C}};let v=crypto.randomUUID();await E(y.threadId,[{id:v,role:"assistant",participantId:C,content:h.message,timestamp:Date.now(),rootMessageId:g,parentMessageId:g,depth:1}]);let D=(j.length>0?j:A.map(e=>e.id)).filter((e,t,r)=>e&&r.indexOf(e)===t),O=D.filter(e=>e!==C),k=(O.length>0?O:D).filter(e=>A.some(t=>t.id===e));if(0===k.length)return{status:"success",output:{done:!1,action:"sent_next_steps_only",sender:C,messageId:v}};let N=A.filter(e=>k.includes(e.id)),U=T?await (0,n.resolveProjectContext)(T,[],N):void 0,$=crypto.randomUUID(),b={threadId:y.threadId,prompt:h.message,projectContext:U,mentionedIds:[],initialParallelIds:[],maxRounds:10,recentHistory:L.filter(e=>e.id===g||e.rootMessageId===g).slice(-20).map(e=>({id:e.id,name:"user"===e.role?"User":e.participantId?M[e.participantId]||e.participantId:"Assistant",content:e.content})),currentUserMessageId:v,rootMessageId:g,participantIds:k};await f({id:$,threadId:y.threadId,rootMessageId:g,userId:r.LOCAL_USER.id,projectSlug:T??null,maxSteps:10,activeParticipantIds:k,payload:b}),await (0,o.ensureOrchestratorRuntime)();let P=await (0,i.getQueue)();return await P.send(i.QUEUE_NAMES.CHAT_RUN_PROCESS,{chatRunId:$,userId:r.LOCAL_USER.id,signal:"start"}),(0,a.writeDebugLog)("ship_mode.steer.enqueued",{rootMessageId:g,threadId:y.threadId,chatRunId:$,authorId:C,participantIds:k,projectSlug:T??null}),{status:"success",output:{done:!1,action:"sent_next_steps_and_started_chat_run",sender:C,messageId:v,chatRunId:$}}}async function h(e,t){if("internal"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};switch(e.command){case"thread-status":return m(e,t);case"ship-mode-act":return g(e,t);default:return{status:"failure",message:`Unsupported internal function command: ${e.command}`}}}async function f(e,r){if("bash"!==e.kind)return{status:"failure",message:`Unsupported function node kind: ${e.kind}`};let s=e.command;if(!s||""===s.trim())return{status:"failure",message:"Empty command"};let n=e.timeoutMs??u.BASH_FUNCTION_TIMEOUT_MS;return new Promise(e=>{let r="",a="",o=0,i=!1,u=!1,d=(0,t.spawn)(s,[],{shell:!0,timeout:n,killSignal:"SIGTERM"}),l=setTimeout(()=>{u=!0,d.kill("SIGTERM")},n);d.stdout.on("data",e=>{if(i)return;let t=Buffer.byteLength(e.toString(),"utf8");if(o+t>65536){i=!0;return}r+=e.toString(),o+=t}),d.stderr.on("data",e=>{a+=e.toString()}),d.on("error",t=>{clearTimeout(l),e({status:"failure",message:`Failed to spawn command: ${t.message}`,error:t})}),d.on("close",t=>{if(clearTimeout(l),u)return void e({status:"failure",message:`Command timed out after ${n}ms`});if(i)return void e({status:"failure",message:"Stdout exceeded 65536 bytes limit"});if(0!==t)return void e({status:"failure",message:`Command exited with code ${t}: ${a||"(no stderr)"}`});let s=r.trim();if(""===s)return void e({status:"success",output:{}});try{let t=JSON.parse(s);e({status:"success",output:t})}catch{e({status:"success",output:{raw:s}})}})})}function S(){return async(e,t)=>{switch(e.kind){case"bash":return f(e,t);case"internal":return h(e,t);default:return{status:"failure",message:`Unsupported function node kind: ${e.kind}`}}}}}];
24
+
25
+ //# sourceMappingURL=apps_local_12wpldq._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[982543,(e,o,d)=>{}];
2
+
3
+ //# sourceMappingURL=apps_local__next-internal_server_app_api_linear_worker_route_actions_116303i.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[796283,e=>{"use strict";e.s(["BASH_FUNCTION_TIMEOUT_MS",0,3e4,"CHECK_NPM_BUILD_TIMEOUT_MS",0,6e5,"CHECK_NPM_COVERAGE_TIMEOUT_MS",0,3e5,"CHECK_NPM_LINT_TIMEOUT_MS",0,6e4,"CHECK_NPM_TEST_TIMEOUT_MS",0,3e5,"CHECK_NPM_TYPECHECK_TIMEOUT_MS",0,12e4,"GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"PS_COMMAND_TIMEOUT_MS",0,5e3,"QUEUE_POLL_INTERVAL_MS",0,1e3,"SCHEDULE_POLL_INTERVAL_MS",0,5e3,"SHELL_COMMAND_TIMEOUT_MS",0,5e3,"SKILLS_CACHE_TTL_MS",0,36e5,"SKILL_DETAIL_CACHE_TTL_MS",0,36e5,"SKILL_FETCH_TIMEOUT_MS",0,12e4,"STEER_DUPLICATE_WINDOW_MS",0,9e5,"WRITE_RATE_SAMPLE_WINDOW_MS",0,1e4,"WRITE_RATE_WARNING_COOLDOWN_MS",0,6e4])},801243,e=>{"use strict";e.s(["pragmaAll",0,function(e,t){return e.prepare(`PRAGMA ${t}`).all()},"pragmaGet",0,function(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let n=Object.values(r);return n.length>0?n[0]:void 0},"pragmaSet",0,function(e,t){e.exec(`PRAGMA ${t}`)},"transaction",0,function(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}},"transactionFn",0,function(e,t){return(...r)=>{e.exec("BEGIN");try{let n=t(...r);return e.exec("COMMIT"),n}catch(t){throw e.exec("ROLLBACK"),t}}}])},610613,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(801243),r=e.i(522734),n=e.i(446786),a=e.i(814747);let o="3.35.0",s=["json1"],i=["fts5"],u=["nfs","smb","cifs","efs","fuse.sshfs"];function c(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}e.s(["validateSQLiteEnvironment",0,function(l,d){let g=[],T=l.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),n=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(n[e]||0);if(0!==t)return t}return 0}(T.v,o)&&g.push({kind:"version_mismatch",message:`SQLite version ${T.v} is below minimum ${o}`,found:T.v,required:`>= ${o}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),s))c(l,e)||g.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of i)c(l,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(t){"linux"!==n.default.platform()&&n.default.platform();try{let o=a.default.resolve(t),{execSync:s}=e.r(233405);if("darwin"===n.default.platform());else{let e=r.default.readFileSync("/proc/mounts","utf-8"),t="",n="unknown";for(let r of e.split("\n")){let[,e,a]=r.split(/\s+/);e&&o.startsWith(e)&&e.length>t.length&&(t=e,n=a||"unknown")}return n}}catch{}return null}(d);m&&u.some(e=>m.toLowerCase().includes(e))&&g.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${m})`,path:d,found:m,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(l,"journal_mode = wal"),(0,t.pragmaSet)(l,"foreign_keys = 1"),(0,t.pragmaSet)(l,"busy_timeout = 5000"),(0,t.pragmaSet)(l,"synchronous = 1"),(0,t.pragmaSet)(l,"cache_size = -64000");let e=(0,t.pragmaGet)(l,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(l,"journal_mode = DELETE");let e=(0,t.pragmaGet)(l,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(l,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):g.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){g.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return g}])},828549,e=>{"use strict";var t=e.i(623775),r=e.i(633211);class n extends Error{constraint;detail;constructor(e,t){super(e),this.name="ConflictError",this.constraint=t?.constraint,this.detail=t?.detail}}class a extends Error{code;constructor(e,t){super(e),this.name="RetryableError",this.code=t}}class o extends Error{expectedVersion;actualVersion;entityId;entityType;constructor(e,t,r,n){super(void 0!==n?`Concurrent modification on ${e} ${t}: expected version ${r}, found ${n}`:`Concurrent modification on ${e} ${t}: expected version ${r}, row not updated`),this.name="ConcurrentModificationError",this.entityType=e,this.entityId=t,this.expectedVersion=r,this.actualVersion=n}}function s(e){if(!(e instanceof Error))throw e;let t=e.code??"",r=e.message??"";if("SQLITE_CONSTRAINT_UNIQUE"===t||"SQLITE_CONSTRAINT_PRIMARYKEY"===t||"SQLITE_CONSTRAINT"===t&&(r.includes("UNIQUE")||r.includes("PRIMARY KEY"))||r.includes("UNIQUE constraint failed")||r.includes("PRIMARY KEY constraint failed")){let e=r.match(/(?:UNIQUE|PRIMARY KEY) constraint failed: (.+)/);throw new n(r,{constraint:e?.[1],detail:r})}if("SQLITE_BUSY"===t||"SQLITE_LOCKED"===t||r.includes("database is locked"))throw new a(r,t||"SQLITE_BUSY");throw e}async function i(e){try{return await e()}catch(e){if(e instanceof n||e instanceof a||e instanceof o)throw e;s(e)}}e.s(["SQLiteAdapter",0,class{async transaction(e){let t=(0,r.getSQLiteDb)();t.exec("BEGIN IMMEDIATE");try{let r=await e(t);return t.exec("COMMIT"),r}catch(e){try{t.exec("ROLLBACK")}catch{}if(e instanceof n||e instanceof a||e instanceof o)throw e;s(e)}}getTasks(e,r){return t.getTasks(e,r)}getTask(e,r){return t.getTask(e,r)}getTaskBySlug(e,r){return t.getTaskBySlug(e,r)}createTask(e,r,n){return i(()=>t.createTask(e,r,n))}async updateTask(e,n,a,s){let u=s?.expectedVersion;if(void 0!==u){let c=(0,r.getSQLiteDb)();if(0===c.prepare("UPDATE tasks SET version = version + 1 WHERE id = ? AND version = ?").run(e,u).changes){let t=c.prepare("SELECT version FROM tasks WHERE id = ?").get(e);throw new o("task",e,u,t?.version)}let{expectedVersion:l,...d}=s??{};return i(()=>t.updateTask(e,n,a,d))}return(0,r.getSQLiteDb)().prepare("UPDATE tasks SET version = version + 1 WHERE id = ?").run(e),i(()=>t.updateTask(e,n,a,s))}appendRunToIndex(e,r,n){return t.appendRunToIndex(e,r,n)}deleteTask(e,r){return i(()=>t.deleteTask(e,r))}getNextQueuedTask(e){return t.getNextQueuedTask(e)}ensureNoCircularDependency(e,r,n){return t.ensureNoCircularDependency(e,r,n)}getProjects(e,r){return t.getProjects(e,r)}getProjectBySlug(e,r){return t.getProjectBySlug(e,r)}getProjectRepos(e){return t.getProjectRepos(e)}getProjectWithRepos(e,r){return t.getProjectWithRepos(e,r)}createProject(e,r,n){return i(()=>t.createProject(e,r,n))}updateProject(e,r,n,a){return t.updateProject(e,r,n,a)}deleteProject(e,r,n){return i(()=>t.deleteProject(e,r,n))}assignOrphanTasksToProject(e,r,n){return t.assignOrphanTasksToProject(e,r,n)}getWorkflows(e){return t.getWorkflows(e)}getWorkflow(e,r){return t.getWorkflow(e,r)}updateWorkflow(e,r,n){return t.updateWorkflow(e,r,n)}getWorkflowNodes(e){return t.getWorkflowNodes(e)}updateWorkflowNodes(e,r,n){return t.updateWorkflowNodes(e,r,n)}getWorkflowNodeByName(e,r){return t.getWorkflowNodeByName(e,r)}getWorkflowTransitions(e){return t.getWorkflowTransitions(e)}getWorkflowTransitionsFromNode(e,r){return t.getWorkflowTransitionsFromNode(e,r)}getWorkflowWithGraph(e,r){return t.getWorkflowWithGraph(e,r)}getTaskLogs(e,r){return t.getTaskLogs(e,r)}addTaskLog(e,r,n,a){return i(()=>t.addTaskLog(e,r,n,a))}addTaskCostEntry(e){return i(()=>t.addTaskCostEntry(e))}getTaskCostEntries(e){return t.getTaskCostEntries(e)}getTaskCostSummary(e){return t.getTaskCostSummary(e)}getTaskComments(e){return t.getTaskComments(e)}addTaskComment(e,r,n,a){return i(()=>t.addTaskComment(e,r,n,a))}deleteTaskComment(e,r){return i(()=>t.deleteTaskComment(e,r))}getLearnings(e,r,n){return t.getLearnings(e,r,n)}addLearning(e,r,n,a){return i(()=>t.addLearning(e,r,n,a))}deleteLearning(e,r){return i(()=>t.deleteLearning(e,r))}getStagePrompts(e,r){return t.getStagePrompts(e,r)}getStagePrompt(e,r,n){return t.getStagePrompt(e,r,n)}upsertStagePrompt(e,r,n,a,o,s){return i(()=>t.upsertStagePrompt(e,r,n,a,o,s))}deleteStagePrompt(e,r){return t.deleteStagePrompt(e,r)}getAgents(e){return t.getAgents(e)}getAgent(e,r){return t.getAgent(e,r)}createAgent(e,r){return i(()=>t.createAgent(e,r))}updateAgent(e,r,n){return t.updateAgent(e,r,n)}deleteAgent(e,r){return t.deleteAgent(e,r)}getProjectAgents(e){return t.getProjectAgents(e)}addProjectAgent(e,r,n){return i(()=>t.addProjectAgent(e,r,n))}removeProjectAgent(e,r){return t.removeProjectAgent(e,r)}reorderProjectAgents(e,r){return t.reorderProjectAgents(e,r)}getTeams(e){return t.getTeams(e)}getTeam(e){return t.getTeam(e)}createTeam(e,r,n,a){return i(()=>t.createTeam(e,r,n,a))}updateTeam(e,r){return t.updateTeam(e,r)}deleteTeam(e){return t.deleteTeam(e)}getTeamAgents(e){return t.getTeamAgents(e)}addTeamAgent(e,r,n,a){return i(()=>t.addTeamAgent(e,r,n,a))}removeTeamAgent(e,r){return t.removeTeamAgent(e,r)}getProjectSkills(e){return t.getProjectSkills(e)}addProjectSkill(e,r,n){return i(()=>t.addProjectSkill(e,r,n))}removeProjectSkill(e){return t.removeProjectSkill(e)}getProjectVariables(e){return t.getProjectVariables(e)}setProjectVariable(e,r,n){return i(()=>t.setProjectVariable(e,r,n))}deleteProjectVariable(e,r){return t.deleteProjectVariable(e,r)}getProjectMemory(e,r){return t.getProjectMemory(e,r)}addProjectMemory(e,r,n,a){return i(()=>t.addProjectMemory(e,r,n,a))}deleteProjectMemory(e){return t.deleteProjectMemory(e)}getProjectThreads(e){return t.getProjectThreads(e)}addProjectThread(e,r){return i(()=>t.addProjectThread(e,r))}removeProjectThread(e,r){return t.removeProjectThread(e,r)}getProjectForThread(e){return t.getProjectForThread(e)}getUserSettings(e){return t.getUserSettings(e)}upsertUserSettings(e,r,n){return i(()=>t.upsertUserSettings(e,r,n))}async healthCheck(){let e=performance.now();try{return(0,r.getSQLiteDb)().prepare("SELECT 1").get(),{adapter:"sqlite",connected:!0,latencyMs:Math.round(performance.now()-e)}}catch{return{adapter:"sqlite",connected:!1,latencyMs:Math.round(performance.now()-e)}}}}],828549)},929160,e=>{"use strict";let t=function(){let{SQLiteAdapter:t}=e.r(828549);return new t}();e.s(["db",0,t])}];
2
+
3
+ //# sourceMappingURL=apps_local_lib_01hd2_5._.js.map
@@ -0,0 +1,34 @@
1
+ module.exports=[341902,e=>{"use strict";var t=e.i(902157),r=e.i(660526),i=e.i(750227),o=e.i(666680),a=e.i(180228),n=e.i(633211);let s=process.env.AGX_VAULT_ROOT||i.default.join(process.env.AGX_DATA_DIR||i.default.join(r.default.homedir(),".agx"),"vault");function d(){return new Date().toISOString()}function l(e,t="item"){return String(e||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||t}function c(e){return"number"==typeof e&&Number.isFinite(e)?Math.max(0,Math.min(1,e)):null}function u(e){t.default.mkdirSync(e,{recursive:!0})}function p(e){t.default.existsSync(e)&&t.default.rmSync(e,{recursive:!0,force:!0})}function f(e,r){if(!t.default.existsSync(e))return r;try{return JSON.parse(t.default.readFileSync(e,"utf8"))}catch{return r}}function g(e,r){u(i.default.dirname(e));let o=`${e}.tmp-${process.pid}-${Date.now()}`;t.default.writeFileSync(o,r,"utf8"),t.default.renameSync(o,e)}function m(e,t){g(e,`${JSON.stringify(t,null,2)}
2
+ `)}function _(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function h(e){return String(e||"").replace(/\r\n/g,"\n").split("\n").map(e=>e.replace(/\s+$/g,"")).join("\n").trim()}function y(e,t,r){let i=(0,a.dump)(t,{lineWidth:120,noRefs:!0,sortKeys:!0}).trimEnd(),o=h(r);g(e,o?`---
3
+ ${i}
4
+ ---
5
+ ${o}
6
+ `:`---
7
+ ${i}
8
+ ---
9
+ `)}function w(e){if(!t.default.existsSync(e))return null;let r=t.default.readFileSync(e,"utf8"),i=r.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);if(!i)return{frontmatter:{},body:h(r)};let o=(0,a.load)(i[1]);return{frontmatter:_(o)?o:{},body:h(i[2]??"")}}function j(e){return t.default.existsSync(e)?t.default.readdirSync(e,{withFileTypes:!0}).filter(e=>e.isFile()&&e.name.endsWith(".md")).map(t=>i.default.join(e,t.name)).sort((e,t)=>e.localeCompare(t)):[]}function k(e){let t=new Set,r=[];for(let i of e??[]){let e=String(i??"").trim().toLowerCase();!e||t.has(e)||(t.add(e),r.push(e))}return r}function v(e){let t=[];for(let r of e??[]){let e=String(r?.note??"").trim(),i="string"==typeof r?.id?r.id.trim():"";e&&t.push(i?{id:i,note:e}:{note:e})}return t}function b(e,t,r){return(0,o.createHash)("sha256").update(`${e}
10
+ ${t}
11
+ ${r}`).digest("hex")}function S(e){return[...e].sort((e,t)=>{let r=e.updatedAt||e.createdAt||"";return(t.updatedAt||t.createdAt||"").localeCompare(r)})}let P=new class{rootDir;constructor(e=s){this.rootDir=e}getRootDir(){return this.ensureRoot(),this.rootDir}registryPath(){return i.default.join(this.rootDir,".agx","registry.json")}globalDir(){return i.default.join(this.rootDir,"_global")}globalAgentsDir(){return i.default.join(this.globalDir(),"Agents")}globalImportedLearningsDir(){return i.default.join(this.globalDir(),"_generated","imported","learnings")}globalEvidenceDir(e){return i.default.join(this.globalDir(),"_generated","evidence",e)}globalPlaybookPath(){return i.default.join(this.globalDir(),"Playbook.md")}projectDir(e){return i.default.join(this.rootDir,e)}projectManifestPath(e){return i.default.join(this.projectDir(e),".agx","manifest.json")}projectContextPath(e){return i.default.join(this.projectDir(e),"Context","Project.md")}projectSkillsDir(e){return i.default.join(this.projectDir(e),"Context","Skills")}projectVariablesDir(e){return i.default.join(this.projectDir(e),"Context","Variables")}projectAgentsIndexPath(e){return i.default.join(this.projectDir(e),"Context","Agents","_index.md")}projectThreadsDir(e){return i.default.join(this.projectDir(e),"Threads")}repoDir(e,t){return i.default.join(this.projectDir(e),"Repos",t)}repoKnowledgePath(e,t){return i.default.join(this.repoDir(e,t),"Knowledge.md")}projectImportedDir(e,t){return i.default.join(this.projectDir(e),"_generated","imported",t)}projectEvidenceDir(e,t){return i.default.join(this.projectDir(e),"_generated","evidence",t)}ensureRoot(){u(i.default.join(this.rootDir,".agx")),u(this.globalDir()),u(this.globalAgentsDir()),u(this.globalImportedLearningsDir()),u(this.globalEvidenceDir("agent")),u(this.globalEvidenceDir("global")),t.default.existsSync(this.registryPath())||this.writeRegistry({version:1,updatedAt:d(),projects:[],agents:[]}),t.default.existsSync(i.default.join(this.globalDir(),"_Index.md"))||g(i.default.join(this.globalDir(),"_Index.md"),"# Global Knowledge\n\n- [[Playbook]]\n- [[Agents]]\n"),t.default.existsSync(this.globalPlaybookPath())||y(this.globalPlaybookPath(),{id:"global-playbook",type:"knowledge-note",scope:"global",subject_id:"playbook",slug:"playbook",title:"Playbook",created_at:d(),updated_at:d(),version:1},"")}readRegistry(){this.ensureRoot();let e={version:1,updatedAt:d(),projects:[],agents:[]},t=f(this.registryPath(),e);return Array.isArray(t.projects)||(t.projects=[]),Array.isArray(t.agents)||(t.agents=[]),t.version=1,t}writeRegistry(e){u(i.default.join(this.rootDir,".agx")),m(this.registryPath(),{version:1,updatedAt:d(),projects:[...e.projects].sort((e,t)=>e.slug.localeCompare(t.slug)),agents:[...e.agents].sort((e,t)=>e.slug.localeCompare(t.slug))})}readManifest(e){return f(this.projectManifestPath(e),null)}writeManifest(e,t){m(this.projectManifestPath(e),{...t,version:1,updatedAt:d(),repos:[...t.repos].sort((e,t)=>e.slug.localeCompare(t.slug)),agents:[...t.agents].sort((e,t)=>e.routing_order-t.routing_order),threads:[...t.threads].sort((e,t)=>e.created_at.localeCompare(t.created_at))})}findProjectRegistryEntry(e){let t=e.trim();return t?this.readRegistry().projects.find(e=>e.id===t||e.slug===t)??null:null}findProjectRegistryEntryById(e){let t=e.trim();return t?this.readRegistry().projects.find(e=>e.id===t)??null:null}findRepoEntry(e){let t=e.trim();if(!t)return null;for(let e of this.readRegistry().projects){let r=e.repos.find(e=>e.id===t);if(r)return{project:e,repo:r}}return null}findAgentEntry(e){let t=e.trim();return t?this.readRegistry().agents.find(e=>e.id===t||e.slug===t)??null:null}nextProjectSlug(e,t){let r=this.readRegistry(),i=l(e,"project"),o=i,a=1;for(;r.projects.some(e=>e.slug===o&&e.id!==t);)a+=1,o=`${i}-${a}`;return o}nextRepoSlug(e,t,r){let i=this.readManifest(e),o=l(t,"repo"),a=o,n=1;for(;i?.repos.some(e=>e.slug===a&&e.id!==r);)n+=1,a=`${o}-${n}`;return a}ensureProjectScaffold(e,r){let o=this.projectDir(e.slug);for(let a of(u(o),u(i.default.join(o,".agx")),u(i.default.join(o,"Context")),u(this.projectSkillsDir(e.slug)),u(this.projectVariablesDir(e.slug)),u(i.default.dirname(this.projectAgentsIndexPath(e.slug))),u(this.projectThreadsDir(e.slug)),u(i.default.join(o,"Repos")),u(this.projectImportedDir(e.slug,"project-memory")),u(this.projectImportedDir(e.slug,"learnings")),u(this.projectEvidenceDir(e.slug,"project")),u(this.projectEvidenceDir(e.slug,"repo")),u(this.projectEvidenceDir(e.slug,"agent")),r))u(this.repoDir(e.slug,a.slug)),u(this.projectImportedDir(e.slug,i.default.join("repo-knowledge",a.slug))),t.default.existsSync(i.default.join(this.repoDir(e.slug,a.slug),"_index.md"))||g(i.default.join(this.repoDir(e.slug,a.slug),"_index.md"),`# ${a.name}
12
+
13
+ - [[Knowledge]]
14
+ `),t.default.existsSync(this.repoKnowledgePath(e.slug,a.slug))||y(this.repoKnowledgePath(e.slug,a.slug),{id:a.id,type:"knowledge-note",scope:"repo",subject_id:a.id,project_id:e.id,repo_id:a.id,slug:a.slug,title:a.name,created_at:a.created_at,updated_at:a.updated_at,version:1},a.notes??"");t.default.existsSync(i.default.join(o,"_Index.md"))||g(i.default.join(o,"_Index.md"),`# ${e.name}
15
+
16
+ - [[Overview]]
17
+ - [[Architecture]]
18
+ - [[Active Development]]
19
+ - [[Design Decisions]]
20
+ `),t.default.existsSync(i.default.join(o,"Overview.md"))||g(i.default.join(o,"Overview.md"),`# Overview
21
+
22
+ ${e.description?.trim()||""}
23
+ `),t.default.existsSync(i.default.join(o,"Architecture.md"))||g(i.default.join(o,"Architecture.md"),"# Architecture\n"),t.default.existsSync(i.default.join(o,"Active Development.md"))||g(i.default.join(o,"Active Development.md"),"# Active Development\n"),t.default.existsSync(i.default.join(o,"Design Decisions.md"))||g(i.default.join(o,"Design Decisions.md"),"# Design Decisions\n"),t.default.existsSync(this.projectContextPath(e.slug))||y(this.projectContextPath(e.slug),{id:e.id,type:"knowledge-note",scope:"project",subject_id:e.id,project_id:e.id,slug:e.slug,title:e.name,created_at:e.created_at,updated_at:e.updated_at,version:1},e.description?.trim()||""),t.default.existsSync(this.projectAgentsIndexPath(e.slug))||y(this.projectAgentsIndexPath(e.slug),{id:`project-agents:${e.id}`,type:"project-agents",project_id:e.id,title:`${e.name} Agents`,created_at:e.created_at,updated_at:e.updated_at,agents:[]},"# Project Agents\n")}toRegistryRepos(e){return e.map(e=>({id:e.id,slug:e.slug,name:e.name,path:e.path??null,git_url:e.git_url??null}))}updateProjectRegistryEntry(e,t){let r=this.readRegistry(),i={id:e.id,slug:e.slug,name:e.name,path:this.projectDir(e.slug),created_at:e.created_at,updated_at:e.updated_at,repos:this.toRegistryRepos(t)},o=r.projects.filter(t=>t.id!==e.id);o.push(i),this.writeRegistry({...r,projects:o})}removeProjectRegistryEntry(e){let t=this.readRegistry();this.writeRegistry({...t,projects:t.projects.filter(t=>t.id!==e)})}ensureAgentRegistryEntry(e,t){let r=this.readRegistry(),o=r.agents.find(t=>t.id===e);if(o)return o;let a=l(t||e,"agent"),n=d(),s={id:e,slug:a,name:t||e,path:i.default.join(this.globalAgentsDir(),`${a}.md`),created_at:n,updated_at:n};return this.writeRegistry({...r,agents:[...r.agents,s]}),s}updateAgentRegistryEntry(e,t){let r=this.readRegistry(),i=r.agents.find(t=>t.id===e);if(!i)return this.ensureAgentRegistryEntry(e,t);let o={...i,name:t,updated_at:d()};return this.writeRegistry({...r,agents:[...r.agents.filter(t=>t.id!==e),o]}),o}listProjects(e,t=!1){return this.readRegistry().projects.filter(e=>t||!e.archived_at).map(t=>this.getProjectWithRepos(t.id,e)).filter(e=>!!e)}getProjectBySlug(e,t){let r=this.getProjectWithRepos(e,t);return r?{...r,repos:void 0}:null}getProjectRepos(e){let t=this.getProjectWithRepos(e);return t?.repos??[]}getProjectWithRepos(e,t){let r=this.findProjectRegistryEntry(e);if(!r)return null;let i=this.readManifest(r.slug);if(!i||t&&i.project.user_id&&i.project.user_id!==t)return null;let o=i.repos.map(e=>({id:e.id,project_id:e.project_id,name:e.name,path:e.path??"",git_url:e.git_url??void 0,notes:this.getKnowledgeNote("repo",e.id)?.content||"",created_at:e.created_at,updated_at:e.updated_at}));return{...i.project,archived_at:r.archived_at??null,repos:o}}createProject(e,t){let r=d(),i=this.nextProjectSlug(t.name||"project"),a={id:(0,o.randomUUID)(),user_id:e,name:t.name.trim(),slug:i,description:t.description?.trim()||"",metadata:{},workflow_id:t.workflow_id??null,created_at:r,updated_at:r},n=(t.repos??[]).map(e=>{let t=this.nextRepoSlug(a.slug,e.name||e.path||"repo");return{id:e.id?.trim()||(0,o.randomUUID)(),project_id:a.id,name:e.name.trim(),path:e.path??"",git_url:e.git_url??void 0,notes:e.notes??"",created_at:r,updated_at:r,slug:t}});for(let e of(this.ensureProjectScaffold(a,n),this.writeManifest(a.slug,{version:1,updatedAt:r,project:a,repos:n,agents:[],threads:[]}),this.updateProjectRegistryEntry(a,n),n))e.notes?.trim()&&this.upsertKnowledgeNote({scope:"repo",subjectId:e.id,content:e.notes,changeSummary:"Initial repo note",sourceType:"manual",sourceId:"project-create",metadata:{project_id:a.id}});return this.getProjectWithRepos(a.id,e)}updateProject(e,r,i){let a=this.getProjectWithRepos(e,r);if(!a)return null;let n=this.readManifest(a.slug);if(!n)return null;let s=i.slug?.trim()?this.nextProjectSlug(i.slug.trim(),a.id):a.slug,l=d(),c={...n.project,name:"string"==typeof i.name&&i.name.trim()?i.name.trim():n.project.name,slug:s,description:void 0!==i.description?i.description??"":n.project.description??"",metadata:void 0!==i.metadata?i.metadata??{}:n.project.metadata??{},ci_cd_info:void 0!==i.ci_cd_info?i.ci_cd_info??void 0:n.project.ci_cd_info,workflow_id:void 0!==i.workflow_id?i.workflow_id??null:n.project.workflow_id,updated_at:l},u=n.repos;if(i.repos){let e=[],t=new Map(n.repos.map(e=>[e.id,e]));for(let r of i.repos){let i=r.id?t.get(r.id):void 0,n=i?.id||r.id?.trim()||(0,o.randomUUID)(),s=i?.slug||this.nextRepoSlug(c.slug,r.name||r.path||"repo",n);e.push({id:n,project_id:a.id,name:r.name.trim(),path:r.path??"",git_url:r.git_url??void 0,notes:r.notes??"",created_at:i?.created_at||l,updated_at:l,slug:s})}for(let t of n.repos)e.some(e=>e.id===t.id)||p(this.repoDir(a.slug,t.slug));u=e}for(let e of(s!==a.slug&&(p(this.projectDir(s)),t.default.renameSync(this.projectDir(a.slug),this.projectDir(s))),this.ensureProjectScaffold(c,u),this.writeManifest(c.slug,{version:1,updatedAt:l,project:c,repos:u,agents:n.agents,threads:n.threads}),this.updateProjectRegistryEntry(c,u),u)){let t=i.repos?.find(t=>(t.id||e.id)===e.id)?.notes;"string"==typeof t&&this.upsertKnowledgeNote({scope:"repo",subjectId:e.id,content:t,changeSummary:"Repo note updated",sourceType:"manual",sourceId:"project-update",metadata:{project_id:c.id}})}return this.getProjectWithRepos(c.id,r)}deleteProject(e,t){if(!this.findProjectRegistryEntryById(e))return;let r=this.readRegistry(),i=r.projects.map(t=>t.id===e?{...t,archived_at:d(),updated_at:d()}:t);this.writeRegistry({...r,projects:i})}getProjectAgents(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=w(this.projectAgentsIndexPath(t.slug));return[...Array.isArray(r?.frontmatter?.agents)?r.frontmatter.agents:[]].sort((e,t)=>e.routing_order-t.routing_order)}addProjectAgent(e,t,r){let i=this.findProjectRegistryEntryById(e);if(!i)throw Error("Project not found");let o=this.getProjectAgents(e).filter(e=>e.agent_id!==t),a=r??o.length,n=d();o.push({project_id:e,agent_id:t,routing_order:a,created_at:n});let s=o.sort((e,t)=>e.routing_order-t.routing_order).map((e,t)=>({...e,routing_order:t}));return this.writeProjectAgents(i.slug,e,s),s.find(e=>e.agent_id===t)}removeProjectAgent(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)return;let i=this.getProjectAgents(e).filter(e=>e.agent_id!==t).map((e,t)=>({...e,routing_order:t}));this.writeProjectAgents(r.slug,e,i)}reorderProjectAgents(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)return[];let i=new Map(this.getProjectAgents(e).map(e=>[e.agent_id,e])),o=t.map((e,t)=>{let r=i.get(e);return r?{...r,routing_order:t}:null}).filter(e=>!!e);return this.writeProjectAgents(r.slug,e,o),o}writeProjectAgents(e,t,r){let i=this.projectAgentsIndexPath(e),o=w(i),a=o?.frontmatter?.created_at||d();y(i,{id:o?.frontmatter?.id||`project-agents:${t}`,type:"project-agents",project_id:t,title:"Project Agents",created_at:a,updated_at:d(),agents:r},"# Project Agents\n");let n=this.readManifest(e);n&&this.writeManifest(e,{...n,agents:r})}getProjectSkills(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=[];for(let i of j(this.projectSkillsDir(t.slug))){let t=w(i);if(!t)continue;let o=String(t.frontmatter.id||"").trim(),a=String(t.frontmatter.file||"").trim(),n=String(t.frontmatter.created_at||"");o&&a&&r.push({id:o,project_id:String(t.frontmatter.project_id||e),file:a,condition:"string"==typeof t.frontmatter.condition?t.frontmatter.condition:void 0,created_at:n,updatedAt:n,createdAt:n})}return S(r).map(({updatedAt:e,createdAt:t,...r})=>r)}addProjectSkill(e,t,r){let a=this.findProjectRegistryEntryById(e);if(!a)throw Error("Project not found");let n=d(),s=(0,o.randomUUID)(),c=l(i.default.basename(t)||s,"skill");return y(i.default.join(this.projectSkillsDir(a.slug),`${c}-${s.slice(0,8)}.md`),{id:s,type:"project-skill",project_id:e,title:i.default.basename(t)||t,file:t,condition:r??null,created_at:n,updated_at:n},`# ${i.default.basename(t)||t}
24
+ `),{id:s,project_id:e,file:t,condition:r,created_at:n}}removeProjectSkill(e){for(let r of this.readRegistry().projects)for(let i of j(this.projectSkillsDir(r.slug))){let r=w(i);if(r?.frontmatter?.id===e)return void t.default.unlinkSync(i)}}getProjectVariables(e){let t=this.findProjectRegistryEntryById(e);return t?j(this.projectVariablesDir(t.slug)).map(t=>{let r=w(t);return r?{project_id:String(r.frontmatter.project_id||e),key:String(r.frontmatter.key||""),value:String(r.frontmatter.value||"")}:null}).filter(e=>!!e?.key):[]}setProjectVariable(e,t,r){let o=this.findProjectRegistryEntryById(e);if(!o)throw Error("Project not found");let a=i.default.join(this.projectVariablesDir(o.slug),`${l(t,"var")}.md`),n=w(a),s=d();return y(a,{id:n?.frontmatter?.id||`project-variable:${e}:${t}`,type:"project-variable",project_id:e,title:t,key:t,value:r,created_at:n?.frontmatter?.created_at||s,updated_at:s},""),{project_id:e,key:t,value:r}}deleteProjectVariable(e,r){let o=this.findProjectRegistryEntryById(e);if(!o)return;let a=i.default.join(this.projectVariablesDir(o.slug),`${l(r,"var")}.md`);t.default.existsSync(a)&&t.default.unlinkSync(a)}getProjectMemory(e){let t=this.getKnowledgeNote("project",e);return t?.content.trim()?[{id:t.id,project_id:e,content:t.content,source:t.sourceType||"vault",producer:"human",created_at:t.updatedAt}]:[]}addProjectMemory(e,t,r,i="human"){let o=this.getKnowledgeNote("project",e)?.content??"",a=o.trim()?`${o.trim()}
25
+
26
+ - ${t.trim().replace(/^\-\s*/,"")}`:t.trim(),{note:n}=this.upsertKnowledgeNote({scope:"project",subjectId:e,content:a,changeSummary:r||"Project memory updated",sourceType:"system"===i?"task_completion":"manual",sourceId:r||"manual-project-memory",metadata:{producer:i}});return{id:n.id,project_id:e,content:n.content,source:n.changeSummary||void 0,producer:i,created_at:n.updatedAt}}deleteProjectMemory(e){let t=this.findProjectRegistryEntryById(e);if(!t)return;let r=this.projectContextPath(t.slug),i=w(r);i&&y(r,{...i.frontmatter,updated_at:d()},"")}getProjectThreads(e){let t=this.findProjectRegistryEntryById(e);if(!t)return[];let r=this.readManifest(t.slug);return r?.threads??[]}addProjectThread(e,t){let r=this.findProjectRegistryEntryById(e);if(!r)throw Error("Project not found");let o=this.readManifest(r.slug);if(!o)throw Error("Project manifest missing");let a=o.threads.find(e=>e.thread_id===t);if(a)return a;let n=d(),s={project_id:e,thread_id:t,created_at:n};return y(i.default.join(this.projectThreadsDir(r.slug),`${encodeURIComponent(t)}.md`),{id:`project-thread:${e}:${t}`,type:"project-thread",project_id:e,thread_id:t,title:t,created_at:n,updated_at:n},`# Thread ${t}
27
+ `),this.writeManifest(r.slug,{...o,threads:[...o.threads,s]}),s}removeProjectThread(e,r){let o=this.findProjectRegistryEntryById(e);if(!o)return;let a=this.readManifest(o.slug);if(!a)return;let n=i.default.join(this.projectThreadsDir(o.slug),`${encodeURIComponent(r)}.md`);t.default.existsSync(n)&&t.default.unlinkSync(n),this.writeManifest(o.slug,{...a,threads:a.threads.filter(e=>e.thread_id!==r)})}getProjectForThread(e){for(let t of this.readRegistry().projects){let r=this.readManifest(t.slug);if(r?.threads.some(t=>t.thread_id===e))return r.project.id}return null}getKnowledgeNote(e,t){let r=this.resolveKnowledgeNotePath(e,t);if(!r)return null;let i=w(r.path);if(!i)return null;let o=i.frontmatter;return{id:String(o.id||t),scope:e,subjectId:t,content:i.body,changeSummary:"string"==typeof o.change_summary?o.change_summary:null,sourceType:"string"==typeof o.source_type?o.source_type:"manual",sourceId:"string"==typeof o.source_id?o.source_id:"vault",metadata:_(o.metadata)?o.metadata:{},version:"number"==typeof o.version?o.version:1,createdAt:"string"==typeof o.created_at?o.created_at:d(),updatedAt:"string"==typeof o.updated_at?o.updated_at:d()}}upsertKnowledgeNote(e){let t=this.resolveKnowledgeNotePath(e.scope,e.subjectId,{createIfMissing:!0});if(!t)throw Error(`Cannot resolve knowledge note for ${e.scope}:${e.subjectId}`);let r=this.getKnowledgeNote(e.scope,e.subjectId),i=h(e.content);if(r&&h(r.content)===i)return{note:r,changed:!1};let o=r?.createdAt||d(),a=(r?.version||0)+1,n={...t.frontmatter,updated_at:d(),created_at:o,source_type:e.sourceType,source_id:e.sourceId,change_summary:e.changeSummary??null,version:a,metadata:e.metadata??{}};y(t.path,n,i);let s=this.getKnowledgeNote(e.scope,e.subjectId);if(!s)throw Error("Failed to read knowledge note after write");return{note:s,changed:!0}}resolveKnowledgeNotePath(e,t,r){if("global"===e){let e=d();return this.ensureRoot(),{path:this.globalPlaybookPath(),frontmatter:{id:"global-playbook",type:"knowledge-note",scope:"global",subject_id:t||"playbook",slug:"playbook",title:"Playbook",created_at:e,updated_at:e}}}if("project"===e){let e=this.findProjectRegistryEntryById(t);if(!e)return null;let r=d();return{path:this.projectContextPath(e.slug),frontmatter:{id:t,type:"knowledge-note",scope:"project",subject_id:t,project_id:t,slug:e.slug,title:e.name,created_at:r,updated_at:r}}}if("repo"===e){let e=this.findRepoEntry(t);if(!e)return null;let r=d();return{path:this.repoKnowledgePath(e.project.slug,e.repo.slug),frontmatter:{id:t,type:"knowledge-note",scope:"repo",subject_id:t,project_id:e.project.id,repo_id:t,slug:e.repo.slug,title:e.repo.name,created_at:r,updated_at:r}}}let i=this.findAgentEntry(t)??(r?.createIfMissing?this.ensureAgentRegistryEntry(t,t):null);if(!i)return null;let o=d();return{path:i.path,frontmatter:{id:t,type:"knowledge-note",scope:"agent",subject_id:t,agent_id:t,slug:i.slug,title:i.name,created_at:o,updated_at:o}}}listKnowledgeEntries(e){return S(this.knowledgeEntryFilesForScope(e.scope,e.subjectId).map(t=>{let r=w(t);return r?{id:String(r.frontmatter.id||""),scope:r.frontmatter.scope,subjectId:String(r.frontmatter.subject_id||e.subjectId),sourceType:r.frontmatter.source_type,sourceId:String(r.frontmatter.source_id||""),kind:r.frontmatter.kind,title:String(r.frontmatter.title||""),body:r.body,confidence:c(r.frontmatter.confidence),durability:c(r.frontmatter.durability),tags:k(r.frontmatter.tags),evidence:v(r.frontmatter.evidence),metadata:_(r.frontmatter.metadata)?r.frontmatter.metadata:{},createdAt:String(r.frontmatter.created_at||""),updatedAt:String(r.frontmatter.updated_at||"")}:null}).filter(e=>!!(e?.id&&e.body))).slice(0,e.limit??50)}storeKnowledgeEntries(e){let t=0;for(let r of e){let e=r.subjectId.trim(),i=r.title.trim(),a=r.body.trim(),n=r.sourceId.trim();if(!e||!i||!a||!n)continue;let s=b(r.scope,e,a);if(this.listKnowledgeEntries({scope:r.scope,subjectId:e,limit:500}).find(e=>e.metadata?.content_hash===s))continue;let l=this.nextKnowledgeEntryPath(r.scope,e,i),u=d();y(l,{id:(0,o.randomUUID)(),type:"knowledge-evidence",scope:r.scope,subject_id:e,source_type:r.sourceType,source_id:n,kind:r.kind,title:i,confidence:c(r.confidence),durability:c(r.durability),tags:k(r.tags),evidence:v(r.evidence),metadata:{...r.metadata??{},content_hash:s},content_hash:s,created_at:u,updated_at:u},a),t+=1}return t}knowledgeEntryFilesForScope(e,t){if("global"===e)return j(this.globalEvidenceDir("global"));if("agent"===e)return j(this.globalEvidenceDir("agent")).filter(e=>{let r=w(e);return r?.frontmatter?.subject_id===t});if("project"===e){let e=this.findProjectRegistryEntryById(t);return e?j(this.projectEvidenceDir(e.slug,"project")):[]}let r=this.findRepoEntry(t);return r?j(this.projectEvidenceDir(r.project.slug,"repo")).filter(e=>{let r=w(e);return r?.frontmatter?.subject_id===t}):[]}nextKnowledgeEntryPath(e,t,r){let a=(0,o.randomUUID)(),n=`${l(r,"entry")}-${a.slice(0,8)}.md`;if("global"===e)return i.default.join(this.globalEvidenceDir("global"),n);if("agent"===e)return i.default.join(this.globalEvidenceDir("agent"),n);if("project"===e){let e=this.findProjectRegistryEntryById(t);if(!e)throw Error("Project not found for knowledge entry");return i.default.join(this.projectEvidenceDir(e.slug,"project"),n)}let s=this.findRepoEntry(t);if(!s)throw Error("Repo not found for knowledge entry");return i.default.join(this.projectEvidenceDir(s.project.slug,"repo"),n)}getLearnings(e,t){if("task"===e)return[];if("global"===e){let e=this.getKnowledgeNote("global","playbook");return e?.content.trim()?[{id:e.id,scope:"global",scope_id:void 0,content:e.content,created_at:e.updatedAt}]:[]}if(!t)return[];let r=this.getKnowledgeNote("project",t);return r?.content.trim()?[{id:r.id,scope:"project",scope_id:t,content:r.content,created_at:r.updatedAt}]:[]}addLearning(e,t,r){if("task"===e)throw Error("Task learnings are not handled by VaultStore");let i="global"===e?"global":"project",o="global"===e?"playbook":String(r||"").trim();if(!o)throw Error("scopeId is required for project learnings");let a=this.getKnowledgeNote(i,o)?.content??"",n=`- ${t.trim().replace(/^\-\s*/,"")}`,s=a.trim()?`${a.trim()}
28
+ ${n}`:n,{note:d}=this.upsertKnowledgeNote({scope:i,subjectId:o,content:s,changeSummary:"Learning added",sourceType:"manual",sourceId:"manual-learning",metadata:{scope:e}});return{id:d.id,scope:e,scope_id:r,content:d.content,created_at:d.updatedAt}}deleteLearning(e,t,r){if("task"===t)return;let i="global"===t?"playbook":String(r||"").trim();if(!i)return;let o=this.getKnowledgeNote("global"===t?"global":"project",i);o&&o.id===e&&this.upsertKnowledgeNote({scope:"global"===t?"global":"project",subjectId:i,content:"",changeSummary:"Learning cleared",sourceType:"manual",sourceId:"manual-learning-delete",metadata:{scope:t}})}migrateFromLegacyDb(){this.ensureRoot();let e=(0,n.getSQLiteDb)(),t=d(),r=t=>!!e.prepare("SELECT 1 FROM sqlite_master WHERE type='table' AND name = ? LIMIT 1").get(t),o=t=>r(t)?e.prepare(`SELECT * FROM ${t}`).all():[],a=o("projects"),s=o("project_repos"),c=o("project_agents"),u=o("project_skills"),f=o("project_variables"),g=o("project_threads"),m=o("project_memory"),_=r("repo_knowledge")?e.prepare("SELECT id, repo_id, content, producer, created_at FROM repo_knowledge").all():[],h=r("knowledge_notes")?e.prepare("SELECT * FROM knowledge_notes").all():[],w=r("knowledge_entries")?e.prepare("SELECT * FROM knowledge_entries").all():[],j=o("learnings"),k=o("agents"),v=r("agent_memory")?e.prepare("SELECT * FROM agent_memory").all():[];p(this.rootDir),this.ensureRoot();let S=j.filter(e=>"global"===e.scope),P=S.map(e=>`- ${e.content.trim().replace(/^\-\s*/,"")}`).join("\n");this.upsertKnowledgeNote({scope:"global",subjectId:"playbook",content:P,changeSummary:"Imported from legacy learnings",sourceType:"task_completion",sourceId:"vault-import",metadata:{imported_at:t}});let D=0,A=0;for(let e of S)y(i.default.join(this.globalImportedLearningsDir(),`${l(e.id,"learning")}.md`),{id:e.id,type:"imported-artifact",source_table:"learnings",scope:e.scope,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{scope_id:e.scope_id,user_id:e.user_id}},e.content),D+=1;for(let e of k){let r=h.find(t=>"agent"===t.scope&&t.subject_id===e.id),i=r?.content?.trim()||this.synthesizeAgentNote(e.id,v,w),o=this.updateAgentRegistryEntry(e.id,e.name);y(o.path,{id:e.id,type:"knowledge-note",scope:"agent",subject_id:e.id,agent_id:e.id,slug:o.slug,title:e.name,created_at:r?.created_at||e.created_at||t,updated_at:r?.updated_at||e.updated_at||t,source_type:r?.source_type||"task_completion",source_id:r?.source_id||"vault-import",change_summary:r?.change_summary||"Imported from legacy agent knowledge",version:r?.version||1,metadata:r?.metadata?JSON.parse(r.metadata):{}},this.composeAgentNoteBody(e.name,e.description,i))}for(let e of a){let r={id:e.id,user_id:e.user_id,name:e.name,slug:e.slug||this.nextProjectSlug(e.name||e.id,e.id),description:e.description??"",metadata:e.metadata??{},ci_cd_info:e.ci_cd_info??void 0,workflow_id:e.workflow_id??null,created_at:e.created_at||t,updated_at:e.updated_at||t},o=s.filter(t=>t.project_id===e.id).map(e=>({...e,slug:this.nextRepoSlug(r.slug,e.name||e.path||e.id,e.id)}));this.ensureProjectScaffold(r,o),this.writeManifest(r.slug,{version:1,updatedAt:t,project:r,repos:o,agents:c.filter(e=>e.project_id===r.id).sort((e,t)=>e.routing_order-t.routing_order),threads:g.filter(e=>e.project_id===r.id)}),this.updateProjectRegistryEntry(r,o);let a=h.find(e=>"project"===e.scope&&e.subject_id===r.id),n=a?.content?.trim()||this.synthesizeProjectNote(r.id,m,w);for(let e of(this.upsertKnowledgeNote({scope:"project",subjectId:r.id,content:n,changeSummary:a?.change_summary||"Imported from legacy project knowledge",sourceType:a?.source_type||"task_completion",sourceId:a?.source_id||"vault-import",metadata:a?.metadata?JSON.parse(a.metadata):{imported_at:t}}),y(this.projectContextPath(r.slug),{id:r.id,type:"knowledge-note",scope:"project",subject_id:r.id,project_id:r.id,slug:r.slug,title:r.name,created_at:a?.created_at||r.created_at,updated_at:a?.updated_at||r.updated_at,source_type:a?.source_type||"task_completion",source_id:a?.source_id||"vault-import",change_summary:a?.change_summary||"Imported from legacy project knowledge",version:a?.version||1,metadata:a?.metadata?JSON.parse(a.metadata):{}},n),j.filter(e=>"project"===e.scope&&e.scope_id===r.id)))y(i.default.join(this.projectImportedDir(r.slug,"learnings"),`${l(e.id,"learning")}.md`),{id:e.id,type:"imported-artifact",source_table:"learnings",scope:e.scope,project_id:r.id,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{scope_id:e.scope_id,user_id:e.user_id}},e.content),D+=1;for(let e of m.filter(e=>e.project_id===r.id))y(i.default.join(this.projectImportedDir(r.slug,"project-memory"),`${l(e.id,"memory")}.md`),{id:e.id,type:"imported-artifact",source_table:"project_memory",source_row_id:e.id,project_id:r.id,producer:e.producer,created_at:e.created_at||t,updated_at:e.created_at||t,metadata:{source:e.source??null}},e.content),D+=1;for(let e of o){let o=h.find(t=>"repo"===t.scope&&t.subject_id===e.id),a=o?.content?.trim()||this.synthesizeRepoNote(e.id,_,w);for(let n of(y(this.repoKnowledgePath(r.slug,e.slug),{id:e.id,type:"knowledge-note",scope:"repo",subject_id:e.id,project_id:r.id,repo_id:e.id,slug:e.slug,title:e.name,created_at:o?.created_at||e.created_at,updated_at:o?.updated_at||e.updated_at,source_type:o?.source_type||"task_completion",source_id:o?.source_id||"vault-import",change_summary:o?.change_summary||"Imported from legacy repo knowledge",version:o?.version||1,metadata:o?.metadata?JSON.parse(o.metadata):{}},a),e.notes?.trim()&&(y(i.default.join(this.projectImportedDir(r.slug,i.default.join("repo-knowledge",e.slug)),`${l(e.id,"repo-notes")}-project-repos-notes.md`),{id:`${e.id}:project_repos.notes`,type:"imported-artifact",source_table:"project_repos",source_row_id:e.id,project_id:r.id,repo_id:e.id,created_at:e.updated_at||e.created_at||t,updated_at:e.updated_at||e.created_at||t},e.notes),D+=1),_.filter(t=>t.repo_id===e.id)))y(i.default.join(this.projectImportedDir(r.slug,i.default.join("repo-knowledge",e.slug)),`${l(n.id,"repo-knowledge")}.md`),{id:n.id,type:"imported-artifact",source_table:"repo_knowledge",source_row_id:n.id,project_id:r.id,repo_id:e.id,producer:n.producer,created_at:n.created_at||t,updated_at:n.created_at||t},n.content),D+=1}for(let e of u.filter(e=>e.project_id===r.id))y(i.default.join(this.projectSkillsDir(r.slug),`${l(i.default.basename(e.file)||e.id,"skill")}-${e.id.slice(0,8)}.md`),{id:e.id,type:"project-skill",project_id:r.id,title:i.default.basename(e.file)||e.file,file:e.file,condition:e.condition??null,created_at:e.created_at||t,updated_at:e.created_at||t},`# ${i.default.basename(e.file)||e.file}
29
+ `);for(let e of f.filter(e=>e.project_id===r.id))y(i.default.join(this.projectVariablesDir(r.slug),`${l(e.key,"var")}.md`),{id:`project-variable:${r.id}:${e.key}`,type:"project-variable",project_id:r.id,title:e.key,key:e.key,value:e.value,created_at:t,updated_at:t},"");for(let e of(y(this.projectAgentsIndexPath(r.slug),{id:`project-agents:${r.id}`,type:"project-agents",project_id:r.id,title:"Project Agents",created_at:r.created_at,updated_at:r.updated_at,agents:c.filter(e=>e.project_id===r.id).sort((e,t)=>e.routing_order-t.routing_order)},"# Project Agents\n"),g.filter(e=>e.project_id===r.id)))y(i.default.join(this.projectThreadsDir(r.slug),`${encodeURIComponent(e.thread_id)}.md`),{id:`project-thread:${r.id}:${e.thread_id}`,type:"project-thread",project_id:r.id,thread_id:e.thread_id,title:e.thread_id,created_at:e.created_at||t,updated_at:e.created_at||t},`# Thread ${e.thread_id}
30
+ `)}for(let e of w)y(this.nextKnowledgeEntryPath(e.scope,e.subject_id,e.title||e.id),{id:e.id,type:"knowledge-evidence",scope:e.scope,subject_id:e.subject_id,source_type:e.source_type,source_id:e.source_id,kind:e.kind,title:e.title,confidence:e.confidence,durability:e.durability,tags:e.tags?JSON.parse(e.tags):[],evidence:e.evidence?JSON.parse(e.evidence):[],metadata:e.metadata?JSON.parse(e.metadata):{},content_hash:e.content_hash||b(e.scope,e.subject_id,e.body),created_at:e.created_at||t,updated_at:e.updated_at||e.created_at||t},e.body),A+=1;return{projects:a.length,repos:s.length,agents:k.length,importedArtifacts:D,evidenceFiles:A}}composeAgentNoteBody(e,t,r){let i=[`# ${e}`];return t?.trim()&&i.push(`## Identity
31
+ ${t.trim()}`),r.trim()&&i.push(`## Portable Knowledge
32
+ ${r.trim()}`),i.join("\n\n")}synthesizeProjectNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.project_id===e&&"system"===t.producer).map(e=>e.content.trim()),...r.filter(t=>"project"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}synthesizeRepoNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.repo_id===e&&"system"===t.producer).map(e=>e.content.trim()),...r.filter(t=>"repo"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}synthesizeAgentNote(e,t,r){return Array.from(new Set([...t.filter(t=>t.agent_id===e).map(e=>e.content.trim()),...r.filter(t=>"agent"===t.scope&&t.subject_id===e).map(e=>e.body.trim())].filter(Boolean))).map(e=>`- ${e.replace(/^\-\s*/,"")}`).join("\n")}};e.s(["vaultStore",0,P])},623775,209120,930430,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(633211);return t()}e.s(["createAdminDbClient",0,t],209120);let r="Waiting on dependencies",i=[{value:"task.created",label:"Task created",description:"Fires immediately when a new task is added to the queue."},{value:"task.stage_complete",label:"Stage completed",description:"Emitted whenever a stage finishes and the task advances."},{value:"task.completed",label:"Task completed",description:"When the task reaches a completed status (done)."},{value:"task.failed",label:"Task failed",description:"When the task may have errored, including cancellations."},{value:"task.blocked",label:"Task blocked",description:"When the agent raises the task as blocked awaiting manual input."}].map(e=>e.value);class o extends Error{}function a(e){let t=Array.isArray(e.events)?e.events.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(e=>i.includes(e)):[];return{id:String(e.id),user_id:String(e.user_id),url:String(e.url),name:null!=e.name?String(e.name):null,events:t,enabled:!1!==e.enabled,created_at:String(e.created_at),updated_at:String(e.updated_at)}}async function n(e,t){if(function(e,t){if(!e||"object"!=typeof e)return!1;let r=e.code,i="string"==typeof e.message?e.message:"";return"42P01"===r||"PGRST205"===r||i.includes(`relation "${t}" does not exist`)||i.includes(`Could not find the table 'agx.${t}'`)||i.includes(`Could not find the table 'public.${t}'`)}(t,e))throw new o(`Missing relation: ${e}`);throw t}async function s(e){let r=t(),{data:i,error:o}=await r.from("notification_webhooks").select("*").eq("user_id",e).order("created_at",{ascending:!1});return(o&&await n("notification_webhooks",o),i)?(Array.isArray(i)?i:[i]).map(a):[]}async function d(e){if(!e.userId)return;let t=[];try{t=await s(e.userId)}catch(e){if(e instanceof o)return void console.debug("[notifications] notification_webhooks schema not ready, skipping");console.error("[notifications] failed to load webhooks",e);return}let r=t.filter(t=>t.enabled&&t.events.includes(e.eventType));if(!r.length)return;let i=e.timestamp||new Date().toISOString(),a={eventType:e.eventType,taskId:e.taskId,userId:e.userId,title:e.title||null,slug:e.slug||null,stage:e.stage||null,previousStage:e.previousStage||null,nextStage:e.nextStage||null,status:e.status||null,error:e.error||null,timestamp:i,details:e.details||{}};await Promise.all(r.map(async e=>{try{let t=await fetch(e.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});t.ok||console.error(`[notifications] webhook ${e.url} responded with ${t.status}`)}catch(t){console.error(`[notifications] failed to send to ${e.url}`,t)}}))}e.s(["notifyTaskEvent",0,d],930430);var l=e.i(254799),c=e.i(341902);function u(e,t){if(!e)return!1;let r="string"==typeof e.message?e.message:"";return"42P01"===e.code||"PGRST205"===e.code||r.includes(`relation "${t}" does not exist`)||r.includes(`Could not find the table 'agx.${t}'`)||r.includes(`Could not find the table 'public.${t}'`)}async function p(e){let r=t(),{data:i,error:o}=await r.from("user_settings").select("*").eq("user_id",e).maybeSingle();if(o){if(u(o,"user_settings"))return null;throw o}return i||null}async function f(e,r,i){let o=i?.onlyIfNewer!==!1,a=function(e){if("string"==typeof e){let t=Date.parse(e);if(Number.isFinite(t))return new Date(t).toISOString()}return new Date().toISOString()}(r.changed_at),n=await p(e);if(o&&n?.changed_at){let e=Date.parse(n.changed_at),t=Date.parse(a);if(Number.isFinite(e)&&Number.isFinite(t)&&t<=e)return{settings:n,updated:!1}}let s={user_id:e,default_provider:r.default_provider??n?.default_provider??null,models:r.models??n?.models??{},provenance:r.provenance,changed_at:a},d=t(),{error:l}=await d.from("user_settings").upsert(s,{onConflict:"user_id"});if(l)throw l;let c=await p(e);if(!c)throw Error("Failed to load user_settings after upsert");return{settings:c,updated:!0}}function g(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}async function m(e,t){let r=g(e);for(let i=0;i<5;i++){let{data:i,error:o}=await t.from("tasks").select("id").eq("slug",r).limit(1);if(o)throw o;if(!i||0===i.length)return r;let a=Math.random().toString(36).slice(2,6);r=`${g(e)}-${a}`.slice(0,48)}return`${g(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}async function _(e,t,r,i){let o=g(e);for(let a=0;a<5;a++){let a=r.from("projects").select("id").eq("slug",o).eq("user_id",t);i&&(a=a.neq("id",i));let{data:n,error:s}=await a.limit(1);if(s)throw s;if(!n||0===n.length)return o;let d=Math.random().toString(36).slice(2,6);o=`${g(e)}-${d}`.slice(0,48)}return`${g(e)}-${Date.now().toString(36).slice(-4)}`.slice(0,48)}function h(e){let t=e.trim();if(!t)return[];try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(e=>String(e||"").trim()).filter(Boolean)}catch{}return t.split(",").map(e=>e.trim()).filter(Boolean)}function y(e){let t;if(!e)return[];if(Array.isArray(e))t=e.map(e=>"string"==typeof e?e:null==e?"":String(e)).filter(Boolean);else{if("string"!=typeof e)return[];t=h(e)}return Array.from(new Set(t.map(e=>e.trim()).filter(Boolean)))}function w(e){let t=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!t)return{frontmatter:{},body:e};let r={};for(let e of t[1].split("\n")){let t=e.indexOf(":");if(t>0){let i=e.slice(0,t).trim(),o=e.slice(t+1).trim();if("depends_on"===i){r[i]=h(o);continue}"true"===o?r[i]=!0:"false"===o?r[i]=!1:/^\d+$/.test(o)?r[i]=parseInt(o):r[i]=o}}return{frontmatter:r,body:t[2]}}async function j(e,r,i){if(!e||!r?.length)return;let o=i??t(),a=new Set,n=[...r];for(;n.length;){let t=n.pop();if(!t)continue;if(t===e)throw Error("Circular dependency detected");if(a.has(t))continue;a.add(t);let{data:r,error:i}=await o.from("tasks").select("depends_on").eq("id",t).maybeSingle();if(i){if("PGRST116"===i.code||"42703"===i.code)continue;throw i}if(r)for(let e of Array.isArray(r.depends_on)?r.depends_on:[])e&&!a.has(e)&&n.push(e)}}function k(e){let{body:t}=w(e),r=t.match(/^#\s+(.+)$/m);return r?r[1]:void 0}function v(e){return String(e||"").replace(/^#\s+.+(\r?\n|$)/,"").trim()}async function b(e,i){var o;let a=Array.isArray(e.depends_on)?e.depends_on:[];if(!a.length)return;let n=t(),{data:s,error:d}=await n.from("tasks").select("id, title, slug, status, stage").in("id",a);if(d)return;let l=(Array.isArray(s)?s:[]).filter(e=>"completed"!==(e?.status||""));if(l.length){let t=function(e){if(!e||0===e.length)return"";let t=e.slice(0,3).map(e=>`${e.title?e.title:e.slug?e.slug:e.id?e.id:"(unknown)"}${(e.stage?.toLowerCase()==="intake"?" (awaiting approval)":e.status?` (${e.status})`:null)??""}`),i=`${r}: ${t.join(", ")}`;return e.length>3&&(i+=` +${e.length-3} more`),i}(l),o=n.from("tasks").update({status:"blocked",blocked_reason:t}).eq("id",e.id);i&&(o=o.eq("user_id",i));let{error:a}=await o;if(a&&"42703"!==a.code)throw a;return}if("blocked"===e.status&&"string"==typeof(o=e.blocked_reason)&&o.startsWith(r)){let t=n.from("tasks").update({status:"queued",blocked_reason:null}).eq("id",e.id);i&&(t=t.eq("user_id",i));let{error:r}=await t;if(r&&"42703"!==r.code)throw r}}async function S(e,r){let i=t().from("tasks").select("*").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!1});if(e&&(i=i.eq("user_id",e)),r?.project&&(i=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r.project)?i.eq("project_id",r.project):i.eq("project",r.project)),r?.orphan&&(i=i.is("project_id",null)),r?.status&&(i=i.eq("status",r.status)),r?.search){let e=r.search;i=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)?i.or(`id.eq.${e},slug.ilike.%${e}%,title.ilike.%${e}%`):i.or(`id.ilike.%${e}%,slug.ilike.%${e}%,title.ilike.%${e}%`)}let{data:o,error:a}=await i;if(a)throw a;let n=o||[];return r?.orphan?n.filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t}):n}async function P(e,r){let i=t().from("tasks").select("*").eq("id",e);r&&(i=i.eq("user_id",r));let{data:o,error:a}=await i.single();if(a){if("PGRST116"===a.code)return null;throw a}return o}async function D(e,r){let i=t().from("tasks").select("*").eq("slug",e);r&&(i=i.eq("user_id",r));let{data:o,error:a}=await i.single();if(a){if("PGRST116"===a.code)return null;throw a}return o}async function A(e,r,i){let o=t(),{frontmatter:a,body:n}=w(e),s="boolean"==typeof a.swarm?a.swarm:void 0,c=i?.title||k(e),u=String(a.slug||c||"task"),p=await m(u,o),f=i?.projectId||("string"==typeof a.project_id?a.project_id:void 0),g="string"==typeof a.workflow_id?a.workflow_id:void 0,_="string"==typeof a.project?a.project:void 0;if(!_&&f){let e=await O(f);e?.slug&&(_=e.slug)}/^---\n/.test(e);let h="string"==typeof a.provider?a.provider:null,S="string"==typeof a.model?a.model:null,D="string"==typeof a.engine?a.engine:null,A="ai"===a.created_by?"ai":"user",q=y(a.depends_on),I=y(i?.dependsOn),R=I.length>0?I:q,$={id:(0,l.randomUUID)(),content:e,description:v(n),title:c,slug:p,status:a.status||"queued",stage:a.stage||"intake",project:_||null,...void 0!==f?{project_id:f}:{},...void 0!==g?{workflow_id:g}:{},priority:a.priority,engine:D,provider:h,model:S,swarm:s,swarm_models:i?.swarmModels??null,depends_on:R.length?R:null,created_by:A,user_id:r,current_plan:i?.currentPlan||null,open_blockers:i?.openBlockers||[],next_action:i?.nextAction||null,version:1};await j($.id,R,o);let{data:E,error:T}=await o.from("tasks").insert($).select().single();if(T&&"42703"===T.code){let{swarm_models:e,swarm:t,workflow_id:r,current_plan:i,open_blockers:a,next_action:n,version:s,depends_on:d,...l}=$;({data:E,error:T}=await o.from("tasks").insert(l).select().single())}if(T)throw T;if(!E)throw Error("Failed to create task");await b(E,r);let x=await P(E.id,r)||E,N=r||x.user_id;if(N){let e=x.created_at||new Date().toISOString(),t={dependsOn:Array.isArray(x.depends_on)?x.depends_on:[],project:x.project||null,projectId:x.project_id||null,workflowId:x.workflow_id||null,createdBy:x.created_by||null};d({taskId:x.id,userId:N,eventType:"task.created",title:x.title||null,slug:x.slug||null,stage:x.stage||null,status:x.status||null,timestamp:e,details:t})}return x}async function q(e,r,i,o){let a=t(),{frontmatter:n,body:s}=w(r),l="boolean"==typeof n.swarm?n.swarm:void 0,c=k(r),u="string"==typeof n.project_id?n.project_id:void 0,p=Object.prototype.hasOwnProperty.call(n,"provider"),f=Object.prototype.hasOwnProperty.call(n,"model"),g=Object.prototype.hasOwnProperty.call(n,"workflow_id"),m=Object.prototype.hasOwnProperty.call(n,"depends_on"),_=y(n.depends_on),h=y(o?.dependsOn),S=o?.dependsOn!==void 0||m,D=o?.dependsOn!==void 0?h:_,A={content:r,description:v(s),title:c,status:n.status,stage:n.stage,project:n.project,...void 0!==u?{project_id:u}:{},workflow_id:g?n.workflow_id:void 0,priority:n.priority,engine:n.engine,provider:p?n.provider:null,model:f?n.model:null,swarm:l,swarm_models:o?.swarmModels??void 0,...S?{depends_on:D.length?D:null}:{},updated_at:new Date().toISOString(),current_plan:o?.currentPlan??void 0,open_blockers:o?.openBlockers??void 0,next_action:o?.nextAction??void 0};Object.keys(A).forEach(e=>{void 0===A[e]&&delete A[e]}),S&&await j(e,D,a);let q=a.from("tasks").update({...A,version:a.rpc("increment_version")}).eq("id",e);i&&(q=q.eq("user_id",i)),o?.expectedVersion!==void 0&&(q=q.eq("version",o.expectedVersion));let{data:I,error:R}=await a.from("tasks").update({...A}).eq("id",e).select().maybeSingle();if(R&&console.error(`[db.updateTask] error updating task ${e}:`,R),I||R||console.warn(`[db.updateTask] UPDATE returned 0 rows for task ${e}, payload keys:`,Object.keys(A)),R&&"42703"===R.code){let{swarm_models:t,swarm:r,workflow_id:o,current_plan:n,open_blockers:s,next_action:d,version:l,depends_on:c,...u}=A,p=a.from("tasks").update(u).eq("id",e);i&&(p=p.eq("user_id",i)),{data:I,error:R}=await p.select().maybeSingle()}if(R)throw R;if(!I){let t=await P(e,i);if(!t)throw Error(`Task ${e} not found`);return t}await b(I,i);let $=await P(I.id,i)||I,E=i||$.user_id;if(E){let e=$.created_at||new Date().toISOString(),t={dependsOn:Array.isArray($.depends_on)?$.depends_on:[],project:$.project||null,projectId:$.project_id||null,workflowId:$.workflow_id||null,createdBy:$.created_by||null};d({taskId:$.id,userId:E,eventType:"task.created",title:$.title||null,slug:$.slug||null,stage:$.stage||null,status:$.status||null,timestamp:e,details:t})}return $}async function I(e,r,i=25){let o=t(),{data:a,error:n}=await o.from("tasks").select("run_index").eq("id",e).single();if(n){if(n?.code==="42703")return;throw n}let s=[r,...Array.isArray(a.run_index)?a.run_index:[]].slice(0,i),{error:d}=await o.from("tasks").update({run_index:s}).eq("id",e);if(d){if(d?.code==="42703")return;throw d}}async function R(e,r){let i=t().from("tasks").delete().eq("id",e);r&&(i=i.eq("user_id",r));let{error:o}=await i;if(o)throw o}async function $(e){let r=t().from("tasks").select("*").eq("status","queued").order("priority",{ascending:!0,nullsFirst:!1}).order("created_at",{ascending:!0}).limit(1);e&&(r=r.eq("engine",e));let{data:i,error:o}=await r.single();if(o){if("PGRST116"===o.code)return null;throw o}return i}async function E(e,r=!1){let i=t().from("projects").select("*, project_repos(*)");e&&(i=i.eq("user_id",e)),r||(i=i.is("archived_at",null));let{data:o,error:a}=await i;if(a){if(u(a,"projects"))return[];throw a}return(o||[]).map(e=>({...e,repos:e.project_repos??[]}))}async function T(e,r){let i=t().from("projects").select("*").eq("slug",e);r&&(i=i.eq("user_id",r));let{data:o,error:a}=await i.maybeSingle();if(a){if(u(a,"projects"))return null;throw a}return o||null}async function x(e){let r=t(),{data:i,error:o}=await r.from("project_repos").select("*").eq("project_id",e);if(o){if(u(o,"project_repos"))return[];throw o}return i||[]}let N=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function O(e,r){let i=t(),o=N.test(e),a=i.from("projects").select("*");a=o?a.eq("id",e):a.eq("slug",e),r&&(a=a.eq("user_id",r));let n=await a.maybeSingle();if(n.error){if(u(n.error,"projects"))return null;throw n.error}let s=n.data;if(!s)return null;let d=await x(s.id);return{...s,repos:d}}async function C(e,t,r){if(!t.length)return[];let i=t.map(t=>({...t.id?{id:t.id}:{},project_id:e,name:t.name,path:t.path??null,git_url:t.git_url??null,notes:t.notes??null})),{data:o,error:a}=await r.from("project_repos").insert(i).select("*");if(a){if(u(a,"project_repos"))return[];throw a}return o||[]}async function M(e,r,i){if(!r.name?.trim())throw Error("Project name is required");let o=i??t(),a=r.name.trim()||"project",n=await _(a,e,o),s={user_id:e,name:r.name.trim(),slug:n,description:r.description??null,workflow_id:r.workflow_id??null},{data:d,error:l}=await o.from("projects").insert(s).select("*").single();if(l)throw l;let c=await C(d.id,r.repos??[],o);return{...d,repos:c}}async function K(e,r,i,o){let a=o??t(),n=N.test(e),s=e;if(!n){let t=await T(e,r);if(!t)return null;s=t.id}let d={};if(void 0!==i.name){let e=i.name?.trim();if(!e)throw Error("Project name cannot be empty");d.name=e}if(void 0!==i.slug){let e=i.slug?.trim();e&&(d.slug=e)}if(void 0!==i.description&&(d.description=i.description),void 0!==i.metadata&&(d.metadata=i.metadata),void 0!==i.ci_cd_info&&(d.ci_cd_info=i.ci_cd_info),void 0!==i.workflow_id&&(d.workflow_id=i.workflow_id),Object.keys(d).length){let{error:e}=await a.from("projects").update(d).eq("id",s).eq("user_id",r);if(e)throw e}if(i.repos){let{data:e,error:t}=await a.from("project_repos").select("*").eq("project_id",s);if(t&&!u(t,"project_repos"))throw t;let r=e||[],o=new Set(r.map(e=>e.id)),n=new Set(i.repos.map(e=>e.id).filter(e=>!!e));for(let e of r){if(n.has(e.id))continue;let{error:t}=await a.from("project_repos").delete().eq("id",e.id).eq("project_id",s);if(t&&!u(t,"project_repos"))throw t}for(let e of i.repos){let t={name:e.name,path:e.path??null,git_url:e.git_url??null,notes:e.notes??null,project_id:s};if(e.id&&o.has(e.id)){let{error:r}=await a.from("project_repos").update(t).eq("id",e.id).eq("project_id",s);if(r&&!u(r,"project_repos"))throw r;continue}let{error:r}=await a.from("project_repos").insert({...e.id?{id:e.id}:{},...t});if(r&&!u(r,"project_repos"))throw r}}return O(s,r)}async function F(e,r,i){let o=i??t(),{error:a}=await o.from("projects").update({archived_at:new Date().toISOString()}).eq("id",e).eq("user_id",r);if(a)throw a}async function L(e,r,i){let o=i??t(),a=await O(e,r);if(!a)throw Error("Project not found");let{data:n,error:s}=await o.from("tasks").select("id, project").eq("user_id",r).is("project_id",null);if(s)throw s;let d=String(a.slug||"").trim().toLowerCase(),l=(n||[]).filter(e=>{let t=String(e.project||"").trim().toLowerCase();return!t||"none"===t||t===d}).map(e=>e.id);if(!l.length)return{updatedCount:0,taskIds:[]};let{error:c}=await o.from("tasks").update({project:a.slug,project_id:a.id,updated_at:new Date().toISOString()}).eq("user_id",r).is("project_id",null).in("id",l);if(c)throw c;return{updatedCount:l.length,taskIds:l}}let B="00000000-0000-0000-0000-000000000001",W=[{id:"00000000-0000-0000-0001-000000000001",name:"INTAKE",label:"Intake",prompt:"New task. Triage, scope, and prepare for work.",position:0,node_type:"step"},{id:"00000000-0000-0000-0001-000000000002",name:"PROGRESS",label:"Progress",prompt:"Task is actively being worked on.",position:1,node_type:"step"},{id:"00000000-0000-0000-0001-000000000003",name:"DONE",label:"Done",prompt:"Task completed.",position:2,node_type:"terminal"}],U=new Map(W.map(e=>[e.id,e]));async function J(e){let r=t(),{error:i}=await r.from("workflows").upsert({id:B,user_id:e||"00000000-0000-0000-0000-000000000000",name:"Default Workflow",definition:{}},{onConflict:"id"});if(i)throw i;let{error:o}=await r.from("workflow_nodes").upsert(W.map(e=>({...e,workflow_id:B,metadata:{}})),{onConflict:"id"});if(o)throw o;let{error:a}=await r.from("workflow_transitions").upsert([{workflow_id:B,from_node_id:"00000000-0000-0000-0001-000000000001",to_node_id:"00000000-0000-0000-0001-000000000002",condition:"done",priority:0,metadata:{}},{workflow_id:B,from_node_id:"00000000-0000-0000-0001-000000000002",to_node_id:"00000000-0000-0000-0001-000000000003",condition:"done",priority:0,metadata:{}}],{onConflict:"workflow_id,from_node_id,condition"});if(a)throw a}async function V(e){let r=t(),{data:i,error:o}=await r.from("workflows").select("*").or(`user_id.eq.${e},user_id.eq.00000000-0000-0000-0000-000000000000`).order("created_at",{ascending:!1});if(o){if(u(o,"workflows"))return[];throw o}return i||[]}async function G(e,r){let i=t().from("workflows").select("*").eq("id",e),{data:o,error:a}=await i.maybeSingle();if(a){if(u(a,"workflows"))return null;throw a}return o}async function z(e,r,i){let o=t(),a={updated_at:new Date().toISOString()};void 0!==i.definition&&(a.definition=i.definition),void 0!==i.name&&(a.name=i.name),void 0!==i.description&&(a.description=i.description);let{data:n,error:s}=await o.from("workflows").update(a).eq("id",e).select().single();if(s)throw s;return n}async function H(e){let r=t(),{data:i,error:o}=await r.from("workflow_nodes").select("*").eq("workflow_id",e).order("position",{ascending:!0});if(o){if(u(o,"workflow_nodes"))return[];throw o}return i||[]}async function Q(e,r,i){let o=t();if(e===B&&await J(r),!await G(e,r))throw Error("Workflow not found");if(e===B){let t=i.map(t=>{let r=U.get(t.id);return r?{id:t.id,workflow_id:e,name:r.name,label:r.label,position:r.position,node_type:r.node_type,prompt:t.prompt??r.prompt,provider:t.provider??null,model:t.model??null,metadata:t.metadata??{}}:null}).filter(e=>!!e);if(t.length>0){let{error:e}=await o.from("workflow_nodes").upsert(t,{onConflict:"id"});if(e)throw e}return H(e)}return await Promise.all(i.map(async t=>{let r={};if(void 0!==t.prompt&&(r.prompt=t.prompt),void 0!==t.provider&&(r.provider=t.provider),void 0!==t.model&&(r.model=t.model),void 0!==t.metadata&&(r.metadata=t.metadata),0===Object.keys(r).length)return;let{error:i}=await o.from("workflow_nodes").update(r).eq("workflow_id",e).eq("id",t.id);if(i)throw i})),H(e)}async function X(e,r){let i=t(),{data:o,error:a}=await i.from("workflow_nodes").select("*").eq("workflow_id",e).eq("name",r).maybeSingle();if(a){if(u(a,"workflow_nodes"))return null;throw a}return o}async function Y(e){let r=t(),{data:i,error:o}=await r.from("workflow_transitions").select("*").eq("workflow_id",e).order("priority",{ascending:!0});if(o){if(u(o,"workflow_transitions"))return[];throw o}return i||[]}async function Z(e,r){let i=t(),{data:o,error:a}=await i.from("workflow_transitions").select("*").eq("workflow_id",e).eq("from_node_id",r).order("priority",{ascending:!0});if(a){if(u(a,"workflow_transitions"))return[];throw a}return o||[]}async function ee(e,t){let r=await G(e,t);if(!r)return null;let[i,o]=await Promise.all([H(e),Y(e)]);return{...r,nodes:i,transitions:o}}async function et(e,r={}){let i=t(),o=Math.max(1,Math.min(2e3,Number(r.limit??r.tail??500))),a="string"==typeof r.after&&r.after.trim()?r.after.trim():null,n=a?null:void 0===r.tail?o:Number(r.tail),s=null!==n&&Number.isFinite(n)&&n>0,d=i.from("task_logs").select("*").eq("task_id",e);r.nodeId&&(d=d.eq("node_id",r.nodeId)),d=a?d.gt("created_at",a).order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o):s?d.order("created_at",{ascending:!1}).order("id",{ascending:!1}).limit(o):d.order("created_at",{ascending:!0}).order("id",{ascending:!0}).limit(o);let{data:l,error:c}=await d;if(c)throw c;let u=l||[];return a?u:s?u.slice().reverse():u}async function er(e,r,i,o){let a=t(),{data:n,error:s}=await a.from("task_logs").insert({task_id:e,content:r,log_type:i,...o?{node_id:o}:{}}).select().single();if(s)throw s;return n}function ei(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,Math.round(t)):0}function eo(e){let t=Number(e??0);return Number.isFinite(t)?Math.max(0,t):0}async function ea(e){let r=t(),i={task_id:e.taskId,stage:e.stage,provider:e.provider??null,model:e.model??null,input_tokens:ei(e.inputTokens),output_tokens:ei(e.outputTokens),estimated_cost:eo(e.estimatedCost)},{data:o,error:a}=await r.from("task_costs").insert(i).select().single();if(a)throw a;return o}async function en(e){let r=t(),{data:i,error:o}=await r.from("task_costs").select("*").eq("task_id",e).order("created_at",{ascending:!0});if(o)throw o;return i||[]}function es(e){let t={},r=0,i=0,o=0;for(let a of e){let e=a.stage||"unknown",n=ei(a.input_tokens),s=ei(a.output_tokens),d=eo(a.estimated_cost??0);r+=n,i+=s,o+=d;let l=t[e]||{stage:e,input_tokens:0,output_tokens:0,estimated_cost:0,entries:0};l.input_tokens+=n,l.output_tokens+=s,l.estimated_cost+=d,l.entries+=1,t[e]=l}return{total_input_tokens:r,total_output_tokens:i,total_cost:o,per_stage:Object.values(t).sort((e,t)=>e.stage.localeCompare(t.stage))}}async function ed(e){return es(await en(e))}async function el(e){let r=t(),{data:i,error:o}=await r.from("task_comments").select("*").eq("task_id",e).is("deleted_at",null).order("created_at",{ascending:!0}).order("id",{ascending:!0});if(o)throw o;return i||[]}async function ec(e,r,i,o){let a=t(),{data:n,error:s}=await a.from("task_comments").insert({task_id:e,content:r,author_type:i,author_id:o??null}).select().single();if(s)throw s;return n}async function eu(e,r){let i=t(),{data:o,error:a}=await i.from("task_comments").select("author_id, author_type").eq("id",e).single();if(a)throw a;if(!o)throw Error("Comment not found");if("user"!==o.author_type||o.author_id!==r)throw Error("Unauthorized");let{error:n}=await i.from("task_comments").update({deleted_at:new Date().toISOString()}).eq("id",e).is("deleted_at",null);if(n)throw n}async function ep(e,r,i){if("task"!==e)return c.vaultStore.getLearnings(e,r);let o=t().from("learnings").select("*").eq("scope",e).order("created_at",{ascending:!1});r&&(o=o.eq("scope_id",r)),i&&(o=o.eq("user_id",i));let{data:a,error:n}=await o;if(n)throw n;return a||[]}async function ef(e,r,i,o){if("task"!==e)return c.vaultStore.addLearning(e,r,i);let a=t(),{data:n,error:s}=await a.from("learnings").insert({scope:e,scope_id:i,content:r,user_id:o}).select().single();if(s)throw s;return n}async function eg(e,r){if("global-playbook"===e)return void c.vaultStore.deleteLearning(e,"global");let i=await O(e,r);if(i)return void c.vaultStore.deleteLearning(e,"project",i.id);let o=t().from("learnings").delete().eq("id",e);r&&(o=o.eq("user_id",r));let{error:a}=await o;if(a)throw a}async function em(e,r){let i=t().from("stage_prompts").select("*").eq("workflow_id",r).order("stage",{ascending:!0});i=e?i.or(`user_id.eq.${e},is_default.eq.true`):i.eq("is_default",!0);let{data:o,error:a}=await i;if(a)throw a;return o||[]}async function e_(e,r,i){let o=t();if(r){let{data:t}=await o.from("stage_prompts").select("*").eq("workflow_id",i).eq("stage",e).eq("user_id",r).single();if(t)return t}let{data:a}=await o.from("stage_prompts").select("*").eq("workflow_id",i).eq("stage",e).eq("is_default",!0).single();return a||null}async function eh(e,r,i=[],o,a,n){let s=t(),d={stage:e,prompt:r,outputs:i,user_id:o,is_default:!o,workflow_id:n};a&&(void 0!==a.swarm&&(d.swarm=a.swarm),void 0!==a.provider&&(d.provider=a.provider),void 0!==a.model&&(d.model=a.model),void 0!==a.swarm_models&&(d.swarm_models=a.swarm_models));let{data:l,error:c}=await s.from("stage_prompts").upsert(d,{onConflict:o?"workflow_id,stage,user_id":"workflow_id,stage,is_default"}).select().single();if(c)throw c;return l}async function ey(e,r){let i=t().from("stage_prompts").delete().eq("id",e);r&&(i=i.eq("user_id",r));let{error:o}=await i;if(o)throw o}async function ew(e){let r=t(),{data:i,error:o}=await r.from("agents").select("*").eq("user_id",e).order("created_at",{ascending:!1});if(o){if(u(o,"agents"))return[];throw o}return i||[]}async function ej(e,r){let i=t(),{data:o,error:a}=await i.from("agents").select("*").eq("id",e).eq("user_id",r).maybeSingle();if(a){if("PGRST116"===a.code||u(a,"agents"))return null;throw a}return o}async function ek(e){let r=t(),{data:i,error:o}=await r.from("agent_skills").select("*").eq("agent_id",e).order("created_at",{ascending:!0});if(o){if(u(o,"agent_skills"))return[];throw o}return i||[]}async function ev(e,r){let i=t(),o=new Map;for(let t of r){let r=t.file.trim();r&&o.set(r,{agent_id:e,file:r,condition:t.condition?.trim()||null})}let a=await ek(e);for(let t of a)if(!o.has(t.file)){let{error:r}=await i.from("agent_skills").delete().eq("agent_id",e).eq("file",t.file);if(r&&!u(r,"agent_skills"))throw r}for(let t of o.values()){let r=a.find(e=>e.file===t.file);if(!r){let{error:e}=await i.from("agent_skills").insert(t);if(e&&!u(e,"agent_skills"))throw e;continue}if((r.condition??null)!==t.condition){let{error:r}=await i.from("agent_skills").update({condition:t.condition}).eq("agent_id",e).eq("file",t.file);if(r&&!u(r,"agent_skills"))throw r}}return ek(e)}async function eb(e,r){let i=t(),o={user_id:e,name:r.name,style:r.style,description:r.description??null};void 0!==r.id&&(o.id=r.id),void 0!==r.title&&(o.title=r.title),void 0!==r.voice&&(o.voice=r.voice),void 0!==r.seed&&(o.seed=r.seed),void 0!==r.model&&(o.model=r.model),void 0!==r.provider&&(o.provider=r.provider),void 0!==r.color&&(o.color=r.color);let{data:a,error:n}=await i.from("agents").insert(o).select().single();if(n){if(u(n,"agents"))throw Error("Agents table does not exist");throw n}return a}async function eS(e,r,i){let o=t(),a={updated_at:new Date().toISOString()};if(void 0!==i.name&&(a.name=i.name),void 0!==i.title&&(a.title=i.title),void 0!==i.style&&(a.style=i.style),void 0!==i.description&&(a.description=i.description),void 0!==i.voice&&(a.voice=i.voice),void 0!==i.seed&&(a.seed=i.seed),void 0!==i.model&&(a.model=i.model),void 0!==i.provider&&(a.provider=i.provider),void 0!==i.color&&(a.color=i.color),1===Object.keys(a).length)return ej(e,r);let{data:n,error:s}=await o.from("agents").update(a).eq("id",e).eq("user_id",r).select().single();if(s){if("PGRST116"===s.code||u(s,"agents"))return null;throw s}return n}async function eP(e,r){let i=t(),{error:o}=await i.from("agents").delete().eq("id",e).eq("user_id",r);if(o&&!u(o,"agents"))throw o}async function eD(e){let r=t(),{data:i,error:o}=await r.from("project_agents").select("*").eq("project_id",e).order("routing_order",{ascending:!0});if(o){if(u(o,"project_agents"))return[];throw o}return i||[]}async function eA(e,r,i){let o=t();if(void 0===i){let{data:t}=await o.from("project_agents").select("routing_order").eq("project_id",e).order("routing_order",{ascending:!1}).limit(1);i=(t?.[0]?.routing_order??-1)+1}let{data:a,error:n}=await o.from("project_agents").upsert({project_id:e,agent_id:r,routing_order:i}).select().single();if(n)throw n;return a}async function eq(e,r){let i=t(),{error:o}=await i.from("project_agents").delete().eq("project_id",e).eq("agent_id",r);if(o)throw o}async function eI(e,r){let i=t();for(let t=0;t<r.length;t++)await i.from("project_agents").update({routing_order:t}).eq("project_id",e).eq("agent_id",r[t]);return eD(e)}async function eR(e){let r=t(),{data:i,error:o}=await r.from("teams").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(u(o,"teams"))return[];throw o}return(i||[]).map(e=>({...e,metadata:"string"==typeof e.metadata?JSON.parse(e.metadata):e.metadata||{}}))}async function e$(e){let r=t(),{data:i,error:o}=await r.from("teams").select("*").eq("id",e).limit(1).single();if(o){if("PGRST116"===o.code||u(o,"teams"))return null;throw o}return i?{...i,metadata:"string"==typeof i.metadata?JSON.parse(i.metadata):i.metadata||{}}:null}async function eE(e,r,i,o){let a=t(),n=(0,l.randomUUID)(),s=new Date().toISOString(),{data:d,error:c}=await a.from("teams").insert({id:n,project_id:e,name:r,template_id:i||null,metadata:JSON.stringify(o||{}),created_at:s,updated_at:s}).select().single();if(c)throw c;return{...d,metadata:"string"==typeof d.metadata?JSON.parse(d.metadata):d.metadata||{}}}async function eT(e,r){let i=t(),o={};void 0!==r.name&&(o.name=r.name),void 0!==r.metadata&&(o.metadata=JSON.stringify(r.metadata));let{data:a,error:n}=await i.from("teams").update(o).eq("id",e).select().single();if(n){if("PGRST116"===n.code)return null;throw n}return{...a,metadata:"string"==typeof a.metadata?JSON.parse(a.metadata):a.metadata||{}}}async function ex(e){let r=t(),{error:i}=await r.from("teams").delete().eq("id",e);if(i)throw i}async function eN(e){let r=t(),{data:i,error:o}=await r.from("team_agents").select("*").eq("team_id",e).order("routing_order",{ascending:!0});if(o){if(u(o,"team_agents"))return[];throw o}return i||[]}async function eO(e,r,i,o){let a=t();if(void 0===o){let{data:t}=await a.from("team_agents").select("routing_order").eq("team_id",e).order("routing_order",{ascending:!1}).limit(1);o=(t?.[0]?.routing_order??-1)+1}let{data:n,error:s}=await a.from("team_agents").upsert({team_id:e,agent_id:r,role_key:i,routing_order:o}).select().single();if(s)throw s;return n}async function eC(e,r){let i=t(),{error:o}=await i.from("team_agents").delete().eq("team_id",e).eq("agent_id",r);if(o)throw o}async function eM(e){let r=t(),{data:i,error:o}=await r.from("project_skills").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(u(o,"project_skills"))return[];throw o}return i||[]}async function eK(e,r,i){let o=t(),{data:a,error:n}=await o.from("project_skills").insert({project_id:e,file:r,condition:i??null}).select().single();if(n)throw n;return a}async function eF(e){let r=t(),{error:i}=await r.from("project_skills").delete().eq("id",e);if(i)throw i}async function eL(e){let r=t(),{data:i,error:o}=await r.from("project_variables").select("*").eq("project_id",e);if(o){if(u(o,"project_variables"))return[];throw o}return i||[]}async function eB(e,r,i){let o=t(),{data:a,error:n}=await o.from("project_variables").upsert({project_id:e,key:r,value:i}).select().single();if(n)throw n;return a}async function eW(e,r){let i=t(),{error:o}=await i.from("project_variables").delete().eq("project_id",e).eq("key",r);if(o)throw o}async function eU(e,t){return c.vaultStore.getProjectMemory(e)}async function eJ(e,t,r,i="human"){return c.vaultStore.addProjectMemory(e,t,r,i)}async function eV(e){c.vaultStore.deleteProjectMemory(e)}async function eG(e){let r=t(),{data:i,error:o}=await r.from("project_threads").select("*").eq("project_id",e).order("created_at",{ascending:!0});if(o){if(u(o,"project_threads"))return[];throw o}return i||[]}async function ez(e,r){let i=t(),{error:o}=await i.from("project_threads").upsert({project_id:e,thread_id:r},{onConflict:"project_id,thread_id",ignoreDuplicates:!0});if(o)throw o;let{data:a,error:n}=await i.from("project_threads").select("*").eq("project_id",e).eq("thread_id",r).single();if(n)throw n;return a}async function eH(e,r){let i=t(),{error:o}=await i.from("project_threads").delete().eq("project_id",e).eq("thread_id",r);if(o)throw o}async function eQ(e){let r=t(),{data:i,error:o}=await r.from("project_threads").select("project_id").eq("thread_id",e).maybeSingle();return o?(u(o,"project_threads"),null):i?.project_id??null}function eX(e,t){let r=[],i=new Set;for(let t of e){let e=t.file.split("/").pop()||t.file;i.add(e),r.push({file:t.file,condition:t.condition,source:"agent"})}for(let e of t){let t=e.file.split("/").pop()||e.file;i.has(t)||r.push({file:e.file,condition:e.condition??void 0,source:"project"})}return r}function eY(e,t){let r=[];for(let e of t)r.push({content:e.content,source:"project",id:e.id});for(let t of e)r.push({content:t.content,source:"agent",id:t.id});return r}async function eZ(e){return(await eL(e)).map(e=>({key:e.key,value:e.value,source:"project"}))}async function e0(e,t,r,i){let o=await eM(t),a=await eU(t),n=await eZ(t);return{skills:eX(r,o),memory:eY(i,a),variables:n}}e.s(["DEFAULT_WORKFLOW_ID",0,"00000000-0000-0000-0000-000000000001","addLearning",0,ef,"addProjectAgent",0,eA,"addProjectMemory",0,eJ,"addProjectSkill",0,eK,"addProjectThread",0,ez,"addTaskComment",0,ec,"addTaskCostEntry",0,ea,"addTaskLog",0,er,"addTeamAgent",0,eO,"appendRunToIndex",0,I,"assignOrphanTasksToProject",0,L,"buildExecutionProvenance",0,e0,"createAgent",0,eb,"createProject",0,M,"createTask",0,A,"createTeam",0,eE,"defaultStagePrompts",0,{INTAKE:{prompt:"New task. Triage, scope, and prepare for work.",outputs:[],swarm:!1},PROGRESS:{prompt:"Task is actively being worked on.",outputs:[],swarm:!1},DONE:{prompt:"Task completed.",outputs:[],swarm:!1}},"deleteAgent",0,eP,"deleteLearning",0,eg,"deleteProject",0,F,"deleteProjectMemory",0,eV,"deleteProjectVariable",0,eW,"deleteStagePrompt",0,ey,"deleteTask",0,R,"deleteTaskComment",0,eu,"deleteTeam",0,ex,"ensureNoCircularDependency",0,j,"extractTitle",0,k,"getAgent",0,ej,"getAgentSkills",0,ek,"getAgents",0,ew,"getDefaultWorkflowId",0,function(){return B},"getLearnings",0,ep,"getNextQueuedTask",0,$,"getProjectAgents",0,eD,"getProjectBySlug",0,T,"getProjectForThread",0,eQ,"getProjectMemory",0,eU,"getProjectRepos",0,x,"getProjectSkills",0,eM,"getProjectThreads",0,eG,"getProjectVariables",0,eL,"getProjectWithRepos",0,O,"getProjects",0,E,"getStagePrompt",0,e_,"getStagePrompts",0,em,"getTask",0,P,"getTaskBySlug",0,D,"getTaskComments",0,el,"getTaskCostEntries",0,en,"getTaskCostSummary",0,ed,"getTaskLogs",0,et,"getTasks",0,S,"getTeam",0,e$,"getTeamAgents",0,eN,"getTeams",0,eR,"getUserSettings",0,p,"getWorkflow",0,G,"getWorkflowNodeByName",0,X,"getWorkflowNodes",0,H,"getWorkflowTransitions",0,Y,"getWorkflowTransitionsFromNode",0,Z,"getWorkflowWithGraph",0,ee,"getWorkflows",0,V,"parseFrontmatter",0,w,"removeProjectAgent",0,eq,"removeProjectSkill",0,eF,"removeProjectThread",0,eH,"removeTeamAgent",0,eC,"reorderProjectAgents",0,eI,"resolveMemory",0,eY,"resolveSkills",0,eX,"resolveTaskConfig",0,function(t,r,i){let o=e=>"string"!=typeof e?null:e.trim()||null,a=null;try{let t=e.r(522734),r=e.r(814747).join(process.env.HOME||"",".agx","config.json"),i=JSON.parse(t.readFileSync(r,"utf-8"));a=o(i?.defaultProvider)||null}catch{}let n=o(i?.default_provider)||a||"claude",s=o(t.provider)||o(r?.provider)||n,d=o(i?.models?.[s])||null,l=o(t.model)||o(r?.model)||d||null;return{provider:s,model:l,swarm:t.swarm??r?.swarm??!1,swarm_models:t.swarm_models?.length?t.swarm_models:r?.swarm_models||[]}},"resolveVariables",0,eZ,"setAgentSkills",0,ev,"setProjectVariable",0,eB,"summarizeTaskCosts",0,es,"updateAgent",0,eS,"updateProject",0,K,"updateTask",0,q,"updateTeam",0,eT,"updateWorkflow",0,z,"updateWorkflowNodes",0,Q,"upsertStagePrompt",0,eh,"upsertUserSettings",0,f],623775)}];
33
+
34
+ //# sourceMappingURL=apps_local_lib_01pvj2g._.js.map
@@ -0,0 +1,55 @@
1
+ module.exports=[733545,e=>{"use strict";var t=e.i(341902);e.s(["getKnowledgeNote",0,function(e,n){return t.vaultStore.getKnowledgeNote(e,n)},"upsertKnowledgeNote",0,function(e){return t.vaultStore.upsertKnowledgeNote(e)}])},461419,e=>{"use strict";var t=e.i(623775);let n=[["INTAKE","PROGRESS","DONE"]];async function a({workflowId:e,currentNodeName:n,decision:r,retryCount:o,maxRetries:s=3}){if("done"===String(n).trim().toLowerCase())return{nextNodeName:"done",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:"Task completed at done",logType:"checkpoint"},nodeConfig:null};let i=await (0,t.getWorkflowNodeByName)(e,n);if(!i)return{nextNodeName:n,nextStatus:"blocked",retryCount:o,error:`Node '${n}' not found in workflow`,appendLog:{content:`Workflow error: node '${n}' not found`,logType:"error"},nodeConfig:null};if("terminal"===i.node_type)return{nextNodeName:n,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${i.label||n}`,logType:"checkpoint"},nodeConfig:i};if("blocked"===r)return{nextNodeName:n,nextStatus:"blocked",retryCount:o,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"},nodeConfig:i};let l=await (0,t.getWorkflowTransitionsFromNode)(e,i.id),d=function(e){switch(e){case"done":default:return"done";case"blocked":return"blocked";case"failed":case"not_done":return"failed"}}(r),u=l.find(e=>e.condition===d);if(u){let a=(await (0,t.getWorkflowNodes)(e)).find(e=>e.id===u.to_node_id);if(a){let e="terminal"===a.node_type;return{nextNodeName:a.name,nextStatus:e?"completed":"queued",retryCount:0,error:null,appendLog:{content:"done"===r?`Stage completed: ${i.label||n}`:`Transition to ${a.label||a.name}`,logType:"done"===r?"checkpoint":"system"},nodeConfig:a}}}if("done"===r)return{nextNodeName:n,nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at ${i.label||n}`,logType:"checkpoint"},nodeConfig:i};let c=o+1;return c<=s?{nextNodeName:n,nextStatus:"queued",retryCount:c,error:null,appendLog:{content:`Retrying (${c}/${s}) for ${i.label||n}`,logType:"system"},nodeConfig:i}:{nextNodeName:n,nextStatus:"failed",retryCount:c,error:"Task failed after max retries.",appendLog:{content:"Task failed after max retries.",logType:"error"},nodeConfig:i}}e.s(["getTicketType",0,function(e,t){for(let t of["ticket_type","type","issue_type","kind"])if("spike"===function(e){if("string"!=typeof e)return"task";let t=e.trim().toLowerCase();return"spike"===t||"spikes"===t?"spike":"task"}(e[t]))return"spike";let n=t.match(/^#\s+(.+)$/m),a=n?.[1]?.trim().toLowerCase()||"";return a.startsWith("spike:")||a.startsWith("[spike]")?"spike":"task"},"resolveStageTransition",0,function({currentStage:e,decision:t,ticketType:a,retryCount:r,maxRetries:o=3}){let s=function(e,t){if("spike"===t)return"INTAKE"===e?"PROGRESS":"DONE"===e?null:"DONE";for(let t of n){let n=t.indexOf(e);if(-1!==n){if(n>=t.length-1)return null;return t[n+1]}}return null}(e,a);if("done"===t)return s?{nextStage:s,nextStatus:"queued",retryCount:0,error:null,appendLog:{content:`Stage completed: ${e}`,logType:"checkpoint"}}:{nextStage:"DONE",nextStatus:"completed",retryCount:0,error:null,appendLog:{content:`Task completed at stage ${e}.`,logType:"checkpoint"}};if("blocked"===t)return{nextStage:e,nextStatus:"blocked",retryCount:r,error:null,appendLog:{content:"Blocked: additional input required.",logType:"system"}};if("PROGRESS"===e)return{nextStage:"PROGRESS",nextStatus:"queued",retryCount:0,error:null,appendLog:{content:"Stage not done. Retrying in PROGRESS.",logType:"system"}};let i=r+1;return i<=o?{nextStage:e,nextStatus:"queued",retryCount:i,error:null,appendLog:{content:`Retrying (${i}/${o}) for stage ${e}.`,logType:"system"}}:{nextStage:e,nextStatus:"failed",retryCount:i,error:"Task failed.",appendLog:{content:"Task failed.",logType:"error"}}},"resolveWorkflowTransition",0,a])},389344,e=>{"use strict";var t=e.i(929160),n=e.i(461419),a=e.i(623775),r=e.i(254799),o=e.i(374371),s=e.i(633211),i=e.i(476805),l=e.i(733545);let d=new Set(["outcome","decision","pattern","gotcha"]),u=`You are a memory extractor for a task execution system.
2
+ Given a completed task, extract 0-3 memories worth remembering for future tasks.
3
+
4
+ Each memory must be:
5
+ { "memory_type": "outcome" | "decision" | "pattern" | "gotcha", "content": "one concise sentence" }
6
+
7
+ - outcome: what happened (success/failure result)
8
+ - decision: a choice that was made and why
9
+ - pattern: a reusable approach or technique discovered
10
+ - gotcha: a surprising pitfall or edge case encountered
11
+
12
+ Return ONLY a JSON array. Return [] if nothing worth remembering.
13
+ Do not wrap in markdown code blocks. Just raw JSON.`,c=`You are maintaining a living project knowledge note for a task execution system.
14
+ Given the current project note and a completed or failed task, decide whether the note should change.
15
+
16
+ Return ONLY a JSON object:
17
+ {
18
+ "updated_note": "full revised note in concise markdown",
19
+ "change_summary": "short summary of what changed",
20
+ "no_change": false
21
+ }
22
+
23
+ Rules:
24
+ - Revise the current note instead of appending isolated bullets.
25
+ - Write like a person's living project notes, not an extracted fact list.
26
+ - The note should help someone understand what the project is, what it does, what has been decided, and what lessons now shape future work.
27
+ - Prefer short sections and narrative paragraphs in markdown. Bullets are fine only when they genuinely improve clarity.
28
+ - Preserve strong existing content when still valid.
29
+ - Merge duplicate ideas, sharpen wording, and remove stale or unsupported claims.
30
+ - Only include project-scoped knowledge likely useful across future work in the same project.
31
+ - Do not include repo-specific durable truths that belong in repo knowledge.
32
+ - Avoid generic filler and avoid sounding like an audit log.
33
+ - If nothing project-scoped changed, return {"no_change": true}.
34
+ - Do not wrap in markdown code blocks. Just raw JSON.`;async function p(e){let t=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),n=`${u}
35
+
36
+ Task:
37
+ ${t}`,a="";try{await (0,o.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:n,onDelta:e=>{a+=e}})}catch(e){return console.warn("[memory-extractor] LLM call failed:",e),[]}var r=a;let s=r.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(s);if(!Array.isArray(e))return[];return e.filter(e=>"object"==typeof e&&null!==e&&d.has(e.memory_type)&&"string"==typeof e.content&&e.content.trim().length>0).slice(0,3)}catch{return console.warn("[memory-extractor] Failed to parse LLM response:",s.slice(0,200)),[]}}let g=new Set(["outcome","decision","pattern","gotcha"]),f=["agent_id","agentId","agent","participant_id","participantId","assigned_agent","assignedAgent"];function m(e){return"string"!=typeof e?null:e.trim()||null}function y(e){let t=m(e.explicitAgentId);if(t)return t;let n=e.frontmatter||{};for(let e of f){let t=m(n[e]);if(t)return t}return m(e.defaultUserId)||"system"}async function k(e,t,n){let a=(0,s.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
38
+ VALUES (?, ?, ?, ?, ?, ?, ?)`),o=0,l=Date.now();for(let s of n){if(!g.has(s.memory_type)||!s.content?.trim())continue;let n=(0,r.createHash)("sha256").update(s.content.trim()).digest("hex");a.run((0,r.randomUUID)(),t,e,s.memory_type,s.content.trim(),n,l).changes>0&&o++}return o>0&&(0,i.storeKnowledgeEntries)(n.map(n=>({scope:"agent",subjectId:t,sourceType:"task_completion",sourceId:e,kind:n.memory_type,title:n.content.trim().slice(0,80),body:n.content.trim(),confidence:.7,durability:.6,metadata:{task_id:e}}))),o}async function w(e,t,n){let a=await p(n);if(0===a.length)return;let r=await k(e,t,a);r>0&&console.log(`[memory-extractor] Stored ${r} memories for task ${e}`)}async function S(e){let t=m(e);if(!t)return null;if(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t))return t;let n=(0,s.getSQLiteDb)().prepare("SELECT id FROM projects WHERE slug = ? LIMIT 1").get(t);return n?.id??null}async function h(e,t){let n=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),a=`${c}
39
+
40
+ Current note:
41
+ ${t||"(empty)"}
42
+
43
+ Task:
44
+ ${n}`,r="";try{await (0,o.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:a,onDelta:e=>{r+=e}})}catch(e){return console.warn("[project-knowledge] LLM call failed:",e),[]}let s=r.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(s);if(!e||"object"!=typeof e||Array.isArray(e))return[];let t="string"==typeof e.updated_note?e.updated_note.trim():"";if(e.no_change||!t)return[];return[{updated_note:t,change_summary:"string"==typeof e.change_summary?e.change_summary.trim():void 0,no_change:!1}]}catch{return console.warn("[project-knowledge] Failed to parse LLM response:",s.slice(0,200)),[]}}async function _(e,t,n){if(0===n.length)return 0;let a=n[0];return a&&a.updated_note?.trim()?+!!(0,l.upsertKnowledgeNote)({scope:"project",subjectId:e,content:a.updated_note.trim(),changeSummary:a.change_summary,sourceType:"task_completion",sourceId:t,metadata:{task_id:t}}).changed:0}async function x(e,t,n){let a=await S(t);if(!a)return;let r=await h(n,(0,l.getKnowledgeNote)("project",a)?.content??"");if(0===r.length)return;let o=await _(a,e,r);o>0&&console.log(`[project-knowledge] Stored ${o} project knowledge entries for task ${e}`)}var $=e.i(209120);function T(e,t){return`---
45
+ ${Object.entries(e).map(([e,t])=>`${e}: ${null==t?"":String(t)}`).join("\n")}
46
+ ---
47
+ ${t}`}var I=e.i(295851),b=e.i(864075);function N(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 v(e){if(!e)return[];let t=N(e.depends_on);if(t.length)return t;if("string"==typeof e.content){let{frontmatter:t}=(0,a.parseFrontmatter)(e.content||"");return N(t.depends_on)}return[]}async function C(e,t){if(!e.length)return[];let n=(0,$.createAdminDbClient)().from("tasks").select("id, title, slug, status, stage").in("id",e);t&&(n=n.eq("user_id",t));let{data:a}=await n,r=new Map;if(Array.isArray(a))for(let e of a){var o;e&&e.id&&r.set(e.id,(o=e.id,e?{id:e.id||o||"",title:e.title||void 0,slug:e.slug||void 0,status:e.status,stage:e.stage}:{id:o||""}))}return e.map(e=>r.get(e)).filter(e=>!!e)}async function O(e,t){let n=v(e);return n.length?(await C(n,t)).filter(e=>"completed"!==(e.status||"")):[]}async function L(e,r,o){let s=r||b.LOCAL_USER.id,i=await t.db.getTask(e,s);if(!i)throw Error(`Task not found: ${e}`);let l=await O(i,s);if(l.length){let t=function(e){if(!e.length)return"";let t=e.slice(0,3).map(e=>{let t=e.title||e.slug||e.id||"(unknown)",n="INTAKE"===e.stage?"awaiting approval":e.status||"",a=n?` (${n})`:"";return`${t}${a}`}),n=`Waiting on dependencies: ${t.join(", ")}`;return e.length>3&&(n+=` +${e.length-3} more`),n}(l),n=(0,$.createAdminDbClient)(),{error:a}=await n.from("tasks").update({status:"blocked",blocked_reason:t,updated_at:new Date().toISOString()}).eq("id",e);if(a&&"42703"!==a.code)throw a;return{started:!1,missingDependencies:l,blockedReason:t}}if(!o?.force&&"queued"===i.status&&!i.blocked_reason)return{started:!1,missingDependencies:[],alreadyQueued:!0};let{frontmatter:d,body:u}=(0,a.parseFrontmatter)(i.content||""),c=o?.ticketType??(0,n.getTicketType)(d,u),p=await (0,I.getQueue)(),g=await p.send(I.QUEUE_NAMES.TASK_PROCESS,{taskId:e,userId:s,signal:"start",ticketType:c}),f=(0,$.createAdminDbClient)(),{error:m}=await f.from("tasks").update({status:"queued",blocked_reason:null,updated_at:new Date().toISOString()}).eq("id",e);if(m&&"42703"!==m.code)throw m;return{started:!!g,jobId:g,missingDependencies:[],ticketType:c}}async function A(e,t){let n=t||b.LOCAL_USER.id,a=(0,$.createAdminDbClient)(),r=a.from("tasks").select("id").contains("depends_on",[e]);t&&(r=r.eq("user_id",t));let{data:o,error:s}=await r,i=Array.isArray(o)?o.map(e=>e?.id).filter(Boolean):[];if(s&&"42703"===s.code){let n=a.from("tasks").select("id, content");t&&(n=n.eq("user_id",t));let{data:r}=await n;i=(Array.isArray(r)?r:[]).filter(t=>v(t).includes(e)).map(e=>e?.id).filter(Boolean)}i.length&&await Promise.all(i.map(e=>L(e,n)))}var j=e.i(930430);async function E(e){let t=(0,$.createAdminDbClient)();await t.from("tasks").update({stage:e.stage,status:"queued",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId)}async function R(e){let t=(0,$.createAdminDbClient)(),{data:n}=await t.from("tasks").select("stage_decisions").eq("id",e.taskId).eq("user_id",e.userId).maybeSingle(),a={...n?.stage_decisions&&"object"==typeof n.stage_decisions?n.stage_decisions:{},[e.stage]:{decision:e.decision.decision,rationale:e.decision.explanation,final_result:e.decision.final_result,decided_at:new Date().toISOString()}},{error:r}=await t.from("tasks").update({stage_decisions:a,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);if(r&&!function(e){if(!e||"object"!=typeof e)return!1;let t="code"in e?String(e.code):"",n="message"in e?String(e.message).toLowerCase():"";return("PGRST204"===t||"42703"===t)&&n.includes("stage_decisions")}(r))throw r}async function D(e){let n=await t.db.getTask(e.taskId,e.userId);if(!n)throw Error(`Task ${e.taskId} not found`);let r=n.stage||null,o=new Date().toISOString(),s={taskId:e.taskId,userId:e.userId,title:n.title||null,slug:n.slug||null,timestamp:o},{frontmatter:i,body:l}=(0,a.parseFrontmatter)(n.content),d=y({defaultUserId:e.userId,frontmatter:i});i.stage=e.nextStage,i.status=e.nextStatus,e.error?i.error=e.error:"error"in i&&delete i.error;let u=T(i,l);await t.db.updateTask(e.taskId,u,e.userId);let c=(0,$.createAdminDbClient)(),{error:p}=await c.from("tasks").update({stage:e.nextStage,status:e.nextStatus,retry_count:e.retryCount,error:e.error,updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId);p?console.error(`[applyStageTransition] direct update failed for ${e.taskId}:`,p):console.log(`[applyStageTransition] set ${e.taskId} to status=${e.nextStatus}, stage=${e.nextStage}`),"completed"===e.nextStatus&&(await c.from("tasks").update({completed_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),await A(e.taskId,e.userId)),("completed"===e.nextStatus||"failed"===e.nextStatus)&&(w(e.taskId,d,{goal:String(n.content||n.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Memory extraction failed:",e)),x(e.taskId,n.project_id||n.project,{goal:String(n.content||n.title||""),status:String(e.nextStatus)}).catch(e=>console.warn("[applyStageTransition] Project knowledge extraction failed:",e))),"blocked"!==e.nextStatus&&"failed"!==e.nextStatus&&(0,j.notifyTaskEvent)({...s,eventType:"task.stage_complete",stage:r,previousStage:r,nextStage:e.nextStage,status:e.nextStatus,details:{nextStatus:e.nextStatus}}),"completed"===e.nextStatus&&(0,j.notifyTaskEvent)({...s,eventType:"task.completed",stage:e.nextStage,status:e.nextStatus,details:{previousStage:r,nextStage:e.nextStage}}),"failed"===e.nextStatus&&(0,j.notifyTaskEvent)({...s,eventType:"task.failed",stage:e.nextStage,status:e.nextStatus,error:e.error,details:{previousStage:r}})}async function q(e){await t.db.addTaskLog(e.taskId,e.content,e.logType)}async function P(e){await t.db.addTaskComment(e.taskId,e.content,e.authorType||"agent")}async function B(e){let n=await t.db.getTask(e.taskId,e.userId);if(!n)return;let{frontmatter:r,body:o}=(0,a.parseFrontmatter)(n.content),s=y({defaultUserId:e.userId,frontmatter:r});r.status="failed",r.error=e.reason||"Cancelled";let i=T(r,o);await t.db.updateTask(e.taskId,i,e.userId),await t.db.addTaskLog(e.taskId,e.reason||"Task cancelled","error"),w(e.taskId,s,{goal:String(n.content||n.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Memory extraction failed:",e)),x(e.taskId,n.project_id||n.project,{goal:String(n.content||n.title||""),status:"failed"}).catch(e=>console.warn("[markCancelled] Project knowledge extraction failed:",e));let l=(0,$.createAdminDbClient)();await l.from("tasks").update({status:"failed",error:e.reason||"Cancelled",updated_at:new Date().toISOString()}).eq("id",e.taskId).eq("user_id",e.userId),(0,j.notifyTaskEvent)({taskId:e.taskId,userId:e.userId,eventType:"task.failed",title:n.title||null,slug:n.slug||null,stage:n.stage||null,status:"failed",error:e.reason||"Cancelled",timestamp:new Date().toISOString(),details:{previousStage:n.stage||null}})}async function W(e){let{taskId:n,userId:a,signal:r,payload:o,ticketType:s="task"}=e.data,i=await t.db.getTask(n,a);if(!i)return void console.log(`[processor] Task ${n} not found, skipping`);if("completed"===i.status||"failed"===i.status)return void console.log(`[processor] Task ${n} is ${i.status}, skipping`);let l=i.stage;switch(r){case"start":await J(n,l,a);break;case"agentResult":await K(n,l,a,o,s,i.retry_count||0,i.workflow_id&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(i.workflow_id)?i.workflow_id:null);break;case"humanInput":await M(n,o);break;case"daemonStep":await U(n,o);break;case"cancel":await F(n,a,o?.reason);break;default:console.warn(`[processor] Unknown signal: ${r}`)}}async function G(e){for(let t of e)try{await W(t)}catch(e){throw console.error(`[processor] Error processing job ${t.id}:`,e),e}}async function J(e,t,n){console.log(`[processor] Starting task ${e} at stage ${t}`),await E({taskId:e,stage:t,userId:n}),await q({taskId:e,content:`Task started at stage: ${t}`,logType:"system"})}async function K(e,t,a,r,o,s,i=null){let l,d,u;console.log(`[processor] Processing agent result for ${e}: ${r.decision}`),await R({taskId:e,stage:t,decision:r,userId:a});let c=Array.isArray(r.comments)?r.comments.map(e=>String(e||"").trim()).filter(Boolean):[],p=String(r.comment||r.log||r.final_result||"").trim();for(let t of c.length>0?c:p.split("\n").map(e=>e.trim()).filter(Boolean))await P({taskId:e,content:t,authorType:"agent"});let g=null,f=null;if(i){let e=await (0,n.resolveWorkflowTransition)({workflowId:i,currentNodeName:t,decision:r.decision,retryCount:s,maxRetries:3});l=e.nextNodeName,d=e.nextStatus,u=e.retryCount,g=e.error,f=e.appendLog,console.log(`[processor] Workflow transition: ${t} -> ${l} (workflow: ${i})`)}else{let e=(0,n.resolveStageTransition)({currentStage:t,decision:r.decision,ticketType:o,retryCount:s,maxRetries:3});l=e.nextStage,d=e.nextStatus,u=e.retryCount,g=e.error,f=e.appendLog}if(await D({taskId:e,nextStage:l,nextStatus:d,retryCount:u,error:g?r.explanation||g:null,userId:a}),f){let t="error"===f.logType&&r.explanation||"system"===f.logType&&r.explanation?r.explanation:f.content;await q({taskId:e,content:t,logType:f.logType})}console.log(`[processor] Task ${e} transitioned: ${t} -> ${l}`)}async function M(e,t){console.log(`[processor] Recording human input for ${e}`),await P({taskId:e,content:t.content,authorType:t.authorType||"user"})}async function U(e,t){let n=t.provider?` provider=${t.provider}`:"",a=t.model?` model=${t.model}`:"",r=t.role?` role=${t.role}`:"",o="number"==typeof t.iteration?` iter=${t.iteration}`:"",s="exit"===t.phase?` exit=${t.exit_code}`:"",i=t.error?` error=${t.error}`:"",l=Array.isArray(t.args)?t.args.join(" "):"",d=t.stdout_tail?`
48
+ stdout_tail:
49
+ ${t.stdout_tail}`:"",u=t.stderr_tail?`
50
+ stderr_tail:
51
+ ${t.stderr_tail}`:"",c=`[execution/${t.kind||"daemon"}] ${t.phase||"event"} ${t.label||""}${n}${a}${r}${o}${s}${i}`.trim()+(l?`
52
+ args: ${l}`:"")+(t.duration_ms?`
53
+ duration_ms: ${t.duration_ms}`:"")+d+u;await q({taskId:e,content:c,logType:"system"})}async function F(e,t,n){console.log(`[processor] Cancelling task ${e}: ${n||"No reason"}`),await B({taskId:e,reason:n,userId:t})}e.s(["taskProcessor",0,G],389344)}];
54
+
55
+ //# sourceMappingURL=apps_local_lib_0ik933l._.js.map
@@ -0,0 +1,79 @@
1
+ module.exports=[828549,e=>{"use strict";var t=e.i(623775),r=e.i(633211);class a extends Error{constraint;detail;constructor(e,t){super(e),this.name="ConflictError",this.constraint=t?.constraint,this.detail=t?.detail}}class n extends Error{code;constructor(e,t){super(e),this.name="RetryableError",this.code=t}}class s extends Error{expectedVersion;actualVersion;entityId;entityType;constructor(e,t,r,a){super(void 0!==a?`Concurrent modification on ${e} ${t}: expected version ${r}, found ${a}`:`Concurrent modification on ${e} ${t}: expected version ${r}, row not updated`),this.name="ConcurrentModificationError",this.entityType=e,this.entityId=t,this.expectedVersion=r,this.actualVersion=a}}function o(e){if(!(e instanceof Error))throw e;let t=e.code??"",r=e.message??"";if("SQLITE_CONSTRAINT_UNIQUE"===t||"SQLITE_CONSTRAINT_PRIMARYKEY"===t||"SQLITE_CONSTRAINT"===t&&(r.includes("UNIQUE")||r.includes("PRIMARY KEY"))||r.includes("UNIQUE constraint failed")||r.includes("PRIMARY KEY constraint failed")){let e=r.match(/(?:UNIQUE|PRIMARY KEY) constraint failed: (.+)/);throw new a(r,{constraint:e?.[1],detail:r})}if("SQLITE_BUSY"===t||"SQLITE_LOCKED"===t||r.includes("database is locked"))throw new n(r,t||"SQLITE_BUSY");throw e}async function i(e){try{return await e()}catch(e){if(e instanceof a||e instanceof n||e instanceof s)throw e;o(e)}}e.s(["SQLiteAdapter",0,class{async transaction(e){let t=(0,r.getSQLiteDb)();t.exec("BEGIN IMMEDIATE");try{let r=await e(t);return t.exec("COMMIT"),r}catch(e){try{t.exec("ROLLBACK")}catch{}if(e instanceof a||e instanceof n||e instanceof s)throw e;o(e)}}getTasks(e,r){return t.getTasks(e,r)}getTask(e,r){return t.getTask(e,r)}getTaskBySlug(e,r){return t.getTaskBySlug(e,r)}createTask(e,r,a){return i(()=>t.createTask(e,r,a))}async updateTask(e,a,n,o){let l=o?.expectedVersion;if(void 0!==l){let u=(0,r.getSQLiteDb)();if(0===u.prepare("UPDATE tasks SET version = version + 1 WHERE id = ? AND version = ?").run(e,l).changes){let t=u.prepare("SELECT version FROM tasks WHERE id = ?").get(e);throw new s("task",e,l,t?.version)}let{expectedVersion:d,...c}=o??{};return i(()=>t.updateTask(e,a,n,c))}return(0,r.getSQLiteDb)().prepare("UPDATE tasks SET version = version + 1 WHERE id = ?").run(e),i(()=>t.updateTask(e,a,n,o))}appendRunToIndex(e,r,a){return t.appendRunToIndex(e,r,a)}deleteTask(e,r){return i(()=>t.deleteTask(e,r))}getNextQueuedTask(e){return t.getNextQueuedTask(e)}ensureNoCircularDependency(e,r,a){return t.ensureNoCircularDependency(e,r,a)}getProjects(e,r){return t.getProjects(e,r)}getProjectBySlug(e,r){return t.getProjectBySlug(e,r)}getProjectRepos(e){return t.getProjectRepos(e)}getProjectWithRepos(e,r){return t.getProjectWithRepos(e,r)}createProject(e,r,a){return i(()=>t.createProject(e,r,a))}updateProject(e,r,a,n){return t.updateProject(e,r,a,n)}deleteProject(e,r,a){return i(()=>t.deleteProject(e,r,a))}assignOrphanTasksToProject(e,r,a){return t.assignOrphanTasksToProject(e,r,a)}getWorkflows(e){return t.getWorkflows(e)}getWorkflow(e,r){return t.getWorkflow(e,r)}updateWorkflow(e,r,a){return t.updateWorkflow(e,r,a)}getWorkflowNodes(e){return t.getWorkflowNodes(e)}updateWorkflowNodes(e,r,a){return t.updateWorkflowNodes(e,r,a)}getWorkflowNodeByName(e,r){return t.getWorkflowNodeByName(e,r)}getWorkflowTransitions(e){return t.getWorkflowTransitions(e)}getWorkflowTransitionsFromNode(e,r){return t.getWorkflowTransitionsFromNode(e,r)}getWorkflowWithGraph(e,r){return t.getWorkflowWithGraph(e,r)}getTaskLogs(e,r){return t.getTaskLogs(e,r)}addTaskLog(e,r,a,n){return i(()=>t.addTaskLog(e,r,a,n))}addTaskCostEntry(e){return i(()=>t.addTaskCostEntry(e))}getTaskCostEntries(e){return t.getTaskCostEntries(e)}getTaskCostSummary(e){return t.getTaskCostSummary(e)}getTaskComments(e){return t.getTaskComments(e)}addTaskComment(e,r,a,n){return i(()=>t.addTaskComment(e,r,a,n))}deleteTaskComment(e,r){return i(()=>t.deleteTaskComment(e,r))}getLearnings(e,r,a){return t.getLearnings(e,r,a)}addLearning(e,r,a,n){return i(()=>t.addLearning(e,r,a,n))}deleteLearning(e,r){return i(()=>t.deleteLearning(e,r))}getStagePrompts(e,r){return t.getStagePrompts(e,r)}getStagePrompt(e,r,a){return t.getStagePrompt(e,r,a)}upsertStagePrompt(e,r,a,n,s,o){return i(()=>t.upsertStagePrompt(e,r,a,n,s,o))}deleteStagePrompt(e,r){return t.deleteStagePrompt(e,r)}getAgents(e){return t.getAgents(e)}getAgent(e,r){return t.getAgent(e,r)}createAgent(e,r){return i(()=>t.createAgent(e,r))}updateAgent(e,r,a){return t.updateAgent(e,r,a)}deleteAgent(e,r){return t.deleteAgent(e,r)}getProjectAgents(e){return t.getProjectAgents(e)}addProjectAgent(e,r,a){return i(()=>t.addProjectAgent(e,r,a))}removeProjectAgent(e,r){return t.removeProjectAgent(e,r)}reorderProjectAgents(e,r){return t.reorderProjectAgents(e,r)}getTeams(e){return t.getTeams(e)}getTeam(e){return t.getTeam(e)}createTeam(e,r,a,n){return i(()=>t.createTeam(e,r,a,n))}updateTeam(e,r){return t.updateTeam(e,r)}deleteTeam(e){return t.deleteTeam(e)}getTeamAgents(e){return t.getTeamAgents(e)}addTeamAgent(e,r,a,n){return i(()=>t.addTeamAgent(e,r,a,n))}removeTeamAgent(e,r){return t.removeTeamAgent(e,r)}getProjectSkills(e){return t.getProjectSkills(e)}addProjectSkill(e,r,a){return i(()=>t.addProjectSkill(e,r,a))}removeProjectSkill(e){return t.removeProjectSkill(e)}getProjectVariables(e){return t.getProjectVariables(e)}setProjectVariable(e,r,a){return i(()=>t.setProjectVariable(e,r,a))}deleteProjectVariable(e,r){return t.deleteProjectVariable(e,r)}getProjectMemory(e,r){return t.getProjectMemory(e,r)}addProjectMemory(e,r,a,n){return i(()=>t.addProjectMemory(e,r,a,n))}deleteProjectMemory(e){return t.deleteProjectMemory(e)}getProjectThreads(e){return t.getProjectThreads(e)}addProjectThread(e,r){return i(()=>t.addProjectThread(e,r))}removeProjectThread(e,r){return t.removeProjectThread(e,r)}getProjectForThread(e){return t.getProjectForThread(e)}getUserSettings(e){return t.getUserSettings(e)}upsertUserSettings(e,r,a){return i(()=>t.upsertUserSettings(e,r,a))}async healthCheck(){let e=performance.now();try{return(0,r.getSQLiteDb)().prepare("SELECT 1").get(),{adapter:"sqlite",connected:!0,latencyMs:Math.round(performance.now()-e)}}catch{return{adapter:"sqlite",connected:!1,latencyMs:Math.round(performance.now()-e)}}}}],828549)},929160,e=>{"use strict";let t=function(){let{SQLiteAdapter:t}=e.r(828549);return new t}();e.s(["db",0,t])},796283,e=>{"use strict";e.s(["BASH_FUNCTION_TIMEOUT_MS",0,3e4,"CHECK_NPM_BUILD_TIMEOUT_MS",0,6e5,"CHECK_NPM_COVERAGE_TIMEOUT_MS",0,3e5,"CHECK_NPM_LINT_TIMEOUT_MS",0,6e4,"CHECK_NPM_TEST_TIMEOUT_MS",0,3e5,"CHECK_NPM_TYPECHECK_TIMEOUT_MS",0,12e4,"GRAPH_TIMEOUT_DEFAULT_MS",0,864e5,"NODE_TIMEOUT_DEFAULT_MS",0,18e5,"PS_COMMAND_TIMEOUT_MS",0,5e3,"QUEUE_POLL_INTERVAL_MS",0,1e3,"SCHEDULE_POLL_INTERVAL_MS",0,5e3,"SHELL_COMMAND_TIMEOUT_MS",0,5e3,"SKILLS_CACHE_TTL_MS",0,36e5,"SKILL_DETAIL_CACHE_TTL_MS",0,36e5,"SKILL_FETCH_TIMEOUT_MS",0,12e4,"STEER_DUPLICATE_WINDOW_MS",0,9e5,"WRITE_RATE_SAMPLE_WINDOW_MS",0,1e4,"WRITE_RATE_WARNING_COOLDOWN_MS",0,6e4])},801243,e=>{"use strict";e.s(["pragmaAll",0,function(e,t){return e.prepare(`PRAGMA ${t}`).all()},"pragmaGet",0,function(e,t){let r=e.prepare(`PRAGMA ${t}`).get();if(!r)return;let a=Object.values(r);return a.length>0?a[0]:void 0},"pragmaSet",0,function(e,t){e.exec(`PRAGMA ${t}`)},"transaction",0,function(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}},"transactionFn",0,function(e,t){return(...r)=>{e.exec("BEGIN");try{let a=t(...r);return e.exec("COMMIT"),a}catch(t){throw e.exec("ROLLBACK"),t}}}])},610613,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(801243),r=e.i(522734),a=e.i(446786),n=e.i(814747);let s="3.35.0",o=["json1"],i=["fts5"],l=["nfs","smb","cifs","efs","fuse.sshfs"];function u(e,t){try{if("json1"===t)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===t)return e.exec("CREATE VIRTUAL TABLE IF NOT EXISTS _fts5_check USING fts5(x)"),e.exec("DROP TABLE IF EXISTS _fts5_check"),!0;return!1}catch{return!1}}e.s(["validateSQLiteEnvironment",0,function(d,c){let g=[],E=d.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,t){let r=e.split(".").map(Number),a=t.split(".").map(Number);for(let e=0;e<3;e++){let t=(r[e]||0)-(a[e]||0);if(0!==t)return t}return 0}(E.v,s)&&g.push({kind:"version_mismatch",message:`SQLite version ${E.v} is below minimum ${s}`,found:E.v,required:`>= ${s}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),o))u(d,e)||g.push({kind:"missing_extension",message:`Required SQLite extension '${e}' is not available`,required:e,fix:`Rebuild SQLite with -DSQLITE_ENABLE_${e.toUpperCase()}=1, or use a system SQLite that includes it`});for(let e of i)u(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let T=function(t){"linux"!==a.default.platform()&&a.default.platform();try{let s=n.default.resolve(t),{execSync:o}=e.r(233405);if("darwin"===a.default.platform());else{let e=r.default.readFileSync("/proc/mounts","utf-8"),t="",a="unknown";for(let r of e.split("\n")){let[,e,n]=r.split(/\s+/);e&&s.startsWith(e)&&e.length>t.length&&(t=e,a=n||"unknown")}return a}}catch{}return null}(c);T&&l.some(e=>T.toLowerCase().includes(e))&&g.push({kind:"filesystem_error",message:`Database path '${c}' is on a network filesystem (${T})`,path:c,found:T,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(d,"journal_mode = wal"),(0,t.pragmaSet)(d,"foreign_keys = 1"),(0,t.pragmaSet)(d,"busy_timeout = 5000"),(0,t.pragmaSet)(d,"synchronous = 1"),(0,t.pragmaSet)(d,"cache_size = -64000");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(d,"journal_mode = DELETE");let e=(0,t.pragmaGet)(d,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(d,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):g.push({kind:"pragma_error",message:`Failed to set journal_mode (got '${e}', tried WAL then DELETE)`,found:e,required:"wal or delete",fix:"Ensure the database file is on a local filesystem and no other process holds an exclusive lock."})}}catch(e){g.push({kind:"pragma_error",message:`Failed to apply required PRAGMAs: ${e.message}`,fix:"Check file permissions and ensure the database is not read-only."})}return g}])},476805,e=>{"use strict";var t=e.i(341902);e.s(["listKnowledgeEntries",0,function(e){return t.vaultStore.listKnowledgeEntries(e)},"storeKnowledgeEntries",0,function(e){return t.vaultStore.storeKnowledgeEntries(e)}])},295851,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),r=e.i(801243),a=e.i(666680);let n={randomUUID:a.randomUUID},s=new Uint8Array(256),o=s.length,i=[];for(let e=0;e<256;++e)i.push((e+256).toString(16).slice(1));let l=function(e,t,r){if(n.randomUUID&&!t&&!e)return n.randomUUID();var l=e,u=r;let d=(l=l||{}).random??l.rng?.()??(o>s.length-16&&((0,a.randomFillSync)(s),o=0),s.slice(o,o+=16));if(d.length<16)throw Error("Random bytes length must be >= 16");if(d[6]=15&d[6]|64,d[8]=63&d[8]|128,t){if((u=u||0)<0||u+16>t.length)throw RangeError(`UUID byte range ${u}:${u+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[u+e]=d[e];return t}return function(e,t=0){return(i[e[t+0]]+i[e[t+1]]+i[e[t+2]]+i[e[t+3]]+"-"+i[e[t+4]]+i[e[t+5]]+"-"+i[e[t+6]]+i[e[t+7]]+"-"+i[e[t+8]]+i[e[t+9]]+"-"+i[e[t+10]]+i[e[t+11]]+i[e[t+12]]+i[e[t+13]]+i[e[t+14]]+i[e[t+15]]).toLowerCase()}(d)};var u=e.i(814747),d=e.i(522734),c=e.i(446786),g=e.i(610613),E=e.i(796283);process.env.AGX_MAX_WORKERS;class T{timestamps=[];lastWarning=0;WARNING_COOLDOWN_MS=E.WRITE_RATE_WARNING_COOLDOWN_MS;record(){this.timestamps.push(Date.now())}check(){let e=Date.now(),t=e-E.WRITE_RATE_SAMPLE_WINDOW_MS;this.timestamps=this.timestamps.filter(e=>e>=t);let r=this.timestamps.length/(E.WRITE_RATE_SAMPLE_WINDOW_MS/1e3),a=r>=40;return a&&e-this.lastWarning>this.WARNING_COOLDOWN_MS&&(this.lastWarning=e,console.warn(`[limits] Write QPS at ${r.toFixed(1)} — approaching ceiling of 50. See docs/LIMITS.md for mitigation steps.`)),{qps:r,warning:a}}}var p=e.i(47973);let _=process.env.AGX_DATA_DIR||u.default.join(c.default.homedir(),".agx");function m(){let e=Number(process.env.AGX_QUEUE_STALE_MS);return Number.isFinite(e)&&e>0?e:6e5}class f{db;workers=new Map;pollingInterval=null;writeRateInterval=null;writeMonitor=new T;workerId;constructor(e){this.workerId=l();const r=e||process.env.SQLITE_QUEUE_PATH||u.default.join(_,"agx-queue.db"),a=u.default.dirname(r);d.default.existsSync(a)||d.default.mkdirSync(a,{recursive:!0}),this.db=new t.DatabaseSync(r);const n=(0,g.validateSQLiteEnvironment)(this.db,r);if(n.length>0){const e=n.map(e=>e.message).join("; ");console.error(`[SQLiteQueueAdapter] Startup validation failed: ${e}`)}}async start(){this.initSchema(),this.startPolling()}async stop(){this.stopPolling(),this.db.close()}initSchema(){this.db.exec(`
2
+ CREATE TABLE IF NOT EXISTS agx_jobs (
3
+ id TEXT PRIMARY KEY,
4
+ queue TEXT NOT NULL,
5
+ data TEXT NOT NULL,
6
+ status TEXT NOT NULL CHECK(status IN ('pending', 'active', 'completed', 'failed', 'retry')),
7
+ created_at INTEGER NOT NULL,
8
+ start_after INTEGER NOT NULL DEFAULT 0,
9
+ started_at INTEGER,
10
+ completed_at INTEGER,
11
+ failed_at INTEGER,
12
+ worker_id TEXT,
13
+ retry_count INTEGER DEFAULT 0,
14
+ retry_limit INTEGER DEFAULT 0,
15
+ priority INTEGER DEFAULT 0,
16
+ error TEXT
17
+ );
18
+ CREATE INDEX IF NOT EXISTS idx_jobs_fetch ON agx_jobs (queue, status, start_after, priority DESC, created_at ASC);
19
+ `);let e=new Set((0,r.pragmaAll)(this.db,"table_info(agx_jobs)").map(e=>e.name));e.has("failed_at")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN failed_at INTEGER"),e.has("error")||this.db.exec("ALTER TABLE agx_jobs ADD COLUMN error TEXT")}async send(e,t,r){let a=l(),n=Date.now(),s=r?.startAfter?r.startAfter instanceof Date?r.startAfter.getTime():r.startAfter:n;return this.db.prepare(`
20
+ INSERT INTO agx_jobs (
21
+ id, queue, data, status, created_at, start_after, retry_limit, priority
22
+ ) VALUES (?, ?, ?, 'pending', ?, ?, ?, ?)
23
+ `).run(a,e,JSON.stringify(t),n,s,r?.retryLimit??3,r?.priority??0),this.writeMonitor.record(),(0,p.writeDebugLog)("queue.send",{queue:e,jobId:a,startAfter:s,retryLimit:r?.retryLimit??3,priority:r?.priority??0,data:t}),a}async work(e,t,r){(0,p.writeDebugLog)("queue.worker.register",{queue:e,batchSize:r?.batchSize??1,pollInterval:r?.pollInterval??null,workerId:this.workerId}),this.workers.set(e,{handler:t,options:r||{},running:!0})}startPolling(){this.pollingInterval||(this.pollingInterval=setInterval(()=>this.poll(),E.QUEUE_POLL_INTERVAL_MS),this.writeRateInterval=setInterval(()=>this.writeMonitor.check(),E.WRITE_RATE_SAMPLE_WINDOW_MS))}stopPolling(){this.pollingInterval&&(clearInterval(this.pollingInterval),this.pollingInterval=null),this.writeRateInterval&&(clearInterval(this.writeRateInterval),this.writeRateInterval=null)}poll(){for(let[e,t]of this.workers)t.running&&this.processQueue(e,t)}processQueue(e,t){let a=t.options.batchSize||1,n=Date.now(),s=n-m(),o=(0,r.transaction)(this.db,()=>{let t=this.reapStaleJobs(e,n,s);t.length>0&&(0,p.writeDebugLog)("queue.reap_stale",{queue:e,workerId:this.workerId,staleBefore:s,jobs:t});let r=this.db.prepare(`
24
+ SELECT id, data FROM agx_jobs
25
+ WHERE queue = ?
26
+ AND (status = 'pending' OR status = 'retry')
27
+ AND start_after <= ?
28
+ ORDER BY priority DESC, created_at ASC
29
+ LIMIT ?
30
+ `).all(e,n,a);if(0===r.length)return[];let o=r.map(e=>e.id),i=this.db.prepare(`
31
+ UPDATE agx_jobs
32
+ SET status = 'active', started_at = ?, worker_id = ?
33
+ WHERE id = ?
34
+ `);for(let e of o)i.run(n,this.workerId,e);return r.map(t=>({id:t.id,name:e,data:JSON.parse(t.data)}))});o.length>0&&((0,p.writeDebugLog)("queue.claim",{queue:e,workerId:this.workerId,jobIds:o.map(e=>e.id)}),this.executeJobs(o,t.handler))}async executeJobs(e,t){try{await t(e),this.completeJobs(e.map(e=>e.id)),(0,p.writeDebugLog)("queue.complete",{jobIds:e.map(e=>e.id)})}catch(t){this.failJobs(e.map(e=>e.id),t.message||String(t)),(0,p.writeDebugLog)("queue.fail",{jobIds:e.map(e=>e.id),error:t})}}completeJobs(e){let t=Date.now(),a=this.db.prepare(`
35
+ UPDATE agx_jobs
36
+ SET status = 'completed', completed_at = ?, worker_id = NULL
37
+ WHERE id = ?
38
+ `);(0,r.transaction)(this.db,()=>{for(let r of e)a.run(t,r)})}failJobs(e,t){let a=Date.now(),n=this.db.prepare(`
39
+ SELECT id, retry_count, retry_limit FROM agx_jobs WHERE id = ?
40
+ `),s=this.db.prepare(`
41
+ UPDATE agx_jobs
42
+ SET status = 'retry', retry_count = retry_count + 1,
43
+ start_after = ? + (retry_count * 1000 * 2), -- Exponential backoff (kinda)
44
+ started_at = NULL,
45
+ worker_id = NULL,
46
+ error = ?
47
+ WHERE id = ?
48
+ `),o=this.db.prepare(`
49
+ UPDATE agx_jobs
50
+ SET status = 'failed', failed_at = ?, started_at = NULL, worker_id = NULL, error = ?
51
+ WHERE id = ?
52
+ `);(0,r.transaction)(this.db,()=>{for(let r of e){let e=n.get(r);if(e&&e.retry_count<e.retry_limit){let n=(e.retry_count+1)*2e3;s.run(a+n,t,r)}else o.run(a,t,r)}})}reapStaleJobs(e,t,r){let a=this.db.prepare(`
53
+ SELECT id, retry_count, retry_limit
54
+ FROM agx_jobs
55
+ WHERE queue = ?
56
+ AND status = 'active'
57
+ AND started_at IS NOT NULL
58
+ AND started_at <= ?
59
+ ORDER BY started_at ASC
60
+ `).all(e,r);if(0===a.length)return[];let n=this.db.prepare(`
61
+ UPDATE agx_jobs
62
+ SET status = 'retry',
63
+ retry_count = retry_count + 1,
64
+ start_after = ?,
65
+ started_at = NULL,
66
+ worker_id = NULL,
67
+ error = ?
68
+ WHERE id = ?
69
+ `),s=this.db.prepare(`
70
+ UPDATE agx_jobs
71
+ SET status = 'failed',
72
+ failed_at = ?,
73
+ started_at = NULL,
74
+ worker_id = NULL,
75
+ error = ?
76
+ WHERE id = ?
77
+ `),o=[];for(let e of a){let r=`Job exceeded active timeout of ${m()}ms`;e.retry_count<e.retry_limit?(n.run(t,r,e.id),o.push({id:e.id,fromStatus:"active",toStatus:"retry",retryCount:e.retry_count+1})):(s.run(t,r,e.id),o.push({id:e.id,fromStatus:"active",toStatus:"failed",retryCount:e.retry_count}))}return o}}let h=null;async function S(){return h||(h=new f,await h.start()),h}e.s(["QUEUE_NAMES",0,{TASK_PROCESS:"agx.task.process",CHAT_RUN_PROCESS:"agx.chat.process",TASK_CLEANUP:"agx.task.cleanup"},"getQueue",0,S],295851)}];
78
+
79
+ //# sourceMappingURL=apps_local_lib_0o1v.j4._.js.map