@mndrk/agx 2.0.26 → 2.0.33

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 (867) hide show
  1. package/README.md +4 -6
  2. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +7 -0
  4. package/cloud-runtime/standalone/.next/build-manifest.json +4 -4
  5. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  6. package/cloud-runtime/standalone/.next/required-server-files.json +4 -4
  7. package/cloud-runtime/standalone/.next/routes-manifest.json +51 -0
  8. package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +2 -2
  27. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  28. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  29. package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +2 -2
  30. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  33. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  34. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  35. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  37. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  38. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  39. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +2 -2
  41. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +2 -2
  43. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +2 -2
  45. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +4 -4
  47. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +3 -3
  49. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +7 -4
  51. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/app-paths-manifest.json +3 -0
  53. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/build-manifest.json +11 -0
  54. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route/server-reference-manifest.json +4 -0
  55. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +8 -0
  56. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.map +5 -0
  57. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -0
  58. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route_client-reference-manifest.js +2 -0
  59. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/app-paths-manifest.json +3 -0
  60. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/build-manifest.json +11 -0
  61. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route/server-reference-manifest.json +4 -0
  62. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +7 -0
  63. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.map +5 -0
  64. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -0
  65. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route_client-reference-manifest.js +2 -0
  66. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/app-paths-manifest.json +3 -0
  67. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/build-manifest.json +11 -0
  68. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route/server-reference-manifest.json +4 -0
  69. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +8 -0
  70. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.map +5 -0
  71. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -0
  72. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route_client-reference-manifest.js +2 -0
  73. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +2 -2
  77. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +5 -4
  79. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/history/status/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
  83. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
  84. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
  85. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
  86. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
  87. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
  88. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
  89. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +5 -4
  90. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js +2 -2
  93. package/cloud-runtime/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +2 -2
  95. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +2 -2
  99. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +2 -2
  101. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
  103. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +3 -3
  105. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +6 -4
  107. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +4 -3
  109. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +3 -3
  111. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
  113. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +3 -3
  115. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +4 -4
  117. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +4 -4
  119. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +4 -4
  121. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +4 -3
  123. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +3 -3
  125. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +3 -3
  127. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +3 -3
  129. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +4 -3
  131. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +4 -3
  135. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +6 -5
  137. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/reactions/route.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +3 -3
  140. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +4 -4
  142. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +4 -4
  144. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +4 -4
  146. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
  151. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/api/task-drafts/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -3
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +6 -5
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +5 -4
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +5 -4
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +4 -4
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +5 -5
  165. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +5 -5
  167. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +2 -2
  169. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +5 -5
  171. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +4 -3
  173. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +4 -3
  175. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +4 -4
  177. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +5 -5
  179. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +6 -5
  181. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  182. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +4 -3
  183. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +2 -2
  185. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  186. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +2 -2
  187. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +5 -4
  189. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  190. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +4 -3
  191. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  192. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js +2 -2
  193. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
  194. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +3 -3
  195. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  196. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +7 -6
  197. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  198. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +7 -6
  199. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  200. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +6 -5
  201. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +6 -5
  203. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  204. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +7 -6
  205. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  206. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +8 -6
  207. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  208. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -3
  209. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  210. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +5 -4
  211. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  212. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
  213. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  214. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +7 -6
  215. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js +2 -2
  217. package/cloud-runtime/standalone/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
  218. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/app-paths-manifest.json +3 -0
  219. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/build-manifest.json +11 -0
  220. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route/server-reference-manifest.json +4 -0
  221. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +10 -0
  222. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.map +5 -0
  223. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -0
  224. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route_client-reference-manifest.js +2 -0
  225. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +5 -2
  226. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  227. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +5 -4
  228. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  229. package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +2 -2
  230. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  233. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  234. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  235. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  236. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  237. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  238. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  239. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +2 -2
  241. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  243. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  244. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  245. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  246. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  247. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  248. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  249. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +2 -2
  251. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  253. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  254. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
  255. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  256. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  257. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  258. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  259. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  260. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  262. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  263. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  264. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  265. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  266. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  267. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  268. package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +2 -2
  269. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  270. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  271. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +2 -2
  272. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  273. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  274. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/app-paths-manifest.json +3 -0
  275. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +18 -0
  276. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/next-font-manifest.json +11 -0
  277. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/react-loadable-manifest.json +1 -0
  278. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/server-reference-manifest.json +4 -0
  279. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js +16 -0
  280. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.map +5 -0
  281. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -0
  282. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +2 -0
  283. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +2 -2
  284. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  285. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  286. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/app-paths-manifest.json +3 -0
  287. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +18 -0
  288. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/next-font-manifest.json +11 -0
  289. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/react-loadable-manifest.json +1 -0
  290. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/server-reference-manifest.json +4 -0
  291. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js +16 -0
  292. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.map +5 -0
  293. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -0
  294. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +2 -0
  295. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +2 -2
  296. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  297. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  298. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  299. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +3 -3
  300. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  301. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  302. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  303. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  304. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  305. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  306. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  307. package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  308. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  309. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  310. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  311. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  312. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  313. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  314. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  315. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  316. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  317. package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +2 -2
  318. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  319. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  320. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  321. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  322. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  323. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  324. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  325. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  326. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  327. package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +2 -2
  328. package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
  329. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  330. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  331. package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
  332. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
  333. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  334. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  335. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  336. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  337. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  338. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +2 -2
  339. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  340. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  341. package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +2 -2
  342. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  343. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  344. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  345. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  346. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  347. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  348. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  349. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  350. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  351. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  352. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +7 -0
  353. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__017f03c3._.js +13 -0
  354. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
  355. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0b3b6a47._.js +51 -0
  356. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__16dd1fd7._.js +13 -0
  357. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__18423486._.js +3 -0
  358. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__19520d85._.js +75 -0
  359. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1c18c0d1._.js +3 -0
  360. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +3 -0
  361. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__241a8bcf._.js +1 -1
  362. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
  363. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32b13ba9._.js +3 -0
  364. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c1567b6._.js +3 -0
  365. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c37453e._.js +3 -0
  366. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3faa64cd._.js +4 -0
  367. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
  368. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4837d72a._.js +3 -0
  369. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49c03d66._.js +3 -0
  370. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
  371. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c50f159._.js +4 -4
  372. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c861686._.js +46 -0
  373. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c8624cc._.js +3 -0
  374. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d8c6e3d._.js +58 -0
  375. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__50ddd3ce._.js +3 -0
  376. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +5 -1
  377. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__588b6ab0._.js +46 -0
  378. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__59b5d4e5._.js +1 -1
  379. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a348fba._.js +42 -0
  380. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5d359afa._.js +46 -0
  381. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__61c99680._.js +52 -0
  382. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__666f8712._.js +3 -0
  383. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6acb940d._.js +3 -0
  384. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6c26221d._.js +7 -0
  385. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74b97f0a._.js +1 -1
  386. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7e79d86a._.js +3 -0
  387. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7ffcc20c._.js +3 -0
  388. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__875279cb._.js +112 -0
  389. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
  390. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8b461158._.js +3 -0
  391. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
  392. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
  393. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a189593a._.js +3 -0
  394. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
  395. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
  396. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b3ed0a00._.js +46 -0
  397. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b4d05543._.js +1 -1
  398. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b63cb741._.js +63 -0
  399. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b9b3fde6._.js +3 -0
  400. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__be4ad4b5._.js +46 -0
  401. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +80 -0
  402. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c480c9c2._.js +3 -0
  403. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c5b8ceb7._.js +3 -0
  404. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
  405. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -0
  406. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +3 -0
  407. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d6e1ee6e._.js +32 -0
  408. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__da20a0aa._.js +1 -1
  409. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e069c0a3._.js +3 -0
  410. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e122cae2._.js +3 -0
  411. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e51c02._.js +7 -0
  412. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef82dda1._.js +3 -0
  413. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
  414. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1b7932f._.js +36 -0
  415. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f701b208._.js +146 -0
  416. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fa0ebee3._.js +13 -0
  417. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fce2cdce._.js +3 -0
  418. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +5 -5
  419. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffffceac._.js +6 -0
  420. package/cloud-runtime/standalone/.next/server/chunks/_05fa3b89._.js +46 -0
  421. package/cloud-runtime/standalone/.next/server/chunks/_0a767dfe._.js +3 -0
  422. package/cloud-runtime/standalone/.next/server/chunks/_2f3e5ac1._.js +6 -0
  423. package/cloud-runtime/standalone/.next/server/chunks/_4190f170._.js +46 -0
  424. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__a104cda8._.js → _42e9c8d5._.js} +7 -7
  425. package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
  426. package/cloud-runtime/standalone/.next/server/chunks/_5ca51127._.js +54 -0
  427. package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
  428. package/cloud-runtime/standalone/.next/server/chunks/_6bb93816._.js +6 -0
  429. package/cloud-runtime/standalone/.next/server/chunks/_7011db4f._.js +3 -0
  430. package/cloud-runtime/standalone/.next/server/chunks/_8b9fde82._.js +97 -0
  431. package/cloud-runtime/standalone/.next/server/chunks/_95ac98db._.js +49 -0
  432. package/cloud-runtime/standalone/.next/server/chunks/_994414cd._.js +54 -0
  433. package/cloud-runtime/standalone/.next/server/chunks/_99b78daf._.js +46 -0
  434. package/cloud-runtime/standalone/.next/server/chunks/_a877d34f._.js +6 -0
  435. package/cloud-runtime/standalone/.next/server/chunks/_affbdbb0._.js +46 -0
  436. package/cloud-runtime/standalone/.next/server/chunks/_c31ca6ab._.js +3 -0
  437. package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
  438. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
  439. package/cloud-runtime/standalone/.next/server/chunks/_d22934ab._.js +97 -0
  440. package/cloud-runtime/standalone/.next/server/chunks/_ee99a36b._.js +6 -0
  441. package/cloud-runtime/standalone/.next/server/chunks/_efc73784._.js +46 -0
  442. package/cloud-runtime/standalone/.next/server/chunks/_fba13a4a._.js +6 -0
  443. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_route_actions_033ac330.js +3 -0
  444. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_[id]_signal_route_actions_4b56f1cd.js +3 -0
  445. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_chat-runs_route_actions_0c8cd01c.js +3 -0
  446. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +3 -0
  447. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_threads_knowledge_route_actions_c139bcf7.js +3 -0
  448. package/cloud-runtime/standalone/.next/server/chunks/lib_7cad5c77._.js +64 -0
  449. package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +25 -0
  450. package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
  451. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +68 -23
  452. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +94 -42
  453. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +91 -44
  454. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +87 -17
  455. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +294 -0
  456. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0f808fa3.js +3 -0
  457. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_2bdede98.js +3 -0
  458. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +50 -43
  459. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_3d31fed0.js +3 -0
  460. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_57a073eb.js +3 -0
  461. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7f8022ab.js +3 -0
  462. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_84e28f38.js +3 -0
  463. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_8ec90680.js +3 -0
  464. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_a590fcd6.js +3 -0
  465. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_cc6c687d.js +3 -0
  466. package/cloud-runtime/standalone/.next/server/chunks/src_graph_14067235._.js +46 -0
  467. package/cloud-runtime/standalone/.next/server/chunks/src_graph_api-route-utils_ts_b7225a0e._.js +1 -1
  468. package/cloud-runtime/standalone/.next/server/chunks/src_graph_b63e2d39._.js +46 -0
  469. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +3 -3
  470. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +1 -1
  471. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__04d1aa70._.js +3 -0
  472. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__2d80540b._.js +3 -0
  473. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
  474. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
  475. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6e83bf83._.js +3 -0
  476. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +3 -0
  477. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a0a1cb74._.js +3 -0
  478. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a416df95._.js +3 -0
  479. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__c108f06c._.js +3 -0
  480. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fca7df40._.js +3 -0
  481. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27f9c020._.js → _0061ebd8._.js} +2 -2
  482. package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +3 -0
  483. package/cloud-runtime/standalone/.next/server/chunks/ssr/_41f60c52._.js +3 -0
  484. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6b14826d._.js +3 -0
  485. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a696e9b3._.js → _84879a01._.js} +2 -2
  486. package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +8 -0
  487. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_c838f593._.js → _9eeb2fa0._.js} +2 -2
  488. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +3 -0
  489. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a10eb951._.js +4 -0
  490. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_4b5d7c9b._.js → _a1d30b20._.js} +2 -2
  491. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_27cb3359._.js → _c87c359c._.js} +2 -2
  492. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cb4d8a23._.js +4 -0
  493. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6a367524._.js → _ccb409c5._.js} +2 -2
  494. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +1 -1
  495. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_d021529a._.js → _dd31b6e0._.js} +2 -2
  496. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f0ce6183._.js +3 -0
  497. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_knowledge_page_actions_1037c40a.js +3 -0
  498. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
  499. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_graph_[taskId]_page_tsx_d8b1d582._.js +1 -1
  500. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +3 -0
  501. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_welcome_page_tsx_6c79bc59._.js +3 -0
  502. package/cloud-runtime/standalone/.next/server/chunks/ssr/ce889_server_app_projects_[slug]_thread_[threadId]_page_actions_660a8857.js +3 -0
  503. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +5 -5
  504. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  505. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_e70f9321._.js +3 -0
  506. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bf855424._.js +3 -0
  507. package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +5 -0
  508. package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +2 -2
  509. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  510. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  511. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +8 -0
  512. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  513. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  514. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  515. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  516. package/cloud-runtime/standalone/.next/static/chunks/{b5bd2eb6e0c7f71a.js → 010aff7b601302de.js} +3 -3
  517. package/cloud-runtime/standalone/.next/static/chunks/012e3e9699415997.js +1 -0
  518. package/cloud-runtime/standalone/.next/static/chunks/031d99fbe758545a.js +1 -0
  519. package/cloud-runtime/standalone/.next/static/chunks/0c467f54bc78a380.js +1 -0
  520. package/cloud-runtime/standalone/.next/static/chunks/{b4e298542d366e31.js → 116985039c24f1f8.js} +9 -9
  521. package/cloud-runtime/standalone/.next/static/chunks/2ee8d24314eec47c.js +1 -0
  522. package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +1 -0
  523. package/cloud-runtime/standalone/.next/static/chunks/43f6157bc3db9c52.js +6 -0
  524. package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +5 -0
  525. package/cloud-runtime/standalone/.next/static/chunks/{e44264686aa5ecbf.js → 56a01238098d495d.js} +9 -9
  526. package/cloud-runtime/standalone/.next/static/chunks/{45b4d0ee5c92d45b.js → 601996727991149e.js} +9 -9
  527. package/cloud-runtime/standalone/.next/static/chunks/851b1d97179bd39b.css +1 -0
  528. package/cloud-runtime/standalone/.next/static/chunks/8d15ced2dc70090a.js +1 -0
  529. package/cloud-runtime/standalone/.next/static/chunks/90b581e9631d8cea.js +1 -0
  530. package/cloud-runtime/standalone/.next/static/chunks/b22947e6df238fd5.js +1 -0
  531. package/cloud-runtime/standalone/.next/static/chunks/{616d66dbec9e4b8b.js → b2dcd19ebe3af3f6.js} +9 -9
  532. package/cloud-runtime/standalone/.next/static/chunks/bc06988336ffd261.js +1 -0
  533. package/cloud-runtime/standalone/.next/static/chunks/{3344004561eabdf8.js → bc3cad3c821b169b.js} +1 -1
  534. package/cloud-runtime/standalone/.next/static/chunks/c93b9643c81c134e.js +8 -0
  535. package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +1 -0
  536. package/cloud-runtime/standalone/.next/static/chunks/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
  537. package/cloud-runtime/standalone/.next/static/chunks/{ee5f1457fbc593e1.js → dfff51033c303fc7.js} +1 -1
  538. package/cloud-runtime/standalone/.next/static/chunks/ebaf4e8f04bae7b6.js +1 -0
  539. package/cloud-runtime/standalone/.next/static/chunks/f4909e7ae8229b1c.js +1 -0
  540. package/cloud-runtime/standalone/.next/static/chunks/fd221a50082e5128.js +1 -0
  541. package/cloud-runtime/standalone/.next/static/chunks/{turbopack-5b5918f610666d2d.js → turbopack-97e846241a3a64af.js} +1 -1
  542. package/cloud-runtime/standalone/README.md +3 -3
  543. package/cloud-runtime/standalone/app/api/chat/route.ts +74 -28
  544. package/cloud-runtime/standalone/app/api/chat-runs/[id]/route.ts +19 -0
  545. package/cloud-runtime/standalone/app/api/chat-runs/[id]/signal/route.ts +32 -0
  546. package/cloud-runtime/standalone/app/api/chat-runs/route.ts +37 -0
  547. package/cloud-runtime/standalone/app/api/history/route.ts +6 -0
  548. package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -0
  549. package/cloud-runtime/standalone/app/api/projects/[id]/memory/route.ts +17 -0
  550. package/cloud-runtime/standalone/app/api/providers/route.ts +9 -13
  551. package/cloud-runtime/standalone/app/api/schedules/debug/route.ts +23 -3
  552. package/cloud-runtime/standalone/app/api/schedules/poll/route.ts +5 -3
  553. package/cloud-runtime/standalone/app/api/schedules/route.ts +12 -17
  554. package/cloud-runtime/standalone/app/api/status/route.ts +6 -5
  555. package/cloud-runtime/standalone/app/api/threads/knowledge/route.ts +91 -0
  556. package/cloud-runtime/standalone/app/api/threads/route.ts +18 -1
  557. package/cloud-runtime/standalone/app/globals.css +1 -4
  558. package/cloud-runtime/standalone/app/projects/[slug]/graph/[taskId]/page.tsx +0 -21
  559. package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +792 -0
  560. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +18 -2
  561. package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +1 -455
  562. package/cloud-runtime/standalone/app/projects/[slug]/thread/[threadId]/page.tsx +14 -0
  563. package/cloud-runtime/standalone/app/welcome/page.tsx +329 -107
  564. package/cloud-runtime/standalone/components/ActionToolbar.tsx +3 -3
  565. package/cloud-runtime/standalone/components/ConfirmDialog.tsx +133 -0
  566. package/cloud-runtime/standalone/components/IconButton.tsx +3 -3
  567. package/cloud-runtime/standalone/components/ProjectModal.tsx +2 -2
  568. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +441 -81
  569. package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +149 -97
  570. package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
  571. package/cloud-runtime/standalone/components/chat-ui/ThreadView.tsx +73 -34
  572. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +83 -50
  573. package/cloud-runtime/standalone/hooks/useComposerHistory.ts +130 -0
  574. package/cloud-runtime/standalone/hooks/useGroupChat.ts +28 -1
  575. package/cloud-runtime/standalone/hooks/useProcessPolling.ts +70 -6
  576. package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
  577. package/cloud-runtime/standalone/lib/cli-runner.ts +212 -14
  578. package/cloud-runtime/standalone/lib/db.ts +1 -1
  579. package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
  580. package/cloud-runtime/standalone/lib/history-store.ts +610 -40
  581. package/cloud-runtime/standalone/lib/knowledge-notes.ts +251 -0
  582. package/cloud-runtime/standalone/lib/knowledge-store.ts +233 -0
  583. package/cloud-runtime/standalone/lib/memory-extractor.ts +76 -60
  584. package/cloud-runtime/standalone/lib/mesh-core/journal.ts +30 -0
  585. package/cloud-runtime/standalone/lib/mesh-core/self.ts +94 -0
  586. package/cloud-runtime/standalone/lib/orchestrator/chat-activities.ts +60 -0
  587. package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +219 -0
  588. package/cloud-runtime/standalone/lib/orchestrator/chat-types.ts +29 -0
  589. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +26 -0
  590. package/cloud-runtime/standalone/lib/provider-clis.ts +63 -0
  591. package/cloud-runtime/standalone/lib/queue/boss.ts +2 -1
  592. package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
  593. package/cloud-runtime/standalone/lib/repo-knowledge.ts +19 -2
  594. package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +78 -0
  595. package/cloud-runtime/standalone/lib/stream-multiplexer.ts +101 -14
  596. package/cloud-runtime/standalone/lib/task-context.ts +7 -4
  597. package/cloud-runtime/standalone/lib/thread-knowledge-runs.ts +227 -0
  598. package/cloud-runtime/standalone/lib/thread-knowledge.ts +419 -0
  599. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/README.md +2 -2
  600. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
  601. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
  602. package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/package.json +11 -5
  603. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  604. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  605. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  606. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  607. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  608. package/cloud-runtime/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  609. package/cloud-runtime/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  610. package/cloud-runtime/standalone/node_modules/@img/{sharp-darwin-arm64 → sharp-linux-x64}/package.json +13 -7
  611. package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  612. package/cloud-runtime/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  613. package/cloud-runtime/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  614. package/cloud-runtime/standalone/node_modules/better-sqlite3-90e2652d1716b047/build/Release/better_sqlite3.node +0 -0
  615. package/cloud-runtime/standalone/package-lock.json +13 -0
  616. package/cloud-runtime/standalone/package.json +1 -0
  617. package/cloud-runtime/standalone/server.js +1 -1
  618. package/cloud-runtime/standalone/src/graph/api-schemas.ts +2 -2
  619. package/cloud-runtime/standalone/src/graph/executor.ts +9 -7
  620. package/cloud-runtime/standalone/src/graph/function-executor.ts +4 -1
  621. package/cloud-runtime/standalone/src/graph/internal-function-dispatcher.ts +174 -0
  622. package/cloud-runtime/standalone/src/graph/types.ts +3 -3
  623. package/cloud-runtime/standalone/src/graph/work-dispatcher.ts +5 -1
  624. package/cloud-runtime/standalone/transcri +0 -0
  625. package/cloud-runtime/standalone/tsconfig.json +3 -1
  626. package/cloud-runtime/standalone/worker/index.js +3447 -215
  627. package/cloud-runtime/standalone/worker/index.ts +8 -1
  628. package/lib/cli/runCli.js +0 -97
  629. package/lib/commands/update.js +159 -17
  630. package/package.json +1 -1
  631. package/cloud-runtime/standalone/.next/server/chunks/[externals]_child_process_964038fc._.js +0 -3
  632. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__03a1bf91._.js +0 -6
  633. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__065c5114._.js +0 -3
  634. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__07dce481._.js +0 -3
  635. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__09f46c85._.js +0 -46
  636. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__149bcf6d._.js +0 -115
  637. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14bad16e._.js +0 -3
  638. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__14e3bf74._.js +0 -3
  639. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1632828c._.js +0 -46
  640. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1dd062c1._.js +0 -3
  641. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__24b8ccd3._.js +0 -52
  642. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__284e1cbe._.js +0 -3
  643. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__28d6e806._.js +0 -3
  644. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__2bcb75a7._.js +0 -3
  645. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
  646. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__32e5f341._.js +0 -4
  647. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
  648. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3b4a126a._.js +0 -46
  649. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3c7464e8._.js +0 -46
  650. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3d82dc78._.js +0 -46
  651. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__406bdd54._.js +0 -46
  652. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__40d6458a._.js +0 -3
  653. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__47ca4946._.js +0 -3
  654. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__49fb4a12._.js +0 -3
  655. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
  656. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5327e395._.js +0 -46
  657. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__55d75c3a._.js +0 -7
  658. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__592e81f9._.js +0 -13
  659. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5a6a194c._.js +0 -52
  660. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5af16b4f._.js +0 -3
  661. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__60ba5058._.js +0 -3
  662. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6716441c._.js +0 -3
  663. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__673aedc6._.js +0 -3
  664. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6a44c891._.js +0 -3
  665. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__6b680112._.js +0 -55
  666. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7312fad4._.js +0 -46
  667. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7456196c._.js +0 -52
  668. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__74d26856._.js +0 -3
  669. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__772c6fae._.js +0 -3
  670. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__787ba54b._.js +0 -3
  671. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__79157eef._.js +0 -3
  672. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +0 -52
  673. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__82d76712._.js +0 -3
  674. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8311f060._.js +0 -6
  675. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__84e90655._.js +0 -46
  676. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__90a887dc._.js +0 -3
  677. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9345d703._.js +0 -3
  678. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98294450._.js +0 -3
  679. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__985f0d9f._.js +0 -51
  680. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__9b32295e._.js +0 -3
  681. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a64d978e._.js +0 -6
  682. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__babcd1af._.js +0 -13
  683. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c16f03fb._.js +0 -13
  684. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c2767ca5._.js +0 -3
  685. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c72c6d4a._.js +0 -25
  686. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ca851b15._.js +0 -3
  687. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d25227df._.js +0 -29
  688. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e06820c3._.js +0 -6
  689. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e429a0bc._.js +0 -3
  690. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4397d43._.js +0 -7
  691. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
  692. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ec8735f4._.js +0 -3
  693. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ef09ab99._.js +0 -13
  694. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f366a937._.js +0 -46
  695. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fdaa8a27._.js +0 -3
  696. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fddde532._.js +0 -3
  697. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff53f445._.js +0 -3
  698. package/cloud-runtime/standalone/.next/server/chunks/_1111d342._.js +0 -101
  699. package/cloud-runtime/standalone/.next/server/chunks/_4b60ba15._.js +0 -49
  700. package/cloud-runtime/standalone/.next/server/chunks/_54252651._.js +0 -49
  701. package/cloud-runtime/standalone/.next/server/chunks/_818a89c4._.js +0 -46
  702. package/cloud-runtime/standalone/.next/server/chunks/_a4a21d4f._.js +0 -3
  703. package/cloud-runtime/standalone/.next/server/chunks/_a759d52b._.js +0 -3
  704. package/cloud-runtime/standalone/.next/server/chunks/_e6b28eae._.js +0 -46
  705. package/cloud-runtime/standalone/.next/server/chunks/_e868e7c1._.js +0 -46
  706. package/cloud-runtime/standalone/.next/server/chunks/lib_23509137._.js +0 -196
  707. package/cloud-runtime/standalone/.next/server/chunks/lib_3273d5f9._.js +0 -196
  708. package/cloud-runtime/standalone/.next/server/chunks/lib_50ba0b4c._.js +0 -63
  709. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_33963d95.js +0 -3
  710. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_56c5acb3.js +0 -3
  711. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_888b3578.js +0 -3
  712. package/cloud-runtime/standalone/.next/server/chunks/src_graph_e3bb4da8._.js +0 -46
  713. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__113d6767._.js +0 -3
  714. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6a9d3855._.js +0 -3
  715. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__942ca438._.js +0 -3
  716. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce3b51aa._.js +0 -3
  717. package/cloud-runtime/standalone/.next/server/chunks/ssr/_1ec61dee._.js +0 -3
  718. package/cloud-runtime/standalone/.next/server/chunks/ssr/_27904584._.js +0 -3
  719. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +0 -3
  720. package/cloud-runtime/standalone/.next/server/chunks/ssr/_94effa0f._.js +0 -3
  721. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d458d1eb._.js +0 -3
  722. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fbced30b._.js +0 -3
  723. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_page_tsx_e0fabf6e._.js +0 -8
  724. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_a8f86889._.js +0 -3
  725. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_play_6595a532.js +0 -3
  726. package/cloud-runtime/standalone/.next/static/chunks/1184bf1bfdf97666.js +0 -1
  727. package/cloud-runtime/standalone/.next/static/chunks/4c01a5f19f9e775e.js +0 -8
  728. package/cloud-runtime/standalone/.next/static/chunks/5ace4b4f4475962a.js +0 -1
  729. package/cloud-runtime/standalone/.next/static/chunks/6509f7fecbf44493.js +0 -1
  730. package/cloud-runtime/standalone/.next/static/chunks/661090206d8bae9b.css +0 -1
  731. package/cloud-runtime/standalone/.next/static/chunks/6dbf5940e30fa9c7.js +0 -1
  732. package/cloud-runtime/standalone/.next/static/chunks/7e91f395ace1dd2c.js +0 -1
  733. package/cloud-runtime/standalone/.next/static/chunks/7f13efe9329d3f97.js +0 -1
  734. package/cloud-runtime/standalone/.next/static/chunks/80219bbddcf65109.js +0 -1
  735. package/cloud-runtime/standalone/.next/static/chunks/86ace6febb11ad71.js +0 -1
  736. package/cloud-runtime/standalone/.next/static/chunks/b079c677d9b39f98.js +0 -5
  737. package/cloud-runtime/standalone/.next/static/chunks/b88352740262931f.js +0 -6
  738. package/cloud-runtime/standalone/.next/static/chunks/c5609fd2abb65850.js +0 -1
  739. package/cloud-runtime/standalone/.next/static/chunks/d95cd010361834be.js +0 -1
  740. package/cloud-runtime/standalone/.next/static/chunks/f7bbf5cfcfed8ba9.js +0 -1
  741. package/cloud-runtime/standalone/coverage/clover.xml +0 -1208
  742. package/cloud-runtime/standalone/coverage/coverage-final.json +0 -29
  743. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/index.html +0 -116
  744. package/cloud-runtime/standalone/coverage/lcov-report/app/api/audit/route.ts.html +0 -208
  745. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/index.html +0 -116
  746. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/[...nextauth]/route.ts.html +0 -166
  747. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/index.html +0 -116
  748. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/daemon-secret/route.ts.html +0 -532
  749. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/index.html +0 -116
  750. package/cloud-runtime/standalone/coverage/lcov-report/app/api/auth/status/route.ts.html +0 -178
  751. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/index.html +0 -116
  752. package/cloud-runtime/standalone/coverage/lcov-report/app/api/learnings/route.ts.html +0 -262
  753. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/index.html +0 -116
  754. package/cloud-runtime/standalone/coverage/lcov-report/app/api/logs/stream/route.ts.html +0 -448
  755. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/index.html +0 -116
  756. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/complete/route.ts.html +0 -331
  757. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/index.html +0 -116
  758. package/cloud-runtime/standalone/coverage/lcov-report/app/api/queue/route.ts.html +0 -505
  759. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/index.html +0 -116
  760. package/cloud-runtime/standalone/coverage/lcov-report/app/api/stage-prompts/route.ts.html +0 -412
  761. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/index.html +0 -116
  762. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/advance/route.ts.html +0 -304
  763. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/index.html +0 -116
  764. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/index.html +0 -116
  765. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/logs/route.ts.html +0 -202
  766. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/[id]/route.ts.html +0 -373
  767. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/index.html +0 -116
  768. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/route.ts.html +0 -499
  769. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/index.html +0 -116
  770. package/cloud-runtime/standalone/coverage/lcov-report/app/api/tasks/stream/route.ts.html +0 -349
  771. package/cloud-runtime/standalone/coverage/lcov-report/base.css +0 -224
  772. package/cloud-runtime/standalone/coverage/lcov-report/block-navigation.js +0 -87
  773. package/cloud-runtime/standalone/coverage/lcov-report/components/AuthProvider.tsx.html +0 -259
  774. package/cloud-runtime/standalone/coverage/lcov-report/components/ChatInterface.tsx.html +0 -1228
  775. package/cloud-runtime/standalone/coverage/lcov-report/components/KanbanBoard.tsx.html +0 -1024
  776. package/cloud-runtime/standalone/coverage/lcov-report/components/Layout.tsx.html +0 -211
  777. package/cloud-runtime/standalone/coverage/lcov-report/components/LearningsPanel.tsx.html +0 -535
  778. package/cloud-runtime/standalone/coverage/lcov-report/components/LogTimeline.tsx.html +0 -415
  779. package/cloud-runtime/standalone/coverage/lcov-report/components/SortableTaskCard.tsx.html +0 -358
  780. package/cloud-runtime/standalone/coverage/lcov-report/components/StagePills.tsx.html +0 -439
  781. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCard.tsx.html +0 -514
  782. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskCardOverlay.tsx.html +0 -256
  783. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskDetail.tsx.html +0 -622
  784. package/cloud-runtime/standalone/coverage/lcov-report/components/TaskList.tsx.html +0 -253
  785. package/cloud-runtime/standalone/coverage/lcov-report/components/index.html +0 -281
  786. package/cloud-runtime/standalone/coverage/lcov-report/favicon.png +0 -0
  787. package/cloud-runtime/standalone/coverage/lcov-report/hooks/index.html +0 -116
  788. package/cloud-runtime/standalone/coverage/lcov-report/hooks/useTasks.ts.html +0 -1042
  789. package/cloud-runtime/standalone/coverage/lcov-report/index.html +0 -341
  790. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-client.ts.html +0 -202
  791. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth-server.ts.html +0 -172
  792. package/cloud-runtime/standalone/coverage/lcov-report/lib/auth.ts.html +0 -265
  793. package/cloud-runtime/standalone/coverage/lcov-report/lib/db.ts.html +0 -1252
  794. package/cloud-runtime/standalone/coverage/lcov-report/lib/index.html +0 -131
  795. package/cloud-runtime/standalone/coverage/lcov-report/lib/orchestrator.ts.html +0 -409
  796. package/cloud-runtime/standalone/coverage/lcov-report/lib/security.ts.html +0 -1165
  797. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase-server.ts.html +0 -175
  798. package/cloud-runtime/standalone/coverage/lcov-report/lib/supabase.ts.html +0 -157
  799. package/cloud-runtime/standalone/coverage/lcov-report/prettify.css +0 -1
  800. package/cloud-runtime/standalone/coverage/lcov-report/prettify.js +0 -2
  801. package/cloud-runtime/standalone/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  802. package/cloud-runtime/standalone/coverage/lcov-report/sorter.js +0 -210
  803. package/cloud-runtime/standalone/coverage/lcov.info +0 -2386
  804. package/cloud-runtime/standalone/docs/LIMITS.md +0 -63
  805. package/cloud-runtime/standalone/docs/architecture/ADR-001-hybrid-to-full-sqlite.md +0 -345
  806. package/cloud-runtime/standalone/docs/baseline/baseline-report.json +0 -1009
  807. package/cloud-runtime/standalone/docs/baseline/critical-queries.md +0 -105
  808. package/cloud-runtime/standalone/docs/baseline/lock-metrics.json +0 -21
  809. package/cloud-runtime/standalone/docs/baseline/read-latency.json +0 -146
  810. package/cloud-runtime/standalone/docs/baseline/restore-time.json +0 -10
  811. package/cloud-runtime/standalone/docs/baseline/write-metrics.json +0 -803
  812. package/cloud-runtime/standalone/docs/decisions/sqlite-migration-adr.md +0 -327
  813. package/cloud-runtime/standalone/docs/error-code-mapping.md +0 -74
  814. package/cloud-runtime/standalone/docs/migration-plan.md +0 -120
  815. package/cloud-runtime/standalone/docs/migration-spec.md +0 -345
  816. package/cloud-runtime/standalone/docs/pg-sqlite-compatibility-matrix.md +0 -554
  817. package/cloud-runtime/standalone/docs/project-agent-migration-status.md +0 -229
  818. package/cloud-runtime/standalone/docs/runbook-shadow-read.md +0 -66
  819. package/cloud-runtime/standalone/docs/runbook.md +0 -155
  820. package/cloud-runtime/standalone/docs/specs/cli-postgres-removal.md +0 -69
  821. package/cloud-runtime/standalone/docs/specs/thread-mentions.md +0 -53
  822. package/cloud-runtime/standalone/docs/ux/GlobalChatFlow.storyboard +0 -23
  823. package/cloud-runtime/standalone/docs/ux/assistant-chat-cli.md +0 -32
  824. package/cloud-runtime/standalone/mcp/dist/constants.js +0 -66
  825. package/cloud-runtime/standalone/mcp/dist/db.js +0 -220
  826. package/cloud-runtime/standalone/mcp/dist/index.js +0 -7
  827. package/cloud-runtime/standalone/mcp/dist/security.js +0 -18
  828. package/cloud-runtime/standalone/mcp/dist/server.js +0 -240
  829. package/cloud-runtime/standalone/mcp/dist/task-context.js +0 -287
  830. package/cloud-runtime/standalone/mcp/dist/test-client.js +0 -82
  831. package/cloud-runtime/standalone/mcp/dist/tools/audit.js +0 -69
  832. package/cloud-runtime/standalone/mcp/dist/tools/learnings.js +0 -88
  833. package/cloud-runtime/standalone/mcp/dist/tools/queue.js +0 -312
  834. package/cloud-runtime/standalone/mcp/dist/tools/tasks.js +0 -244
  835. package/cloud-runtime/standalone/mcp/dist/types.js +0 -74
  836. package/cloud-runtime/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  837. package/cloud-runtime/standalone/notes/comments-context-demo.md +0 -141
  838. package/cloud-runtime/standalone/notes/comments-context-plan.md +0 -119
  839. package/cloud-runtime/standalone/notes/context-audit.md +0 -21
  840. package/cloud-runtime/standalone/notes/project-layer-plan.md +0 -30
  841. package/cloud-runtime/standalone/notes/project-layer.md +0 -123
  842. package/cloud-runtime/standalone/notes/temporal-migration-design.md +0 -199
  843. package/cloud-runtime/standalone/playwright-report/data/00d55996f37c1506b90144c85493dd85032c13e5.png +0 -0
  844. package/cloud-runtime/standalone/playwright-report/data/0b9d409e57237ae111d7ba258d3dfe64dc368456.png +0 -0
  845. package/cloud-runtime/standalone/playwright-report/data/b33d5e80a15bd1deda4415b9d318ef73f581c950.png +0 -0
  846. package/cloud-runtime/standalone/playwright-report/data/b55684161aa440d0614595e13c91338f0420abbb.md +0 -131
  847. package/cloud-runtime/standalone/playwright-report/data/b9913957ae07e7565c38ddd71215be79b1ceb017.png +0 -0
  848. package/cloud-runtime/standalone/playwright-report/data/c3538be8ebbebc9fe4a7df8f12f04483af4a0d91.png +0 -0
  849. package/cloud-runtime/standalone/playwright-report/data/fe638f64ff5e36f1c30325564565662d3f57da87.md +0 -180
  850. package/cloud-runtime/standalone/playwright-report/index.html +0 -85
  851. package/cloud-runtime/standalone/test-results/auth-Authentication-Flow-S-aff25-sion-across-page-navigation-chromium/test-failed-1.png +0 -0
  852. package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/error-context.md +0 -131
  853. package/cloud-runtime/standalone/test-results/comments-Task-comments-add-4dc59-nd-persists-it-for-the-task-chromium/test-failed-1.png +0 -0
  854. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/error-context.md +0 -180
  855. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage--4082a-er-planning-after-ideation--chromium/test-failed-1.png +0 -0
  856. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/error-context.md +0 -180
  857. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Stage-Columns-displays-all-9-SDLC-stages-chromium/test-failed-1.png +0 -0
  858. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/error-context.md +0 -180
  859. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-D-b6d98-ys-tasks-in-correct-columns-chromium/test-failed-1.png +0 -0
  860. package/cloud-runtime/standalone/test-results/kanban-Kanban-Board-Task-Display-shows-task-count-per-column-chromium/test-failed-1.png +0 -0
  861. package/cloud-runtime/standalone/test-results/kanban-Task-Lifecycle-can-advance-task-through-all-stages-chromium/test-failed-1.png +0 -0
  862. package/cloud-runtime/standalone/tsconfig.tsbuildinfo +0 -1
  863. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_buildManifest.js +0 -0
  864. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_clientMiddlewareManifest.json +0 -0
  865. /package/cloud-runtime/standalone/.next/static/{AB08MY3MKLsqeJYL8OZ2g → 68nLQxEpwR_feFvB8T4tR}/_ssgManifest.js +0 -0
  866. /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/lib/index.js +0 -0
  867. /package/cloud-runtime/standalone/node_modules/@img/{sharp-libvips-darwin-arm64 → sharp-libvips-linux-x64}/versions.json +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)}let m=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 u=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,
@@ -47,7 +47,37 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
47
47
  updated_at INTEGER NOT NULL,
48
48
  PRIMARY KEY (thread_id, message_id)
49
49
  );
50
- `),E(a,"messages")||a.exec(`
50
+ CREATE TABLE IF NOT EXISTS chat_runs (
51
+ id TEXT PRIMARY KEY,
52
+ thread_id TEXT NOT NULL,
53
+ root_message_id TEXT,
54
+ user_id TEXT NOT NULL,
55
+ project_slug TEXT,
56
+ status TEXT NOT NULL,
57
+ current_step INTEGER NOT NULL DEFAULT 0,
58
+ max_steps INTEGER NOT NULL DEFAULT 10,
59
+ steps_used INTEGER NOT NULL DEFAULT 0,
60
+ last_error TEXT,
61
+ active_participant_ids TEXT NOT NULL DEFAULT '[]',
62
+ payload_json TEXT,
63
+ result_json TEXT,
64
+ created_at INTEGER NOT NULL,
65
+ updated_at INTEGER NOT NULL,
66
+ completed_at INTEGER
67
+ );
68
+ CREATE TABLE IF NOT EXISTS chat_run_steps (
69
+ id TEXT PRIMARY KEY,
70
+ chat_run_id TEXT NOT NULL,
71
+ step_index INTEGER NOT NULL,
72
+ kind TEXT NOT NULL,
73
+ status TEXT NOT NULL,
74
+ participant_id TEXT,
75
+ input_payload_json TEXT,
76
+ output_payload_json TEXT,
77
+ started_at INTEGER NOT NULL,
78
+ completed_at INTEGER
79
+ );
80
+ `),E(s,"messages")||s.exec(`
51
81
  ALTER TABLE messages RENAME TO messages_legacy;
52
82
  CREATE TABLE messages (
53
83
  thread_id TEXT NOT NULL,
@@ -62,7 +92,7 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
62
92
  SELECT '${d}', id, role, participant_id, content, timestamp
63
93
  FROM messages_legacy;
64
94
  DROP TABLE messages_legacy;
65
- `),E(a,"message_reactions")||a.exec(`
95
+ `),E(s,"message_reactions")||s.exec(`
66
96
  ALTER TABLE message_reactions RENAME TO message_reactions_legacy;
67
97
  CREATE TABLE message_reactions (
68
98
  thread_id TEXT NOT NULL,
@@ -80,7 +110,7 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
80
110
  SELECT '${d}', message_id, participant_id, type, reason, blocker_code, NULL, updated_at
81
111
  FROM message_reactions_legacy;
82
112
  DROP TABLE message_reactions_legacy;
83
- `),new Set(a.prepare("PRAGMA table_info(logs)").all().map(e=>e.name)).has("agent_process_id")||a.exec(`
113
+ `),new Set(s.prepare("PRAGMA table_info(logs)").all().map(e=>e.name)).has("agent_process_id")||s.exec(`
84
114
  DROP TABLE IF EXISTS logs;
85
115
  CREATE TABLE logs (
86
116
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -89,15 +119,15 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
89
119
  line TEXT NOT NULL,
90
120
  timestamp INTEGER NOT NULL
91
121
  );
92
- `),new Set(a.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("root_message_id")||a.exec(`
122
+ `),new Set(s.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("root_message_id")||s.exec(`
93
123
  ALTER TABLE messages ADD COLUMN root_message_id TEXT;
94
124
  ALTER TABLE messages ADD COLUMN parent_message_id TEXT;
95
125
  ALTER TABLE messages ADD COLUMN depth INTEGER NOT NULL DEFAULT 0;
96
126
  CREATE INDEX IF NOT EXISTS idx_messages_root ON messages(thread_id, root_message_id);
97
- `),new Set(a.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("thread_status")||a.exec(`
127
+ `),new Set(s.prepare("PRAGMA table_info(messages)").all().map(e=>e.name)).has("thread_status")||s.exec(`
98
128
  ALTER TABLE messages ADD COLUMN thread_status TEXT;
99
129
  ALTER TABLE messages ADD COLUMN outcome_note TEXT;
100
- `),(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(`
130
+ `),(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(`
101
131
  DROP TABLE IF EXISTS agent_processes;
102
132
  CREATE TABLE agent_processes (
103
133
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -133,46 +163,49 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
133
163
  INSERT INTO messages_fts(messages_fts, rowid, content) VALUES('delete', old.rowid, old.content);
134
164
  INSERT INTO messages_fts(rowid, content) VALUES (new.rowid, new.content);
135
165
  END;
136
- `),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(`
166
+ `),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(`
137
167
  CREATE INDEX IF NOT EXISTS idx_messages_thread_ts ON messages(thread_id, timestamp ASC);
138
168
  CREATE INDEX IF NOT EXISTS idx_reactions_thread_message ON message_reactions(thread_id, message_id, updated_at ASC);
139
169
  CREATE INDEX IF NOT EXISTS idx_logs_process_ts ON logs(agent_process_id, timestamp ASC);
140
- `),e(a)}finally{a.close()}};function T(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 c(e,t,s){if(s&&0===s.length)return new Map;if(s){let a=s.map(()=>"?").join(", ");return T(e.prepare(`SELECT message_id, participant_id, type
170
+ CREATE INDEX IF NOT EXISTS idx_chat_runs_thread_updated ON chat_runs(thread_id, updated_at DESC);
171
+ CREATE INDEX IF NOT EXISTS idx_chat_runs_status_updated ON chat_runs(status, updated_at DESC);
172
+ CREATE INDEX IF NOT EXISTS idx_chat_run_steps_run_step ON chat_run_steps(chat_run_id, step_index ASC);
173
+ `),e(s)}finally{s.close()}};function T(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 T(e.prepare(`SELECT message_id, participant_id, type
141
174
  FROM message_reactions
142
- WHERE thread_id = ? AND message_id IN (${a})
143
- ORDER BY updated_at ASC`).all(t,...s))}return T(e.prepare(`SELECT message_id, participant_id, type
175
+ WHERE thread_id = ? AND message_id IN (${s})
176
+ ORDER BY updated_at ASC`).all(t,...a))}return T(e.prepare(`SELECT message_id, participant_id, type
144
177
  FROM message_reactions
145
178
  WHERE thread_id = ?
146
- ORDER BY updated_at ASC`).all(t))}function l(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function g(e){return"number"!=typeof e||!Number.isInteger(e)||e<=0?null:e}function N(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 u(e){return e.replace(/\[agx:spawn\]\s*/g,"").replace(/\s*\[agx:exit:\d+\]\s*/g,"").replace(/^\[SKIP\]\s*$/gm,"").trim()}function L(e){return"working"===e?"running":"done"===e?"done":"blocked"===e||"clarify"===e?"failed":null}async function R(e){let{status:t,limit:s=20,offset:a=0}=e??{};return m(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,
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 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 u(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,
147
180
  m.thread_status, m.outcome_note,
148
181
  (SELECT COUNT(*) FROM messages r WHERE r.root_message_id = m.id AND r.thread_id = m.thread_id) as reply_count,
149
182
  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
150
183
  FROM messages m
151
184
  WHERE ${n}
152
185
  ORDER BY last_activity DESC
153
- LIMIT ? OFFSET ?`).all(...i,s,a),total:d.cnt}})}async function O(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
186
+ 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
154
187
  JOIN projects p ON p.id = pt.project_id
155
- 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 I(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 h(e,t){let s=e.trim()||d;return m(e=>{let a=null!=t?`SELECT id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
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 D(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 u(e=>{let s=null!=t?`SELECT id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
156
189
  FROM messages
157
190
  WHERE thread_id = ? AND timestamp > ?
158
191
  ORDER BY timestamp ASC`:`SELECT id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
159
192
  FROM messages
160
193
  WHERE thread_id = ?
161
- ORDER BY timestamp ASC`,r=null!=t?e.prepare(a).all(s,t):e.prepare(a).all(s),i=c(e,s,r.map(e=>e.id));return r.map(e=>N(e,i))})}async function A(e){let t=l(e.rootMessageId),s=e.threadId?.trim()||null,a=null!=e.processLimit?function(e,t,s=100){return Math.min(Math.max(Math.trunc(Number.isFinite(e)?Number(e):10),1),s)}(e.processLimit,0):null;return m(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
194
+ 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 M(e){let t=N(e.rootMessageId),a=e.threadId?.trim()||null,s=null!=e.processLimit?L(e.processLimit,10):null;return u(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
162
195
  FROM messages
163
196
  WHERE thread_id = ? AND id = ?
164
- 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
197
+ 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
165
198
  FROM messages
166
199
  WHERE thread_id = ?
167
200
  ORDER BY CASE WHEN root_message_id IS NULL THEN 0 ELSE 1 END, timestamp ASC, id ASC
168
- 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
201
+ 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
169
202
  FROM messages
170
203
  WHERE id = ?
171
204
  ORDER BY timestamp ASC, thread_id ASC
172
205
  LIMIT 1`).get(t);if(!r)return{rootMessage:null,processes:[],messages:[],lastUpdatedAt:null};let i=r.thread_id,n=r.root_message_id??r.id,d=e.prepare(`SELECT id, role, participant_id, content, timestamp, root_message_id, parent_message_id, depth, thread_status, outcome_note
173
206
  FROM messages
174
207
  WHERE thread_id = ? AND id = ?
175
- LIMIT 1`).get(i,n);if(!d)return{rootMessage:null,processes:[],messages:[],lastUpdatedAt:null};let o=c(e,i,[n]),p=e.prepare(`SELECT
208
+ LIMIT 1`).get(i,n);if(!d)return{rootMessage:null,processes:[],messages:[],lastUpdatedAt:null};let o=g(e,i,[n]),p=e.prepare(`SELECT
176
209
  r.updated_at as datetime,
177
210
  r.participant_id as participant_id,
178
211
  r.type as type,
@@ -192,7 +225,7 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
192
225
  AND r.type IN ('working', 'done', 'clarify', 'blocked')
193
226
  AND (m.root_message_id = ? OR m.id = ?)
194
227
  ORDER BY r.updated_at DESC
195
- ${null!=a?"LIMIT ?":""}`).all(i,n,n,...null!=a?[a]:[]),_=N(d,o),E=p.map(e=>{let t=L(e.type);return t?{processId:g(e.host_pid),datetime:e.datetime,agent:e.participant_id,responseTo:e.response_to??"",responseToMessageId:e.response_to_message_id??"",responseToSenderName:l(e.response_to_participant_id)??e.response_to_role??"",responseToSenderRole:e.response_to_role??"user",responseMessageId:l(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,
228
+ ${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,
196
229
  m.content as response_to,
197
230
  m.role as response_to_role,
198
231
  m.participant_id as response_to_participant_id
@@ -200,7 +233,10 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
200
233
  LEFT JOIN messages m
201
234
  ON m.id = ap.since_message_id AND m.thread_id = ap.workspace_id
202
235
  WHERE ap.thread_id = ?
203
- AND ap.state IN ('running', 'spawning')`).all(n),T=new Set(E.filter(e=>null!=e.processId).map(e=>e.processId)),R=new Set(E.filter(e=>"running"===e.status).map(e=>e.agent));for(let e of m)T.has(e.pid)||R.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:l(e.response_to_participant_id)??e.response_to_role??"user",responseToSenderRole:e.response_to_role??"user",responseMessageId:null,responseContent:null,status:"running"});let O=e.prepare(`SELECT m.id, m.role, m.participant_id, m.content, m.timestamp,
236
+ 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),u=new Set(c);if(c.length>0){let t=e.prepare(`UPDATE agent_processes
237
+ SET state = 'error',
238
+ last_activity = ?
239
+ WHERE id = ?`);e.transaction(e=>{for(let a of e)t.run(m,a)})(c)}let T=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)!u.has(e.id)&&(T.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,
204
240
  m.parent_message_id,
205
241
  r.host_pid, r.type as reaction_type
206
242
  FROM messages m
@@ -211,29 +247,40 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
211
247
  AND r.type IN ('working', 'done', 'clarify', 'blocked')
212
248
  WHERE m.thread_id = ?
213
249
  AND (m.root_message_id = ? OR m.id = ?)
214
- ORDER BY m.timestamp ASC`).all(i,n,n).filter(e=>u(e.content).trim().length>0).map(e=>{let t=null;return"assistant"===e.role&&(t=e.reaction_type?L(e.reaction_type):"done"),{id:e.id,role:e.role,participantId:e.participant_id,content:u(e.content),timestamp:e.timestamp,parentMessageId:e.parent_message_id,processId:"assistant"===e.role?g(e.host_pid):null,status:t}}),I=[];for(let e of(I.push(_.timestamp),E))I.push(e.datetime);for(let e of O)I.push(e.timestamp);return{rootMessage:_,processes:E,messages:O,lastUpdatedAt:I.length>0?Math.max(...I):null}})}async function S(e,t){if(0===t.length)return;let s=e.trim()||d;await m(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)
215
- 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,t,s,a){let r=e.trim()||d;await m(e=>{e.prepare("UPDATE messages SET thread_status = ?, outcome_note = ? WHERE thread_id = ? AND id = ?").run(s,a,r,t)})}async function D(e){return m(t=>{let s=t.prepare("SELECT thread_id FROM messages WHERE id = ?").get(e.trim());return s?{threadId:s.thread_id}:null})}async function M(e){let t=e.trim()||d;await m(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 U(e,t){let s=e.trim()||d,a=t.trim();a&&await m(e=>{e.transaction((t,s)=>{e.prepare(`DELETE FROM message_reactions
250
+ 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 u(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)
251
+ 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 u(a=>{a.prepare(`INSERT INTO chat_runs (
252
+ id, thread_id, root_message_id, user_id, project_slug, status,
253
+ current_step, max_steps, steps_used, last_error, active_participant_ids,
254
+ payload_json, result_json, created_at, updated_at, completed_at
255
+ ) 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 w(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 u(e=>{let a=["status = 'running'","updated_at <= ?"],i=[r];return t&&(a.push("thread_id = ?"),i.push(t)),e.prepare(`UPDATE chat_runs
256
+ SET status = 'failed',
257
+ last_error = COALESCE(NULLIF(last_error, ''), 'Worker process died mid-execution'),
258
+ updated_at = ?,
259
+ completed_at = COALESCE(completed_at, ?)
260
+ WHERE ${a.join(" AND ")}`).run(s,s,...i).changes})}async function X(e){return await w(),u(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 w({threadId:e.threadId});let t=N(e.threadId??null),a=L(e.limit,20,100);return u(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 x(e){return u(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 W(e){let t=Date.now();return u(a=>{a.prepare(`INSERT INTO chat_run_steps (
261
+ id, chat_run_id, step_index, kind, status, participant_id,
262
+ input_payload_json, output_payload_json, started_at, completed_at
263
+ ) 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 u(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 u(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 u(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 u(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 u(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 u(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 v(e,t){let a=e.trim()||d,s=t.trim();s&&await u(e=>{e.transaction((t,a)=>{e.prepare(`DELETE FROM message_reactions
216
264
  WHERE thread_id = ?
217
265
  AND message_id IN (
218
266
  SELECT id
219
267
  FROM messages
220
268
  WHERE thread_id = ?
221
269
  AND (id = ? OR root_message_id = ?)
222
- )`).run(t,t,s,s),e.prepare(`DELETE FROM messages
270
+ )`).run(t,t,a,a),e.prepare(`DELETE FROM messages
223
271
  WHERE thread_id = ?
224
- AND (id = ? OR root_message_id = ?)`).run(t,s,s)})(s,a)})}async function C(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);return m(e=>{let a=["messages_fts MATCH ?"],r=[t];s&&(a.push("m.thread_id = ?"),r.push(s));let d=a.join(" AND "),o=e.prepare(`SELECT m.thread_id, m.id, m.role, m.participant_id, m.timestamp, m.root_message_id,
225
- snippet(messages_fts, 0, '<mark>', '</mark>', '...', 32) AS snippet,
226
- bm25(messages_fts) as rank
227
- FROM messages_fts
228
- JOIN messages m ON messages_fts.rowid = m.rowid
229
- WHERE ${d}
230
- ORDER BY rank ASC, m.timestamp DESC
231
- LIMIT ? OFFSET ?`).all(...r,i,n),p=e.prepare(`SELECT COUNT(*) as total
232
- FROM messages_fts
233
- JOIN messages m ON messages_fts.rowid = m.rowid
234
- WHERE ${d}`).get(...r);return{results:o.map(e=>({threadId:e.thread_id,messageId:e.id,role:e.role,participantId:e.participant_id,snippet:e.snippet,timestamp:e.timestamp,rootMessageId:e.root_message_id})),total:p?.total??0}})}async function y(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=l(e.reason),n=l(e.blockerCode),E=g(e.hostPid),T=l(e.responseMessageId),N="clarify"===r||"blocked"===r;if(N&&!i)throw new _(`"${r}" reactions require a reason`,400);let u=N?i:null,L="blocked"===r?n:null;return m(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
272
+ AND (id = ? OR root_message_id = ?)`).run(t,a,a)})(a,s)})}async function Y(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 u(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,
273
+ snippet(messages_fts, 0, '<mark>', '</mark>', '...', 32) AS snippet,
274
+ bm25(messages_fts) as rank
275
+ FROM messages_fts
276
+ JOIN messages m ON messages_fts.rowid = m.rowid
277
+ WHERE ${t.join(" AND ")}
278
+ 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
279
+ FROM messages m
280
+ WHERE ${r.join(" AND ")}
281
+ 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,T="blocked"===r?n:null;return u(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
235
282
  FROM message_reactions
236
- 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&&l(n.reason)===u&&l(n.blocker_code)===L&&g(n.host_pid)===E)return{updated:!1,reactions:c(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)
283
+ 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)===T&&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)
237
284
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
238
285
  ON CONFLICT(thread_id, message_id, participant_id)
239
286
  DO UPDATE SET
@@ -242,31 +289,31 @@ module.exports=[55248,e=>{"use strict";var t=e.i(85148),s=e.i(22734),a=e.i(14747
242
289
  blocker_code = excluded.blocker_code,
243
290
  host_pid = excluded.host_pid,
244
291
  response_message_id = COALESCE(excluded.response_message_id, message_reactions.response_message_id),
245
- updated_at = excluded.updated_at`).run(t,s,a,r,u,L,E,T,d),{updated:!0,reactions:c(e,t,[s]).get(s)??[]}})}async function F(e){let t=e.trim()||d;return m(e=>e.prepare(`SELECT root_message_id, COUNT(*) as reply_count, MAX(timestamp) as last_activity
292
+ updated_at = excluded.updated_at`).run(t,a,s,r,c,T,E,l,d),{updated:!0,reactions:g(e,t,[a]).get(a)??[]}})}async function J(e){let t=e.trim()||d;return u(e=>e.prepare(`SELECT root_message_id, COUNT(*) as reply_count, MAX(timestamp) as last_activity
246
293
  FROM messages
247
294
  WHERE thread_id = ? AND root_message_id IS NOT NULL
248
295
  GROUP BY root_message_id
249
- ORDER BY last_activity DESC`).all(t).map(s=>{let a=e.prepare(`SELECT DISTINCT participant_id FROM messages
250
- 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 w(e,t){if(0!==t.length&&e)return m(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 X(e){let t=e.trim();return t?m(e=>e.prepare(`SELECT l.id, l.agent_process_id, ap.agent_id as participant_id, l.stream, l.line, l.timestamp
296
+ ORDER BY last_activity DESC`).all(t).map(a=>{let s=e.prepare(`SELECT DISTINCT participant_id FROM messages
297
+ 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 u(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?u(e=>e.prepare(`SELECT l.id, l.agent_process_id, ap.agent_id as participant_id, l.stream, l.line, l.timestamp
251
298
  FROM logs l
252
299
  JOIN agent_processes ap ON ap.id = l.agent_process_id
253
300
  WHERE ap.workspace_id = ?
254
301
  ORDER BY l.timestamp DESC, l.id DESC
255
- LIMIT 100`).all(t).reverse()):[]}async function k(e){return 0===e.length?[]:m(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
302
+ LIMIT 100`).all(t).reverse()):[]}async function q(e){return 0===e.length?[]:u(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
256
303
  FROM logs l
257
304
  JOIN agent_processes ap ON ap.id = l.agent_process_id
258
- WHERE ap.pid IN (${s})
305
+ WHERE ap.pid IN (${a})
259
306
  ORDER BY l.timestamp ASC, l.id ASC
260
- LIMIT 200`).all(...e).map(e=>({processId:e.process_pid,agent:e.agent,stream:e.stream,line:e.line,timestamp:e.timestamp}))})}async function H(e){let t=e.trim();if(t)return m(e=>{e.prepare(`DELETE FROM logs WHERE agent_process_id IN (
307
+ 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 u(e=>{e.prepare(`DELETE FROM logs WHERE agent_process_id IN (
261
308
  SELECT id FROM agent_processes WHERE workspace_id = ?
262
- )`).run(t)})}async function W(e,t=3e5){let s=e.trim()||d,a=Number.isFinite(t)?Math.max(t,1):3e5,r=Date.now(),i=r-a;return m(e=>({updated:e.prepare(`UPDATE message_reactions
309
+ )`).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 u(e=>({updated:e.prepare(`UPDATE message_reactions
263
310
  SET type = 'blocked',
264
311
  reason = 'stale_timeout',
265
312
  blocker_code = 'stale_timeout',
266
313
  updated_at = ?
267
- WHERE thread_id = ? AND type = 'working' AND updated_at <= ?`).run(r,s,i).changes}))}async function x(e,t,s){let a=e.trim()||d;return m(e=>{e.prepare(`INSERT INTO task_drafts (thread_id, message_id, data, updated_at)
314
+ 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 u(e=>{e.prepare(`INSERT INTO task_drafts (thread_id, message_id, data, updated_at)
268
315
  VALUES (?, ?, ?, ?)
269
316
  ON CONFLICT(thread_id, message_id)
270
- DO UPDATE SET data = excluded.data, updated_at = excluded.updated_at`).run(a,t,JSON.stringify(s),Date.now())})}async function G(e){let t=e.trim()||d;return m(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 B(e,t){let s=e.trim()||d;return m(e=>{e.prepare("DELETE FROM task_drafts WHERE thread_id = ? AND message_id = ?").run(s,t)})}e.s(["ReactionStoreError",()=>_,"clearHistory",()=>M,"clearLogs",()=>H,"clearRootThread",()=>U,"deleteTaskDraft",()=>B,"getMessageThread",()=>D,"getProjectThreadIds",()=>I,"getThreadInfos",()=>F,"getThreadStatusSnapshot",()=>A,"getWorkspaceNames",()=>O,"listRootMessages",()=>R,"loadHistory",()=>h,"loadLogs",()=>X,"loadLogsByProcessPids",()=>k,"loadTaskDrafts",()=>G,"saveLogs",()=>w,"saveMessages",()=>S,"saveTaskDraft",()=>x,"searchMessages",()=>C,"setReaction",()=>y,"sweepStaleWorkingReactions",()=>W,"updateMessageStatus",()=>f])}];
317
+ 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 u(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 u(e=>{e.prepare("DELETE FROM task_drafts WHERE thread_id = ? AND message_id = ?").run(a,t)})}e.s(["ReactionStoreError",()=>_,"appendChatRunStep",()=>W,"clearHistory",()=>b,"clearLogs",()=>z,"clearRootThread",()=>v,"createChatRun",()=>F,"deleteMessage",()=>j,"deleteTaskDraft",()=>et,"getChatRun",()=>X,"getMessageThread",()=>G,"getProjectThreadIds",()=>D,"getThreadInfos",()=>J,"getThreadStatusSnapshot",()=>M,"getWorkspaceNames",()=>y,"listChatRunSteps",()=>P,"listChatRuns",()=>k,"listRootMessages",()=>f,"loadHistory",()=>C,"loadLogs",()=>V,"loadLogsByProcessPids",()=>q,"loadTaskDrafts",()=>ee,"saveLogs",()=>K,"saveMessages",()=>U,"saveTaskDraft",()=>Z,"searchMessages",()=>Y,"setReaction",()=>$,"sweepStaleChatRuns",()=>w,"sweepStaleWorkingReactions",()=>Q,"updateChatRun",()=>x,"updateChatRunStep",()=>H,"updateMessageStatus",()=>B])}];
271
318
 
272
319
  //# sourceMappingURL=lib_history-store_ts_74d1c060._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[65196,86213,e=>{"use strict";var t=e.i(85148),r=e.i(22734),i=e.i(14747),n=e.i(46786);let a={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,a],86213),(0,i.join)((0,n.homedir)(),".agx","agents"),(0,i.join)((0,n.homedir)(),".agx","agents"),(0,i.join)((0,n.homedir)(),".agx","agents");let o=(0,i.join)((0,n.homedir)(),".agx","agents"),s=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(n.default.homedir(),".agx","group-chat"),l=i.default.join(s,"history.sqlite"),d=process.env.AGX_AGENTS_DIR?.trim()||i.default.join(n.default.homedir(),".agx","agents");function p(){let e,n,a=((0,r.mkdirSync)(s,{recursive:!0}),(e=new t.default(l)).pragma("journal_mode = WAL"),e.exec(`
1
+ module.exports=[65196,86213,e=>{"use strict";var t=e.i(85148),r=e.i(22734),i=e.i(14747),n=e.i(46786);let o={id:"2c3cc1ca-956d-4b62-b295-4d2d3374103f",email:process.env.AGX_BOARD_USER_EMAIL||"local@agx.board",name:process.env.AGX_BOARD_USER_NAME||"Local Board User"};e.s(["LOCAL_USER",0,o],86213),(0,i.join)((0,n.homedir)(),".agx","agents"),(0,i.join)((0,n.homedir)(),".agx","agents"),(0,i.join)((0,n.homedir)(),".agx","agents");let a=(0,i.join)((0,n.homedir)(),".agx","agents"),s=process.env.AGX_GROUP_CHAT_DIR?.trim()||i.default.join(n.default.homedir(),".agx","group-chat"),l=i.default.join(s,"history.sqlite"),d=process.env.AGX_AGENTS_DIR?.trim()||i.default.join(n.default.homedir(),".agx","agents");function E(){let e,n,o=((0,r.mkdirSync)(s,{recursive:!0}),(e=new t.default(l)).pragma("journal_mode = WAL"),e.exec(`
2
2
  CREATE TABLE IF NOT EXISTS participants (
3
3
  id TEXT PRIMARY KEY,
4
4
  name TEXT NOT NULL,
@@ -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)),a=new Map(t.map(e=>[e.id,e.id])),o=[];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),a.set(e.id,r),o.push({from:e.id,to:r,name:e.name})}let s=t.map(e=>({id:a.get(e.id)||e.id,provider:e.provider})),l=new Set(s.map(e=>e.id)),p=new Map;for(let e of s){let t=e.provider.trim();if(!t)continue;let r=p.get(t)||new Set;r.add(e.id),p.set(t,r)}let E=[];for(let[e,t]of p){if(1!==t.size)continue;let[r]=Array.from(t);r&&e!==r&&(l.has(e)||E.push({from:e,to:r}))}if(0===o.length&&0===E.length)return;let c=new Map;for(let e of o)c.set(e.from,e.to);for(let e of E)c.set(e.from,e.to);let u=Array.from(c.entries()).map(([e,t])=>({from:e,to:t})),T=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=T.has("messages")?e.prepare("UPDATE messages SET participant_id = ? WHERE participant_id = ?"):null,a=T.has("agent_processes")?e.prepare("UPDATE agent_processes SET agent_id = ? WHERE agent_id = ?"):null,o=T.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),a?.run(e.to,e.from),o?.run(e.to,e.from)})(o.map(e=>({from:e.from,to:e.to})),u),o))!function(e,t,n){if(!e||!t||e===t)return;let a=i.default.join(d,e),o=i.default.join(d,t);if(!(0,r.existsSync)(a)||(0,r.existsSync)(o))return;(0,r.mkdirSync)(d,{recursive:!0}),(0,r.renameSync)(a,o);let s=i.default.join(o,"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 a.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{a.close()}}var E=e.i(28237);let c="legacy_workspaces_to_projects_v1";function u(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 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(`
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 T=process.env.AGX_DATA_DIR||i.default.join(n.default.homedir(),".agx");class m{expr;constructor(e){this.expr=e}}function _(e){return new m(e)}let f=null;function h(){var e;if(f)return f;let n=process.env.SQLITE_DB_PATH||i.default.join(T,"agx-board.db");f=new t.default(n);let s=(0,E.validateSQLiteEnvironment)(f,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)})(f),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 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(`
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,
@@ -75,6 +75,76 @@ ${e.join("\n")}`)}(function(e){let t=i.default.join(process.cwd(),"db","sqlite",
75
75
  );
76
76
  CREATE INDEX IF NOT EXISTS idx_repo_knowledge_repo ON repo_knowledge (repo_id, created_at);
77
77
  CREATE INDEX IF NOT EXISTS idx_repo_knowledge_producer ON repo_knowledge (producer);
78
+ `),e.exec(`
79
+ CREATE TABLE IF NOT EXISTS knowledge_entries (
80
+ id TEXT NOT NULL PRIMARY KEY,
81
+ scope TEXT NOT NULL CHECK(scope IN ('agent', 'repo', 'project')),
82
+ subject_id TEXT NOT NULL,
83
+ source_type TEXT NOT NULL CHECK(source_type IN ('reflection', 'thread_transition', 'task_completion')),
84
+ source_id TEXT NOT NULL,
85
+ kind TEXT NOT NULL CHECK(kind IN ('outcome', 'decision', 'pattern', 'gotcha', 'preference', 'constraint', 'convention', 'lesson')),
86
+ title TEXT NOT NULL,
87
+ body TEXT NOT NULL,
88
+ confidence REAL,
89
+ durability REAL,
90
+ tags JSON NOT NULL DEFAULT '[]',
91
+ evidence JSON NOT NULL DEFAULT '[]',
92
+ metadata JSON NOT NULL DEFAULT '{}',
93
+ content_hash TEXT NOT NULL,
94
+ created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
95
+ updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
96
+ UNIQUE(scope, subject_id, content_hash)
97
+ );
98
+ CREATE INDEX IF NOT EXISTS idx_knowledge_entries_scope_subject ON knowledge_entries (scope, subject_id, updated_at);
99
+ CREATE INDEX IF NOT EXISTS idx_knowledge_entries_source ON knowledge_entries (source_type, source_id);
100
+ `),e.exec(`
101
+ CREATE TABLE IF NOT EXISTS knowledge_notes (
102
+ id TEXT NOT NULL PRIMARY KEY,
103
+ scope TEXT NOT NULL CHECK(scope IN ('agent', 'repo', 'project')),
104
+ subject_id TEXT NOT NULL,
105
+ content TEXT NOT NULL DEFAULT '',
106
+ change_summary TEXT,
107
+ source_type TEXT NOT NULL CHECK(source_type IN ('reflection', 'thread_transition', 'task_completion')),
108
+ source_id TEXT NOT NULL,
109
+ metadata JSON NOT NULL DEFAULT '{}',
110
+ version INTEGER NOT NULL DEFAULT 1,
111
+ created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
112
+ updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
113
+ UNIQUE(scope, subject_id)
114
+ );
115
+ CREATE INDEX IF NOT EXISTS idx_knowledge_notes_scope_subject ON knowledge_notes (scope, subject_id);
116
+ `),e.exec(`
117
+ CREATE TABLE IF NOT EXISTS knowledge_note_versions (
118
+ id TEXT NOT NULL PRIMARY KEY,
119
+ note_id TEXT NOT NULL REFERENCES knowledge_notes(id) ON DELETE CASCADE,
120
+ version INTEGER NOT NULL,
121
+ content TEXT NOT NULL,
122
+ change_summary TEXT,
123
+ source_type TEXT NOT NULL CHECK(source_type IN ('reflection', 'thread_transition', 'task_completion')),
124
+ source_id TEXT NOT NULL,
125
+ metadata JSON NOT NULL DEFAULT '{}',
126
+ created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now'))
127
+ );
128
+ CREATE INDEX IF NOT EXISTS idx_knowledge_note_versions_note_version
129
+ ON knowledge_note_versions (note_id, version DESC);
130
+ `),e.exec(`
131
+ CREATE TABLE IF NOT EXISTS thread_knowledge_runs (
132
+ id TEXT NOT NULL PRIMARY KEY,
133
+ thread_id TEXT NOT NULL,
134
+ root_message_id TEXT NOT NULL,
135
+ status TEXT NOT NULL CHECK(status IN ('running', 'completed', 'failed')),
136
+ requested_scopes JSON NOT NULL DEFAULT '[]',
137
+ repo_inserted_count INTEGER NOT NULL DEFAULT 0,
138
+ project_inserted_count INTEGER NOT NULL DEFAULT 0,
139
+ error TEXT,
140
+ created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
141
+ updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
142
+ completed_at TEXT
143
+ );
144
+ CREATE INDEX IF NOT EXISTS idx_thread_knowledge_runs_root_created
145
+ ON thread_knowledge_runs (root_message_id, created_at DESC);
146
+ CREATE INDEX IF NOT EXISTS idx_thread_knowledge_runs_thread_created
147
+ ON thread_knowledge_runs (thread_id, created_at DESC);
78
148
  `),e.exec(`
79
149
  CREATE TABLE IF NOT EXISTS project_threads (
80
150
  project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
@@ -116,15 +186,15 @@ ${e.join("\n")}`)}(function(e){let t=i.default.join(process.cwd(),"db","sqlite",
116
186
  WHEN COALESCE(NULLIF(agents.voice, ''), '') = '' OR COALESCE(NULLIF(agents.seed, ''), '') = ''
117
187
  THEN strftime('%Y-%m-%dT%H:%M:%fZ','now')
118
188
  ELSE agents.updated_at
119
- END`);for(let e of(0,r.existsSync)(o)?(0,r.readdirSync)(o,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name):[]){let n=function(e){let t=(0,i.join)(o,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,a.id,n?.name?.trim()||e,n?.voice?.trim()||null,n?.seed?.trim()||null)}})(e),function(e){let t=p(),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)
189
+ 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)
120
190
  VALUES (?, ?, ?)
121
191
  ON CONFLICT(agent_id, file) DO UPDATE SET
122
- 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)(o,e);(0,r.existsSync)(n)||(0,r.mkdirSync)(n,{recursive:!0});let a=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:a,seed:s},null,2)+"\n","utf-8");let d=(0,i.join)(n,"journal.jsonl"),p=(0,i.join)(n,"reactions.jsonl"),E=(0,i.join)(n,"comments.jsonl"),c=(0,i.join)(n,"activity.jsonl"),u=(0,i.join)(n,"self.md");(0,r.existsSync)(d)||(0,r.writeFileSync)(d,"","utf-8"),(0,r.existsSync)(p)||(0,r.writeFileSync)(p,"","utf-8"),(0,r.existsSync)(E)||(0,r.writeFileSync)(E,"","utf-8"),(0,r.existsSync)(c)||(0,r.writeFileSync)(c,"","utf-8"),(0,r.existsSync)(u)||(0,r.writeFileSync)(u,`---
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,`---
123
193
  version: 0
124
194
  derivedAt: ${new Date().toISOString()}
125
195
  ---
126
196
  I am ${e}. ${s}
127
- `,"utf-8")}(t.id,{voice:t.voice??void 0,seed:t.seed??void 0})}(e)}(f);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()||(u(e),e.prepare("SELECT 1 FROM app_migrations WHERE key = ? LIMIT 1").get(c)))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=p(),n=new Map(i.map(e=>[e.id,e])),{teams:o,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 o){let t=d.get(e.user_id)??[];t.push(e),d.set(e.user_id,t)}let E=new Map;for(let e of s){let t=E.get(e.team_id)??[];t.push(e),E.set(e.team_id,t)}let c=new Map;for(let e of l){let t=c.get(e.team_id)??[];t.push(e.thread_id),c.set(e.team_id,t)}return e.transaction(()=>{for(let[t,o]of d.entries()){r.usersProcessed++;let s=t||a.id;!function(e,t,r,i){let n=e.prepare(`INSERT INTO agents (id, user_id, name, style, description, model, provider, color, voice, seed)
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)
128
198
  VALUES (?, ?, ?, 'balanced', ?, ?, ?, ?, NULL, NULL)
129
199
  ON CONFLICT(id) DO UPDATE SET
130
200
  user_id = excluded.user_id,
@@ -133,31 +203,31 @@ I am ${e}. ${s}
133
203
  model = COALESCE(NULLIF(excluded.model, ''), agents.model),
134
204
  provider = COALESCE(NULLIF(excluded.provider, ''), agents.provider),
135
205
  color = COALESCE(NULLIF(excluded.color, ''), agents.color),
136
- updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')`),a=e.prepare("SELECT 1 FROM agents WHERE id = ?");for(let e of r){let r=!!a.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)
206
+ 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)
137
207
  VALUES (?, ?, ?)
138
208
  ON CONFLICT(agent_id, file) DO UPDATE SET
139
- condition = excluded.condition`);for(let n of t)for(let t of n.skills??[]){let a=t.file?.trim();if(!a)continue;let o=e.prepare("SELECT condition FROM agent_skills WHERE agent_id = ? AND file = ?").get(n.id,a),s=t.condition||null;i.run(n.id,a,s),(!o||o.condition!==s)&&r.agentSkillsMigrated++}}(e,i,r);let l=new Map,d=new Map;for(let t of o){let i=c.get(t.id)??[],n=function(e,t,r,i){var n;let a,o=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,o);if(s)return i.projectsMatched++,s;let l=r.is_default?"Default Project":(a=(n=r.name).trim())?a.split(/\s+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):n,d=e.prepare(`INSERT INTO projects (user_id, name, slug, description)
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)
140
210
  VALUES (?, ?, ?, ?)
141
- RETURNING id, name`).get(t,l,o||`project-${r.id.slice(0,8)}`,"Migrated from legacy workspace/team structure");return i.projectsCreated++,d}(e,s,t,r),a=E.get(t.id)??[];l.set(n.id,a),d.set(n.id,i),r.projectMappings.push({teamId:t.id,teamName:t.name,projectId:n.id,projectName:n.name,threadIds:i})}let p=e.prepare(`INSERT INTO project_agents (project_id, agent_id, routing_order)
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)
142
212
  VALUES (?, ?, ?)
143
213
  ON CONFLICT(project_id, agent_id) DO UPDATE SET
144
- routing_order = excluded.routing_order`),u=e.prepare("DELETE FROM project_threads WHERE thread_id = ? AND project_id <> ?"),T=e.prepare(`INSERT OR IGNORE INTO project_threads (project_id, thread_id)
145
- VALUES (?, ?)`);for(let[t,i]of l.entries()){for(let e of i)p.run(t,e.agent_id,e.routing_order).changes>0&&r.projectAgentsLinked++;!function(e,t,r,i,n){let a=e.prepare(`INSERT INTO project_variables (project_id, key, value)
214
+ 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)
215
+ VALUES (?, ?)`);for(let[t,i]of l.entries()){for(let e of i)E.run(t,e.agent_id,e.routing_order).changes>0&&r.projectAgentsLinked++;!function(e,t,r,i,n){let o=e.prepare(`INSERT INTO project_variables (project_id, key, value)
146
216
  VALUES (?, ?, ?)
147
- ON CONFLICT(project_id, key) DO UPDATE SET value = excluded.value`),o=e.prepare("SELECT value FROM project_variables WHERE project_id = ? AND key = ?");for(let e of r){let r=i.get(e);if(r)for(let[e,i]of Object.entries(r.variables??{})){let r=o.get(t,e);if(r&&r.value!==i){n.warnings.push(`Variable conflict for project ${t}: key "${e}" kept existing value "${r.value}" over "${i}"`);continue}let s=a.run(t,e,i);!r&&s.changes>0&&n.projectVariablesMigrated++}}}(e,t,i.map(e=>e.agent_id),n,r)}for(let[e,t]of d.entries())for(let i of t){let t=u.run(i,e);r.remappedThreadLinks+=t.changes,T.run(e,i).changes>0&&r.projectThreadsLinked++}}})(),r}(e);return t={usersProcessed:r.usersProcessed,agentsImported:r.agentsImported,agentSkillsMigrated:r.agentSkillsMigrated,projectsCreated:r.projectsCreated,projectsMatched:r.projectsMatched,projectAgentsLinked:r.projectAgentsLinked,projectThreadsLinked:r.projectThreadsLinked,projectVariablesMigrated:r.projectVariablesMigrated,remappedThreadLinks:r.remappedThreadLinks,warnings:r.warnings},u(e),e.prepare(`INSERT INTO app_migrations (key, metadata)
217
+ ON CONFLICT(project_id, key) DO UPDATE SET value = excluded.value`),a=e.prepare("SELECT value FROM project_variables WHERE project_id = ? AND key = ?");for(let e of r){let r=i.get(e);if(r)for(let[e,i]of Object.entries(r.variables??{})){let r=a.get(t,e);if(r&&r.value!==i){n.warnings.push(`Variable conflict for project ${t}: key "${e}" kept existing value "${r.value}" over "${i}"`);continue}let s=o.run(t,e,i);!r&&s.changes>0&&n.projectVariablesMigrated++}}}(e,t,i.map(e=>e.agent_id),n,r)}for(let[e,t]of d.entries())for(let i of t){let t=c.run(i,e);r.remappedThreadLinks+=t.changes,u.run(e,i).changes>0&&r.projectThreadsLinked++}}})(),r}(e);return t={usersProcessed:r.usersProcessed,agentsImported:r.agentsImported,agentSkillsMigrated:r.agentSkillsMigrated,projectsCreated:r.projectsCreated,projectsMatched:r.projectsMatched,projectAgentsLinked:r.projectAgentsLinked,projectThreadsLinked:r.projectThreadsLinked,projectVariablesMigrated:r.projectVariablesMigrated,remappedThreadLinks:r.remappedThreadLinks,warnings:r.warnings},c(e),e.prepare(`INSERT INTO app_migrations (key, metadata)
148
218
  VALUES (?, json(?))
149
219
  ON CONFLICT(key) DO UPDATE SET
150
220
  applied_at = strftime('%Y-%m-%dT%H:%M:%fZ','now'),
151
- metadata = excluded.metadata`).run(c,JSON.stringify(t)),r}(f);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=f).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(`
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(`
152
222
  DROP TABLE IF EXISTS team_workspaces;
153
223
  DROP TABLE IF EXISTS team_agents;
154
224
  DROP TABLE IF EXISTS teams;
155
- `),console.log("[sqlite] dropped legacy teams, team_agents, team_workspaces tables")),f}let N=new Set(["definition","depends_on","input","metadata","models","open_blockers","output","payload","run_index","stage_decisions","swarm_models"]);function g(e){return void 0===e?null:e instanceof Date?e.toISOString():e&&"object"==typeof e?JSON.stringify(e):e}function L(e,t){return null==t?null:t instanceof Date?t.toISOString():N.has(e)?JSON.stringify(t):g(t)}function S(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 O{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,...a]=e.split("."),o="true"===(r=a.join("."))||"false"!==r&&("null"===r?null:r);return"eq"===n?(t.push(g(o)),`${i} = ?`):"neq"===n?(t.push(g(o)),`${i} <> ?`):"is"===n?null===o?`${i} IS NULL`:(t.push(g(o)),`${i} IS ?`):"ilike"===n||"like"===n?(t.push(g(o)),`${i} LIKE ?`):"1=1"});i.length>0&&e.push(`(${i.join(" OR ")})`);continue}if("eq"===r.op)t.push(g(r.value)),e.push(`${r.column} = ?`);else if("neq"===r.op)t.push(g(r.value)),e.push(`${r.column} <> ?`);else if("gt"===r.op)t.push(g(r.value)),e.push(`${r.column} > ?`);else if("gte"===r.op)t.push(g(r.value)),e.push(`${r.column} >= ?`);else if("lt"===r.op)t.push(g(r.value)),e.push(`${r.column} < ?`);else if("lte"===r.op)t.push(g(r.value)),e.push(`${r.column} <= ?`);else if("is"===r.op)null===r.value?e.push(`${r.column} IS NULL`):(t.push(g(r.value)),e.push(`${r.column} IS ?`));else if("contains"===r.op){let i=(r.value||[]).map(g);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(g),n=i.map(()=>"?").join(", ");t.push(...i),e.push(`${r.column} IN (${n})`)}else e.push("1=0")}}executeSelect(){try{let e=h(),{columns:t,includeProjectRepos:r}=S(this.selectColumns),i=[],n=[];this.buildWhere(n,i);let a=`SELECT ${t.join(", ")} FROM ${this.table}`;if(n.length>0&&(a+=` 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(", ");a+=` ORDER BY ${e}`}"number"==typeof this.limitValue&&(i.push(this.limitValue),a+=" LIMIT ?");let o=e.prepare(a).all(...i);if(o=o.map(R),r&&"projects"===this.table&&o.length>0){let t=o.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)}o=o.map(e=>({...e,project_repos:n.get(e.id)||[]}))}}if("single"===this.singleMode){if(0===o.length)return{data:null,error:{message:"No rows",code:"PGRST116"}};return{data:o[0],error:null}}if("maybeSingle"===this.singleMode)return{data:o[0]||null,error:null};return{data:o,error:null}}catch(e){return{data:null,error:e}}}executeInsertOrUpsert(){try{let e,t=h(),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=[],a=r.map(e=>{let t=i.map(t=>(n.push(L(t,e[t])),"?"));return`(${t.join(", ")})`}),o=`INSERT INTO ${this.table} (${i.join(", ")}) VALUES ${a.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)o+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`;else{let e=i.filter(e=>!t.includes(e)).map(e=>`${e} = EXCLUDED.${e}`);e.length>0?o+=` ON CONFLICT (${t.join(", ")}) DO UPDATE SET ${e.join(", ")}`:o+=` ON CONFLICT (${t.join(", ")}) DO NOTHING`}}if(this.returningColumns){let{columns:e}=S(this.returningColumns);o+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(o).all(...n)).map(R):(t.prepare(o).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=h(),r=[],i=[],n=[];this.buildWhere(n,i);let a="";if("update"===this.operation){let e=Object.keys(this.payload||{}).map(e=>{let t=this.payload[e];return t instanceof m?`${e} = ${t.expr}`:(r.push(L(e,t)),`${e} = ?`)});a=`UPDATE ${this.table} SET ${e.join(", ")}`}else a=`DELETE FROM ${this.table}`;n.length>0&&(a+=` WHERE ${n.join(" AND ")}`);let o=[...r,...i];if(this.returningColumns){let{columns:e}=S(this.returningColumns);a+=` RETURNING ${e.join(", ")}`}this.returningColumns?e=(e=t.prepare(a).all(...o)).map(R):(t.prepare(a).run(...o),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([...N,"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 C(){return{from:e=>new O(e),auth:{getUser:async()=>({data:{user:{id:a.id,email:a.email,user_metadata:{name:a.name,full_name:a.name}}},error:null}),exchangeCodeForSession:async()=>({error:null}),refreshSession:async()=>({data:{session:{access_token:"local-token",refresh_token:"local-refresh",expires_in:3600},user:{id:a.id,email:a.email}},error:null})},async rpc(e,t){if("check_rate_limit"!==e)return{data:null,error:{message:`Unsupported rpc: ${e}`}};let r=h(),i=t.p_user_id,n=t.p_endpoint,a=Number(t.p_limit||60),o=Number(t.p_window_seconds||60),s=new Date(Math.floor(new Date().getTime()/(1e3*o))*o*1e3);try{let e=`
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=`
156
226
  INSERT INTO rate_limits (user_id, endpoint, window_start, request_count)
157
227
  VALUES (?, ?, ?, 1)
158
228
  ON CONFLICT (user_id, endpoint, window_start)
159
229
  DO UPDATE SET request_count = rate_limits.request_count + 1
160
230
  RETURNING request_count
161
- `,t=r.prepare(e).get(i,n,s.toISOString());return{data:Number(t?.request_count||0)<=a,error:null}}catch(e){return{data:!1,error:e}}},channel:()=>({on(){return this},subscribe(e){return e&&e("SUBSCRIBED"),this}}),removeChannel(){}}}e.s(["SqlExpression",()=>m,"createAdminDbClientSQLite",()=>C,"getSQLiteDb",()=>h,"sqlExpr",()=>_],65196)}];
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)}];
162
232
 
163
233
  //# sourceMappingURL=lib_sqlite-query-adapter_ts_3ea4d849._.js.map