@mndrk/agx 2.0.46 → 2.0.47

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 (430) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
  4. package/cloud-runtime/standalone/.next/prerender-manifest.json +27 -3
  5. package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
  6. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  15. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  16. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  27. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  28. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  29. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  30. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  31. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  32. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  34. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
  35. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
  37. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
  39. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +2 -2
  41. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/context/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/linear/issues/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js +5 -2
  54. package/cloud-runtime/standalone/.next/server/app/api/linear/options/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/.next/server/app/api/linear/status/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +1 -1
  57. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  58. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  59. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +1 -1
  61. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  63. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  65. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  67. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  73. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  75. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  77. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -1
  93. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -1
  95. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -1
  99. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +1 -1
  105. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +1 -1
  107. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
  109. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  111. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +1 -1
  113. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  115. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  117. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  119. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  121. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  123. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  125. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
  151. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +1 -1
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +1 -1
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +1 -1
  159. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +1 -1
  161. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  163. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  165. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  167. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  168. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  169. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  171. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  172. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  173. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  175. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  176. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  177. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  178. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  179. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  180. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  181. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  183. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  185. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +2 -2
  186. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +2 -2
  187. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  189. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  190. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
  191. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/folders/page/app-paths-manifest.json +3 -0
  193. package/cloud-runtime/standalone/.next/server/app/folders/page/build-manifest.json +18 -0
  194. package/cloud-runtime/standalone/.next/server/app/folders/page/next-font-manifest.json +11 -0
  195. package/cloud-runtime/standalone/.next/server/app/folders/page/react-loadable-manifest.json +1 -0
  196. package/cloud-runtime/standalone/.next/server/app/folders/page/server-reference-manifest.json +4 -0
  197. package/cloud-runtime/standalone/.next/server/app/folders/page.js +15 -0
  198. package/cloud-runtime/standalone/.next/server/app/folders/page.js.map +5 -0
  199. package/cloud-runtime/standalone/.next/server/app/folders/page.js.nft.json +1 -0
  200. package/cloud-runtime/standalone/.next/server/app/folders/page_client-reference-manifest.js +2 -0
  201. package/cloud-runtime/standalone/.next/server/app/folders.html +21 -0
  202. package/cloud-runtime/standalone/.next/server/app/folders.meta +15 -0
  203. package/cloud-runtime/standalone/.next/server/app/folders.rsc +24 -0
  204. package/cloud-runtime/standalone/.next/server/app/folders.segments/_full.segment.rsc +24 -0
  205. package/cloud-runtime/standalone/.next/server/app/folders.segments/_head.segment.rsc +5 -0
  206. package/cloud-runtime/standalone/.next/server/app/folders.segments/_index.segment.rsc +10 -0
  207. package/cloud-runtime/standalone/.next/server/app/folders.segments/_tree.segment.rsc +5 -0
  208. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders/__PAGE__.segment.rsc +9 -0
  209. package/cloud-runtime/standalone/.next/server/app/folders.segments/folders.segment.rsc +4 -0
  210. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  211. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  212. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  213. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  214. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  215. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  216. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  217. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  218. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  219. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -1
  220. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +1 -1
  221. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  222. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  223. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  224. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  225. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page.js.nft.json +1 -1
  226. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/linear/page_client-reference-manifest.js +1 -1
  227. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  229. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  230. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  233. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  234. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
  235. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
  236. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  237. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  238. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  239. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  244. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  245. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  246. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  247. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  248. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  249. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  250. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  251. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  253. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  254. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  255. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  256. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  257. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  258. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  259. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  260. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/skills.html +2 -2
  263. package/cloud-runtime/standalone/.next/server/app/skills.rsc +2 -2
  264. package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +2 -2
  265. package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  266. package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  267. package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  268. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
  269. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  270. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  271. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  272. package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
  273. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
  274. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  275. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  276. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  277. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  278. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  279. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  280. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  281. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  282. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  283. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  284. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  285. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  286. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  287. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  288. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  289. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  290. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  291. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
  292. package/cloud-runtime/standalone/.next/server/chunks/{[externals]__31e26905._.js → [externals]__7b4c6b2b._.js} +1 -1
  293. package/cloud-runtime/standalone/.next/server/chunks/[externals]__a21cc96d._.js +3 -0
  294. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5aaf8c25._.js → [root-of-the-server]__143fdf69._.js} +2 -2
  295. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__74a37ca4._.js → [root-of-the-server]__158df4bf._.js} +2 -2
  296. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c029daab._.js → [root-of-the-server]__179cb224._.js} +2 -2
  297. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3fd3c5b1._.js → [root-of-the-server]__1a1f66b1._.js} +2 -2
  298. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20a2cb22._.js +150 -0
  299. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d2ac93f2._.js → [root-of-the-server]__23b075bd._.js} +2 -2
  300. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3bf516b6._.js → [root-of-the-server]__3170b7bf._.js} +2 -2
  301. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__558389f7._.js → [root-of-the-server]__33865410._.js} +2 -2
  302. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4c2d07e0._.js → [root-of-the-server]__36d15de5._.js} +2 -2
  303. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3fae531a._.js +89 -0
  304. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__76658fd6._.js → [root-of-the-server]__4cb22e4d._.js} +2 -2
  305. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ebece93b._.js → [root-of-the-server]__4ce74056._.js} +2 -2
  306. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__635fe0f9._.js → [root-of-the-server]__538b0bdd._.js} +2 -2
  307. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__3b1431b6._.js → [root-of-the-server]__5c55f67a._.js} +2 -2
  308. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e20922e8._.js → [root-of-the-server]__69a3c480._.js} +2 -2
  309. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__42804c1d._.js → [root-of-the-server]__6c53437e._.js} +1 -1
  310. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8cbd8c56._.js +79 -0
  311. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__92ed2961._.js +48 -0
  312. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__509b1dd2._.js → [root-of-the-server]__94499e9a._.js} +2 -2
  313. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ddb3aa76._.js → [root-of-the-server]__a280fa63._.js} +2 -2
  314. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__8c7d1318._.js → [root-of-the-server]__a2d31df1._.js} +2 -2
  315. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a3955224._.js +150 -0
  316. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4b0b5fe1._.js → [root-of-the-server]__a7b2350e._.js} +2 -2
  317. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5b13e7a5._.js → [root-of-the-server]__ab655b9f._.js} +2 -2
  318. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac6326b6._.js +106 -0
  319. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0284ea89._.js → [root-of-the-server]__b2748382._.js} +2 -2
  320. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e7be56ba._.js → [root-of-the-server]__b627cb83._.js} +2 -2
  321. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__0e98af48._.js → [root-of-the-server]__bab85495._.js} +63 -18
  322. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dca6026a._.js → [root-of-the-server]__c21747df._.js} +2 -2
  323. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c22dd3a6._.js +179 -0
  324. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8890cd6._.js +150 -0
  325. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__aad349b4._.js → [root-of-the-server]__ca4987eb._.js} +1 -1
  326. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__fcdaf6d8._.js → [root-of-the-server]__d16caed5._.js} +2 -2
  327. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1f53e82e._.js → [root-of-the-server]__d324f8a1._.js} +2 -2
  328. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6988985c._.js → [root-of-the-server]__da645a5e._.js} +2 -2
  329. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d4f42f49._.js → [root-of-the-server]__e58e9f91._.js} +2 -2
  330. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f4b3df16._.js +3 -0
  331. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c8195768._.js → [root-of-the-server]__f7f336c7._.js} +1 -1
  332. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcfa3690._.js +93 -0
  333. package/cloud-runtime/standalone/.next/server/chunks/_4d07f8db._.js +3 -0
  334. package/cloud-runtime/standalone/.next/server/chunks/lib_7f7835f1._.js +66 -21
  335. package/cloud-runtime/standalone/.next/server/chunks/lib_9f439b27._.js +61 -16
  336. package/cloud-runtime/standalone/.next/server/chunks/lib_f81d6da9._.js +70 -0
  337. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__4c9d0778._.js → [root-of-the-server]__01e1641e._.js} +2 -2
  338. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__21a9eaef._.js +3 -0
  339. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__4140bb73._.js +3 -0
  340. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ffbc2e98._.js → [root-of-the-server]__5e73414b._.js} +2 -2
  341. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__9ad05ace._.js +3 -0
  342. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a42e4555._.js → [root-of-the-server]__d96bb3b5._.js} +2 -2
  343. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ec81a3d9._.js +3 -0
  344. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1d949e96._.js +3 -0
  345. package/cloud-runtime/standalone/.next/server/chunks/ssr/_32a156b6._.js +3 -0
  346. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43c091dc._.js +3 -0
  347. package/cloud-runtime/standalone/.next/server/chunks/ssr/_45175f47._.js +3 -0
  348. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4f0c544d._.js +3 -0
  349. package/cloud-runtime/standalone/.next/server/chunks/ssr/_97f6a18e._.js +3 -0
  350. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_f51a3112._.js → _a511a014._.js} +2 -2
  351. package/cloud-runtime/standalone/.next/server/chunks/ssr/_b7009996._.js +3 -0
  352. package/cloud-runtime/standalone/.next/server/chunks/ssr/_c3a3a829._.js +3 -0
  353. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e70d5625._.js +4 -0
  354. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f53d31e0._.js +3 -0
  355. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_folders_page_actions_9c8dfb6c.js +3 -0
  356. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_linear_page_tsx_971a6ba7._.js +3 -3
  357. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +1 -1
  358. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  359. package/cloud-runtime/standalone/.next/server/instrumentation.js +1 -1
  360. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  361. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  362. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +4 -0
  363. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  364. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  365. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  366. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  367. package/cloud-runtime/standalone/.next/static/chunks/14fff3c493ea9c54.js +1 -0
  368. package/cloud-runtime/standalone/.next/static/chunks/1b808cdaa28a10b4.js +16 -0
  369. package/cloud-runtime/standalone/.next/static/chunks/{f4360c3e4089263f.js → 31fe4e36a00fd7b5.js} +1 -1
  370. package/cloud-runtime/standalone/.next/static/chunks/41c518743656a291.js +1 -0
  371. package/cloud-runtime/standalone/.next/static/chunks/{14922fd23cdc223b.js → 4343e7fe5bf5f34a.js} +1 -1
  372. package/cloud-runtime/standalone/.next/static/chunks/5405540470146645.js +1 -0
  373. package/cloud-runtime/standalone/.next/static/chunks/69f2db4b9996b9c1.js +37 -0
  374. package/cloud-runtime/standalone/.next/static/chunks/8aeb69ceb497ad85.css +1 -0
  375. package/cloud-runtime/standalone/.next/static/chunks/{1fa91c34c99502bf.js → 97c11137cd6fc860.js} +1 -1
  376. package/cloud-runtime/standalone/.next/static/chunks/baf5d39d089efb87.js +1 -0
  377. package/cloud-runtime/standalone/.next/static/chunks/c78969fde5798275.js +1 -0
  378. package/cloud-runtime/standalone/.next/static/chunks/d3dc6fadb96ab3a2.js +1 -0
  379. package/cloud-runtime/standalone/.next/static/chunks/{b3377e39d47c71cf.js → fdadad2379039dce.js} +1 -1
  380. package/cloud-runtime/standalone/app/api/linear/issues/route.ts +9 -2
  381. package/cloud-runtime/standalone/app/api/linear/options/route.ts +16 -4
  382. package/cloud-runtime/standalone/app/folders/page.tsx +318 -0
  383. package/cloud-runtime/standalone/components/LinearBoard.tsx +93 -7
  384. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +20 -10
  385. package/cloud-runtime/standalone/hooks/useLinearIssues.ts +7 -3
  386. package/cloud-runtime/standalone/instrumentation.ts +3 -0
  387. package/cloud-runtime/standalone/lib/cli-runner.ts +27 -6
  388. package/cloud-runtime/standalone/lib/linear-issue-store.ts +33 -5
  389. package/cloud-runtime/standalone/lib/scheduled-task-skill.ts +119 -0
  390. package/cloud-runtime/standalone/state/automations/.state/24a6a5db-3b14-49c4-841f-29f10f015fbb.json +3 -3
  391. package/cloud-runtime/standalone/state/linearBoardFilters.ts +90 -0
  392. package/cloud-runtime/standalone/worker/index.js +147 -28
  393. package/package.json +1 -1
  394. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b83b657._.js +0 -147
  395. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6921fe3f._.js +0 -44
  396. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__70327010._.js +0 -134
  397. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__748c718f._.js +0 -147
  398. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79fa35e4._.js +0 -101
  399. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8d205f82._.js +0 -48
  400. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a7e0ac67._.js +0 -25
  401. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b133856b._.js +0 -61
  402. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ce2a1672._.js +0 -67
  403. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +0 -25
  404. package/cloud-runtime/standalone/.next/server/chunks/_a93e80e8._.js +0 -3
  405. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1c4256ce._.js +0 -3
  406. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__f59f0dc7._.js +0 -3
  407. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1d26be78._.js +0 -3
  408. package/cloud-runtime/standalone/.next/server/chunks/ssr/_22e99a52._.js +0 -3
  409. package/cloud-runtime/standalone/.next/server/chunks/ssr/_260b10ce._.js +0 -3
  410. package/cloud-runtime/standalone/.next/server/chunks/ssr/_32c878b9._.js +0 -3
  411. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4bfdfb14._.js +0 -3
  412. package/cloud-runtime/standalone/.next/server/chunks/ssr/_52fe115d._.js +0 -3
  413. package/cloud-runtime/standalone/.next/server/chunks/ssr/_77e1407a._.js +0 -3
  414. package/cloud-runtime/standalone/.next/server/chunks/ssr/_84a166cb._.js +0 -3
  415. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ba5903a7._.js +0 -3
  416. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ed4fece9._.js +0 -3
  417. package/cloud-runtime/standalone/.next/static/chunks/2362d5c0dcaa5d64.js +0 -1
  418. package/cloud-runtime/standalone/.next/static/chunks/2730394502dd3664.js +0 -1
  419. package/cloud-runtime/standalone/.next/static/chunks/34dd491bc4ce9561.js +0 -1
  420. package/cloud-runtime/standalone/.next/static/chunks/37f07896b044d69f.css +0 -1
  421. package/cloud-runtime/standalone/.next/static/chunks/3dc50de1c86e1ce9.js +0 -1
  422. package/cloud-runtime/standalone/.next/static/chunks/4ea8f08087116055.js +0 -1
  423. package/cloud-runtime/standalone/.next/static/chunks/98c20da4973991f0.js +0 -1
  424. package/cloud-runtime/standalone/.next/static/chunks/a72fbac84e32f665.js +0 -1
  425. package/cloud-runtime/standalone/.next/static/chunks/b553dba1f51e709b.js +0 -16
  426. package/cloud-runtime/standalone/.next/static/chunks/c0d17e0c37ba8e7a.js +0 -1
  427. package/cloud-runtime/standalone/.next/static/chunks/cca7c8e4ade050f0.js +0 -37
  428. /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → lOB5InbmVcurTLQo9J3KK}/_buildManifest.js +0 -0
  429. /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → lOB5InbmVcurTLQo9J3KK}/_clientMiddlewareManifest.json +0 -0
  430. /package/cloud-runtime/standalone/.next/static/{1Q0q2lXllTpqCvmNQYtpD → lOB5InbmVcurTLQo9J3KK}/_ssgManifest.js +0 -0
@@ -10,6 +10,6 @@ If not done, message must be exactly one message that combines:
10
10
  - a brief assessment of what is done vs. not done
11
11
  - the concrete next steps for the team
12
12
 
13
- Do not produce separate status and instruction messages.`;function a(){return async(a,n)=>{let i=n.schedule?.rootMessageId;if(!i)return{status:"failure",message:"No rootMessageId on graph schedule"};console.log(`[work-dispatch] Dispatching steer node "${a.title}" for graph ${n.id} (root: ${i})`);try{let{getMessageThread:a,getThreadStatusSnapshot:n,sweepStaleWorkingReactions:c}=await e.A(205617),l=await a(i);if(!l)return{status:"failure",message:`Thread not found for rootMessageId: ${i}`};await c(l.threadId);let d=await n({threadId:l.threadId,rootMessageId:i}),u=d.processes.filter(e=>"working"===e.status).length,h=(d.messages??[]).slice(-10).map(e=>{let s=e.participantId??e.role??"?",t=(e.content??"").slice(0,300);return`[${s}]: ${t}`}).join("\n");console.log(`[work-dispatch] Thread: active=${u}, msgs=${d.messages?.length??0}`);let g=["--- THREAD STATE ---",`Active agents: ${u}`,`Total messages: ${d.messages?.length??0}`,"\nRecent messages:",h,"--- END THREAD STATE ---\n\nAssess the progress and respond with the JSON object."].join("\n"),{runCliResponse:m}=await e.A(156795),p=function(e){switch(e){case"claude":case"gemini":case"ollama":case"codex":case"zai":return e;default:return"claude"}}(function(){try{let e=(0,t.join)((0,o.homedir)(),".agx","config.json");return JSON.parse((0,s.readFileSync)(e,"utf8")).defaultProvider??"claude"}catch{return"claude"}}());console.log(`[work-dispatch] Calling ${p} via runCliResponse (prompt length: ${g.length})...`);let f="";await m({provider:p,model:null,prompt:g,systemContext:r,onDelta:e=>{f+=e},onLog:(e,s)=>{console.log(`[work-dispatch] [${e}] ${s}`)}}),console.log(`[work-dispatch] Raw response: ${f.slice(0,500)}`);let w=function(e){let s=e.match(/\{[\s\S]*?"isDone"\s*:\s*(true|false)[\s\S]*?\}/);if(s)try{let e=JSON.parse(s[0]);return{isDone:!!e.isDone,message:String(e.message??"")}}catch{}return e.includes("[done]")?{isDone:!0,message:e}:{isDone:!1,message:e}}(f.trim());return console.log("[work-dispatch] Parsed result:",w),{status:"success",output:w}}catch(e){return console.error("[work-dispatch] Steer dispatch failed:",e),{status:"failure",message:e instanceof Error?e.message:String(e),error:e}}}}e.s(["createDispatchWork",()=>a])},205617,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__c8195768._.js","server/chunks/lib_history-store_ts_74d1c060._.js"].map(s=>e.l(s))).then(()=>s(455248)))},156795,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__f168c6dc._.js"].map(s=>e.l(s))).then(()=>s(390107)))}];
13
+ Do not produce separate status and instruction messages.`;function a(){return async(a,n)=>{let i=n.schedule?.rootMessageId;if(!i)return{status:"failure",message:"No rootMessageId on graph schedule"};console.log(`[work-dispatch] Dispatching steer node "${a.title}" for graph ${n.id} (root: ${i})`);try{let{getMessageThread:a,getThreadStatusSnapshot:n,sweepStaleWorkingReactions:c}=await e.A(205617),l=await a(i);if(!l)return{status:"failure",message:`Thread not found for rootMessageId: ${i}`};await c(l.threadId);let d=await n({threadId:l.threadId,rootMessageId:i}),u=d.processes.filter(e=>"working"===e.status).length,h=(d.messages??[]).slice(-10).map(e=>{let s=e.participantId??e.role??"?",t=(e.content??"").slice(0,300);return`[${s}]: ${t}`}).join("\n");console.log(`[work-dispatch] Thread: active=${u}, msgs=${d.messages?.length??0}`);let g=["--- THREAD STATE ---",`Active agents: ${u}`,`Total messages: ${d.messages?.length??0}`,"\nRecent messages:",h,"--- END THREAD STATE ---\n\nAssess the progress and respond with the JSON object."].join("\n"),{runCliResponse:m}=await e.A(156795),p=function(e){switch(e){case"claude":case"gemini":case"ollama":case"codex":case"zai":return e;default:return"claude"}}(function(){try{let e=(0,t.join)((0,o.homedir)(),".agx","config.json");return JSON.parse((0,s.readFileSync)(e,"utf8")).defaultProvider??"claude"}catch{return"claude"}}());console.log(`[work-dispatch] Calling ${p} via runCliResponse (prompt length: ${g.length})...`);let f="";await m({provider:p,model:null,prompt:g,systemContext:r,onDelta:e=>{f+=e},onLog:(e,s)=>{console.log(`[work-dispatch] [${e}] ${s}`)}}),console.log(`[work-dispatch] Raw response: ${f.slice(0,500)}`);let w=function(e){let s=e.match(/\{[\s\S]*?"isDone"\s*:\s*(true|false)[\s\S]*?\}/);if(s)try{let e=JSON.parse(s[0]);return{isDone:!!e.isDone,message:String(e.message??"")}}catch{}return e.includes("[done]")?{isDone:!0,message:e}:{isDone:!1,message:e}}(f.trim());return console.log("[work-dispatch] Parsed result:",w),{status:"success",output:w}}catch(e){return console.error("[work-dispatch] Steer dispatch failed:",e),{status:"failure",message:e instanceof Error?e.message:String(e),error:e}}}}e.s(["createDispatchWork",()=>a])},205617,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__f7f336c7._.js","server/chunks/lib_history-store_ts_74d1c060._.js"].map(s=>e.l(s))).then(()=>s(455248)))},156795,e=>{e.v(s=>Promise.all(["server/chunks/[externals]__a21cc96d._.js","server/chunks/lib_f81d6da9._.js"].map(s=>e.l(s))).then(()=>s(390107)))}];
14
14
 
15
- //# sourceMappingURL=%5Broot-of-the-server%5D__6988985c._.js.map
15
+ //# sourceMappingURL=%5Broot-of-the-server%5D__da645a5e._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(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}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function n(e,t){e.exec(`PRAGMA ${t}`)}function s(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function o(e,t){return(...r)=>{e.exec("BEGIN");try{let n=t(...r);return e.exec("COMMIT"),n}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>n,"transaction",()=>s,"transactionFn",()=>o])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),n=e.i(814747);let s="3.35.0",o=["json1"],a=["fts5"],i=["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}}function c(c,d){let l=[],p=c.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}(p.v,s)&&l.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${s}`,found:p.v,required:`>= ${s}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),o))u(c,e)||l.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 a)u(c,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let g=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let s=n.default.resolve(t),{execSync:o}=e.r(233405);if("darwin"===r.default.platform()){let e=o(`df -T "${s}" 2>/dev/null || df "${s}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(d);g&&i.some(e=>g.toLowerCase().includes(e))&&l.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${g})`,path:d,found:g,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(c,"journal_mode = wal"),(0,t.pragmaSet)(c,"foreign_keys = 1"),(0,t.pragmaSet)(c,"busy_timeout = 5000"),(0,t.pragmaSet)(c,"synchronous = 1"),(0,t.pragmaSet)(c,"cache_size = -64000");let e=(0,t.pragmaGet)(c,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(c,"journal_mode = DELETE");let e=(0,t.pragmaGet)(c,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(c,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):l.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){l.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 l}e.s(["validateSQLiteEnvironment",()=>c])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},457431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(960447);return t()}e.i(949041),e.s(["createAdminDbClient",()=>t])},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},382341,e=>{"use strict";var t=e.i(762294),r=e.i(960447);class n extends Error{constraint;detail;constructor(e,t){super(e),this.name="ConflictError",this.constraint=t?.constraint,this.detail=t?.detail}}class s 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 a(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 s(r,t||"SQLITE_BUSY");throw e}async function i(e){try{return await e()}catch(e){if(e instanceof n||e instanceof s||e instanceof o)throw e;a(e)}}class u{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 s||e instanceof o)throw e;a(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,s,a){let u=a?.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:d,...l}=a??{};return i(()=>t.updateTask(e,n,s,l))}return(0,r.getSQLiteDb)().prepare("UPDATE tasks SET version = version + 1 WHERE id = ?").run(e),i(()=>t.updateTask(e,n,s,a))}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){return t.getProjects(e)}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,s){return t.updateProject(e,r,n,s)}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,s){return i(()=>t.addTaskLog(e,r,n,s))}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,s){return i(()=>t.addTaskComment(e,r,n,s))}deleteTaskComment(e,r){return i(()=>t.deleteTaskComment(e,r))}getLearnings(e,r,n){return t.getLearnings(e,r,n)}addLearning(e,r,n,s){return i(()=>t.addLearning(e,r,n,s))}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,s,o,a){return i(()=>t.upsertStagePrompt(e,r,n,s,o,a))}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)}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,s){return i(()=>t.addProjectMemory(e,r,n,s))}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)}}}}e.s(["SQLiteAdapter",()=>u],382341)},390081,e=>{"use strict";let t=function(){let{SQLiteAdapter:t}=e.r(382341);return new t}();e.s(["db",0,t])}];
1
+ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(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}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function n(e,t){e.exec(`PRAGMA ${t}`)}function s(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function o(e,t){return(...r)=>{e.exec("BEGIN");try{let n=t(...r);return e.exec("COMMIT"),n}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>n,"transaction",()=>s,"transactionFn",()=>o])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),n=e.i(814747);let s="3.35.0",o=["json1"],a=["fts5"],i=["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}}function c(c,d){let l=[],p=c.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}(p.v,s)&&l.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${s}`,found:p.v,required:`>= ${s}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),o))u(c,e)||l.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 a)u(c,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let g=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let s=n.default.resolve(t),{execSync:o}=e.r(233405);if("darwin"===r.default.platform()){let e=o(`df -T "${s}" 2>/dev/null || df "${s}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(d);g&&i.some(e=>g.toLowerCase().includes(e))&&l.push({kind:"filesystem_error",message:`Database path '${d}' is on a network filesystem (${g})`,path:d,found:g,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,t.pragmaSet)(c,"journal_mode = wal"),(0,t.pragmaSet)(c,"foreign_keys = 1"),(0,t.pragmaSet)(c,"busy_timeout = 5000"),(0,t.pragmaSet)(c,"synchronous = 1"),(0,t.pragmaSet)(c,"cache_size = -64000");let e=(0,t.pragmaGet)(c,"journal_mode").toLowerCase(),r=new Set(["wal","delete"]);if(!r.has(e)){(0,t.pragmaSet)(c,"journal_mode = DELETE");let e=(0,t.pragmaGet)(c,"journal_mode").toLowerCase();r.has(e)?((0,t.pragmaSet)(c,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):l.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){l.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 l}e.s(["validateSQLiteEnvironment",()=>c])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},457431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(960447);return t()}e.i(949041),e.s(["createAdminDbClient",()=>t])},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},382341,e=>{"use strict";var t=e.i(762294),r=e.i(960447);class n extends Error{constraint;detail;constructor(e,t){super(e),this.name="ConflictError",this.constraint=t?.constraint,this.detail=t?.detail}}class s 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 a(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 s(r,t||"SQLITE_BUSY");throw e}async function i(e){try{return await e()}catch(e){if(e instanceof n||e instanceof s||e instanceof o)throw e;a(e)}}class u{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 s||e instanceof o)throw e;a(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,s,a){let u=a?.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:d,...l}=a??{};return i(()=>t.updateTask(e,n,s,l))}return(0,r.getSQLiteDb)().prepare("UPDATE tasks SET version = version + 1 WHERE id = ?").run(e),i(()=>t.updateTask(e,n,s,a))}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){return t.getProjects(e)}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,s){return t.updateProject(e,r,n,s)}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,s){return i(()=>t.addTaskLog(e,r,n,s))}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,s){return i(()=>t.addTaskComment(e,r,n,s))}deleteTaskComment(e,r){return i(()=>t.deleteTaskComment(e,r))}getLearnings(e,r,n){return t.getLearnings(e,r,n)}addLearning(e,r,n,s){return i(()=>t.addLearning(e,r,n,s))}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,s,o,a){return i(()=>t.upsertStagePrompt(e,r,n,s,o,a))}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)}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,s){return i(()=>t.addProjectMemory(e,r,n,s))}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)}}}}e.s(["SQLiteAdapter",()=>u],382341)},390081,e=>{"use strict";let t=function(){let{SQLiteAdapter:t}=e.r(382341);return new t}();e.s(["db",0,t])}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__d4f42f49._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__e58e9f91._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[522734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},814747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},446786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},233405,(e,r,t)=>{r.exports=e.x("child_process",()=>require("child_process"))},500874,(e,r,t)=>{r.exports=e.x("buffer",()=>require("buffer"))},254799,(e,r,t)=>{r.exports=e.x("crypto",()=>require("crypto"))},750227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},902157,(e,r,t)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,r,t)=>{r.exports=e.x("node:os",()=>require("node:os"))},666680,(e,r,t)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},924868,(e,r,t)=>{r.exports=e.x("fs/promises",()=>require("fs/promises"))},874533,(e,r,t)=>{r.exports=e.x("node:child_process",()=>require("node:child_process"))},942969,e=>{"use strict";function r(e,r){let t=e.prepare(`PRAGMA ${r}`).get();if(!t)return;let s=Object.values(t);return s.length>0?s[0]:void 0}function t(e,r){return e.prepare(`PRAGMA ${r}`).all()}function s(e,r){e.exec(`PRAGMA ${r}`)}function o(e,r){e.exec("BEGIN");try{let t=r();return e.exec("COMMIT"),t}catch(r){throw e.exec("ROLLBACK"),r}}function i(e,r){return(...t)=>{e.exec("BEGIN");try{let s=r(...t);return e.exec("COMMIT"),s}catch(r){throw e.exec("ROLLBACK"),r}}}e.s(["pragmaAll",()=>t,"pragmaGet",()=>r,"pragmaSet",()=>s,"transaction",()=>o,"transactionFn",()=>i])},828237,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var r=e.i(942969);e.i(522734);var t=e.i(446786),s=e.i(814747);let o="3.35.0",i=["json1"],a=["fts5"],n=["nfs","smb","cifs","efs","fuse.sshfs"];function l(e,r){try{if("json1"===r)return e.prepare("SELECT json('{}')").get(),!0;if("fts5"===r)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}}function u(u,c){let d=[],p=u.prepare("SELECT sqlite_version() as v").get();for(let e of(0>function(e,r){let t=e.split(".").map(Number),s=r.split(".").map(Number);for(let e=0;e<3;e++){let r=(t[e]||0)-(s[e]||0);if(0!==r)return r}return 0}(p.v,o)&&d.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${o}`,found:p.v,required:`>= ${o}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),i))l(u,e)||d.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 a)l(u,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let f=function(r){"linux"!==t.default.platform()&&t.default.platform();try{let o=s.default.resolve(r),{execSync:i}=e.r(233405);if("darwin"===t.default.platform()){let e=i(`df -T "${o}" 2>/dev/null || df "${o}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let r=e[1].split(/\s+/),t=r[0]?.toLowerCase()||"";if(t.includes("://")||t.includes("nfs")||t.includes("smb"))return t}}}catch{}return null}(c);f&&n.some(e=>f.toLowerCase().includes(e))&&d.push({kind:"filesystem_error",message:`Database path '${c}' is on a network filesystem (${f})`,path:c,found:f,fix:"Move the database file to a local SSD. WAL mode requires local filesystem with reliable fsync."});try{(0,r.pragmaSet)(u,"journal_mode = wal"),(0,r.pragmaSet)(u,"foreign_keys = 1"),(0,r.pragmaSet)(u,"busy_timeout = 5000"),(0,r.pragmaSet)(u,"synchronous = 1"),(0,r.pragmaSet)(u,"cache_size = -64000");let e=(0,r.pragmaGet)(u,"journal_mode").toLowerCase(),t=new Set(["wal","delete"]);if(!t.has(e)){(0,r.pragmaSet)(u,"journal_mode = DELETE");let e=(0,r.pragmaGet)(u,"journal_mode").toLowerCase();t.has(e)?((0,r.pragmaSet)(u,"synchronous = FULL"),console.warn(`[startup] WAL unavailable, using journal_mode=${e} with synchronous=FULL`)):d.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){d.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 d}e.s(["validateSQLiteEnvironment",()=>u])},548207,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__255b11f2._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(r=>e.l(r))).then(()=>r(965196)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__f4b3df16._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[522734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},814747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},446786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},942969,e=>{"use strict";function r(e,r){let t=e.prepare(`PRAGMA ${r}`).get();if(!t)return;let n=Object.values(t);return n.length>0?n[0]:void 0}function t(e,r){return e.prepare(`PRAGMA ${r}`).all()}function n(e,r){e.exec(`PRAGMA ${r}`)}function s(e,r){e.exec("BEGIN");try{let t=r();return e.exec("COMMIT"),t}catch(r){throw e.exec("ROLLBACK"),r}}function a(e,r){return(...t)=>{e.exec("BEGIN");try{let n=r(...t);return e.exec("COMMIT"),n}catch(r){throw e.exec("ROLLBACK"),r}}}e.s(["pragmaAll",()=>t,"pragmaGet",()=>r,"pragmaSet",()=>n,"transaction",()=>s,"transactionFn",()=>a])},548207,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__255b11f2._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(r=>e.l(r))).then(()=>r(965196)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__c8195768._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__f7f336c7._.js.map
@@ -0,0 +1,93 @@
1
+ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},259833,e=>{"use strict";function t(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}function r(e,t){return e.prepare(`PRAGMA ${t}`).all()}function n(e,t){e.exec(`PRAGMA ${t}`)}function i(e,t){e.exec("BEGIN");try{let r=t();return e.exec("COMMIT"),r}catch(t){throw e.exec("ROLLBACK"),t}}function a(e,t){return(...r)=>{e.exec("BEGIN");try{let n=t(...r);return e.exec("COMMIT"),n}catch(t){throw e.exec("ROLLBACK"),t}}}e.s(["pragmaAll",()=>r,"pragmaGet",()=>t,"pragmaSet",()=>n,"transaction",()=>i,"transactionFn",()=>a])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},949041,e=>{"use strict";let t={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,t])},121729,e=>{"use strict";e.x("node:sqlite",()=>require("node:sqlite"),!0);var t=e.i(259833);e.i(522734);var r=e.i(446786),n=e.i(814747);let i="3.35.0",a=["json1"],s=["fts5"],l=["nfs","smb","cifs","efs","fuse.sshfs"];function o(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}}function d(d,u){let c=[],p=d.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}(p.v,i)&&c.push({kind:"version_mismatch",message:`SQLite version ${p.v} is below minimum ${i}`,found:p.v,required:`>= ${i}`,fix:"Ensure Node.js >= 22.16 is installed (node:sqlite is built-in)"}),a))o(d,e)||c.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 s)o(d,e)||console.warn(`[startup] Recommended SQLite extension '${e}' is not available. Full-text search will be disabled.`);let m=function(t){"linux"!==r.default.platform()&&r.default.platform();try{let i=n.default.resolve(t),{execSync:a}=e.r(233405);if("darwin"===r.default.platform()){let e=a(`df -T "${i}" 2>/dev/null || df "${i}"`,{encoding:"utf-8",timeout:3e3}).trim().split("\n");if(e.length>=2){let t=e[1].split(/\s+/),r=t[0]?.toLowerCase()||"";if(r.includes("://")||r.includes("nfs")||r.includes("smb"))return r}}}catch{}return null}(u);m&&l.some(e=>m.toLowerCase().includes(e))&&c.push({kind:"filesystem_error",message:`Database path '${u}' is on a network filesystem (${m})`,path:u,found:m,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`)):c.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){c.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 c}e.s(["validateSQLiteEnvironment",()=>d])},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},457431,e=>{"use strict";function t(){let{createAdminDbClientSQLite:t}=e.r(960447);return t()}e.i(949041),e.s(["createAdminDbClient",()=>t])},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},37269,e=>{"use strict";var t=e.i(522734),r=e.i(446786),n=e.i(814747);let i=process.env.AGX_DATA_DIR||n.default.join(r.default.homedir(),".agx"),a=process.env.AGX_DEBUG_LOG_PATH||n.default.join(i,"logs","desktop-chat-debug.log");function s(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"string"==typeof t&&t.length>2e3?`${t.slice(0,2e3)}...<truncated>`:t}function l(){return a}function o(e,r){try{t.default.mkdirSync(n.default.dirname(a),{recursive:!0});let i=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},s);t.default.appendFileSync(a,`${i}
2
+ `,"utf8")}catch{}}e.s(["getDebugLogPath",()=>l,"writeDebugLog",()=>o])},701435,e=>{"use strict";let t;var r=e.i(233405);function n(){return process.env.SHELL?.trim()||"/bin/bash"}function i(e){let i=function(){if(void 0!==t)return t;try{let e=n(),i=(0,r.spawnSync)(e,["-lc",'printf %s "$PATH"'],{encoding:"utf8",timeout:5e3});t=(0===i.status?i.stdout.trim():"")||null}catch{t=null}return t}();return{...process.env,...i?{PATH:i}:{},CLAUDECODE:void 0,...e}}function a(e){try{if(!/^[A-Za-z0-9._-]+$/.test(e))return!1;let t=n();return 0===(0,r.spawnSync)(t,["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8",timeout:5e3}).status}catch{return!1}}e.s(["buildSpawnEnv",()=>i,"commandExists",()=>a])},914350,e=>{"use strict";var t=e.i(233405),r=e.i(522734),n=e.i(814747),i=e.i(37269),a=e.i(701435),s=e.i(902157),l=e.i(660526),o=e.i(750227);function d(e){return e.replace(/\\/g,"/")}let u=e=>"string"==typeof e&&e.trim().length>0,c=e=>({push:e,flush:()=>{}}),p=e=>{let t="",r=0,n=!1,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);n=!0;let a=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&u(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&u(t?.delta?.text)?t.delta.text:""})(t);if(!a||t?.type==="assistant"&&r>0)return;r+=a.length,e(a)}catch{n||e(`${t}
3
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},m=e=>{let t="",r=!1,n="",i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);r=!0,t?.type==="message"&&t?.role==="assistant"&&u(t?.content)&&((t,r)=>{if(t){if(r){if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}e(t),n+=t;return}if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}n||(e(t),n=t)}})(t.content,t?.delta===!0)}catch{r||e(`${t}
4
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},f=e=>{let t="",r=!1,n=new Set,i=t=>{let i=t.trim();if(i)try{let t=JSON.parse(i);if(r=!0,t?.type==="item.completed"&&u(t?.item?.id)){if(n.has(t.item.id))return;n.add(t.item.id)}let a=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&u(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&u(t.delta?.text)?t.delta.text:"":"";a&&e(a)}catch{r||e(`${t}
5
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;i(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&i(t),t=""}}},h=e=>{let t="",r=!1,n=[/^Thinking\.\.\./,/^<think>/i],i=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:a=>{t+=a,(()=>{for(;t.length>0;){if(r){let e=-1,n=0;for(let r of i){let i=t.match(r);i&&void 0!==i.index&&(i.index,i[0].length,(-1===e||i.index<e)&&(e=i.index,n=i[0].length))}if(-1!==e){t=t.slice(e+n),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let i of n){let n=t.match(i);if(n&&void 0!==n.index){let i=t.slice(0,n.index);i&&e.push(i),t=t.slice(n.index+n[0].length),r=!0;break}}if(r)continue;let a=Math.max(0,t.length-30);a>0&&(e.push(t.slice(0,a)),t=t.slice(a));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},g=new Set(["claude","gemini","ollama","codex"]);function x({provider:e,model:t,prompt:r,systemPrompt:n}){switch(e){case"claude":{let e=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&e.push("--model",t),n&&e.push("--system-prompt",n),e.push(r),{command:"claude",args:e,parser:"claude-stream-json"}}case"gemini":return{command:"gemini",args:["--yolo","-p",n?`${n}
6
+
7
+ ${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",n?`${n}
8
+
9
+ ${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(n?`${n}
10
+
11
+ ${r}`:r),{command:"codex",args:e,parser:"codex-json"}}case"zai":{let e=process.env.ZAI_API_KEY?.trim(),i=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&i.push("--model",t),n&&i.push("--system-prompt",n),i.push(r),{command:"claude",args:i,parser:"claude-stream-json",env:{ANTHROPIC_BASE_URL:"https://api.z.ai/api/anthropic",...e?{ANTHROPIC_AUTH_TOKEN:e}:{}}}}default:return null}}function v(){let e=process.env.AGX_CLI_PATH?.trim();if(e&&r.default.existsSync(e))return e;for(let e of[n.default.resolve(process.cwd(),"..","cli","index.js"),n.default.resolve("/ROOT/lib","..","cli","index.js"),n.default.resolve(process.execPath,"..","..","Resources","cli","index.js")])if(r.default.existsSync(e))return e;return null}function k({provider:e,model:t,prompt:r,systemPrompt:n,passthroughArgs:i},s={}){let l=s.commandExists??a.commandExists,o=void 0===s.bundledCliPath?v():s.bundledCliPath,d=[],u=n?`${n}
12
+
13
+ ${r}`:r;if(g.has(e)){let a=function({provider:e,model:t,prompt:r,cliPath:n,passthroughArgs:i}){let a=void 0===n?v():n;if(!a)return null;let s=[a,e,"-y","--print","--prompt",r];return t&&s.push("--model",t),i&&i.length>0&&s.push("--",...i),{command:process.execPath,args:s,parser:"raw"}}({provider:e,model:t,prompt:u,cliPath:o,passthroughArgs:i});a&&d.push(a),l("agx")&&d.push(function({provider:e,model:t,prompt:r,passthroughArgs:n}){let i=[e,"-y","--print","--prompt",r];return t&&i.push("--model",t),n&&n.length>0&&i.push("--",...n),{command:"agx",args:i,parser:"raw"}}({provider:e,model:t,prompt:u,passthroughArgs:i}));let s=x({provider:e,model:t,prompt:r,systemPrompt:n});return s&&l(s.command)&&d.push(s),d}let c=x({provider:e,model:t,prompt:r,systemPrompt:n});return c&&l(c.command)&&d.push(c),d}async function _({command:e,args:r,timeoutMs:n,signal:s,onDelta:l,onLog:o,onSpawn:d,env:u}){await new Promise((c,p)=>{(0,i.writeDebugLog)("cli-runner.spawn",{command:e,args:r,timeoutMs:n,bundledCliPath:v(),isElectron:process.env.AGX_ELECTRON||null}),o&&o("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
14
+ `);let m=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:(0,a.buildSpawnEnv)(u)}),f=!1,h="",g=!1,x=e=>{f||(f=!0,clearTimeout(_),s&&s.removeEventListener("abort",k),e?p(e):c())},k=()=>{(0,i.writeDebugLog)("cli-runner.abort",{command:e,args:r,pid:m.pid??null}),m.kill("SIGTERM"),x(Error("Chat request aborted."))};s&&s.addEventListener("abort",k,{once:!0}),d&&m.pid&&d(m.pid),(0,i.writeDebugLog)("cli-runner.spawned",{command:e,args:r,pid:m.pid??null});let _=setTimeout(()=>{g=!0,(0,i.writeDebugLog)("cli-runner.timeout",{command:e,args:r,pid:m.pid??null,timeoutMs:n}),m.kill("SIGKILL"),x(Error(`CLI request timed out after ${n}ms.`))},n);m.stdout.on("data",e=>{let t=e.toString();h+=t,l(t),o&&o("stdout",t)}),m.stderr.on("data",e=>{let t=e.toString();h+=t,o&&o("stderr",t)}),m.on("error",t=>{(0,i.writeDebugLog)("cli-runner.process_error",{command:e,args:r,pid:m.pid??null,error:t}),x(t)}),m.on("close",(t,n)=>{if(!f&&!g){if((0,i.writeDebugLog)("cli-runner.close",{command:e,args:r,pid:m.pid??null,code:t??null,signal:n??null}),0===t)return void x();x(Error(`CLI command failed (exit=${t??"unknown"} signal=${n??"none"}).${h.trim()?` ${h.trim()}`:""}`))}})})}async function y({provider:e,model:t,prompt:r,identity:n,self:a,skills:s,systemContext:l,passthroughArgs:o,signal:d,onDelta:u,onLog:g,onSpawn:x}){let y,S,b,E,R=(y=!1,S=!1,b="",E=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!y?(y=!0,"\n"):"";let r=y?t.replace(/^\n+/,"\n"):t,n=r.trimStart(),i=E.test(n),a=S&&i&&!y,s=S&&!y&&!a&&!/^\s/.test(r)&&/[.!?)]/.test(b)&&/^[A-Z0-9`(]/.test(r),l=a?`
15
+
16
+ ${r}`:s?`
17
+ ${r}`:r;y=l.endsWith("\n"),S=S||l.trim().length>0;let o=l.replace(/\s+$/g,"");return o.length>0&&(b=o[o.length-1]??b),l}),A=e=>{let t=R(e);t&&u(t)},L=k({provider:e,model:t,prompt:r,systemPrompt:w({identity:n,self:a,skills:s,systemContext:l}),passthroughArgs:o});if(0===L.length)throw(0,i.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:v(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let C=null;for(let r of L){(0,i.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let n="claude-stream-json"===r.parser?p(A):"codex-json"===r.parser?f(A):"gemini-stream-json"===r.parser?m(A):c(A),a=r.filterThoughts?h(n):n;try{await _({command:r.command,args:r.args,timeoutMs:18e5,signal:d,onDelta:a.push,onLog:g,onSpawn:x,env:r.env}),a.flush(),(0,i.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(n){C=n instanceof Error?n:Error(String(n)),(0,i.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:C})}}throw C||Error("CLI execution failed.")}function w({identity:e,self:t,skills:r,systemContext:n}){let i=[];return n&&i.push(n),i.push(function(e={}){let t=function(e={}){let t=function(e={}){return o.default.join(function(e){let t=e?.trim();if(t)return t;let r=process.env.AGX_DATA_DIR?.trim();return r||o.default.join(l.default.homedir(),".agx")}(e.agxDataDir),"skills","scheduled-task-manager","SKILL.md")}(e),r=function(e={}){var t;let r,n=(t=e.workspaceRoot,(r=t?.trim())||process.cwd()),i=d(o.default.join(n,"planning","automation-frontmatter-migration-spec.md")),a=d(o.default.join(n,"src","automations")),s=d(o.default.join(n,"src","prompt-scheduler")),l=d(o.default.join(n,"src","graph","schedule-runner.ts")),u=d(o.default.join(n,"src","graph","store.ts")),c=d(o.default.join(n,"app","api","automations","route.ts")),p=d(o.default.join(n,"app","api","prompt-jobs","route.ts"));return`---
18
+ name: scheduled-task-manager
19
+ description: Use when creating, editing, migrating, debugging, or reviewing AGX scheduled tasks, automations, prompt jobs, execution graph schedules, or frontmatter-backed automation definitions.
20
+ ---
21
+
22
+ # Scheduled Task Manager
23
+
24
+ Use this skill whenever the task touches scheduled tasks, automations, prompt jobs, execution graph schedules, or automation frontmatter.
25
+
26
+ ## Read First
27
+
28
+ - [automation-frontmatter-migration-spec](${i})
29
+ - Shared automation model lives in [src/automations](${a})
30
+ - Prompt-job scheduling lives in [src/prompt-scheduler](${s})
31
+ - Execution-graph scheduling flows through [schedule-runner.ts](${l}) and [store.ts](${u})
32
+ - API entry points are [app/api/automations/route.ts](${c}) and [app/api/prompt-jobs/route.ts](${p})
33
+
34
+ ## Guardrails
35
+
36
+ - Reject malformed frontmatter. Do not coerce invalid enum values into defaults.
37
+ - Preserve stable automation ids. Renaming a task must not create a new id.
38
+ - Keep runtime state such as last run, next run, and archival flags out of frontmatter unless the spec explicitly says otherwise.
39
+ - Preserve sub-minute scheduled cadences when they are represented as \`intervalMs\`.
40
+ - For \`execution_graph\` targets, keep \`graphId\` and \`taskId\` resolution correct. Do not assume \`definition.id === taskId\`.
41
+ - Updating an automation definition should advance user-visible \`updatedAt\`.
42
+ - Avoid eager file-backed repository initialization on request paths that should stay lazy or rollout-gated.
43
+ - Keep parser and serializer behavior round-trippable unless the spec explicitly requires normalization.
44
+
45
+ ## Working Pattern
46
+
47
+ 1. Read the migration spec before changing storage, rollout, or validation behavior.
48
+ 2. Trace the full path: parser -> validation -> repository -> scheduler -> API.
49
+ 3. Add or update regression tests for parsing, serialization, due selection, and the affected API or runtime path.
50
+ 4. Prefer small fixes in the shared automation layer over duplicating logic in adapters.
51
+
52
+ ## Validation Checklist
53
+
54
+ - Scheduled triggers keep \`cronExpr\`, \`cadence\`, and sub-minute \`intervalMs\` semantics intact.
55
+ - Condition triggers validate required fields and reject unsupported polling intervals.
56
+ - Target-specific required fields are enforced.
57
+ - Invalid definitions fail closed and are excluded instead of silently rewritten.
58
+ - Prompt-job and execution-graph adapters preserve the same runtime meaning before and after frontmatter serialization.
59
+ `}(e);try{s.default.mkdirSync(o.default.dirname(t),{recursive:!0}),(s.default.existsSync(t)?s.default.readFileSync(t,"utf8"):null)!==r&&s.default.writeFileSync(t,r,"utf8")}catch(e){console.warn("[scheduled-task-skill] Failed to install skill:",e)}return t}(e);return`<scheduled-task-skill>
60
+ Path: ${d(t)}
61
+ Read this skill whenever the task involves scheduled tasks, automations, prompt jobs, execution graph schedules, or frontmatter-backed automation definitions.
62
+ </scheduled-task-skill>`}()),e&&i.push(`<identity>
63
+ ${e}
64
+ </identity>`),t&&i.push(`<self>
65
+ ${t}
66
+ </self>`),r&&i.push(`<skills>
67
+ ${r}
68
+ </skills>`),i.length>0?i.join("\n\n"):void 0}e.s(["buildCliAttempts",()=>k,"buildCliSystemPrompt",()=>w,"runCliResponse",()=>y],914350)},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},737175,e=>{"use strict";var t=e.i(902157),r=e.i(750227),n=e.i(874533),i=e.i(960447);let a=null,s=new Map;function l(e){return e.replace(/\s+/g," ").trim()}function o(e){return e.replace(/<br\s*\/?>/gi,"\n").replace(/<\/(p|h1|h2|h3|h4|h5|h6|li|tr|div)>/gi,"\n").replace(/<li[^>]*>/gi,"• ").replace(/<[^>]*>/g,"").replace(/&#x([0-9a-f]+);/gi,(e,t)=>{let r=Number.parseInt(t,16);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/&#([0-9]+);/g,(e,t)=>{let r=Number.parseInt(t,10);return Number.isFinite(r)?String.fromCodePoint(r):e}).replace(/&quot;/g,'"').replace(/&apos;/g,"'").replace(/&#39;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&nbsp;/g," ").replace(/\r/g,"").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function d(e){return"claude"===e||"codex"===e||"gemini"===e||"zai"===e?e:null}function u(e){return"claude"===e?"claude-code":"codex"===e?"codex":"gemini"===e?"gemini-cli":"zai"===e?"claude-code":null}function c(e){return r.default.join(process.cwd(),".agents","skills",e,"SKILL.md")}function p(){let e=r.default.join(process.cwd(),".agents","skills");return t.default.existsSync(e)?t.default.readdirSync(e,{withFileTypes:!0}).filter(n=>n.isDirectory()&&t.default.existsSync(r.default.join(e,n.name,"SKILL.md"))).map(e=>e.name).sort((e,t)=>e.localeCompare(t)):[]}async function m(){if(a&&Date.now()-a.loadedAt<36e5)return a.data;try{let e=await fetch("https://skills.sh");if(!e.ok)return[];let t=await e.text(),r=t.indexOf("initialSkills");if(-1===r)return[];let n=t.indexOf(":[",r);if(-1===n)return[];let i=n+1,s=0,l=i;for(let e=i;e<t.length;e+=1)if("["===t[e]&&(s+=1),"]"===t[e]&&(s-=1),0===s){l=e+1;break}let o=t.slice(i,l).replace(/\\"/g,'"'),d=JSON.parse(o).map((e,t)=>({rank:t+1,name:e.name??e.skillId??"",skillId:e.skillId??e.name??"",repo:e.source??"",installs:"number"==typeof e.installs?e.installs:0}));return a={loadedAt:Date.now(),data:d},d}catch{return[]}}async function f(e,t){let r=`${e}/${t}`,n=s.get(r);if(n&&Date.now()-n.loadedAt<36e5)return n.data;try{let n=await fetch(`https://skills.sh/${e}/${t}`);if(!n.ok)return null;let i=await n.text(),a=function(e){let t=e.match(/<div class="prose[^>]*>([\s\S]*?)<\/div>\s*<\/div>\s*<\/div>\s*<\/div>\s*<div class=" lg:col-span-3">/i);if(t?.[1])return t[1];let r=e.indexOf('<div class="prose');if(-1===r)return"";let n=e.indexOf(">",r);if(-1===n)return"";let i=e.indexOf('<div class=" lg:col-span-3">',n);return -1===i?"":e.slice(n+1,i).replace(/\s*<\/div>\s*$/i,"").trim()}(i),d=a.match(/<h1[^>]*>([\s\S]*?)<\/h1>/i),u=d?l(o(d[1])):"",c=(d?a.slice((d.index??0)+d[0].length):a).match(/<p[^>]*>([\s\S]*?)<\/p>/i),p=c?l(o(c[1])):"",m=[],f=a.match(/<h2[^>]*>\s*When to Use This Skill\s*<\/h2>([\s\S]*?)(?:<h2[^>]*>|$)/i);if(f){let e=f[1].match(/<ul[^>]*>([\s\S]*?)<\/ul>/i);if(e){let t=/<li[^>]*>([\s\S]*?)<\/li>/gi,r=null;for(;null!==(r=t.exec(e[1]));){let e=l(o(r[1]));e&&m.push(e)}}}let h=i.match(/Weekly\s+Installs[\s\S]{0,240}?>([\d,.]+[KkMm]?)<\/div>/i)?.[1]??"",g=i.match(/First\s+[Ss]een[\s\S]{0,240}?>([A-Za-z]{3}\s+\d{1,2},\s+\d{4})<\/div>/i)?.[1]??"",x=i.match(/\\"command\\":\\"((?:[^"\\]|\\.)*)\\"/),v=x?x[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\").trim():`npx skills add ${e} --skill ${t}`,k={title:u,description:p,whenToUse:m,weeklyInstalls:h,firstSeen:g,installCommand:v};return s.set(r,{loadedAt:Date.now(),data:k}),k}catch{return null}}function h(e){(0,i.getSQLiteDb)().prepare(`INSERT INTO skill_learning_history
69
+ (provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at)
70
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(e.provider,e.repo,e.skill_id,e.skill_label,e.status,e.command,e.error,e.run_started_at,e.run_completed_at,e.created_at,e.updated_at)}function g(e=50,t){let r=(0,i.getSQLiteDb)(),n=[],a="",s=t?d(t):null;return s&&(a="WHERE provider = ?",n.push(s)),n.push(e),r.prepare(`SELECT id, provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at
71
+ FROM skill_learning_history
72
+ ${a}
73
+ ORDER BY updated_at DESC, created_at DESC
74
+ LIMIT ?`).all(...n)}function x(e){let t=(0,i.getSQLiteDb)(),r=[],n="status = 'succeeded'",a=e?d(e):null;return a&&(n+=" AND provider = ?",r.push(a)),t.prepare(`SELECT provider, repo, skill_id, skill_label, MAX(COALESCE(run_completed_at, updated_at, created_at)) AS learned_at
75
+ FROM skill_learning_history
76
+ WHERE ${n}
77
+ GROUP BY provider, repo, skill_id, skill_label
78
+ ORDER BY learned_at DESC`).all(...r)}function v(e){let t=Array.from(new Set(e.providers.map(e=>d(e)).filter(Boolean)));if(0===t.length)return{ok:!1,command:"",stdout:"",stderr:"",results:[],error:"No supported providers selected"};let r=Date.now(),i=[],a="",s="",o="",c=new Map;for(let e of t){let t=u(e);if(!t)continue;let r=c.get(t)??[];r.push(e),c.set(t,r)}for(let[t,d]of c.entries()){let u=["--yes","skills@latest","add",e.repo,"--skill",e.skillId,"--agent",t,"--yes"];o=`npx ${u.join(" ")}`;let c=(0,n.spawnSync)("npx",u,{cwd:process.cwd(),encoding:"utf8",timeout:12e4,env:{...process.env,FORCE_COLOR:"0"}});a=String(c.stdout??""),s=String(c.stderr??"");let p=0===c.status;for(let n of d)i.push({provider:n,ok:p,agent:t}),h({provider:n,repo:e.repo,skill_id:e.skillId,skill_label:e.skillId,status:p?"succeeded":"failed",command:o,error:p?null:l(s||a).slice(0,1e3),run_started_at:r,run_completed_at:Date.now(),created_at:r,updated_at:Date.now()});if(!p)return{ok:!1,command:o,stdout:a,stderr:s,results:i,error:l(s||a)||"Installation failed"}}return{ok:!0,command:o,stdout:a,stderr:s,results:i}}function k(e){let t=Array.from(new Set(e.providers.map(e=>d(e)).filter(Boolean)));if(0===t.length)return{ok:!1,command:"",stdout:"",stderr:"",results:[],error:"No supported providers selected"};let r=Date.now(),i=[],a="",s="",o="",c=new Map;for(let e of t){let t=u(e);if(!t)continue;let r=c.get(t)??[];r.push(e),c.set(t,r)}for(let[t,d]of c.entries()){let u=["--yes","skills@latest","remove",e.skillId,"--agent",t,"--yes"];o=`npx ${u.join(" ")}`;let c=(0,n.spawnSync)("npx",u,{cwd:process.cwd(),encoding:"utf8",timeout:12e4,env:{...process.env,FORCE_COLOR:"0"}});a=String(c.stdout??""),s=String(c.stderr??"");let p=0===c.status;for(let n of d)i.push({provider:n,ok:p,agent:t}),h({provider:n,repo:"local/remove",skill_id:e.skillId,skill_label:e.skillId,status:p?"succeeded":"failed",command:o,error:p?null:l(s||a).slice(0,1e3),run_started_at:r,run_completed_at:Date.now(),created_at:r,updated_at:Date.now()});if(!p)return{ok:!1,command:o,stdout:a,stderr:s,results:i,error:l(s||a)||"Removal failed"}}return{ok:!0,command:o,stdout:a,stderr:s,results:i}}e.s(["fetchSkillDetail",()=>f,"fetchSkillsCatalog",()=>m,"installSkill",()=>v,"installedSkillPath",()=>c,"listAvailableSkills",()=>x,"listInstalledSkillIds",()=>p,"listSkillHistory",()=>g,"removeSkill",()=>k])},149953,e=>{"use strict";var t=e.i(902157),r=e.i(960447),n=e.i(737175);async function i(e){return(0,r.getSQLiteDb)().prepare("SELECT agent_id, repo, skill_id, condition, created_at FROM agent_skill_bindings WHERE agent_id = ? ORDER BY created_at ASC").all(e).map(e=>({repo:e.repo,skillId:e.skill_id,...e.condition?{condition:e.condition}:{}}))}async function a(e,t){let n=(0,r.getSQLiteDb)(),a=new Map;for(let e of t){let t=e.repo.trim(),r=e.skillId.trim();t&&r&&a.set(`${t}::${r}`,{repo:t,skillId:r,condition:e.condition?.trim()||null})}for(let t of(await i(e))){let r=`${t.repo}::${t.skillId}`;a.has(r)||n.prepare("DELETE FROM agent_skill_bindings WHERE agent_id = ? AND repo = ? AND skill_id = ?").run(e,t.repo,t.skillId)}for(let t of a.values())n.prepare(`INSERT INTO agent_skill_bindings (agent_id, repo, skill_id, condition)
79
+ VALUES (?, ?, ?, ?)
80
+ ON CONFLICT(agent_id, repo, skill_id) DO UPDATE SET condition = excluded.condition`).run(e,t.repo,t.skillId,t.condition);return i(e)}function s(e){return e.toLowerCase().replace(/[^a-z0-9]+/g," ").replace(/\s+/g," ").trim()}function l(e){let t=new Set,r=[];for(let n of s(e).split(" "))n.length<4||t.has(n)||(t.add(n),r.push(n));return r}function o(e,r,i){let a=[];for(let o of e){if(!function(e,t){let r=s(t);if(!r)return!1;if((e.condition?e.condition.split(/\n|,|;|\|/g).map(e=>s(e)).filter(e=>e.length>=4):[]).some(e=>r.includes(e)))return!0;let n=e.repo.split("/").filter(Boolean).pop()??e.repo;return[...l(e.skillId),...l(n)].some(e=>r.includes(e))}(o,r))continue;let e=(0,n.installedSkillPath)(o.skillId);(t.default.existsSync(e)||(0,n.installSkill)({repo:o.repo,skillId:o.skillId,providers:[i]}).ok)&&a.push({file:e,...o.condition?{condition:o.condition}:{}})}return a}e.s(["getAgentSkillBindings",()=>i,"resolveBoundSkillFiles",()=>o,"setAgentSkillBindings",()=>a])},384776,e=>{"use strict";var t=e.i(762294),r=e.i(149953),n=e.i(949041);async function i(){let e=await (0,t.getAgents)(n.LOCAL_USER.id),i=new Map,a=new Map;return await Promise.all(e.map(async e=>{i.set(e.id,await (0,t.getAgentSkills)(e.id)),a.set(e.id,await (0,r.getAgentSkillBindings)(e.id))})),e.map(e=>({id:e.id,name:e.name,...e.title?{title:e.title}:{},provider:e.provider||"claude",model:e.model||null,color:e.color||"#6B7280",...e.description?{identity:e.description}:{},...e.voice?{voice:e.voice}:{},...e.seed?{seed:e.seed}:{},...i.get(e.id)?.length?{skills:i.get(e.id).map(e=>({file:e.file,condition:e.condition??""}))}:{},...a.get(e.id)?.length?{skillBindings:a.get(e.id)}:{}}))}function a(e,t){if(!Array.isArray(t))return e;let r=new Set,n=[];for(let e of t){if("string"!=typeof e)continue;let t=e.trim();!t||r.has(t)||(r.add(t),n.push(t))}let i=new Set(n),a=e.filter(e=>i.has(e.id));if(n.length>0&&0===a.length)return e;let s=new Map(n.map((e,t)=>[e,t]));return a.sort((e,t)=>(s.get(e.id)??Number.MAX_SAFE_INTEGER)-(s.get(t.id)??Number.MAX_SAFE_INTEGER))}e.s(["filterActiveParticipants",()=>a,"loadDbParticipants",()=>i])},196658,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),i=e.i(759756),a=e.i(561916),s=e.i(174677),l=e.i(869741),o=e.i(316795),d=e.i(487718),u=e.i(995169),c=e.i(47587),p=e.i(666012),m=e.i(570101),f=e.i(626937),h=e.i(10372),g=e.i(193695);e.i(52474);var x=e.i(600220),v=e.i(89171),k=e.i(442639),_=e.i(384776),y=e.i(914350);async function w(e){try{let t,{threadId:r,rootMessageId:n,activeParticipantIds:i}=await e.json();if(!r||!n)return v.NextResponse.json({error:"threadId and rootMessageId are required"},{status:400});let a=await (0,k.loadHistory)(r),s=a.find(e=>e.id===n);if(!s)return v.NextResponse.json({error:"Root message not found"},{status:404});let l=a.filter(e=>e.rootMessageId===n).sort((e,t)=>e.timestamp-t.timestamp),o=[s,...l],d=await (0,_.loadDbParticipants)(),u=(0,_.filterActiveParticipants)(d,i)[0];if(!u)return v.NextResponse.json({error:"No active agents configured for this project"},{status:400});let c=Object.fromEntries(d.map(e=>[e.id,e])),p=o.map(e=>{let t="user"===e.role?"User":e.participantId?c[e.participantId]?.name||e.participantId:"Assistant";return`${t}: ${e.content}`}).join("\n\n"),m=`Read the following conversation and extract a list of actionable tasks that were discussed. Order them by execution sequence — tasks that others depend on should come first.
81
+
82
+ For each task, provide:
83
+ - "title": a concise title (under 80 characters)
84
+ - "description": a detailed description including all relevant context, requirements, constraints, and acceptance criteria discussed in the thread
85
+ - "depends_on": an array of zero-based indices of other tasks in this list that must be completed before this one can start (e.g. [0, 2] means this task depends on tasks at index 0 and 2). Use an empty array [] if the task has no dependencies.
86
+
87
+ Return ONLY a valid JSON array of objects with "title", "description", and "depends_on" fields. No other text.
88
+
89
+ ---
90
+ ${p}
91
+ ---`,f="";await (0,y.runCliResponse)({provider:u.provider,model:u.model,prompt:m,identity:u.identity,onDelta:e=>{f+=e}});let h=f=f.trim(),g=f.match(/```(?:json)?\s*([\s\S]*?)```/);g&&(h=g[1].trim());try{if(t=JSON.parse(h),!Array.isArray(t))throw Error("Not an array")}catch{return v.NextResponse.json({error:"Failed to parse tasks from LLM response",raw:f},{status:500})}let x=t.filter(e=>e.title&&e.description).slice(0,20),w=x.map(()=>crypto.randomUUID()),S=x.map((e,t)=>({id:w[t],title:e.title.slice(0,200),description:e.description,dependsOn:(e.depends_on||[]).filter(e=>e>=0&&e<x.length&&e!==t).map(e=>w[e])}));return v.NextResponse.json({ok:!0,tasks:S})}catch(e){return console.error("Task extraction error:",e),v.NextResponse.json({error:e instanceof Error?e.message:"Unknown error"},{status:500})}}e.s(["POST",()=>w],742405);var S=e.i(742405);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/extract/route",pathname:"/api/tasks/extract",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/tasks/extract/route.ts",nextConfigOutput:"standalone",userland:S}),{workAsyncStorage:E,workUnitAsyncStorage:R,serverHooks:A}=b;function L(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:R})}async function C(e,t,n){b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/tasks/extract/route";v=v.replace(/\/index$/,"")||"/";let k=await b.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!k)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:_,params:y,nextConfig:w,parsedUrl:S,isDraftMode:E,prerenderManifest:R,routerServerContext:A,isOnDemandRevalidate:L,revalidateOnlyGenerated:C,resolvedPathname:I,clientReferenceManifest:j,serverActionsManifest:$}=k,O=(0,l.normalizeAppPath)(v),D=!!(R.dynamicRoutes[O]||R.routes[I]),T=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,S,!1):t.end("This page could not be found"),null);if(D&&!E){let e=!!R.routes[I],t=R.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(w.experimental.adapterPath)return await T();throw new g.NoFallbackError}}let N=null;!D||b.isDev||E||(N="/index"===(N=I)?"/":N);let P=!0===b.isDev||!D,q=D&&!P;$&&j&&(0,s.setManifestsSingleton)({page:v,clientReferenceManifest:j,serverActionsManifest:$});let M=e.method||"GET",U=(0,a.getTracer)(),F=U.getActiveScopeSpan(),B={params:y,prerenderManifest:R,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:P,incrementalCache:(0,i.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:w.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,i)=>b.onRequestError(e,t,n,i,A)},sharedContext:{buildId:_}},H=new o.NodeNextRequest(e),G=new o.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(H,(0,d.signalFromNodeResponse)(t));try{let s=async e=>b.handle(K,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),l=!!(0,i.getRequestMeta)(e,"minimalMode"),o=async i=>{var a,o;let d=async({previousCacheEntry:r})=>{try{if(!l&&L&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(i);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let d=B.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(H,G,a,B.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[h.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,n=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:L})},!1,A),t}},u=await b.handleResponse({req:e,nextConfig:w,cacheKey:N,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:L,revalidateOnlyGenerated:C,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:l});if(!D)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});l||t.setHeader("x-nextjs-cache",L?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,m.fromNodeOutgoingHttpHeaders)(u.value.headers);return l&&D||g.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(H,G,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};F?await o(F):await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o))}catch(t){if(t instanceof g.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:L})},!1,A),D)throw t;return await (0,p.sendResponse)(H,G,new Response(null,{status:500})),null}}e.s(["handler",()=>C,"patchFetch",()=>L,"routeModule",()=>b,"serverHooks",()=>A,"workAsyncStorage",()=>E,"workUnitAsyncStorage",()=>R],196658)},318801,e=>{e.v(e=>Promise.resolve().then(()=>e(960447)))}];
92
+
93
+ //# sourceMappingURL=%5Broot-of-the-server%5D__fcfa3690._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[769449,e=>{"use strict";async function s(){{let{getConfiguredLocalServerPort:s}=await e.A(62389),{ensureScheduledTaskSkillInstalled:r}=await e.A(77543);await e.A(177510);let{getQueue:o,QUEUE_NAMES:t}=await e.A(880001),{taskProcessor:a}=await e.A(32984),{chatProcessor:_}=await e.A(58052);r();let l=await o();await l.work(t.TASK_PROCESS,a,{batchSize:5}),await l.work(t.CHAT_RUN_PROCESS,_,{batchSize:2}),console.log("[worker] queue worker started (embedded)");let{pollSchedules:c}=await e.A(457063),{createDispatchFunction:h}=await e.A(73171),{createDispatchWork:n}=await e.A(873045),{executeNode:d}=await e.A(709072),{completeScheduleTick:i,isScheduleTickComplete:u}=await e.A(208155),{GraphStore:p}=await e.A(502224),v=s(),k=`http://localhost:${v}`,j=!1;setTimeout(()=>{j=!0},5e3),setInterval(async()=>{if(j)try{let e=await fetch(`${k}/api/prompt-jobs/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"});if(e.ok){let s=await e.json();s.queued?.length>0&&console.log(`[prompt-jobs] dispatched ${s.queued.length} run(s)`),s.skipped?.length>0&&console.log(`[prompt-jobs] skipped ${s.skipped.length} job(s):`,s.skipped.map(e=>e.reason))}}catch{}},15e3),console.log("[prompt-jobs] poller started (every 15s)"),setInterval(async()=>{try{let e=h(),s=n(),r=await c({dispatchFunction:e,dispatchWork:s});if(r.tickedGraphIds.length>0&&console.log(`[schedules] ticked ${r.tickedGraphIds.length} graph(s)`),r.errors.length>0&&console.error(`[schedules] ${r.errors.length} error(s):`,r.errors.map(e=>e.error.message)),r.pendingWork.length>0){let o=new p;for(let t of r.pendingWork){let r=t.graph;for(let o of t.nodeIds)try{r=(await d(r,o,{dispatchFunction:e,dispatchWork:s})).graph,console.log(`[schedules] dispatched work node "${o}" for graph ${t.taskId}`)}catch(e){console.error(`[schedules] work dispatch failed for node "${o}":`,e)}if(o.updateGraphStructure(r.id,{nodes:r.nodes}),u(r)){let e=i(r);o.updateGraphStructure(e.id,{schedule:e.schedule}),console.log(`[schedules] tick complete for graph ${t.taskId}`)}}}}catch(e){console.error("[schedules] poll failed:",e)}},15e3),console.log("[schedules] poller started (every 15s)")}}e.s(["register",()=>s])},62389,e=>{e.v(s=>Promise.all(["server/chunks/lib_app-config_ts_7f2f30ad._.js"].map(s=>e.l(s))).then(()=>s(219778)))},77543,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__92ed2961._.js"].map(s=>e.l(s))).then(()=>s(7804)))},177510,e=>{e.v(s=>Promise.all(["server/chunks/lib_check-node-version_ts_ef89bf83._.js"].map(s=>e.l(s))).then(()=>s(204799)))},880001,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__529a6e1c._.js"].map(s=>e.l(s))).then(()=>s(40793)))},32984,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__8cbd8c56._.js","server/chunks/lib_2492d514._.js","server/chunks/lib_f81d6da9._.js","server/chunks/node_modules_d2858615._.js","server/chunks/lib_98ae187c._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js"].map(s=>e.l(s))).then(()=>s(469324)))},58052,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__f4b3df16._.js","server/chunks/lib_orchestrator_chat-processor_ts_4c335719._.js","server/chunks/lib_f81d6da9._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js","server/chunks/lib_3c080873._.js","server/chunks/node_modules_d2858615._.js","server/chunks/lib_history-store_ts_74d1c060._.js"].map(s=>e.l(s))).then(()=>s(26607)))},457063,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__ca4987eb._.js","server/chunks/src_graph_executor_ts_a8bc8d58._.js","server/chunks/src_graph_store_ts_d6588a77._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js","server/chunks/src_graph_138dc200._.js","server/chunks/node_modules_d2858615._.js","server/chunks/node_modules_18a495c8._.js"].map(s=>e.l(s))).then(()=>s(676109)))},73171,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__33865410._.js"].map(s=>e.l(s))).then(()=>s(558898)))},873045,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__da645a5e._.js"].map(s=>e.l(s))).then(()=>s(680469)))},709072,e=>{e.v(s=>Promise.all(["server/chunks/[externals]__7b4c6b2b._.js","server/chunks/src_graph_executor_ts_a8bc8d58._.js","server/chunks/src_graph_914bb19c._.js","server/chunks/node_modules_18a495c8._.js"].map(s=>e.l(s))).then(()=>s(988840)))},208155,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__6db132e9._.js","server/chunks/src_graph_138dc200._.js","server/chunks/node_modules_18a495c8._.js"].map(s=>e.l(s))).then(()=>s(209662)))},502224,e=>{e.v(s=>Promise.all(["server/chunks/[root-of-the-server]__42e713f5._.js","server/chunks/src_graph_store_ts_d6588a77._.js","server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js","server/chunks/node_modules_d2858615._.js","server/chunks/node_modules_18a495c8._.js"].map(s=>e.l(s))).then(()=>s(291329)))}];
2
+
3
+ //# sourceMappingURL=_4d07f8db._.js.map
@@ -1,26 +1,71 @@
1
- module.exports=[37269,e=>{"use strict";var t=e.i(522734),n=e.i(446786),r=e.i(814747);let o=process.env.AGX_DATA_DIR||r.default.join(n.default.homedir(),".agx"),i=process.env.AGX_DEBUG_LOG_PATH||r.default.join(o,"logs","desktop-chat-debug.log");function a(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"string"==typeof t&&t.length>2e3?`${t.slice(0,2e3)}...<truncated>`:t}function s(){return i}function l(e,n){try{t.default.mkdirSync(r.default.dirname(i),{recursive:!0});let o=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...n?{payload:n}:{}},a);t.default.appendFileSync(i,`${o}
2
- `,"utf8")}catch{}}e.s(["getDebugLogPath",()=>s,"writeDebugLog",()=>l])},701435,e=>{"use strict";let t;var n=e.i(233405);function r(){return process.env.SHELL?.trim()||"/bin/bash"}function o(e){let o=function(){if(void 0!==t)return t;try{let e=r(),o=(0,n.spawnSync)(e,["-lc",'printf %s "$PATH"'],{encoding:"utf8",timeout:5e3});t=(0===o.status?o.stdout.trim():"")||null}catch{t=null}return t}();return{...process.env,...o?{PATH:o}:{},CLAUDECODE:void 0,...e}}function i(e){try{if(!/^[A-Za-z0-9._-]+$/.test(e))return!1;let t=r();return 0===(0,n.spawnSync)(t,["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8",timeout:5e3}).status}catch{return!1}}e.s(["buildSpawnEnv",()=>o,"commandExists",()=>i])},914350,e=>{"use strict";var t=e.i(233405),n=e.i(522734),r=e.i(814747),o=e.i(37269),i=e.i(701435);let a=e=>"string"==typeof e&&e.trim().length>0,s=e=>({push:e,flush:()=>{}}),l=e=>{let t="",n=0,r=!1,o=t=>{let o=t.trim();if(o)try{let t=JSON.parse(o);r=!0;let i=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&a(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&a(t?.delta?.text)?t.delta.text:""})(t);if(!i||t?.type==="assistant"&&n>0)return;n+=i.length,e(i)}catch{r||e(`${t}
3
- `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;o(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&o(t),t=""}}},u=e=>{let t="",n=!1,r="",o=t=>{let o=t.trim();if(o)try{let t=JSON.parse(o);n=!0,t?.type==="message"&&t?.role==="assistant"&&a(t?.content)&&((t,n)=>{if(t){if(n){if(r&&t.startsWith(r)){let n=t.slice(r.length);n&&e(n),r=t;return}e(t),r+=t;return}if(r&&t.startsWith(r)){let n=t.slice(r.length);n&&e(n),r=t;return}r||(e(t),r=t)}})(t.content,t?.delta===!0)}catch{n||e(`${t}
4
- `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;o(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&o(t),t=""}}},c=e=>{let t="",n=!1,r=new Set,o=t=>{let o=t.trim();if(o)try{let t=JSON.parse(o);if(n=!0,t?.type==="item.completed"&&a(t?.item?.id)){if(r.has(t.item.id))return;r.add(t.item.id)}let i=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&a(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&a(t.delta?.text)?t.delta.text:"":"";i&&e(i)}catch{n||e(`${t}
5
- `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;o(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&o(t),t=""}}},d=e=>{let t="",n=!1,r=[/^Thinking\.\.\./,/^<think>/i],o=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(n){let e=-1,r=0;for(let n of o){let o=t.match(n);o&&void 0!==o.index&&(o.index,o[0].length,(-1===e||o.index<e)&&(e=o.index,r=o[0].length))}if(-1!==e){t=t.slice(e+r),n=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let o of r){let r=t.match(o);if(r&&void 0!==r.index){let o=t.slice(0,r.index);o&&e.push(o),t=t.slice(r.index+r[0].length),n=!0;break}}if(n)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!n&&t&&e.push(t),t="",e.flush()}}},p=new Set(["claude","gemini","ollama","codex"]);function m({provider:e,model:t,prompt:n,systemPrompt:r}){switch(e){case"claude":{let e=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&e.push("--model",t),r&&e.push("--system-prompt",r),e.push(n),{command:"claude",args:e,parser:"claude-stream-json"}}case"gemini":return{command:"gemini",args:["--yolo","-p",r?`${r}
1
+ module.exports=[37269,e=>{"use strict";var t=e.i(522734),r=e.i(446786),n=e.i(814747);let a=process.env.AGX_DATA_DIR||n.default.join(r.default.homedir(),".agx"),i=process.env.AGX_DEBUG_LOG_PATH||n.default.join(a,"logs","desktop-chat-debug.log");function o(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack}:"string"==typeof t&&t.length>2e3?`${t.slice(0,2e3)}...<truncated>`:t}function s(){return i}function l(e,r){try{t.default.mkdirSync(n.default.dirname(i),{recursive:!0});let a=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,event:e,...r?{payload:r}:{}},o);t.default.appendFileSync(i,`${a}
2
+ `,"utf8")}catch{}}e.s(["getDebugLogPath",()=>s,"writeDebugLog",()=>l])},701435,e=>{"use strict";let t;var r=e.i(233405);function n(){return process.env.SHELL?.trim()||"/bin/bash"}function a(e){let a=function(){if(void 0!==t)return t;try{let e=n(),a=(0,r.spawnSync)(e,["-lc",'printf %s "$PATH"'],{encoding:"utf8",timeout:5e3});t=(0===a.status?a.stdout.trim():"")||null}catch{t=null}return t}();return{...process.env,...a?{PATH:a}:{},CLAUDECODE:void 0,...e}}function i(e){try{if(!/^[A-Za-z0-9._-]+$/.test(e))return!1;let t=n();return 0===(0,r.spawnSync)(t,["-lc",`command -v ${e} >/dev/null 2>&1`],{encoding:"utf8",timeout:5e3}).status}catch{return!1}}e.s(["buildSpawnEnv",()=>a,"commandExists",()=>i])},914350,e=>{"use strict";var t=e.i(233405),r=e.i(522734),n=e.i(814747),a=e.i(37269),i=e.i(701435),o=e.i(902157),s=e.i(660526),l=e.i(750227);function u(e){return e.replace(/\\/g,"/")}let c=e=>"string"==typeof e&&e.trim().length>0,d=e=>({push:e,flush:()=>{}}),p=e=>{let t="",r=0,n=!1,a=t=>{let a=t.trim();if(a)try{let t=JSON.parse(a);n=!0;let i=(e=>{if(!e||"object"!=typeof e)return"";if("assistant"===e.type)return(Array.isArray(e?.message?.content)?e.message.content:[]).flatMap(e=>e?.type==="text"&&c(e.text)?[e.text]:[]).join("");let t=e?.event;return"stream_event"===e.type&&t?.type==="content_block_delta"&&t?.delta?.type==="text_delta"&&c(t?.delta?.text)?t.delta.text:""})(t);if(!i||t?.type==="assistant"&&r>0)return;r+=i.length,e(i)}catch{n||e(`${t}
3
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;a(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&a(t),t=""}}},m=e=>{let t="",r=!1,n="",a=t=>{let a=t.trim();if(a)try{let t=JSON.parse(a);r=!0,t?.type==="message"&&t?.role==="assistant"&&c(t?.content)&&((t,r)=>{if(t){if(r){if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}e(t),n+=t;return}if(n&&t.startsWith(n)){let r=t.slice(n.length);r&&e(r),n=t;return}n||(e(t),n=t)}})(t.content,t?.delta===!0)}catch{r||e(`${t}
4
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;a(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&a(t),t=""}}},g=e=>{let t="",r=!1,n=new Set,a=t=>{let a=t.trim();if(a)try{let t=JSON.parse(a);if(r=!0,t?.type==="item.completed"&&c(t?.item?.id)){if(n.has(t.item.id))return;n.add(t.item.id)}let i=t&&"object"==typeof t?"item.completed"===t.type&&t.item?.type==="agent_message"&&c(t.item?.text)?t.item.text:"item.delta"===t.type&&t.item?.type==="agent_message"&&c(t.delta?.text)?t.delta.text:"":"";i&&e(i)}catch{r||e(`${t}
5
+ `)}};return{push:e=>{for(t+=e;;){let e=t.indexOf("\n");if(-1===e)break;a(t.slice(0,e)),t=t.slice(e+1)}},flush:()=>{t.trim()&&a(t),t=""}}},h=e=>{let t="",r=!1,n=[/^Thinking\.\.\./,/^<think>/i],a=[/\.\.\.done thinking\.?\s*/,/<\/think>/i];return{push:i=>{t+=i,(()=>{for(;t.length>0;){if(r){let e=-1,n=0;for(let r of a){let a=t.match(r);a&&void 0!==a.index&&(a.index,a[0].length,(-1===e||a.index<e)&&(e=a.index,n=a[0].length))}if(-1!==e){t=t.slice(e+n),r=!1,t=t.replace(/^\s*\n*/,"");continue}return}for(let a of n){let n=t.match(a);if(n&&void 0!==n.index){let a=t.slice(0,n.index);a&&e.push(a),t=t.slice(n.index+n[0].length),r=!0;break}}if(r)continue;let i=Math.max(0,t.length-30);i>0&&(e.push(t.slice(0,i)),t=t.slice(i));return}})()},flush:()=>{!r&&t&&e.push(t),t="",e.flush()}}},f=new Set(["claude","gemini","ollama","codex"]);function y({provider:e,model:t,prompt:r,systemPrompt:n}){switch(e){case"claude":{let e=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&e.push("--model",t),n&&e.push("--system-prompt",n),e.push(r),{command:"claude",args:e,parser:"claude-stream-json"}}case"gemini":return{command:"gemini",args:["--yolo","-p",n?`${n}
6
6
 
7
- ${n}`:n,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",r?`${r}
7
+ ${r}`:r,"-o","stream-json"],parser:"gemini-stream-json"};case"ollama":return{command:"ollama",args:["run",t||"llama3.2",n?`${n}
8
8
 
9
- ${n}`:n],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(r?`${r}
9
+ ${r}`:r],parser:"raw"};case"codex":{let e=["exec","--json"];return t&&e.push("--model",t),e.push(n?`${n}
10
10
 
11
- ${n}`:n),{command:"codex",args:e,parser:"codex-json"}}case"zai":{let e=process.env.ZAI_API_KEY?.trim(),o=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&o.push("--model",t),r&&o.push("--system-prompt",r),o.push(n),{command:"claude",args:o,parser:"claude-stream-json",env:{ANTHROPIC_BASE_URL:"https://api.z.ai/api/anthropic",...e?{ANTHROPIC_AUTH_TOKEN:e}:{}}}}default:return null}}function g(){let e=process.env.AGX_CLI_PATH?.trim();if(e&&n.default.existsSync(e))return e;for(let e of[r.default.resolve(process.cwd(),"..","cli","index.js"),r.default.resolve("/ROOT/lib","..","cli","index.js"),r.default.resolve(process.execPath,"..","..","Resources","cli","index.js")])if(n.default.existsSync(e))return e;return null}function f({provider:e,model:t,prompt:n,systemPrompt:r,passthroughArgs:o},a={}){let s=a.commandExists??i.commandExists,l=void 0===a.bundledCliPath?g():a.bundledCliPath,u=[],c=r?`${r}
11
+ ${r}`:r),{command:"codex",args:e,parser:"codex-json"}}case"zai":{let e=process.env.ZAI_API_KEY?.trim(),a=["-p","--verbose","--output-format","stream-json","--include-partial-messages"];return t&&a.push("--model",t),n&&a.push("--system-prompt",n),a.push(r),{command:"claude",args:a,parser:"claude-stream-json",env:{ANTHROPIC_BASE_URL:"https://api.z.ai/api/anthropic",...e?{ANTHROPIC_AUTH_TOKEN:e}:{}}}}default:return null}}function w(){let e=process.env.AGX_CLI_PATH?.trim();if(e&&r.default.existsSync(e))return e;for(let e of[n.default.resolve(process.cwd(),"..","cli","index.js"),n.default.resolve("/ROOT/lib","..","cli","index.js"),n.default.resolve(process.execPath,"..","..","Resources","cli","index.js")])if(r.default.existsSync(e))return e;return null}function v({provider:e,model:t,prompt:r,systemPrompt:n,passthroughArgs:a},o={}){let s=o.commandExists??i.commandExists,l=void 0===o.bundledCliPath?w():o.bundledCliPath,u=[],c=n?`${n}
12
12
 
13
- ${n}`:n;if(p.has(e)){let i=function({provider:e,model:t,prompt:n,cliPath:r,passthroughArgs:o}){let i=void 0===r?g():r;if(!i)return null;let a=[i,e,"-y","--print","--prompt",n];return t&&a.push("--model",t),o&&o.length>0&&a.push("--",...o),{command:process.execPath,args:a,parser:"raw"}}({provider:e,model:t,prompt:c,cliPath:l,passthroughArgs:o});i&&u.push(i),s("agx")&&u.push(function({provider:e,model:t,prompt:n,passthroughArgs:r}){let o=[e,"-y","--print","--prompt",n];return t&&o.push("--model",t),r&&r.length>0&&o.push("--",...r),{command:"agx",args:o,parser:"raw"}}({provider:e,model:t,prompt:c,passthroughArgs:o}));let a=m({provider:e,model:t,prompt:n,systemPrompt:r});return a&&s(a.command)&&u.push(a),u}let d=m({provider:e,model:t,prompt:n,systemPrompt:r});return d&&s(d.command)&&u.push(d),u}async function h({command:e,args:n,timeoutMs:r,signal:a,onDelta:s,onLog:l,onSpawn:u,env:c}){await new Promise((d,p)=>{(0,o.writeDebugLog)("cli-runner.spawn",{command:e,args:n,timeoutMs:r,bundledCliPath:g(),isElectron:process.env.AGX_ELECTRON||null}),l&&l("stderr",`$ ${e} ${n.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
14
- `);let m=(0,t.spawn)(e,n,{stdio:["ignore","pipe","pipe"],env:(0,i.buildSpawnEnv)(c)}),f=!1,h="",y=!1,w=e=>{f||(f=!0,clearTimeout(x),a&&a.removeEventListener("abort",v),e?p(e):d())},v=()=>{(0,o.writeDebugLog)("cli-runner.abort",{command:e,args:n,pid:m.pid??null}),m.kill("SIGTERM"),w(Error("Chat request aborted."))};a&&a.addEventListener("abort",v,{once:!0}),u&&m.pid&&u(m.pid),(0,o.writeDebugLog)("cli-runner.spawned",{command:e,args:n,pid:m.pid??null});let x=setTimeout(()=>{y=!0,(0,o.writeDebugLog)("cli-runner.timeout",{command:e,args:n,pid:m.pid??null,timeoutMs:r}),m.kill("SIGKILL"),w(Error(`CLI request timed out after ${r}ms.`))},r);m.stdout.on("data",e=>{let t=e.toString();h+=t,s(t),l&&l("stdout",t)}),m.stderr.on("data",e=>{let t=e.toString();h+=t,l&&l("stderr",t)}),m.on("error",t=>{(0,o.writeDebugLog)("cli-runner.process_error",{command:e,args:n,pid:m.pid??null,error:t}),w(t)}),m.on("close",(t,r)=>{if(!f&&!y){if((0,o.writeDebugLog)("cli-runner.close",{command:e,args:n,pid:m.pid??null,code:t??null,signal:r??null}),0===t)return void w();w(Error(`CLI command failed (exit=${t??"unknown"} signal=${r??"none"}).${h.trim()?` ${h.trim()}`:""}`))}})})}async function y({provider:e,model:t,prompt:n,identity:r,self:i,skills:a,systemContext:p,passthroughArgs:m,signal:y,onDelta:w,onLog:v,onSpawn:x}){let _,b,k,S,$=(_=!1,b=!1,k="",S=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!_?(_=!0,"\n"):"";let n=_?t.replace(/^\n+/,"\n"):t,r=n.trimStart(),o=S.test(r),i=b&&o&&!_,a=b&&!_&&!i&&!/^\s/.test(n)&&/[.!?)]/.test(k)&&/^[A-Z0-9`(]/.test(n),s=i?`
13
+ ${r}`:r;if(f.has(e)){let i=function({provider:e,model:t,prompt:r,cliPath:n,passthroughArgs:a}){let i=void 0===n?w():n;if(!i)return null;let o=[i,e,"-y","--print","--prompt",r];return t&&o.push("--model",t),a&&a.length>0&&o.push("--",...a),{command:process.execPath,args:o,parser:"raw"}}({provider:e,model:t,prompt:c,cliPath:l,passthroughArgs:a});i&&u.push(i),s("agx")&&u.push(function({provider:e,model:t,prompt:r,passthroughArgs:n}){let a=[e,"-y","--print","--prompt",r];return t&&a.push("--model",t),n&&n.length>0&&a.push("--",...n),{command:"agx",args:a,parser:"raw"}}({provider:e,model:t,prompt:c,passthroughArgs:a}));let o=y({provider:e,model:t,prompt:r,systemPrompt:n});return o&&s(o.command)&&u.push(o),u}let d=y({provider:e,model:t,prompt:r,systemPrompt:n});return d&&s(d.command)&&u.push(d),u}async function k({command:e,args:r,timeoutMs:n,signal:o,onDelta:s,onLog:l,onSpawn:u,env:c}){await new Promise((d,p)=>{(0,a.writeDebugLog)("cli-runner.spawn",{command:e,args:r,timeoutMs:n,bundledCliPath:w(),isElectron:process.env.AGX_ELECTRON||null}),l&&l("stderr",`$ ${e} ${r.map(e=>e.length>80?e.slice(0,80)+"…":e).join(" ")}
14
+ `);let m=(0,t.spawn)(e,r,{stdio:["ignore","pipe","pipe"],env:(0,i.buildSpawnEnv)(c)}),g=!1,h="",f=!1,y=e=>{g||(g=!0,clearTimeout(k),o&&o.removeEventListener("abort",v),e?p(e):d())},v=()=>{(0,a.writeDebugLog)("cli-runner.abort",{command:e,args:r,pid:m.pid??null}),m.kill("SIGTERM"),y(Error("Chat request aborted."))};o&&o.addEventListener("abort",v,{once:!0}),u&&m.pid&&u(m.pid),(0,a.writeDebugLog)("cli-runner.spawned",{command:e,args:r,pid:m.pid??null});let k=setTimeout(()=>{f=!0,(0,a.writeDebugLog)("cli-runner.timeout",{command:e,args:r,pid:m.pid??null,timeoutMs:n}),m.kill("SIGKILL"),y(Error(`CLI request timed out after ${n}ms.`))},n);m.stdout.on("data",e=>{let t=e.toString();h+=t,s(t),l&&l("stdout",t)}),m.stderr.on("data",e=>{let t=e.toString();h+=t,l&&l("stderr",t)}),m.on("error",t=>{(0,a.writeDebugLog)("cli-runner.process_error",{command:e,args:r,pid:m.pid??null,error:t}),y(t)}),m.on("close",(t,n)=>{if(!g&&!f){if((0,a.writeDebugLog)("cli-runner.close",{command:e,args:r,pid:m.pid??null,code:t??null,signal:n??null}),0===t)return void y();y(Error(`CLI command failed (exit=${t??"unknown"} signal=${n??"none"}).${h.trim()?` ${h.trim()}`:""}`))}})})}async function b({provider:e,model:t,prompt:r,identity:n,self:i,skills:o,systemContext:s,passthroughArgs:l,signal:u,onDelta:c,onLog:f,onSpawn:y}){let b,j,_,S,$=(b=!1,j=!1,_="",S=/^(?:```|~~~|#{1,6}\s|>\s|[-*+]\s|\d+\.\s)/,e=>{let t=e.replace(/\u001B\[[0-9;]*[A-Za-z]/g,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n");if(!t.trim())return t.includes("\n")&&!b?(b=!0,"\n"):"";let r=b?t.replace(/^\n+/,"\n"):t,n=r.trimStart(),a=S.test(n),i=j&&a&&!b,o=j&&!b&&!i&&!/^\s/.test(r)&&/[.!?)]/.test(_)&&/^[A-Z0-9`(]/.test(r),s=i?`
15
15
 
16
- ${n}`:a?`
17
- ${n}`:n;_=s.endsWith("\n"),b=b||s.trim().length>0;let l=s.replace(/\s+$/g,"");return l.length>0&&(k=l[l.length-1]??k),s}),j=e=>{let t=$(e);t&&w(t)},L=[];p&&L.push(p),r&&L.push(`<identity>
16
+ ${r}`:o?`
17
+ ${r}`:r;b=s.endsWith("\n"),j=j||s.trim().length>0;let l=s.replace(/\s+$/g,"");return l.length>0&&(_=l[l.length-1]??_),s}),L=e=>{let t=$(e);t&&c(t)},A=v({provider:e,model:t,prompt:r,systemPrompt:x({identity:n,self:i,skills:o,systemContext:s}),passthroughArgs:l});if(0===A.length)throw(0,a.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:w(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let E=null;for(let r of A){(0,a.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:r.command,args:r.args,parser:r.parser});let n="claude-stream-json"===r.parser?p(L):"codex-json"===r.parser?g(L):"gemini-stream-json"===r.parser?m(L):d(L),i=r.filterThoughts?h(n):n;try{await k({command:r.command,args:r.args,timeoutMs:18e5,signal:u,onDelta:i.push,onLog:f,onSpawn:y,env:r.env}),i.flush(),(0,a.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:r.command});return}catch(n){E=n instanceof Error?n:Error(String(n)),(0,a.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:r.command,error:E})}}throw E||Error("CLI execution failed.")}function x({identity:e,self:t,skills:r,systemContext:n}){let a=[];return n&&a.push(n),a.push(function(e={}){let t=function(e={}){let t=function(e={}){return l.default.join(function(e){let t=e?.trim();if(t)return t;let r=process.env.AGX_DATA_DIR?.trim();return r||l.default.join(s.default.homedir(),".agx")}(e.agxDataDir),"skills","scheduled-task-manager","SKILL.md")}(e),r=function(e={}){var t;let r,n=(t=e.workspaceRoot,(r=t?.trim())||process.cwd()),a=u(l.default.join(n,"planning","automation-frontmatter-migration-spec.md")),i=u(l.default.join(n,"src","automations")),o=u(l.default.join(n,"src","prompt-scheduler")),s=u(l.default.join(n,"src","graph","schedule-runner.ts")),c=u(l.default.join(n,"src","graph","store.ts")),d=u(l.default.join(n,"app","api","automations","route.ts")),p=u(l.default.join(n,"app","api","prompt-jobs","route.ts"));return`---
18
+ name: scheduled-task-manager
19
+ description: Use when creating, editing, migrating, debugging, or reviewing AGX scheduled tasks, automations, prompt jobs, execution graph schedules, or frontmatter-backed automation definitions.
20
+ ---
21
+
22
+ # Scheduled Task Manager
23
+
24
+ Use this skill whenever the task touches scheduled tasks, automations, prompt jobs, execution graph schedules, or automation frontmatter.
25
+
26
+ ## Read First
27
+
28
+ - [automation-frontmatter-migration-spec](${a})
29
+ - Shared automation model lives in [src/automations](${i})
30
+ - Prompt-job scheduling lives in [src/prompt-scheduler](${o})
31
+ - Execution-graph scheduling flows through [schedule-runner.ts](${s}) and [store.ts](${c})
32
+ - API entry points are [app/api/automations/route.ts](${d}) and [app/api/prompt-jobs/route.ts](${p})
33
+
34
+ ## Guardrails
35
+
36
+ - Reject malformed frontmatter. Do not coerce invalid enum values into defaults.
37
+ - Preserve stable automation ids. Renaming a task must not create a new id.
38
+ - Keep runtime state such as last run, next run, and archival flags out of frontmatter unless the spec explicitly says otherwise.
39
+ - Preserve sub-minute scheduled cadences when they are represented as \`intervalMs\`.
40
+ - For \`execution_graph\` targets, keep \`graphId\` and \`taskId\` resolution correct. Do not assume \`definition.id === taskId\`.
41
+ - Updating an automation definition should advance user-visible \`updatedAt\`.
42
+ - Avoid eager file-backed repository initialization on request paths that should stay lazy or rollout-gated.
43
+ - Keep parser and serializer behavior round-trippable unless the spec explicitly requires normalization.
44
+
45
+ ## Working Pattern
46
+
47
+ 1. Read the migration spec before changing storage, rollout, or validation behavior.
48
+ 2. Trace the full path: parser -> validation -> repository -> scheduler -> API.
49
+ 3. Add or update regression tests for parsing, serialization, due selection, and the affected API or runtime path.
50
+ 4. Prefer small fixes in the shared automation layer over duplicating logic in adapters.
51
+
52
+ ## Validation Checklist
53
+
54
+ - Scheduled triggers keep \`cronExpr\`, \`cadence\`, and sub-minute \`intervalMs\` semantics intact.
55
+ - Condition triggers validate required fields and reject unsupported polling intervals.
56
+ - Target-specific required fields are enforced.
57
+ - Invalid definitions fail closed and are excluded instead of silently rewritten.
58
+ - Prompt-job and execution-graph adapters preserve the same runtime meaning before and after frontmatter serialization.
59
+ `}(e);try{o.default.mkdirSync(l.default.dirname(t),{recursive:!0}),(o.default.existsSync(t)?o.default.readFileSync(t,"utf8"):null)!==r&&o.default.writeFileSync(t,r,"utf8")}catch(e){console.warn("[scheduled-task-skill] Failed to install skill:",e)}return t}(e);return`<scheduled-task-skill>
60
+ Path: ${u(t)}
61
+ Read this skill whenever the task involves scheduled tasks, automations, prompt jobs, execution graph schedules, or frontmatter-backed automation definitions.
62
+ </scheduled-task-skill>`}()),e&&a.push(`<identity>
63
+ ${e}
64
+ </identity>`),t&&a.push(`<self>
65
+ ${t}
66
+ </self>`),r&&a.push(`<skills>
18
67
  ${r}
19
- </identity>`),i&&L.push(`<self>
20
- ${i}
21
- </self>`),a&&L.push(`<skills>
22
- ${a}
23
- </skills>`);let E=f({provider:e,model:t,prompt:n,systemPrompt:L.length>0?L.join("\n\n"):void 0,passthroughArgs:m});if(0===E.length)throw(0,o.writeDebugLog)("cli-runner.no_attempts",{provider:e,model:t,bundledCliPath:g(),isElectron:process.env.AGX_ELECTRON||null}),Error(`No CLI runner available for provider "${e}". Install agx or provider CLI.`);let O=null;for(let n of E){(0,o.writeDebugLog)("cli-runner.attempt",{provider:e,model:t,command:n.command,args:n.args,parser:n.parser});let r="claude-stream-json"===n.parser?l(j):"codex-json"===n.parser?c(j):"gemini-stream-json"===n.parser?u(j):s(j),i=n.filterThoughts?d(r):r;try{await h({command:n.command,args:n.args,timeoutMs:18e5,signal:y,onDelta:i.push,onLog:v,onSpawn:x,env:n.env}),i.flush(),(0,o.writeDebugLog)("cli-runner.success",{provider:e,model:t,command:n.command});return}catch(r){O=r instanceof Error?r:Error(String(r)),(0,o.writeDebugLog)("cli-runner.failure",{provider:e,model:t,command:n.command,error:O})}}throw O||Error("CLI execution failed.")}e.s(["buildCliAttempts",()=>f,"runCliResponse",()=>y],914350)},877581,e=>{"use strict";var t=e.i(492952);function n(e,n){return t.vaultStore.getKnowledgeNote(e,n)}function r(e){return t.vaultStore.upsertKnowledgeNote(e)}e.s(["getKnowledgeNote",()=>n,"upsertKnowledgeNote",()=>r])},42304,940813,e=>{"use strict";var t=e.i(254799),n=e.i(914350),r=e.i(960447),o=e.i(492952);function i(e){return o.vaultStore.listKnowledgeEntries(e)}function a(e){return o.vaultStore.storeKnowledgeEntries(e)}e.s(["listKnowledgeEntries",()=>i,"storeKnowledgeEntries",()=>a],940813);var s=e.i(877581);let l=new Set(["outcome","decision","pattern","gotcha"]),u=`You are a memory extractor for a task execution system.
68
+ </skills>`),a.length>0?a.join("\n\n"):void 0}e.s(["buildCliAttempts",()=>v,"buildCliSystemPrompt",()=>x,"runCliResponse",()=>b],914350)},877581,e=>{"use strict";var t=e.i(492952);function r(e,r){return t.vaultStore.getKnowledgeNote(e,r)}function n(e){return t.vaultStore.upsertKnowledgeNote(e)}e.s(["getKnowledgeNote",()=>r,"upsertKnowledgeNote",()=>n])},42304,940813,e=>{"use strict";var t=e.i(254799),r=e.i(914350),n=e.i(960447),a=e.i(492952);function i(e){return a.vaultStore.listKnowledgeEntries(e)}function o(e){return a.vaultStore.storeKnowledgeEntries(e)}e.s(["listKnowledgeEntries",()=>i,"storeKnowledgeEntries",()=>o],940813);var s=e.i(877581);let l=new Set(["outcome","decision","pattern","gotcha"]),u=`You are a memory extractor for a task execution system.
24
69
  Given a completed task, extract 0-3 memories worth remembering for future tasks.
25
70
 
26
71
  Each memory must be:
@@ -53,16 +98,16 @@ Rules:
53
98
  - Do not include repo-specific durable truths that belong in repo knowledge.
54
99
  - Avoid generic filler and avoid sounding like an audit log.
55
100
  - If nothing project-scoped changed, return {"no_change": true}.
56
- - Do not wrap in markdown code blocks. Just raw JSON.`;async function d(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"),r=`${u}
101
+ - Do not wrap in markdown code blocks. Just raw JSON.`;async function d(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}
57
102
 
58
103
  Task:
59
- ${t}`,o="";try{await (0,n.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:r,onDelta:e=>{o+=e}})}catch(e){return console.warn("[memory-extractor] LLM call failed:",e),[]}var i=o;let a=i.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(a);if(!Array.isArray(e))return[];return e.filter(e=>"object"==typeof e&&null!==e&&l.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:",a.slice(0,200)),[]}}let p=new Set(["outcome","decision","pattern","gotcha"]),m=["agent_id","agentId","agent","participant_id","participantId","assigned_agent","assignedAgent"];function g(e){return"string"!=typeof e?null:e.trim()||null}function f(e){let t=g(e.explicitAgentId);if(t)return t;let n=e.frontmatter||{};for(let e of m){let t=g(n[e]);if(t)return t}return g(e.defaultUserId)||"system"}async function h(e,n,o){let i=(0,r.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
60
- VALUES (?, ?, ?, ?, ?, ?, ?)`),s=0,l=Date.now();for(let r of o){if(!p.has(r.memory_type)||!r.content?.trim())continue;let o=(0,t.createHash)("sha256").update(r.content.trim()).digest("hex");i.run((0,t.randomUUID)(),n,e,r.memory_type,r.content.trim(),o,l).changes>0&&s++}return s>0&&a(o.map(t=>({scope:"agent",subjectId:n,sourceType:"task_completion",sourceId:e,kind:t.memory_type,title:t.content.trim().slice(0,80),body:t.content.trim(),confidence:.7,durability:.6,metadata:{task_id:e}}))),s}async function y(e,t,n){let r=await d(n);if(0===r.length)return;let o=await h(e,t,r);o>0&&console.log(`[memory-extractor] Stored ${o} memories for task ${e}`)}async function w(e){let t=g(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,r.getSQLiteDb)().prepare("SELECT id FROM projects WHERE slug = ? LIMIT 1").get(t);return n?.id??null}async function v(e,t){let r=[`Goal: ${e.goal}`,`Status: ${e.status}`,e.nodeOutputs?`Node outputs: ${JSON.stringify(e.nodeOutputs).slice(0,2e3)}`:null].filter(Boolean).join("\n"),o=`${c}
104
+ ${t}`,a="";try{await (0,r.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 i=a;let o=i.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(o);if(!Array.isArray(e))return[];return e.filter(e=>"object"==typeof e&&null!==e&&l.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:",o.slice(0,200)),[]}}let p=new Set(["outcome","decision","pattern","gotcha"]),m=["agent_id","agentId","agent","participant_id","participantId","assigned_agent","assignedAgent"];function g(e){return"string"!=typeof e?null:e.trim()||null}function h(e){let t=g(e.explicitAgentId);if(t)return t;let r=e.frontmatter||{};for(let e of m){let t=g(r[e]);if(t)return t}return g(e.defaultUserId)||"system"}async function f(e,r,a){let i=(0,n.getSQLiteDb)().prepare(`INSERT OR IGNORE INTO agent_memory (id, agent_id, task_id, memory_type, content, content_hash, created_at)
105
+ VALUES (?, ?, ?, ?, ?, ?, ?)`),s=0,l=Date.now();for(let n of a){if(!p.has(n.memory_type)||!n.content?.trim())continue;let a=(0,t.createHash)("sha256").update(n.content.trim()).digest("hex");i.run((0,t.randomUUID)(),r,e,n.memory_type,n.content.trim(),a,l).changes>0&&s++}return s>0&&o(a.map(t=>({scope:"agent",subjectId:r,sourceType:"task_completion",sourceId:e,kind:t.memory_type,title:t.content.trim().slice(0,80),body:t.content.trim(),confidence:.7,durability:.6,metadata:{task_id:e}}))),s}async function y(e,t,r){let n=await d(r);if(0===n.length)return;let a=await f(e,t,n);a>0&&console.log(`[memory-extractor] Stored ${a} memories for task ${e}`)}async function w(e){let t=g(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 r=(0,n.getSQLiteDb)().prepare("SELECT id FROM projects WHERE slug = ? LIMIT 1").get(t);return r?.id??null}async function v(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}
61
106
 
62
107
  Current note:
63
108
  ${t||"(empty)"}
64
109
 
65
110
  Task:
66
- ${r}`,i="";try{await (0,n.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:o,onDelta:e=>{i+=e}})}catch(e){return console.warn("[project-knowledge] LLM call failed:",e),[]}let a=i.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(a);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:",a.slice(0,200)),[]}}async function x(e,t,n){if(0===n.length)return 0;let r=n[0];return r&&r.updated_note?.trim()?+!!(0,s.upsertKnowledgeNote)({scope:"project",subjectId:e,content:r.updated_note.trim(),changeSummary:r.change_summary,sourceType:"task_completion",sourceId:t,metadata:{task_id:t}}).changed:0}async function _(e,t,n){let r=await w(t);if(!r)return;let o=await v(n,(0,s.getKnowledgeNote)("project",r)?.content??"");if(0===o.length)return;let i=await x(r,e,o);i>0&&console.log(`[project-knowledge] Stored ${i} project knowledge entries for task ${e}`)}e.s(["extractAndStoreMemories",()=>y,"extractAndStoreProjectKnowledge",()=>_,"resolveMemoryAgentId",()=>f],42304)}];
111
+ ${n}`,i="";try{await (0,r.runCliResponse)({provider:"claude",model:"claude-haiku-4-5-20251001",prompt:a,onDelta:e=>{i+=e}})}catch(e){return console.warn("[project-knowledge] LLM call failed:",e),[]}let o=i.trim().replace(/^```(?:json)?\s*/i,"").replace(/\s*```\s*$/,"").trim();try{let e=JSON.parse(o);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:",o.slice(0,200)),[]}}async function k(e,t,r){if(0===r.length)return 0;let n=r[0];return n&&n.updated_note?.trim()?+!!(0,s.upsertKnowledgeNote)({scope:"project",subjectId:e,content:n.updated_note.trim(),changeSummary:n.change_summary,sourceType:"task_completion",sourceId:t,metadata:{task_id:t}}).changed:0}async function b(e,t,r){let n=await w(t);if(!n)return;let a=await v(r,(0,s.getKnowledgeNote)("project",n)?.content??"");if(0===a.length)return;let i=await k(n,e,a);i>0&&console.log(`[project-knowledge] Stored ${i} project knowledge entries for task ${e}`)}e.s(["extractAndStoreMemories",()=>y,"extractAndStoreProjectKnowledge",()=>b,"resolveMemoryAgentId",()=>h],42304)}];
67
112
 
68
113
  //# sourceMappingURL=lib_7f7835f1._.js.map