@mndrk/agx 2.0.32 → 2.0.34

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 (804) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +18 -0
  3. package/cloud-runtime/standalone/.next/build-manifest.json +6 -6
  4. package/cloud-runtime/standalone/.next/prerender-manifest.json +27 -3
  5. package/cloud-runtime/standalone/.next/routes-manifest.json +116 -0
  6. package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +4 -4
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +4 -4
  15. package/cloud-runtime/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  25. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +4 -4
  26. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  27. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  28. package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +4 -4
  29. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  30. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  32. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  33. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  34. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  35. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  36. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  37. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  38. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  39. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +4 -5
  46. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +6 -6
  50. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +1 -1
  54. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +1 -1
  56. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
  58. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/app-paths-manifest.json +3 -0
  61. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/build-manifest.json +11 -0
  62. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/server-reference-manifest.json +4 -0
  63. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js +7 -0
  64. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js.map +5 -0
  65. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js.nft.json +1 -0
  66. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route_client-reference-manifest.js +2 -0
  67. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
  72. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
  73. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
  74. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
  75. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
  76. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
  77. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
  78. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
  89. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +3 -2
  93. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  95. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +3 -3
  97. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
  99. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  101. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  105. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  107. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  109. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  111. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  113. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  115. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  117. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/app-paths-manifest.json +3 -0
  119. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/build-manifest.json +11 -0
  120. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/server-reference-manifest.json +4 -0
  121. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +10 -0
  122. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.map +5 -0
  123. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -0
  124. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route_client-reference-manifest.js +2 -0
  125. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/app-paths-manifest.json +3 -0
  126. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/build-manifest.json +11 -0
  127. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/server-reference-manifest.json +4 -0
  128. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js +10 -0
  129. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.map +5 -0
  130. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -0
  131. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route_client-reference-manifest.js +2 -0
  132. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/app-paths-manifest.json +3 -0
  133. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/build-manifest.json +11 -0
  134. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/server-reference-manifest.json +4 -0
  135. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js +10 -0
  136. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.map +5 -0
  137. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -0
  138. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route_client-reference-manifest.js +2 -0
  139. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/app-paths-manifest.json +3 -0
  140. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/build-manifest.json +11 -0
  141. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/server-reference-manifest.json +4 -0
  142. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +9 -0
  143. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.map +5 -0
  144. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -0
  145. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route_client-reference-manifest.js +2 -0
  146. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/app-paths-manifest.json +3 -0
  147. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/build-manifest.json +11 -0
  148. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/server-reference-manifest.json +4 -0
  149. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +12 -0
  150. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.map +5 -0
  151. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -0
  152. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route_client-reference-manifest.js +2 -0
  153. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/app-paths-manifest.json +3 -0
  154. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/build-manifest.json +11 -0
  155. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/server-reference-manifest.json +4 -0
  156. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js +10 -0
  157. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.map +5 -0
  158. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -0
  159. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route_client-reference-manifest.js +2 -0
  160. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +4 -3
  161. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +6 -6
  163. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +1 -1
  165. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +4 -5
  167. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +3 -4
  169. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +3 -4
  171. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/app-paths-manifest.json +3 -0
  173. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/build-manifest.json +11 -0
  174. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/server-reference-manifest.json +4 -0
  175. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +8 -0
  176. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.map +5 -0
  177. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -0
  178. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route_client-reference-manifest.js +2 -0
  179. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/app-paths-manifest.json +3 -0
  180. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/build-manifest.json +11 -0
  181. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/server-reference-manifest.json +4 -0
  182. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +8 -0
  183. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.map +5 -0
  184. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -0
  185. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route_client-reference-manifest.js +2 -0
  186. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/app-paths-manifest.json +3 -0
  187. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/build-manifest.json +11 -0
  188. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/server-reference-manifest.json +4 -0
  189. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +8 -0
  190. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.map +5 -0
  191. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -0
  192. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route_client-reference-manifest.js +2 -0
  193. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/app-paths-manifest.json +3 -0
  194. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/build-manifest.json +11 -0
  195. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/server-reference-manifest.json +4 -0
  196. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +8 -0
  197. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.map +5 -0
  198. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -0
  199. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route_client-reference-manifest.js +2 -0
  200. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/app-paths-manifest.json +3 -0
  201. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/build-manifest.json +11 -0
  202. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/server-reference-manifest.json +4 -0
  203. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +8 -0
  204. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.map +5 -0
  205. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -0
  206. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route_client-reference-manifest.js +2 -0
  207. package/cloud-runtime/standalone/.next/server/app/api/skills/route/app-paths-manifest.json +3 -0
  208. package/cloud-runtime/standalone/.next/server/app/api/skills/route/build-manifest.json +11 -0
  209. package/cloud-runtime/standalone/.next/server/app/api/skills/route/server-reference-manifest.json +4 -0
  210. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +8 -0
  211. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.map +5 -0
  212. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -0
  213. package/cloud-runtime/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +2 -0
  214. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/app-paths-manifest.json +3 -0
  215. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/build-manifest.json +11 -0
  216. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/server-reference-manifest.json +4 -0
  217. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +8 -0
  218. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.map +5 -0
  219. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -0
  220. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route_client-reference-manifest.js +2 -0
  221. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +4 -4
  222. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  223. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -4
  224. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  225. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +2 -2
  226. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  227. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  229. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +5 -5
  230. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  233. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  235. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  236. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  237. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
  238. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  239. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  244. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  245. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  246. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  247. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  248. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  249. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  251. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  253. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
  254. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  255. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
  256. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  257. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  258. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  259. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  260. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  263. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  264. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  265. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  266. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  267. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  268. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  269. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  270. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  271. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  272. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  273. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +6 -6
  274. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  275. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -4
  276. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  277. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  278. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  279. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +4 -4
  280. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  281. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +6 -6
  282. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  283. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/app-paths-manifest.json +3 -0
  284. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/build-manifest.json +11 -0
  285. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/server-reference-manifest.json +4 -0
  286. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js +7 -0
  287. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js.map +5 -0
  288. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js.nft.json +1 -0
  289. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route_client-reference-manifest.js +2 -0
  290. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +3 -3
  291. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  292. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +3 -3
  293. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  294. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  295. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  296. package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +4 -4
  297. package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +8 -1
  298. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  299. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  300. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  301. package/cloud-runtime/standalone/.next/server/app/automations.rsc +4 -4
  302. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +4 -4
  303. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  304. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  305. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
  306. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
  307. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  308. package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +4 -4
  309. package/cloud-runtime/standalone/.next/server/app/board/page.js.nft.json +1 -1
  310. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  311. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  312. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  313. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  314. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  315. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  316. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  317. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  318. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  319. package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +4 -4
  320. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  321. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  322. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  323. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
  324. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  325. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  326. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  327. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  328. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  329. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  330. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  331. package/cloud-runtime/standalone/.next/server/app/index.rsc +5 -5
  332. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  333. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
  334. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  335. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  336. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +4 -4
  337. package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +4 -4
  338. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  339. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  340. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/app-paths-manifest.json +3 -0
  341. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/build-manifest.json +18 -0
  342. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/next-font-manifest.json +11 -0
  343. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +8 -0
  344. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/server-reference-manifest.json +4 -0
  345. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js +16 -0
  346. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.map +5 -0
  347. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -0
  348. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +2 -0
  349. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +4 -4
  350. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  351. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  352. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +4 -4
  353. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  354. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  355. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +4 -4
  356. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  357. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  358. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +4 -4
  359. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  360. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  361. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +4 -4
  362. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  363. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  364. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  365. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +3 -3
  366. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  367. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  368. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  369. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  370. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  371. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  372. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  373. package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +4 -4
  374. package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  375. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  376. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  377. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  378. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  379. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  380. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  381. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  382. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  383. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  384. package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +4 -4
  385. package/cloud-runtime/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  386. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  387. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  388. package/cloud-runtime/standalone/.next/server/app/settings.rsc +3 -3
  389. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  390. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  391. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  392. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  393. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  394. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  395. package/cloud-runtime/standalone/.next/server/app/skills/page/app-paths-manifest.json +3 -0
  396. package/cloud-runtime/standalone/.next/server/app/skills/page/build-manifest.json +18 -0
  397. package/cloud-runtime/standalone/.next/server/app/skills/page/next-font-manifest.json +11 -0
  398. package/cloud-runtime/standalone/.next/server/app/skills/page/react-loadable-manifest.json +1 -0
  399. package/cloud-runtime/standalone/.next/server/app/skills/page/server-reference-manifest.json +4 -0
  400. package/cloud-runtime/standalone/.next/server/app/skills/page.js +15 -0
  401. package/cloud-runtime/standalone/.next/server/app/skills/page.js.map +5 -0
  402. package/cloud-runtime/standalone/.next/server/app/skills/page.js.nft.json +1 -0
  403. package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +2 -0
  404. package/cloud-runtime/standalone/.next/server/app/skills.html +21 -0
  405. package/cloud-runtime/standalone/.next/server/app/skills.meta +15 -0
  406. package/cloud-runtime/standalone/.next/server/app/skills.rsc +23 -0
  407. package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +23 -0
  408. package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +5 -0
  409. package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +9 -0
  410. package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +5 -0
  411. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +9 -0
  412. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +4 -0
  413. package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +4 -4
  414. package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
  415. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  416. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  417. package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
  418. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
  419. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  420. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  421. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  422. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  423. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  424. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +4 -4
  425. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  426. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  427. package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +4 -4
  428. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  429. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  430. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  431. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  432. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  433. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  434. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  435. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  436. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  437. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  438. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +18 -0
  439. package/cloud-runtime/standalone/.next/server/chunks/[externals]__cf9f18a6._.js +3 -0
  440. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c5634f17._.js → [root-of-the-server]__005b3c82._.js} +2 -2
  441. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e446cb39._.js → [root-of-the-server]__056d94e4._.js} +2 -2
  442. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
  443. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__068b4f08._.js +15 -0
  444. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0b3b6a47._.js +51 -0
  445. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0bb52353._.js +46 -0
  446. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0f580808._.js +13 -0
  447. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c26221d._.js → [root-of-the-server]__1a8e0957._.js} +2 -2
  448. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +3 -0
  449. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c08bef05._.js → [root-of-the-server]__23ad03bf._.js} +2 -2
  450. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
  451. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c187704._.js → [root-of-the-server]__2948f712._.js} +2 -2
  452. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__86f7d27b._.js → [root-of-the-server]__32ef6623._.js} +2 -2
  453. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__399b2ca9._.js → [root-of-the-server]__34cb1b98._.js} +2 -2
  454. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1dd062c1._.js → [root-of-the-server]__3c1567b6._.js} +2 -2
  455. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__29ce9c60._.js → [root-of-the-server]__3c37453e._.js} +2 -2
  456. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__507a4363._.js → [root-of-the-server]__3faa64cd._.js} +2 -2
  457. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
  458. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__10940c29._.js → [root-of-the-server]__49c03d66._.js} +2 -2
  459. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
  460. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__75bff965._.js → [root-of-the-server]__4c861686._.js} +2 -2
  461. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d865017._.js +48 -0
  462. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5031f8d4._.js +30 -0
  463. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +1 -1
  464. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__94fa1edc._.js → [root-of-the-server]__588b6ab0._.js} +2 -2
  465. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ccfcbcd5._.js → [root-of-the-server]__596d0e81._.js} +2 -2
  466. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9dfaaf72._.js → [root-of-the-server]__61c99680._.js} +2 -2
  467. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__64712846._.js +3 -0
  468. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__707c32af._.js +15 -0
  469. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7370bb86._.js +8 -0
  470. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__749af50f._.js +8 -0
  471. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__75cedecf._.js +6 -0
  472. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__98535eb3._.js → [root-of-the-server]__7e79d86a._.js} +2 -2
  473. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dede3dcd._.js → [root-of-the-server]__7ee9b7b6._.js} +2 -2
  474. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8ac0286e._.js +58 -0
  475. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
  476. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5b93200._.js → [root-of-the-server]__8b461158._.js} +2 -2
  477. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
  478. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
  479. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__927cfc20._.js +3 -0
  480. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__96ae701e._.js +3 -0
  481. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__981d92dd._.js +63 -0
  482. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98b352f7._.js +13 -0
  483. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a44db634._.js +8 -0
  484. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a55c16a5._.js +158 -0
  485. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
  486. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ab2bf82d._.js +13 -0
  487. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
  488. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6e59b27c._.js → [root-of-the-server]__b4931ee1._.js} +2 -2
  489. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e122cae2._.js → [root-of-the-server]__b500f1bf._.js} +2 -2
  490. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5ca87ba0._.js → [root-of-the-server]__b707e701._.js} +2 -2
  491. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f4b70b67._.js → [root-of-the-server]__be4ad4b5._.js} +2 -2
  492. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bf5803eb._.js +13 -0
  493. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +80 -0
  494. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
  495. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -0
  496. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ccd4846e._.js +13 -0
  497. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +1 -1
  498. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d4126e05._.js +15 -0
  499. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d908c9ea._.js +8 -0
  500. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2388b2b3._.js → [root-of-the-server]__dcdeee3d._.js} +2 -2
  501. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__80655727._.js → [root-of-the-server]__e069c0a3._.js} +2 -2
  502. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5a2358a._.js → [root-of-the-server]__e1e51c02._.js} +2 -2
  503. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e3a4fd97._.js +13 -0
  504. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4a87984._.js +15 -0
  505. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ee6511a0._.js +44 -0
  506. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__12afd8a3._.js → [root-of-the-server]__ef82dda1._.js} +2 -2
  507. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
  508. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +2 -2
  509. package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
  510. package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
  511. package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
  512. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
  513. package/cloud-runtime/standalone/.next/server/chunks/{_3e0d34cc._.js → _d22934ab._.js} +24 -24
  514. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_filesystem_pick-folder_route_actions_162664ff.js +3 -0
  515. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +3 -0
  516. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_cancel_route_actions_fbd5be89.js +3 -0
  517. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_route_actions_774a2e21.js +3 -0
  518. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_runs_route_actions_6e59ee83.js +3 -0
  519. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_agents_route_actions_399e1f19.js +3 -0
  520. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_poll_route_actions_23fbbfa1.js +3 -0
  521. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_route_actions_acf03860.js +3 -0
  522. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_assign_route_actions_15267be8.js +3 -0
  523. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_available_route_actions_24023111.js +3 -0
  524. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_detail_route_actions_1148baef.js +3 -0
  525. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_history_route_actions_5e5c4757.js +3 -0
  526. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_learn_route_actions_d3a37d25.js +3 -0
  527. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_route_actions_780e175f.js +3 -0
  528. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_unlearn_route_actions_3dfee433.js +3 -0
  529. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_thread-repos_route_actions_e95d24ee.js +3 -0
  530. package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +25 -0
  531. package/cloud-runtime/standalone/.next/server/chunks/lib_a5adca60._.js +64 -0
  532. package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
  533. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +1 -1
  534. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +50 -37
  535. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +50 -37
  536. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +38 -11
  537. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +43 -16
  538. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +19 -19
  539. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_def8bfbe.js +10 -0
  540. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +4 -3
  541. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +4 -3
  542. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__096c39a3._.js +3 -0
  543. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__226f8a19._.js +1 -1
  544. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
  545. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
  546. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__67d5f883._.js +3 -0
  547. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8b4e7816._.js +3 -0
  548. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8fe8b9dd._.js +3 -0
  549. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a37fb1c3._.js +3 -0
  550. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a456581d._.js +3 -0
  551. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__d74022f1._.js +3 -0
  552. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__fcbe03e6._.js → [root-of-the-server]__e0c64529._.js} +2 -2
  553. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ea035cd9._.js +3 -0
  554. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ffbc2e98._.js +2 -2
  555. package/cloud-runtime/standalone/.next/server/chunks/ssr/_05c8a494._.js +3 -0
  556. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0c5c111f._.js +3 -0
  557. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ffd2660._.js +1 -1
  558. package/cloud-runtime/standalone/.next/server/chunks/ssr/_23656a95._.js +3 -0
  559. package/cloud-runtime/standalone/.next/server/chunks/ssr/_23f5fddc._.js +3 -0
  560. package/cloud-runtime/standalone/.next/server/chunks/ssr/_24feb541._.js +4 -0
  561. package/cloud-runtime/standalone/.next/server/chunks/ssr/_27a789b3._.js +3 -0
  562. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_508cd32f._.js → _314f4c49._.js} +2 -2
  563. package/cloud-runtime/standalone/.next/server/chunks/ssr/_36b413cc._.js +3 -0
  564. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +3 -0
  565. package/cloud-runtime/standalone/.next/server/chunks/ssr/_46e00a9b._.js +95 -0
  566. package/cloud-runtime/standalone/.next/server/chunks/ssr/_478f4991._.js +3 -0
  567. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4bfdfb14._.js +3 -0
  568. package/cloud-runtime/standalone/.next/server/chunks/ssr/_52fe115d._.js +3 -0
  569. package/cloud-runtime/standalone/.next/server/chunks/ssr/_547b6462._.js +4 -0
  570. package/cloud-runtime/standalone/.next/server/chunks/ssr/_547f19ec._.js +3 -0
  571. package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +2 -2
  572. package/cloud-runtime/standalone/.next/server/chunks/ssr/_93914ecd._.js +1 -1
  573. package/cloud-runtime/standalone/.next/server/chunks/ssr/_9e07dcac._.js +95 -0
  574. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a1b966f7._.js +3 -0
  575. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a68d8f62._.js +3 -0
  576. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a80e12c8._.js +3 -0
  577. package/cloud-runtime/standalone/.next/server/chunks/ssr/_b1e1ef71._.js +95 -0
  578. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e1349560._.js +3 -0
  579. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_automations_page_actions_9371bc66.js +3 -0
  580. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_skills_page_actions_4ac82b1e.js +3 -0
  581. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_[id]_page_tsx_9c49d8c8._.js +1 -1
  582. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_page_tsx_f5f08ed8._.js +1 -1
  583. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
  584. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +1 -1
  585. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +4 -5
  586. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  587. package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_e70f9321._.js → node_modules_lucide-react_dist_esm_b82e03da._.js} +2 -2
  588. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_61a87db9._.js +3 -0
  589. package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_920e7746._.js → node_modules_next_f2865b38._.js} +2 -2
  590. package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +15 -0
  591. package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +4 -4
  592. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  593. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  594. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +8 -0
  595. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  596. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  597. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  598. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  599. package/cloud-runtime/standalone/.next/static/chunks/01428247f94115a6.js +1 -0
  600. package/cloud-runtime/standalone/.next/static/chunks/06cf0ed16bf8aa70.js +28 -0
  601. package/cloud-runtime/standalone/.next/static/chunks/19dd745b663fdffa.js +1 -0
  602. package/cloud-runtime/standalone/.next/static/chunks/1a3298f21d1040e9.js +4 -0
  603. package/cloud-runtime/standalone/.next/static/chunks/1c8583feefee0765.js +1 -0
  604. package/cloud-runtime/standalone/.next/static/chunks/1e3dede69b464364.js +1 -0
  605. package/cloud-runtime/standalone/.next/static/chunks/238a28856e739dc9.js +2 -0
  606. package/cloud-runtime/standalone/.next/static/chunks/24772e179852c73e.js +1 -0
  607. package/cloud-runtime/standalone/.next/static/chunks/2d1d138d8ea3234c.css +1 -0
  608. package/cloud-runtime/standalone/.next/static/chunks/2e011469003993e9.js +28 -0
  609. package/cloud-runtime/standalone/.next/static/chunks/31a4164e40ca71e5.js +6 -0
  610. package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +1 -0
  611. package/cloud-runtime/standalone/.next/static/chunks/3c202e89da05d9b9.js +1 -0
  612. package/cloud-runtime/standalone/.next/static/chunks/3c72becf6dff5597.js +1 -0
  613. package/cloud-runtime/standalone/.next/static/chunks/44dafb5e85578e12.js +16 -0
  614. package/cloud-runtime/standalone/.next/static/chunks/47f22a56011af8d3.js +1 -0
  615. package/cloud-runtime/standalone/.next/static/chunks/48e332ac3e9ed56c.js +1 -0
  616. package/cloud-runtime/standalone/.next/static/chunks/5b567b289ca2273e.css +1 -0
  617. package/cloud-runtime/standalone/.next/static/chunks/5d52c79d9812d06e.js +1 -0
  618. package/cloud-runtime/standalone/.next/static/chunks/617db51b7444f818.js +1 -0
  619. package/cloud-runtime/standalone/.next/static/chunks/673bb6094cea9ded.js +1 -0
  620. package/cloud-runtime/standalone/.next/static/chunks/787436fad75f5bc6.js +5 -0
  621. package/cloud-runtime/standalone/.next/static/chunks/8304e8487aa74059.css +2 -0
  622. package/cloud-runtime/standalone/.next/static/chunks/8a4684388ca0f6de.js +7 -0
  623. package/cloud-runtime/standalone/.next/static/chunks/9f236cc9572783b9.js +93 -0
  624. package/cloud-runtime/standalone/.next/static/chunks/a9aaec85125f69b1.js +1 -0
  625. package/cloud-runtime/standalone/.next/static/chunks/b4c29a62f9255268.js +1 -0
  626. package/cloud-runtime/standalone/.next/static/chunks/bf2bb1662353aff5.js +1 -0
  627. package/cloud-runtime/standalone/.next/static/chunks/c1fb885eed94aa8c.js +1 -0
  628. package/cloud-runtime/standalone/.next/static/chunks/c653186036e56204.js +1 -0
  629. package/cloud-runtime/standalone/.next/static/chunks/cb5581d868e78205.js +1 -0
  630. package/cloud-runtime/standalone/.next/static/chunks/cbdeb17a36b99000.js +1 -0
  631. package/cloud-runtime/standalone/.next/static/chunks/d5cc62984dc4205c.js +1 -0
  632. package/cloud-runtime/standalone/.next/static/chunks/d73f1cc3ebc9993b.js +1 -0
  633. package/cloud-runtime/standalone/.next/static/chunks/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
  634. package/cloud-runtime/standalone/.next/static/chunks/{8d15ced2dc70090a.js → da2b00558cf32f37.js} +1 -1
  635. package/cloud-runtime/standalone/.next/static/chunks/{turbopack-97e846241a3a64af.js → turbopack-22475f0dd0c18f92.js} +1 -1
  636. package/cloud-runtime/standalone/app/agents/[id]/page.tsx +4 -1
  637. package/cloud-runtime/standalone/app/agents/page.tsx +22 -2
  638. package/cloud-runtime/standalone/app/api/agent-specs/route.ts +4 -0
  639. package/cloud-runtime/standalone/app/api/agents/export/route.ts +4 -0
  640. package/cloud-runtime/standalone/app/api/chat/route.ts +44 -2
  641. package/cloud-runtime/standalone/app/api/filesystem/pick-folder/route.ts +56 -0
  642. package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -0
  643. package/cloud-runtime/standalone/app/api/participants/route.ts +50 -1
  644. package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/cancel/route.ts +44 -0
  645. package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/route.ts +94 -0
  646. package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/runs/route.ts +30 -0
  647. package/cloud-runtime/standalone/app/api/prompt-jobs/agents/route.ts +25 -0
  648. package/cloud-runtime/standalone/app/api/prompt-jobs/poll/route.ts +232 -0
  649. package/cloud-runtime/standalone/app/api/prompt-jobs/route.ts +125 -0
  650. package/cloud-runtime/standalone/app/api/skills/assign/route.ts +30 -0
  651. package/cloud-runtime/standalone/app/api/skills/available/route.ts +20 -0
  652. package/cloud-runtime/standalone/app/api/skills/detail/route.ts +23 -0
  653. package/cloud-runtime/standalone/app/api/skills/history/route.ts +18 -0
  654. package/cloud-runtime/standalone/app/api/skills/learn/route.ts +31 -0
  655. package/cloud-runtime/standalone/app/api/skills/route.ts +19 -0
  656. package/cloud-runtime/standalone/app/api/skills/unlearn/route.ts +30 -0
  657. package/cloud-runtime/standalone/app/api/thread-repos/route.ts +30 -0
  658. package/cloud-runtime/standalone/app/automations/page.tsx +15 -3
  659. package/cloud-runtime/standalone/app/execution-graph/page.tsx +2 -2
  660. package/cloud-runtime/standalone/app/globals.css +2 -0
  661. package/cloud-runtime/standalone/app/layout.tsx +1 -1
  662. package/cloud-runtime/standalone/app/projects/[slug]/automations/page.tsx +17 -0
  663. package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +210 -26
  664. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +3 -2
  665. package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +401 -86
  666. package/cloud-runtime/standalone/app/projects/orphans/page.tsx +1 -0
  667. package/cloud-runtime/standalone/app/projects/page.tsx +3 -3
  668. package/cloud-runtime/standalone/app/skills/page.tsx +399 -0
  669. package/cloud-runtime/standalone/components/FloatingPanel.tsx +200 -0
  670. package/cloud-runtime/standalone/components/Layout.tsx +7 -1
  671. package/cloud-runtime/standalone/components/NowRunningPanel.tsx +86 -76
  672. package/cloud-runtime/standalone/components/ProjectModal.tsx +29 -12
  673. package/cloud-runtime/standalone/components/PromptJobBoard.tsx +1434 -0
  674. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +147 -57
  675. package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +215 -19
  676. package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
  677. package/cloud-runtime/standalone/components/chat-ui/ParticipantBar.tsx +233 -213
  678. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +131 -68
  679. package/cloud-runtime/standalone/db/sqlite/001_agx_board_schema.sql +28 -0
  680. package/cloud-runtime/standalone/db/sqlite/002_prompt_scheduler_schema.sql +45 -0
  681. package/cloud-runtime/standalone/db/sqlite/003_prompt_scheduler_v2.sql +13 -0
  682. package/cloud-runtime/standalone/hooks/useAttachments.ts +2 -1
  683. package/cloud-runtime/standalone/hooks/useGroupChat.ts +8 -1
  684. package/cloud-runtime/standalone/hooks/useProcessPolling.ts +4 -3
  685. package/cloud-runtime/standalone/hooks/usePromptJobs.ts +111 -0
  686. package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
  687. package/cloud-runtime/standalone/lib/agent-participants.ts +7 -0
  688. package/cloud-runtime/standalone/lib/agent-skill-bindings.ts +118 -0
  689. package/cloud-runtime/standalone/lib/chat/paste-attachments.ts +152 -0
  690. package/cloud-runtime/standalone/lib/cli-runner.ts +212 -14
  691. package/cloud-runtime/standalone/lib/db.ts +6 -1
  692. package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
  693. package/cloud-runtime/standalone/lib/history-store.ts +116 -2
  694. package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +51 -0
  695. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +6 -0
  696. package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
  697. package/cloud-runtime/standalone/lib/skills-library.ts +450 -0
  698. package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +32 -0
  699. package/cloud-runtime/standalone/lib/stream-multiplexer.ts +59 -11
  700. package/cloud-runtime/standalone/lib/types.ts +10 -0
  701. package/cloud-runtime/standalone/migrations/sqlite_schema.sql +28 -0
  702. package/cloud-runtime/standalone/src/graph/llm-review.ts +19 -2
  703. package/cloud-runtime/standalone/src/prompt-scheduler/cron.ts +46 -0
  704. package/cloud-runtime/standalone/src/prompt-scheduler/engine.ts +87 -0
  705. package/cloud-runtime/standalone/src/prompt-scheduler/get-store.ts +36 -0
  706. package/cloud-runtime/standalone/src/prompt-scheduler/runner.ts +144 -0
  707. package/cloud-runtime/standalone/src/prompt-scheduler/store.ts +327 -0
  708. package/cloud-runtime/standalone/src/prompt-scheduler/types.ts +82 -0
  709. package/cloud-runtime/standalone/state/floatingPanels.ts +47 -0
  710. package/cloud-runtime/standalone/styles/composer-pills.css +156 -2
  711. package/cloud-runtime/standalone/styles/workspaceSidebar.css +5 -3
  712. package/cloud-runtime/standalone/test/adapters/sqlite.ts +1 -0
  713. package/cloud-runtime/standalone/update_officeapp.js +36 -0
  714. package/cloud-runtime/standalone/update_store.js +47 -0
  715. package/cloud-runtime/standalone/worker/index.js +862 -176
  716. package/lib/cli/runCli.js +0 -97
  717. package/lib/commands/update.js +159 -17
  718. package/package.json +1 -1
  719. package/cloud-runtime/standalone/.next/server/chunks/[externals]__1f4b15dd._.js +0 -3
  720. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0925dd01._.js +0 -46
  721. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12c7e188._.js +0 -29
  722. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__17c2d68f._.js +0 -52
  723. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20b3baea._.js +0 -55
  724. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__254e942f._.js +0 -20
  725. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
  726. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
  727. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4761dc17._.js +0 -8
  728. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4b1a512c._.js +0 -52
  729. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c8624cc._.js +0 -3
  730. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d318eb0._.js +0 -146
  731. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
  732. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__666f8712._.js +0 -3
  733. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +0 -52
  734. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a189593a._.js +0 -3
  735. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac3c2f7f._.js +0 -52
  736. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bfcedb7c._.js +0 -52
  737. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e7dd1e._.js +0 -25
  738. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
  739. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcd3e3b8._.js +0 -15
  740. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9c61da._.js +0 -3
  741. package/cloud-runtime/standalone/.next/server/chunks/_66e1ddec._.js +0 -57
  742. package/cloud-runtime/standalone/.next/server/chunks/lib_09aac4e7._.js +0 -57
  743. package/cloud-runtime/standalone/.next/server/chunks/lib_cli-runner_ts_dfcf3fda._.js +0 -18
  744. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_69b6b2e1.js +0 -3
  745. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1322ced8._.js +0 -3
  746. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__783669c3._.js +0 -3
  747. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +0 -3
  748. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__9166c1d6._.js +0 -3
  749. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a8a8afdc._.js +0 -3
  750. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0061ebd8._.js +0 -3
  751. package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +0 -3
  752. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0f4e70b1._.js +0 -3
  753. package/cloud-runtime/standalone/.next/server/chunks/ssr/_16c45024._.js +0 -3
  754. package/cloud-runtime/standalone/.next/server/chunks/ssr/_54af99c5._.js +0 -3
  755. package/cloud-runtime/standalone/.next/server/chunks/ssr/_5b2b8a85._.js +0 -95
  756. package/cloud-runtime/standalone/.next/server/chunks/ssr/_68ac991e._.js +0 -95
  757. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6de3f1de._.js +0 -3
  758. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6fc3736e._.js +0 -95
  759. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +0 -3
  760. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ccb409c5._.js +0 -3
  761. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +0 -3
  762. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fb292eed._.js +0 -3
  763. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ff5799d6._.js +0 -95
  764. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_automations_page_tsx_3d732184._.js +0 -3
  765. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_678fa868._.js +0 -3
  766. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_852965c2._.js +0 -3
  767. package/cloud-runtime/standalone/.next/static/chunks/010aff7b601302de.js +0 -16
  768. package/cloud-runtime/standalone/.next/static/chunks/09f9eeea393db0fd.js +0 -4
  769. package/cloud-runtime/standalone/.next/static/chunks/0c467f54bc78a380.js +0 -1
  770. package/cloud-runtime/standalone/.next/static/chunks/10b0642440302e99.css +0 -2
  771. package/cloud-runtime/standalone/.next/static/chunks/1f415d0ce7ebbd08.js +0 -8
  772. package/cloud-runtime/standalone/.next/static/chunks/24a6ee21f430da93.js +0 -1
  773. package/cloud-runtime/standalone/.next/static/chunks/27129bea5b512ce8.js +0 -1
  774. package/cloud-runtime/standalone/.next/static/chunks/3e4e8857f875c964.js +0 -1
  775. package/cloud-runtime/standalone/.next/static/chunks/4200b512bdc226bc.js +0 -93
  776. package/cloud-runtime/standalone/.next/static/chunks/463edf3533d27a56.js +0 -1
  777. package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +0 -5
  778. package/cloud-runtime/standalone/.next/static/chunks/58025a80caa3629d.js +0 -93
  779. package/cloud-runtime/standalone/.next/static/chunks/5cb0c885b085ea6c.js +0 -1
  780. package/cloud-runtime/standalone/.next/static/chunks/60c054bb8b2cffa6.css +0 -1
  781. package/cloud-runtime/standalone/.next/static/chunks/651c7c97d3bd77e0.js +0 -28
  782. package/cloud-runtime/standalone/.next/static/chunks/6fbe08eab578c7d3.js +0 -93
  783. package/cloud-runtime/standalone/.next/static/chunks/7d4c1d97169c8522.js +0 -1
  784. package/cloud-runtime/standalone/.next/static/chunks/7e2edf97bd6c0874.js +0 -1
  785. package/cloud-runtime/standalone/.next/static/chunks/8249f202d33d0d95.js +0 -1
  786. package/cloud-runtime/standalone/.next/static/chunks/87f099ea02aa419d.js +0 -93
  787. package/cloud-runtime/standalone/.next/static/chunks/9048e44ed538b21a.js +0 -2
  788. package/cloud-runtime/standalone/.next/static/chunks/99174504a201d23e.js +0 -28
  789. package/cloud-runtime/standalone/.next/static/chunks/9f8f719c4aa25e3d.js +0 -1
  790. package/cloud-runtime/standalone/.next/static/chunks/a66e1891e808a664.js +0 -1
  791. package/cloud-runtime/standalone/.next/static/chunks/a8e8ef440c4daa5a.css +0 -1
  792. package/cloud-runtime/standalone/.next/static/chunks/bc727d3d9993e9be.js +0 -1
  793. package/cloud-runtime/standalone/.next/static/chunks/cd308f61797939cd.js +0 -6
  794. package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +0 -1
  795. package/cloud-runtime/standalone/.next/static/chunks/e62d5fa120fdf21f.js +0 -1
  796. package/cloud-runtime/standalone/agx-board.json +0 -264
  797. package/cloud-runtime/standalone/agx-cli.json +0 -2195
  798. package/cloud-runtime/standalone/fix-primary.js +0 -30
  799. package/cloud-runtime/standalone/fix-theme.js +0 -78
  800. package/cloud-runtime/standalone/test-file +0 -0
  801. package/cloud-runtime/standalone/testfile +0 -0
  802. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → G0Hrt7JKBM1EtMPT0lUIr}/_buildManifest.js +0 -0
  803. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → G0Hrt7JKBM1EtMPT0lUIr}/_clientMiddlewareManifest.json +0 -0
  804. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → G0Hrt7JKBM1EtMPT0lUIr}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747),r=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||a.default.join(r.default.homedir(),".agx","group-chat"),n=a.default.join(i,"history.sqlite"),d="global",o=new Set(["ack","working","done","clarify","blocked"]),p={ack:new Set(["ack","working"]),working:new Set(["ack","working","done","clarify","blocked"]),done:new Set(["done","ack","working"]),clarify:new Set(["ack","clarify","working"]),blocked:new Set(["ack","blocked","working"])};class _ extends Error{status;constructor(e,t){super(e),this.name="ReactionStoreError",this.status=t}}function E(e,t){return e.prepare(`PRAGMA table_info(${t})`).all().some(e=>"thread_id"===e.name)}function m(e){if(!e)return null;try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}function l(e){return{id:e.id,threadId:e.thread_id,rootMessageId:e.root_message_id,userId:e.user_id,projectSlug:e.project_slug,status:e.status,currentStep:e.current_step,maxSteps:e.max_steps,stepsUsed:e.steps_used,lastError:e.last_error,activeParticipantIds:function(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}}(e.active_participant_ids),payload:m(e.payload_json),result:m(e.result_json),createdAt:e.created_at,updatedAt:e.updated_at,completedAt:e.completed_at}}function T(e){return{id:e.id,chatRunId:e.chat_run_id,stepIndex:e.step_index,kind:e.kind,status:e.status,participantId:e.participant_id,inputPayload:m(e.input_payload_json),outputPayload:m(e.output_payload_json),startedAt:e.started_at,completedAt:e.completed_at}}let c=async e=>{await s.promises.mkdir(i,{recursive:!0});let a=new t.default(n);a.pragma("journal_mode = WAL");try{let t,s;return a.exec(`
1
+ module.exports=[55248,e=>{"use strict";var t=e.i(85148),a=e.i(22734),s=e.i(14747),r=e.i(46786);let i=process.env.AGX_GROUP_CHAT_DIR?.trim()||s.default.join(r.default.homedir(),".agx","group-chat"),n=s.default.join(i,"history.sqlite"),d="global",o=new Set(["ack","working","done","clarify","blocked"]),p={ack:new Set(["ack","working"]),working:new Set(["ack","working","done","clarify","blocked"]),done:new Set(["done","ack","working"]),clarify:new Set(["ack","clarify","working"]),blocked:new Set(["ack","blocked","working"])};class _ extends Error{status;constructor(e,t){super(e),this.name="ReactionStoreError",this.status=t}}function E(e,t){return e.prepare(`PRAGMA table_info(${t})`).all().some(e=>"thread_id"===e.name)}function l(e){if(!e)return null;try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}function m(e){return{id:e.id,threadId:e.thread_id,rootMessageId:e.root_message_id,userId:e.user_id,projectSlug:e.project_slug,status:e.status,currentStep:e.current_step,maxSteps:e.max_steps,stepsUsed:e.steps_used,lastError:e.last_error,activeParticipantIds:function(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}}(e.active_participant_ids),payload:l(e.payload_json),result:l(e.result_json),createdAt:e.created_at,updatedAt:e.updated_at,completedAt:e.completed_at}}function c(e){return{id:e.id,chatRunId:e.chat_run_id,stepIndex:e.step_index,kind:e.kind,status:e.status,participantId:e.participant_id,inputPayload:l(e.input_payload_json),outputPayload:l(e.output_payload_json),startedAt:e.started_at,completedAt:e.completed_at}}let T=async e=>{await a.promises.mkdir(i,{recursive:!0});let s=new t.default(n);s.pragma("journal_mode = WAL");try{let t,a;return s.exec(`
2
2
  CREATE TABLE IF NOT EXISTS messages (
3
3
  thread_id TEXT NOT NULL,
4
4
  id TEXT NOT NULL,
@@ -77,7 +77,12 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
77
77
  started_at INTEGER NOT NULL,
78
78
  completed_at INTEGER
79
79
  );
80
- `),E(a,"messages")||a.exec(`
80
+ CREATE TABLE IF NOT EXISTS thread_repo_selections (
81
+ thread_id TEXT NOT NULL,
82
+ repo_id TEXT NOT NULL,
83
+ PRIMARY KEY (thread_id, repo_id)
84
+ );
85
+ `),E(s,"messages")||s.exec(`
81
86
  ALTER TABLE messages RENAME TO messages_legacy;
82
87
  CREATE TABLE messages (
83
88
  thread_id TEXT NOT NULL,
@@ -92,7 +97,7 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
92
97
  SELECT '${d}', id, role, participant_id, content, timestamp
93
98
  FROM messages_legacy;
94
99
  DROP TABLE messages_legacy;
95
- `),E(a,"message_reactions")||a.exec(`
100
+ `),E(s,"message_reactions")||s.exec(`
96
101
  ALTER TABLE message_reactions RENAME TO message_reactions_legacy;
97
102
  CREATE TABLE message_reactions (
98
103
  thread_id TEXT NOT NULL,
@@ -110,7 +115,7 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
110
115
  SELECT '${d}', message_id, participant_id, type, reason, blocker_code, NULL, updated_at
111
116
  FROM message_reactions_legacy;
112
117
  DROP TABLE message_reactions_legacy;
113
- `),new Set(a.prepare("PRAGMA table_info(logs)").all().map(e=>e.name)).has("agent_process_id")||a.exec(`
118
+ `),new Set(s.prepare("PRAGMA table_info(logs)").all().map(e=>e.name)).has("agent_process_id")||s.exec(`
114
119
  DROP TABLE IF EXISTS logs;
115
120
  CREATE TABLE logs (
116
121
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -119,15 +124,15 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
119
124
  line TEXT NOT NULL,
120
125
  timestamp INTEGER NOT NULL
121
126
  );
122
- `),new Set(a.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("root_message_id")||a.exec(`
127
+ `),new Set(s.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("root_message_id")||s.exec(`
123
128
  ALTER TABLE messages ADD COLUMN root_message_id TEXT;
124
129
  ALTER TABLE messages ADD COLUMN parent_message_id TEXT;
125
130
  ALTER TABLE messages ADD COLUMN depth INTEGER NOT NULL DEFAULT 0;
126
131
  CREATE INDEX IF NOT EXISTS idx_messages_root ON messages(thread_id, root_message_id);
127
- `),new Set(a.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("thread_status")||a.exec(`
132
+ `),new Set(s.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("thread_status")||s.exec(`
128
133
  ALTER TABLE messages ADD COLUMN thread_status TEXT;
129
134
  ALTER TABLE messages ADD COLUMN outcome_note TEXT;
130
- `),(t=new Set(a.prepare("PRAGMA table_info(message_reactions)").all().map(e=>e.name))).has("host_pid")||a.exec("ALTER TABLE message_reactions ADD COLUMN host_pid INTEGER"),t.has("response_message_id")||a.exec("ALTER TABLE message_reactions ADD COLUMN response_message_id TEXT"),a.exec("UPDATE messages SET thread_status = 'in-review' WHERE thread_status = 'parked'"),a.exec("UPDATE messages SET thread_status = 'active' WHERE thread_status = 'thinking'"),a.exec("UPDATE messages SET thread_status = 'done' WHERE thread_status = 'resolved'"),a.exec("UPDATE messages SET thread_status = 'active' WHERE thread_status = 'converged'"),s=a.prepare("PRAGMA table_info(agent_processes)").all(),0===s.length||new Set(s.map(e=>e.name)).has("id")||a.exec(`
135
+ `),(t=new Set(s.prepare("PRAGMA table_info(message_reactions)").all().map(e=>e.name))).has("host_pid")||s.exec("ALTER TABLE message_reactions ADD COLUMN host_pid INTEGER"),t.has("response_message_id")||s.exec("ALTER TABLE message_reactions ADD COLUMN response_message_id TEXT"),s.exec("UPDATE messages SET thread_status = 'in-review' WHERE thread_status = 'parked'"),s.exec("UPDATE messages SET thread_status = 'active' WHERE thread_status = 'thinking'"),s.exec("UPDATE messages SET thread_status = 'done' WHERE thread_status = 'resolved'"),s.exec("UPDATE messages SET thread_status = 'active' WHERE thread_status = 'converged'"),a=s.prepare("PRAGMA table_info(agent_processes)").all(),0===a.length||new Set(a.map(e=>e.name)).has("id")||s.exec(`
131
136
  DROP TABLE IF EXISTS agent_processes;
132
137
  CREATE TABLE agent_processes (
133
138
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -163,42 +168,42 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
163
168
  INSERT INTO messages_fts(messages_fts, rowid, content) VALUES('delete', old.rowid, old.content);
164
169
  INSERT INTO messages_fts(rowid, content) VALUES (new.rowid, new.content);
165
170
  END;
166
- `),0===e.prepare("SELECT COUNT(*) as count FROM messages").get().count)return;let s=e.prepare("SELECT COUNT(*) as count FROM messages_fts").get().count;t&&0!==s||e.exec("INSERT INTO messages_fts(rowid, content) SELECT rowid, content FROM messages;")}(a),a.exec(`
171
+ `),0===e.prepare("SELECT COUNT(*) as count FROM messages").get().count)return;let a=e.prepare("SELECT COUNT(*) as count FROM messages_fts").get().count;t&&0!==a||e.exec("INSERT INTO messages_fts(rowid, content) SELECT rowid, content FROM messages;")}(s),s.exec(`
167
172
  CREATE INDEX IF NOT EXISTS idx_messages_thread_ts ON messages(thread_id, timestamp ASC);
168
173
  CREATE INDEX IF NOT EXISTS idx_reactions_thread_message ON message_reactions(thread_id, message_id, updated_at ASC);
169
174
  CREATE INDEX IF NOT EXISTS idx_logs_process_ts ON logs(agent_process_id, timestamp ASC);
170
175
  CREATE INDEX IF NOT EXISTS idx_chat_runs_thread_updated ON chat_runs(thread_id, updated_at DESC);
171
176
  CREATE INDEX IF NOT EXISTS idx_chat_runs_status_updated ON chat_runs(status, updated_at DESC);
172
177
  CREATE INDEX IF NOT EXISTS idx_chat_run_steps_run_step ON chat_run_steps(chat_run_id, step_index ASC);
173
- `),e(a)}finally{a.close()}};function u(e){let t=new Map;for(let s of e){let e=t.get(s.message_id);e||(e=new Map,t.set(s.message_id,e));let a=e.get(s.type);a||(a={type:s.type,count:0,participantIds:[]},e.set(s.type,a)),a.count+=1,a.participantIds.push(s.participant_id)}let s=new Map;for(let[e,a]of t.entries()){let t=Array.from(a.values()).sort((e,t)=>t.count!==e.count?t.count-e.count:e.type.localeCompare(t.type));s.set(e,t)}return s}function g(e,t,s){if(s&&0===s.length)return new Map;if(s){let a=s.map(()=>"?").join(", ");return u(e.prepare(`SELECT message_id, participant_id, type
178
+ `),e(s)}finally{s.close()}};function u(e){let t=new Map;for(let a of e){let e=t.get(a.message_id);e||(e=new Map,t.set(a.message_id,e));let s=e.get(a.type);s||(s={type:a.type,count:0,participantIds:[]},e.set(a.type,s)),s.count+=1,s.participantIds.push(a.participant_id)}let a=new Map;for(let[e,s]of t.entries()){let t=Array.from(s.values()).sort((e,t)=>t.count!==e.count?t.count-e.count:e.type.localeCompare(t.type));a.set(e,t)}return a}function g(e,t,a){if(a&&0===a.length)return new Map;if(a){let s=a.map(()=>"?").join(", ");return u(e.prepare(`SELECT message_id, participant_id, type
174
179
  FROM message_reactions
175
- WHERE thread_id = ? AND message_id IN (${a})
176
- ORDER BY updated_at ASC`).all(t,...s))}return u(e.prepare(`SELECT message_id, participant_id, type
180
+ WHERE thread_id = ? AND message_id IN (${s})
181
+ ORDER BY updated_at ASC`).all(t,...a))}return u(e.prepare(`SELECT message_id, participant_id, type
177
182
  FROM message_reactions
178
183
  WHERE thread_id = ?
179
- ORDER BY updated_at ASC`).all(t))}function N(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function L(e){return"number"!=typeof e||!Number.isInteger(e)||e<=0?null:e}function h(e,t,s=100){return Math.min(Math.max(Math.trunc(Number.isFinite(e)?Number(e):t),1),s)}function R(e){return e.replace(/[\\%_]/g,"\\$&")}function I(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function O(e,t){return{id:e.id,role:e.role,participantId:e.participant_id,content:e.content,timestamp:e.timestamp,reactions:t.get(e.id),rootMessageId:e.root_message_id,parentMessageId:e.parent_message_id,depth:e.depth,...e.thread_status?{threadStatus:e.thread_status}:{},...e.outcome_note?{outcomeNote:e.outcome_note}:{}}}function A(e){return e.replace(/\[agx:spawn\]\s*/g,"").replace(/\s*\[agx:exit:\d+\]\s*/g,"").replace(/^\[SKIP\]\s*$/gm,"").trim()}function S(e){return"working"===e?"running":"done"===e?"done":"blocked"===e||"clarify"===e?"failed":null}async function f(e){let{status:t,limit:s=20,offset:a=0}=e??{};return c(e=>{let r=["m.root_message_id IS NULL","m.depth = 0"],i=[];t&&(r.push("COALESCE(m.thread_status, 'active') = ?"),i.push(t));let n=r.join(" AND "),d=e.prepare(`SELECT COUNT(*) as cnt FROM messages m WHERE ${n}`).get(...(i.length?[i]:[]).flat());return{rows:e.prepare(`SELECT m.thread_id, m.id, m.content, m.timestamp,
184
+ ORDER BY updated_at ASC`).all(t))}function N(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function h(e){return"number"!=typeof e||!Number.isInteger(e)||e<=0?null:e}function L(e,t,a=100){return Math.min(Math.max(Math.trunc(Number.isFinite(e)?Number(e):t),1),a)}function R(e){return e.replace(/[\\%_]/g,"\\$&")}function I(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function O(e,t){return{id:e.id,role:e.role,participantId:e.participant_id,content:e.content,timestamp:e.timestamp,reactions:t.get(e.id),rootMessageId:e.root_message_id,parentMessageId:e.parent_message_id,depth:e.depth,...e.thread_status?{threadStatus:e.thread_status}:{},...e.outcome_note?{outcomeNote:e.outcome_note}:{}}}function A(e){return e.replace(/\[agx:spawn\]\s*/g,"").replace(/\s*\[agx:exit:\d+\]\s*/g,"").replace(/^\[SKIP\]\s*$/gm,"").trim()}function S(e){return"working"===e?"running":"done"===e?"done":"blocked"===e||"clarify"===e?"failed":null}async function f(e){let{status:t,limit:a=20,offset:s=0}=e??{};return T(e=>{let r=["m.root_message_id IS NULL","m.depth = 0"],i=[];t&&(r.push("COALESCE(m.thread_status, 'active') = ?"),i.push(t));let n=r.join(" AND "),d=e.prepare(`SELECT COUNT(*) as cnt FROM messages m WHERE ${n}`).get(...(i.length?[i]:[]).flat());return{rows:e.prepare(`SELECT m.thread_id, m.id, m.content, m.timestamp,
180
185
  m.thread_status, m.outcome_note,
181
186
  (SELECT COUNT(*) FROM messages r WHERE r.root_message_id = m.id AND r.thread_id = m.thread_id) as reply_count,
182
187
  COALESCE((SELECT MAX(r.timestamp) FROM messages r WHERE r.root_message_id = m.id AND r.thread_id = m.thread_id), m.timestamp) as last_activity
183
188
  FROM messages m
184
189
  WHERE ${n}
185
190
  ORDER BY last_activity DESC
186
- LIMIT ? OFFSET ?`).all(...i,s,a),total:d.cnt}})}async function y(t){if(0===t.length)return{};let{getSQLiteDb:s}=await e.A(48207),a=s(),r=t.map(()=>"?").join(", "),i=a.prepare(`SELECT pt.thread_id, p.name FROM project_threads pt
191
+ LIMIT ? OFFSET ?`).all(...i,a,s),total:d.cnt}})}async function y(t){if(0===t.length)return{};let{getSQLiteDb:a}=await e.A(48207),s=a(),r=t.map(()=>"?").join(", "),i=s.prepare(`SELECT pt.thread_id, p.name FROM project_threads pt
187
192
  JOIN projects p ON p.id = pt.project_id
188
- WHERE pt.thread_id IN (${r})`).all(...t),n={};for(let e of i)n[e.thread_id]||(n[e.thread_id]=e.name);return n}async function M(t){let{getSQLiteDb:s}=await e.A(48207);return s().prepare("SELECT thread_id FROM project_threads WHERE project_id = ?").all(t).map(e=>e.thread_id)}async function D(e,t){let s=e.trim()||d;return c(e=>{let a=null!=t?`SELECT id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
193
+ WHERE pt.thread_id IN (${r})`).all(...t),n={};for(let e of i)n[e.thread_id]||(n[e.thread_id]=e.name);return n}async function M(t){let{getSQLiteDb:a}=await e.A(48207);return a().prepare("SELECT thread_id FROM project_threads WHERE project_id = ? ORDER BY created_at ASC").all(t).map(e=>e.thread_id)}async function C(e,t){let a=e.trim()||d;return T(e=>{let s=null!=t?`SELECT id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
189
194
  FROM messages
190
195
  WHERE thread_id = ? AND timestamp > ?
191
196
  ORDER BY timestamp ASC`:`SELECT id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
192
197
  FROM messages
193
198
  WHERE thread_id = ?
194
- ORDER BY timestamp ASC`,r=null!=t?e.prepare(a).all(s,t):e.prepare(a).all(s),i=g(e,s,r.map(e=>e.id));return r.map(e=>O(e,i))})}async function C(e){let t=N(e.rootMessageId),s=e.threadId?.trim()||null,a=null!=e.processLimit?h(e.processLimit,10):null;return c(e=>{if(!t&&!s)return{rootMessage:null,processes:[],messages:[],lastUpdatedAt:null};let r=s&&t?e.prepare(`SELECT thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
199
+ ORDER BY timestamp ASC`,r=null!=t?e.prepare(s).all(a,t):e.prepare(s).all(a),i=g(e,a,r.map(e=>e.id));return r.map(e=>O(e,i))})}async function D(e){let t=N(e.rootMessageId),a=e.threadId?.trim()||null,s=null!=e.processLimit?L(e.processLimit,10):null;return T(e=>{if(!t&&!a)return{rootMessage:null,processes:[],messages:[],lastUpdatedAt:null};let r=a&&t?e.prepare(`SELECT thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
195
200
  FROM messages
196
201
  WHERE thread_id = ? AND id = ?
197
- LIMIT 1`).get(s,t):s?e.prepare(`SELECT thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
202
+ LIMIT 1`).get(a,t):a?e.prepare(`SELECT thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
198
203
  FROM messages
199
204
  WHERE thread_id = ?
200
205
  ORDER BY CASE WHEN root_message_id IS NULL THEN 0 ELSE 1 END, timestamp ASC, id ASC
201
- LIMIT 1`).get(s):e.prepare(`SELECT thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
206
+ LIMIT 1`).get(a):e.prepare(`SELECT thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
202
207
  FROM messages
203
208
  WHERE id = ?
204
209
  ORDER BY timestamp ASC, thread_id ASC
@@ -225,7 +230,7 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
225
230
  AND r.type IN ('working', 'done', 'clarify', 'blocked')
226
231
  AND (m.root_message_id = ? OR m.id = ?)
227
232
  ORDER BY r.updated_at DESC
228
- ${null!=a?"LIMIT ?":""}`).all(i,n,n,...null!=a?[a]:[]),_=O(d,o),E=p.map(e=>{let t=S(e.type);return t?{processId:L(e.host_pid),datetime:e.datetime,agent:e.participant_id,responseTo:e.response_to??"",responseToMessageId:e.response_to_message_id??"",responseToSenderName:N(e.response_to_participant_id)??e.response_to_role??"",responseToSenderRole:e.response_to_role??"user",responseMessageId:N(e.response_message_id),responseContent:e.response_content,status:t}:null}).filter(e=>null!==e),m=e.prepare(`SELECT ap.agent_id, ap.pid, ap.state, ap.since_message_id, ap.started_at, ap.last_activity,
233
+ ${null!=s?"LIMIT ?":""}`).all(i,n,n,...null!=s?[s]:[]),_=O(d,o),E=p.map(e=>{let t=S(e.type);return t?{processId:h(e.host_pid),datetime:e.datetime,agent:e.participant_id,responseTo:e.response_to??"",responseToMessageId:e.response_to_message_id??"",responseToSenderName:N(e.response_to_participant_id)??e.response_to_role??"",responseToSenderRole:e.response_to_role??"user",responseMessageId:N(e.response_message_id),responseContent:e.response_content,status:t}:null}).filter(e=>null!==e),l=e.prepare(`SELECT ap.id, ap.agent_id, ap.pid, ap.state, ap.since_message_id, ap.started_at, ap.last_activity,
229
234
  m.content as response_to,
230
235
  m.role as response_to_role,
231
236
  m.participant_id as response_to_participant_id
@@ -233,7 +238,10 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
233
238
  LEFT JOIN messages m
234
239
  ON m.id = ap.since_message_id AND m.thread_id = ap.workspace_id
235
240
  WHERE ap.thread_id = ?
236
- AND ap.state IN ('running', 'spawning')`).all(n),l=new Set(E.filter(e=>null!=e.processId).map(e=>e.processId)),T=new Set(E.filter(e=>"running"===e.status).map(e=>e.agent));for(let e of m)l.has(e.pid)||T.has(e.agent_id)||E.push({processId:e.pid||null,datetime:e.started_at,agent:e.agent_id,responseTo:e.response_to??"",responseToMessageId:e.since_message_id??"",responseToSenderName:N(e.response_to_participant_id)??e.response_to_role??"user",responseToSenderRole:e.response_to_role??"user",responseMessageId:null,responseContent:null,status:"running"});let c=e.prepare(`SELECT m.id, m.role, m.participant_id, m.content, m.timestamp,
241
+ AND ap.state IN ('running', 'spawning')`).all(n),m=Date.now(),c=l.filter(e=>!(Math.max(e.last_activity||0,e.started_at||0)>m-6e5)&&!function(e){if(!Number.isFinite(e)||!e||e<=0)return!1;try{return process.kill(e,0),!0}catch{return!1}}(e.pid)).map(e=>e.id),T=new Set(c);if(c.length>0){let t=e.prepare(`UPDATE agent_processes
242
+ SET state = 'error',
243
+ last_activity = ?
244
+ WHERE id = ?`);e.transaction(e=>{for(let a of e)t.run(m,a)})(c)}let u=new Set(E.filter(e=>null!=e.processId).map(e=>e.processId)),L=new Set(E.filter(e=>"running"===e.status).map(e=>e.agent));for(let e of l)!T.has(e.id)&&(u.has(e.pid)||L.has(e.agent_id)||E.push({processId:e.pid||null,datetime:e.started_at,agent:e.agent_id,responseTo:e.response_to??"",responseToMessageId:e.since_message_id??"",responseToSenderName:N(e.response_to_participant_id)??e.response_to_role??"user",responseToSenderRole:e.response_to_role??"user",responseMessageId:null,responseContent:null,status:"running"}));let R=e.prepare(`SELECT m.id, m.role, m.participant_id, m.content, m.timestamp,
237
245
  m.parent_message_id,
238
246
  r.host_pid, r.type as reaction_type
239
247
  FROM messages m
@@ -244,35 +252,40 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
244
252
  AND r.type IN ('working', 'done', 'clarify', 'blocked')
245
253
  WHERE m.thread_id = ?
246
254
  AND (m.root_message_id = ? OR m.id = ?)
247
- ORDER BY m.timestamp ASC`).all(i,n,n).filter(e=>A(e.content).trim().length>0).map(e=>{let t=null;return"assistant"===e.role&&(t=e.reaction_type?S(e.reaction_type):"done"),{id:e.id,role:e.role,participantId:e.participant_id,content:A(e.content),timestamp:e.timestamp,parentMessageId:e.parent_message_id,processId:"assistant"===e.role?L(e.host_pid):null,status:t}}),u=[];for(let e of(u.push(_.timestamp),E))u.push(e.datetime);for(let e of c)u.push(e.timestamp);return{rootMessage:_,processes:E,messages:c,lastUpdatedAt:u.length>0?Math.max(...u):null}})}async function U(e,t){if(0===t.length)return;let s=e.trim()||d;await c(e=>{let a=e.prepare(`INSERT OR REPLACE INTO messages (thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note)
248
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);e.transaction(e=>{for(let t of e)a.run(s,t.id,t.role,t.participantId,t.content,t.timestamp,t.rootMessageId??null,t.parentMessageId??null,t.depth??0,t.threadStatus??null,t.outcomeNote??null)})(t)})}async function F(e){let t=Date.now();return c(s=>{s.prepare(`INSERT INTO chat_runs (
255
+ ORDER BY m.timestamp ASC`).all(i,n,n).filter(e=>A(e.content).trim().length>0).map(e=>{let t=null;return"assistant"===e.role&&(t=e.reaction_type?S(e.reaction_type):"done"),{id:e.id,role:e.role,participantId:e.participant_id,content:A(e.content),timestamp:e.timestamp,parentMessageId:e.parent_message_id,processId:"assistant"===e.role?h(e.host_pid):null,status:t}}),I=[];for(let e of(I.push(_.timestamp),E))I.push(e.datetime);for(let e of R)I.push(e.timestamp);return{rootMessage:_,processes:E,messages:R,lastUpdatedAt:I.length>0?Math.max(...I):null}})}async function U(e,t){if(0===t.length)return;let a=e.trim()||d;await T(e=>{let s=e.prepare(`INSERT OR REPLACE INTO messages (thread_id, id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note)
256
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);e.transaction(e=>{for(let t of e)s.run(a,t.id,t.role,t.participantId,t.content,t.timestamp,t.rootMessageId??null,t.parentMessageId??null,t.depth??0,t.threadStatus??null,t.outcomeNote??null)})(t)})}async function F(e){let t=Date.now();return T(a=>{a.prepare(`INSERT INTO chat_runs (
249
257
  id, thread_id, root_message_id, user_id, project_slug, status,
250
258
  current_step, max_steps, steps_used, last_error, active_participant_ids,
251
259
  payload_json, result_json, created_at, updated_at, completed_at
252
- ) VALUES (?, ?, ?, ?, ?, 'queued', 0, ?, 0, NULL, ?, ?, NULL, ?, ?, NULL)`).run(e.id,e.threadId.trim()||d,N(e.rootMessageId),e.userId,N(e.projectSlug),h(e.maxSteps,10,50),JSON.stringify(e.activeParticipantIds),e.payload?JSON.stringify(e.payload):null,t,t);let a=s.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(e.id);if(!a)throw Error(`Failed to create chat run ${e.id}`);return l(a)})}async function X(e){return c(t=>{let s=t.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(e);return s?l(s):null})}async function w(e){let t=N(e.threadId??null),s=h(e.limit,20,100);return c(a=>{let r=[],i=[];t&&(r.push("thread_id = ?"),i.push(t)),"active"===e.status?r.push("status IN ('queued', 'running')"):e.status&&(r.push("status = ?"),i.push(e.status));let n=r.length>0?`WHERE ${r.join(" AND ")}`:"";return a.prepare(`SELECT * FROM chat_runs ${n} ORDER BY updated_at DESC LIMIT ?`).all(...i,s).map(l)})}async function k(e){return c(t=>{let s=["updated_at = ?"],a=[Date.now()];e.status&&(s.push("status = ?"),a.push(e.status)),"number"==typeof e.currentStep&&(s.push("current_step = ?"),a.push(e.currentStep)),"number"==typeof e.stepsUsed&&(s.push("steps_used = ?"),a.push(e.stepsUsed)),void 0!==e.lastError&&(s.push("last_error = ?"),a.push(N(e.lastError))),void 0!==e.payload&&(s.push("payload_json = ?"),a.push(e.payload?JSON.stringify(e.payload):null)),void 0!==e.result&&(s.push("result_json = ?"),a.push(e.result?JSON.stringify(e.result):null)),void 0!==e.completedAt&&(s.push("completed_at = ?"),a.push(e.completedAt)),a.push(e.id),t.prepare(`UPDATE chat_runs SET ${s.join(", ")} WHERE id = ?`).run(...a);let r=t.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(e.id);return r?l(r):null})}async function x(e){let t=Date.now();return c(s=>{s.prepare(`INSERT INTO chat_run_steps (
260
+ ) VALUES (?, ?, ?, ?, ?, 'queued', 0, ?, 0, NULL, ?, ?, NULL, ?, ?, NULL)`).run(e.id,e.threadId.trim()||d,N(e.rootMessageId),e.userId,N(e.projectSlug),L(e.maxSteps,10,50),JSON.stringify(e.activeParticipantIds),e.payload?JSON.stringify(e.payload):null,t,t);let s=a.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(e.id);if(!s)throw Error(`Failed to create chat run ${e.id}`);return m(s)})}async function X(e){let t=N(e?.threadId??null),a=Number.isFinite(e?.olderThanMs)?Math.max(e.olderThanMs,1):6e5,s=Date.now(),r=s-a;return T(e=>{let a=["status = 'running'","updated_at <= ?"],i=[r];return t&&(a.push("thread_id = ?"),i.push(t)),e.prepare(`UPDATE chat_runs
261
+ SET status = 'failed',
262
+ last_error = COALESCE(NULLIF(last_error, ''), 'Worker process died mid-execution'),
263
+ updated_at = ?,
264
+ completed_at = COALESCE(completed_at, ?)
265
+ WHERE ${a.join(" AND ")}`).run(s,s,...i).changes})}async function w(e){return await X(),T(t=>{let a=t.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(e);return a?m(a):null})}async function k(e){await X({threadId:e.threadId});let t=N(e.threadId??null),a=L(e.limit,20,100);return T(s=>{let r=[],i=[];t&&(r.push("thread_id = ?"),i.push(t)),"active"===e.status?r.push("status IN ('queued', 'running')"):e.status&&(r.push("status = ?"),i.push(e.status));let n=r.length>0?`WHERE ${r.join(" AND ")}`:"";return s.prepare(`SELECT * FROM chat_runs ${n} ORDER BY updated_at DESC LIMIT ?`).all(...i,a).map(m)})}async function W(e){return T(t=>{let a=["updated_at = ?"],s=[Date.now()];e.status&&(a.push("status = ?"),s.push(e.status)),"number"==typeof e.currentStep&&(a.push("current_step = ?"),s.push(e.currentStep)),"number"==typeof e.stepsUsed&&(a.push("steps_used = ?"),s.push(e.stepsUsed)),void 0!==e.lastError&&(a.push("last_error = ?"),s.push(N(e.lastError))),void 0!==e.payload&&(a.push("payload_json = ?"),s.push(e.payload?JSON.stringify(e.payload):null)),void 0!==e.result&&(a.push("result_json = ?"),s.push(e.result?JSON.stringify(e.result):null)),void 0!==e.completedAt&&(a.push("completed_at = ?"),s.push(e.completedAt)),s.push(e.id),t.prepare(`UPDATE chat_runs SET ${a.join(", ")} WHERE id = ?`).run(...s);let r=t.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(e.id);return r?m(r):null})}async function x(e){let t=Date.now();return T(a=>{a.prepare(`INSERT INTO chat_run_steps (
253
266
  id, chat_run_id, step_index, kind, status, participant_id,
254
267
  input_payload_json, output_payload_json, started_at, completed_at
255
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(e.id,e.chatRunId,e.stepIndex,e.kind,e.status,N(e.participantId),e.inputPayload?JSON.stringify(e.inputPayload):null,e.outputPayload?JSON.stringify(e.outputPayload):null,t,"completed"===e.status||"failed"===e.status?t:null);let a=s.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(e.id);if(!a)throw Error(`Failed to append chat run step ${e.id}`);return T(a)})}async function H(e){return c(t=>{let s=[],a=[];if(e.status&&(s.push("status = ?"),a.push(e.status)),void 0!==e.outputPayload&&(s.push("output_payload_json = ?"),a.push(e.outputPayload?JSON.stringify(e.outputPayload):null)),void 0!==e.completedAt&&(s.push("completed_at = ?"),a.push(e.completedAt)),0===s.length){let s=t.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(e.id);return s?T(s):null}a.push(e.id),t.prepare(`UPDATE chat_run_steps SET ${s.join(", ")} WHERE id = ?`).run(...a);let r=t.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(e.id);return r?T(r):null})}async function W(e){return c(t=>t.prepare("SELECT * FROM chat_run_steps WHERE chat_run_id = ? ORDER BY step_index ASC, started_at ASC").all(e).map(T))}async function P(e,t,s,a){let r=e.trim()||d;await c(e=>{e.prepare("UPDATE messages SET thread_status = ?, outcome_note = ? WHERE thread_id = ? AND id = ?").run(s,a,r,t)})}async function B(e){return c(t=>{let s=t.prepare("SELECT thread_id FROM messages WHERE id = ?").get(e.trim());return s?{threadId:s.thread_id}:null})}async function G(e){let t=e.trim()||d;await c(e=>{e.transaction(t=>{e.prepare("DELETE FROM message_reactions WHERE thread_id = ?").run(t),e.prepare("DELETE FROM messages WHERE thread_id = ?").run(t)})(t)})}async function j(e,t){let s=e.trim()||d,a=t.trim();a&&await c(e=>{e.transaction((t,s)=>{e.prepare("DELETE FROM message_reactions WHERE thread_id = ? AND message_id = ?").run(t,s),e.prepare("DELETE FROM messages WHERE thread_id = ? AND id = ?").run(t,s)})(s,a)})}async function b(e,t){let s=e.trim()||d,a=t.trim();a&&await c(e=>{e.transaction((t,s)=>{e.prepare(`DELETE FROM message_reactions
268
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(e.id,e.chatRunId,e.stepIndex,e.kind,e.status,N(e.participantId),e.inputPayload?JSON.stringify(e.inputPayload):null,e.outputPayload?JSON.stringify(e.outputPayload):null,t,"completed"===e.status||"failed"===e.status?t:null);let s=a.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(e.id);if(!s)throw Error(`Failed to append chat run step ${e.id}`);return c(s)})}async function H(e){return T(t=>{let a=[],s=[];if(e.status&&(a.push("status = ?"),s.push(e.status)),void 0!==e.outputPayload&&(a.push("output_payload_json = ?"),s.push(e.outputPayload?JSON.stringify(e.outputPayload):null)),void 0!==e.completedAt&&(a.push("completed_at = ?"),s.push(e.completedAt)),0===a.length){let a=t.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(e.id);return a?c(a):null}s.push(e.id),t.prepare(`UPDATE chat_run_steps SET ${a.join(", ")} WHERE id = ?`).run(...s);let r=t.prepare("SELECT * FROM chat_run_steps WHERE id = ? LIMIT 1").get(e.id);return r?c(r):null})}async function P(e){return T(t=>t.prepare("SELECT * FROM chat_run_steps WHERE chat_run_id = ? ORDER BY step_index ASC, started_at ASC").all(e).map(c))}async function B(e,t,a,s){let r=e.trim()||d;await T(e=>{e.prepare("UPDATE messages SET thread_status = ?, outcome_note = ? WHERE thread_id = ? AND id = ?").run(a,s,r,t)})}async function G(e){return T(t=>{let a=t.prepare("SELECT thread_id FROM messages WHERE id = ?").get(e.trim());return a?{threadId:a.thread_id}:null})}async function b(e){let t=e.trim()||d;await T(e=>{e.transaction(t=>{e.prepare("DELETE FROM message_reactions WHERE thread_id = ?").run(t),e.prepare("DELETE FROM messages WHERE thread_id = ?").run(t)})(t)})}async function j(e,t){let a=e.trim()||d,s=t.trim();s&&await T(e=>{e.transaction((t,a)=>{e.prepare("DELETE FROM message_reactions WHERE thread_id = ? AND message_id = ?").run(t,a),e.prepare("DELETE FROM messages WHERE thread_id = ? AND id = ?").run(t,a)})(a,s)})}async function Y(e,t){let a=e.trim()||d,s=t.trim();s&&await T(e=>{e.transaction((t,a)=>{e.prepare(`DELETE FROM message_reactions
256
269
  WHERE thread_id = ?
257
270
  AND message_id IN (
258
271
  SELECT id
259
272
  FROM messages
260
273
  WHERE thread_id = ?
261
274
  AND (id = ? OR root_message_id = ?)
262
- )`).run(t,t,s,s),e.prepare(`DELETE FROM messages
275
+ )`).run(t,t,a,a),e.prepare(`DELETE FROM messages
263
276
  WHERE thread_id = ?
264
- AND (id = ? OR root_message_id = ?)`).run(t,s,s)})(s,a)})}async function Y(e){let t=e.query.trim();if(!t)return{results:[],total:0};let s="string"==typeof e.threadId&&e.threadId.trim()||null,a=Number.isFinite(e.limit)?Number(e.limit):20,r=Number.isFinite(e.offset)?Number(e.offset):0,i=Math.min(Math.max(Math.trunc(a),1),100),n=Math.max(Math.trunc(r),0),d=function(e){let t=e.toLowerCase().match(/[\p{L}\p{N}]+/gu)??[],s=new Set,a=[];for(let e of t)s.has(e)||(s.add(e),a.push(e));return a}(t),o=d.length>0?d.map(e=>`${e}*`).join(" "):null;return c(e=>{let a=new Map;if(o){let t=["messages_fts MATCH ?"],r=[o];for(let i of(s&&(t.push("m.thread_id = ?"),r.push(s)),e.prepare(`SELECT m.thread_id, m.id, m.role, m.participant_id, m.timestamp, m.root_message_id,
277
+ AND (id = ? OR root_message_id = ?)`).run(t,a,a)})(a,s)})}async function v(e){let t=e.query.trim();if(!t)return{results:[],total:0};let a="string"==typeof e.threadId&&e.threadId.trim()||null,s=Number.isFinite(e.limit)?Number(e.limit):20,r=Number.isFinite(e.offset)?Number(e.offset):0,i=Math.min(Math.max(Math.trunc(s),1),100),n=Math.max(Math.trunc(r),0),d=function(e){let t=e.toLowerCase().match(/[\p{L}\p{N}]+/gu)??[],a=new Set,s=[];for(let e of t)a.has(e)||(a.add(e),s.push(e));return s}(t),o=d.length>0?d.map(e=>`${e}*`).join(" "):null;return T(e=>{let s=new Map;if(o){let t=["messages_fts MATCH ?"],r=[o];for(let i of(a&&(t.push("m.thread_id = ?"),r.push(a)),e.prepare(`SELECT m.thread_id, m.id, m.role, m.participant_id, m.timestamp, m.root_message_id,
265
278
  snippet(messages_fts, 0, '<mark>', '</mark>', '...', 32) AS snippet,
266
279
  bm25(messages_fts) as rank
267
280
  FROM messages_fts
268
281
  JOIN messages m ON messages_fts.rowid = m.rowid
269
282
  WHERE ${t.join(" AND ")}
270
- ORDER BY rank ASC, m.timestamp DESC`).all(...r))){let e=`${i.thread_id}:${i.id}`;a.set(e,{threadId:i.thread_id,messageId:i.id,role:i.role,participantId:i.participant_id,snippet:i.snippet,timestamp:i.timestamp,rootMessageId:i.root_message_id,sortRank:i.rank,matchedByFts:!0})}}let r=[],p=[];if(s&&(r.push("m.thread_id = ?"),p.push(s)),d.length>0)for(let e of d)r.push("LOWER(m.content) LIKE ? ESCAPE '\\'"),p.push(`%${R(e)}%`);else r.push("LOWER(m.content) LIKE ? ESCAPE '\\'"),p.push(`%${R(t.toLowerCase())}%`);for(let t of e.prepare(`SELECT m.thread_id, m.id, m.role, m.participant_id, m.content, m.timestamp, m.root_message_id
283
+ ORDER BY rank ASC, m.timestamp DESC`).all(...r))){let e=`${i.thread_id}:${i.id}`;s.set(e,{threadId:i.thread_id,messageId:i.id,role:i.role,participantId:i.participant_id,snippet:i.snippet,timestamp:i.timestamp,rootMessageId:i.root_message_id,sortRank:i.rank,matchedByFts:!0})}}let r=[],p=[];if(a&&(r.push("m.thread_id = ?"),p.push(a)),d.length>0)for(let e of d)r.push("LOWER(m.content) LIKE ? ESCAPE '\\'"),p.push(`%${R(e)}%`);else r.push("LOWER(m.content) LIKE ? ESCAPE '\\'"),p.push(`%${R(t.toLowerCase())}%`);for(let t of e.prepare(`SELECT m.thread_id, m.id, m.role, m.participant_id, m.content, m.timestamp, m.root_message_id
271
284
  FROM messages m
272
285
  WHERE ${r.join(" AND ")}
273
- ORDER BY m.timestamp DESC`).all(...p)){let e=`${t.thread_id}:${t.id}`;a.has(e)||a.set(e,{threadId:t.thread_id,messageId:t.id,role:t.role,participantId:t.participant_id,snippet:function(e,t){let s=A(e).replace(/\s+/g," ").trim();if(!s)return"";let a=t.filter(Boolean),r=s.toLowerCase(),i=a.reduce((e,t)=>{let s=r.indexOf(t);return -1===s?e:-1===e||s<e?s:e},-1),n=i>=0?Math.max(0,i-48):0,d=i>=0?Math.min(s.length,i+112):Math.min(s.length,160),o=n>0?"...":"",p=d<s.length?"...":"",_=`${o}${s.slice(n,d)}${p}`;if(0===a.length)return _;let E=RegExp(`(${a.map(I).join("|")})`,"giu");return _.replace(E,"<mark>$1</mark>")}(t.content,d),timestamp:t.timestamp,rootMessageId:t.root_message_id,sortRank:1/0,matchedByFts:!1})}return{results:Array.from(a.values()).sort((e,t)=>e.matchedByFts!==t.matchedByFts?e.matchedByFts?-1:1:e.sortRank!==t.sortRank?e.sortRank-t.sortRank:t.timestamp-e.timestamp).slice(n,n+i).map(e=>({threadId:e.threadId,messageId:e.messageId,role:e.role,participantId:e.participantId,snippet:e.snippet,timestamp:e.timestamp,rootMessageId:e.rootMessageId})),total:a.size}})}async function v(e){let t=e.threadId?.trim()||d,s=e.messageId?.trim(),a=e.participantId?.trim(),r=e.type;if(!s)throw new _("messageId is required",400);if(!a)throw new _("participantId is required",400);if(!o.has(r))throw new _(`Invalid reaction type: ${String(r)}`,400);let i=N(e.reason),n=N(e.blockerCode),E=L(e.hostPid),m=N(e.responseMessageId),l="clarify"===r||"blocked"===r;if(l&&!i)throw new _(`"${r}" reactions require a reason`,400);let T=l?i:null,u="blocked"===r?n:null;return c(e=>{var i;if(!e.prepare("SELECT 1 FROM messages WHERE thread_id = ? AND id = ? LIMIT 1").get(t,s))throw new _(`Message not found: ${s}`,404);let n=e.prepare(`SELECT type, reason, blocker_code, host_pid
286
+ ORDER BY m.timestamp DESC`).all(...p)){let e=`${t.thread_id}:${t.id}`;s.has(e)||s.set(e,{threadId:t.thread_id,messageId:t.id,role:t.role,participantId:t.participant_id,snippet:function(e,t){let a=A(e).replace(/\s+/g," ").trim();if(!a)return"";let s=t.filter(Boolean),r=a.toLowerCase(),i=s.reduce((e,t)=>{let a=r.indexOf(t);return -1===a?e:-1===e||a<e?a:e},-1),n=i>=0?Math.max(0,i-48):0,d=i>=0?Math.min(a.length,i+112):Math.min(a.length,160),o=n>0?"...":"",p=d<a.length?"...":"",_=`${o}${a.slice(n,d)}${p}`;if(0===s.length)return _;let E=RegExp(`(${s.map(I).join("|")})`,"giu");return _.replace(E,"<mark>$1</mark>")}(t.content,d),timestamp:t.timestamp,rootMessageId:t.root_message_id,sortRank:1/0,matchedByFts:!1})}return{results:Array.from(s.values()).sort((e,t)=>e.matchedByFts!==t.matchedByFts?e.matchedByFts?-1:1:e.sortRank!==t.sortRank?e.sortRank-t.sortRank:t.timestamp-e.timestamp).slice(n,n+i).map(e=>({threadId:e.threadId,messageId:e.messageId,role:e.role,participantId:e.participantId,snippet:e.snippet,timestamp:e.timestamp,rootMessageId:e.rootMessageId})),total:s.size}})}async function $(e){let t=e.threadId?.trim()||d,a=e.messageId?.trim(),s=e.participantId?.trim(),r=e.type;if(!a)throw new _("messageId is required",400);if(!s)throw new _("participantId is required",400);if(!o.has(r))throw new _(`Invalid reaction type: ${String(r)}`,400);let i=N(e.reason),n=N(e.blockerCode),E=h(e.hostPid),l=N(e.responseMessageId),m="clarify"===r||"blocked"===r;if(m&&!i)throw new _(`"${r}" reactions require a reason`,400);let c=m?i:null,u="blocked"===r?n:null;return T(e=>{var i;if(!e.prepare("SELECT 1 FROM messages WHERE thread_id = ? AND id = ? LIMIT 1").get(t,a))throw new _(`Message not found: ${a}`,404);let n=e.prepare(`SELECT type, reason, blocker_code, host_pid
274
287
  FROM message_reactions
275
- WHERE thread_id = ? AND message_id = ? AND participant_id = ?`).get(t,s,a);if(i=n?.type??null,!(!i||p[i].has(r)))throw new _(`Cannot transition reaction from "${n.type}" to "${r}"`,409);if(n&&n.type===r&&N(n.reason)===T&&N(n.blocker_code)===u&&L(n.host_pid)===E)return{updated:!1,reactions:g(e,t,[s]).get(s)??[]};let d=Date.now();return e.prepare(`INSERT INTO message_reactions (thread_id, message_id, participant_id, type, reason, blocker_code, host_pid, response_message_id, updated_at)
288
+ WHERE thread_id = ? AND message_id = ? AND participant_id = ?`).get(t,a,s);if(i=n?.type??null,!(!i||p[i].has(r)))throw new _(`Cannot transition reaction from "${n.type}" to "${r}"`,409);if(n&&n.type===r&&N(n.reason)===c&&N(n.blocker_code)===u&&h(n.host_pid)===E)return{updated:!1,reactions:g(e,t,[a]).get(a)??[]};let d=Date.now();return e.prepare(`INSERT INTO message_reactions (thread_id, message_id, participant_id, type, reason, blocker_code, host_pid, response_message_id, updated_at)
276
289
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
277
290
  ON CONFLICT(thread_id, message_id, participant_id)
278
291
  DO UPDATE SET
@@ -281,31 +294,31 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
281
294
  blocker_code = excluded.blocker_code,
282
295
  host_pid = excluded.host_pid,
283
296
  response_message_id = COALESCE(excluded.response_message_id, message_reactions.response_message_id),
284
- updated_at = excluded.updated_at`).run(t,s,a,r,T,u,E,m,d),{updated:!0,reactions:g(e,t,[s]).get(s)??[]}})}async function $(e){let t=e.trim()||d;return c(e=>e.prepare(`SELECT root_message_id, COUNT(*) as reply_count, MAX(timestamp) as last_activity
297
+ updated_at = excluded.updated_at`).run(t,a,s,r,c,u,E,l,d),{updated:!0,reactions:g(e,t,[a]).get(a)??[]}})}async function J(e){let t=e.trim()||d;return T(e=>e.prepare(`SELECT root_message_id, COUNT(*) as reply_count, MAX(timestamp) as last_activity
285
298
  FROM messages
286
299
  WHERE thread_id = ? AND root_message_id IS NOT NULL
287
300
  GROUP BY root_message_id
288
- ORDER BY last_activity DESC`).all(t).map(s=>{let a=e.prepare(`SELECT DISTINCT participant_id FROM messages
289
- WHERE thread_id = ? AND root_message_id = ? AND participant_id IS NOT NULL`).all(t,s.root_message_id);return{rootMessageId:s.root_message_id,replyCount:s.reply_count,participants:a.map(e=>e.participant_id),lastActivityAt:s.last_activity}}))}async function J(e,t){if(0!==t.length&&e)return c(s=>{let a=s.prepare("INSERT INTO logs (agent_process_id, stream, line, timestamp) VALUES (?, ?, ?, ?)");s.transaction(()=>{for(let s of t)a.run(e,s.stream,s.line,s.timestamp)})()})}async function K(e){let t=e.trim();return t?c(e=>e.prepare(`SELECT l.id, l.agent_process_id, ap.agent_id as participant_id, l.stream, l.line, l.timestamp
301
+ ORDER BY last_activity DESC`).all(t).map(a=>{let s=e.prepare(`SELECT DISTINCT participant_id FROM messages
302
+ WHERE thread_id = ? AND root_message_id = ? AND participant_id IS NOT NULL`).all(t,a.root_message_id);return{rootMessageId:a.root_message_id,replyCount:a.reply_count,participants:s.map(e=>e.participant_id),lastActivityAt:a.last_activity}}))}async function K(e,t){if(0!==t.length&&e)return T(a=>{let s=a.prepare("INSERT INTO logs (agent_process_id, stream, line, timestamp) VALUES (?, ?, ?, ?)");a.transaction(()=>{for(let a of t)s.run(e,a.stream,a.line,a.timestamp)})()})}async function V(e){let t=e.trim();return t?T(e=>e.prepare(`SELECT l.id, l.agent_process_id, ap.agent_id as participant_id, l.stream, l.line, l.timestamp
290
303
  FROM logs l
291
304
  JOIN agent_processes ap ON ap.id = l.agent_process_id
292
305
  WHERE ap.workspace_id = ?
293
306
  ORDER BY l.timestamp DESC, l.id DESC
294
- LIMIT 100`).all(t).reverse()):[]}async function V(e){return 0===e.length?[]:c(t=>{let s=e.map(()=>"?").join(", ");return t.prepare(`SELECT ap.pid as process_pid, ap.agent_id as agent, l.stream, l.line, l.timestamp
307
+ LIMIT 100`).all(t).reverse()):[]}async function q(e){return 0===e.length?[]:T(t=>{let a=e.map(()=>"?").join(", ");return t.prepare(`SELECT ap.pid as process_pid, ap.agent_id as agent, l.stream, l.line, l.timestamp
295
308
  FROM logs l
296
309
  JOIN agent_processes ap ON ap.id = l.agent_process_id
297
- WHERE ap.pid IN (${s})
310
+ WHERE ap.pid IN (${a})
298
311
  ORDER BY l.timestamp ASC, l.id ASC
299
- LIMIT 200`).all(...e).map(e=>({processId:e.process_pid,agent:e.agent,stream:e.stream,line:e.line,timestamp:e.timestamp}))})}async function q(e){let t=e.trim();if(t)return c(e=>{e.prepare(`DELETE FROM logs WHERE agent_process_id IN (
312
+ LIMIT 200`).all(...e).map(e=>({processId:e.process_pid,agent:e.agent,stream:e.stream,line:e.line,timestamp:e.timestamp}))})}async function z(e){let t=e.trim();if(t)return T(e=>{e.prepare(`DELETE FROM logs WHERE agent_process_id IN (
300
313
  SELECT id FROM agent_processes WHERE workspace_id = ?
301
- )`).run(t)})}async function z(e,t=3e5){let s=e.trim()||d,a=Number.isFinite(t)?Math.max(t,1):3e5,r=Date.now(),i=r-a;return c(e=>({updated:e.prepare(`UPDATE message_reactions
314
+ )`).run(t)})}async function Q(e,t=3e5){let a=e.trim()||d,s=Number.isFinite(t)?Math.max(t,1):3e5,r=Date.now(),i=r-s;return T(e=>({updated:e.prepare(`UPDATE message_reactions
302
315
  SET type = 'blocked',
303
316
  reason = 'stale_timeout',
304
317
  blocker_code = 'stale_timeout',
305
318
  updated_at = ?
306
- WHERE thread_id = ? AND type = 'working' AND updated_at <= ?`).run(r,s,i).changes}))}async function Q(e,t,s){let a=e.trim()||d;return c(e=>{e.prepare(`INSERT INTO task_drafts (thread_id, message_id, data, updated_at)
319
+ WHERE thread_id = ? AND type = 'working' AND updated_at <= ?`).run(r,a,i).changes}))}async function Z(e,t,a){let s=e.trim()||d;return T(e=>{e.prepare(`INSERT INTO task_drafts (thread_id, message_id, data, updated_at)
307
320
  VALUES (?, ?, ?, ?)
308
321
  ON CONFLICT(thread_id, message_id)
309
- DO UPDATE SET data = excluded.data, updated_at = excluded.updated_at`).run(a,t,JSON.stringify(s),Date.now())})}async function Z(e){let t=e.trim()||d;return c(e=>{let s=e.prepare("SELECT message_id, data FROM task_drafts WHERE thread_id = ?").all(t),a={};for(let e of s)a[e.message_id]=JSON.parse(e.data);return a})}async function ee(e,t){let s=e.trim()||d;return c(e=>{e.prepare("DELETE FROM task_drafts WHERE thread_id = ? AND message_id = ?").run(s,t)})}e.s(["ReactionStoreError",()=>_,"appendChatRunStep",()=>x,"clearHistory",()=>G,"clearLogs",()=>q,"clearRootThread",()=>b,"createChatRun",()=>F,"deleteMessage",()=>j,"deleteTaskDraft",()=>ee,"getChatRun",()=>X,"getMessageThread",()=>B,"getProjectThreadIds",()=>M,"getThreadInfos",()=>$,"getThreadStatusSnapshot",()=>C,"getWorkspaceNames",()=>y,"listChatRunSteps",()=>W,"listChatRuns",()=>w,"listRootMessages",()=>f,"loadHistory",()=>D,"loadLogs",()=>K,"loadLogsByProcessPids",()=>V,"loadTaskDrafts",()=>Z,"saveLogs",()=>J,"saveMessages",()=>U,"saveTaskDraft",()=>Q,"searchMessages",()=>Y,"setReaction",()=>v,"sweepStaleWorkingReactions",()=>z,"updateChatRun",()=>k,"updateChatRunStep",()=>H,"updateMessageStatus",()=>P])}];
322
+ DO UPDATE SET data = excluded.data, updated_at = excluded.updated_at`).run(s,t,JSON.stringify(a),Date.now())})}async function ee(e){let t=e.trim()||d;return T(e=>{let a=e.prepare("SELECT message_id, data FROM task_drafts WHERE thread_id = ?").all(t),s={};for(let e of a)s[e.message_id]=JSON.parse(e.data);return s})}async function et(e,t){let a=e.trim()||d;return T(e=>{e.prepare("DELETE FROM task_drafts WHERE thread_id = ? AND message_id = ?").run(a,t)})}async function ea(e){let t=e.trim()||d;return T(e=>e.prepare("SELECT repo_id FROM thread_repo_selections WHERE thread_id = ?").all(t).map(e=>e.repo_id))}async function es(e,t){let a=e.trim()||d;return T(e=>{if(e.prepare("DELETE FROM thread_repo_selections WHERE thread_id = ?").run(a),t.length>0){let s=e.prepare("INSERT INTO thread_repo_selections (thread_id, repo_id) VALUES (?, ?)");for(let e of t)s.run(a,e)}})}e.s(["ReactionStoreError",()=>_,"appendChatRunStep",()=>x,"clearHistory",()=>b,"clearLogs",()=>z,"clearRootThread",()=>Y,"createChatRun",()=>F,"deleteMessage",()=>j,"deleteTaskDraft",()=>et,"getChatRun",()=>w,"getMessageThread",()=>G,"getProjectThreadIds",()=>M,"getThreadInfos",()=>J,"getThreadStatusSnapshot",()=>D,"getWorkspaceNames",()=>y,"listChatRunSteps",()=>P,"listChatRuns",()=>k,"listRootMessages",()=>f,"loadHistory",()=>C,"loadLogs",()=>V,"loadLogsByProcessPids",()=>q,"loadTaskDrafts",()=>ee,"loadThreadRepoSelections",()=>ea,"saveLogs",()=>K,"saveMessages",()=>U,"saveTaskDraft",()=>Z,"saveThreadRepoSelections",()=>es,"searchMessages",()=>v,"setReaction",()=>$,"sweepStaleChatRuns",()=>X,"sweepStaleWorkingReactions",()=>Q,"updateChatRun",()=>W,"updateChatRunStep",()=>H,"updateMessageStatus",()=>B])}];
310
323
 
311
324
  //# sourceMappingURL=lib_history-store_ts_74d1c060._.js.map
@@ -10,15 +10,15 @@ module.exports=[65196,86213,e=>{"use strict";var t=e.i(85148),r=e.i(22734),i=e.i
10
10
  color TEXT NOT NULL,
11
11
  sort_order INTEGER NOT NULL DEFAULT 0
12
12
  );
13
- `),(n=e.prepare("PRAGMA table_info(participants)").all()).some(e=>"persona"===e.name)&&(e.exec("ALTER TABLE participants RENAME COLUMN persona TO identity"),e.exec("ALTER TABLE participants RENAME COLUMN persona_file TO identity_file")),n.some(e=>"identity_file"===e.name)||n.some(e=>"persona_file"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN identity_file TEXT"),n.some(e=>"skills_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN skills_json TEXT"),n.some(e=>"variables_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN variables_json TEXT"),n.some(e=>"sort_order"===e.name)||(e.exec("ALTER TABLE participants ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0"),e.exec("UPDATE participants SET sort_order = rowid")),!function(e){let t=e.prepare("SELECT id, name, provider FROM participants").all();if(0===t.length)return;let n=new Set(t.map(e=>e.id)),o=new Map(t.map(e=>[e.id,e.id])),a=[];for(let e of t){let t=(e.name||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-");if(!t||e.id===t||e.id!==e.provider)continue;n.delete(e.id);let r=function(e,t){if(!t.has(e))return e;let r=2,i=`${e}-${r}`;for(;t.has(i);)r+=1,i=`${e}-${r}`;return i}(t,n);n.add(r),o.set(e.id,r),a.push({from:e.id,to:r,name:e.name})}let s=t.map(e=>({id:o.get(e.id)||e.id,provider:e.provider})),l=new Set(s.map(e=>e.id)),E=new Map;for(let e of s){let t=e.provider.trim();if(!t)continue;let r=E.get(t)||new Set;r.add(e.id),E.set(t,r)}let p=[];for(let[e,t]of E){if(1!==t.size)continue;let[r]=Array.from(t);r&&e!==r&&(l.has(e)||p.push({from:e,to:r}))}if(0===a.length&&0===p.length)return;let T=new Map;for(let e of a)T.set(e.from,e.to);for(let e of p)T.set(e.from,e.to);let c=Array.from(T.entries()).map(([e,t])=>({from:e,to:t})),u=new Set(e.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all().map(e=>e.name));for(let t of(e.transaction((t,r)=>{let i=e.prepare("UPDATE participants SET id = ? WHERE id = ?"),n=u.has("messages")?e.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?"):null,o=u.has("agent_processes")?e.prepare("UPDATE agent_processes SET agent_id = ? WHERE agent_id = ?"):null,a=u.has("message_reactions")?e.prepare("UPDATE message_reactions SET participant_id = ? WHERE participant_id = ?"):null;for(let e of t)i.run(e.to,e.from);for(let e of r)n?.run(e.to,e.from),o?.run(e.to,e.from),a?.run(e.to,e.from)})(a.map(e=>({from:e.from,to:e.to})),c),a))!function(e,t,n){if(!e||!t||e===t)return;let o=i.default.join(d,e),a=i.default.join(d,t);if(!(0,r.existsSync)(o)||(0,r.existsSync)(a))return;(0,r.mkdirSync)(d,{recursive:!0}),(0,r.renameSync)(o,a);let s=i.default.join(a,"identity.json");if((0,r.existsSync)(s))try{let e={...JSON.parse((0,r.readFileSync)(s,"utf8")),name:"string"==typeof n&&n.trim()?n.trim():t};(0,r.writeFileSync)(s,`${JSON.stringify(e,null,2)}
14
- `,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e);try{return o.prepare("SELECT id, name, provider, model, identity, identity_file, skills_json, variables_json, color, sort_order FROM participants ORDER BY sort_order ASC, rowid ASC").all().map(e=>({id:e.id,name:e.name,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},...e.identity_file?{identityFile:e.identity_file}:{},...e.variables_json?(()=>{try{let t=JSON.parse(e.variables_json);if(t&&"object"==typeof t&&!Array.isArray(t))return{variables:t};return{}}catch{return{}}})():{},...e.skills_json?{skills:(()=>{try{let t=JSON.parse(e.skills_json);if(!Array.isArray(t))return[];return t.map(e=>"string"==typeof e?{file:e,condition:""}:e)}catch{return[]}})()}:{}}))}finally{o.close()}}var p=e.i(28237);let T="legacy_workspaces_to_projects_v1";function c(e){e.exec(`
13
+ `),(n=e.prepare("PRAGMA table_info(participants)").all()).some(e=>"persona"===e.name)&&(e.exec("ALTER TABLE participants RENAME COLUMN persona TO identity"),e.exec("ALTER TABLE participants RENAME COLUMN persona_file TO identity_file")),n.some(e=>"identity_file"===e.name)||n.some(e=>"persona_file"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN identity_file TEXT"),n.some(e=>"skills_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN skills_json TEXT"),n.some(e=>"variables_json"===e.name)||e.exec("ALTER TABLE participants ADD COLUMN variables_json TEXT"),n.some(e=>"sort_order"===e.name)||(e.exec("ALTER TABLE participants ADD COLUMN sort_order INTEGER NOT NULL DEFAULT 0"),e.exec("UPDATE participants SET sort_order = rowid")),!function(e){let t=e.prepare("SELECT id, name, provider FROM participants").all();if(0===t.length)return;let n=new Set(t.map(e=>e.id)),o=new Map(t.map(e=>[e.id,e.id])),a=[];for(let e of t){let t=(e.name||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-");if(!t||e.id===t||e.id!==e.provider)continue;n.delete(e.id);let r=function(e,t){if(!t.has(e))return e;let r=2,i=`${e}-${r}`;for(;t.has(i);)r+=1,i=`${e}-${r}`;return i}(t,n);n.add(r),o.set(e.id,r),a.push({from:e.id,to:r,name:e.name})}let s=t.map(e=>({id:o.get(e.id)||e.id,provider:e.provider})),l=new Set(s.map(e=>e.id)),E=new Map;for(let e of s){let t=e.provider.trim();if(!t)continue;let r=E.get(t)||new Set;r.add(e.id),E.set(t,r)}let T=[];for(let[e,t]of E){if(1!==t.size)continue;let[r]=Array.from(t);r&&e!==r&&(l.has(e)||T.push({from:e,to:r}))}if(0===a.length&&0===T.length)return;let p=new Map;for(let e of a)p.set(e.from,e.to);for(let e of T)p.set(e.from,e.to);let c=Array.from(p.entries()).map(([e,t])=>({from:e,to:t})),u=new Set(e.prepare("SELECT name FROM sqlite_master WHERE type = 'table'").all().map(e=>e.name));for(let t of(e.transaction((t,r)=>{let i=e.prepare("UPDATE participants SET id = ? WHERE id = ?"),n=u.has("messages")?e.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?"):null,o=u.has("agent_processes")?e.prepare("UPDATE agent_processes SET agent_id = ? WHERE agent_id = ?"):null,a=u.has("message_reactions")?e.prepare("UPDATE message_reactions SET participant_id = ? WHERE participant_id = ?"):null;for(let e of t)i.run(e.to,e.from);for(let e of r)n?.run(e.to,e.from),o?.run(e.to,e.from),a?.run(e.to,e.from)})(a.map(e=>({from:e.from,to:e.to})),c),a))!function(e,t,n){if(!e||!t||e===t)return;let o=i.default.join(d,e),a=i.default.join(d,t);if(!(0,r.existsSync)(o)||(0,r.existsSync)(a))return;(0,r.mkdirSync)(d,{recursive:!0}),(0,r.renameSync)(o,a);let s=i.default.join(a,"identity.json");if((0,r.existsSync)(s))try{let e={...JSON.parse((0,r.readFileSync)(s,"utf8")),name:"string"==typeof n&&n.trim()?n.trim():t};(0,r.writeFileSync)(s,`${JSON.stringify(e,null,2)}
14
+ `,"utf8")}catch{}}(t.from,t.to,t.name)}(e),e);try{return o.prepare("SELECT id, name, provider, model, identity, identity_file, skills_json, variables_json, color, sort_order FROM participants ORDER BY sort_order ASC, rowid ASC").all().map(e=>({id:e.id,name:e.name,provider:e.provider,model:e.model,color:e.color,...e.identity?{identity:e.identity}:{},...e.identity_file?{identityFile:e.identity_file}:{},...e.variables_json?(()=>{try{let t=JSON.parse(e.variables_json);if(t&&"object"==typeof t&&!Array.isArray(t))return{variables:t};return{}}catch{return{}}})():{},...e.skills_json?{skills:(()=>{try{let t=JSON.parse(e.skills_json);if(!Array.isArray(t))return[];return t.map(e=>"string"==typeof e?{file:e,condition:""}:e)}catch{return[]}})()}:{}}))}finally{o.close()}}var T=e.i(28237);let p="legacy_workspaces_to_projects_v1";function c(e){e.exec(`
15
15
  CREATE TABLE IF NOT EXISTS app_migrations (
16
16
  key TEXT PRIMARY KEY,
17
17
  applied_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
18
18
  metadata JSON
19
19
  );
20
- `)}let u=process.env.AGX_DATA_DIR||i.default.join(n.default.homedir(),".agx");class N{expr;constructor(e){this.expr=e}}function m(e){return new N(e)}let _=null;function L(){var e;if(_)return _;let n=process.env.SQLITE_DB_PATH||i.default.join(u,"agx-board.db");_=new t.default(n);let s=(0,p.validateSQLiteEnvironment)(_,n);if(s.length>0){let e=s.map(e=>` - ${e.message}${e.fix?` (fix: ${e.fix})`:""}`);throw Error(`SQLite startup validation failed:
21
- ${e.join("\n")}`)}(function(e){let t=i.default.join(process.cwd(),"db","sqlite","001_agx_board_schema.sql");if(!r.default.existsSync(t))return console.warn(`[sqlite] DDL not found at ${t}, skipping schema init`);let n=r.default.readFileSync(t,"utf-8");e.exec(n)})(_),function(e){if(e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='execution_graphs'").all().length>0&&(e.pragma("table_info(execution_graphs)").some(e=>"schedule"===e.name)||e.exec("ALTER TABLE execution_graphs ADD COLUMN schedule JSON")),e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='project_memory'").all().length>0&&(e.pragma("table_info(project_memory)").some(e=>"producer"===e.name)||e.exec("ALTER TABLE project_memory ADD COLUMN producer TEXT NOT NULL DEFAULT 'human' CHECK(producer IN ('human', 'system'))"),e.exec("CREATE INDEX IF NOT EXISTS idx_project_memory_producer ON project_memory (producer)")),e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='agents'").all().length>0){let t=new Set(e.pragma("table_info(agents)").map(e=>e.name));t.has("voice")||e.exec("ALTER TABLE agents ADD COLUMN voice TEXT"),t.has("seed")||e.exec("ALTER TABLE agents ADD COLUMN seed TEXT"),t.has("model")||e.exec("ALTER TABLE agents ADD COLUMN model TEXT"),t.has("provider")||e.exec("ALTER TABLE agents ADD COLUMN provider TEXT"),t.has("color")||e.exec("ALTER TABLE agents ADD COLUMN color TEXT")}if(e.exec(`
20
+ `)}let u=process.env.AGX_DATA_DIR||i.default.join(n.default.homedir(),".agx");class N{expr;constructor(e){this.expr=e}}function _(e){return new N(e)}let L=null;function m(){var e;if(L)return L;let n=process.env.SQLITE_DB_PATH||i.default.join(u,"agx-board.db");L=new t.default(n);let s=(0,T.validateSQLiteEnvironment)(L,n);if(s.length>0){let e=s.map(e=>` - ${e.message}${e.fix?` (fix: ${e.fix})`:""}`);throw Error(`SQLite startup validation failed:
21
+ ${e.join("\n")}`)}(function(e){let t=i.default.join(process.cwd(),"db","sqlite","001_agx_board_schema.sql");if(!r.default.existsSync(t))return console.warn(`[sqlite] DDL not found at ${t}, skipping schema init`);let n=r.default.readFileSync(t,"utf-8");e.exec(n)})(L),function(e){if(e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='execution_graphs'").all().length>0&&(e.pragma("table_info(execution_graphs)").some(e=>"schedule"===e.name)||e.exec("ALTER TABLE execution_graphs ADD COLUMN schedule JSON")),e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='project_memory'").all().length>0&&(e.pragma("table_info(project_memory)").some(e=>"producer"===e.name)||e.exec("ALTER TABLE project_memory ADD COLUMN producer TEXT NOT NULL DEFAULT 'human' CHECK(producer IN ('human', 'system'))"),e.exec("CREATE INDEX IF NOT EXISTS idx_project_memory_producer ON project_memory (producer)")),e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='agents'").all().length>0){let t=new Set(e.pragma("table_info(agents)").map(e=>e.name));t.has("voice")||e.exec("ALTER TABLE agents ADD COLUMN voice TEXT"),t.has("seed")||e.exec("ALTER TABLE agents ADD COLUMN seed TEXT"),t.has("model")||e.exec("ALTER TABLE agents ADD COLUMN model TEXT"),t.has("provider")||e.exec("ALTER TABLE agents ADD COLUMN provider TEXT"),t.has("color")||e.exec("ALTER TABLE agents ADD COLUMN color TEXT"),t.has("title")||e.exec("ALTER TABLE agents ADD COLUMN title TEXT")}if(e.exec(`
22
22
  CREATE TABLE IF NOT EXISTS agent_skills (
23
23
  agent_id TEXT NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
24
24
  file TEXT NOT NULL,
@@ -27,6 +27,33 @@ ${e.join("\n")}`)}(function(e){let t=i.default.join(process.cwd(),"db","sqlite",
27
27
  PRIMARY KEY (agent_id, file)
28
28
  );
29
29
  CREATE INDEX IF NOT EXISTS idx_agent_skills_agent ON agent_skills (agent_id);
30
+ `),e.exec(`
31
+ CREATE TABLE IF NOT EXISTS skill_learning_history (
32
+ id TEXT NOT NULL PRIMARY KEY DEFAULT (lower(hex(randomblob(4)) || '-' || hex(randomblob(2)) || '-4' || substr(hex(randomblob(2)),2) || '-' || substr('89ab',abs(random()) % 4 + 1, 1) || substr(hex(randomblob(2)),2) || '-' || hex(randomblob(6)))),
33
+ provider TEXT NOT NULL,
34
+ repo TEXT NOT NULL,
35
+ skill_id TEXT NOT NULL,
36
+ skill_label TEXT NOT NULL,
37
+ status TEXT NOT NULL CHECK(status IN ('running', 'succeeded', 'failed')),
38
+ command TEXT NOT NULL,
39
+ error TEXT,
40
+ run_started_at INTEGER,
41
+ run_completed_at INTEGER,
42
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
43
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
44
+ );
45
+ CREATE INDEX IF NOT EXISTS idx_skill_learning_history_provider_status_updated ON skill_learning_history(provider, status, updated_at DESC);
46
+ CREATE INDEX IF NOT EXISTS idx_skill_learning_history_skill_lookup ON skill_learning_history(provider, repo, skill_id, updated_at DESC);
47
+ `),e.exec(`
48
+ CREATE TABLE IF NOT EXISTS agent_skill_bindings (
49
+ agent_id TEXT NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
50
+ repo TEXT NOT NULL,
51
+ skill_id TEXT NOT NULL,
52
+ condition TEXT,
53
+ created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
54
+ PRIMARY KEY (agent_id, repo, skill_id)
55
+ );
56
+ CREATE INDEX IF NOT EXISTS idx_agent_skill_bindings_agent ON agent_skill_bindings (agent_id, created_at);
30
57
  `),e.exec(`
31
58
  CREATE TABLE IF NOT EXISTS project_agents (
32
59
  project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
@@ -189,12 +216,12 @@ ${e.join("\n")}`)}(function(e){let t=i.default.join(process.cwd(),"db","sqlite",
189
216
  END`);for(let e of(0,r.existsSync)(a)?(0,r.readdirSync)(a,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name):[]){let n=function(e){let t=(0,i.join)(a,e,"identity.json");if(!(0,r.existsSync)(t))return null;try{return JSON.parse((0,r.readFileSync)(t,"utf-8"))}catch{return null}}(e);t.run(e,o.id,n?.name?.trim()||e,n?.voice?.trim()||null,n?.seed?.trim()||null)}})(e),function(e){let t=E(),r=new Set(e.prepare("SELECT id FROM agents").all().map(e=>e.id)),i=e.prepare(`INSERT INTO agent_skills (agent_id, file, condition)
190
217
  VALUES (?, ?, ?)
191
218
  ON CONFLICT(agent_id, file) DO UPDATE SET
192
- condition = excluded.condition`);for(let e of t)if(r.has(e.id))for(let t of e.skills??[]){let r=t.file?.trim();r&&i.run(e.id,r,t.condition?.trim()||null)}}(e),function(e){for(let t of e.prepare("SELECT id, voice, seed FROM agents").all())!function(e,t){let n=(0,i.join)(a,e);(0,r.existsSync)(n)||(0,r.mkdirSync)(n,{recursive:!0});let o=t?.voice?.trim()||"conversational, concise, practical",s=t?.seed?.trim()||"I evolve through experience and collaboration.",l=(0,i.join)(n,"identity.json");(0,r.existsSync)(l)||(0,r.writeFileSync)(l,JSON.stringify({name:e,voice:o,seed:s},null,2)+"\n","utf-8");let d=(0,i.join)(n,"journal.jsonl"),E=(0,i.join)(n,"reactions.jsonl"),p=(0,i.join)(n,"comments.jsonl"),T=(0,i.join)(n,"activity.jsonl"),c=(0,i.join)(n,"self.md");(0,r.existsSync)(d)||(0,r.writeFileSync)(d,"","utf-8"),(0,r.existsSync)(E)||(0,r.writeFileSync)(E,"","utf-8"),(0,r.existsSync)(p)||(0,r.writeFileSync)(p,"","utf-8"),(0,r.existsSync)(T)||(0,r.writeFileSync)(T,"","utf-8"),(0,r.existsSync)(c)||(0,r.writeFileSync)(c,`---
219
+ condition = excluded.condition`);for(let e of t)if(r.has(e.id))for(let t of e.skills??[]){let r=t.file?.trim();r&&i.run(e.id,r,t.condition?.trim()||null)}}(e),function(e){for(let t of e.prepare("SELECT id, voice, seed FROM agents").all())!function(e,t){let n=(0,i.join)(a,e);(0,r.existsSync)(n)||(0,r.mkdirSync)(n,{recursive:!0});let o=t?.voice?.trim()||"conversational, concise, practical",s=t?.seed?.trim()||"I evolve through experience and collaboration.",l=(0,i.join)(n,"identity.json");(0,r.existsSync)(l)||(0,r.writeFileSync)(l,JSON.stringify({name:e,voice:o,seed:s},null,2)+"\n","utf-8");let d=(0,i.join)(n,"journal.jsonl"),E=(0,i.join)(n,"reactions.jsonl"),T=(0,i.join)(n,"comments.jsonl"),p=(0,i.join)(n,"activity.jsonl"),c=(0,i.join)(n,"self.md");(0,r.existsSync)(d)||(0,r.writeFileSync)(d,"","utf-8"),(0,r.existsSync)(E)||(0,r.writeFileSync)(E,"","utf-8"),(0,r.existsSync)(T)||(0,r.writeFileSync)(T,"","utf-8"),(0,r.existsSync)(p)||(0,r.writeFileSync)(p,"","utf-8"),(0,r.existsSync)(c)||(0,r.writeFileSync)(c,`---
193
220
  version: 0
194
221
  derivedAt: ${new Date().toISOString()}
195
222
  ---
196
223
  I am ${e}. ${s}
197
- `,"utf-8")}(t.id,{voice:t.voice??void 0,seed:t.seed??void 0})}(e)}(_);let l=function(e){var t;if(!e)throw Error("autoMigrateLegacyWorkspacesToProjects requires an explicit database handle");if(!e.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'teams'").get()||(c(e),e.prepare("SELECT 1 FROM app_migrations WHERE key = ? LIMIT 1").get(T)))return null;let r=function(e){let t;if(!e)throw Error("migrateLegacyWorkspacesToProjects requires an explicit database handle");let r={usersProcessed:0,agentsImported:0,agentSkillsMigrated:0,projectsCreated:0,projectsMatched:0,projectAgentsLinked:0,projectThreadsLinked:0,projectVariablesMigrated:0,remappedThreadLinks:0,warnings:[],projectMappings:[]};if(!e.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'teams'").get())return r.warnings.push("No legacy teams table found."),r;let i=E(),n=new Map(i.map(e=>[e.id,e])),{teams:a,teamAgents:s,teamWorkspaces:l}=(t=e.prepare("SELECT id, name, user_id, COALESCE(is_default, 0) AS is_default FROM teams ORDER BY name ASC").all(),{teams:t,teamAgents:e.prepare("SELECT team_id, agent_id, routing_order FROM team_agents ORDER BY team_id, routing_order ASC").all(),teamWorkspaces:e.prepare("SELECT team_id, thread_id FROM team_workspaces ORDER BY team_id, thread_id ASC").all()}),d=new Map;for(let e of a){let t=d.get(e.user_id)??[];t.push(e),d.set(e.user_id,t)}let p=new Map;for(let e of s){let t=p.get(e.team_id)??[];t.push(e),p.set(e.team_id,t)}let T=new Map;for(let e of l){let t=T.get(e.team_id)??[];t.push(e.thread_id),T.set(e.team_id,t)}return e.transaction(()=>{for(let[t,a]of d.entries()){r.usersProcessed++;let s=t||o.id;!function(e,t,r,i){let n=e.prepare(`INSERT INTO agents (id, user_id, name, style, description, model, provider, color, voice, seed)
224
+ `,"utf-8")}(t.id,{voice:t.voice??void 0,seed:t.seed??void 0})}(e)}(L);let l=function(e){var t;if(!e)throw Error("autoMigrateLegacyWorkspacesToProjects requires an explicit database handle");if(!e.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'teams'").get()||(c(e),e.prepare("SELECT 1 FROM app_migrations WHERE key = ? LIMIT 1").get(p)))return null;let r=function(e){let t;if(!e)throw Error("migrateLegacyWorkspacesToProjects requires an explicit database handle");let r={usersProcessed:0,agentsImported:0,agentSkillsMigrated:0,projectsCreated:0,projectsMatched:0,projectAgentsLinked:0,projectThreadsLinked:0,projectVariablesMigrated:0,remappedThreadLinks:0,warnings:[],projectMappings:[]};if(!e.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'teams'").get())return r.warnings.push("No legacy teams table found."),r;let i=E(),n=new Map(i.map(e=>[e.id,e])),{teams:a,teamAgents:s,teamWorkspaces:l}=(t=e.prepare("SELECT id, name, user_id, COALESCE(is_default, 0) AS is_default FROM teams ORDER BY name ASC").all(),{teams:t,teamAgents:e.prepare("SELECT team_id, agent_id, routing_order FROM team_agents ORDER BY team_id, routing_order ASC").all(),teamWorkspaces:e.prepare("SELECT team_id, thread_id FROM team_workspaces ORDER BY team_id, thread_id ASC").all()}),d=new Map;for(let e of a){let t=d.get(e.user_id)??[];t.push(e),d.set(e.user_id,t)}let T=new Map;for(let e of s){let t=T.get(e.team_id)??[];t.push(e),T.set(e.team_id,t)}let p=new Map;for(let e of l){let t=p.get(e.team_id)??[];t.push(e.thread_id),p.set(e.team_id,t)}return e.transaction(()=>{for(let[t,a]of d.entries()){r.usersProcessed++;let s=t||o.id;!function(e,t,r,i){let n=e.prepare(`INSERT INTO agents (id, user_id, name, style, description, model, provider, color, voice, seed)
198
225
  VALUES (?, ?, ?, 'balanced', ?, ?, ?, ?, NULL, NULL)
199
226
  ON CONFLICT(id) DO UPDATE SET
200
227
  user_id = excluded.user_id,
@@ -206,9 +233,9 @@ I am ${e}. ${s}
206
233
  updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')`),o=e.prepare("SELECT 1 FROM agents WHERE id = ?");for(let e of r){let r=!!o.get(e.id);n.run(e.id,t,e.name,e.identity??null,e.model??null,e.provider??"claude",e.color??"#6B7280"),!r&&i.agentsImported++}}(e,s,i,r),function(e,t,r){let i=e.prepare(`INSERT INTO agent_skills (agent_id, file, condition)
207
234
  VALUES (?, ?, ?)
208
235
  ON CONFLICT(agent_id, file) DO UPDATE SET
209
- condition = excluded.condition`);for(let n of t)for(let t of n.skills??[]){let o=t.file?.trim();if(!o)continue;let a=e.prepare("SELECT condition FROM agent_skills WHERE agent_id = ? AND file = ?").get(n.id,o),s=t.condition||null;i.run(n.id,o,s),(!a||a.condition!==s)&&r.agentSkillsMigrated++}}(e,i,r);let l=new Map,d=new Map;for(let t of a){let i=T.get(t.id)??[],n=function(e,t,r,i){var n;let o,a=r.is_default?"default":r.name.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-"),s=e.prepare("SELECT id, name FROM projects WHERE user_id = ? AND slug = ? LIMIT 1").get(t,a);if(s)return i.projectsMatched++,s;let l=r.is_default?"Default Project":(o=(n=r.name).trim())?o.split(/\s+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):n,d=e.prepare(`INSERT INTO projects (user_id, name, slug, description)
236
+ condition = excluded.condition`);for(let n of t)for(let t of n.skills??[]){let o=t.file?.trim();if(!o)continue;let a=e.prepare("SELECT condition FROM agent_skills WHERE agent_id = ? AND file = ?").get(n.id,o),s=t.condition||null;i.run(n.id,o,s),(!a||a.condition!==s)&&r.agentSkillsMigrated++}}(e,i,r);let l=new Map,d=new Map;for(let t of a){let i=p.get(t.id)??[],n=function(e,t,r,i){var n;let o,a=r.is_default?"default":r.name.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/--+/g,"-"),s=e.prepare("SELECT id, name FROM projects WHERE user_id = ? AND slug = ? LIMIT 1").get(t,a);if(s)return i.projectsMatched++,s;let l=r.is_default?"Default Project":(o=(n=r.name).trim())?o.split(/\s+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):n,d=e.prepare(`INSERT INTO projects (user_id, name, slug, description)
210
237
  VALUES (?, ?, ?, ?)
211
- RETURNING id, name`).get(t,l,a||`project-${r.id.slice(0,8)}`,"Migrated from legacy workspace/team structure");return i.projectsCreated++,d}(e,s,t,r),o=p.get(t.id)??[];l.set(n.id,o),d.set(n.id,i),r.projectMappings.push({teamId:t.id,teamName:t.name,projectId:n.id,projectName:n.name,threadIds:i})}let E=e.prepare(`INSERT INTO project_agents (project_id, agent_id, routing_order)
238
+ RETURNING id, name`).get(t,l,a||`project-${r.id.slice(0,8)}`,"Migrated from legacy workspace/team structure");return i.projectsCreated++,d}(e,s,t,r),o=T.get(t.id)??[];l.set(n.id,o),d.set(n.id,i),r.projectMappings.push({teamId:t.id,teamName:t.name,projectId:n.id,projectName:n.name,threadIds:i})}let E=e.prepare(`INSERT INTO project_agents (project_id, agent_id, routing_order)
212
239
  VALUES (?, ?, ?)
213
240
  ON CONFLICT(project_id, agent_id) DO UPDATE SET
214
241
  routing_order = excluded.routing_order`),c=e.prepare("DELETE FROM project_threads WHERE thread_id = ? AND project_id <> ?"),u=e.prepare(`INSERT OR IGNORE INTO project_threads (project_id, thread_id)
@@ -218,16 +245,16 @@ I am ${e}. ${s}
218
245
  VALUES (?, json(?))
219
246
  ON CONFLICT(key) DO UPDATE SET
220
247
  applied_at = strftime('%Y-%m-%dT%H:%M:%fZ','now'),
221
- metadata = excluded.metadata`).run(T,JSON.stringify(t)),r}(_);return l&&console.log(`[sqlite] auto-migrated legacy workspaces to projects: ${JSON.stringify({usersProcessed:l.usersProcessed,projectsCreated:l.projectsCreated,projectsMatched:l.projectsMatched,projectAgentsLinked:l.projectAgentsLinked,projectThreadsLinked:l.projectThreadsLinked})}`),(e=_).prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='teams'").get()&&e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='app_migrations'").get()&&e.prepare("SELECT 1 FROM app_migrations WHERE key = 'legacy_workspaces_to_projects_v1' LIMIT 1").get()&&(e.exec(`
248
+ metadata = excluded.metadata`).run(p,JSON.stringify(t)),r}(L);return l&&console.log(`[sqlite] auto-migrated legacy workspaces to projects: ${JSON.stringify({usersProcessed:l.usersProcessed,projectsCreated:l.projectsCreated,projectsMatched:l.projectsMatched,projectAgentsLinked:l.projectAgentsLinked,projectThreadsLinked:l.projectThreadsLinked})}`),(e=L).prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='teams'").get()&&e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='app_migrations'").get()&&e.prepare("SELECT 1 FROM app_migrations WHERE key = 'legacy_workspaces_to_projects_v1' LIMIT 1").get()&&(e.exec(`
222
249
  DROP TABLE IF EXISTS team_workspaces;
223
250
  DROP TABLE IF EXISTS team_agents;
224
251
  DROP TABLE IF EXISTS teams;
225
- `),console.log("[sqlite] dropped legacy teams, team_agents, team_workspaces tables")),_}let g=new Set(["definition","depends_on","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function f(e){return void 0===e?null:e instanceof Date?e.toISOString():e&&"object"==typeof e?JSON.stringify(e):e}function h(e,t){return null==t?null:t instanceof Date?t.toISOString():g.has(e)?JSON.stringify(t):f(t)}function O(e){let t=(e||"*").trim();if(!t||"*"===t)return{columns:["*"],includeProjectRepos:!1};let r=t.includes("project_repos(*)"),i=t.replace(/project_repos\(\*\)/g,"").split(",").map(e=>e.trim()).filter(Boolean);return 0===i.length?{columns:["*"],includeProjectRepos:r}:{columns:i,includeProjectRepos:r}}class S{table;operation="select";filters=[];orderSpecs=[];limitValue=null;selectColumns="*";returningColumns=null;singleMode="none";payload=null;upsertOptions=null;constructor(e){this.table=e}select(e="*"){return"select"===this.operation?this.selectColumns=e:this.returningColumns=e||"*",this}insert(e){return this.operation="insert",this.payload=e,this}update(e){return this.operation="update",this.payload=e,this}delete(){return this.operation="delete",this}upsert(e,t){return this.operation="upsert",this.payload=e,this.upsertOptions=t||{},this}eq(e,t){return this.filters.push({op:"eq",column:e,value:t}),this}neq(e,t){return this.filters.push({op:"neq",column:e,value:t}),this}gt(e,t){return this.filters.push({op:"gt",column:e,value:t}),this}gte(e,t){return this.filters.push({op:"gte",column:e,value:t}),this}lt(e,t){return this.filters.push({op:"lt",column:e,value:t}),this}lte(e,t){return this.filters.push({op:"lte",column:e,value:t}),this}is(e,t){return this.filters.push({op:"is",column:e,value:t}),this}in(e,t){return this.filters.push({op:"in",column:e,value:t||[]}),this}contains(e,t){return this.filters.push({op:"contains",column:e,value:t}),this}or(e){return this.filters.push({op:"or",expression:e}),this}order(e,t){return this.orderSpecs.push({column:e,...t||{}}),this}limit(e){return this.limitValue=e,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(e,t){return this.execute().then(e,t)}buildWhere(e,t){for(let r of this.filters){if("or"===r.op){let i=r.expression.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{var r;let[i,n,...o]=e.split("."),a="true"===(r=o.join("."))||"false"!==r&&("null"===r?null:r);return"eq"===n?(t.push(f(a)),`${i} = ?`):"neq"===n?(t.push(f(a)),`${i} <> ?`):"is"===n?null===a?`${i} IS NULL`:(t.push(f(a)),`${i} IS ?`):"ilike"===n||"like"===n?(t.push(f(a)),`${i} LIKE ?`):"1=1"});i.length>0&&e.push(`(${i.join(" OR ")})`);continue}if("eq"===r.op)t.push(f(r.value)),e.push(`${r.column} = ?`);else if("neq"===r.op)t.push(f(r.value)),e.push(`${r.column} <> ?`);else if("gt"===r.op)t.push(f(r.value)),e.push(`${r.column} > ?`);else if("gte"===r.op)t.push(f(r.value)),e.push(`${r.column} >= ?`);else if("lt"===r.op)t.push(f(r.value)),e.push(`${r.column} < ?`);else if("lte"===r.op)t.push(f(r.value)),e.push(`${r.column} <= ?`);else if("is"===r.op)null===r.value?e.push(`${r.column} IS NULL`):(t.push(f(r.value)),e.push(`${r.column} IS ?`));else if("contains"===r.op){let i=(r.value||[]).map(f);if(0===i.length)e.push("1=1");else{let n=i.map(()=>"?").join(", ");t.push(...i),e.push(`(SELECT COUNT(*) FROM json_each(${r.column}) WHERE json_each.value IN (${n})) = ${i.length}`)}}else if("in"===r.op)if(r.value&&0!==r.value.length){let i=(r.value||[]).map(f),n=i.map(()=>"?").join(", ");t.push(...i),e.push(`${r.column} IN (${n})`)}else e.push("1=0")}}executeSelect(){try{let e=L(),{columns:t,includeProjectRepos:r}=O(this.selectColumns),i=[],n=[];this.buildWhere(n,i);let o=`SELECT ${t.join(", ")} FROM ${this.table}`;if(n.length>0&&(o+=` WHERE ${n.join(" AND ")}`),this.orderSpecs.length>0){let e=this.orderSpecs.map(e=>{let t=!1===e.ascending?"DESC":"ASC";return!0===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 0 ELSE 1 END, ${e.column} ${t}`:!1===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 1 ELSE 0 END, ${e.column} ${t}`:`${e.column} ${t}`}).join(", ");o+=` ORDER BY ${e}`}"number"==typeof this.limitValue&&(i.push(this.limitValue),o+=" LIMIT ?");let a=e.prepare(o).all(...i);if(a=a.map(R),r&&"projects"===this.table&&a.length>0){let t=a.map(e=>e.id).filter(Boolean);if(t.length>0){let r=t.map(()=>"?").join(", "),i=e.prepare(`SELECT * FROM project_repos WHERE project_id IN (${r})`).all(...t),n=new Map;for(let e of i){let t=n.get(e.project_id)||[];t.push(e),n.set(e.project_id,t)}a=a.map(e=>({...e,project_repos:n.get(e.id)||[]}))}}if("single"===this.singleMode){if(0===a.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:a[0],error:null}}if("maybeSingle"===this.singleMode)return{data:a[0]||null,error:null};return{data:a,error:null}}catch(e){return{data:null,error:e}}}executeInsertOrUpsert(){try{let e,t=L(),r=Array.isArray(this.payload)?this.payload:[this.payload];if(!r.length)return{data:[],error:null};let i=Array.from(r.reduce((e,t)=>{for(let r of Object.keys(t||{}))e.add(r);return e},new Set)),n=[],o=r.map(e=>{let t=i.map(t=>(n.push(h(t,e[t])),"?"));return`(${t.join(", ")})`}),a=`INSERT INTO ${this.table} (${i.join(", ")}) VALUES ${o.join(", ")}`;if("upsert"===this.operation){let e=this.upsertOptions?.onConflict||"",t=String(e).split(",").map(e=>e.trim()).filter(Boolean);if(t.length>0)if(this.upsertOptions?.ignoreDuplicates)a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`;else{let e=i.filter(e=>!t.includes(e)).map(e=>`${e} = EXCLUDED.${e}`);e.length>0?a+=` ON CONFLICT (${t.join(", ")}) DO UPDATE SET ${e.join(", ")}`:a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:e}=O(this.returningColumns);a+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(a).all(...n)).map(R):(t.prepare(a).run(...n),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:s&&s[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}executeUpdateOrDelete(){try{let e,t=L(),r=[],i=[],n=[];this.buildWhere(n,i);let o="";if("update"===this.operation){let e=Object.keys(this.payload||{}).map(e=>{let t=this.payload[e];return t instanceof N?`${e} = ${t.expr}`:(r.push(h(e,t)),`${e} = ?`)});o=`UPDATE ${this.table} SET ${e.join(", ")}`}else o=`DELETE FROM ${this.table}`;n.length>0&&(o+=` WHERE ${n.join(" AND ")}`);let a=[...r,...i];if(this.returningColumns){let{columns:e}=O(this.returningColumns);o+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(o).all(...a)).map(R):(t.prepare(o).run(...a),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode){if(!s||0===s.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:s[0],error:null}}if("maybeSingle"===this.singleMode)return{data:s?.[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}let A=new Set([...g,"depends_on","open_blockers","swarm_models","run_index","stage_decisions","definition","metadata","models","config","policy","done_criteria","outputs","task_snapshot","data_mapping"]);function R(e){if(!e||"object"!=typeof e)return e;let t={...e};for(let e of Object.keys(t)){if(A.has(e)&&"string"==typeof t[e])try{t[e]=JSON.parse(t[e])}catch{}("swarm"===e||"is_default"===e||"is_public"===e||"had_graph_before"===e)&&(0===t[e]?t[e]=!1:1===t[e]&&(t[e]=!0))}return t}function I(){return{from:e=>new S(e),auth:{getUser:async()=>({data:{user:{id:o.id,email:o.email,user_metadata:{name:o.name,full_name:o.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:o.id,email:o.email}},error:null})},async rpc(e,t){if("check_rate_limit"!==e)return{data:null,error:{message:`Unsupported rpc: ${e}`}};let r=L(),i=t.p_user_id,n=t.p_endpoint,o=Number(t.p_limit||60),a=Number(t.p_window_seconds||60),s=new Date(Math.floor(new Date().getTime()/(1e3*a))*a*1e3);try{let e=`
252
+ `),console.log("[sqlite] dropped legacy teams, team_agents, team_workspaces tables")),L}let g=new Set(["definition","depends_on","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function h(e){return void 0===e?null:e instanceof Date?e.toISOString():e&&"object"==typeof e?JSON.stringify(e):e}function f(e,t){return null==t?null:t instanceof Date?t.toISOString():g.has(e)?JSON.stringify(t):h(t)}function O(e){let t=(e||"*").trim();if(!t||"*"===t)return{columns:["*"],includeProjectRepos:!1};let r=t.includes("project_repos(*)"),i=t.replace(/project_repos\(\*\)/g,"").split(",").map(e=>e.trim()).filter(Boolean);return 0===i.length?{columns:["*"],includeProjectRepos:r}:{columns:i,includeProjectRepos:r}}class S{table;operation="select";filters=[];orderSpecs=[];limitValue=null;selectColumns="*";returningColumns=null;singleMode="none";payload=null;upsertOptions=null;constructor(e){this.table=e}select(e="*"){return"select"===this.operation?this.selectColumns=e:this.returningColumns=e||"*",this}insert(e){return this.operation="insert",this.payload=e,this}update(e){return this.operation="update",this.payload=e,this}delete(){return this.operation="delete",this}upsert(e,t){return this.operation="upsert",this.payload=e,this.upsertOptions=t||{},this}eq(e,t){return this.filters.push({op:"eq",column:e,value:t}),this}neq(e,t){return this.filters.push({op:"neq",column:e,value:t}),this}gt(e,t){return this.filters.push({op:"gt",column:e,value:t}),this}gte(e,t){return this.filters.push({op:"gte",column:e,value:t}),this}lt(e,t){return this.filters.push({op:"lt",column:e,value:t}),this}lte(e,t){return this.filters.push({op:"lte",column:e,value:t}),this}is(e,t){return this.filters.push({op:"is",column:e,value:t}),this}in(e,t){return this.filters.push({op:"in",column:e,value:t||[]}),this}contains(e,t){return this.filters.push({op:"contains",column:e,value:t}),this}or(e){return this.filters.push({op:"or",expression:e}),this}order(e,t){return this.orderSpecs.push({column:e,...t||{}}),this}limit(e){return this.limitValue=e,this}single(){return this.singleMode="single",this.execute()}maybeSingle(){return this.singleMode="maybeSingle",this.execute()}then(e,t){return this.execute().then(e,t)}buildWhere(e,t){for(let r of this.filters){if("or"===r.op){let i=r.expression.split(",").map(e=>e.trim()).filter(Boolean).map(e=>{var r;let[i,n,...o]=e.split("."),a="true"===(r=o.join("."))||"false"!==r&&("null"===r?null:r);return"eq"===n?(t.push(h(a)),`${i} = ?`):"neq"===n?(t.push(h(a)),`${i} <> ?`):"is"===n?null===a?`${i} IS NULL`:(t.push(h(a)),`${i} IS ?`):"ilike"===n||"like"===n?(t.push(h(a)),`${i} LIKE ?`):"1=1"});i.length>0&&e.push(`(${i.join(" OR ")})`);continue}if("eq"===r.op)t.push(h(r.value)),e.push(`${r.column} = ?`);else if("neq"===r.op)t.push(h(r.value)),e.push(`${r.column} <> ?`);else if("gt"===r.op)t.push(h(r.value)),e.push(`${r.column} > ?`);else if("gte"===r.op)t.push(h(r.value)),e.push(`${r.column} >= ?`);else if("lt"===r.op)t.push(h(r.value)),e.push(`${r.column} < ?`);else if("lte"===r.op)t.push(h(r.value)),e.push(`${r.column} <= ?`);else if("is"===r.op)null===r.value?e.push(`${r.column} IS NULL`):(t.push(h(r.value)),e.push(`${r.column} IS ?`));else if("contains"===r.op){let i=(r.value||[]).map(h);if(0===i.length)e.push("1=1");else{let n=i.map(()=>"?").join(", ");t.push(...i),e.push(`(SELECT COUNT(*) FROM json_each(${r.column}) WHERE json_each.value IN (${n})) = ${i.length}`)}}else if("in"===r.op)if(r.value&&0!==r.value.length){let i=(r.value||[]).map(h),n=i.map(()=>"?").join(", ");t.push(...i),e.push(`${r.column} IN (${n})`)}else e.push("1=0")}}executeSelect(){try{let e=m(),{columns:t,includeProjectRepos:r}=O(this.selectColumns),i=[],n=[];this.buildWhere(n,i);let o=`SELECT ${t.join(", ")} FROM ${this.table}`;if(n.length>0&&(o+=` WHERE ${n.join(" AND ")}`),this.orderSpecs.length>0){let e=this.orderSpecs.map(e=>{let t=!1===e.ascending?"DESC":"ASC";return!0===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 0 ELSE 1 END, ${e.column} ${t}`:!1===e.nullsFirst?`CASE WHEN ${e.column} IS NULL THEN 1 ELSE 0 END, ${e.column} ${t}`:`${e.column} ${t}`}).join(", ");o+=` ORDER BY ${e}`}"number"==typeof this.limitValue&&(i.push(this.limitValue),o+=" LIMIT ?");let a=e.prepare(o).all(...i);if(a=a.map(I),r&&"projects"===this.table&&a.length>0){let t=a.map(e=>e.id).filter(Boolean);if(t.length>0){let r=t.map(()=>"?").join(", "),i=e.prepare(`SELECT * FROM project_repos WHERE project_id IN (${r})`).all(...t),n=new Map;for(let e of i){let t=n.get(e.project_id)||[];t.push(e),n.set(e.project_id,t)}a=a.map(e=>({...e,project_repos:n.get(e.id)||[]}))}}if("single"===this.singleMode){if(0===a.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:a[0],error:null}}if("maybeSingle"===this.singleMode)return{data:a[0]||null,error:null};return{data:a,error:null}}catch(e){return{data:null,error:e}}}executeInsertOrUpsert(){try{let e,t=m(),r=Array.isArray(this.payload)?this.payload:[this.payload];if(!r.length)return{data:[],error:null};let i=Array.from(r.reduce((e,t)=>{for(let r of Object.keys(t||{}))e.add(r);return e},new Set)),n=[],o=r.map(e=>{let t=i.map(t=>(n.push(f(t,e[t])),"?"));return`(${t.join(", ")})`}),a=`INSERT INTO ${this.table} (${i.join(", ")}) VALUES ${o.join(", ")}`;if("upsert"===this.operation){let e=this.upsertOptions?.onConflict||"",t=String(e).split(",").map(e=>e.trim()).filter(Boolean);if(t.length>0)if(this.upsertOptions?.ignoreDuplicates)a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`;else{let e=i.filter(e=>!t.includes(e)).map(e=>`${e} = EXCLUDED.${e}`);e.length>0?a+=` ON CONFLICT (${t.join(", ")}) DO UPDATE SET ${e.join(", ")}`:a+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:e}=O(this.returningColumns);a+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(a).all(...n)).map(I):(t.prepare(a).run(...n),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode||"maybeSingle"===this.singleMode)return{data:s&&s[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}executeUpdateOrDelete(){try{let e,t=m(),r=[],i=[],n=[];this.buildWhere(n,i);let o="";if("update"===this.operation){let e=Object.keys(this.payload||{}).map(e=>{let t=this.payload[e];return t instanceof N?`${e} = ${t.expr}`:(r.push(f(e,t)),`${e} = ?`)});o=`UPDATE ${this.table} SET ${e.join(", ")}`}else o=`DELETE FROM ${this.table}`;n.length>0&&(o+=` WHERE ${n.join(" AND ")}`);let a=[...r,...i];if(this.returningColumns){let{columns:e}=O(this.returningColumns);o+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(o).all(...a)).map(I):(t.prepare(o).run(...a),e=[]);let s=this.returningColumns?e:null;if("single"===this.singleMode){if(!s||0===s.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:s[0],error:null}}if("maybeSingle"===this.singleMode)return{data:s?.[0]||null,error:null};return{data:s,error:null}}catch(e){return{data:null,error:e}}}async execute(){return"select"===this.operation?this.executeSelect():"insert"===this.operation||"upsert"===this.operation?this.executeInsertOrUpsert():this.executeUpdateOrDelete()}}let A=new Set([...g,"depends_on","open_blockers","swarm_models","run_index","stage_decisions","definition","metadata","models","config","policy","done_criteria","outputs","task_snapshot","data_mapping"]);function I(e){if(!e||"object"!=typeof e)return e;let t={...e};for(let e of Object.keys(t)){if(A.has(e)&&"string"==typeof t[e])try{t[e]=JSON.parse(t[e])}catch{}("swarm"===e||"is_default"===e||"is_public"===e||"had_graph_before"===e)&&(0===t[e]?t[e]=!1:1===t[e]&&(t[e]=!0))}return t}function R(){return{from:e=>new S(e),auth:{getUser:async()=>({data:{user:{id:o.id,email:o.email,user_metadata:{name:o.name,full_name:o.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:o.id,email:o.email}},error:null})},async rpc(e,t){if("check_rate_limit"!==e)return{data:null,error:{message:`Unsupported rpc: ${e}`}};let r=m(),i=t.p_user_id,n=t.p_endpoint,o=Number(t.p_limit||60),a=Number(t.p_window_seconds||60),s=new Date(Math.floor(new Date().getTime()/(1e3*a))*a*1e3);try{let e=`
226
253
  INSERT INTO rate_limits (user_id, endpoint, window_start, request_count)
227
254
  VALUES (?, ?, ?, 1)
228
255
  ON CONFLICT (user_id, endpoint, window_start)
229
256
  DO UPDATE SET request_count = rate_limits.request_count + 1
230
257
  RETURNING request_count
231
- `,t=r.prepare(e).get(i,n,s.toISOString());return{data:Number(t?.request_count||0)<=o,error:null}}catch(e){return{data:!1,error:e}}},channel:()=>({on(){return this},subscribe(e){return e&&e("SUBSCRIBED"),this}}),removeChannel(){}}}e.s(["SqlExpression",()=>N,"createAdminDbClientSQLite",()=>I,"getSQLiteDb",()=>L,"sqlExpr",()=>m],65196)}];
258
+ `,t=r.prepare(e).get(i,n,s.toISOString());return{data:Number(t?.request_count||0)<=o,error:null}}catch(e){return{data:!1,error:e}}},channel:()=>({on(){return this},subscribe(e){return e&&e("SUBSCRIBED"),this}}),removeChannel(){}}}e.s(["SqlExpression",()=>N,"createAdminDbClientSQLite",()=>R,"getSQLiteDb",()=>m,"sqlExpr",()=>_],65196)}];
232
259
 
233
260
  //# sourceMappingURL=lib_sqlite-query-adapter_ts_3ea4d849._.js.map