@mndrk/agx 2.0.32 → 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 (434) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/cloud-runtime/standalone/.next/build-manifest.json +2 -2
  4. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
  6. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  15. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  16. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  25. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  26. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  27. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  28. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  29. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  30. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  31. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  32. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  33. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  34. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +3 -4
  35. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +1 -1
  37. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  38. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +3 -3
  39. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +1 -1
  41. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +1 -1
  43. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
  46. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
  50. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
  54. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
  55. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
  56. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
  57. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
  58. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
  59. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
  60. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  61. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  62. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +1 -1
  63. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  64. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
  65. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  66. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +1 -1
  67. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
  71. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
  73. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +3 -2
  75. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  77. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  89. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  93. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  95. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  97. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +4 -3
  99. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +6 -6
  101. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +2 -3
  105. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +2 -3
  107. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +3 -4
  109. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +3 -3
  111. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -4
  113. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +2 -2
  115. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  117. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +5 -5
  119. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  120. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  121. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  122. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  123. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  125. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  126. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  129. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  130. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  131. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  132. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  133. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  134. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  135. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  136. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  137. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  138. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  141. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
  143. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  144. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
  145. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  146. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  147. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  149. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  150. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
  151. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  153. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  154. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  155. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  156. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  157. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  158. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  159. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  160. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  161. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +6 -6
  163. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -4
  165. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  167. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +3 -3
  169. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +6 -6
  171. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +3 -3
  173. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +3 -3
  175. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  176. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  177. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  178. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  179. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  180. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  181. package/cloud-runtime/standalone/.next/server/app/automations.rsc +3 -3
  182. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +3 -3
  183. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  184. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  185. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +2 -2
  186. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +2 -2
  187. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  188. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  189. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  190. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  191. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  192. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  193. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  194. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  195. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  196. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  197. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  198. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  199. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +2 -2
  200. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +2 -2
  201. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  202. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  203. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  204. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
  205. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  206. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  207. package/cloud-runtime/standalone/.next/server/app/index.rsc +3 -3
  208. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  209. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  210. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  211. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  212. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  213. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  214. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  215. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  216. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  217. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  218. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  219. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  220. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  221. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  222. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  223. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  224. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  225. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +2 -2
  226. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +2 -2
  227. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  229. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  230. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  233. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  235. package/cloud-runtime/standalone/.next/server/app/projects.rsc +2 -2
  236. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  237. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  238. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  239. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  240. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  244. package/cloud-runtime/standalone/.next/server/app/settings.rsc +2 -2
  245. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  246. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  247. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  248. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  249. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  251. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  253. package/cloud-runtime/standalone/.next/server/app/status.rsc +2 -2
  254. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +2 -2
  255. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  256. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  257. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  258. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
  259. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  260. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  263. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  264. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  265. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  266. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  267. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  268. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  269. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  270. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  271. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  272. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
  273. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
  274. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0b3b6a47._.js +51 -0
  275. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__86f7d27b._.js → [root-of-the-server]__18423486._.js} +2 -2
  276. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dede3dcd._.js → [root-of-the-server]__19520d85._.js} +1 -1
  277. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__399b2ca9._.js → [root-of-the-server]__1c18c0d1._.js} +2 -2
  278. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +3 -0
  279. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
  280. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6e59b27c._.js → [root-of-the-server]__32b13ba9._.js} +2 -2
  281. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1dd062c1._.js → [root-of-the-server]__3c1567b6._.js} +2 -2
  282. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__29ce9c60._.js → [root-of-the-server]__3c37453e._.js} +2 -2
  283. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__507a4363._.js → [root-of-the-server]__3faa64cd._.js} +2 -2
  284. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
  285. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e446cb39._.js → [root-of-the-server]__4837d72a._.js} +2 -2
  286. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__10940c29._.js → [root-of-the-server]__49c03d66._.js} +2 -2
  287. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
  288. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__75bff965._.js → [root-of-the-server]__4c861686._.js} +2 -2
  289. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d8c6e3d._.js +58 -0
  290. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +1 -1
  291. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__94fa1edc._.js → [root-of-the-server]__588b6ab0._.js} +2 -2
  292. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ccfcbcd5._.js → [root-of-the-server]__5a348fba._.js} +2 -2
  293. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9dfaaf72._.js → [root-of-the-server]__61c99680._.js} +2 -2
  294. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c08bef05._.js → [root-of-the-server]__6acb940d._.js} +2 -2
  295. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__98535eb3._.js → [root-of-the-server]__7e79d86a._.js} +2 -2
  296. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c187704._.js → [root-of-the-server]__7ffcc20c._.js} +2 -2
  297. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c5634f17._.js → [root-of-the-server]__875279cb._.js} +1 -1
  298. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
  299. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5b93200._.js → [root-of-the-server]__8b461158._.js} +2 -2
  300. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
  301. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
  302. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
  303. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
  304. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b3ed0a00._.js +46 -0
  305. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__b63cb741._.js +63 -0
  306. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2388b2b3._.js → [root-of-the-server]__b9b3fde6._.js} +2 -2
  307. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f4b70b67._.js → [root-of-the-server]__be4ad4b5._.js} +2 -2
  308. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +80 -0
  309. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5ca87ba0._.js → [root-of-the-server]__c480c9c2._.js} +2 -2
  310. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
  311. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -0
  312. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +1 -1
  313. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d6e1ee6e._.js +32 -0
  314. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__80655727._.js → [root-of-the-server]__e069c0a3._.js} +2 -2
  315. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5a2358a._.js → [root-of-the-server]__e1e51c02._.js} +2 -2
  316. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__12afd8a3._.js → [root-of-the-server]__ef82dda1._.js} +2 -2
  317. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
  318. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f1b7932f._.js +36 -0
  319. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__4d318eb0._.js → [root-of-the-server]__f701b208._.js} +24 -24
  320. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +2 -2
  321. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ffffceac._.js +6 -0
  322. package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
  323. package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
  324. package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
  325. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
  326. package/cloud-runtime/standalone/.next/server/chunks/{_3e0d34cc._.js → _d22934ab._.js} +24 -24
  327. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +3 -0
  328. package/cloud-runtime/standalone/.next/server/chunks/lib_7cad5c77._.js +64 -0
  329. package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +25 -0
  330. package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
  331. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +1 -1
  332. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +45 -37
  333. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +45 -37
  334. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +12 -12
  335. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__a8a8afdc._.js → [root-of-the-server]__04d1aa70._.js} +2 -2
  336. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__9166c1d6._.js → [root-of-the-server]__2d80540b._.js} +2 -2
  337. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
  338. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +1 -1
  339. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1322ced8._.js → [root-of-the-server]__a416df95._.js} +2 -2
  340. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__783669c3._.js → [root-of-the-server]__c108f06c._.js} +2 -2
  341. package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +1 -1
  342. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_0f4e70b1._.js → _41f60c52._.js} +2 -2
  343. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6b14826d._.js +3 -0
  344. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6fc3736e._.js → _84879a01._.js} +2 -2
  345. package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +1 -1
  346. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_ff5799d6._.js → _9eeb2fa0._.js} +2 -2
  347. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_68ac991e._.js → _a1d30b20._.js} +2 -2
  348. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_5b2b8a85._.js → _c87c359c._.js} +2 -2
  349. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_fb292eed._.js → _dd31b6e0._.js} +2 -2
  350. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_6de3f1de._.js → _f0ce6183._.js} +2 -2
  351. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +1 -1
  352. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +1 -1
  353. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  354. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_bf855424._.js +3 -0
  355. package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +1 -0
  356. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  357. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  358. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  359. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  360. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  361. package/cloud-runtime/standalone/.next/static/chunks/{a66e1891e808a664.js → 012e3e9699415997.js} +1 -1
  362. package/cloud-runtime/standalone/.next/static/chunks/031d99fbe758545a.js +1 -0
  363. package/cloud-runtime/standalone/.next/static/chunks/{87f099ea02aa419d.js → 116985039c24f1f8.js} +9 -9
  364. package/cloud-runtime/standalone/.next/static/chunks/2ee8d24314eec47c.js +1 -0
  365. package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +1 -0
  366. package/cloud-runtime/standalone/.next/static/chunks/{cd308f61797939cd.js → 43f6157bc3db9c52.js} +2 -2
  367. package/cloud-runtime/standalone/.next/static/chunks/{58025a80caa3629d.js → 56a01238098d495d.js} +9 -9
  368. package/cloud-runtime/standalone/.next/static/chunks/{6fbe08eab578c7d3.js → 601996727991149e.js} +9 -9
  369. package/cloud-runtime/standalone/.next/static/chunks/851b1d97179bd39b.css +1 -0
  370. package/cloud-runtime/standalone/.next/static/chunks/90b581e9631d8cea.js +1 -0
  371. package/cloud-runtime/standalone/.next/static/chunks/b22947e6df238fd5.js +1 -0
  372. package/cloud-runtime/standalone/.next/static/chunks/{4200b512bdc226bc.js → b2dcd19ebe3af3f6.js} +9 -9
  373. package/cloud-runtime/standalone/.next/static/chunks/{e62d5fa120fdf21f.js → bc06988336ffd261.js} +1 -1
  374. package/cloud-runtime/standalone/.next/static/chunks/{1f415d0ce7ebbd08.js → c93b9643c81c134e.js} +1 -1
  375. package/cloud-runtime/standalone/.next/static/chunks/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
  376. package/cloud-runtime/standalone/.next/static/chunks/ebaf4e8f04bae7b6.js +1 -0
  377. package/cloud-runtime/standalone/.next/static/chunks/f4909e7ae8229b1c.js +1 -0
  378. package/cloud-runtime/standalone/.next/static/chunks/fd221a50082e5128.js +1 -0
  379. package/cloud-runtime/standalone/app/api/chat/route.ts +36 -0
  380. package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -0
  381. package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +210 -26
  382. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +62 -41
  383. package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
  384. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +33 -28
  385. package/cloud-runtime/standalone/hooks/useGroupChat.ts +4 -0
  386. package/cloud-runtime/standalone/hooks/useProcessPolling.ts +4 -3
  387. package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
  388. package/cloud-runtime/standalone/lib/cli-runner.ts +212 -14
  389. package/cloud-runtime/standalone/lib/db.ts +1 -1
  390. package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
  391. package/cloud-runtime/standalone/lib/history-store.ts +78 -2
  392. package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +51 -0
  393. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +6 -0
  394. package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
  395. package/cloud-runtime/standalone/transcri +0 -0
  396. package/cloud-runtime/standalone/worker/index.js +604 -165
  397. package/lib/cli/runCli.js +0 -97
  398. package/lib/commands/update.js +159 -17
  399. package/package.json +1 -1
  400. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0925dd01._.js +0 -46
  401. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12c7e188._.js +0 -29
  402. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__17c2d68f._.js +0 -52
  403. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20b3baea._.js +0 -55
  404. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__254e942f._.js +0 -20
  405. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
  406. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
  407. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4761dc17._.js +0 -8
  408. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4b1a512c._.js +0 -52
  409. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
  410. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +0 -52
  411. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac3c2f7f._.js +0 -52
  412. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bfcedb7c._.js +0 -52
  413. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e7dd1e._.js +0 -25
  414. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
  415. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcd3e3b8._.js +0 -15
  416. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9c61da._.js +0 -3
  417. package/cloud-runtime/standalone/.next/server/chunks/_66e1ddec._.js +0 -57
  418. package/cloud-runtime/standalone/.next/server/chunks/lib_09aac4e7._.js +0 -57
  419. package/cloud-runtime/standalone/.next/server/chunks/lib_cli-runner_ts_dfcf3fda._.js +0 -18
  420. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_69b6b2e1.js +0 -3
  421. package/cloud-runtime/standalone/.next/server/chunks/ssr/_16c45024._.js +0 -3
  422. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_678fa868._.js +0 -3
  423. package/cloud-runtime/standalone/.next/static/chunks/24a6ee21f430da93.js +0 -1
  424. package/cloud-runtime/standalone/.next/static/chunks/27129bea5b512ce8.js +0 -1
  425. package/cloud-runtime/standalone/.next/static/chunks/463edf3533d27a56.js +0 -1
  426. package/cloud-runtime/standalone/.next/static/chunks/5cb0c885b085ea6c.js +0 -1
  427. package/cloud-runtime/standalone/.next/static/chunks/60c054bb8b2cffa6.css +0 -1
  428. package/cloud-runtime/standalone/.next/static/chunks/7e2edf97bd6c0874.js +0 -1
  429. package/cloud-runtime/standalone/.next/static/chunks/8249f202d33d0d95.js +0 -1
  430. package/cloud-runtime/standalone/.next/static/chunks/9f8f719c4aa25e3d.js +0 -1
  431. package/cloud-runtime/standalone/.next/static/chunks/bc727d3d9993e9be.js +0 -1
  432. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_buildManifest.js +0 -0
  433. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_clientMiddlewareManifest.json +0 -0
  434. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → 68nLQxEpwR_feFvB8T4tR}/_ssgManifest.js +0 -0
@@ -255,6 +255,7 @@ export function WorkspaceSidebar({
255
255
  const showEmptyState = !showLoadingState && !hasThreads;
256
256
  const isVisible = Boolean(visible);
257
257
  const sortedWorkspaces = [...threads].sort((a, b) => (a.title ?? "").localeCompare(b.title ?? ""));
258
+ const threadById = new Map(threads.map((thread) => [thread.id, thread]));
258
259
  const nonDefaultProjects = projectsProp.filter((project) => !project.is_default);
259
260
  const unassignedThreads = sortedWorkspaces.filter((thread) => !nonDefaultProjects.some((project) => project.thread_ids?.includes(thread.id)));
260
261
  const resolveProjectBoardHref = useCallback(
@@ -269,8 +270,8 @@ export function WorkspaceSidebar({
269
270
 
270
271
  const handleCreateClick = () => {
271
272
  setInputModal({
272
- title: "Create thread",
273
- placeholder: "Thread title",
273
+ title: "Create discussion",
274
+ placeholder: "Discussion title",
274
275
  defaultValue: "",
275
276
  onSubmit: (title) => void onCreateThread({ title }),
276
277
  });
@@ -279,16 +280,16 @@ export function WorkspaceSidebar({
279
280
  const handleDeleteClick = (workspaceId: string) => {
280
281
  const ws = threads.find((t) => t.id === workspaceId);
281
282
  setConfirmModal({
282
- title: "Delete thread",
283
- message: `Delete "${ws?.title ?? "thread"}"? This cannot be undone.`,
283
+ title: "Delete discussion",
284
+ message: `Delete "${ws?.title ?? "discussion"}"? This cannot be undone.`,
284
285
  onConfirm: () => void onDeleteThread(workspaceId),
285
286
  });
286
287
  };
287
288
 
288
289
  const handleRenameClick = (workspaceId: string, currentTitle: string) => {
289
290
  setInputModal({
290
- title: "Rename thread",
291
- placeholder: "Thread title",
291
+ title: "Rename discussion",
292
+ placeholder: "Discussion title",
292
293
  defaultValue: currentTitle,
293
294
  onSubmit: (title) => void onRenameThread(workspaceId, title),
294
295
  });
@@ -306,8 +307,8 @@ export function WorkspaceSidebar({
306
307
  type="button"
307
308
  onClick={onToggle}
308
309
  className="workspace-sidebar__brand-icon border-none outline-none cursor-pointer"
309
- aria-label="Show threads"
310
- title="Show threads"
310
+ aria-label="Show discussions"
311
+ title="Show discussions"
311
312
  >
312
313
  <span className="text-[10px]">AGX</span>
313
314
  </button>
@@ -340,23 +341,23 @@ export function WorkspaceSidebar({
340
341
  aria-busy={isLoading ? "true" : undefined}
341
342
  >
342
343
  <div className="workspace-sidebar__brand">
343
- <div className="flex items-center gap-2 px-1">
344
- <div className="workspace-sidebar__brand-icon" aria-hidden="true">
345
- <span className="text-[10px]">AGX</span>
344
+ <div className="workspace-sidebar__brand-content flex items-center gap-2 px-1">
345
+ <div className="workspace-sidebar__brand-icon" aria-hidden="true">
346
+ <span className="text-[10px]">AGX</span>
347
+ </div>
348
+ <span className="workspace-sidebar__brand-title">Workspace</span>
346
349
  </div>
347
- <span className="workspace-sidebar__brand-title">Workspace</span>
348
- </div>
349
- {onToggle && (
350
- <button
351
- type="button"
352
- onClick={onToggle}
353
- aria-label="Hide threads"
354
- title="Hide threads"
355
- className="ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-all hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"
356
- >
357
- <PanelLeftClose className="h-4 w-4" strokeWidth={1.75} />
358
- </button>
359
- )}
350
+ {onToggle && (
351
+ <button
352
+ type="button"
353
+ onClick={onToggle}
354
+ aria-label="Hide discussions"
355
+ title="Hide discussions"
356
+ className="ml-auto inline-flex h-7 w-7 items-center justify-center rounded-md text-[var(--app-shell-soft-text)] transition-all hover:bg-[var(--app-shell-subtle)] hover:text-[var(--foreground)]"
357
+ >
358
+ <PanelLeftClose className="h-4 w-4" strokeWidth={1.75} />
359
+ </button>
360
+ )}
360
361
  </div>
361
362
 
362
363
  <div className="workspace-sidebar__content">
@@ -403,7 +404,11 @@ export function WorkspaceSidebar({
403
404
  const projectIsExpanded = expandedProjects.has(project.id);
404
405
  const projectThreads = sortedWorkspaces.filter((thread) => project.thread_ids?.includes(thread.id));
405
406
  const isActiveProject = project.id === activeProjectId;
406
- const primaryProjectThreadId = projectThreads[0]?.id ?? project.thread_ids?.[0] ?? null;
407
+ const primaryProjectThreadId =
408
+ project.thread_ids?.find((threadId) => threadById.has(threadId)) ??
409
+ project.thread_ids?.[0] ??
410
+ projectThreads[0]?.id ??
411
+ null;
407
412
  const isActiveProjectThread = isActiveProject && activeProjectView === "thread" && primaryProjectThreadId === activeThreadId;
408
413
  const isActiveProjectBoard = isActiveProject && activeProjectView === "board";
409
414
  const isActiveProjectKnowledge = isActiveProject && activeProjectView === "knowledge";
@@ -460,7 +465,7 @@ export function WorkspaceSidebar({
460
465
  aria-current={isActiveProjectThread ? "page" : undefined}
461
466
  >
462
467
  <Hash size={12} className="flex-shrink-0 text-[var(--muted-foreground)]" />
463
- <span className="workspace-sidebar__workspace-title text-xs">Thread</span>
468
+ <span className="workspace-sidebar__workspace-title text-xs">Discussion</span>
464
469
  </button>
465
470
  ) : (
466
471
  <button
@@ -469,7 +474,7 @@ export function WorkspaceSidebar({
469
474
  onClick={handleCreateClick}
470
475
  >
471
476
  <Hash size={12} className="flex-shrink-0 text-[var(--muted-foreground)]" />
472
- <span className="workspace-sidebar__workspace-title text-xs">Thread</span>
477
+ <span className="workspace-sidebar__workspace-title text-xs">Discussion</span>
473
478
  </button>
474
479
  )}
475
480
  </div>
@@ -981,7 +986,7 @@ export function WorkspaceSidebar({
981
986
  initial={{ name: "", provider: "claude", model: "", identity: "", skills: [] }}
982
987
  submitLabel="Create & Add"
983
988
  projects={projectsProp?.filter((project) => !project.is_default).map((project) => {
984
- const threadName = (project.thread_ids ?? []).map((threadId) => threads.find((th) => th.id === threadId)?.title?.trim()).filter(Boolean).join(", ") || "No thread";
989
+ const threadName = (project.thread_ids ?? []).map((threadId) => threads.find((th) => th.id === threadId)?.title?.trim()).filter(Boolean).join(", ") || "No discussion";
985
990
  return { id: project.id, name: project.name, label: `${threadName} › ${project.name}` };
986
991
  })}
987
992
  initialProjectIds={addAgentModal ? [addAgentModal.projectId] : []}
@@ -28,6 +28,8 @@ export interface ChatRunInfo {
28
28
  threadId: string;
29
29
  rootMessageId: string | null;
30
30
  status: "queued" | "running" | "awaiting_user" | "blocked" | "completed" | "failed" | "cancelled";
31
+ optimistic?: boolean;
32
+ enqueuedAt?: number;
31
33
  }
32
34
 
33
35
  export function useGroupChat(threadId: string | null) {
@@ -152,6 +154,8 @@ export function useGroupChat(threadId: string | null) {
152
154
  threadId: activeThreadId,
153
155
  rootMessageId: rootMessageId || userMessageId,
154
156
  status: "queued",
157
+ optimistic: true,
158
+ enqueuedAt: Date.now(),
155
159
  },
156
160
  ...prev.filter((run) => run.chatRunId !== payload.chatRunId),
157
161
  ]);
@@ -11,7 +11,7 @@ const ACTIVE_STATES = new Set(["spawning", "running"]);
11
11
  function normalizeChatRuns(value: unknown): ChatRunInfo[] {
12
12
  if (!Array.isArray(value)) return [];
13
13
  return value
14
- .map((entry) => {
14
+ .map<ChatRunInfo | null>((entry) => {
15
15
  if (!entry || typeof entry !== "object") return null;
16
16
  const row = entry as Record<string, unknown>;
17
17
  const chatRunId =
@@ -47,7 +47,8 @@ function normalizeChatRuns(value: unknown): ChatRunInfo[] {
47
47
  threadId,
48
48
  rootMessageId,
49
49
  status,
50
- } satisfies ChatRunInfo;
50
+ optimistic: false,
51
+ };
51
52
  })
52
53
  .filter((entry): entry is ChatRunInfo => Boolean(entry));
53
54
  }
@@ -124,7 +125,7 @@ export function useProcessPolling(
124
125
  : null;
125
126
 
126
127
  const chatRunsUrl = historyThreadId
127
- ? `/api/chat-runs?threadId=${encodeURIComponent(historyThreadId)}&status=active&limit=20`
128
+ ? `/api/chat-runs?threadId=${encodeURIComponent(historyThreadId)}&limit=20`
128
129
  : null;
129
130
 
130
131
  const fetches: Promise<Response>[] = [fetch(processUrl)];
@@ -41,10 +41,18 @@ export function useThreadState(initialThreadId?: string) {
41
41
 
42
42
  (async () => {
43
43
  try {
44
- const fetched = await threadService.listThreads();
44
+ const routeThreadId = (initialThreadId || searchParams.get("thread") || "").trim() || null;
45
+ let fetched = await threadService.listThreads();
46
+ if (routeThreadId && !fetched.some((thread) => thread.id === routeThreadId)) {
47
+ const placeholder = await threadService.createThread({ id: routeThreadId });
48
+ fetched = sortByCreatedAt([
49
+ ...fetched.filter((thread) => thread.id !== placeholder.id),
50
+ placeholder,
51
+ ]);
52
+ }
45
53
  if (cancelled || !isMounted.current) return;
46
54
  setThreads(fetched);
47
- const urlThreadId = initialThreadId || searchParams.get("thread");
55
+ const urlThreadId = routeThreadId;
48
56
  const savedThreadId = urlThreadId || loadLastThreadId();
49
57
  const { threadId: resolvedThreadId, shouldClearSavedId, restoredFromStorage } =
50
58
  resolveInitialThreadSelection(fetched, savedThreadId);
@@ -1,6 +1,9 @@
1
1
  import { spawn, spawnSync } from "child_process";
2
+ import fs from "fs";
3
+ import path from "path";
2
4
  import type { ChatProvider } from "./types";
3
5
  import { createCliChunkSanitizer } from "./sanitize";
6
+ import { writeDebugLog } from "./debug-log";
4
7
 
5
8
  const isNonEmptyString = (value: unknown): value is string =>
6
9
  typeof value === "string" && value.trim().length > 0;
@@ -313,6 +316,17 @@ const createThoughtFilterParser = (
313
316
 
314
317
  // Command builders
315
318
 
319
+ // Keep chat execution on the AGX wrapper for providers AGX knows about.
320
+ // Do not add direct provider attempts for these unless AGX itself loses the
321
+ // ability to launch that provider. The wrapper is where unattended behavior,
322
+ // approval bypass mapping, and future safety policy live.
323
+ const AGX_WRAPPED_PROVIDERS: ReadonlySet<ChatProvider> = new Set([
324
+ "claude",
325
+ "gemini",
326
+ "ollama",
327
+ "codex",
328
+ ]);
329
+
316
330
  function providerNativeCommand({
317
331
  provider,
318
332
  model,
@@ -399,10 +413,12 @@ function agxCommandForProvider({
399
413
  provider,
400
414
  model,
401
415
  prompt,
416
+ passthroughArgs,
402
417
  }: {
403
418
  provider: ChatProvider;
404
419
  model: string | null;
405
420
  prompt: string;
421
+ passthroughArgs?: string[];
406
422
  }): {
407
423
  command: string;
408
424
  args: string[];
@@ -410,9 +426,133 @@ function agxCommandForProvider({
410
426
  } {
411
427
  const args = [provider, "-y", "--print", "--prompt", prompt];
412
428
  if (model) args.push("--model", model);
429
+ if (passthroughArgs && passthroughArgs.length > 0) {
430
+ args.push("--", ...passthroughArgs);
431
+ }
413
432
  return { command: "agx", args, parser: "raw" };
414
433
  }
415
434
 
435
+ function resolveBundledCliPath(): string | null {
436
+ const explicit = process.env.AGX_CLI_PATH?.trim();
437
+ if (explicit && fs.existsSync(explicit)) return explicit;
438
+
439
+ const candidates = [
440
+ path.resolve(process.cwd(), "..", "cli", "index.js"),
441
+ path.resolve(__dirname, "..", "cli", "index.js"),
442
+ path.resolve(process.execPath, "..", "..", "Resources", "cli", "index.js"),
443
+ ];
444
+
445
+ for (const candidate of candidates) {
446
+ if (fs.existsSync(candidate)) {
447
+ return candidate;
448
+ }
449
+ }
450
+
451
+ return null;
452
+ }
453
+
454
+ type CliAttempt = {
455
+ command: string;
456
+ args: string[];
457
+ parser: "raw" | "claude-stream-json" | "codex-json" | "gemini-stream-json";
458
+ filterThoughts?: boolean;
459
+ env?: Record<string, string>;
460
+ };
461
+
462
+ export function buildCliAttempts(
463
+ {
464
+ provider,
465
+ model,
466
+ prompt,
467
+ systemPrompt,
468
+ passthroughArgs,
469
+ }: {
470
+ provider: ChatProvider;
471
+ model: string | null;
472
+ prompt: string;
473
+ systemPrompt?: string;
474
+ passthroughArgs?: string[];
475
+ },
476
+ deps: {
477
+ commandExists?: (bin: string) => boolean;
478
+ bundledCliPath?: string | null;
479
+ } = {}
480
+ ): CliAttempt[] {
481
+ const exists = deps.commandExists ?? commandExists;
482
+ const bundledCliPath =
483
+ deps.bundledCliPath === undefined ? resolveBundledCliPath() : deps.bundledCliPath;
484
+ const attempts: CliAttempt[] = [];
485
+
486
+ const agxPrompt = systemPrompt ? `${systemPrompt}\n\n${prompt}` : prompt;
487
+ if (AGX_WRAPPED_PROVIDERS.has(provider)) {
488
+ // If the AGX wrapper does not expose a provider-specific flag yet, pass it
489
+ // through after `--` instead of reintroducing direct provider execution here.
490
+ const bundledAgx = bundledAgxCommandForProvider({
491
+ provider,
492
+ model,
493
+ prompt: agxPrompt,
494
+ cliPath: bundledCliPath,
495
+ passthroughArgs,
496
+ });
497
+ if (bundledAgx) {
498
+ attempts.push(bundledAgx);
499
+ }
500
+
501
+ if (exists("agx")) {
502
+ attempts.push(
503
+ agxCommandForProvider({
504
+ provider,
505
+ model,
506
+ prompt: agxPrompt,
507
+ passthroughArgs,
508
+ })
509
+ );
510
+ }
511
+
512
+ return attempts;
513
+ }
514
+
515
+ const nativeAttempt = providerNativeCommand({
516
+ provider,
517
+ model,
518
+ prompt,
519
+ systemPrompt,
520
+ });
521
+ if (nativeAttempt && exists(nativeAttempt.command)) {
522
+ attempts.push(nativeAttempt);
523
+ }
524
+
525
+ return attempts;
526
+ }
527
+
528
+ function bundledAgxCommandForProvider({
529
+ provider,
530
+ model,
531
+ prompt,
532
+ cliPath,
533
+ passthroughArgs,
534
+ }: {
535
+ provider: ChatProvider;
536
+ model: string | null;
537
+ prompt: string;
538
+ cliPath?: string | null;
539
+ passthroughArgs?: string[];
540
+ }): {
541
+ command: string;
542
+ args: string[];
543
+ parser: "raw";
544
+ } | null {
545
+ const resolvedCliPath = cliPath === undefined ? resolveBundledCliPath() : cliPath;
546
+ if (!resolvedCliPath) return null;
547
+
548
+ const args = [resolvedCliPath, provider, "-y", "--print", "--prompt", prompt];
549
+ if (model) args.push("--model", model);
550
+ if (passthroughArgs && passthroughArgs.length > 0) {
551
+ args.push("--", ...passthroughArgs);
552
+ }
553
+ return { command: process.execPath, args, parser: "raw" };
554
+ }
555
+
416
556
  // Core runner
417
557
 
418
558
  async function runCommandStreamed({
@@ -435,6 +575,13 @@ async function runCommandStreamed({
435
575
  env?: Record<string, string>;
436
576
  }): Promise<void> {
437
577
  await new Promise<void>((resolve, reject) => {
578
+ writeDebugLog("cli-runner.spawn", {
579
+ command,
580
+ args,
581
+ timeoutMs,
582
+ bundledCliPath: resolveBundledCliPath(),
583
+ isElectron: process.env.AGX_ELECTRON || null,
584
+ });
438
585
  if (onLog) onLog("stderr", `$ ${command} ${args.map(a => a.length > 80 ? a.slice(0, 80) + '…' : a).join(' ')}\n`);
439
586
  const child = spawn(command, args, {
440
587
  stdio: ["ignore", "pipe", "pipe"],
@@ -455,6 +602,11 @@ async function runCommandStreamed({
455
602
  };
456
603
 
457
604
  const onAbort = () => {
605
+ writeDebugLog("cli-runner.abort", {
606
+ command,
607
+ args,
608
+ pid: child.pid ?? null,
609
+ });
458
610
  child.kill("SIGTERM");
459
611
  finalize(new Error("Chat request aborted."));
460
612
  };
@@ -462,9 +614,20 @@ async function runCommandStreamed({
462
614
  if (signal) signal.addEventListener("abort", onAbort, { once: true });
463
615
 
464
616
  if (onSpawn && child.pid) onSpawn(child.pid);
617
+ writeDebugLog("cli-runner.spawned", {
618
+ command,
619
+ args,
620
+ pid: child.pid ?? null,
621
+ });
465
622
 
466
623
  const timer = setTimeout(() => {
467
624
  timedOut = true;
625
+ writeDebugLog("cli-runner.timeout", {
626
+ command,
627
+ args,
628
+ pid: child.pid ?? null,
629
+ timeoutMs,
630
+ });
468
631
  child.kill("SIGKILL");
469
632
  finalize(new Error(`CLI request timed out after ${timeoutMs}ms.`));
470
633
  }, timeoutMs);
@@ -482,10 +645,25 @@ async function runCommandStreamed({
482
645
  if (onLog) onLog("stderr", str);
483
646
  });
484
647
 
485
- child.on("error", (error) => finalize(error));
648
+ child.on("error", (error) => {
649
+ writeDebugLog("cli-runner.process_error", {
650
+ command,
651
+ args,
652
+ pid: child.pid ?? null,
653
+ error,
654
+ });
655
+ finalize(error);
656
+ });
486
657
 
487
658
  child.on("close", (code, childSignal) => {
488
659
  if (done || timedOut) return;
660
+ writeDebugLog("cli-runner.close", {
661
+ command,
662
+ args,
663
+ pid: child.pid ?? null,
664
+ code: code ?? null,
665
+ signal: childSignal ?? null,
666
+ });
489
667
  if (code === 0) {
490
668
  finalize();
491
669
  return;
@@ -507,6 +685,7 @@ export async function runCliResponse({
507
685
  self,
508
686
  skills,
509
687
  systemContext,
688
+ passthroughArgs,
510
689
  signal,
511
690
  onDelta,
512
691
  onLog,
@@ -519,6 +698,7 @@ export async function runCliResponse({
519
698
  self?: string;
520
699
  skills?: string;
521
700
  systemContext?: string;
701
+ passthroughArgs?: string[];
522
702
  signal?: AbortSignal;
523
703
  onDelta: (chunk: string) => void;
524
704
  onLog?: (stream: "stdout" | "stderr", line: string) => void;
@@ -531,27 +711,27 @@ export async function runCliResponse({
531
711
  if (cleaned) onDelta(cleaned);
532
712
  };
533
713
 
534
- const attempts: Array<{
535
- command: string;
536
- args: string[];
537
- parser: "raw" | "claude-stream-json" | "codex-json" | "gemini-stream-json";
538
- filterThoughts?: boolean;
539
- env?: Record<string, string>;
540
- }> = [];
541
-
542
714
  const systemParts: string[] = [];
543
715
  if (systemContext) systemParts.push(systemContext);
544
716
  if (identity) systemParts.push(`<identity>\n${identity}\n</identity>`);
545
717
  if (self) systemParts.push(`<self>\n${self}\n</self>`);
546
718
  if (skills) systemParts.push(`<skills>\n${skills}\n</skills>`);
547
719
  const systemPrompt = systemParts.length > 0 ? systemParts.join("\n\n") : undefined;
548
-
549
- if (commandExists("agx")) {
550
- const agxPrompt = systemPrompt ? `${systemPrompt}\n\n${prompt}` : prompt;
551
- attempts.push(agxCommandForProvider({ provider, model, prompt: agxPrompt }));
552
- }
720
+ const attempts = buildCliAttempts({
721
+ provider,
722
+ model,
723
+ prompt,
724
+ systemPrompt,
725
+ passthroughArgs,
726
+ });
553
727
 
554
728
  if (attempts.length === 0) {
729
+ writeDebugLog("cli-runner.no_attempts", {
730
+ provider,
731
+ model,
732
+ bundledCliPath: resolveBundledCliPath(),
733
+ isElectron: process.env.AGX_ELECTRON || null,
734
+ });
555
735
  throw new Error(
556
736
  `No CLI runner available for provider "${provider}". Install agx or provider CLI.`
557
737
  );
@@ -559,6 +739,13 @@ export async function runCliResponse({
559
739
 
560
740
  let lastError: Error | null = null;
561
741
  for (const attempt of attempts) {
742
+ writeDebugLog("cli-runner.attempt", {
743
+ provider,
744
+ model,
745
+ command: attempt.command,
746
+ args: attempt.args,
747
+ parser: attempt.parser,
748
+ });
562
749
  const baseParser =
563
750
  attempt.parser === "claude-stream-json"
564
751
  ? createClaudeStreamJsonParser(wrappedOnDelta)
@@ -583,9 +770,20 @@ export async function runCliResponse({
583
770
  env: attempt.env,
584
771
  });
585
772
  parser.flush();
773
+ writeDebugLog("cli-runner.success", {
774
+ provider,
775
+ model,
776
+ command: attempt.command,
777
+ });
586
778
  return;
587
779
  } catch (error) {
588
780
  lastError = error instanceof Error ? error : new Error(String(error));
781
+ writeDebugLog("cli-runner.failure", {
782
+ provider,
783
+ model,
784
+ command: attempt.command,
785
+ error: lastError,
786
+ });
589
787
  }
590
788
  }
591
789
 
@@ -2611,7 +2611,7 @@ export async function getProjectThreads(projectId: string): Promise<ProjectThrea
2611
2611
  .from("project_threads")
2612
2612
  .select("*")
2613
2613
  .eq("project_id", projectId)
2614
- .order("created_at", { ascending: false });
2614
+ .order("created_at", { ascending: true });
2615
2615
 
2616
2616
  if (error) {
2617
2617
  if (isMissingRelationError(error, "project_threads")) return [];
@@ -0,0 +1,48 @@
1
+ import fs from "fs";
2
+ import os from "os";
3
+ import path from "path";
4
+
5
+ const AGX_DATA_DIR = process.env.AGX_DATA_DIR || path.join(os.homedir(), ".agx");
6
+ const DEBUG_LOG_PATH =
7
+ process.env.AGX_DEBUG_LOG_PATH ||
8
+ path.join(AGX_DATA_DIR, "logs", "desktop-chat-debug.log");
9
+
10
+ function ensureLogDir() {
11
+ fs.mkdirSync(path.dirname(DEBUG_LOG_PATH), { recursive: true });
12
+ }
13
+
14
+ function safeReplacer(_key: string, value: unknown): unknown {
15
+ if (value instanceof Error) {
16
+ return {
17
+ name: value.name,
18
+ message: value.message,
19
+ stack: value.stack,
20
+ };
21
+ }
22
+ if (typeof value === "string" && value.length > 2000) {
23
+ return `${value.slice(0, 2000)}...<truncated>`;
24
+ }
25
+ return value;
26
+ }
27
+
28
+ export function getDebugLogPath(): string {
29
+ return DEBUG_LOG_PATH;
30
+ }
31
+
32
+ export function writeDebugLog(event: string, payload?: Record<string, unknown>) {
33
+ try {
34
+ ensureLogDir();
35
+ const line = JSON.stringify(
36
+ {
37
+ ts: new Date().toISOString(),
38
+ pid: process.pid,
39
+ event,
40
+ ...(payload ? { payload } : {}),
41
+ },
42
+ safeReplacer
43
+ );
44
+ fs.appendFileSync(DEBUG_LOG_PATH, `${line}\n`, "utf8");
45
+ } catch {
46
+ // Debug logging must never break the request path.
47
+ }
48
+ }